From 11b6fc8d3a0f957ad02fef8e409b07acc4f7794a Mon Sep 17 00:00:00 2001 From: George Arama <50641385+gearama@users.noreply.github.com> Date: Tue, 12 Oct 2021 18:10:50 -0700 Subject: [PATCH] backup & restore (#2959) * backup & restore * build errors * fixes from merging --- .../certificates/certificate_client.hpp | 31 ++ .../certificate_client_models.hpp | 13 + .../src/certificate_client.cpp | 25 ++ .../src/certificate_serializers.cpp | 19 + .../keyvault_certificates_common_request.cpp | 2 +- .../src/private/certificate_constants.hpp | 4 + .../src/private/certificate_serializers.hpp | 9 + .../test/ut/certificate_client_test.cpp | 69 ++++ ...teClientTest.BackupRestoreCertificate.json | 353 ++++++++++++++++++ ...ficateClientTest.GetCertificatePolicy.json | 158 ++++++-- ...ateClientTest.UpdateCertificatePolicy.json | 168 +++++++-- 11 files changed, 793 insertions(+), 58 deletions(-) create mode 100644 sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.BackupRestoreCertificate.json diff --git a/sdk/keyvault/azure-security-keyvault-certificates/inc/azure/keyvault/certificates/certificate_client.hpp b/sdk/keyvault/azure-security-keyvault-certificates/inc/azure/keyvault/certificates/certificate_client.hpp index 54d21f6d0..be344bc0b 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/inc/azure/keyvault/certificates/certificate_client.hpp +++ b/sdk/keyvault/azure-security-keyvault-certificates/inc/azure/keyvault/certificates/certificate_client.hpp @@ -320,6 +320,37 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Certificat CertificatePolicy const& certificatePolicy, Azure::Core::Context const& context = Azure::Core::Context()) const; + /** + * @brief Backs up the specified certificate. + * + * @details Request that a backup of the specified certificate be downloaded to the client. + * All versions of the certificate will be downloaded. + * + * @remark This operation requires the certificates/backup permission. + * + * @param name The name of the certificate. + * @param context The context for the operation can be used for request cancellation. + * @return Certificate backup. + */ + Azure::Response BackupCertificate( + std::string name, + Azure::Core::Context const& context = Azure::Core::Context()) const; + + /** + * @brief Restores a backed up certificate to a vault. + * + * @details Restore a backed up certificate, and all its versions, to a vault. + * + * @remark This operation requires the certificates/restore permission. + * + * @param backup The backup to restore + * @param context The context for the operation can be used for request cancellation. + * @return The restored certificate. + */ + Azure::Response RestoreCertificateBackup( + BackupCertificateResult const& backup, + Azure::Core::Context const& context = Azure::Core::Context()) const; + private: /** * @brief Gets the creation operation of a certificate. diff --git a/sdk/keyvault/azure-security-keyvault-certificates/inc/azure/keyvault/certificates/certificate_client_models.hpp b/sdk/keyvault/azure-security-keyvault-certificates/inc/azure/keyvault/certificates/certificate_client_models.hpp index 225960ca4..b0cd59064 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/inc/azure/keyvault/certificates/certificate_client_models.hpp +++ b/sdk/keyvault/azure-security-keyvault-certificates/inc/azure/keyvault/certificates/certificate_client_models.hpp @@ -1001,6 +1001,7 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Certificat */ Azure::Nullable Phone; }; + /** * @brief A certificate operation. * @@ -1127,4 +1128,16 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Certificat struct PurgedCertificate final { }; + /** + * @brief A certificate backup data. + * + */ + struct BackupCertificateResult + { + /** + * @brief The backup blob containing the backed up certificate. + * + */ + std::vector Certificate; + }; }}}} // namespace Azure::Security::KeyVault::Certificates diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_client.cpp b/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_client.cpp index d26453642..05edded75 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_client.cpp +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_client.cpp @@ -309,4 +309,29 @@ Azure::Response CertificateClient::UpdateCertificatePolicy( return Azure::Response(std::move(value), std::move(rawResponse)); } +Azure::Response CertificateClient::BackupCertificate( + std::string name, + Azure::Core::Context const& context) const +{ + auto request = CreateRequest(HttpMethod::Post, {CertificatesPath, name, BackupPath}); + auto rawResponse = SendRequest(request, context); + + auto value = BackupCertificateSerializer::Deserialize(*rawResponse); + return Azure::Response(std::move(value), std::move(rawResponse)); +} + +Azure::Response CertificateClient::RestoreCertificateBackup( + BackupCertificateResult const& backup, + Azure::Core::Context const& context) const +{ + auto payload = BackupCertificateSerializer::Serialize(backup.Certificate); + Azure::Core::IO::MemoryBodyStream payloadStream( + reinterpret_cast(payload.data()), payload.size()); + + auto request = CreateRequest(HttpMethod::Post, {CertificatesPath, RestorePath}, &payloadStream); + + auto rawResponse = SendRequest(request, context); + auto value = KeyVaultCertificateSerializer::Deserialize("", *rawResponse); + return Azure::Response(std::move(value), std::move(rawResponse)); +} const ServiceVersion ServiceVersion::V7_2("7.2"); diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_serializers.cpp b/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_serializers.cpp index f0dc42dc2..e085b8ea7 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_serializers.cpp +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/certificate_serializers.cpp @@ -611,3 +611,22 @@ DeletedCertificate DeletedCertificateSerializer::Deserialize( return result; } + +BackupCertificateResult BackupCertificateSerializer::Deserialize( + Azure::Core::Http::RawResponse const& rawResponse) +{ + auto const& body = rawResponse.GetBody(); + auto jsonParser = json::parse(body); + auto encodedResult = jsonParser[ValuePropertyName].get(); + BackupCertificateResult data; + data.Certificate = Base64Url::Base64UrlDecode(encodedResult); + + return data; +} + +std::string BackupCertificateSerializer::Serialize(std::vector const& backup) +{ + json payload; + payload[_detail::ValuePropertyName] = Base64Url::Base64UrlEncode(backup); + return payload.dump(); +} diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/keyvault_certificates_common_request.cpp b/sdk/keyvault/azure-security-keyvault-certificates/src/keyvault_certificates_common_request.cpp index e3fc93975..5b4b3d741 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/keyvault_certificates_common_request.cpp +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/keyvault_certificates_common_request.cpp @@ -23,7 +23,7 @@ _detail::KeyVaultCertificatesCommonRequest::SendRequest( switch (responseCode) { - // 200, 2001, 202, 204 are accepted responses + // 200, 201, 202, 204 are accepted responses case Azure::Core::Http::HttpStatusCode::Ok: case Azure::Core::Http::HttpStatusCode::Created: case Azure::Core::Http::HttpStatusCode::Accepted: diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/private/certificate_constants.hpp b/sdk/keyvault/azure-security-keyvault-certificates/src/private/certificate_constants.hpp index 6e10ff3d0..906f64161 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/private/certificate_constants.hpp +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/private/certificate_constants.hpp @@ -22,6 +22,8 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Certificat constexpr static const char DeletedCertificatesPath[] = "deletedcertificates"; constexpr static const char RecoverPath[] = "recover"; constexpr static const char PolicyPath[] = "policy"; + constexpr static const char BackupPath[] = "backup"; + constexpr static const char RestorePath[] = "restore"; /***************** Certificates Properties *****************/ constexpr static const char IdName[] = "id"; @@ -135,4 +137,6 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Certificat constexpr static const char RecoveryIdPropertyName[] = "recoveryId"; constexpr static const char ScheduledPurgeDatePropertyName[] = "scheduledPurgeDate"; constexpr static const char DeletedDatePropertyName[] = "deletedDate"; + /****************** Certificate Backup/Restore Properties **********/ + constexpr static const char ValuePropertyName[] = "value"; }}}}} // namespace Azure::Security::KeyVault::Certificates::_detail diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/private/certificate_serializers.hpp b/sdk/keyvault/azure-security-keyvault-certificates/src/private/certificate_serializers.hpp index 15ecb2131..61941a99a 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/private/certificate_serializers.hpp +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/private/certificate_serializers.hpp @@ -182,4 +182,13 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Certificat std::string const& name, Azure::Core::Http::RawResponse const& rawResponse); }; + + class BackupCertificateSerializer final { + BackupCertificateSerializer() = delete; + + public: + static BackupCertificateResult Deserialize(Azure::Core::Http::RawResponse const& rawResponse); + static std::string Serialize(std::vector const& backup); + }; + }}}}} // namespace Azure::Security::KeyVault::Certificates::_detail diff --git a/sdk/keyvault/azure-security-keyvault-certificates/test/ut/certificate_client_test.cpp b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/certificate_client_test.cpp index 7d039c631..fa5276a8b 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/test/ut/certificate_client_test.cpp +++ b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/certificate_client_test.cpp @@ -8,6 +8,7 @@ #include #include +#include using namespace std::chrono_literals; using namespace Azure::Security::KeyVault::Certificates; @@ -619,6 +620,13 @@ TEST_F(KeyVaultCertificateClientTest, GetCertificatePolicy) EXPECT_TRUE(policy.LifetimeActions.size() > 0); EXPECT_NE(policy.LifetimeActions[0].Action.ToString(), ""); } + + { + auto response = client.StartDeleteCertificate(certificateName); + auto result = response.PollUntilDone(m_defaultWait); + EXPECT_EQ(result.Value.Name(), certificateName); + client.PurgeDeletedCertificate(certificateName); + } } TEST_F(KeyVaultCertificateClientTest, UpdateCertificatePolicy) @@ -715,4 +723,65 @@ TEST_F(KeyVaultCertificateClientTest, UpdateCertificatePolicy) EXPECT_TRUE(updatedPolicy.LifetimeActions.size() > 0); EXPECT_NE(updatedPolicy.LifetimeActions[0].Action.ToString(), ""); } + { + auto response = client.StartDeleteCertificate(certificateName); + auto result = response.PollUntilDone(m_defaultWait); + EXPECT_EQ(result.Value.Name(), certificateName); + client.PurgeDeletedCertificate(certificateName); + } +} + +TEST_F(KeyVaultCertificateClientTest, BackupRestoreCertificate) +{ + // cspell: disable-next-line + std::string const certificateName("certBackup"); + + auto const& client + = GetClientForTest(::testing::UnitTest::GetInstance()->current_test_info()->name()); + + auto params = CertificateCreateParameters(); + params.Policy.Subject = "CN=xyz"; + params.Policy.ValidityInMonths = 12; + params.Policy.Enabled = true; + + params.Properties.Enabled = true; + params.Properties.Name = certificateName; + params.Policy.ContentType = CertificateContentType::Pkcs12; + params.Policy.IssuerName = "Self"; + + LifetimeAction action; + action.LifetimePercentage = 80; + action.Action = CertificatePolicyAction::AutoRenew; + params.Policy.LifetimeActions.emplace_back(action); + { + auto response = client.StartCreateCertificate(certificateName, params); + response.PollUntilDone(m_defaultWait); + } + auto certBackup = client.BackupCertificate(certificateName); + { + EXPECT_TRUE(certBackup.Value.Certificate.size() > size_t(0)); + std::string text(certBackup.Value.Certificate.begin(), certBackup.Value.Certificate.end()); + EXPECT_EQ(text.find("AzureKeyVaultKeyBackupV1.microsoft.com"), 1); + } + { + auto response = client.StartDeleteCertificate(certificateName); + auto result = response.PollUntilDone(m_defaultWait); + EXPECT_EQ(result.Value.Name(), certificateName); + client.PurgeDeletedCertificate(certificateName); + std::this_thread::sleep_for(m_defaultWait); + } + { + auto responseRestore = client.RestoreCertificateBackup(certBackup.Value); + auto certificate = responseRestore.Value; + + EXPECT_EQ(certificate.Name(), certificateName); + EXPECT_EQ(certificate.Policy.ValidityInMonths.Value(), 12); + EXPECT_EQ(certificate.Policy.IssuerName.Value(), "Self"); + } + { + auto response = client.StartDeleteCertificate(certificateName); + auto result = response.PollUntilDone(m_defaultWait); + EXPECT_EQ(result.Value.Name(), certificateName); + client.PurgeDeletedCertificate(certificateName); + } } diff --git a/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.BackupRestoreCertificate.json b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.BackupRestoreCertificate.json new file mode 100644 index 000000000..ca1849060 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.BackupRestoreCertificate.json @@ -0,0 +1,353 @@ +{ + "networkCallRecords": [ + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "f136cbc3-6bbc-4526-5e5a-5d89637a9a20" + }, + "Method": "POST", + "Response": { + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkQhABAFGsryU81qydCtb7R2lpjMoDIc/zpje4OXQQHvUe8+DhcUim4soL29BLpJJuhb6kLlp2zsYVKVz8E9awv6AAZtMaLJ30aN24Sjmc8PsOQ5347pKJpE0VGHmatPA0WxRU7fOdLQ8tzlju3/fQM9+Qux42GeSS/VQMhgb39J7O+LsB6a6IWNWtKq233MqfdbsSKvUgtxUgIbdh8BZNYu4Wg3HYEjlL5Zc3viNejhlKXGZT7qeFCSi8FuGMi1W395Mah4FDs5Ra0YBMsJSfIr7cdIg99H1/ijduE4CRRKsUifd1F7o2SD1CHhj9skk3+9zIjs44Yzmp3tPntImNQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAAKKZDJggXR6YaI9l58OPnEq1AsqLtuPdilkffEYfM40IE66SJ9GIxO1T3RG6bAzXX9gXzBPEPsEMVQsRKleS95kUqhvZPHuoqa6Q4fZA2UfKPcbxZpj3P/CQi8Bbc0Do8VmNjwZlevVeCc+264N/LzMDfeJQFAeWDXm2RYzyRboR7TrwwCsgtiII3h3338zZpZfODyhxcLSpaeq0w+gvVIxUeLfBdsT7fM9BvI7H4cXh7Hd5gy3X+ld2zOutYYGDTo+VgIJcatzwytEKg2tC4E9y0Rs+kMlX9nEedeQNMxaEV1ZXckyGVFo0B9j7JpVsRZsrdXO4DY6mrvzk8dDF2g==\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"a41ff4e29f204473aa20c67d94ed688d\"}", + "STATUS_CODE": "202", + "cache-control": "no-cache", + "content-length": "1237", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:48:25 GMT", + "expires": "-1", + "location": "https://REDACTED.vault.azure.net/certificates/certBackup/pending?api-version=7.2&request_id=a41ff4e29f204473aa20c67d94ed688d", + "pragma": "no-cache", + "retry-after": "10", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "f136cbc3-6bbc-4526-5e5a-5d89637a9a20", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "a10baad1-bd2c-4142-a309-534d0b1a746c", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/certificates/certBackup/create?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "2a1952ad-42cd-457c-6b16-84d6d7d969fc" + }, + "Method": "GET", + "Response": { + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkQhABAFGsryU81qydCtb7R2lpjMoDIc/zpje4OXQQHvUe8+DhcUim4soL29BLpJJuhb6kLlp2zsYVKVz8E9awv6AAZtMaLJ30aN24Sjmc8PsOQ5347pKJpE0VGHmatPA0WxRU7fOdLQ8tzlju3/fQM9+Qux42GeSS/VQMhgb39J7O+LsB6a6IWNWtKq233MqfdbsSKvUgtxUgIbdh8BZNYu4Wg3HYEjlL5Zc3viNejhlKXGZT7qeFCSi8FuGMi1W395Mah4FDs5Ra0YBMsJSfIr7cdIg99H1/ijduE4CRRKsUifd1F7o2SD1CHhj9skk3+9zIjs44Yzmp3tPntImNQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAAKKZDJggXR6YaI9l58OPnEq1AsqLtuPdilkffEYfM40IE66SJ9GIxO1T3RG6bAzXX9gXzBPEPsEMVQsRKleS95kUqhvZPHuoqa6Q4fZA2UfKPcbxZpj3P/CQi8Bbc0Do8VmNjwZlevVeCc+264N/LzMDfeJQFAeWDXm2RYzyRboR7TrwwCsgtiII3h3338zZpZfODyhxcLSpaeq0w+gvVIxUeLfBdsT7fM9BvI7H4cXh7Hd5gy3X+ld2zOutYYGDTo+VgIJcatzwytEKg2tC4E9y0Rs+kMlX9nEedeQNMxaEV1ZXckyGVFo0B9j7JpVsRZsrdXO4DY6mrvzk8dDF2g==\",\"cancellation_requested\":false,\"status\":\"completed\",\"target\":\"https://REDACTED.vault.azure.net/certificates/certBackup\",\"request_id\":\"a41ff4e29f204473aa20c67d94ed688d\"}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "1145", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:48:38 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "2a1952ad-42cd-457c-6b16-84d6d7d969fc", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "fab06325-c600-469c-a2f1-10184413e85f", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/certificates/certBackup/pending?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "145d5b70-c835-4d90-5419-7a8cb7df4f87" + }, + "Method": "GET", + "Response": { + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/74b01b14bce4488081521bcf05990333\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certBackup/74b01b14bce4488081521bcf05990333\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certBackup/74b01b14bce4488081521bcf05990333\",\"x5t\":\"QxzyGwYBjnjIvcw0kJfalRsUTh4\",\"cer\":\"MIIDAzCCAeugAwIBAgIQByFihe36RMCzjZSddfuwvjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDAzODMyWhcNMjIxMDEzMDA0ODMyWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCRCEAEAUayvJTzWrJ0K1vtHaWmMygMhz/OmN7g5dBAe9R7z4OFxSKbiygvb0Eukkm6FvqQuWnbOxhUpXPwT1rC/oABm0xosnfRo3bhKOZzw+w5DnfjukomkTRUYeZq08DRbFFTt850tDy3OWO7f99Az35C7HjYZ5JL9VAyGBvf0ns74uwHprohY1a0qrbfcyp91uxIq9SC3FSAht2HwFk1i7haDcdgSOUvllze+I16OGUpcZlPup4UJKLwW4YyLVbf3kxqHgUOzlFrRgEywlJ8ivtx0iD30fX+KN24TgJFEqxSJ93UXujZIPUIeGP2ySTf73MiOzjhjOane0+e0iY1AgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFARSNlNm/twgQyTTx+7t7dxzXVNnMB0GA1UdDgQWBBQEUjZTZv7cIEMk08fu7e3cc11TZzANBgkqhkiG9w0BAQsFAAOCAQEAEwNpkrzwdtWPv0S2/JkdEPHf8/sXUs0SyjTfsDhqRNN5idTBLeL4AmRJihbx5nNN+aM8z1YM4OlKF8Q4/y3KptunOukD/ltBTk/1kZrHycWYpbd7HXFMI6FY3gMm48lz6enVk3x0YKXp1UGvjPlQeY5bOlSbbZFJB5uWHyE1xySYO+1PyICV/McpBBYjCA8G5SePaosGjmsPGztoVG1lq1dBf8fqQmYQndh8RIZy6sKEQ3k/H4Bg3lmhTS/huOQc2krFnBUazmGhIYLAP3QMxlAdSO3W/2yWhsMY0WStiTtA+fJSaCL/T6ZK9ZjPk5JPwLTMrQHoEbR1q8alSiUlYg==\",\"attributes\":{\"enabled\":true,\"nbf\":1634085512,\"exp\":1665622112,\"created\":1634086112,\"updated\":1634086112,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086105,\"updated\":1634086105}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/pending\"}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2205", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:48:38 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "145d5b70-c835-4d90-5419-7a8cb7df4f87", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "25f45107-5bb2-47ec-ad50-abbba546f3b0", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/certificates/certBackup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "ab3229f4-0de9-46a4-696d-3933f87bea2c" + }, + "Method": "POST", + "Response": { + "BODY": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUl5WVdabU5tRmhNUzAzTm1Ka0xUUTBZVGN0WVRjek5DMDJaalZoWkRCaU5XRTRPVGdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJbjAuaVpnVEZpY2FfMlZ4VjRHd2lDTU5ManNKRnZ3djRqeVl6eUFmcmZ2T240R2Etc05Bb3dHQWNaU0VnVnBFa2w4d1JyUGpNZUJ1WGtlb0ZaclpxWGx1V1FMVmdxVks5bFV2Sl9aY2Y4ZW04YzBaT0dVTTZkQ3llUXM4YTktdkN1UDcxQmlxMm83S3lBSjRQQmdZX3J2SmZhNnAwUjdnRVhuQ1lDRjRRWnhxaENjbGtycnJTR1dnUXAyRkREWUR2VnIybWcwNkJkVGJKTV91VnNhN1dSTkU5c2JiaHcxN1FaMjlueTN5UUNBRUZ3TjlZMWd3OXdaRHB4WExTWmRFX04zU0FkRDNoUEoyVnpFRlhsOXZtNmtqTGlSU1NUUF9jVkduZ0t0MGNlRlNQT0lEaUVoWVFZRkgyaXZMQzRMY0drXzhFWWJSS2N3aXhhTXMtdmItOTYzSVNnLnlJTkkyOU9DSDBKTldzS2RHcWs4ZGcuVzZ0V1dhRUxGMU5OV2hObHFQRWhLN2hrakN1ZWVhY2ZFMk5qSWdPODNqUnFBYk8xQU90bXNvQ3FJTDRQRE9SdkJjMlRaMHdydUNpWHNzRGs4NlRGNm8yQmFpMjB3WnBLRnItNGNOQ2RQaDNRY1Q1MzNpV203RkFEWWdRN0dqUkV6TVdDVEFGWHh1RmJlWHJxYVF2YWphb0RpX055TVBLMWdPZWdndU44UmlaYk5tNmg2UjFXNENoYkZmeVF2dnNNTEdfeVNLdXl0UUM4Q2NhU1pzendRUThxTlhnNFZHOHlUbXNxU2dlRi1tZGVGYUJ0bDlzVVlNekx6Ny1qbjRjZ3BFQmktaUZKU2lrVkc4ZDRkZlZPT0NPbVpOODZJcTRHOVpDTGRnWmlscmlCb2oxb0NFWkhZZ2RRY0FuNHlXTVVwSFY5WmI1emU3cW9hTUtmQktIZUhud09xQi1UcUdyWk9ybEY5MnpQd1hTQ3RNNG1qR0EwbG9nRGt0cW52UjhPRGlVUHlidkhxOGhpajl6QVNTM1llVkp1OEcxeVJ4VXBZRURVVTNqdHFSTmVCSFZCY0RENzNoc2s1YjZYVkdjNkNGbm83SXNrd0hYTEpZUXQ2bjM2ZnNycU5INXdtWUhhZTRLeEM4X09CTXE1ekEwRzRzR1F1YXFzMWk1Q1RYNS10SWN1WUkxTHIwQnROU05qVFM5b21uM3F5RV9pQVhCczJ3ZGhMbFMxZjB5SnVZdlZiMFQ3VFRhTjZES3N0WFJ2YzVLcUQ5RmRXZVp0NFJpNmliYnlpZkNHWE9MVW93eDFkYmw3NkthZXRCNzFJM1FiNDhiWXJobkM0blhxQjVGRWMyY2lYX1FiOGY4dF9XMmpGYW1fVVJfeV9zVUhOMnM2c0lFUDE5ZWFuVnlOb3V4MjJqVnVxTzZNbkFGYzJ5VFBIZ2FTXzdrOUJ0bEJFX3NNYTRlX1JMOXg2U0V6a0FqMnRsQjg5bzhxMERpTlFWYUhDclF5VGhITDhJYkFfNllHaktSdXRxSHVqamc2NWg1ZzY1a3BWbmttY3RYelZsU0Q1VFQ3dXd6MVZVS0lXWkkyX1NwX0VKQWtlZkxlUGpWZVhUR0pSaTZwY2dtc1RSanFVQlpOWVNWRkpkbXRlcGF2cUdBXzBRSnk3YjVyV0kxdHdIR2M1clhPdjgxb3FaNUxqdF9LR2lQRGYtNmNtOHF0Z1A3RlRFM2FRNC04MlFIbTk3T1YzYUMxOVFmbk1ibUVMNkI1bkprVDlDaHZYY0Y5TnBGRHk3T21DMTF1V0lIMElFSXJuRll0V0tkSVR6VGs0QVFIODAxT0djWFB6MlRsZWFrbkVaek1BLWxyV0RadkYwOG9sV3NUOUtPSGw5U3hjdG9VdENhRHR6cEJuLUNvVUZWYzNGbll0MkdtM1JUdUJfZnpwOFNwaVQ5cDdHMmRMQThvLVRQSG1HVF9GNUNtaXZCR055ODlNNVgzbTlnRkNUVmJTN3NJX0JwMGxwUHpzTkp6SkZKYjI3Mi1vNGtwRXc4TFZwbzhOUmNaek1ONmNpdDBVREs3NWQ1U2prajl1VjFyTEp2aVBEMGdTV3FNcmJud1F4UFAyTkc3RDl1NVJqdFI4akh4SGZ2Y25neE1Jc0ItVEhNaGlUNkZVZW44cFFJVDZ4VzdKaWJ5MW5RTnlHdFNlSlVNN2dYbUcwZDlPbU5udjNDZ2ZneThPYm55WXo1bkJRVllGRDBBZm5hbU1BMFd1QVVLdVRCV05hUGMzQWZrVFU1YVdSSGpha043TEVXRDlLc3pjOEVnejd1SHpQaEZOc2g4TGdhU1lNeVFaejFyYm9wQzJzMDdRU2l6Q3RWQUxOdGVjSEpYRWpsNEdZQ1RlZ2dJQnlQM3NtQkNwU2JIR1NzUGZQQnVQQ29CdFB0LVRiNHh4NUc3ZGUyeWdRNXpGdVNMczA0bDZDLXBfWHBVSF9paGs0b3U0VVBmak45VjdScF9YMllROUFDVWE2MXRicUhEdjVxYmxPLTZTdlRGZ20ybHZRSE5waVEzVUk0M2ZYQURpR18xWURXQk01RnVERXR4ZFZEMnFTWjRyeWJ4ZmxnTk9XSXlKcFdUOEN0VmJqY2p2SWNhRzEwYkptTW1wX29sai1BSjFWak5BeGtSNUhDMk9JTGE0TmxrczZNT1ZYdEVUTkE0VWNmS2JtOXBSbmtxMmFGemRlbmpaV2hlT3pFNk5ra1d6OVZ1aWV5UlZPSlZUUkJJQ0twWnV0VmU3ckJEX0N5NTBORTNQZDBnVkJtNDdNUHZGNmU4ZFUzV2FRdkI5WVB3VEFfZmpXSlQzeXFlRTRWbUVDTDZLb09VUktzZzhLYWhac0k1ajhONnowMTJUWXh6dXE4cGZVemxRZG5PNUxZSTF6aEJJRENmemxxRFNOMEhmUDFJLUltM1dVVVdaMDFWQ2U2YmhfT1lyQWhKNl9KS2RXdVY1QjJ2VW92bFNSMmozSGxvaWRvMlg5TDlXLWpzVVhlbGh2SmMwV3Vkbko5Q2ViWkFuS2VjeGpYSDlCOXlLMzhpM0hKTm5kam9HT3AtMlk1ZVdvMTltSkdHMHBxbFFibGI3bHZnTDBneFdzQ0Rsc1hoVmJ3dkhIUUppSG1NaTc3U1NIOVVVUGhpQjJFZ0poOXh5NmJjSlNDYmFwUFdWd0M3NXNuOUJFU1BtOGZvdDhicU5pVkNJNE4tLWpvR2VkcjZKcnh4OGZ0OTlqaTlqbXBMY1JJRW5QajV3TzhOMDd1a1RaVUlqcjVPcjFLQlRwZ3hCN29tbzFveDhlZ1FtYm5XWUR0SVJqOEo3Zkt0bkdDbXpsN2RxaHNnVVBHdFJ2YldTelh6QjYwUjUyZVUwV2lGd1VyaGVIUm52WEUxZE1JQ2s3U3Z5T2RUcWtzZXJVYXdNdFpBVGhzOW1LTWFYeVZoMmlDS1F0YU9nVEJBQXJNS1Z4Mm1XX3hDLUxTZ3JmU0lSejVjaWhNWnZqVlNDSnRpdGkxT0FtMWV4SzBsdVZGNFhWNnZjYTR0WTF3anpuSHZrN0QwRXI4ODFjdEpRNVZQRnhYTTA4V011MXdNWHBYVlItdlVNczFSN2VpbXNQSENqQnBsR1lPRDB5M0NOT3FUNThnbU1ubG52MGdTa1Nwb1lUUjY2RnJCUmwtdGVaQlEya3RPRHhIS2tEZzBZVWFXdExJUk53MkxncTRXUGlvNUExVEw0aGtFZ3RvWTZXZTJyd0JBR3N5dF9CeTJKX21XZnpjVW5FZTJRa05BY3dTb2dkeVV6RGxodTRzLWtRMXhNZmhTQ2I4Vk1Ya1l1YkVuTGhSM3p0eWlBN2YxQUEwQktnTm1PSS1NXzIyU2NCVktZLUp5NmxEcTBMSnZ3VHlTcXRvMnNqVEZxXzlUcFg3QWRSZTYyRHlWVkRwcjJidFN1TG5aNGxhamhDMWlWX0J1eUxLVHBNcXM1bVFDLXlMNmtmRjRmOERZRjV5cTNCMkFWVlVTdktvQlMwX3h6RXNOLVRObVB0TEF6bWNFTzlDUHNaUmVETkZUcmZnTWtfb1MzV1BVSXMxeG9HMFdXdGxtMjBiUzk1cGpoX3ctN3lpMVQ3dGY5c2E0ZDItMUYzTW9CTjh3Z0JldUdQVTd0Z1VkSzM1RjFxNTZHQnZRcUNMUllTU1VFZjljSW1DNlFlZWF2N2RMSGdlNDh5LVJibG1UTXZoS2E1WUlDV2RQQTRqbjN0dU5rbmJpZjZ6c0tGbFE0YXNobzcyUWtXRTFpQmRLTXhtSkxUWHNUQmtReFFvZU53cWN4d2JKWTNfX0ZiYU13OEk3b0pwVHpadlZuTHlfdDlDeVNTZExuYzJpUVhGZk9KcEZjLVpsSDd2d2ZYZkpmUW1jRjJUZkN1bUlFZnFaSWt5UmlRQk90emtYMVoya2lYaHRRX3RLQW1KLUtaYWYtcllGZGFtWEVVOGdtMHhJUXJwTlduRmNQVmxqQm5XYWJHS1hQeXRnaERrSzcwcjh6dnp1VHV3aFo3Q1dfZkxNWno0OURBUXpBMlFOSks0dVVZc29HN0IwTkdmSklJUTZ2OENNMVhVT3FfU084RGtBenpDMUR0SUE3b2xUWjAyS2dOVWxIVEhyZms1cUI2ay1tNmJ1VHpoVzlfSmY2cUVZdWdLeTVERjljeTNuNm9YdGNEbDh0VmRxSlRBN08xS3A2VGxITHhGQThxU3ZHRjNoZTc1bHhES3NLTVl5SGwxZW1FUjZMR1dqUnBqUTdsMkllczZnaDQ3ZXJOUVZYNElFYVBjODNJZVZGcVBvSFdsOVI5SUtPTDVJTDAzSDBFbU9ieHVsQXBPc3pIajN4Um1ET2t2T2dWVS1qcFIyMmRlV2Z3aGMxZ0gyLUNKMjFqdElWNXNJa3hzU0cxd3dsNWc1OFM3ZzdNdU5yeGdOb182STFjSE54U3VqVUJYOEVheExFWWVnTFVRSEVJbXA2MWpLamluMHlJNWdmc0szdjA3Q043UmtoMHFXc0tmSzBQbEZFVnlOdW1KUGxFTVpvU0JNY05hdHRWa1BselZ0VzRlc3M2VzNMRDBnV3EyZ2lFWkQ0ZE9QVUpzSTV0eWs2WUlrMXlMN3pGY2poZHd3RUlma2RZLWdQS00zWHpNblY5WTdJYy1KRGtmUlozSWpacUhhcFJOeFgtQ0lrVU5PbzNBRkhRSVBWQVRGdkRIMGRJTHJvMXpwb1NjWmU3SmJOYW9IdlFvd25ITGdhVTFuaF9uT3cwUUtEM29Hd1FLRHAyYUtOdWVEVzlhbFhnWmVpcFRqZ2VhdlNUTlVORUthTHg4eE5mSWotRnhtRkc5LXo4Vk51VmUxLXpuaEFTN0FRQ0l4NW1JdTdGZUh1VVBHdGpyQkM0ajNSdl9IN21JcTRfUjRTOVV4MDJhdUh5YTQ3bmpkM0NJbUtZRVIwbHBkd2pxdFJLelFiN250NmctdzJLNFhoZ20xeVVWejNXQVl3Z0t2VkZNbWo3eXYxNFNoQ3dZRkdjWFlEMms1ZS1qQ1NlRVRobFR5dHJEUlVqX0tMckRQNmNwZFVXck5odUJiUGthVWhCWXo3aXFaNl9lcVBnMU9scXBjcURLMm12ZUc2SklBMnlNM2U1ZXgxZFdNbTBld3JDbDh6SUItbnZzblR5YmpmQjh0UjVsbnpUa1g5UUk0QVR0MDdXdEZEeHpxR1hSS2pnbGwxOTROMU1lY0prbXc2NFNtZ2xVY29MR0FuX1RlM09ZcDljSnZTUzFWTnhJLXRjazZmbFRpeEwtcGZ1YWpwdDFGUnFSS2tscFkzMWFlZGN6N2E2MEktS3NuOUFXY2JEeHM2anpLQkxFMlh1aDhtM3F3SWkzV0F5NXhjZVVaREhjb3ZnRzZZV2Q0VmczOXQ3eWZRRGdHQmNvWlJsa2k2RVpKMDFQa2huVzlzVkJMb3JBWS1OaGxtQ3JYVkYzYXhwaWpoNTVpaXM5bThiLVg3WlBSdEZFejFOTjB4OTRWMERWY2JnMVh2WnVoeWp1eFYwNDBHV05qMVhwMkFTWGQ5Nlk2Skp4bEhHNmE3bTM2eFotSTV2cFlSRTlqRWhmZTNiRFZGVC15WXZabHNtMUtBRWVtcE5FeE1WNi1QSERMU28wUDlvM09Dd2s4NjZ3N1ZfRkFDT2xZV1ZFdmFwNHRzRHR3X1MxVWlaNVFybmg5bXNObmpVb1hUX2hJTU9feGxsUS1CdzI0QS1RVzlSUUp4WnJoTGFjWjB4YkhZVWRyS3dsM0ZGbGdRZ2VyTVVUYTV0NjV3M2FIaVZBeVdQZi1TRGR6ckdMMlhtLVlBLWpCU3d6cmhsR0RGNnVzQ1RjYnFPbTNHclRsa0k1SGlGZGduZmZDVWt0OTc2RVJjSU1TbnhKamJpNFhTUHpYd3NTTEpmVlJlWmdKWVV3S1o1U0RCdFdtTDlBZ3oteFptSWduNHJuSDhVUVBrcHBQZUpOQjczQzZmajRmRXEtV1p3c2ZuRGU2RzlPaUhMYnFjVGRuNlhRdGF1TGNZWG9OUkJzZlpCSXFXdkZpU3RfeTlYYW5SVV9kR185M1k2cUdJTUFhZUFnRmx1S0gzLVB0amRiYXRteDJCbi1ZZC1xT2NNbzBGRm5lX1M4bHdoWjY4WFV2U2JzbFJUaUJhNEstb3FsZHZJdUdPeEpDZ3p5cDc3Y0ZfNllGVTNIdFA3UDc0M3RRNzAxLUVEczRMVnZwOV82amktM254WE9iWWFrYkg3SF82aTVPZWN6dTdJRmJQODdmOXpRMUs4bnVoSVBLY1U0bkZjbFk3ZWRRUzF1U3BmRlpvXy1zeUJFMzZCYWR6dGtsODRIbXBTbVVXalk5MTlXckI2dXNXNzNKeDlma3p4WEd5VzZrRG1zOGdxS0N6bzRJTWwzbUhnQzRpdDZoNkk2T3ZhM2hVZDdyTjlTdHJaT1RSQV93QnJ3bGs4Y1p3UFdJV09SUjE5bTZndHV4MmxjQTJkbTRDZDd6WFh4YWdld3MtTXJYV2p6V3BwbG12YW5NOS0tNGdjenRpNktGUlY3SWpvQ2RRbTlIaS1rdjRNVGdSTDZaWGR4MkladmhLeDNwOTJpMFJlYnhadl9XNTJJdDE2TzU3UnpPdVhnYVJRb282S2N0dUROZ2tQWmd2TXQ4bEt6dlFsZFZ1UE0wN1EtRFRKUmY5aXdqUGZ0LUNuRGF1eHRqUm1RUmJYanU5MmY0aDhyeWRzd2RDQl9mNzBQdXU3bS0xaXNISklGUkdFaUxfQjVRQ0NsWUpwbndnLXNMQlAwNEFGRjVXMllNcndtZTRxTWVIMmJNRlN0Q2lJMTVQN0RWajNhVmRLSGpNQVNzU200V1F3SU1CMVluMzY5SngweEV6Vy1oR1VhUTA1MEhwMmk0QXJlNVlidnhFYjUtLWhXd1M0ay02c3VqMGE1aG1odTF3Qjh5b3Byd1VabEctOUlyYXJ6S0F4a0stZnlueHBYS0xMMzlVNDVnc2E5bFZUU3hadl9hR3hBazB4NURGaGRFT2FzRG5FTTlPcm45aVB6TTJweVd0aFNFakpTS2gzVmdRTERDaWRCRXJaSEVaME4xNEJxeWpYdHZ6SURSVk14SXZXLVVWcWVYamtkNHFCYWg3SkFJVUF6U2swN1lidHNnMnhTN0Y2NFRwYmZ4Vkp1TnZJNDNoVm11eTU3M0NLTnJ1bFhKQVBaSUV6bmh4Q3RqYnRkcTdDRzJqVUdVTkw0VUpHYkZ4T25vcHJoYzNqSFp2R0VtbXRhaEY0MDlxVi1DOURKNFN3ZHZjbW1CTlg0SnRqVW9TenN6SHA3VGVJcHdpbzltQXA3QUdrZHA0SmkwTnZVX3k0czNnYzdtNEFEcG9reHM5dUtIako4Vk1JN0xGRVk1a2ZjWDFEVUVyeDRRRVhLTlVKeVdWdXlLMWpYbjZuVmk5Z1hEMUlxb1ZDdnFwMTZFMHpiYWVUT1lUQUJrV2R3YU1GS1JPai1BWFZ4ZjJhWGcxb05CeThUNmJQMUJ3bkUtM3ZydzVTWXZ4T1o5NFJISzZFLXByaE9OaXRSZWlyVUtSaFBSOEtheU50eU9DbXVvQTdVYXVqZnV5WEFXMjAwX2h2bFcxOTFVYWdPblBtV0xhcWpxLUt1dkFfOElLOERRbG1ybWZHYTZHQkwyVVJTSnkyZjhhTHdhdndKelZ4cGRYTGRDTElCdVc2NWJXLU9wRUVaV3BkTnNJYUdwUG1Cbk9RZEJaX0ZleWZ1Mnc4TktKaVlYTjJsZDRMMzV4OERFU3BfVmFMM3hMY3lnTkNZWDIwbGx4SnQ4bnhSeVBON1VYNzdCLTJaaWNGNlJLZ2M4UVlrcnhfcXVwYzhnbXVCcXlOT1NBSHVKbnpPZmdQUXdDSFZIb1hNSXFSVUtEMDU4SlJCWnNubUY1RnlnQnpVNkdJYzB1UVhiQkpzMXBXZklfai1GQ210MDRNR2JWdFl4NlZXMFJjbGRONXdnQk5nUGp0Q282MTdBaE01MnpKQWpKVVhIZTRQVHVrOG1GN1AtYkpkZlRzc2dodHF0dTM5ZnJmLUZLZzY3Qjg1VThvOUpQN29GS2dvZkZhcUY3QzNsMkVxbW1DVllkejZHdk1RLVZjbllUYXhBUWRPSGlRc3BfTS1CN0NveTRJYmFmM0l5akREODg4YlJyc1hRQ3JhcjZxckYtUkRqV3dNZ0VLN2U5MjQ5ZmUwYjNra3BPVU1aX3JpSDdRLUdBemxnQ0NVWG81VThPbUJmLWx4dmFQMGRmQ0UwV2I3ZHNsVXFZR2Rjd0pNbmpmVng1T1NoSU1qY2padnlYX1JZX1lhazktS2t0YzdMal9uZWhnUy1JclB3akcyTUhuaE5KZHNydDJEZUNhbkRKNmROLVMwVWFhTmtlZE5PRDdBX0V1TF9CRDV5MkpFWGV0d3RrNF9Way1WOE5TclBzdzgxTmtnN0JkRFFRNmh3Y0cyc2h3Z3Z5R042dlJKSm9RWERQb0QxbDh6RmZoVnh4Q3BJU2hXVW5PX3JFdzdkR2diZ1B3VjNqcWtPN01FLURsQ0VJMDRuclk5VkR0cUtJejFlM3o3UW51SU5LN1JUU3g1UGlHWm5MYkxGZE9NVmNGMkZpV3FZM05jNWJQTHoyazJyTnlYVk9QUGdnU2g1bVF3ZFlqRTJqYU9ZSGc4NTR2NDd1TmpSYk9pU3lsT3VPREJUeGpMNjF4VVFUWkN2VFBjR19YWlJXaDNWYUNXRDhUdVI4M0ZxeWs4SEdsVXdzc3doNkJXeDVQTV9rRGp5OFI2VkNYcmlZMUpzdG5mSkpCZmYtMzA4MEFEQXRjNkZrSmhyc1dyVWdxRmpSeWdqWHdCVExJeF91OGVCYkxGOXk5Y0FUSVdwU240TlgzNThPenpUTjBQTTRaSlpLWkFBcjFyM3VLWTU0S3ZtLXBQLVVKZlVMTzBsUzNNUnJYVHo5WDY5S0Fac0RLR1FkNDktRk5XUnVpejJzdThvNEF6elRpRzFlZS1ZNHg5YXVUNXVOVDNzenlHZEg5R202MGpwZ2RkSHpULWxvOVd3cENNRkdWSzNRdUZlS0p0V0R1Y2tUQ0d1ZmNRZFZ5QUV2ZzVDbGNHXzBzWEM0RGRKbjBTcEJocVR6WVNLWUNEYjA1d1VaY0dFVHZISjJjdGJQckVZQUp6bDlISkxFbklMRXMzNGE5bWFZVG5sNnctYkxoZGt2QXZIaF9iT25XWXE1MU5yWU9ZbEN6dzFHbncxZUFCZnhQeV82bUQwcVJweV9qQlpyNERva0VDVU1FcVVpU0JVbWJWbWtES2x0RVF1Z1dXVThLVXduejdWX2o3dnV4RXJxVzZpcXhoZV9yRWNWSWxJb2hoNUl0WC1GWG50Mk4wOGFmU1lXLVhod0o1X0hkWlNTMEo4UWlzODZ0ZEZIVlE1bDdZQlFlY0ZzdDBIN284TzlzRmhCaEJ5eFZKNkVJaU16cF9KRTE5Rk40VXZlUlZHNnJndW9aYm9IdG5JS01TUlg4VDVZN2ZYNXYwTXlWZE9jN2RZTGZfWEtoSThWd1hYcm0zLUEzTlk3UHpMUWl0XzJ5NGdxTG43RlBQR0hQeEJFU2hPcU5CZ1FXWmFsRHYxM1VtMGYyOEN6T0d4ZElhV2xRQkZIWXF5MURWclRCRXFzRW90ZXJFRndhLXFfZlNCSXJnYkgtZXlNcF9ubmlKMzRia2R4TjRzQTh1eHhqeXN3a2hxYWVsU3FwTGd0OGl1NHgwb2ZvY0NsUm1OQTRhZkYtbVFCcE8wQTFMVTl6al8xTGVtNC1IMU0wSDFrU3BKdmM0MzYzbGx1WElJOXJodEN0QXU1QzRlUXo1U01Dem1aLU5vRjJZZmtzTktRWk9fOFlTbWtIbENncFBxS0wxa1RGQUFMeDlmMjdqZE5YaFN2RWloOE1hSzc5TFhQbzFVZDZKQWZkbGdwMDVXLTJoYlo5MG9KZXI0ZkE4X3dqMVhEUzJRSV9waU9nOWFCcjF5MjlQZEF5U3ZITHNicnlkeUxQR0NHVnRtTWROQ2VOejl1dmRlaVBHX1B2S3FxQXo4WVh1SnhsVGpYZ3VmbWlycWhSbW9YcEM4N0YwUUhSMWZxUTRjc3EtanBiUXVpbkVlR2xrOXVhRHgyMHBnLTVaS0tTcXRBdGxSaFRDVVlqVFpCRmRGUElBb28tdFdLM2F5MnU5NmVxeXF6Yzh0YUQ4dWVUU1FWMHlLaWhKX1lOOE1UZU1rMnNZOURWWUoxbGdwY1pDaVZSZF9fek1YOHBtRHpOa0FrNGlSMEZuejdMM1VjMDdxcFNScGZuVXJacXBnVlFJenJSQlJENlZnY3FYV2t1eTFNbzBxYjJiVTBwcllaLUV5a2MzRjZxRUZLN1Vvb2hhTkE5NDhCMEEzX1NnSE9JNkgzeWpJMWdxZ2o0SnFJeXNqbFNRcmNJUVhEOVJ2SkZMT2M4MVFuYVk4eDRlT21ZUk5kdXlHTHRwd0hmVmhZUE1ieVBXUnE1aUo3VmhpdnM3YXRvb1gyVkxKd2pQWGljVzY3Q1U3bGtOX2ZkUlZFMHJZLTZ4WWxlWG1vQ3QtSEcxXzNUcnhiZFpWT20ycVRVRDNNRGE2RVIySXZCZFFTOFVOYWZVVnd4V0RGSkVucGhSb1BGMUx1OVVzZGpVaGtJa2g2OVlYR3oyWUpsaXp4bTRWRjE4RlJMWHRubVJxd1JNMVZfc0VCcHN1VjhzOFlXdnBpR3M4NU1fRGQyVEVBMW1raGQxdTdfUzBXSDRKeUJuak9uVTVIVWpvcjFhRlljRUNzeEZTNWFXTzJHSU1uYXllWko0N0pubF9tZFk0dUtnUnE2RHgzRWU4M21ER3pCNDBFdzBQNXYyc2pkTlM3a2Jaam5vc2FzbjBjalZkaVFxczJ3QnIwTlZUblgxT2VnX0hORkxjTDRVUWVOek1WdllkOWVWbF9zc04xLV9yVmI2aTVJTklpMmhSalBxNlRQcEVNaWFDdndqYTRFblZLZk9mc05TeTZIVThTSlZycDl0YmRPbDlkTmxSVU5taDlEemEzZUhuS1k1R19leHpEc2FNX1NZSDlFbk8wS0IwZ1RtTlpBUGZFbDhaOU5vekNMcmcwam81cE5VdW9QZVhIZHBid0FlRjNQOWVKdkZpdnV2bTRkNExwNElqZHhVWjhSamtmZVhyN3J2Z2ROQzFTMG9sTUNvcDhJU2w4QkVHVkJJMEJnQ2xvSU56STlsYTFVUDViX2NSc2RYWURlSVhNZmVFMDNVMlVrMnRNem1UcUctNGowdDlpMkVVZm9nYVhtWWw1YzJyNm9GR1d3YW9XT19JNVFnOHplVmVaaUU0WW1WencwSmh4RElpeFF1eF9WNEQtLXVSZXNaT0Zac0xBcFFYT3V0M2ZLckVoZUhSbHA3VWt2QkJvak1oc0tJT0o1MHVDamJIM3JqWC1HM19aekw1b2tvSVdLMXN6dTZuYV9Ca1RjcjFIWjJ4ZFpodU9UYnZ6NUtySmpSZkMtN09GYVIwTzV0SU4xQnBRV2IySXVpenY1RlRveEJPWGlNVEZFMm93NnBmZWlBSlhFSzlBVlQwZkRIdzhuSElJNmZwWkVpVG9xVkZJY09zWS1obXZIaHFJcmoyUzZXSUtnTnoxUUlWNzgzS2ZiZHNHTmlVeE9jTE0tUXNzb2szMnVOREZjbEhjMVlMU01QWE4waklwMUtkcXRhckt6dXU4bDhwaThrOS1mckZZX0R0U3JTdUhkSnZyQTQxOFB4dG8wSXZQMER1OEhaQnJ1NFhqbWJFaDZqN2FfcjdRWFJwX1N5UjlUZWVQcXhoMGxRU0plUEJ2VEx0bVZaVjlMM1d6c3NSRHhnSGJReVc0Qi1SUXdYckl6c01vYV9UbHdKMzJYUHVWUHhVN0xXc1ZXdHgzbERGejV5QzdGRGUtbjR2cEJjMGdJcWxaUmZxcVBJc3REcl83SVQ5V0RoT3BKUjFPWDZwZW82VnJZcXk3UXpueTFBWFRzcFFrc1BMRjhKS3IzX1Bwdmt1QmFST3pBMlBtU0NrRG1JZDc0dEFMdHZIRWpBT0p1Z3I3V0lxbDlTU2dJRHNHT0ZETloxUng3WEdLMi0yMlE2bnZieGlXQVpzYlRiMWRJaFVzYk5CREJKcC1PbUZxdjZabTdLeldDSUhaZ3V6MFQxWmxjTDliQXpfWHFGbVp2UVo2SjdnbjljLXE2NmlGcmp2THpieWlzdVdXMVBWdlpOQndkQ2REdngyV1FjZFM0TVNOVVFITjZqblkzOFVRcUQwTjFUVjgzM1NveXo4RTVQbzV1Vl9WSWMxWkJERU52N3hYM2xPdUVmV05ydWVLSEpDRXRDWF9rR2FjenhHSF90dE05LVV0ellHb0tydmhPVWFFY2JPckhObk91cWpZWkdIQWV0TkpuVlJxZXQ0WnJXb1JDV2d5dkpQV2dvdHRTR0Z4SXkzZldEb0JSSm1rbEhwQjJJUzExdFRwN3VRcndFTjYyUHNuc0RzUnhIZTdzWlh2c3RCWG9wNGVocG9hMmNZS3RqYWJBTmpVeVdZTEVmT0xNUWhRb1lWazIycndYakVaUzdxWXA2RkRCOVlBbER5MEJWcDd0MzlOY1R0NFcyZDFYMVNhZFBYakhKd0tqSnB0WEQ5RVRDbW41VkZtYV8zdDhwRFdBMFZBRDY2bElmaU5jb2dhWWctODBocUN5VWpLa1NhYXQ0SjVFMW1Ba05ydjZ1TFdzWkJvT1N0MEg4NG9Ib1RNTUtiTl96b1A3TXFhVFFybkN4V0V0VlQxU1VET2tNMFRPSWZxOU5BT3VIMlpuS3lDZGM2TVlyUW0xOWQ2M1RGTVczcUZnTGFlczFkb29LZnNOdi1zT21kSXlCSTcxUlByOXY1S0xkVlhQYVg3NHo2NTBhODdfMFB5M19wUUd0ZFNRSDBMY1liejlsdVlCeksyOEdUY3JjZkZaeDRmVG9VNksyTV85MUUydzFuVzRVY2xtRVl4SkI5TEkyM3JRYW5ZVENDbjNkY29hQnUtZ3Yyb3hTSklLUG02aXltUnBwLWxVZmVGLUZOV3REclR0QWtwbHhIOEJPcnlOVDlIZUw0M0NLT0M0SWt5MTVpR0RHa2lVUE5UVFVXdTkzcUNxQWdFZWJia0JtSTNPbHBGWU83d1N2WHdHcmFMSlQ2OWJfWUp2TGhocmJ3Z1FaNzFfQWdLTHZiZVQ1OUI0UUVra25WT2hSZi1kRG9haVdDdHJMb1BpV1Q3NDU3T0E1WHF6dlFOaWZwcHh6RlZ2SW9XNkVvdnRzUWJNcnVYU2ozMks5ekpYYmExS0YyZEtoX3IybGk5c1p6V09QVWFsTG4zdHd2aFE1Uk9ucG16TEdqUnE4Qjk1cXhZZTkwaUJGeC1fa3VUcUJsTUV0N2NxemFLOWxhbFVTdDNYSXhPV0pnQ2Y2c0dhWWYtcWYzM2hqM3VWUEhDU0l3amk1U1gtRUJqdkxsUTRWc3hkTnhqLW9lSFB1WXBtcXUwSDFvMlZ0MWtRa2EzdmwzdVhMTi02SkRqbW5RMXcyZENuSHY1cTI3MVRLVVJUY3JOYmZlb09mYkYyMTJ1cjhnZ19EeTdIV25aTlpxM0dleHhjZDE2WjR6eXhlbXJJR0pkaEZ3c1R0ck5VQnJUc0xQSWFXR1lub0dsVy1wWmdQV2N2aWlHRkVpS0ItUGJIVEszdFhZdUQwTG8za1lOa1Qxd2g2ZjM2UXJRRmlVUHphS2t4QTE3SlEyMmJWUjVjbWZnU19FU3IzXzhhQXNKLW5WdHpoNkRMOWowUWQ3X0sya2tXZWFtYnk5X1hGZ1VUelYxUGtFYTBnX2pSby1EMnZjWjdkTnBIMldYX21IUWUzMEktX1owa1F0MnBObXVqYWlnTnpQdzZZbGVBMHB4MXhNeVo3RWtWN3kyYU5nTmlxWEJaMU5mSTkyRzBvdG5KeEp1WVFIUUpGcEFwMXFnWUROV05ldk5RMTVneHhJSE1nQkVxS1haVGo0ZUhTNXhhc1JYZlhrb3hTcnZJd2dtZnJZSTR5VF9vU2pTVVZVNHoyUW03TGVhbndUcENVX2hyNFlTa1oyWjdDem9QQlE3U244MFAwS2xxWmhFV1R3eHhNNXZuMFRsVE8tNENZa1JQMkNyS2hPY1gyRG5MQjU0dlFvSG91OEpTb2dablNkdzlkTEFSWE9tV3hIM0FGS2lhbjc1NFp3b0pMSmtObl9BbE83dEtZNURxZEFLVUpjOWFzNGVmU2hUdXgyU05GWWhEMzJSZ3BmSExmR2ZHcWdEbFlKT3EwWGtUelNhcWZiRXF5TUxPTm52YWw1ZzR1MFRhRWo5NERsZi1ma2Y5QVQ2TmxQUGkwSXRzd19fZTJYYmVZSS1NeHpNbVFCUG1LczdyMGVuN0pkZmFKVUJIdnhBNmFhdmg3UHRSVkZhVDY4eld1NmdnSFV2ZDNSMzJXUVJtT2NVUUpwTlc1R2hpS1BIOTU3N19xSDZ3dUdUVTFtMVBYQnB3c3Vlci1wV2hrOWlPbXFyUmo0bHUtc0FQMlQtVkpiM3hLM2l1NkRGWHI4aFhKVEtZOVFLeDFLM0lPT0VIc0pSUnd3aWNoZF9fdnlucl9XRWJpU3BnSU4yb0czdE9mODhPOUNVZTZsSl9Ha2I0WU1leWVqdVlKNU9YZFU5N3hXUDgxQVZPZHJmT25QX01WWEswd0EtVDlXUHVSODFOdC1IdUU1RzJUWlJYLVVfdHJDdDM2Zl9LZF9ZRVFLUFRFVS1LRndJdzVmQlhKeVdWYUtZSXNYZkloMlI5dVJ5NEI4WGdPR2pidEZPLW1mRXQ1dk1TSURoVDNGcno0cVdRVDE4X0dRVGJ1MHlJSFZrdUt1TEZhVzhKOGZwc0NQRC1PWHdQTkJNaGhIT0JNeXFwVjBBZ1JEUzViaEhxM1dBQl9PVDlPOG9YQm1IYkJoVnJLM2xISl81WkYta2I0dHNDa2I5bWsyMFB4c09IX2wtN2lYTTAzRnA4WEJuVXFiOVU0WXVrU0ZZem1Ma0h5NUk1RlFiUThibHp5WVBhNk90Rm0waHBJd1lZZjR5am9LYjZjeEVxdWVzYWpaMTVCTW5GdlYwZWNUR2g0Yk55Z19TOUQtVVUtZlBjTjVCM3o3T1RZOE1hSjVHenphRjB1Q1d1WXBqYWtoY3daNmhYakE5VW55cFpUT3N6ak1WY0NjZXlVUnF6M3FuYWVUWllVZkdsZU5pWVp4ZXl2ZGVTMWJBNndRMzA5X1JyY3RqSl9JcWRBLUZ4aUNmc0lERTkwSUItYV8yWEJCN3VGY3Y0ZmtXZElFVU43Y3ZTdEZUSldtdjJBdExEX1UtNGRUcGl1T0I0S3FuZEZfa1dsYjJfWjY2SlR6b0ZJOTdqYV9RY3l1YUwtQ3ByVHdlT1V1X2ZzQ1VLXzA3TFR6LWZEU1g0cEloQVl1RXVjX0FnTEtCVmVTeUxBX0E3dnQya21UWG1peFVIeXdBU054dTlzXzZITmpXd1pZdWo0VlpTTlJYX2I2dnZFRExEelloVzBoRmFwVEhFOFNSLXJEUFkzZlM3bFZQNjFkc3FaLTI2Q2lzRmZwQ3FZOVA1MU9iVnd5RHY1TDBGa0RSZnFUb1hLVjNIMTllWHQtRUhwR0pzN05NWGVkdzIwWldJQ3o4dTNlQ1NDeFEyTnQ3cVBYMnd5ei1ILUZsMzRZdXNJWEVUbTNFM0pVVmNGQm92dFdxSm02ZDdvNFZYdTRFanpUSEw3U2ZVUmVyaFRKTHlfRFpnOWJuRFViMjFuYzFBMlFPSDkxdTFnazB4bzBxUjMyc2wycVk1YWhjS2c4eHE3Q0Nvcy16WEFwNjctbm00QlY3TXhVNVQxSmQ3SFZWZmNQVDVlTGlkYjlZeWhMTnVMb01wZGM0UzdTSXphWHdsN0xFMjhMZjY1aUd3TkhORVZfaURUYnkzbWRBVkNrYl9YYmVtZ0NwR05SRXVFLWxSVXFzSHZXRWc5WExYLWMtdWd1U29JLUc1d3Y1NnJ3bEtPTVBvOC03Tkc1bkNvOHJJdXlJd1NQSllsX0ZZek9yTVdhXzU3ek1KUWsybXhLNlU5UEEyb1VMSXB5c0tQaC1xMXdwbERuTnVnME5tT0ItQzNrWl9MTGEtSWZ0VFQxYXZWTVVITTBkQmxXQjZIeUN0M2hFZG9DOU9MLWt0TXpxMW5BOUpXUlAtWUNCc0drNkFyLWl4c3NaV3hFRUVFbk5NQ21KOGY1QXVyNDZoZF9WM3B3aGZqeGV5elpkNXc4a2xSajMzTGdkOVFMTm44QTAyalFNTTRIM3hWdnRPRVBmT1FURk50bHR2UnFEcTMxRWxyM0JjMHhUekZ4TUJONEVpMG1RUzN4UE9tY3VSWjFNc1djNkw1SnFNYWtzTDU1NkxaUi1TcTlsTDlhMjlBbHdmR08zNmdPN21oZ2U0aWpBUDhSY0NTQ0RycDh3N0d4NjctaW4xV3YydkdsSmJmN1hiVWZBMFpGZ3d2TjZEenFGUVRwbjBZZHNVa24wbjNrWHVnNE5tbUl0LWl6bUt3aGpJMmktNy1xQjFHNWROS1Q5bE1RblUxRDF6Zm11N1d5cHl2bE1rVzJvQ3VxbHlmXy1Rak5qUmN4MTFCN09lY2Y3YUxIQWlQamNlS3NsRVhteW5tV01hN09qYVNvZHBublh0UG5LX3V2UTFSc2p5T25TcmkyM1c1WVRDNkRvM1R1dDVPVVdTVlZsWFZlNDBIQy13Sks2N1BTTzNJdF90bkpVRXkwM0d4OENFeXpjMTZ2UWdIRlV1SUZxZkxRZkxMOG1CaHRBSnFudVNVdEJMbWYyWVdFT1dUSGZBd1VpM3E1SjlNZ2V3S1RxR3F1WGwwczF5MEZFdHhzTk9MZkR6VG5wNjhMRW95eGVpdFpPUTRxNGdiUzJrM1VKbTU5S3dzU0RTeE5aZVVia2hGUUM4M19kSWFBQWZQc3VBdi1RZ3NMU3RhYk42X0h3UWRzdGlDZ204TzlBVXR3eFdWWUl5VlNaWmRicjE3RE9JOVlRcHNxOUppWWxLbzJnck5sbFByakloOVlUR2hTeXRLM3pseEJPU256U3hmQ094VkFtTzBHV1NQc00yMDFtbVpGTXJxajlFU0lxM3pXOTJJS1pJaDBGSkJ1eXUtcUx0a0IwdmU3Z3FEbWctbXhJdGVtZU1WWkFXaDZWaU5wX2FSR0Jnb18zUHFmNTBGNlhwZTVJZTdZWS14MDdtYTZGbkM2QWpOZ1I5NEw4UDk3SjVpWlFEWkFpTThKSzN6QjVXYmlZMVFQdUhhMV85SktSM1RtQm1rTlo4OUdBbHpCVlNKb2JpeG9Fa1o2MnlNYWpyajVQbVhuNnd6MnVQMVFLSGRKMHkxc3E4TVEyNmIzNGtMTkhMbmZ4Y3o2MnVjZnJZS1F3cGx1d1pnS21VOUFaZnFabmViSS1CMTlIM0tLbm9nc2hYOXMxMHBxUVRaQVBjUW8tSXE1elBQcXVESmFYZy1lZnI3S2hEck5NQ3E5M19CdDhTT1NXMVVDRHUwVzJVdzF4NlFOUlc4SUZXRElLd3Vkc3Q5ZEtYNEpWYlc2ZEJOMFI3N1NEYmxSMWhPOXY2S2Z0VndFME82QUdERmJDcGhIcHozdW5DRHNUa2lzcmFDR3VsQkx4a05URDd5bjhRYndmQ1I0WG5kRHZzQU5tTFhoZlF4NlVuWmpqNE1pc3JqUElOaVhONTdJVzhDRks4ZzRqTkFMX2pEU0JacUx0X0Y2c0RxZ0xjMGY3dVBYcFBxb0w5bjdmM2RINUwwdnktb0lUT1lNdVZBdThiaEJwSGRaQ0JLWjZqWXdQRmZ0VGVzZDlxdFMwWGVfZHpSaFlHa0hJUUMtVDdzNk9xbEx4TVprcmtma1N4dkZrT1pESDRnLXNUOGRJUDZTYndPRWxQX2t6Ri1NeGQ1STliUFVnSTZZZTVQUFc2dVNVeUNiUlhVbDd2ck1HZ3AwWEZtYnFyMl9HckpnSmo0TDVFTjlvbkN6Y0RXOHRoRmQyRDFJbUg1cmNwSWtxLVhjeFpHX1RQWjBqNXhoUHI0TkpURm0xOEVuek9ENTQ2ODlWYzM5c3dqd25UT0hNRXd4bUlraDVTUnFsUzFrSjY5VGVRM0x2U3htc3F2b0xnTHo4aW0wWEx3bktaS1B4bzBRUjNvX2JSSU1NcW9EZVZfcnl6Z3FhNkJORHJ0Y21Dd0RTMnVLbk0ybVFveHBGb2lQZHozSXNmYzQ0VmxUVjJBYm1VUXU3NUhwRVVzUTNxTEVLTVR2Q0RWY3AtSy1zVFltVGpBMjNreUJBUmM0ZDZId3FGSWMwTVhubEJYVVFIR0U4a0JMUjFPMEMzXzFYejdnbnk3Y3BJS1dPNWpWQVJMdXJtVk14aTlhRlFYcFlTelRHREFkNDNBZllxY1RZWjY1Z3lYN1lGNFNrU1pERG1jM1luSlB1cnI4cElkMDFIcVRyT01MMVZ6OGNBdXlhcjFlOW9yQ0xVR2l0bW5vSEVROXhhV2JYUnY5bEhQUldsOE96eGc2ZnA0a002YmgzanZlMnpEMEhrYWJiMkdYT1FMeFQ0UUdwUWtMZ0dyRWU2MXdwd3JJdlJZdUFKZXptM0gzLUF0YVBIUEZuUExnSnRQeDk1M280blB1aEhvaExBc1c2RmdXTTZSSkt5VkZya0t1T2Ntb25jbzMzeTZWaC1nOHUtSjZnY3dRX0pRNk9BaEtOZ2w4NWRTWTRfdjFobC0wOWV5c1gxQkJuMnRFbDQ5RmxCNjJKYWRfeUJ6cFFqeUR3SFpsQWxqakF3U2s3eWktTjFZS0x5THVDbTVvZGZ4ZmZmZnhqdUNwc2ZfeHpmd2d6cElYYTRGYjFZUE9XMmh6ODBBTUl6clJ1NE1BcDlTamptNkhqMmJqVGZvQ0Q1WU1UUjgzNUVTQWdVN2xYWmtqVTNJYTQySkEyRXFNUmdoem90Qi1NUXFuZVJ5RGgzOGRIVGVmZkkxQ1dTRHFmNzB4ZUs0NHFBdFhjVGNQLWRZTWQ2MlJsalVQYnkzR29TVWYydTlsMkpNT1Nnc3EtRGg2bExpUVg0QWc1bWg4Ny1nMlpHaFVCX1ctekdFRTZ6cVkwa21zaDF2SHBMdHZvNktTTUlUMi1HUmhCd3hZVURaNndXWTNkU01taTQzM1hHcVQ4Z19RVk1QSWt4QjRJOUtDeHZ6Yy1yMkdERFUxZHVZMVptWWRZWnBqS19nVFVoWThfeDZOQmdXWHhRMU1ha0xuTHJSeGtENEd1X2UzR1hFT1NvYkNYbHAyTllyRExqckloR0kwQ1ptdjVsYmI1dzhhYUJGVlpKajBFRVlNZ3RvMDN5WXhwS2IySzRaMlY4OTdubUt4VnFlcU1nZUZ1QVQzd2V0OWRNaTkzWjRIU1o5WHhyOWMwTGJQQVFvVEgyUFhFXzB3emthMkhZUVJUTzRkZlVHTS12a2l1MmNhaFFGYjBqTFl5RWNzbER3NTljclZ5THVEajl6RXQ0dGFpQnNkZ29WclhvYlZCVzJ6Q1NSclowZVBzN3FqZHIxQTFSR1FiNG5oN2hnWkJKaER5UVI2MVA4WWpXalhyOThFYUNsN3VxdUp2WE84VlVTVnBXMjBHN0hjdFdTTHo3NkRDclhpQVBMemprQTZuc0dZMkpabUxsbWVhbTdpSHF6VFZaQ3RIaVh4RE1OSnN4Ulhfcm5ib08zQkxMTXNZcUhYbFh4VTNUZmZ1dW5zanZ3dzB6RzE4TWU5M1VTSFZ6Q2dXREdHVnRmUmJXckxFRXoyUHdKNHlZMmF5OEY5a2szVzR5T3ZwbGtBOHZIX0FIYnpwdGpSTS1qbHRqblVKQ1ZHNmJfRjlKVE5SSC1mU2diZ1VZTWFnM1VDUlRBZmJEbW9reUxTVHJCS2dGMVhLb0szNXhHUlJfRG52U0hZZ3VnOC1rT3hwQWczY21iTnFhVEp0ZWt6dzRwNXN1YXptazhPVFcyYWdDbVFYSjlxWmp5QmVST1pFYUFwZnhiNnVyclRwSU5aQTBWR1VBRHBvTnBVcjdJa1BjSTlEMFhfcnFFTUwwZU9BRHNfRk1yM0tYUTJ4ZmdHd29pc3pzek1uUTNCMG1Rc01VdWZqY19UcmZ0cFNFUGNvOG1Rc2IxcmV1cU9uVGhYSHljZEF2S09mNmNDSzhvUWg5ZUt6Vm8yUElKa0ZCb01sODY0UWVXSjQ1Z0tzczRCd1A0c1RXSUpOVlJ2dlFjMElPbTRPdDdHdzBRM21XX0k3cjNCdVI4ZXdHXzAxUVFkQXNwTjRPaG5EUE9sSmpiamVRam05ZGduLU14RW01UDU2VUNTendOcUpjeGVBdTRtNzVTNlkwV1lrWnFvUlJONUZlNmkzdl9FR1ZRZkFURkFpbE43R1F5NER0MTdmb1FvU2dYeUQ0Nm9hT1NITDI4aFlaSl9yUm5wSzVDbWNLSDhmNVI5TjVYTTVRb2V6VkxxTF9rYTdnZjFROEJzVnZQUmVtdkJPM1NHaUxYa3JZMDB6N2xmVFc1Q00yRVlOU1FGY3pOSkliN2pLcUgxZE81Q3Z4MG11VHMwZUM2SDlZLW5hNlpHb2Zfb2tNLXpzU2JUTVAxbHB4UXNQSUZPOTQ1dF9QS2RKWGRIRmRDQnpac2xfOFRsOHQ2aXF1cEVYV1l1MWo5a2VXenJxREVHU08ySk5BQl9jT2RwREdhWlprUTAzWXlycDZaWGJrR18zTTQzZEJLOVZTUnhuSlVtVm92cGxVcEZKeHA0c2YwNUptQWdISDRFZGgxYjB5YXBoMmNUZFBuVUZYOThJellLcWwycEUwLTF1anp2b3BEMGJtWlVna3ItdFhxaS1xUXUzUEZBYVNPdzR1RnpwbVdHai1FSWk0SHdua1lTUVFUUmtMVDFGcU9aaEdVX3JiX2lFSUpYLVdoaHQ1QWY4RXZ5MXVqdm9QSlJBTF9ZUl9wZzZaMDlrTW9aQ3lYbGpCbmtGMFREUFZuX0lpdlFHZDFWLVFzdEE2a243SlhVSWh3aHlYM09iUWRTd3ZiRHBBZVl1U18wX3FfQmhTZW1KTFFWU2c3YjNFUWU5dzQteHRmeWxDaXBvMVJRbGpITHFYbkFPWUI3Q3BFaW5jWW12aXNucUdXXzdjMmE3NmtDVlNuSVVCc3ZURDVFZHMwdU9OcHZiT2Z3WW16RkRqSkxJX2laZWpQME0td3plbC1SaVNZU2h4SlNYSnZwaU5RQjJtU1NOV2padHpPdTJnWXpGQkRhZHd5OFhCMWphTnhMUFpZRFFpSHI0RmxxZ2twVU1hb0hLMFFteUszT3pvRHNySVc4UGlMMTA5Z0hpdmYxS3JXTmRiWEpZUjBtbFl3SExSckZiZk9hYXRXYVN3QjRGV3RIbjhyMndoQlE3Ql9mY2dydkxBazNmVFRsQ2tacEFMSmE0N2E2VWNlUGQ0UGhpdHl3UGZPX1BPQnNiVnBld09QVVVLSUlVRzlhdmNodS1lRFMydmxOVHc1c3RGbHF0UXl0SnMwWW9RMFpaNktMVlFOdUxtYVB3V0JrdWkxS1FPWTVPSmlRalRzWGdCcEFQbE50VU44QmtvMVNWZ3ZJTGFKSW0wYVZtU3ZvUVhWWE1na3FnTHliQTNVTFFJX1M0V1dGLUZhZ1dfY3Q1M2tIbUcwZU0xZ1FLTUtxME9GM2FHa2JlSXJUeTZ0UXc1a3dCRF9UZ1laangxc2VXdjdaVGRHOEhZRUt2R0dyREFTQTh2eXpyem8ya0RlcGVUUGN0Q2pCek5mQkpvNHUySFhaUERfbUtvUWtTTUNEczB0Z3BLenNmTExzSjQwcy1KV2kzS3JVYUZoNFFFc3dyWFlUOWx3ZEk5dnctV193aWU1MFRSUUJLYlFVTE9BbG1pT0VOeHJaNV92SXJrc0JadHVHRVdKb0dwU2ZfRGNEN0xTX0VXQWhIclo0Ml9Ob1N1MmRXci1TQmtGaXJIajR3dlJ5VERaTHRzTENNcnYwSGFkTWV6QWhDcHlDenY4SFpScVZJWXZiSHJGTkEyc3dOdndtWGxMR2NSVFBXR2FNMFBEekYwZTBoNzRvdWpQQ2hWRk0zUDVlUDlsRVFVQ2F1VnltNXF4MENINTFVX0k5OFBsSE5rOVFXdzR4SE8ydDJkV0dSSmFHV1pWRVZWejhxd0hLWkt1V0xsd1ltbi1TaG9ZNzJpXy1TMmdQWkt3UXNxbUJUc2ZKUHk5S2lOUWFnYldmZEpZQ0x2bXRNQzhXTlVLcDJfSXZaMUFPZDloTGxtWjBKOFZSN2w2aHZ1NmV5dExQZF9Pb0dRUzFCbFJXbzFBWEFkMjhta0xyWkdEUkF4WnQ0U1FfWU1ZLXpnaHZLMHdIdTY5SEQ0ZXdzZTgxcDh6MzR1SXhNM0hXMFRhTXhwUU82TC0tOEQxVXpIWkc1cnp6RHNGMlh2QlBFWWJoT1FOSlhhRUV5YWo4MV92R1oydF9BZEswVGlPRHBQYzZzazgtNDQ1aUVhRmJQV21BMDFCckZtZTY1VGM4bG1EaUJhTGZyZVVZeV8tRjYxMDl4YUVISU9iZk4wM1pNUGJTZzRtckthQnVXZWtRZFZ0UEk5OHNCdm9kSlN3bVdSZFc1RzBhZXkza0MzODhxajBKRkdGOHRaRjU0SHhWTU5OQ0dvOE5zSlZNNDFvNVU4b3c5WnkwOUVPNUJWR3dJYXNWRnJsdzRCanZkSVlqTlhEbUlJdGlyaEhDWEFjZ0drX0ZQWHhxM09md05udEJsV19ERGtYU3BKQUxrSk1SbHRNUklJTlA3eHlSeUpKZXd4SDZicVBvTUc5VlBDdDkzZGpYVlVvUjhjcUhEQzlaNjZxdTVGQmlXMWpDSDh5THA4c3NQempOdE1iVzc5UVRkdnRxdlZ5Yi1sdnVLU2tVLThXUl83cjd4eHA2MVlPSVUyOXZMR2t6ZmNfSk5qNnR4d19VemxRZ3hJOFBOVjNrSEdHb2ZLWHY1bTNrS3h5M0JvYTZQcWh3a2tDcHVrR3JVVmJ6Wm44b1p0dnNsMHNMQW1QNmRxemx3am1HdjJCd0RlTnhlWFg0eS1BNnhGR2F3eUZqcktGNkVjeHNnR1R2UlFoWGFsY3E0OFphaGlfQmd4VEprREdFNHF6UjBvWWhrVHdBcHVBSks0eVVhSTVsalliLU5MdmRjNEZ2R2Y5YzJNRGFhcnM2ZlYxVlZOQmdReXRReE8ycGpLOGZsQkJjNjNqLWFfS2pyY1NJTlpqcnVKNnp3Z3B0TkE4ZnNvZnhnN3l4V0NoRVdqd3ZQbXRSM0JUeGQyRmVoVmU4ZmdUVWh5QnVlblFGY0h4OGdWQTRja3pGTEt4c1E0M1hkWHZQN2VCdjdhTUdWVXBObGcybGotY1VKM3Z4RXlubDJob0VrMjlkNGhTaFJxMXhtLVotaVlnbm1COG91R2szU2xyVHd4cXpHeGhuMUVKR3pvVHVCeUZydVNJZk9NM0tMdHhuSnk3QXA0N1pkTFVtaVhxWEVwOXZIb1VPdU5NYkJxVzdFQnN5UUZ2cHRmcXdRVjdlbE5MTXN3ckxuZWxXWWRzOXFOQVpXRE41THprU2FOYjN0eHA4Y2xqVTNOd3lFNk9NSk5QeUJLakM2SHI4VFZCZFFLaHZKYTB2aU5DblRGd3pnOVJFQ1hjZEp5YnNxOUJnSFFiakJQMTVqSEkxWHZvemh2WjUwRWJMeUx6YkkydERvb01iV2h5RGtiVm80VmpDVDdIeDhOc2ZxNERpVmRSeXRuZUNVeHhTTlhHTG50MnBPOF9aeXhicFRneDc3Uko5T29LcnhfanhjOEw2MFpHb3pKX2tIWS16Umx5UVJUc2hUQUVKSHdmUGM1TXVnZHhJbHo4cWxBa0tKYmkxNFBqczBSOG5GSUZfNHVrX0M5QldDWVNyd2o2UDFPMGJHZkgwU3dpSjNSbVBFYU5IaHdabVZOUW1XRFoxVEVEdTdyalVkbzdsek5FTGEyeGVHeTFzX2VScVN4a0dPdnNsQkQzdDRXY2ZDLVp4N3p2bnBsb1ZFMFJuT2t4ZUVEZ0pVdlR6aWJkTEZQQ0JCQTNSM1RNd3l4TWp2Y2R4M3pUVUdfLXJ2SG9hYTZuMmdvdEticzFIeThSUkdZSUkteWI4ejJzZk9kbDJfeTIwOEp3MmIxUWJORFZ1U3pMVEFUdl9SNzlvbkFuNjkweTFQb05qZEJyQVJQVWlESTZhb3RGVWNkX1Z3ZUpkc0V2aVdUc1pGNmhRT1NVNWItS09ROERPX19DX2tiZFcwRHhnTTJiandVaS10a2U4UWlUNDIyZnZZNWRnLXhRZnZucE9oRTRmN2JLUkd0ZklXTllrQWM1V3E0eVZSX3hURWJxUHcya3FiMllzU2ZBd19EaGo2bmVRVFNyb3lsMWM4NF9DZFBXU2NycTV4SUFCakFaOFZkbVBzV211Ym0yMzJFQjdwcE1EeEEyN0EzcmU0SU9vbGp4N0FWdnBBUGQ5cFdKQ3F6U2RnbWI5aGJrVk1LT0ozX3otNFNYMzUyZ18tRWsybW1TYzVMdGk2LTZyVkF2YWtrTUhOUHRDdk1tQTJxQ1RodmlzU0NDYnVZb3gwNm5BbTRIYWtoYWRKZXltWWhnUzQxNUtGZWVGdWh1VmU0MWVSeVlQOGE5eFdSUzZQUjV4T2tVVnpta1JCb1MyUVZ6eTVmZTlUTHczbGRzTU9nZVV2ck5rSUp4dHlQa0FWbHNpWnBqYlA0aWtwSF9wRUkxZzNaN2NXNzFha0FTVlN1RGJ0Q1hVakx2bWN6X1pibUdMS2x6YlFERkQ3MUY2VFZfQ3AxS1Vkby1SQlE1YWRpUXdTRVV6TjQzRTlzR1Z6MXdsRThQT2lLMHBfQl9DZktJaWVBWTRMVENjdnZuNEpHTEQ5Rmc0UzBxbHYtQzdfdDFXVXVJYnlhVTRwUnJ6VDZ2QVRFTXpGLUV6X2pwWmExczlFQzNRYW1iZ3Q3SXd5NUhhZlB4LXhTY2R4UGhiYkZiQ0RGWUYwREU5REtKVHlZdFhDYkZsMzUwZGlMbzFuVGl1OXJrQVZQdGR0LW5HZVVpYjdCMmtLYjRHSTlzNjBmb3hUaGJkd1hIOXIweGdTTWwwakV5TXBBYlViWFRnTG5KSGlrX3loQ0loMXBmMzZ5Q3I3NmZFWTRqOHptUXNOZEdvR2FhSG5DWmgyZUt2cGxzMTJGVy1tUGl3RHhZb0VvVkpKaW5vSVU4NU8zNFRkS1NkZ09Td3MtNXFJOEtpN0FPajRBeUNZWjN1RkpxTTdaT0VLRWdpVXJqMlp6SHBqVE1YWnFsYnpTaGJNQmFKNmhrT0JCY2hRV3NiQ1BEM3JYOUp5aUdnNVR2WmNMbUlvTWxRMkEyMXBYR0ZLLU44VEtIZXNoU09pUXVBZHpURWkzZGFDQlo4cVVyU0kzT3gyVmZGLXV1cndUZ3NlLW1aWUVRY3cwcnF6U0JTczJDcEZQaXpTWHhtVWVualRGY2dKY1c3TENrX1hKV1pIZnBnd0tYYWxEemgwVlZJTkl4UFpVbzRIU0s1UUFYbU42X29oRDljdFdiaFNLY0NkbzVvSWxkSTFFWGg4U0ZydFFObE4tSVJmaThCcXp4M29HQ1lqdm1fYWptRzc0dHdLVmdLa2tJUjNnWGktdm5iSFRmandKclEzS3c0NHJuSUxnYUM1QnJsbGlmbDg0ZER1Uk9BUXVDSk9ONWtMV3B4TDZybkhvNFNLNVRCUVlkYU13RC1jOFMyWFBoUW4zREgtZFZBal9jV21wTHZ1SUk0djJwVG5WSERLZENNbFhDWkotNlh3MTZyVFNCRm1lUmRBLUl0OVRVT0RCcUMyLTdLcTV0UTRPM0I0OTkyOW5YWkJtNzFWcTNhcmFyVzVVbVNhMjJ6Q0RHSXRJUzZBR09oQWt4VVZrR0s4aXZ6aWJpVkhRRFdsTEFETnZLSmxXbGZZS0pkMDVJdjdQUFBvVjMteGs1cGRTaGl3ZlRnYmk3ck12OU5rcWhoVmx2SmJSaTJxV1VUZTlPVTJUYkZHXzdwdW1pU1RLUkx5LUM1YkxUdVZQTWRlZFRfTGViSDBGaWNYblJCYnRBT0lqS24yeU1pdGlhMUdsYXBQZjUwT3NnbGMtdHFBQW1DZUY2cVNWOFRxbnkwUzJZTHJ0eFBBdjJ6ckNKbklfcDlPTjdSU2lQeElQeGVHMkxRYjRLSV9zakdPTkEwTEN2WFlYN1RNRTBYSFRTdE40bDFyaEF3YVZyY1Y1ajVPY19Ua3M5U2dZRlkwS2VVZmh3R0RaN190dlE3aFF0aVl6R2JQNU9OSnRDSFp4RDQtRHpoOWpoTGt0ZExPUUpXTG02cXp6ZU1hR0pfbVRBeUJVYlJWWEhrOS1EM3A5clhoaF8xdEh0RzZ0NHpjWEhlcGxCU0hNeDRMSWJlc0VacGtQQTlMdXNRdmFTM1o5YWRyQjhqNy1jaWduaXR3ajFzY3N6cWlIbm92d3RYSTlsaFZqNE8yMXRkWGRIVXgwWEhhZnAzRlVUVDZsQnY2T0J0SVJ5bGdaOHpidkhKUE5oMzVDeW9LWXpkdWdpRTVjb2I4NXZrSllMZ1UwdUVyc2EtakEtUm05VlVzcU9VRndrUTM2WGVUSmJjRmV3alpNMFBIXzRqOVFYdWpadUNYVlpva3pubi0tQjdpdmxfTHlLelpZOE85QVBKckFEc2l5ajBfa1NHZklmeXJ1dXVtYWpkaGhfTW4xekFsMGRiQUcySXBBYmZ1aG5MdkczUThSSTMtNEU5Z2tjczRIVEJ1TVA2S0czQ0dMRjJvaUtLb3gxNHZTZjhJWFRGZTJ4V3NlVUJjRDkwbG5ZOUFUTk1KVVVTUl9ZZm44VVpPdHB1Y2xuMEVrbnd4QjVHR19xZWN4bzZqb2NyOGZGbGNZMVZKdmlwYzBzSVZ3ajFlVFBqempGV3B2S18zcUNubmdPSEV0RDlNbDJOTC0yeTZXTGk0RWJGUksxelhWQ200LWxjenpxT0FGNmMxMGtVLVNjYlIxMTROVTREY3dwakhzN0RDdnYtOWZqVW9lRThyQVdNNXJ1QlNDd2JLa1cwUTVWMFpiVXRJQzB5Qzhyam8wcjI1OTdYZG9XYlNRbEhIM0R2bFFFVTg5eWxWclZLaERFWm13eWp2YjJfQl96NUEzZXVNWWIzZG5sZ1d6UVU5RW9pTHc0TW9xam9vUDZFYmR2c2JGaWtuc0VYajZoRHk2SEQxcmZYM3VxYllMd0hEU1pWUmJXcE9TR1ZydkVjck1nOWFGenoxZmEzUjFfaFRxXzhYVEJfZFFfaG03a3ZkNHhqOEZmbFVGVlBQWFE0UXEzZzJzNlVBVzJkdW10UmNCSk5yMUlGcGFrcUUxaTZmNzlPdENSRGttTVBaSlVFNW9xU2pWeXM3am9EeDZEWGg3aTV6cjg3d205TnZ0M2J1QUlIWXpyMGFlS1pQRTBKdE01STdrdGJGb0dpclJJeFdzUGpGOFRiaWVmcFRjcDJ0WXRxblFYQlNLVGdSUmJ0T0VuV3E0UjFKNWdWWnRYUkJydFhxdGtGVkJuWk5oLTVpQWhQWFJkeFREV1hDQ2RIdUhlOGFHR3FFdHdndXhpQTBrNWF0eTlPcmZ0TzFYUktWWVZjNVNtRXdhbHRDZ0p4RnpIX01UbmRxbF9PNnRaRnZNMDNLQU9PdkRKM3lEU211Z1RCd1NqRW1IeTlFeXpHaTIwUkYtZXZLTWlsVkppSDk4MFVUV2JQNVYyMHlHTWZPaTNPdDU1WTBBNHNUX3ZuVU5TZHk2Yks1anRkYkZ0VFd6UjRNQklaYktZQzBNV0hTZERkcEpqcUVoRVdtQjRNSU9ubGhtOUVfN0NnbkNyWGwtbm1LSkNQbHV3djdEbDU0YlJOd2xOS2UybmhOUGl4d1Q0Q1RHWTVnaXM3eGMzSWN1bW93RWNZdC1qZFJrS1lLcFdoVUJ0WmxXXzN6UDQ1M3Q5WnpWa040RVNqZ3hNeXNVb2JwdnNOcEMtZzViM0dKZHdvamxwbkU0dkZCSUZBNHpzT3BhSGhzOHhianMtbFhkdExhMzdLellsZExoU2JLcGNNQ1RvLVFfV3NtMHpwLXI3Z1AzcHl4NjlmZ3RSTEF0bm53VVFYQTJhcnFXTFhTdzRYQ0xldzZ0UW9LRU1BcjVUNXVJejdhcnhjd1E4dGF5QzJBbFhUUzlwYzExTTY1MkVYSGhHOFhiNks0UXJIUUQ5N2ZJNjRISDI3NmI5VS1MczdVdE1vNjgxU3lIb0VKNUtCNGRGd3pGLWZBckU1LWItODR2NS1DVTNzckM1dVk1YXA0STE0TjZxS2ROSXVBcFFXOEllVGg2eGZlMU84eldXM0VjSjkxRGk1SVBGdHJwcHE5UHdscHpfVXJQNld5djdnNmdaOHIwRy1tZ0gtcUVkSzJzLVl1VzZMb05FNlFJbzBYUV9mUjNES2g5TjhMWGFwQzFBdnNiaFdzSjNoMlY5NzNVMWY3SFJWN20tamg0Y3lFa1Bhc2Fyd0xucTJZeHdmem5ab2hTTmtaeVFrajVDTXhGbmFKaW1Zb0hHcEYyTUMybVBPbkUwSGpCTFRhZV9wRWJmOUZTWXlBUXU1MkhXZjJpdzFXT3FSR0tYMmRJX2s2a2UzWHpFRTRWYURWSkFiUXp6bC1OZmFNWllrMlU1TXJmMUI2NVg3V0tvRk44Vm95eUN2ODg2YkdxR1k4aHVyMFR0enZ6R3NmckJOOHJlSFRWdWJpTjZaZE9vNEE3VndkRUVpMGs5WThzVVhHd0dzN0N2MndqQk9hM3RMOGtuZkFQTzBRRjQwTExIc1p4eHpqdkw1S0ctS0l1YS1BNHRyVHFUYi1VSmJEQzY4b2pPdXU4aGNwWmtZTG9nbDNMT1VRSkYyTGtyNXZIS0hwRWhnQVZ4QTdYSW9zcU1odFM4bmpzUzF4clU0Q01Dak0ySm1WNUtLcmNTdThic2RCMGRZT1lSX3R5RlZfT3ZFZHN1dDVlZHM3eUoyREM5dU9ma3hHRW9iYkdsU2NuVnptbkRlY2QycWx2bVQyS0dIcW5XNHRabERRQWZoQ2hXeDYwSVZhaXJpSkdqMmdMNjVVT2xBdzBTcTA5aUprdGpwZFdiZXMzZkx5NW1PdV92LWZKUVJJcWFmNV9xS2l2VTBPR3JjR1ZHTEpFQlkxT05Tc001RFBzS2g3UXB4N1dXTzhLZEhneG9oSkhpWFBuRktwa1pjaXZTejVmUTJFSUpxOEtXSUo5bDhETkdSbFh6Q2IzLVlkZ3dPSmV2TGV5ZUI5RVkzSjdCVlVONjRpM1BRemRBUU5ZcjZtUkRuN3N1U2s2REhMc0NNRUZUb21OQnY2WkVqZUdDSGtXTV94WmQ2NXVuLUVkSUJQaG9aN3plbWJBbWgzMjl3LThGMDRKeG1NM2dKSjRXUDFVV0hoSTdNVmRZRmQ4aHZEUmM0TXkzUGZZNmJmeUp3T01ic250RW9PWnFfUjdaaEVkMm1sdDRZbzF1T0RGeWRETkJCSUpDcVdFWlc4V0RYYmNqRXp3YlN4dmJHUEtwU1JYZlpWZVVjTmdubVBHRm56Vl9xU1d0S2w4MGFpX0o4SU0xY0dRRlVjbVlta3B5OWkwTW9tWW00UGREWkR6QWd5NkpIeGU1UjVQZnJxQmh0MlJKYkNQNWEwV0NFV2hFS3FPVlRtdUtKS1JNc0J1dUpudDdwY01icDdDY1BvUGY0XzFsbGlPV2F2U3V5b0FxSU9XYTcxa3B5Q2piM01qZklQVmk3eXl0STczSTVhVmlQRVp5SWpZOWFZLVlGTnpxVGI5OThTZi1CTkxPN3FGdGJ6UVJicUwtQ1hEVmJCTFM4SFhVYnVMRlZTZG4tUFgwcm5zYVc2Q2RDNzlUcDFzU25hSEl6dmVsRzBuNDBRTWxDTVlIQUZiLWF5WmxhUVZaWG5Qa1pRTEd2UUlUOW5WOWJ0SXJGMlpLQkwxUldxWGU0QlVBUlBsb3o2VXBUZVVjcF92bkxCWVBpeUpBN0E3aGFkbTRqSm42cEdHenlrSXE4TzV4aExKazZBaDVxTzhDdHJNRUJpVXBkUXRhVW9kX3ZsVkFBN1hoNFNIRnZGMC1mNko5NTNrdk1ta29ldExEanVfd3M0cGVpbG10Tk5rTDJ6QkhvR01IYnFvaDEtM3BSeXFGVl9MVnBSM09FU0pMdDBFM2pkRGZ5N2ZUQU9zOTN1YUJEQXQ2R3BKaTIxTjJKblZ5RmdTQzdoMG9DNGJURnRqMV94R3ZuT2x0em1pNVlBTnAzZXFKZzZod24zT0NkdEtrakZWaWtGUEtWUFZoRUNYVm1CY2RjRV9wVGJwY3p3a1RDaF90UlpEOW5TT2FFMkVBN0REUHdZM1NyTkw4eGk4aTZPWEdoUUpyV21oazRjYUQ1Z0k1b2tyLUQ4TDBfbDJOYXdLZUZ6OXhSV1Y1MlZVLUdYWTBKRUxpaHY0M2JhVTROZHR6WTl0N2VJMzh5THUwX3BIYjRHM2Utbm9Dc2RhR21CZmJEd3IzQlRFb3JfZWQ1Nmh4RG1JZk1KMXcxTkRQZEJlRDVqR0dhcXdydkJRU1IyQTFRTWZqdWx0TGVGdm1YaUZ1eEFKVEZDS1hnUHY1LXZWRzRFVzNsNVNhaHYxMjFRNnRBQUU3am4tTngxcmRkMmN1Q1dEVnV5MnNvbkdYWVcwZU9RTzVUNHl6WHF1Y1A2RHRTMUZhdHFibmZaWXBGRUdmSUl6SXE4ZTRTSTRLLWhTQVlRUHd3T0VaVFF1dnpzLWluMzhGTTJuZjB2SmpRZURuVFZWY1ZxVVhmOFN5MGV1RldGc0ZtOTR5dzdRbnVLZnpHNHFIM2VwSjNaelJJNG9vTTVXSnlfRGo5N3dXSU04OThVQ3YxaTN1M3drOTZoNGZOYUdHc3dLVmQ5WFZVZ2FRTnNsZXN4dVJYRHU2b0ZCUkF1WERjY09Gb25YODg0bkNkX0QzZ1dkRVRQcTFHWGdYckFCLUx0QXJnb1FtSFlzN1BnSGtPbUR6NmtveUlicVNLcDVtYVpYUlJrZkR0YmpJLUZBVnl6alBRWUpzeDRmOFIyTjl6eVU3QXFIUC1qOVNCb2k1VmFrdWsteVYxNXBCbExvUS15YWwta21uSTVyZW43SVhlV3N5RndpMEZKaXp6TWFQTVMxYUJTZHlvbGdwVEsycjFPcXM4R1BFT0taanhvd0g1MWRiMG0teDFJZ1ZDUGxWdVFockd6cWZzRzQ4SDBiQjV0NG0zeUhoODNOamE3X0VseUs5bGJDU3F1QllMT1lrejlYdmo0TnJVYzhhN3RydFM4UXRrZmtKODZ3NlhxTW0yTmR6OXQ0aGxjMGFYd25KQThwMjZEczBreFoyN0JNdWIwU3NISUdqTThQUzVqek1hUDZCMHlXd2FlUUlacWlaMTk4TzZjNWVvMzdoZ1hXM3FiMG1DNHpkYW4tV0pMdnBoQXo4TUY1TTEyY1pVX0ZGcl9idzZ4WkFrV0NzOTRKNjB0Sk0tb3B3c0ZpVWU2Zk5ydUpwRUttT2I3VnZwdjU4aWNadzBVOUhHNWVqSldRVlJjemZ1bUhCdmdDb2FLVDJUVnJITzBVZzRORFlYRlNmVDhzTldiV29OODYyZmp6TFlxSkNMWlJ2VVh4YnNUNnJwU0JIeFVyeE1jOTl1ckpDTDBlQ1VONXgxQlBoR1ZoRk1rX0hoM3JUMTJCNmsydk9qWFlJbF9qdm1LenV1ZDdoUDRyUE5GTUxfTU15eGROU2ZNOWRjNVJZNFdrUVJJS1l3MFVjZ3h3SXBLYVBlMkpCTEZ5aldpYmJvNG5WbGFOaUpMeURtUzhCWHUtb2NHZEJhY1ZPNTdWYmlOTTc1RXFVYUxSdF8wa00tLXJNbWc2ZF9HLXl1UWV1ZzJlcl9lZW5JZ3IyblFUZ3MzNVQxMnY4M1I0ZXNTZXZTd2d6RDZXOFdUWERsSno5R25kTm1DTHk4dmcwTk1qWU9OVzNqclQzV0RJNHhnRV9vb0pMYmFTa2g3ZGhXNWs0SkJJSUlnNHpDdjFlX2JMVV9HaUx5ZUJlVmVjbUd4eVQ1dTgtWXVnMU9KSWJEX1Y1ZVhHLVlUN05EWFhLb0VkR2JVdHhzbmVOU3dFbnFpc092MWJKT3VDYkpJQlkySmltZHUwQlBwMDlxdEMyWXl5eFozWEItYnVLY3VBaVJSdnpWUFNGekROWWNzdGdhbUhyN1ZNQWNaaURxQTFnTkUwdHc3OTRtN2d2M1diYzVzVVlPNGd1SFRWa0gyYVRZek1Xc0gzUEc1NzZlV0o5T1JPRDhKQzRsQjhoTGRvLUtDYjdEbldGRXlJbFZPMzN3aUx2OFdyRXZtUW1LMnNPc1VOYjE1NkRyamtVekFBSEt1cDZEYl9lbnB0TFdwa3FFZDZueDVvbFJQRkhFOE1pc3pkb3FVNGMwXy10NUNuQXlpdXFhUjdKQVRycDVYQ0hPemtkekU2Qzg5My1QYzZpTW5iaVk5enN6MzVJUjlUVFpPVWZ4NGZ2V2Rycl92TWZpNGdLOHZ0ZlFHSkk1d0tzMFp5VFVtak0wdFFUOE9reGlNbzNYTmdodlVwSlZDV1R6ZkN2cUxHZlpmeEFoQWgxdGV4Q0U2RUlVNFYteElnQzhpTG15azZ4WXdYbnZOVVdoTFFQVzRDYWE2M1hVbWpLbEd4RUR3bldaNnp6amlQdTBZLThkdk44VWIxZHZfeTJEb3pteXZGVUxGYzB2bXIxRjAzZTVMYU9yRlpKTW82TGxDMjh5VUxCOGdvYkdLNjMwYlc5S0xyNzB2WE4xUktuX1FOTmtQN3JKU003NWFMV2JocUkxeFhnMXY1eUVYdEpUdFpmQ2s0R2E0UEk4SzN2b3NPdmhSYUJtZW16R0NsaGJEbzkxa1E2MHB1MEFtVERfbHdWckdnSHdmNzRodXljVEp5UFFKYWU1OERLTlRtOUJTNElhdDBNb0kzQmFabTVwMXFxcG9ZSWlHWE5yWHNTRHQ3N0VmODhGeHU0alFuTWYycGZxQ2dQWWlEY2JheU9ka0hwSDdmNndlMWhpWTlhRmJPSHJ5SGRubFNBWVNnYWJLOUR3WVRWN0RnRUUxRzJQVHBpZlpWWVdwTTUyYV9sS0pVVTE0UXhkaE5MNm55SFBzQzctN05MT04tOW1wSndKV1BXV0g5bjZDUG53VEJKV0RJRlN6QzhzNzhMNWQ1ZUk5SGJUSE9VX0lqNnFCcnU3LTR0R2QwcXpVbjE3ZG5GeVFZWktfdmFKVWNFVi15STIyenNQQkhYSWxXVUF3ck53bkVZU2dDQ1JIR210cnVya1NQQUlBMl9QQU13TEs5R3czRjh3QWctVWF3NjlERWcxTFc5OTdPRkFoUUUycU5lT3hES0Y1MUZzbGJib2psa1BpM3pLbU9uOFVxejZESkpUMXVwcDNkY2dQbXlxanktamo3Y0o0MXRKdEpSRFg3dVRzb0VQcERibmI1MFg0TGtTSkdqbXY4cFhDU3ljc1pXWVZsWWlQX3JoU2JKVS1Qb0taM2N5UHJvazZGRXlJNnh5NWpmdkh1QmtXU2hJTTZnTG5xQW41dllvNVlKdnJRZWpneHhSTXVRSXQwVDhHSHllZDhnSmZHUzdQNWNpNWVsLWUwUElOUkEyRWRBN210YVYzWEtqRWZLV2liNGNQNnZqNkZ3UDBrRWh1RDZxUlFVRy11ang0dnhUMHJ5amVFbzc3TXp6bWtGcEpZeHp6SFBpSFltOEZNZXRrQnlkRmg4NW9kVGt0cHpGTmc5UF9ycjVtZ2pydnN0bElNU3JZMGtsSFpxUG9ObU56N011ZWNQY2poMk1CemNpOFptUXZDZWlKWGVQR0lmaUJjSDdKUVc4LWE4UGY1dXg0ak16cjVXend0dWthREJmOE45RzRRTzF5UV9BVXMzU094UUQwVElRd241alMteVktemp1ZWJGTU5fNVhQYkFMMzNzTEtpQndldm9vNzlkbk5pbkZaSm9VZS1CRlJwaU1sMHB5cE5MZ0FBZ1NNN092ZFdJX2lDaGFWc2tTQ1ktb3VLQVFuUHVrY2JFMGNETEtSaVBhYjlMMjhXSW5IUHVIQllmTWlYc1BGWkpiWG1qbXVBMy14RUpPaUQzRFFqM3VFSG5iZmplM1dSckFhbEdDd1ZxcENMWXF1WWRQX3pfN2x0ek1XNWhSVUZOTUU1eGc2VjV1b3VsNXM1eG1QQ3RieTNOdnpHeGxzQXN2SWx5dURpTlh0WWhvVncyTHB5NDZBOTZqQXpYMXp6WTFZckNrQ1JpV3hiMGhCUDJISE5nNDJ6MllJckFwdFF3N2E2MUFiTEVSOTdPVVFSYkR6SzYzaG55MVhueERDbVF5NHVpZEI4aV9rY1NSbm05NjV4SVgtUkRFN2pfMkpiZGNFV21SSTVKM04wT2dmbmRBWlZsdGRjSEVaNUhBNGJQUG9pbVdhbGprbHluSFdPTVpULW9EZUF3eVoxVTJJeTJaOG9Ta2FiYnN1SnB4RG42WkNYZTdpM3M5UnN4SGtmVE1na2dKTVJQeVRZWFRoQVNsLWRlREhzbGtTRnhXZTNJVkxBWTZXYTR5MkVPNDlrdzFPUm0wNmUtOXM1ZmlPd2V4TlBlVFZrd2U1VnBGQjdtaUhHRGhOU255a2MxQjhCbnp6R0k1bG15SUEyQlRTdWt0NDJjTnQ1Z0hmQlRfZlVJMXFzQWxCeXd1b2h1cjAzcU5GdU1JSU9lbldCRmFOZmctamIxcHdvRURKOW5xS19oUGdmYmNIRTBpMTFvTzg2dkkyZDUtaXpFNjRsWlhVZ3pSU21lOHZvTUtEUk9kNkxuSWhxUVJlTHI4dzZTU2Nsbm1MdFh3RzJWMjNVMVhPX3VUdlpUblFKMDR2T25pWlU4M2pYOXhtNnRTWnRzQWtycWFvM21FRVVuNzU4RnlvRU4tdFN0bnk1dGd0dkhUM1ZaaU9ESFhWQU5ZZnp4RWljUXZSQjBvUl9UUFRwb0tCN0VlTi1hQktVMjRJUHpjOVRfdWwyN3hVWUdqVHBWb2hyUzEyUlU1WkI0a3ZZYmlGNzZ5b0dYZHhjYXBmcV9OZ1l1U1AtZEN5MU9pUjgxdDBDWVNkQlRYMGJpTEJDNmMwZjV4clgycmQxeHItVGx2YkxCSTg3ZktNeVNwelVXQjI2T0N0aEhPblBYNVFrbjRBakJ0Vmd1cnpiLVl2TmdFZmE5U09tOXdhclJyVzRXRlJZT21hYm1keDk2a3lPS3VXRGtLT3U4bWJRQ3Jzanc1cFczN1pTS2JwNVRiR2FKVnNnR1hVS3NzUF90SEkwVElldXFlMUs2ZjBKN0xzVVNFRmFCZG5EVzBmam9palg3bFVEWWxUVkNXbTNyOUdnTXM1QW5FMlVpdGQtb0JWMnI2enpDUTNqTm5KVlUtMjEzYU1acy1mVnZIbjBkX2drZ0ZEbG1yZUNDaEJ5WE52WUtMUTNEcUI1bmw3ak8yWFI2Q2VpcWhvY2U5WUdGNFVReEhOMVVzb29semxqQVRlY29NOC1PWEZ1enZEcV85ZmJ6TVpBRndNdzNiOGNRNWpFSWwzdUNUWHcza2F0Y1YxSFB5WU5idGZCclI1QWdqNlFoOURJQVFxN0N6YXNJM3F3bUZBNVp6a1RWdXNUcG5fSm50SXJEU1dWVEVEWlIyZWF6WjFjdEVGdmc3UFYyZHNibnhMNTZkb3c0ZTZ1VVRtYnlWZC1HUmRsQ1VQX2VEYUttT1EwWDlzS0Z6bkNxMlNDQzRROUpoSHVLUkl3TmVySDhyLVA5eFRUSkoxMzVxeDMyOG9xanl5NDFwZW1wT0pvaUU0LXZpY0dvNThQR0FnNTlYSGUwTXE2TWxycWlHaEVpMG51ZGJha2hGNFcyRGt1TU5FV3RwUG9CazJ5VlhkQkJQYllQdXE1ZVRfSjd6TVMxdHo3amw1ZF9FMVdEQ1Zqc1g1WjIwUFFldlN0OWFtcnBKSmMtUElPOFBBQmZQdFQzTm5OdHBvZUl3cV95TEpRdnZpaWlGRGNqdmlGRXNGTzFaWTU4SzljNUwtc2VYanNqQWRPYjNhZWZESHBSZkozTHhucTNNUkQwTWhvMjhDQ2NOZ25IbjIyWTBGYlNZa0o0dWxlYV9vWnhOMnUzQk1NWi0tTS1wSmlydXZ0WV81dUJZcklWZS1CZk16Wl9SWkRycTRkRnA3S1RGOWFYcFk2NGZMcVlHZ0x1VmVibDdOSVpZTDdhQmlnMlVNNUhlMEJvYVFqMzBzOGRENGtObi1mWHN4aGpwR0NzWjhTdlMxVlVjTWRLYkFZa194TnplOG5OazVvV3FLZmE0UXJZNW45VEtENlFhenByZ1U1cjFobFdhMWk4eW01azZMdFlhY1lBTFViSDVMMlgwSm9kMnRDcGZVTEoxQzhMX0tHZkxkbGxEV3J4ZFlFXzBxZkdqRGVyN2xVQ2Q2Slh1aGZpdmt1Rmp6eFBiOTJqN1RPdFA2VWNfMVIzVDcwaVBYU05XVFdxY3docnpGZUJNcF9XZDgwaDNzai1Mb2xuVkFKcDFhMmt2MjNnUU9aT3A0SVZCRkIybzJLTmJnT0xHMkFfZU5MWUd6WjVfNUdxdXc1WXN1bUZ1djdrMElxaWZXQmY5dW94VVBQZEJhWlMzUG81Z2NBaWoweDJMNGNIai1WZ2hlUHF3dG9uREJ3OUNxa3pCV0lpMGN0NG84UER2d254VllGeE5HS0V2NF9hY3FrYjc4Xy1OdTBfcHp0WVozUHhOQnhXby1TMllWTFc1bjJITkh1NlQtcVMwNXFkaUJPQlpHbXRmYkdScXlheXJiX3hhX2V3UnlyQzRTdFM1amV3SGp1NG1sbkZmc0hKc1V2QVJlNWZQYWhUYWExQlFpX2ItTVRYa21lcVJMWHpQYnh4MzdvZjFNeFE4bHBpOWc0bjJ1Z2NxTjNybjVTbTVvS0w5Q1FQcVJiUDhKRGJZa1R3enBGUFlncC1GbHE0ZjlTWGVLeVJKZUpuMFR5cm5QRjFMU1QyX0o5czdsUllpSDNFVy1QVlYwdVFzTDRFMm9rY1RMdEwxdmlPeVBxU1F3bHdfQ05rX1ltM0kwVFFFRGN6YjdwYlF5dnZsWm1qbWdaN2ZiNmdJZmdtS0VUSlhyYUloWGNhRS1pamJtaHd1MzVBd2ZXTXA5QmNSUUx3M3NaZ0FaamdsRlRWejkwOXI5dDZldlhEeHJLV1VTZjVQeEg2NmNWai1yRy10Vm1qbWlra3ZwaGlxYlV3UTA5VlhUYTVZTGlSVjg1SjU4TDhPQUxKUkdCT1pjQk4wTEZmbnNGTHNrODh1ZjdNa01Mbm5DdGdpT2dkV2lTbTJhYmJIcWdud256ZUFkeTM2TFVPUlFIeVdfOHBiX0d3TmNVQk94U28yZy14ZGFBNjFic2dBOEdtU3M5NmE3c1RhcWU1TThUb1FKSUxwdHRqTGlOTGNBUS0teDFoTGFVYnl1WkhlZFBUN2lTbEprRjFZVGNTc1p1U1JQQ3U4NXRYaDRLcmNMdG9IMzJFV0xFZFBCY2xlQXZ0YV9RNU52aG5uQXB1U3B1RkJpQW5hTER0QlpTdWFUT3VVWEJuYUhvUnNEMHJJMnVEYTY3c1c5RVI5SnF1NklKWlJLdjVod1BYOFJaSVVZWHZkaTJlNVo1Q1VGb0hKY1huU1lvc2xwdmZEaG9mZXhpaWJ5cGhWY3E5LW4xVVhfV0JuU0hpNUxJZzluZ3BocHZfbV9hc3Y5UHFfeW9VNG5QQkwzZGVLdXplLXY3OEFRdG1fUGtzQ05uaUtSMGhHUTl6YWw0VXBNZGZ1emdvZ1dmcmJyOG1qR1R6ekFBQUsyWVF3QUV2Tl9YcVNvei00LTJoTHJITDFrZ2UycDVHS2ZKam84Sm54VU9ZakU4ZmJzeE5aWlhaM0p1UDMzM3QxZjRCalZuTXEzS3JBbnFzU3pfNE1ueURfY3RiX3NiamVnb3dFZWpHamFRZ2ZkbGtNUnFvYVl4bW5jWDJVR0w0YTVhWk5DbUFQNDQxaW1TQkNYelE4eFpMNWVlbEFOUGkxVC1ZNEphZWRPcmxyQUFELU1GNXlBM1p5YzJBOC1xUTdzZ0JWc3dVMzRyNThxbDk0SlgxOVg2OEp1eTVIV0ZGUkR5REZzMFhmZS00SlZ1T1Vaa0I3NUNQYWlHbGo1UldWSW1hakpZbzlhTXUtMl8taWtCSXh5WEZRbkZMcWhjNF9Hay15b2RYd3RFUGd4d01LREcwY212TEdsWHN4cEZpMVhoTGdtSm1MY2NHNHpray10UjRxM1NncndWV3VJZEhzTzhHQzRZdEtIemtSRzN3N01waXdfZjAxN2N6dlRYNXFvM2pURTJiWGxNYmVpM0dDQnBKYlVXeE1mQ3N2Vm5fYVhaMVBIaTRrVWVjLWxETFdXd0RGY1JyQ1pwNTBNZ1FKZ05MZVdvLUh4empwUDZ0ZFFucWVpMExlRUsxTlNNRURzLXFSYWUyZFB0c2xDWE1Dd2N5WWpHY1B3eDhxUmh4NEQ3RkxrTDFmNHlmQzgwTTRCQVp3WVdBMUJhY1JydHRnMzdfeTNObmRlZ1FuUHQyXy1tTWUyQUJkS19tNWxWT0M3endybVVfU0lNaWNqM2hGN2dXNnBSaVR6Z3gwell2aFNKQkhPTFNHZkNMWHVHX0d5RFpHaURpZ1RocUczRDdqeGFrYVIzSjBvTW43eS1PSHJLck1Ra0NCNms3dFdPQWRyVXpzY0NsV2VYd3lYcWVLcUlDVlFnV3pYeEF5SkJKdm52UzVXbUIyNFlKRGVfaHdMWHg0S21xbnBvUEtTNU5NSWZoTTlGN3RyNWFnRC02N3pwVHY5enM3Nk51Vnc0ZE9YQ0t6bnJTTmxLV1hHRUl1V2JVQzkyMi1tbk5SdENmTHhkdmN6N3NaU2RyNWx3SWk2d3UwZW9FdlhKd0U0N1lTTTVuZHQ5dERHS0pPTm9MVE5ON1cwRk5EcVBmWjF1Z3VFV3NvT2lNZm9jdmMwcGtCSmtOTnhYLVdnM1ZsOFJ6eE9ENkVXa3hNOE8tQ3MydjRyUE5xLVpiZTVjWldUcHhOeFJkZWJFcHB0UzVPMVRfN25STEx0dU5hQWE3c2F6Mnk1bHJhaEdka2xDUlFSZV9hOURHRDJPTkltTFUxU09RUEtZNE1VSW9oazFWMl9kVTBZWVZVaVdGbGdOcWFZS3ktQzIzQUQ1eGxhQjdMbGJleGtyWWt4Tm5tV0NWNUNPcGpTVkpRVTdldmhNdF9SbTVSRFlxb0RCcU12UVIxYnJIbldhQ2VlYktuSjk0dUJ6T0F1cFlqQ0c1WThDbnBNdDBwUnpRdmxnQkRkNUI3RnBwUm1PZnFTd1ZOWU5BZlkyZzZFel9lWmpDdGFyZkxnUVZnWXZ3RVBxaW1jbnNlZW1xaURSYWJTalZkMW5Ka01YSlF2Xzl6VUFsM3lhX2lmbmRwaEp6eUt0Vlo0c2IxdVhtakU2LTQyVk5EUFd1b285NThQeHpTSGVVM2VkTWY2ekNYWUNYdnBCc2w4S0IzdTR6QW41cE04emtQNVdfMmpna1RFRVNGTFVRX0c2VEQ5aDhsUDlmWFlHSmljVDlaaklKZEFwRG1zY3pVdUZjbjZlRDNjeHRDTWwyNktMcTk1TXZTa2QtSlYwblJDR1BmMF9LZkZUNFhWaTRUSm1jVWpmdUFCTUNuNUpncTRrUFZ4NFk3VEFFWWZrQmludjZXSkV4Qi0zbHNMQVRuOG8xODF4eTdsd2QyY21HVXc1UzhyR3h4b2lIeXJfRndVSVg2TXJYNU13MmQ5NTlNUXluaXRxTllHU3NIUnZ1ejlCV2RUYUp2blBYbTczNFEyOW9HUEVOZ1dTZjNxWm4wYWxhVlRLNjdpRWJFMy1oWWtiUFFENVBITUZpTXFXV1Z6SFI3ZmpvZWpjbXdIbXFzVWxkZGFxbFlVRHRrVDAybFVsdnF2aDBMcVZuUVlWazUtUlJfVExEaGpoTnJhVWNRRTVpczh5U3RJZlRWMWtUbmVvalNnYnFES2VEMWo5TW5zbkw1RXR6WktMcTVMWWhJOS1XSTVtOHc2SkhtTkJqcmRDMl9JSTNhNEpzVVhxNDlOSW5Nb0NXWnBWS1F0bS1pMVJyQnBDZ1dRYlVfRFFlOV82Tldvb0V6UnRrdUJzY2U1Sk9oY0k5YzJkd1k0TEtsdlBwMFRJcGFlWmpJeXBRWHlFWmxubUx3MDBIQjh0VTBGV0x3UHAzMnNiNmNVbzBoWjAxSFV1elFKaVpIcGJuQTlIaHVkN1ByVFRpSlhmZno1RE9nMDlYbnNjeXVfZi1pMVVTd0UteEVIWnNHeW1pbzgyclFMUWE2ZXp1M01WVDNPcmYyQjZPalYwMHRyR1BFY3JILUNDd3FYMk1nNjVEZGlmQUdTelNta3FZZm5YWUptTm1jR05QU3pDNEY5MDdGYlJjeWtzQnN3OWFVNFNnQlRTYUY0SFlza1NSMTZOODQ1dU1leTl4UDBnSXdsZXpwV1NZZWVFSVhfRFRPM2hlbDdXN1JQVlhxdXBURm5KTlhvUTg1RWo4ajZjOHE2TnpzcTJaWHlfVF9UcnhXaWtuTlNKR3FCMGU2XzBfb2xQSTItSEFBVFRsYXgzeUNoSEJnQU05ZGRVeW5xWGY1SEpVZUE0ejJGRzJJNlJpcGtTSkNUZW95dlJmamttS2t6N3RhUTVfZHJJVHRZdGdYamhuNWxpcXI5cVJZRFd5UW1Cb2xvMVBKYm53aTZxMHhKWWRNODhmN0xBVTUxVjVlQ1k1RFlsdnJ0S3Q5U05nRENOLXQzeWVwTVF4S2lJRWpBS0RKanVyRXlDR3JfTHgzU0gxLXFvNlNyZl9hZExZVjRzRENISm9MRzREdWlMRWtGdEhKbGtSZWFUQ0tNdGtMNjc4a1M5bjJ5SVRRZUZudFAxSWN5Z3VBVWE4aWgyb0RFV2hTUWVnYzhjMUprVHE0aVhHdm52VWNicF8xM1pGWU0yeGU2SG54eGJDU0FnSDVtbmE4XzlXQU5fbThhRmNjYTFnWGhodGJiMlQ4RXJkcndReG10TkhkVThUc3MzQnlKdkpJUFpKNmNBTEg5Wl85eFRxTUplRnA4N1JSaVEzVTdNbWs1WWJvOUFMNVk1RzV3RTFlV0wycDBCbzJ3Q0Rob2YyNXgxSjVQdUpCZ3FpU0lLbG5Ta0lmNm82NjJQdEtLZjFOekJaeTczRTNndGt6X0pGS0hNeEFteUpKS1dROExxWDA4c0d3cEZEX1FEUVROS0hEOTBSVWx6eXExZVhKQmhVY0QtWHVwTGtGOEZRbGN6NmpKV3phblZYRGpaTHRXSDB5dEtQeGtWcjlldllmZmU3cEdKMndMNDdPWkdLdmR4U1R4WFc2djZNUUVkNjlFMGNOQ29EU1dST1RhRUZrQ0RZbGdOdHZzZm1rSWstY1ZxVDRVNTB3ZkZJUExsR3N4NVAtQVE1YnVzNHpHMEJIS0dYMm1WbkR3WHhYaVlnOW1tVlNLYkY1elRlYnFsT01oS283d2JWWVE1X2tyMVhEQWV0Tk9ESmg2c0VvNHZFaUd6eGxpamtfbXRrbGlIQ0g3RUc2Zk1ZeGdFTEFtbFZwWEdXM3liUWFBZ29KNUt6c2ZNZW5OZUxTUUNJRURhM2l1R0NoNzB6Y0EtSklRLWh1TnRQTnBFNmpHVW9qX0xrbllNbzUxRTV2eW9zRS1ESnFPZE9ZbmVMdkVRVEZ2M1R6R3hSZHN4MUo1SEc1V29FWkFfcjIyUGdVNWlUQ3VJSEczci1hU3BzLTZmR0szSlJqWXNGWS1SaUt0SmxodVQ1RmJYRllvM0htcFBmMkhXRFV3SnI2eWpYUm04OHYyXzhtMDBBdFVpc1dXZ2lBb29DWlp1ZENqeVpUMW1tMGd2U0wxUFBXQmdKckZnYjQ5eW9tQnAzVDRJMDlFS0tRRVZNVTEtNGU3WXlYZGxTdFN1Y2pSZE94UDV5ME9rMExrcVlrdE9BZjJTNFB6NkhMN2QxbGJEZmIzMUpBNlNrVkMzNEpHbUY1Y05uMk9GRzBRRzJfdk9ob1piRkY3QzM2SGNReXVzREE4OVplRllQMllkZVdUbG1MQjktcHpSV1RYeDROcUVBSDZYaWtXLXk0VWozLTN5US1hRTF4NmIxLU9ZU1pDYVEtR1JHZlVRdTNVVVBjcGhpam9MemVjcWJQYmdNemN5Sl9yUXp2UUQ0aWlYWjFJLUhhRDRlLTF5NGdVQUNheHY0SHZmNDh1bVRZalV4MkFZdkFGamhhcTUtUGV1akZ4UzB6VERCVHJ4dXJiR2JBaE1wVFBfRXkyeW1BLWl3RGtDTVdhUVh5cTNLZ3cxbV9IeE82a0JqVy1nemR5LUJ6d1FxU044bjNTUE8zOFdVWW9sY0hYUUw5c2h1WGlObDk5eUhwMGtfbnd0U2JsdHY4U2hCMGdvdnpJQ2pMelRmbUhSRm1qSGVXSmZ3a2U2dkVqV2xzVUtXU3cwa2ZuM09uS3hTMjkzV3RDSkxrd2dpUi15eE9NbTM4NWhuZmt6MUxTdTF1UFN3RmRibjJSV3VDdDdDQkFWV3JaVVJ2ZmtSVWFlMHBLaXZVV0hrOVgxUkkzbHFsN3pCaFJNR3UwVVFEcWlMQXlrSEkwOFJ4SHJBZXRhVUxOWm13cDBRRXNNUWM4TDRhTUk2X1BhOHFBTnNYLVhScmxza0JPS1NMTVk2Z0ZUVi1JTUc0Zm1Qcm5jTV9xbEwxUXhCNk1xS2ZnMG1mQ3o0U2xYUFZ6enR3TWRJT21JU0RRdlRuaEtVRmREeVRLcFBfTVl6RmtXMUtSOW9kM0FQNTR2S2lMM1hfUHR4MzEtd01jaV9FNmZyRUJLUnpmOW1ZcXhHR25zak5SY0xYbnFBM1BzX1libHBtS3lkcVhacktoMThVeklFaW9xWG1lQ0lfWV9oUGxyVzVfMmU2aFR0MXpXRlJCcTlPWUcxVjNuVTY0SDNnR1FaN0hfOC14TnloNEtSal9wVXZZUGhlMXZaSDNKOGJzdGhTWWJlb3JTaHBDRU9IZjJOSE5zZExHN190VFEta3BEUE1SLXpKazNPTWdwWEw5VnJ1RUVuRy1lQUNfbzltUUJMc0ktOFZVVmxFdTdLNVpOSjh1Q01JOF9SUWV6TV9PRjJ4dXlRNFd6X2k2amkxYkkyOHdoa0U0QWJwSWN3OU1FRUVqRW5fczRGZ3FEWEpLX1BUTWRaVUJQb2RidFZjSXpxNUM1VGRYcVdsMElkQkpTOXVJTlFGUUxaUEtEaDBuREcwUkdmbW5kNE1TS2p4ZXVhRTItTENRQ3doQWtHZFE1ZDlac3BGMnRYSnRNVF9QR3JCLVRPclBodW9mVENNcnFPTnB6WTlTVkg1Sld5SDNQOXFUdzdTMTJ0ZjdLWUU1a3ktWml6UW9EdUFyQVR5bzdKck53MFR6LVREYl96X1VoRHZHblU2ZFhMMnJGZlFTaXFnMzJkRUplSjBZVkhRRE9jRV9HVld0OGNyYUcwZjNyR3pKSVRDLUVicWJndmctdWw3MDB4LVhpNGdaMFZOVVBWN1YxMG9oajh0ZTR4QjFOR2dVTHdpREZyMVVjbW1tbFFpYVlfYmRkR2JJMlJkQzdMeXJ2WUcwYXV2OE5QakZxcEZNMmhwME9nYy1ySnM3V1VsRGdVLjVCUE1CTExaaDNPdG83VndMN3A1Rkk5UUxPSkNoU09Xck1ucndNbWVSZHM\"}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "44519", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:48:42 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "ab3229f4-0de9-46a4-696d-3933f87bea2c", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "bffbfe67-1de4-4c60-8df0-2b4fd57cd8ac", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/certificates/certBackup/backup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "fde1cbcb-bff2-4fe3-7d67-a1d3b3878cb8" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedcertificates/certBackup\",\"deletedDate\":1634086133,\"scheduledPurgeDate\":1641862133,\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/74b01b14bce4488081521bcf05990333\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certBackup/74b01b14bce4488081521bcf05990333\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certBackup/74b01b14bce4488081521bcf05990333\",\"x5t\":\"QxzyGwYBjnjIvcw0kJfalRsUTh4\",\"cer\":\"MIIDAzCCAeugAwIBAgIQByFihe36RMCzjZSddfuwvjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDAzODMyWhcNMjIxMDEzMDA0ODMyWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCRCEAEAUayvJTzWrJ0K1vtHaWmMygMhz/OmN7g5dBAe9R7z4OFxSKbiygvb0Eukkm6FvqQuWnbOxhUpXPwT1rC/oABm0xosnfRo3bhKOZzw+w5DnfjukomkTRUYeZq08DRbFFTt850tDy3OWO7f99Az35C7HjYZ5JL9VAyGBvf0ns74uwHprohY1a0qrbfcyp91uxIq9SC3FSAht2HwFk1i7haDcdgSOUvllze+I16OGUpcZlPup4UJKLwW4YyLVbf3kxqHgUOzlFrRgEywlJ8ivtx0iD30fX+KN24TgJFEqxSJ93UXujZIPUIeGP2ySTf73MiOzjhjOane0+e0iY1AgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFARSNlNm/twgQyTTx+7t7dxzXVNnMB0GA1UdDgQWBBQEUjZTZv7cIEMk08fu7e3cc11TZzANBgkqhkiG9w0BAQsFAAOCAQEAEwNpkrzwdtWPv0S2/JkdEPHf8/sXUs0SyjTfsDhqRNN5idTBLeL4AmRJihbx5nNN+aM8z1YM4OlKF8Q4/y3KptunOukD/ltBTk/1kZrHycWYpbd7HXFMI6FY3gMm48lz6enVk3x0YKXp1UGvjPlQeY5bOlSbbZFJB5uWHyE1xySYO+1PyICV/McpBBYjCA8G5SePaosGjmsPGztoVG1lq1dBf8fqQmYQndh8RIZy6sKEQ3k/H4Bg3lmhTS/huOQc2krFnBUazmGhIYLAP3QMxlAdSO3W/2yWhsMY0WStiTtA+fJSaCL/T6ZK9ZjPk5JPwLTMrQHoEbR1q8alSiUlYg==\",\"attributes\":{\"enabled\":true,\"nbf\":1634085512,\"exp\":1665622112,\"created\":1634086112,\"updated\":1634086112,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086105,\"updated\":1634086105}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/pending\"}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2346", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:48:53 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "fde1cbcb-bff2-4fe3-7d67-a1d3b3878cb8", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "297f0b03-88f2-4299-af1c-19044cce3407", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/certificates/certBackup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "9f0a1f5c-5f68-40c6-6a3f-a106110f00ab" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: certBackup\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "94", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:48:53 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "9f0a1f5c-5f68-40c6-6a3f-a106110f00ab", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "37681d81-de7f-4ac4-9f83-986cd384d2ef", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/certBackup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "8834ca20-eb6b-4c86-7ac7-1460d53606ec" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedcertificates/certBackup\",\"deletedDate\":1634086133,\"scheduledPurgeDate\":1641862133,\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/74b01b14bce4488081521bcf05990333\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certBackup/74b01b14bce4488081521bcf05990333\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certBackup/74b01b14bce4488081521bcf05990333\",\"x5t\":\"QxzyGwYBjnjIvcw0kJfalRsUTh4\",\"cer\":\"MIIDAzCCAeugAwIBAgIQByFihe36RMCzjZSddfuwvjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDAzODMyWhcNMjIxMDEzMDA0ODMyWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCRCEAEAUayvJTzWrJ0K1vtHaWmMygMhz/OmN7g5dBAe9R7z4OFxSKbiygvb0Eukkm6FvqQuWnbOxhUpXPwT1rC/oABm0xosnfRo3bhKOZzw+w5DnfjukomkTRUYeZq08DRbFFTt850tDy3OWO7f99Az35C7HjYZ5JL9VAyGBvf0ns74uwHprohY1a0qrbfcyp91uxIq9SC3FSAht2HwFk1i7haDcdgSOUvllze+I16OGUpcZlPup4UJKLwW4YyLVbf3kxqHgUOzlFrRgEywlJ8ivtx0iD30fX+KN24TgJFEqxSJ93UXujZIPUIeGP2ySTf73MiOzjhjOane0+e0iY1AgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFARSNlNm/twgQyTTx+7t7dxzXVNnMB0GA1UdDgQWBBQEUjZTZv7cIEMk08fu7e3cc11TZzANBgkqhkiG9w0BAQsFAAOCAQEAEwNpkrzwdtWPv0S2/JkdEPHf8/sXUs0SyjTfsDhqRNN5idTBLeL4AmRJihbx5nNN+aM8z1YM4OlKF8Q4/y3KptunOukD/ltBTk/1kZrHycWYpbd7HXFMI6FY3gMm48lz6enVk3x0YKXp1UGvjPlQeY5bOlSbbZFJB5uWHyE1xySYO+1PyICV/McpBBYjCA8G5SePaosGjmsPGztoVG1lq1dBf8fqQmYQndh8RIZy6sKEQ3k/H4Bg3lmhTS/huOQc2krFnBUazmGhIYLAP3QMxlAdSO3W/2yWhsMY0WStiTtA+fJSaCL/T6ZK9ZjPk5JPwLTMrQHoEbR1q8alSiUlYg==\",\"attributes\":{\"enabled\":true,\"nbf\":1634085512,\"exp\":1665622112,\"created\":1634086112,\"updated\":1634086112,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086105,\"updated\":1634086105}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/pending\"}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2346", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:49:23 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "8834ca20-eb6b-4c86-7ac7-1460d53606ec", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "b70663d2-d563-491d-aeb1-11e0c5d7b97c", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/certBackup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "3ef99a9b-a964-4771-5cd8-12c8db2c7060" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 13 Oct 2021 00:49:31 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "3ef99a9b-a964-4771-5cd8-12c8db2c7060", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "4b27c804-2d22-42bb-8a90-014342ca8468", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/certBackup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "e71a1c52-cd9a-41f9-7fff-cfe0993b54de" + }, + "Method": "POST", + "Response": { + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/74b01b14bce4488081521bcf05990333\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certBackup/74b01b14bce4488081521bcf05990333\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certBackup/74b01b14bce4488081521bcf05990333\",\"x5t\":\"QxzyGwYBjnjIvcw0kJfalRsUTh4\",\"cer\":\"MIIDAzCCAeugAwIBAgIQByFihe36RMCzjZSddfuwvjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDAzODMyWhcNMjIxMDEzMDA0ODMyWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCRCEAEAUayvJTzWrJ0K1vtHaWmMygMhz/OmN7g5dBAe9R7z4OFxSKbiygvb0Eukkm6FvqQuWnbOxhUpXPwT1rC/oABm0xosnfRo3bhKOZzw+w5DnfjukomkTRUYeZq08DRbFFTt850tDy3OWO7f99Az35C7HjYZ5JL9VAyGBvf0ns74uwHprohY1a0qrbfcyp91uxIq9SC3FSAht2HwFk1i7haDcdgSOUvllze+I16OGUpcZlPup4UJKLwW4YyLVbf3kxqHgUOzlFrRgEywlJ8ivtx0iD30fX+KN24TgJFEqxSJ93UXujZIPUIeGP2ySTf73MiOzjhjOane0+e0iY1AgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFARSNlNm/twgQyTTx+7t7dxzXVNnMB0GA1UdDgQWBBQEUjZTZv7cIEMk08fu7e3cc11TZzANBgkqhkiG9w0BAQsFAAOCAQEAEwNpkrzwdtWPv0S2/JkdEPHf8/sXUs0SyjTfsDhqRNN5idTBLeL4AmRJihbx5nNN+aM8z1YM4OlKF8Q4/y3KptunOukD/ltBTk/1kZrHycWYpbd7HXFMI6FY3gMm48lz6enVk3x0YKXp1UGvjPlQeY5bOlSbbZFJB5uWHyE1xySYO+1PyICV/McpBBYjCA8G5SePaosGjmsPGztoVG1lq1dBf8fqQmYQndh8RIZy6sKEQ3k/H4Bg3lmhTS/huOQc2krFnBUazmGhIYLAP3QMxlAdSO3W/2yWhsMY0WStiTtA+fJSaCL/T6ZK9ZjPk5JPwLTMrQHoEbR1q8alSiUlYg==\",\"attributes\":{\"enabled\":true,\"nbf\":1634085512,\"exp\":1665622112,\"created\":1634086112,\"updated\":1634086112,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086105,\"updated\":1634086105}}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2116", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:49:43 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "e71a1c52-cd9a-41f9-7fff-cfe0993b54de", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "17bc9a30-ebc6-4030-878c-fc7751087ad8", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/certificates/restore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "656f7d0b-04ba-4ecc-6133-b470f76d2295" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedcertificates/certBackup\",\"deletedDate\":1634086198,\"scheduledPurgeDate\":1641862198,\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/74b01b14bce4488081521bcf05990333\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certBackup/74b01b14bce4488081521bcf05990333\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certBackup/74b01b14bce4488081521bcf05990333\",\"x5t\":\"QxzyGwYBjnjIvcw0kJfalRsUTh4\",\"cer\":\"MIIDAzCCAeugAwIBAgIQByFihe36RMCzjZSddfuwvjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDAzODMyWhcNMjIxMDEzMDA0ODMyWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCRCEAEAUayvJTzWrJ0K1vtHaWmMygMhz/OmN7g5dBAe9R7z4OFxSKbiygvb0Eukkm6FvqQuWnbOxhUpXPwT1rC/oABm0xosnfRo3bhKOZzw+w5DnfjukomkTRUYeZq08DRbFFTt850tDy3OWO7f99Az35C7HjYZ5JL9VAyGBvf0ns74uwHprohY1a0qrbfcyp91uxIq9SC3FSAht2HwFk1i7haDcdgSOUvllze+I16OGUpcZlPup4UJKLwW4YyLVbf3kxqHgUOzlFrRgEywlJ8ivtx0iD30fX+KN24TgJFEqxSJ93UXujZIPUIeGP2ySTf73MiOzjhjOane0+e0iY1AgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFARSNlNm/twgQyTTx+7t7dxzXVNnMB0GA1UdDgQWBBQEUjZTZv7cIEMk08fu7e3cc11TZzANBgkqhkiG9w0BAQsFAAOCAQEAEwNpkrzwdtWPv0S2/JkdEPHf8/sXUs0SyjTfsDhqRNN5idTBLeL4AmRJihbx5nNN+aM8z1YM4OlKF8Q4/y3KptunOukD/ltBTk/1kZrHycWYpbd7HXFMI6FY3gMm48lz6enVk3x0YKXp1UGvjPlQeY5bOlSbbZFJB5uWHyE1xySYO+1PyICV/McpBBYjCA8G5SePaosGjmsPGztoVG1lq1dBf8fqQmYQndh8RIZy6sKEQ3k/H4Bg3lmhTS/huOQc2krFnBUazmGhIYLAP3QMxlAdSO3W/2yWhsMY0WStiTtA+fJSaCL/T6ZK9ZjPk5JPwLTMrQHoEbR1q8alSiUlYg==\",\"attributes\":{\"enabled\":true,\"nbf\":1634085512,\"exp\":1665622112,\"created\":1634086112,\"updated\":1634086112,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086105,\"updated\":1634086105}}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2257", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:49:57 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "656f7d0b-04ba-4ecc-6133-b470f76d2295", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "1fa52ceb-bd8b-4e38-949c-7ddc7f1497e0", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/certificates/certBackup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "52f49b29-f9b2-490b-69b3-02d0b5f93841" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: certBackup\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "94", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:49:59 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "52f49b29-f9b2-490b-69b3-02d0b5f93841", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "02cbe798-b226-40ec-9c2c-192180a82f2d", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/certBackup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "f5ea0e56-43a8-4c22-6fb8-e4e9a8851b0b" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedcertificates/certBackup\",\"deletedDate\":1634086198,\"scheduledPurgeDate\":1641862198,\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/74b01b14bce4488081521bcf05990333\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certBackup/74b01b14bce4488081521bcf05990333\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certBackup/74b01b14bce4488081521bcf05990333\",\"x5t\":\"QxzyGwYBjnjIvcw0kJfalRsUTh4\",\"cer\":\"MIIDAzCCAeugAwIBAgIQByFihe36RMCzjZSddfuwvjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDAzODMyWhcNMjIxMDEzMDA0ODMyWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCRCEAEAUayvJTzWrJ0K1vtHaWmMygMhz/OmN7g5dBAe9R7z4OFxSKbiygvb0Eukkm6FvqQuWnbOxhUpXPwT1rC/oABm0xosnfRo3bhKOZzw+w5DnfjukomkTRUYeZq08DRbFFTt850tDy3OWO7f99Az35C7HjYZ5JL9VAyGBvf0ns74uwHprohY1a0qrbfcyp91uxIq9SC3FSAht2HwFk1i7haDcdgSOUvllze+I16OGUpcZlPup4UJKLwW4YyLVbf3kxqHgUOzlFrRgEywlJ8ivtx0iD30fX+KN24TgJFEqxSJ93UXujZIPUIeGP2ySTf73MiOzjhjOane0+e0iY1AgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFARSNlNm/twgQyTTx+7t7dxzXVNnMB0GA1UdDgQWBBQEUjZTZv7cIEMk08fu7e3cc11TZzANBgkqhkiG9w0BAQsFAAOCAQEAEwNpkrzwdtWPv0S2/JkdEPHf8/sXUs0SyjTfsDhqRNN5idTBLeL4AmRJihbx5nNN+aM8z1YM4OlKF8Q4/y3KptunOukD/ltBTk/1kZrHycWYpbd7HXFMI6FY3gMm48lz6enVk3x0YKXp1UGvjPlQeY5bOlSbbZFJB5uWHyE1xySYO+1PyICV/McpBBYjCA8G5SePaosGjmsPGztoVG1lq1dBf8fqQmYQndh8RIZy6sKEQ3k/H4Bg3lmhTS/huOQc2krFnBUazmGhIYLAP3QMxlAdSO3W/2yWhsMY0WStiTtA+fJSaCL/T6ZK9ZjPk5JPwLTMrQHoEbR1q8alSiUlYg==\",\"attributes\":{\"enabled\":true,\"nbf\":1634085512,\"exp\":1665622112,\"created\":1634086112,\"updated\":1634086112,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certBackup/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086105,\"updated\":1634086105}}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2257", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:50:30 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "f5ea0e56-43a8-4c22-6fb8-e4e9a8851b0b", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "f1f833cd-4cdc-4dcf-834e-a66ba5dae50c", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/certBackup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "c1dedbe7-194b-474f-7651-e6326ad2c483" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 13 Oct 2021 00:50:33 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "c1dedbe7-194b-474f-7651-e6326ad2c483", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "a6eacb16-e45d-414d-a146-6e10f94b5b92", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/certBackup?api-version=7.2" + } + ] +} diff --git a/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.GetCertificatePolicy.json b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.GetCertificatePolicy.json index 8b673fdb4..8aa3ae46a 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.GetCertificatePolicy.json +++ b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.GetCertificatePolicy.json @@ -4,27 +4,27 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "37e9d518-cace-4531-5ee5-606759096cbd" + "x-ms-client-request-id": "5097a610-2285-4b89-7e94-357f357be09a" }, "Method": "POST", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvTkrkBwaWRHcw2De07MxKJpPoOxwSE0KEgJOlH1/xWI/OOvie/SSQhYnWrMCfhWbmE8YCT/LKpehvxaJh2zMpE+EjFBtajaQgKIRZxHVFZXnyOvIPhn2O0Jq1vFzEixhwCF8ZTJ59MUcpcva9/UFDEBM0xoahrzBYEQ1DmsAr0ef1Tjg3BTXvL8hetsAvCtGdRxP45cJOj6Wtiha6nvf7ycRamQWWBgji1RL9IPr5mbIOG3Iw9xBVv4Kdive4Z0I763NomApyCGCbEK8OiQbDyVf1e46E9Zg82ONYNC9RnuPSHde+ZZ2QmQtqZgNf5KPBgAFNA75fAQVt7KxWk0bAQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqLeuRrTPQUmNx+Tgcc3PIkAWDDEBfRqwFifpIogxHB2oVbfEOZ+14A3/wQnleCQSqbtrb76XwcMyA+gj3o2kATj9HhIR+cDJB4wHo6q7JwvycN/dw8ggQTlzKNv0Ibe+VXmbJSrBiSwqkA3vEsrzNqH99HZ7/awfJHtGW4JcgzoNFK69RKrbNPa8MSWAnJDiBdkLcpta2iows1/pv02aGWFJ39J6ud3yYoCF3UCVuUrGbI2eqnNBpw4SL/21TWFZB9R8bdF4pqUXz0B7ex4geXn3sfhCsikNn86TTRTlxkjeMu4wXjJBm/V4Pgb00TdE2OMGovlxoopLasS/RyCMig==\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"1563c46626b74c938a861a0f5ce92673\"}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAycyDYmH6aYd6soLMPRzSbzKDnuDfb1mRBa6lqvrkE3K9IVJUnHf17QnIcjk4FPVhvH+41LVGvgk6Pqkc4v6CQOkb58ZbYaSt3+LzPBwDPG2t9r6ltUmF6Qug71BJ+X7bZorPDABWC9LWunk/3ZhV1bmHjegox5MwITDORJo7GHXO6+bK7bXriFDFO1MZiIh5J3gxUCJeFt34TqYee7wBPoPHn3WRExZa+2TG7ZT3hK6/wPv00Pbq1c9W20sFO3+fH+KeexGMQQv3fupMM/PrxHIF913X6/Ww59FpdYU8F+mr+t77/hmsY5gNNBcyujPLL1ds36UHtgNp4lHzNP67WQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAD3162d6z4oEzGjXxwF7+/rfde/20bnvY4CdNuiyPukRVzk+vWKjgwtXmE26Ylw0frgX34bIwtTCsOmAtCq4XlNDoUeV5spCqAIxE82I8oLD9Rw9fxugRPkIzIhrrKdNcl4h0mXWQrzUb20/83I1KRI//+k6HHKIgz3K1zXKO/f40af8DORtGk1oAo9R1WqvXKkTEh7mWYBJiCc91ci33UoexISupYxK4zvfSdLhsX/yRfbdNO9DesvmWOCUsG/kimk544CLr3zv0XQ0Lnw+SrDwHV2E8jJhygQCMU2vdHCTinT7WUyEKxS78gpp/FQ+ZnOJUdujqaqRRY0PvLxyuQQ==\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"933a0526ca3344da9719d1b4353015b1\"}", "STATUS_CODE": "202", "cache-control": "no-cache", "content-length": "1237", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:33:28 GMT", + "date": "Wed, 13 Oct 2021 00:56:08 GMT", "expires": "-1", - "location": "https://REDACTED.vault.azure.net/certificates/certPolicy/pending?api-version=7.2&request_id=1563c46626b74c938a861a0f5ce92673", + "location": "https://REDACTED.vault.azure.net/certificates/certPolicy/pending?api-version=7.2&request_id=933a0526ca3344da9719d1b4353015b1", "pragma": "no-cache", "retry-after": "10", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "37e9d518-cace-4531-5ee5-606759096cbd", + "x-ms-client-request-id": "5097a610-2285-4b89-7e94-357f357be09a", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "d0d7851f-c136-4783-9885-94e64eb2ab94", + "x-ms-request-id": "43ceb83b-8fb5-41e3-8980-188781f5f29c", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/certPolicy/create?api-version=7.2" @@ -33,26 +33,26 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "611b7e40-3ae3-4e0c-4b93-b550c9326439" + "x-ms-client-request-id": "367be6a8-0c22-49a2-5e24-61b8701d60aa" }, "Method": "GET", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvTkrkBwaWRHcw2De07MxKJpPoOxwSE0KEgJOlH1/xWI/OOvie/SSQhYnWrMCfhWbmE8YCT/LKpehvxaJh2zMpE+EjFBtajaQgKIRZxHVFZXnyOvIPhn2O0Jq1vFzEixhwCF8ZTJ59MUcpcva9/UFDEBM0xoahrzBYEQ1DmsAr0ef1Tjg3BTXvL8hetsAvCtGdRxP45cJOj6Wtiha6nvf7ycRamQWWBgji1RL9IPr5mbIOG3Iw9xBVv4Kdive4Z0I763NomApyCGCbEK8OiQbDyVf1e46E9Zg82ONYNC9RnuPSHde+ZZ2QmQtqZgNf5KPBgAFNA75fAQVt7KxWk0bAQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqLeuRrTPQUmNx+Tgcc3PIkAWDDEBfRqwFifpIogxHB2oVbfEOZ+14A3/wQnleCQSqbtrb76XwcMyA+gj3o2kATj9HhIR+cDJB4wHo6q7JwvycN/dw8ggQTlzKNv0Ibe+VXmbJSrBiSwqkA3vEsrzNqH99HZ7/awfJHtGW4JcgzoNFK69RKrbNPa8MSWAnJDiBdkLcpta2iows1/pv02aGWFJ39J6ud3yYoCF3UCVuUrGbI2eqnNBpw4SL/21TWFZB9R8bdF4pqUXz0B7ex4geXn3sfhCsikNn86TTRTlxkjeMu4wXjJBm/V4Pgb00TdE2OMGovlxoopLasS/RyCMig==\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"1563c46626b74c938a861a0f5ce92673\"}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAycyDYmH6aYd6soLMPRzSbzKDnuDfb1mRBa6lqvrkE3K9IVJUnHf17QnIcjk4FPVhvH+41LVGvgk6Pqkc4v6CQOkb58ZbYaSt3+LzPBwDPG2t9r6ltUmF6Qug71BJ+X7bZorPDABWC9LWunk/3ZhV1bmHjegox5MwITDORJo7GHXO6+bK7bXriFDFO1MZiIh5J3gxUCJeFt34TqYee7wBPoPHn3WRExZa+2TG7ZT3hK6/wPv00Pbq1c9W20sFO3+fH+KeexGMQQv3fupMM/PrxHIF913X6/Ww59FpdYU8F+mr+t77/hmsY5gNNBcyujPLL1ds36UHtgNp4lHzNP67WQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAD3162d6z4oEzGjXxwF7+/rfde/20bnvY4CdNuiyPukRVzk+vWKjgwtXmE26Ylw0frgX34bIwtTCsOmAtCq4XlNDoUeV5spCqAIxE82I8oLD9Rw9fxugRPkIzIhrrKdNcl4h0mXWQrzUb20/83I1KRI//+k6HHKIgz3K1zXKO/f40af8DORtGk1oAo9R1WqvXKkTEh7mWYBJiCc91ci33UoexISupYxK4zvfSdLhsX/yRfbdNO9DesvmWOCUsG/kimk544CLr3zv0XQ0Lnw+SrDwHV2E8jJhygQCMU2vdHCTinT7WUyEKxS78gpp/FQ+ZnOJUdujqaqRRY0PvLxyuQQ==\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"933a0526ca3344da9719d1b4353015b1\"}", "STATUS_CODE": "200", "cache-control": "no-cache", "content-length": "1237", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:33:28 GMT", + "date": "Wed, 13 Oct 2021 00:56:08 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "611b7e40-3ae3-4e0c-4b93-b550c9326439", + "x-ms-client-request-id": "367be6a8-0c22-49a2-5e24-61b8701d60aa", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "6876879f-f212-4115-b8d8-84da7b037d10", + "x-ms-request-id": "922ffedb-89d1-4408-a1f3-88657935fab5", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/certPolicy/pending?api-version=7.2" @@ -61,25 +61,25 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "c2d525de-c9e6-446f-5e30-48862f590aa9" + "x-ms-client-request-id": "3c75024b-c5ff-47f9-62a6-f70c45a08fea" }, "Method": "GET", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvTkrkBwaWRHcw2De07MxKJpPoOxwSE0KEgJOlH1/xWI/OOvie/SSQhYnWrMCfhWbmE8YCT/LKpehvxaJh2zMpE+EjFBtajaQgKIRZxHVFZXnyOvIPhn2O0Jq1vFzEixhwCF8ZTJ59MUcpcva9/UFDEBM0xoahrzBYEQ1DmsAr0ef1Tjg3BTXvL8hetsAvCtGdRxP45cJOj6Wtiha6nvf7ycRamQWWBgji1RL9IPr5mbIOG3Iw9xBVv4Kdive4Z0I763NomApyCGCbEK8OiQbDyVf1e46E9Zg82ONYNC9RnuPSHde+ZZ2QmQtqZgNf5KPBgAFNA75fAQVt7KxWk0bAQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqLeuRrTPQUmNx+Tgcc3PIkAWDDEBfRqwFifpIogxHB2oVbfEOZ+14A3/wQnleCQSqbtrb76XwcMyA+gj3o2kATj9HhIR+cDJB4wHo6q7JwvycN/dw8ggQTlzKNv0Ibe+VXmbJSrBiSwqkA3vEsrzNqH99HZ7/awfJHtGW4JcgzoNFK69RKrbNPa8MSWAnJDiBdkLcpta2iows1/pv02aGWFJ39J6ud3yYoCF3UCVuUrGbI2eqnNBpw4SL/21TWFZB9R8bdF4pqUXz0B7ex4geXn3sfhCsikNn86TTRTlxkjeMu4wXjJBm/V4Pgb00TdE2OMGovlxoopLasS/RyCMig==\",\"cancellation_requested\":false,\"status\":\"completed\",\"target\":\"https://REDACTED.vault.azure.net/certificates/certPolicy\",\"request_id\":\"1563c46626b74c938a861a0f5ce92673\"}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAycyDYmH6aYd6soLMPRzSbzKDnuDfb1mRBa6lqvrkE3K9IVJUnHf17QnIcjk4FPVhvH+41LVGvgk6Pqkc4v6CQOkb58ZbYaSt3+LzPBwDPG2t9r6ltUmF6Qug71BJ+X7bZorPDABWC9LWunk/3ZhV1bmHjegox5MwITDORJo7GHXO6+bK7bXriFDFO1MZiIh5J3gxUCJeFt34TqYee7wBPoPHn3WRExZa+2TG7ZT3hK6/wPv00Pbq1c9W20sFO3+fH+KeexGMQQv3fupMM/PrxHIF913X6/Ww59FpdYU8F+mr+t77/hmsY5gNNBcyujPLL1ds36UHtgNp4lHzNP67WQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAD3162d6z4oEzGjXxwF7+/rfde/20bnvY4CdNuiyPukRVzk+vWKjgwtXmE26Ylw0frgX34bIwtTCsOmAtCq4XlNDoUeV5spCqAIxE82I8oLD9Rw9fxugRPkIzIhrrKdNcl4h0mXWQrzUb20/83I1KRI//+k6HHKIgz3K1zXKO/f40af8DORtGk1oAo9R1WqvXKkTEh7mWYBJiCc91ci33UoexISupYxK4zvfSdLhsX/yRfbdNO9DesvmWOCUsG/kimk544CLr3zv0XQ0Lnw+SrDwHV2E8jJhygQCMU2vdHCTinT7WUyEKxS78gpp/FQ+ZnOJUdujqaqRRY0PvLxyuQQ==\",\"cancellation_requested\":false,\"status\":\"completed\",\"target\":\"https://REDACTED.vault.azure.net/certificates/certPolicy\",\"request_id\":\"933a0526ca3344da9719d1b4353015b1\"}", "STATUS_CODE": "200", "cache-control": "no-cache", "content-length": "1145", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:33:58 GMT", + "date": "Wed, 13 Oct 2021 00:56:38 GMT", "expires": "-1", "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "c2d525de-c9e6-446f-5e30-48862f590aa9", + "x-ms-client-request-id": "3c75024b-c5ff-47f9-62a6-f70c45a08fea", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "2448f578-4f68-4124-ba59-dfa20192f63f", + "x-ms-request-id": "14ae6481-e3c7-4b0c-8f5f-8a8247b7f39b", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/certPolicy/pending?api-version=7.2" @@ -88,25 +88,25 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "34152d29-43cf-44e1-7067-edc53e49a627" + "x-ms-client-request-id": "d4704ec9-d711-48f6-54d5-9d9103c319b3" }, "Method": "GET", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/96879775f7294d088949be1e56640a2e\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certPolicy/96879775f7294d088949be1e56640a2e\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certPolicy/96879775f7294d088949be1e56640a2e\",\"x5t\":\"sdAdFXJXjaqi_Hm2yOj7JjiDIPE\",\"cer\":\"MIIDAzCCAeugAwIBAgIQZh2Ywub9Ro6U3WtA1tvi3DANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDA3MjMyMzMyWhcNMjIxMDA3MjMzMzMyWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9OSuQHBpZEdzDYN7TszEomk+g7HBITQoSAk6UfX/FYj846+J79JJCFidaswJ+FZuYTxgJP8sql6G/FomHbMykT4SMUG1qNpCAohFnEdUVlefI68g+GfY7QmrW8XMSLGHAIXxlMnn0xRyly9r39QUMQEzTGhqGvMFgRDUOawCvR5/VOODcFNe8vyF62wC8K0Z1HE/jlwk6Ppa2KFrqe9/vJxFqZBZYGCOLVEv0g+vmZsg4bcjD3EFW/gp2K97hnQjvrc2iYCnIIYJsQrw6JBsPJV/V7joT1mDzY41g0L1Ge49Id175lnZCZC2pmA1/ko8GAAU0Dvl8BBW3srFaTRsBAgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFBlblUgl5i+6/mlufYx1TBPoOpKmMB0GA1UdDgQWBBQZW5VIJeYvuv5pbn2MdUwT6DqSpjANBgkqhkiG9w0BAQsFAAOCAQEAblMkCSgeiXXLVIWpI9AUD2HK4U1cEnJiT+6Mtn1KLVj+XsfzILGgWTIeRHbQFg4ezNkntQ++CCDJYSuLtk6PTATNtSdgE0UH4eeo3U7Jo6w6wjughUOq5xD1JH191Ml61KQUdM/b7q8QKb7n0mu01s3cfUqSqcGtgY0jgq/ZLkgFYupkSgd5bw7ejjbqi3aQbmw35v4j3731bEwAnspwEO4icQ4Zn/fHe+rEwfPoPSRYAD88k6LiVVq6mqqpJP0CCeotX9Pny0VJXPtNUbdivRy00r5nlYR2acJFLaPL6X4ZvxFoCnZKVIkbE4HaZ3Fync59Z4rPekVxgU/GkYtU9A==\",\"attributes\":{\"enabled\":true,\"nbf\":1633649012,\"exp\":1665185612,\"created\":1633649612,\"updated\":1633649612,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1633649608,\"updated\":1633649608}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\"}}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/db7057d6a920421f982f4ebd679b1cba\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certPolicy/db7057d6a920421f982f4ebd679b1cba\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certPolicy/db7057d6a920421f982f4ebd679b1cba\",\"x5t\":\"HlV72HGI-yejv7tMB-fqHb2C4UM\",\"cer\":\"MIIDAzCCAeugAwIBAgIQWyzsItmrQPO4WoBAuwMRbjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDA0NjEzWhcNMjIxMDEzMDA1NjEzWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJzINiYfpph3qygsw9HNJvMoOe4N9vWZEFrqWq+uQTcr0hUlScd/XtCchyOTgU9WG8f7jUtUa+CTo+qRzi/oJA6RvnxlthpK3f4vM8HAM8ba32vqW1SYXpC6DvUEn5fttmis8MAFYL0ta6eT/dmFXVuYeN6CjHkzAhMM5EmjsYdc7r5srtteuIUMU7UxmIiHkneDFQIl4W3fhOph57vAE+g8efdZETFlr7ZMbtlPeErr/A+/TQ9urVz1bbSwU7f58f4p57EYxBC/d+6kwz8+vEcgX3Xdfr9bDn0Wl1hTwX6av63vv+GaxjmA00FzK6M8svV2zfpQe2A2niUfM0/rtZAgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFOhXxS5mEcciAdjhhA/5Ylr2JiopMB0GA1UdDgQWBBToV8UuZhHHIgHY4YQP+WJa9iYqKTANBgkqhkiG9w0BAQsFAAOCAQEAK7Gwpk6vhTFFpJAeSq2mOifOpo/aIY86F8DHIGHmLXM0fvtg+pjHBmuSENh5GE3/71rfyrsSnseUJEVEm5P9CuQ9LAgYrFMslCgGS3lGb7OE9sUGBkgR7b0Qk6MX3IPmAIMmnw4GksA65zfmGK1dFxv1M32hp8j8CpNcGkYGze4dLhOCp17+KeyTbMwvEFPRUiSx7fkQHCAju9spIzI8jtKFg69yGOtd26v1stzkjzorFn/+ymjvyuLAmu4pu8hFcTBkO7VfSCBJ3c7R3pqks8uGRhvxs0cXRl1vRGmpJV8z98CZaltLeEOEC/tHQQSKMKr+eWsmFgHAxB6a5PO/bA==\",\"attributes\":{\"enabled\":true,\"nbf\":1634085973,\"exp\":1665622573,\"created\":1634086574,\"updated\":1634086574,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086568,\"updated\":1634086568}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\"}}", "STATUS_CODE": "200", "cache-control": "no-cache", "content-length": "2205", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:33:58 GMT", + "date": "Wed, 13 Oct 2021 00:56:38 GMT", "expires": "-1", "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "34152d29-43cf-44e1-7067-edc53e49a627", + "x-ms-client-request-id": "d4704ec9-d711-48f6-54d5-9d9103c319b3", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "c9f4835a-5c97-4818-8250-79164842e80b", + "x-ms-request-id": "1feca830-8883-4e6a-beaa-043e665ea422", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/certPolicy?api-version=7.2" @@ -115,28 +115,134 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "5d310870-049f-47c8-4815-87c02a93d796" + "x-ms-client-request-id": "39d1fb40-0f96-4042-63b3-66cab9260302" }, "Method": "GET", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1633649608,\"updated\":1633649608}}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086568,\"updated\":1634086568}}", "STATUS_CODE": "200", "cache-control": "no-cache", "content-length": "552", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:33:58 GMT", + "date": "Wed, 13 Oct 2021 00:56:38 GMT", "expires": "-1", "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "5d310870-049f-47c8-4815-87c02a93d796", + "x-ms-client-request-id": "39d1fb40-0f96-4042-63b3-66cab9260302", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "6a30a919-3d6c-4c0d-b6a0-5f99d53fa2e2", + "x-ms-request-id": "9c1eeb0c-cb74-495f-bd8c-9b220db8a3f9", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/certPolicy/policy?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "f7fdd194-9db5-4e1d-494b-1043fef9bf72" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedcertificates/certPolicy\",\"deletedDate\":1634086599,\"scheduledPurgeDate\":1641862599,\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/db7057d6a920421f982f4ebd679b1cba\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certPolicy/db7057d6a920421f982f4ebd679b1cba\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certPolicy/db7057d6a920421f982f4ebd679b1cba\",\"x5t\":\"HlV72HGI-yejv7tMB-fqHb2C4UM\",\"cer\":\"MIIDAzCCAeugAwIBAgIQWyzsItmrQPO4WoBAuwMRbjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDA0NjEzWhcNMjIxMDEzMDA1NjEzWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJzINiYfpph3qygsw9HNJvMoOe4N9vWZEFrqWq+uQTcr0hUlScd/XtCchyOTgU9WG8f7jUtUa+CTo+qRzi/oJA6RvnxlthpK3f4vM8HAM8ba32vqW1SYXpC6DvUEn5fttmis8MAFYL0ta6eT/dmFXVuYeN6CjHkzAhMM5EmjsYdc7r5srtteuIUMU7UxmIiHkneDFQIl4W3fhOph57vAE+g8efdZETFlr7ZMbtlPeErr/A+/TQ9urVz1bbSwU7f58f4p57EYxBC/d+6kwz8+vEcgX3Xdfr9bDn0Wl1hTwX6av63vv+GaxjmA00FzK6M8svV2zfpQe2A2niUfM0/rtZAgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFOhXxS5mEcciAdjhhA/5Ylr2JiopMB0GA1UdDgQWBBToV8UuZhHHIgHY4YQP+WJa9iYqKTANBgkqhkiG9w0BAQsFAAOCAQEAK7Gwpk6vhTFFpJAeSq2mOifOpo/aIY86F8DHIGHmLXM0fvtg+pjHBmuSENh5GE3/71rfyrsSnseUJEVEm5P9CuQ9LAgYrFMslCgGS3lGb7OE9sUGBkgR7b0Qk6MX3IPmAIMmnw4GksA65zfmGK1dFxv1M32hp8j8CpNcGkYGze4dLhOCp17+KeyTbMwvEFPRUiSx7fkQHCAju9spIzI8jtKFg69yGOtd26v1stzkjzorFn/+ymjvyuLAmu4pu8hFcTBkO7VfSCBJ3c7R3pqks8uGRhvxs0cXRl1vRGmpJV8z98CZaltLeEOEC/tHQQSKMKr+eWsmFgHAxB6a5PO/bA==\",\"attributes\":{\"enabled\":true,\"nbf\":1634085973,\"exp\":1665622573,\"created\":1634086574,\"updated\":1634086574,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086568,\"updated\":1634086568}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\"}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2346", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:56:38 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "f7fdd194-9db5-4e1d-494b-1043fef9bf72", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "a2ae5223-7de7-40e2-bb11-f1fd67465f2c", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/certificates/certPolicy?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "1a37bf22-fe49-4639-517a-2ab0bccac572" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: certPolicy\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "94", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:56:38 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "1a37bf22-fe49-4639-517a-2ab0bccac572", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "4037aa93-ff8d-45b4-9ef8-c2f487f8a2c9", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/certPolicy?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "d64c94ce-cb98-43b7-761b-29628ccbaee9" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedcertificates/certPolicy\",\"deletedDate\":1634086599,\"scheduledPurgeDate\":1641862599,\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/db7057d6a920421f982f4ebd679b1cba\",\"kid\":\"https://REDACTED.vault.azure.net/keys/certPolicy/db7057d6a920421f982f4ebd679b1cba\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/certPolicy/db7057d6a920421f982f4ebd679b1cba\",\"x5t\":\"HlV72HGI-yejv7tMB-fqHb2C4UM\",\"cer\":\"MIIDAzCCAeugAwIBAgIQWyzsItmrQPO4WoBAuwMRbjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDA0NjEzWhcNMjIxMDEzMDA1NjEzWjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJzINiYfpph3qygsw9HNJvMoOe4N9vWZEFrqWq+uQTcr0hUlScd/XtCchyOTgU9WG8f7jUtUa+CTo+qRzi/oJA6RvnxlthpK3f4vM8HAM8ba32vqW1SYXpC6DvUEn5fttmis8MAFYL0ta6eT/dmFXVuYeN6CjHkzAhMM5EmjsYdc7r5srtteuIUMU7UxmIiHkneDFQIl4W3fhOph57vAE+g8efdZETFlr7ZMbtlPeErr/A+/TQ9urVz1bbSwU7f58f4p57EYxBC/d+6kwz8+vEcgX3Xdfr9bDn0Wl1hTwX6av63vv+GaxjmA00FzK6M8svV2zfpQe2A2niUfM0/rtZAgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFOhXxS5mEcciAdjhhA/5Ylr2JiopMB0GA1UdDgQWBBToV8UuZhHHIgHY4YQP+WJa9iYqKTANBgkqhkiG9w0BAQsFAAOCAQEAK7Gwpk6vhTFFpJAeSq2mOifOpo/aIY86F8DHIGHmLXM0fvtg+pjHBmuSENh5GE3/71rfyrsSnseUJEVEm5P9CuQ9LAgYrFMslCgGS3lGb7OE9sUGBkgR7b0Qk6MX3IPmAIMmnw4GksA65zfmGK1dFxv1M32hp8j8CpNcGkYGze4dLhOCp17+KeyTbMwvEFPRUiSx7fkQHCAju9spIzI8jtKFg69yGOtd26v1stzkjzorFn/+ymjvyuLAmu4pu8hFcTBkO7VfSCBJ3c7R3pqks8uGRhvxs0cXRl1vRGmpJV8z98CZaltLeEOEC/tHQQSKMKr+eWsmFgHAxB6a5PO/bA==\",\"attributes\":{\"enabled\":true,\"nbf\":1634085973,\"exp\":1665622573,\"created\":1634086574,\"updated\":1634086574,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086568,\"updated\":1634086568}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/certPolicy/pending\"}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2346", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:57:09 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "d64c94ce-cb98-43b7-761b-29628ccbaee9", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "5c1aee3a-d025-4fe8-9575-c313ee5c6058", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/certPolicy?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "0243be4e-f5cd-4a2a-4a9d-56fd90cb7ed4" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 13 Oct 2021 00:57:10 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "0243be4e-f5cd-4a2a-4a9d-56fd90cb7ed4", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "8c644e7b-0a02-4540-a3a7-f5e2121ac070", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/certPolicy?api-version=7.2" } ] } diff --git a/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.UpdateCertificatePolicy.json b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.UpdateCertificatePolicy.json index 8a54e5ddf..edd738748 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.UpdateCertificatePolicy.json +++ b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/recordings/KeyVaultCertificateClientTest.UpdateCertificatePolicy.json @@ -4,27 +4,27 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "d3e6195d-100d-4653-4d58-a729de14a47c" + "x-ms-client-request-id": "53ec0016-6c76-43cc-7052-fea76f4b1f89" }, "Method": "POST", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA10feChrRnLp+/sDvxvctiJnrwfL1s7FehGYP7OACZoezhhmaDOIyokd91hqfrGInFbzyI2wpb9GZkLR1Bc94g6wNrb8V2pKIG4ya8s5uWKSpcog6H9eeHzfasYOhqBzQzmT6MsvMYd5FfwItgTXzd3u70T/wXr2joiP0L1YX7xwoVJkUet1w3VHxR6j6z9o5GIIxYn282KiwMC+2j2JhitxitU5ky0NsM92erfFOu9RkHP/QotMDOhV72x6q4vKIjlhT85HTgCDr27Z0ly+XnlV83M/kHb02MdeCEZjYlOw/9LzM9mQwUOCRtp6qo+onyrPymh7WETAA1qqOc7I5WQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAJ/Cf73NH+MzWsti7NWWvsGv8Xfuk/J4Rsr99g0ovPj51weIipct00nbRhbMWdTJ9v0EkRlJw3HPc1VCBWBeLx3ovTd8lT6VV9ZgtxQ7QECAMnoQWe4zBSqJmdphwSdJ7YgZPCU+8iaV1Cjz7X6weoUMJeMcJS6zaMrEru0/V9SA7xC+zeeNMz0S44gQKxIZVQYnRFLhIaobDunWrCgemdp9CgZ9sqHB9C1CuhYncum60aMmHnDpj7+VOvS/Bw7PoHqiNq1Q3MdXwOY2rh36zq7gT5AKtIQVzP52kw8n38tCBANo77Kx6V8FrmpCtTCPJu2ITUBRF1PHFkYHHa20F4g==\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"dfecdbbfe81c4eb5b63b25c90e98620f\"}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Oi7hlAjELugag2XYeuCzNjrIMNpI5KygGmKHuIhwZ+0f7feLUlrMzrhdZJjwKLOLwYuzBaTyGw+7gb5kyY9MYsIBKEwgHsUEMiT2PVb0Psc6o3sKd1r3n/bkD1LRD8brXNUKcrFRYObCD5wslnhKqcfKJlCctj6YVsA6gSoL6p/3gBnZGS9aUsPXoepzLD4I9aYWeEA1xTnFqF4fZAoCVvx/hOUDKcUyG7viT2fcUWiCG2DVvqAQ+bdsOrflRQPejRTknzddCabmyeiZo9NYx1SmLpIa9maB9+QPrT5/St1jMXfYvoQahWs8f6rd17k/P75zUDqPi5X5q+6XGKVyQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAsEaK+nuVUUvBGXWuVWHaSDOIYmO/Dr3s2jsXEUYHEaYzg/PdLWRDNQTfahq2ZGBLeXDgP0k8dKcigK1s42pUy734IaD3ay+sg8AKWW9DbOUC0lMnQHOWHd/4nwyOhWf1X0exTG3SoJ0ltoug5SE7waHQbBWURjcJHSFhzRUDvFCJ8zRhU4KlWH/oGIUDUGfp+MbSmjXvDzMF6dTJzo9dKSklPjBt7ZhDi3XFpiMSh4pV12cz1uHrbCwEJ21T507Ce84MI7J9nW1lhITt6J68sBE5YZGwlcnCeY1eRdHnpAJzTW/j+CsV4u+/GLbBq5AbLKIZzAgUkbcIdnEZGicnyg==\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"228ff8f8576f4c7a9a7c826dd777326f\"}", "STATUS_CODE": "202", "cache-control": "no-cache", "content-length": "1243", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:52:45 GMT", + "date": "Wed, 13 Oct 2021 00:57:16 GMT", "expires": "-1", - "location": "https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending?api-version=7.2&request_id=dfecdbbfe81c4eb5b63b25c90e98620f", + "location": "https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending?api-version=7.2&request_id=228ff8f8576f4c7a9a7c826dd777326f", "pragma": "no-cache", "retry-after": "10", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "d3e6195d-100d-4653-4d58-a729de14a47c", + "x-ms-client-request-id": "53ec0016-6c76-43cc-7052-fea76f4b1f89", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "344b923f-817f-4bb2-baa4-f0436c30cab7", + "x-ms-request-id": "b5a3ec45-4e64-4a1a-b46c-0d11a9c84014", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/updateCertPolicy/create?api-version=7.2" @@ -33,26 +33,26 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "4352dc35-7a2d-4588-6951-6d996913ffe6" + "x-ms-client-request-id": "885cf144-5db6-4d95-6e81-4e1d1541e9a0" }, "Method": "GET", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA10feChrRnLp+/sDvxvctiJnrwfL1s7FehGYP7OACZoezhhmaDOIyokd91hqfrGInFbzyI2wpb9GZkLR1Bc94g6wNrb8V2pKIG4ya8s5uWKSpcog6H9eeHzfasYOhqBzQzmT6MsvMYd5FfwItgTXzd3u70T/wXr2joiP0L1YX7xwoVJkUet1w3VHxR6j6z9o5GIIxYn282KiwMC+2j2JhitxitU5ky0NsM92erfFOu9RkHP/QotMDOhV72x6q4vKIjlhT85HTgCDr27Z0ly+XnlV83M/kHb02MdeCEZjYlOw/9LzM9mQwUOCRtp6qo+onyrPymh7WETAA1qqOc7I5WQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAJ/Cf73NH+MzWsti7NWWvsGv8Xfuk/J4Rsr99g0ovPj51weIipct00nbRhbMWdTJ9v0EkRlJw3HPc1VCBWBeLx3ovTd8lT6VV9ZgtxQ7QECAMnoQWe4zBSqJmdphwSdJ7YgZPCU+8iaV1Cjz7X6weoUMJeMcJS6zaMrEru0/V9SA7xC+zeeNMz0S44gQKxIZVQYnRFLhIaobDunWrCgemdp9CgZ9sqHB9C1CuhYncum60aMmHnDpj7+VOvS/Bw7PoHqiNq1Q3MdXwOY2rh36zq7gT5AKtIQVzP52kw8n38tCBANo77Kx6V8FrmpCtTCPJu2ITUBRF1PHFkYHHa20F4g==\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"dfecdbbfe81c4eb5b63b25c90e98620f\"}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Oi7hlAjELugag2XYeuCzNjrIMNpI5KygGmKHuIhwZ+0f7feLUlrMzrhdZJjwKLOLwYuzBaTyGw+7gb5kyY9MYsIBKEwgHsUEMiT2PVb0Psc6o3sKd1r3n/bkD1LRD8brXNUKcrFRYObCD5wslnhKqcfKJlCctj6YVsA6gSoL6p/3gBnZGS9aUsPXoepzLD4I9aYWeEA1xTnFqF4fZAoCVvx/hOUDKcUyG7viT2fcUWiCG2DVvqAQ+bdsOrflRQPejRTknzddCabmyeiZo9NYx1SmLpIa9maB9+QPrT5/St1jMXfYvoQahWs8f6rd17k/P75zUDqPi5X5q+6XGKVyQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAsEaK+nuVUUvBGXWuVWHaSDOIYmO/Dr3s2jsXEUYHEaYzg/PdLWRDNQTfahq2ZGBLeXDgP0k8dKcigK1s42pUy734IaD3ay+sg8AKWW9DbOUC0lMnQHOWHd/4nwyOhWf1X0exTG3SoJ0ltoug5SE7waHQbBWURjcJHSFhzRUDvFCJ8zRhU4KlWH/oGIUDUGfp+MbSmjXvDzMF6dTJzo9dKSklPjBt7ZhDi3XFpiMSh4pV12cz1uHrbCwEJ21T507Ce84MI7J9nW1lhITt6J68sBE5YZGwlcnCeY1eRdHnpAJzTW/j+CsV4u+/GLbBq5AbLKIZzAgUkbcIdnEZGicnyg==\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"228ff8f8576f4c7a9a7c826dd777326f\"}", "STATUS_CODE": "200", "cache-control": "no-cache", "content-length": "1243", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:52:45 GMT", + "date": "Wed, 13 Oct 2021 00:57:16 GMT", "expires": "-1", "pragma": "no-cache", "retry-after": "10", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "4352dc35-7a2d-4588-6951-6d996913ffe6", + "x-ms-client-request-id": "885cf144-5db6-4d95-6e81-4e1d1541e9a0", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "e31f5b11-0aff-457a-bb41-47a2cc38ab96", + "x-ms-request-id": "ce510e0b-e291-4280-b6f6-438886f3f2eb", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending?api-version=7.2" @@ -61,25 +61,25 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "07e73b93-28bd-47de-44a6-18509892e9ef" + "x-ms-client-request-id": "e38dc1ca-8d96-4f6f-663c-9ac8425679eb" }, "Method": "GET", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA10feChrRnLp+/sDvxvctiJnrwfL1s7FehGYP7OACZoezhhmaDOIyokd91hqfrGInFbzyI2wpb9GZkLR1Bc94g6wNrb8V2pKIG4ya8s5uWKSpcog6H9eeHzfasYOhqBzQzmT6MsvMYd5FfwItgTXzd3u70T/wXr2joiP0L1YX7xwoVJkUet1w3VHxR6j6z9o5GIIxYn282KiwMC+2j2JhitxitU5ky0NsM92erfFOu9RkHP/QotMDOhV72x6q4vKIjlhT85HTgCDr27Z0ly+XnlV83M/kHb02MdeCEZjYlOw/9LzM9mQwUOCRtp6qo+onyrPymh7WETAA1qqOc7I5WQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAJ/Cf73NH+MzWsti7NWWvsGv8Xfuk/J4Rsr99g0ovPj51weIipct00nbRhbMWdTJ9v0EkRlJw3HPc1VCBWBeLx3ovTd8lT6VV9ZgtxQ7QECAMnoQWe4zBSqJmdphwSdJ7YgZPCU+8iaV1Cjz7X6weoUMJeMcJS6zaMrEru0/V9SA7xC+zeeNMz0S44gQKxIZVQYnRFLhIaobDunWrCgemdp9CgZ9sqHB9C1CuhYncum60aMmHnDpj7+VOvS/Bw7PoHqiNq1Q3MdXwOY2rh36zq7gT5AKtIQVzP52kw8n38tCBANo77Kx6V8FrmpCtTCPJu2ITUBRF1PHFkYHHa20F4g==\",\"cancellation_requested\":false,\"status\":\"completed\",\"target\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy\",\"request_id\":\"dfecdbbfe81c4eb5b63b25c90e98620f\"}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICfzCCAWcCAQAwDjEMMAoGA1UEAxMDeHl6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Oi7hlAjELugag2XYeuCzNjrIMNpI5KygGmKHuIhwZ+0f7feLUlrMzrhdZJjwKLOLwYuzBaTyGw+7gb5kyY9MYsIBKEwgHsUEMiT2PVb0Psc6o3sKd1r3n/bkD1LRD8brXNUKcrFRYObCD5wslnhKqcfKJlCctj6YVsA6gSoL6p/3gBnZGS9aUsPXoepzLD4I9aYWeEA1xTnFqF4fZAoCVvx/hOUDKcUyG7viT2fcUWiCG2DVvqAQ+bdsOrflRQPejRTknzddCabmyeiZo9NYx1SmLpIa9maB9+QPrT5/St1jMXfYvoQahWs8f6rd17k/P75zUDqPi5X5q+6XGKVyQIDAQABoCwwKgYJKoZIhvcNAQkOMR0wGzAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAsEaK+nuVUUvBGXWuVWHaSDOIYmO/Dr3s2jsXEUYHEaYzg/PdLWRDNQTfahq2ZGBLeXDgP0k8dKcigK1s42pUy734IaD3ay+sg8AKWW9DbOUC0lMnQHOWHd/4nwyOhWf1X0exTG3SoJ0ltoug5SE7waHQbBWURjcJHSFhzRUDvFCJ8zRhU4KlWH/oGIUDUGfp+MbSmjXvDzMF6dTJzo9dKSklPjBt7ZhDi3XFpiMSh4pV12cz1uHrbCwEJ21T507Ce84MI7J9nW1lhITt6J68sBE5YZGwlcnCeY1eRdHnpAJzTW/j+CsV4u+/GLbBq5AbLKIZzAgUkbcIdnEZGicnyg==\",\"cancellation_requested\":false,\"status\":\"completed\",\"target\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy\",\"request_id\":\"228ff8f8576f4c7a9a7c826dd777326f\"}", "STATUS_CODE": "200", "cache-control": "no-cache", "content-length": "1157", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:53:15 GMT", + "date": "Wed, 13 Oct 2021 00:57:46 GMT", "expires": "-1", "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "07e73b93-28bd-47de-44a6-18509892e9ef", + "x-ms-client-request-id": "e38dc1ca-8d96-4f6f-663c-9ac8425679eb", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "c409dd13-8995-4576-b014-44337bec4553", + "x-ms-request-id": "a0e0a7b4-9c54-4472-ae6a-e2d51c759644", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending?api-version=7.2" @@ -88,25 +88,25 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "3e685a23-5dd6-49bf-680b-cb097d6db5b3" + "x-ms-client-request-id": "bdf41cb3-e54d-4b8d-6f74-74e86000ee71" }, "Method": "GET", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/7f3523cd441f496cba9d0a3527fca05a\",\"kid\":\"https://REDACTED.vault.azure.net/keys/updateCertPolicy/7f3523cd441f496cba9d0a3527fca05a\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/updateCertPolicy/7f3523cd441f496cba9d0a3527fca05a\",\"x5t\":\"lzEsDdhbMSbXRhKacg38rOBZMbo\",\"cer\":\"MIIDAzCCAeugAwIBAgIQNLj07bVAT6m71b37ZGzQuzANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDA3MjM0MjQ2WhcNMjIxMDA3MjM1MjQ2WjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDXR94KGtGcun7+wO/G9y2ImevB8vWzsV6EZg/s4AJmh7OGGZoM4jKiR33WGp+sYicVvPIjbClv0ZmQtHUFz3iDrA2tvxXakogbjJryzm5YpKlyiDof154fN9qxg6GoHNDOZPoyy8xh3kV/Ai2BNfN3e7vRP/BevaOiI/QvVhfvHChUmRR63XDdUfFHqPrP2jkYgjFifbzYqLAwL7aPYmGK3GK1TmTLQ2wz3Z6t8U671GQc/9Ci0wM6FXvbHqri8oiOWFPzkdOAIOvbtnSXL5eeVXzcz+QdvTYx14IRmNiU7D/0vMz2ZDBQ4JG2nqqj6ifKs/KaHtYRMADWqo5zsjlZAgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFHUIwJROrvCWRon88Is+DkJB+aoIMB0GA1UdDgQWBBR1CMCUTq7wlkaJ/PCLPg5CQfmqCDANBgkqhkiG9w0BAQsFAAOCAQEAKAtTXDGPQFpRB8JSr2A24yN6tQn18lHWnayrcyr5g9WyaZv8b6rYqkJdOTKcWUUj+6JgTIfo4h1xL0TWvoxIVqt6sw77QxUQSYQLa3EvvTtAe9Wbr9nhRfyUcBHAyvn4lYsEN5m5Gw71KW6yn7811ew/HSuhWsjykypzahTdWaiMiAmEY5te5ocReLIEmtnOKRVhSy59EWssuHmRDFCJAWQxZK1BrZrNRGW9vOcainPl0x07cYB/HAtWuarVK0rVkeVYFw+WBZcyBEl6fzPk6h4Q3eBJkAI0eSAMVrvZWMazO57XZzjT0Y1kIAMIqZfwvlrIz5GUbQDN0lJ7oiVcYA==\",\"attributes\":{\"enabled\":true,\"nbf\":1633650166,\"exp\":1665186766,\"created\":1633650766,\"updated\":1633650766,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1633650766,\"updated\":1633650766}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\"}}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/5026586b59f64454a6ab168e85f9b65c\",\"kid\":\"https://REDACTED.vault.azure.net/keys/updateCertPolicy/5026586b59f64454a6ab168e85f9b65c\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/updateCertPolicy/5026586b59f64454a6ab168e85f9b65c\",\"x5t\":\"VI1yvxea-b76qf7HH0PBs0IPFOU\",\"cer\":\"MIIDAzCCAeugAwIBAgIQa67knWURTkyyvT5V/+tcDjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDA0NzI2WhcNMjIxMDEzMDA1NzI2WjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDU6LuGUCMQu6BqDZdh64LM2Osgw2kjkrKAaYoe4iHBn7R/t94tSWszOuF1kmPAos4vBi7MFpPIbD7uBvmTJj0xiwgEoTCAexQQyJPY9VvQ+xzqjewp3Wvef9uQPUtEPxutc1QpysVFg5sIPnCyWeEqpx8omUJy2PphWwDqBKgvqn/eAGdkZL1pSw9eh6nMsPgj1phZ4QDXFOcWoXh9kCgJW/H+E5QMpxTIbu+JPZ9xRaIIbYNW+oBD5t2w6t+VFA96NFOSfN10JpubJ6Jmj01jHVKYukhr2ZoH35A+tPn9K3WMxd9i+hBqFazx/qt3XuT8/vnNQOo+Llfmr7pcYpXJAgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFPTY3rzSRu5mY8ZBUWDvijlg3XqiMB0GA1UdDgQWBBT02N680kbuZmPGQVFg74o5YN16ojANBgkqhkiG9w0BAQsFAAOCAQEAOyjdXZROYeSfPAkaAs4FRvKlXUa4PviFZeRbqLqgqiN6paItgfj0Zvaru9tb+RazeMafrueeGjqGuiMxPsWhFpZi3Ta/OYTEfwYHfo795000Ml0V1bwuk7e9UbMTYhWJ5twZgFSTJxqhUPBQzJAnSaIDmGaHmej64Nv6L4++17P5sr/Lzq17GPpWQg+ZeD9r9xFLbaeWqQHsNETs+kKkZYeeBDc6EQL6GYAGhaCYoRdbfciJJHZxTQUwpHHPU1R3tM7yjhiYemyytQhiDE87SHaIom65PnwU8//d5Fj04URdcPCacr04arORwwVJ4nq4cbnNOqRGMh5wYZkqO6+9cA==\",\"attributes\":{\"enabled\":true,\"nbf\":1634086046,\"exp\":1665622646,\"created\":1634086647,\"updated\":1634086647,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086636,\"updated\":1634086636}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\"}}", "STATUS_CODE": "200", "cache-control": "no-cache", "content-length": "2235", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:53:15 GMT", + "date": "Wed, 13 Oct 2021 00:57:46 GMT", "expires": "-1", "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "3e685a23-5dd6-49bf-680b-cb097d6db5b3", + "x-ms-client-request-id": "bdf41cb3-e54d-4b8d-6f74-74e86000ee71", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "12d15506-ad53-477b-a723-91206494cc92", + "x-ms-request-id": "c4319909-b799-4621-8a18-4f0af90c888b", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/updateCertPolicy?api-version=7.2" @@ -115,25 +115,25 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "f6504888-accb-435e-5fcc-10fbac339110" + "x-ms-client-request-id": "2c49e3d2-ecde-482a-570c-c42da284c85e" }, "Method": "GET", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1633650766,\"updated\":1633650766}}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=xyz\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086636,\"updated\":1634086636}}", "STATUS_CODE": "200", "cache-control": "no-cache", "content-length": "558", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:53:15 GMT", + "date": "Wed, 13 Oct 2021 00:57:46 GMT", "expires": "-1", "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "f6504888-accb-435e-5fcc-10fbac339110", + "x-ms-client-request-id": "2c49e3d2-ecde-482a-570c-c42da284c85e", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "6ea2d89b-6d90-44c6-93d5-14188b664b86", + "x-ms-request-id": "797c15a6-8774-4444-965e-3f1f19efe5d7", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy?api-version=7.2" @@ -142,28 +142,134 @@ "Headers": { "content-type": "application/json", "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", - "x-ms-client-request-id": "c8ee753f-2f37-4428-765d-07c924ac668c" + "x-ms-client-request-id": "8d19951c-ef94-4ca4-5aec-eea07102622e" }, "Method": "PATCH", "Response": { - "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=twa\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":8,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1633650766,\"updated\":1633650805}}", + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=twa\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":8,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086636,\"updated\":1634086667}}", "STATUS_CODE": "200", "cache-control": "no-cache", "content-length": "557", "content-type": "application/json; charset=utf-8", - "date": "Thu, 07 Oct 2021 23:53:25 GMT", + "date": "Wed, 13 Oct 2021 00:57:46 GMT", "expires": "-1", "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-client-request-id": "c8ee753f-2f37-4428-765d-07c924ac668c", + "x-ms-client-request-id": "8d19951c-ef94-4ca4-5aec-eea07102622e", "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", "x-ms-keyvault-region": "westus2", "x-ms-keyvault-service-version": "1.9.132.3", - "x-ms-request-id": "18d54dd3-8d9f-4634-9ef0-1fdc2f1246e4", + "x-ms-request-id": "53512414-c26d-4f50-9469-aef62cb4220d", "x-powered-by": "ASP.NET" }, "Url": "https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "f739733d-44bd-4c54-591c-a18b05f814e7" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedcertificates/updateCertPolicy\",\"deletedDate\":1634086667,\"scheduledPurgeDate\":1641862667,\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/5026586b59f64454a6ab168e85f9b65c\",\"kid\":\"https://REDACTED.vault.azure.net/keys/updateCertPolicy/5026586b59f64454a6ab168e85f9b65c\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/updateCertPolicy/5026586b59f64454a6ab168e85f9b65c\",\"x5t\":\"VI1yvxea-b76qf7HH0PBs0IPFOU\",\"cer\":\"MIIDAzCCAeugAwIBAgIQa67knWURTkyyvT5V/+tcDjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDA0NzI2WhcNMjIxMDEzMDA1NzI2WjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDU6LuGUCMQu6BqDZdh64LM2Osgw2kjkrKAaYoe4iHBn7R/t94tSWszOuF1kmPAos4vBi7MFpPIbD7uBvmTJj0xiwgEoTCAexQQyJPY9VvQ+xzqjewp3Wvef9uQPUtEPxutc1QpysVFg5sIPnCyWeEqpx8omUJy2PphWwDqBKgvqn/eAGdkZL1pSw9eh6nMsPgj1phZ4QDXFOcWoXh9kCgJW/H+E5QMpxTIbu+JPZ9xRaIIbYNW+oBD5t2w6t+VFA96NFOSfN10JpubJ6Jmj01jHVKYukhr2ZoH35A+tPn9K3WMxd9i+hBqFazx/qt3XuT8/vnNQOo+Llfmr7pcYpXJAgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFPTY3rzSRu5mY8ZBUWDvijlg3XqiMB0GA1UdDgQWBBT02N680kbuZmPGQVFg74o5YN16ojANBgkqhkiG9w0BAQsFAAOCAQEAOyjdXZROYeSfPAkaAs4FRvKlXUa4PviFZeRbqLqgqiN6paItgfj0Zvaru9tb+RazeMafrueeGjqGuiMxPsWhFpZi3Ta/OYTEfwYHfo795000Ml0V1bwuk7e9UbMTYhWJ5twZgFSTJxqhUPBQzJAnSaIDmGaHmej64Nv6L4++17P5sr/Lzq17GPpWQg+ZeD9r9xFLbaeWqQHsNETs+kKkZYeeBDc6EQL6GYAGhaCYoRdbfciJJHZxTQUwpHHPU1R3tM7yjhiYemyytQhiDE87SHaIom65PnwU8//d5Fj04URdcPCacr04arORwwVJ4nq4cbnNOqRGMh5wYZkqO6+9cA==\",\"attributes\":{\"enabled\":true,\"nbf\":1634086046,\"exp\":1665622646,\"created\":1634086647,\"updated\":1634086647,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=twa\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":8,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086636,\"updated\":1634086667}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\"}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2381", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:57:47 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "f739733d-44bd-4c54-591c-a18b05f814e7", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "a78a0343-082c-4161-b484-b298f1020060", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/certificates/updateCertPolicy?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "3e5f3bec-a847-4ab2-74f0-f503694c8cc2" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"CertificateNotFound\",\"message\":\"Deleted Certificate not found: updateCertPolicy\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "100", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:57:47 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "3e5f3bec-a847-4ab2-74f0-f503694c8cc2", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "33186ae1-2f56-463e-8527-8991f7467b1b", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/updateCertPolicy?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "59b39abe-5b00-42a8-6407-4ea2bc98fe65" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedcertificates/updateCertPolicy\",\"deletedDate\":1634086667,\"scheduledPurgeDate\":1641862667,\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/5026586b59f64454a6ab168e85f9b65c\",\"kid\":\"https://REDACTED.vault.azure.net/keys/updateCertPolicy/5026586b59f64454a6ab168e85f9b65c\",\"sid\":\"https://REDACTED.vault.azure.net/secrets/updateCertPolicy/5026586b59f64454a6ab168e85f9b65c\",\"x5t\":\"VI1yvxea-b76qf7HH0PBs0IPFOU\",\"cer\":\"MIIDAzCCAeugAwIBAgIQa67knWURTkyyvT5V/+tcDjANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwN4eXowHhcNMjExMDEzMDA0NzI2WhcNMjIxMDEzMDA1NzI2WjAOMQwwCgYDVQQDEwN4eXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDU6LuGUCMQu6BqDZdh64LM2Osgw2kjkrKAaYoe4iHBn7R/t94tSWszOuF1kmPAos4vBi7MFpPIbD7uBvmTJj0xiwgEoTCAexQQyJPY9VvQ+xzqjewp3Wvef9uQPUtEPxutc1QpysVFg5sIPnCyWeEqpx8omUJy2PphWwDqBKgvqn/eAGdkZL1pSw9eh6nMsPgj1phZ4QDXFOcWoXh9kCgJW/H+E5QMpxTIbu+JPZ9xRaIIbYNW+oBD5t2w6t+VFA96NFOSfN10JpubJ6Jmj01jHVKYukhr2ZoH35A+tPn9K3WMxd9i+hBqFazx/qt3XuT8/vnNQOo+Llfmr7pcYpXJAgMBAAGjXTBbMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFPTY3rzSRu5mY8ZBUWDvijlg3XqiMB0GA1UdDgQWBBT02N680kbuZmPGQVFg74o5YN16ojANBgkqhkiG9w0BAQsFAAOCAQEAOyjdXZROYeSfPAkaAs4FRvKlXUa4PviFZeRbqLqgqiN6paItgfj0Zvaru9tb+RazeMafrueeGjqGuiMxPsWhFpZi3Ta/OYTEfwYHfo795000Ml0V1bwuk7e9UbMTYhWJ5twZgFSTJxqhUPBQzJAnSaIDmGaHmej64Nv6L4++17P5sr/Lzq17GPpWQg+ZeD9r9xFLbaeWqQHsNETs+kKkZYeeBDc6EQL6GYAGhaCYoRdbfciJJHZxTQUwpHHPU1R3tM7yjhiYemyytQhiDE87SHaIom65PnwU8//d5Fj04URdcPCacr04arORwwVJ4nq4cbnNOqRGMh5wYZkqO6+9cA==\",\"attributes\":{\"enabled\":true,\"nbf\":1634086046,\"exp\":1665622646,\"created\":1634086647,\"updated\":1634086647,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{},\"policy\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"CN=twa\",\"ekus\":[],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":8,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1634086636,\"updated\":1634086667}},\"pending\":{\"id\":\"https://REDACTED.vault.azure.net/certificates/updateCertPolicy/pending\"}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "2381", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 13 Oct 2021 00:58:17 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "59b39abe-5b00-42a8-6407-4ea2bc98fe65", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "f79b4553-9ced-4b96-8d3e-c4683f1073ce", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/updateCertPolicy?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-certificates/4.0.0-beta.1 (Windows 10 Enterprise 6.3 22000 22000.1.amd64fre.co_release.210604-1628)", + "x-ms-client-request-id": "e09641e0-36cd-4de0-60f0-e27b2376ef86" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 13 Oct 2021 00:58:18 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "e09641e0-36cd-4de0-60f0-e27b2376ef86", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.132.3", + "x-ms-request-id": "d7c23098-b213-4b25-af10-9b5135bc96ce", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedcertificates/updateCertPolicy?api-version=7.2" } ] }