swagger: "2.0"
schemes:
  - https
host: azure.local
info:
  description: The key vault client performs cryptographic key operations and vault operations against the Key Vault service.
  title: KeyVaultClient
  version: 7.0-preview
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/keyvault.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: keyvault
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
parameters:
  ApiVersionParameter:
    description: Client API version.
    in: query
    name: api-version
    required: true
    type: string
paths:
  /certificates:
    get:
      description: The GetCertificates operation returns the set of certificates resources in the specified key vault. This operation requires the certificates/list permission.
      operationId: GetCertificates
      parameters:
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - description: Specifies whether to include certificates which are not completely provisioned.
          in: query
          name: includePending
          required: false
          type: boolean
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of certificates along with a link to the next page of certificates.
          schema:
            $ref: "#/definitions/CertificateListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: List certificates in a specified key vault
      tags:
        - Certificates
      x-ms-examples:
        GetCertificates:
          parameters:
            api-version: 7.0-preview
          responses:
            "200":
              body:
                nextLink: null
                value:
                  - attributes:
                      created: 1482188987
                      enabled: true
                      exp: 2208988799
                      nbf: 1430344421
                      updated: 1482188987
                    id: https://testvault1021.vault.azure.net/certificates/listCert01
                    x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
                  - attributes:
                      created: 1482188988
                      enabled: true
                      exp: 2208988799
                      nbf: 1430344421
                      updated: 1482188988
                    id: https://testvault1021.vault.azure.net/certificates/listCert02
                    x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
      x-ms-pageable:
        nextLinkName: nextLink
  /certificates/contacts:
    delete:
      description: Deletes the certificate contacts for a specified key vault certificate. This operation requires the certificates/managecontacts permission.
      operationId: DeleteCertificateContacts
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The contacts for the key vault certificate.
          schema:
            $ref: "#/definitions/Contacts"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Deletes the certificate contacts for a specified key vault.
      tags:
        - Certificates
      x-ms-examples:
        DeleteCertificateContacts:
          parameters:
            api-version: 7.0-preview
          responses:
            "200":
              body:
                contacts:
                  - email: admin@contoso.com
                    name: John Doe
                    phone: "1111111111"
                  - email: admin@contoso2.com
                    name: Johnathan Doeman
                    phone: "2222222222"
                id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/contacts
    get:
      description: The GetCertificateContacts operation returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission.
      operationId: GetCertificateContacts
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The contacts for the key vault certificate.
          schema:
            $ref: "#/definitions/Contacts"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Lists the certificate contacts for a specified key vault.
      tags:
        - Certificates
      x-ms-examples:
        GetCertificateContacts:
          parameters:
            api-version: 7.0-preview
          responses:
            "200":
              body:
                contacts:
                  - email: admin@contoso.com
                    name: John Doe
                    phone: "1111111111"
                  - email: admin@contoso2.com
                    name: Johnathan Doeman
                    phone: "2222222222"
                id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/contacts
    put:
      description: Sets the certificate contacts for the specified key vault. This operation requires the certificates/managecontacts permission.
      operationId: SetCertificateContacts
      parameters:
        - description: The contacts for the key vault certificate.
          in: body
          name: contacts
          required: true
          schema:
            $ref: "#/definitions/Contacts"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The contacts for the key vault certificate.
          schema:
            $ref: "#/definitions/Contacts"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Sets the certificate contacts for the specified key vault.
      tags:
        - Certificates
      x-ms-examples:
        SetCertificateContacts:
          parameters:
            api-version: 7.0-preview
            contacts:
              contacts:
                - email: admin@contoso.com
                  name: John Doe
                  phone: "1111111111"
                - email: admin@contoso2.com
                  name: Johnathan Doeman
                  phone: "2222222222"
          responses:
            "200":
              body:
                contacts:
                  - email: admin@contoso.com
                    name: John Doe
                    phone: "1111111111"
                  - email: admin@contoso2.com
                    name: Johnathan Doeman
                    phone: "2222222222"
                id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/contacts
  /certificates/issuers:
    get:
      description: The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.
      operationId: GetCertificateIssuers
      parameters:
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of certificate issuers in a key vault along with a link to the next page of certificate issuers.
          schema:
            $ref: "#/definitions/CertificateIssuerListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: List certificate issuers for a specified key vault.
      tags:
        - Certificates
      x-ms-examples:
        GetCertificateIssuers:
          parameters:
            api-version: 7.0-preview
          responses:
            "200":
              body:
                nextLink: null
                value:
                  - id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/issuers/issuer01
                    provider: Test
                  - id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/issuers/issuer02
                    provider: Test
                  - id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/issuers/issuer03
                    provider: Test
      x-ms-pageable:
        nextLinkName: nextLink
  "/certificates/issuers/{issuer-name}":
    delete:
      description: The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from the vault. This operation requires the certificates/manageissuers/deleteissuers permission.
      operationId: DeleteCertificateIssuer
      parameters:
        - description: The name of the issuer.
          in: path
          name: issuer-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The issuer for the key vault certificate.
          schema:
            $ref: "#/definitions/IssuerBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Deletes the specified certificate issuer.
      tags:
        - Certificates
      x-ms-examples:
        DeleteCertificateIssuer:
          parameters:
            api-version: 7.0-preview
            issuer-name: issuer01
          responses:
            "200":
              body:
                attributes:
                  created: 1482188806
                  enabled: true
                  updated: 1482189526
                credentials:
                  account_id: keyvaultuser
                id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/issuers/issuer01
                org_details:
                  admin_details:
                    - email: admin@microsoft.com
                      first_name: John
                      last_name: Doe
                      phone: "4255555555"
                  zip: 0
                provider: Test
    get:
      description: The GetCertificateIssuer operation returns the specified certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.
      operationId: GetCertificateIssuer
      parameters:
        - description: The name of the issuer.
          in: path
          name: issuer-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The issuer for the key vault certificate.
          schema:
            $ref: "#/definitions/IssuerBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Lists the specified certificate issuer.
      tags:
        - Certificates
      x-ms-examples:
        GetCertificateIssuer:
          parameters:
            api-version: 7.0-preview
            issuer-name: issuer01
          responses:
            "200":
              body:
                attributes:
                  created: 1482188806
                  enabled: true
                  updated: 1482189526
                credentials:
                  account_id: keyvaultuser
                id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/issuers/issuer01
                org_details:
                  admin_details:
                    - email: admin@microsoft.com
                      first_name: John
                      last_name: Doe
                      phone: "4255555555"
                  zip: 0
                provider: Test
    patch:
      description: The UpdateCertificateIssuer operation performs an update on the specified certificate issuer entity. This operation requires the certificates/setissuers permission.
      operationId: UpdateCertificateIssuer
      parameters:
        - description: The name of the issuer.
          in: path
          name: issuer-name
          required: true
          type: string
        - description: Certificate issuer update parameter.
          in: body
          name: parameter
          required: true
          schema:
            $ref: "#/definitions/CertificateIssuerUpdateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The issuer for the key vault certificate.
          schema:
            $ref: "#/definitions/IssuerBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Updates the specified certificate issuer.
      tags:
        - Certificates
      x-ms-examples:
        UpdateCertificateIssuer:
          parameters:
            api-version: 7.0-preview
            issuer-name: issuer01
            parameters:
              credentials:
                account_id: newuseraccount
                pwd: newpassword
              provider: Test
          responses:
            "200":
              body:
                attributes:
                  created: 1482188806
                  enabled: true
                  updated: 1482189526
                credentials:
                  account_id: newuseraccount
                id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/issuers/issuer01
                org_details:
                  admin_details:
                    - email: admin@microsoft.com
                      first_name: John
                      last_name: Doe
                      phone: "4255555555"
                  zip: 0
                provider: Test
    put:
      description: The SetCertificateIssuer operation adds or updates the specified certificate issuer. This operation requires the certificates/setissuers permission.
      operationId: SetCertificateIssuer
      parameters:
        - description: The name of the issuer.
          in: path
          name: issuer-name
          required: true
          type: string
        - description: Certificate issuer set parameter.
          in: body
          name: parameter
          required: true
          schema:
            $ref: "#/definitions/CertificateIssuerSetParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The issuer for the key vault certificate.
          schema:
            $ref: "#/definitions/IssuerBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Sets the specified certificate issuer.
      tags:
        - Certificates
      x-ms-examples:
        SetCertificateIssuer:
          parameters:
            api-version: 7.0-preview
            issuer-name: issuer01
            parameters:
              credentials:
                account_id: keyvaultuser
                pwd: password
              org_details:
                admin_details:
                  - email: admin@microsoft.com
                    first_name: John
                    last_name: Doe
                    phone: "4255555555"
              provider: Test
          responses:
            "200":
              body:
                attributes:
                  created: 1482188806
                  enabled: true
                  updated: 1482189526
                credentials:
                  account_id: keyvaultuser
                id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/issuers/issuer01
                org_details:
                  admin_details:
                    - email: admin@microsoft.com
                      first_name: John
                      last_name: Doe
                      phone: "4255555555"
                  zip: 0
                provider: Test
  /certificates/restore:
    post:
      description: Restores a backed up certificate, and all its versions, to a vault. This operation requires the certificates/restore permission.
      operationId: RestoreCertificate
      parameters:
        - description: The parameters to restore the certificate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CertificateRestoreParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Restored certificate bundle in the vault.
          schema:
            $ref: "#/definitions/CertificateBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Restores a backed up certificate to a vault.
      tags:
        - Certificates
      x-ms-examples:
        RestoreCertificate:
          parameters:
            api-version: 7.0-preview
            certificateName: testcert
            value: JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLm85bmpNWEFSZWVla2NaRXBsVTNjdUxQcVZlWmxFbGRDM01XOWpYR0h6bnBXRTdHRGVOSXJraGZscHdTWXFnQnBYQkozMFpUQkRpRmpROENXSnJfUGlsUWNDRkZyN0xrdWJhWUs0TW1zcVh5WGIzbkRJcUJkQmZIUVNpZ1ZET0J5Ym9sUlRNNDYzYjBTbXhLVzJheEdFS2NuZzQ5WFkycG1SR0Vrb0plcHJWZ0tyRkpOUGQ3cGJIS3hQSWdDOFlnT2xudnZxR280RlRDSzh0ZWotcUt2UzBfRGV6Uk5vdTZqZ25SekpxX0g2NGxWMk1hQ0NnUy0xbTlyOGVOTVVvSlhTV1hwc0lneng1RzdEbzIya1ZEY25vMW9rajlCMXNvbklkWmtuY1JybDJBVHNRZVlzZXdkUVd1VmhxRzVLN0pNQWo5YzBRdkxhTmlpdl9PY2pFcm5qUS4zbmI4azJ3SEcyNHFJelNNb184WG13LnJzc3NMNjJ1aUNfTm9IbG5zQlgzcEEtck1uY3g5R3V2NmJYSHpKamxwOWNMUnVaSDBSWlJYVXRwU3BPQWdyZ20tU3BxeEdWSjd2bmprbV9FSzJwYy1sZHNjUWtRSDB4bVFVcGZFNzN5b1VTYTNXVVNMS2VIVnJLdUg5MUtJR0tLODE5ejc5d1Y5Y0F3UjlzcHJxbFFWZnlKdlNFM2tnZTh1RVBpRFFVMFl5WnJqVjBsMGJCU3VkeTN1MVlsVHB6Wk1EWmpUcE05ZGtMclgtaGdxZ1FGa2xFa1hNRWlzd0RDZVM3Y3J2bFg1bnVzbWh5SkZCMklCd3dxNWJieHptV1diU3JOc3lFMmJmWEpXOWN4TFlQcnJJZFpfbkd0X29RSGVQcUFZTS1iVnpTdzdBRGJjMU15NTZwclBGLW9PSm40MHptOTBaaFBTVGMyQXNKRGFBa3R5WFU4WktOYUhFVUlHLWI1SGhUdFBuZ20wN0FrWEtQNngwaDhzZ3ZIaGdCeGpfdWRfQVpQc3pLWG1HdUhFTW9lRGhpT3NkQVdRR0pwR2t0NHVlbmZyamNSeXVlaXJiTC1RV3o4MEtZUnk1QklxbzVJc19RVHpWN2dqMGstYS0td24tazNsNTJ4YjhaNkRXd2tWZ3hqUlNXOXZnV0pVd2U5M1ZrVWtHM3NLRW5SOE9ueTNjWlhQVl9LbWtBTEdlR0ZzQm53SmQwY3dueTBCN2I5VWQyQ19kWEZ0N1BvbnFVNldfT016cC1Nb1NtRzRHbEFpUkVfQ3FrWlhkalhIMVItSmpObUNfdXlPUTdaN1BVaDAtNmd2YUxpcE1CamlWR1FwdzlEZDhmVmtCbWk4VW5uOUxPYXJmSXVtcEJyUE43TTJhM05KdjN6b0NkanhZVFVUMTN1aElpYWl3aExoUFZhT2pUbFRmTkpqbHhIbG5lbGJ1RWJsZTk0bVV1bW8wcjhKRlFMSDdfRjhXMVo0OC1BcjhYYXJwMXhIY0FReHk1WWYwclktdUU1dTAyRnRHUHlPZ0JfNV9WdFlNR2VfRE1mdENLOGVMZGFnVllMRDJDNDUxTldZeVVfeHdNUWdQbXBaMWFnSEdCb2s0ejhsSFBndVhCQ3R2WFFuTHBXQTVBamdOLWNoWjNwUGJmc2RkNjBhekJuWDVaVXQza2hYaWNDdWk4b0xidEtzQUdmckNOZzFwT2Q0MHBHMEJlVy1lNVE1WWQydjY4eFh5a2RiTXhFblFCM3Fzd1djVlh1QXBIR18wREZVVmZvSlc2aVBZcDNWVE51amM5M3QtMDcxWnlZbUZ4V0RfVThMYTAtM19RLV8yZ0pwMVBaVV8tMVBRM1huLXdSWk1vb3JkZGZQa1VPZ0lqdWkwa1IwZWt5RjZvdWdLNnJrSVZHaGp3YUp0ekdKczJLdGxncnRCcEs2MXZEaE5zbFR5VHU5OUp2T2RFTXhwRG5lTEg4NnlvVnhxT3lIT3lxNjByXzdpTHgtdy03Q3FzWTloT3dmQlBZZ3BQVlM2bm9oZVBocTkwaGJTX0lrM21YbnRkRUNMREtSMi1wWFh6bjlPRjZIN09EdHB4S0VXQkdCaHJ0Ykxmd2JZS3dmWmZSVTJVUHpkLUxFd1lQdDloU203Z3lSODNoYkZiSFNBV1cySncxRWl1c3FURWRsRW1lQ3k2cFp1MVFZWko0TUQ0OG5rVXMwdmVHUVhTU2Ytb2RhQm1fYjZZdVh1cWcyWk03MlZjUTd4ZzV4MmpFenFqcllmdjdTTGJINFZBcWp0aFg5LUdRaWEwWEZaS18xempIenhkd1B0R2lSOHJfMkFFZTgtRXFoNi1FaTZKdjRFZjYyMnRrNWFJUWx3R1pETWpGSVNuUkpRdV8xcnJiY1E3enZsbWhUSWFQcUJNRFVxeHBEOXNWUlhuSHdIaTl1b1BCUTllbWJIMkV5WDV6MEhWRXlDa1JEbUd3cmR2RGdsOFVzMUhURjVwYXlYZmF2WkZUZjl3WFZyQXpsRFBEQkFJVFMzWnVJMEJWR2pJUGV1SnRiako4S1pTczRFQVNRRTVyVjViTUpNQXcwa19nYkVRTEZGSjJVb0ZzcWU1QUszM2xGXzR5cGMxU0JaWjJfUzYtbEQyNkpyRFVJSjFFRmJhbWtoUk12bWJIT1Utc0hDT0lRcHdadlJzV3Q3NExSQ1ZyQ09jMGpUdE5TT1JPUW5XRHVXRlFXSzk1TkRGMG96WjIyLVFEMU9YOE9iU3daaHdOXzNfS1pHRmtVMEhNdzNjSTI5LWUxbFltRDV3cmJ0ZlRFbllOeHJKOGpuUWFBY2FoNy14Q0JKeUQ3elo1MXIzRVVyY2VnazBzc1dLeHRPVjRLcTZENmxuVmU3bFpUT1dfTU5aZi1JSzJUbnZCaVZIMHk0SkVGaUxzSDJHbTM1d28yYlZVaXJsT1ljVEk1NlZhdDhMRWhGaEotVlUyNk84NHo2dUJFZmJucEZLbmdKc3pfYVlucW1zNWV1bmd3ek5ndjdlT0U0cUdKSURyMTRBUXRWdEYxcWdrZHNnVllWVXg4U29SQ0NobE5VUzRNRGxhc1hwS1VmV19ENWIxbDRkbXZiNEZNRHJqakJ6djk5dGJSeGZFYUVOSFlYTHZFZnJ0b0pMeW9na2tmNkxlbVoxVDZRbnRtNlR4S1IycU81WU1vMnRJZHlQNmZNRmkweEYtdE1IaHNSdVN3VEpybW1nREcteHVpZllVNkpfaElSNkMzVmo2VkFMMW1oZy0xeW1pRXZuanVLbElONzc4NmFWdVNpNmx5TjJJNzZqY0R6SHZ0VW1ibkVvWWtORHNPQXdqQk9MNFBlS0VjR1hWcm5YNDJhNW5IRWM2cmZQdjZ0Q2tVSUI0UldIdzEyUTFiNDM2N1JvRS1PTWN3TnV6ampob1M0S1ZJbHo4UEFMOW9YYTR4NXlQeG1aVzZ0UUVna1pKeFhEcS00SWRtd1UzTnpVZUoxdGpNaXFsc0xRWDdlc29fTHRtTWJ3bm83YkI3bjRlVnZ4aUtQU3p3dW94c25aaGs1b3ZSSE1xU0NtZjU2MjJvUTZvWEdmNUJLWExlQWdqaE1Sd21razEtUzlGajlyc1hlT19VYjJOMF9hVEFLemlidXIxNVcxaHI3Wk1PVFlxOFlSSGVPaWxSX3Bkdjl5NTlDRDQ1WmE0ZXFURHVrNmRxZ1d4YnoyVVVtMnpwM3pvTHVKSVZ1Y3FIaUVRTVNfMnFKcy1xQTAwT2FFY3huZTM2Q1RsZVNwZjF5cjh2VjNWNW1mQU5zRnJBa21CMnBRWTNfZ21UbldTYTJ3UWlMa2RFRllPSExTeEk5UVowNHo4ZFRfbW5QMmIwWV96N3ZLa0VGQmFpNU02UFdPWjVIOUx1M3Rnay1fR0g0ODd6ZHpuQm0weWZZY3ZIOHJUd1QyQl9UZVRFMG4xcWFRdDRiQ0diUkFQNE1DTDl0SGlIcmlzWEllejQzZlZ3b1c4R2x4YmxKanlLWkpXbmlRNjlBYks3SmYyUER6d2NVSHhkZU5HNGxEZmt6WmFxU2lybGRzZlhXOHBGLWZ6WFVVWHR4eDF4Um5nQ1hJVkxLbU5ZbV9CNnNrNGo0VzROVFMwQTBOcFhsZGJCWjZWWmFDMDNvRHVGUFY0MGtwdWQ0WEd3Q1l3M244ZjFHb0Z6Sk42QjFqOTRLeTdtNE5YT1JsQ3ZaRW5qZTl6T241T1d1ZG9USWRoRzBobXVDUTZ6TXI2YkVaTUFoV1ZFdlREY19iXzZsOWdLWmVxNmVtekxvcmptOEQzLXcyLXRBYlE2Tmpjd0J3eEhMZzlCRllRRFdvaU9UVmJKN2VBcUVFMHVxVkhBcE9KbFVIc2tmQy1uV3NzOV9fRTFURHBLcjRfRE93NFhPUGNzT3dlVU9EUWg3cVFXRE1ZcDVHU1poVWE4MVVHczhmemZKU3JPbmtaTmRVTS10Y0h3R01mX3didy11dmt4UFUtV0tvNUNqR2M2aU5KMDB4MjZZdUpCWXd6TVFyeDBJQWgxMjVBWlozX2FvaFFpLWw3a1pZVE82Q0JVOVZsYllNMndrZXp4ZGhrQ1oxd080Z1NNbDlKU3A5ejhxNV84SU1WM1pma00xV1VqSGZMQk4xRXdFMjRxZFVzcWxyU3NZN1hQaVlpcXQ5ZktXVmZDTWw4RU0yd2ZHYlhxMUI4eWl2UlpMcko0eEk2MUdVUWJFVGU4akNTYTF2aUxxZ0FIa25IYjVjVHIwbDRhTW1EZGZKWnJxZEdpb1lPb2IwdHBuc3IxanRfZm1obGhJa1NSQnREUk5XWEU1OXBjVXlULXpyVjBxZl9sOHN2TlNEV2N3d09YQ3lITWZzLWw0T29xMldVWTVLQi1nSG1HYUJod0oxa19ra3V2S0hlMl9TY0loc3JjTXV1eW5aLW14Vzl5NHBBS3pvdVFsQjR0ZGZvbHdSRk5KX0tHYWJPZXJiWFdDT0ZTd0JVTjdNaG0wOXNyVS1VWG5od1IwdTYyTjVvMDlfbGN5eThnWDg1ZUVrenhuOGZ2NHd2T0Y2dUd1cFk5UGxpSTRLMTNqSHlOd0ZuY2VmRlp2b0dxVlhkcUg5RGJkYS0zY1FhbVFlNmlMek0wRDlnLXlFc2NBTkpKS3ltelVzemZZdV8yY0p0TEhsd0I3NVhLeW1EMG9nUkRvRkRwTmNPd1dRRUlwdVJwU0pfdWtzR2EwZkd3MGVBTU4tQmc1OUs3emhRWHJISUZOckN1S1VPMVdvTkV5WkM2UGlKSUwtUlRsTFQ2WlBNZmdSZzZiUl9aQk43X2dseHBIakNDaFZXMkZ3MnJFUDJJX1pSeHFqdS1WbmVwV2o4eU1CaHZXZzdXNm9QWm1odmVtUTBkQUljNVZTbVVaelhvNFVURmJxSFN2MGlyVTNscVk2eUl1MGRPd2t2MlF4ZENfQVdRUmdLSGRUeG1xYXFUSXJwclZyUHZ1MDFQSGlFbVRnaDZZVEZ6Yllqb3JEeFExWDhlTUN5Rl80cWNjMnhOdTJRblBIdUR0RGZkSy1NV2xJUDhHUEhSMmhPMjlCa0JJSEM4TlgxZmxDN1ZSZkZsQ09McGVIeWl0MGRSd1d2S2tieGNIWl9fRE5ZLVBNQlZMZGpyR3lxT2JoQnpQZHZMeFpXWVU3THNRbnM1dmxiMTc5YXczX3VmclRIWGs0MVpjaDY2ekFRRl9tekQ3ZEVuMm1fb2tBaTh6NTRwdzdxUDAwNHkzenNPd0RmR0htYWF2c3dGMW5NMUN2YXhXajRINE45dVNUaV9DM1oza3lTRHlUNGdUZjNqc0FKUEJybXdSQVBpaU5PTTU3c0x2Y3dJRk9ENnA5QkdWbjFwbjQyZGRTU3A1M3JieTZEcnlwcHdDaDFrampQX3lCbTZRZnd6MElGUWJiSG1zVDNVa2RMb1dURjFSMF9sbjJtR1kxU0hHT2o3VHl1YnQ5d2xLVW5nczVMTWhVcHo3NU1LR3F6UkFnWXNKcHVKUVl1RVpKeGFPSHNmY2VwakdrcFdoMEtfWkhZUEJESzIwOFVqb3FqMDdlVVVueTBaXzJrNXUxTjQzWGJ3V0ZvWVBhdndheW1MYkhWdkRwbzdwMU9JT1IyNkt0SzdPeGlnZ0ZybGVISWNaODFwQzRCdlNzRnZsY1BCZEpHLTZxWTU0Q3J0R2xhaDRvQWplUXgxWS1YU0NLNnZLYUIwWnZHc2lIajhRQ0ZURjRuLUJqTWIzWDcycDJ5Q0tPRlpMRk5qcVR1aHJoYXNnMi1pWTNOTWdwVEQ5eVBSdjA2X1VpcEVfYjVsQ0R0Mmx5QU5NYVpZR1RvSmJTSVhBcFlyU1hEM1dFWllhTGUzQmFSUEJUYTAyeWpyVFZPRDRGNHRFR3c5MkZJZThOSk5NYXRXMFhPSFAwVWxKTXlQUDF2MVdvOUh5aFllaDFfdWg3SlRLcS1hWnJjOS1Xd0ItQXBKTHBQeGxmRzlGZkgwdjNwSTl0Z1VndWJmSkJQVjMwNll2MlNqQ0M2MmVYN3VFTUgzcXQ3TmFYcFVsNXZEVHpfMF9Vc3VlWERQcDNqV01XQTMwenFaYTRFT0dXdElMb0tEM1RjRWNVcmJONGV1bHFQSkFNcWdWdmk2YWRGdTgxU2w5cU1rVVUwaWpqMjZhZDFaeVlEUUZtWlJ4NjJYUW9ZdG81bXJ0eFZhYWtNNndqbkVPSUdJaHhBTnJoX0dNVzVxREhzMEV6TDU4b3lOY0Q5dE1MUC03N1FCbTZwUTFsR0swMVJ6Y3FzTk14ZzRMTzl2ZHQ3NFpIdEhMXzA1TjF2TUt4TE5GbkdhZmwxN1E0eEM0Z3NQeXpYdzBjcklyV2tIQlNQX0NoWE94SmZORWdyNjJOMXEzQVJZa0U1TVlCbzctM3djb3dNT09GcTlrakN1ZGpoekplRjRTUHdfMnFVWVhZRTZsNXJTYjYwUFlFSkJxdW82Skh5ZmdlOXFJX0Rzdmg4eEY1STJfLWtLT2pxU3FZam02NjU0cXVES3phQ3JWLUJFLWtQNF9DOU5OQ0xTaEVWUV92Z3hYdDhzbTRWNGNRMElDRmFzaWV6VnNuV1QtYmRQTGxBT2RqOS15RmhYVTRUYVF3YnZqQ0E2UHQ0aDNVWGdnQzNqWU5IMmJtRGpYSzhFdFJYRTV6cmJsTDRKMFZ1OGxHQVBZaGtOcGNOakNrNWhSSW5jT0dybE9aUk9jdTdSeVczR2JWM2Y1MGJKN0xLNHJjMnJCMTZuemhBdk41WXlydWdwQzdCOE9OR3NTY25ha1V1alJzRzZGYVpydDNzTDJMOW5RTUNoNE9INFF3VWpKWFZKUFJ2MHhPTF9jVEQtdjk0QWgwbWdtcFJ2Q1dhUkl5MXRxeDZHTmZ1R1Nyb0tObmtHYjRiRE1oblpZMmwxQWluWHlCMG5uRGlvci1EUmo1cjhRZi1iaUR6cGhTallzZTZrakdLR0ZObzU4WjFfaGxEaGFob1pQX1lRdlBtWi1Tb2pNaGhMRXZqMXEyZzZWRVd6a1FDWTdIWVEwM1Y3cHVCVm4yaXM1NXpBSGV4cGpERWoxWDgxWU92bnVTdXRhMGx3VkFEMkRoNjZDcmM2VVh2SEtUZTBCeFlsQWdVdkhQc1BkSy1OdVk4S3RaeGNqTWNDVWM0OVl6VW43RVBTamFNaHJ2Ni1mM0pwc09Na3JwREpLM0dPTUVRMUV4cnhYV1lGaGtLaHR2UXZkMXZCVS12b0pRcWJveU9vS1hMM29Xb0FRVnljWlR3Y2laeW4wbUtkVF96NDNFZGhNcDNKS3N5blJ3OVZtSzk3Q3lldGl5LV9HaWVMSngtWDladVMzOUdNa0YxaFVmYmkyc3FJZGZMZ0diem5uMTluTlRVUDlOR3dhaWhybU9Ib1lZeUJ6WE4tby1UWUxhSS01bkNuQ2FSSW9QTF9XSVhyWDZPSzdZU21IWjk4a2xJS19JNTlPSXlWSllrMVh6bGVwd1lPLXUwU0x6bTEtN0dKSE54RGVOMlZhUEk3TThVem10X0x5alliWWxocFFJQnNyUktsMmZZeExKaGt6Q3NjcWp2bVhDemRLVDNhNFV3NDJ4eDlsOWl6dFQ0UmtnV21fYV9YWWk0b0gwdjNCUXRSZ3NfUTBPaGo2T2Y2dEtyZU5XZmcxVDRjMk01SERJd3UxTkl2QXBqNzZtOXJWQkdPWTZFUnhfa2Y3d2twb1g5dWRvcjBCbEx4a1FCc0lwZXpUdzc1MTBncU81Nm1UWXlBUzFCUVdOY1Q2aWhfN3F4ZTVoUkVlZVB5YUpFMnhqR2JNWGg3V1hGYjN0ejVWVWJOTFpxMjBiM3E0UFdkdjJXX1Foc2VUY0JTRDY1eVFPYndTai1UcVpNNi1teUZHb3B6dVdfRWcxU3pzNzRaY3RMSUxyN3pMLXRyeC1WTTVfVHllMVZXbG9ZOTZVYUJyUktpQWU1SVhKMlBQd2RIY1p4SWx4N3dBRXdueXVOZXA2b2NKcXRwZUJ1elB0LTFaX3UyWjZrQmR4V0lpYlVEaGxOU3AxM1NkTGw0Z2hkemVqZWFaYVllRDVtTGltWWJ4dEhsQ1ZiTm0yNU1ZbDYxMFU3QlZnNVJJSXB6VUdmZ2Z5NnpJRzRLQjBMR3BISzNhdHRRUExvQ1VlTDRYNVdBUUFsb3BRa0RKOU5lTHFGdHN4cWpZaGJnZ1Z5am9ScjNPOVhzYzlJVEtVaXJaUDlyTVl0eFduT0tUck9YYVk2WVR2Wi05QUhpT3ZfdTRhOElTS01DVng3OUlnXzdqTjFfREhjdGd5cEEzVnpkbjNKdlJJQTlfbHZDV2dTSS1NUjlPQ19xekhIUmU5dENqWklDVzhwRURSYVhZOHc4UUQ0bXJicmFLTTNsWmtTNUF2NVp2WjFRTDJlZkExbXlJdmN2czhmekxRUFM0Nm0xX3ZPVzcxN05ydDQzeUcwbUZxZnk4aExaZEUzQ2RkMzRtVVFXWVdqSkdvQXZ0VHBXRmpwWkwwOERjQUd0RzVzdkU0Mi1WWjRqSVVYQ2JsemZaczl3N2VsNThvRkJLUng5dUJLby1PWmYxTVloVEZrSlU1V3YtUEVreXRPSVpfU09nZVM2RTVMTUZsOVpZenZ0QkJuWWF0bDY4NGpEdWx0STh4LXpmSHdwUEFwNk9CQVpxalk3S3JoSVJuVGRoc2Y1VUpCcmtvU1JGUFlaaXE4RjJLWHA2Nm1PbDMyRm5RTVprMUlDVkxiYVpnUFlWNnl5UXpZdEdhbjhOc3BFTG10RWkwMVlTZE1ySUxkUF9TVTZwXzJ1NU1oY0RPMDF0Y2hwMHp6eUVfTVp4YWJodXpMWUVIeXJvYl83cjFKdWNjZUQ4SlM5T3JBdEk1YXdsbEhGSFRRWExOWGJuTHdTQ2JrdHNiTGFoa05ya0ZXR1RDNFRzUlBfYTlHMVhFTE5DRkhaMVhvS3NsQTdMMzFGaWpyNFpEYjRQeW5hT1BrSlhCcEx6MGNLN2FmeFVxNWlySHhZNEQyVkdNT3gwUmc5UEJJeE1vdzN6TmVGZ3Y5dzRTdkJ5VUpQdjNGV3huX004M3g5dldiWFh3bU9LbHlLNVpWQi11LWxKVno5Rm81YWRfVEtwUkxqSGdNWURKNU9Ka2dhaEFQMmhOaG9lb0FicnBPNzVYT2tYZ3pONDdwVW1kdzhmZV9FN3ZSeUREZi1LNVZNS2UzOXRPSi0xRmxtemJVc0pET0lScHp5WVl0Y2Q4cGtPU3JQYnIzMWdJNFRIUjJHV2xwZWJCZ3VhYmppck9UTjI1Zy02MmRPWWVKNHVwNjI3MjdnbWNQWF9EYmJfSFdrTnVLaXBmdkJ1UmVNN2J1WE9LVzg2bllHSW5ZNzJZZ2lvYVpIaEJnY3pHbktuUUlkWTJ2U3NzQ3E2b1FSUGJqeHRQZ1gxT1h2bXNucmNBencwN01ULTNueWF1RDBfNG90RGJueF92dm1fM203ajBwcjBGUWZ6NWs1UEVNUG1sOFVhenFxX2xEU3djV2JOU21JbWF3OWt3U2NXN2xrOUViNTRLRTRhaWt2bVRxXzRuN3lkSDNQblI3bC1RMXE2X2k5VWdHUVFfSmk5UDZQbmszQzd6TTVYbDBpYllEVXVUV2FUdlRrX2ZjaXo0VUJXWkV1T0lLU2xZaHVBVzFQUTJPU3NiUWxPbDU4U3ZvTEYtS2w3TmNkRXRBODJVWjdkLVFCN2xKNWFCcnd0Vmx6TDFxX2Y1UGd6a2NtcW1pLVViM2tUQ0xlNjJYbzN1MmFvSnNTQ0c4bXhwZkJ6dVFVVkk3WXdTa2ktWUtNUnlJSGhuOG9xRDNQS0xMbHk2LVZkZy1VREE1RWhhLXA0TnZYb2lLb3ptRHdBZFFpeG1IcnJTdUEwWmh0eE14N0FSc0pqc285blZKR1BOSzhCeTMtbXQycnNOOHlMdHpyRXdkUzBtLW1sRHRKak9CWHJ1NmhWOFBPeV9vSWVzYmJtWkcxSk96Tkl5YmhPOWdNakpsNTBSQXVmcW1sSXJpOEVXQk9vdzdVT1RKQjgtTkR6VzVXdWNiS0VLOGotdWtSYXhhQklPcTJBTnI1Tl9hTEF2RFpmalp1cDl1RGNTc2FUOTNWR0dmQlhHX1BYRlhGWnNtd2NnamxsQWN3bkhCS2V6QWd3SnprRXpFaEdEOFhQMVh0dXJPZHh2YTRyd2ZtVG1yM1pHVWFmY0tTUm5malpnVERSVThVRFd4ZjRwMjB1T1h5RzBBUzlJLUF6WGN0Nm5EOFVQUlB1WDQ3UG1fN05mdWFVTkt4SEZ2RFdOdWYwcVE1OFlvZmhydjJlRDlzUFJFWV9CWjhXWm9IYy0tbVZ5MmM0aDdvTTUzQlFKbTQzRzNkaXotclRwWE0xUDExakc4em5XU3RBQkJxbW40LXdKVVl1UGpDV0VtY29qdGtRZEZmcjQzRUNqTzE1SDJaZGN6MkphZmpUcmxPdWlQOG96ZjEwa2RTYjBURTFVOXI1dHRIU0ZzOUxPVlZHVjJnQUxjUGtMU3R0clgwMXZHMWZLS1ZTRVI2TzlZM0pZYW02X0FwU2xONnlRbmlqM3NJTzdKc2xYdHhaMzY2bXI2Vnl6WmphajVVODlJSjdJUlY3eXBkOWtuZy1RRlZMT0FhRGU1eENvZG1jRjY4ZGp4LTZBVWpQWnBHOFYxVG04OXh5c3BTaU40M0lmLURacTlaMXFjSXNDOUJ4XzlxTHE2S3kwNTIydnBKWkw4NEdCZElXM0FuUUdKbFY2dkRXbThpcF9LMjg2NG8zcEg4UTdFWnpqc05KZ3p6RFU2SkU2Y2psTVdhMDR5dkVMa2dnUm9feVM1MWUzam1BNUFFdWpXLUJ6TXlzTjVkeUpiZC1HcnN4VFltck1wMWI0dFNhMXV1ZHBSdWl2cUFLdV9qbTBvYTA4UHZqRjJyNjRXYXZQZHVxcUs2VGUtMDc1RkFQNHFEZE5ocmpJSHpneWEtUWowY2NCRWtZbUo3di1mUWxneUxzaF80bHJZQmVyWnNCMDM1Z2Z2b19CakQ0Q1VWVWFTRkRya2U2OE41N1prblU0UkZXN1NNQXViaE93WjlCd1pmT0tuajV3bDhfemRFTDVLVDBQUm5IejRjQk01OTZGNXhleDFORzNqME80Y3JDbzVod0xMMUVwMnVweVlULXpfTkdkT1MwMG50bGt0dnNKMGFZSURuQy1SSDRYcUdBUXlpY3hJVzNnTXh3LUNvYlIyUGdPa1dLTVBJN2xFelNLN0VKcjZkZENmblhHRF9scE9HSXgtUTROdjFOU3E4VGw1dkRtdmdOXzZCOEhHbmV5bXdpQUlJZ3NpWWhfUmR0NnBrdWJLVF92aFkwMTI1WWZkck9NaW9keTFLbEpNR3NJNGxqX1dJYVRHQjdoY1dtY0stMy1NNWlZVnJUSktaR2RZbUFobXI3bkZVT28zWFFCZkVVZFpKb2Itc1R6eDdNYWttd2JEcHdQdHB5OXFQem03akI0ZC1yYmlncDI3azRTYlVFOXNFWTZVeVVJVk80Y2l5R3ltZThpOEdLY2dSWXJ3YTZmVlItTnNvcm16dmd5eGZVcDFGWDZuR0xNbE5VMDNEblBVU0JLT1RWTzVnM2JuNG1DNWI3anBVQnUwQTk5R2ZkTEJGaXg4dURwR2NsQm51TFhncjcyRFdCRmFKeldkZXNZbTlaLWk0WDBaUTh4cVZwdGpXTnI5Sm5sVDlLeDVKZXdRSHZkeXRRdHRaTXc3TS01Unc5UHJreklWd1JPZE5PVkxwRWl5RmVqM3YyZmJGRFVoRmg2ME00NWRMQ0hqU0k5eC15dDZ6LUVtQlBpdGtkcWpUT3hLam1qVV9WNzIta09tVndhZkY3MzdTcVRKa0lpWlVic002bEJoQ3Rxd2cwNi1DelR4U1pMYVgzOF95dE51aUY1S0JfcXVwcU54SGJ4TTVZN0l5SnJUcGR4MG9qNFZzWDlxWkFjTGxCZnRNaTFUSTVLMkJRSERSNW5FY2UwT2J1SWpjdlNrcjNYMmZwUWQ1cHlLdnBXcXpNbnNuQ3NsVnYyWUY5ZDZHVWFKeHlfQ2MzRVJqOXZIMnRJb2hBckh6VzJlN1lNUTRyQnducnowOXc0aWNnNG11TDdVSnVsVnJLcjdJS3FDYjJyWFViTDBIRUVrTUd3T0pISEVnVWxlYzRGajRNQl9ZNnh4SFJuekVKMVVBRXVTeDJaZG9Bd1JsSjMwRHZYTWMxcFo0NWktYXE5eV9oOFJxaUZSUlQwSktjYzFpeFA1Y1JWRmVpbFhKWXN0cDV6X1pKZ1FrSTdCQlBaR0M2bkZ5RC11LWh4MzhQN0IzQjdUUzdoWVlXdm9ETFpGSkI0a1ZGRUhvNlRKdWNDVlpJaEFMdHlfN3dreFFxdU1mMFNOREQtV0FPWUJkY3JpZzZmYnNKSVhvc2lMSWNDM3hOOGw2X1dzNk1UMXdXODZkcWRUWkJnN1Z6YUlnREJ2RDRNakRLdjk2M0k2c3ZmeG5FWWNEQ3dDalo5M2JwUGRJd0htZEY1ZE0xTGZVLTExMktBN3dCQTJWYjU2cFdBMWk2QXo3Z1N6RXhQRkZvVkNBdFlJUnBFcHh5SVBaQUVHV05zeDNpNEk2Z2lyZi1hUmFWejFXUURCemd3ZDd3TlpqV2xrRVlyRFBBZTFPVnl0bU9HQWlGZmZiQWVPaVF0V1lzMHYzVGFTOGcydk9peXRvakE4ZzM2dDQwQTB6T3pKYnlzUUM0Z0hjODJuVDdQUDJBTFdPU0RLTmxSX2M0eHFWTkxjdlhxZHFBNmpVRlBUY1FONzk4U1FRbGprcmd1bzhEcGxTZTBnODl1VHUwV0ttcFltSFA0WEtmeXRGRWlBR1FDSmIwZUl6NVZsTlAyVnFiRGRMcW1JSzhuNVlNSUtDY2ItY0FUdGFoRXU4QkxQcVE2VC1aa2t4MF93M2RmZjhVX3ZCZUFwS090SERMWUVqcTBnVktxUHhaUWczY3RJS2oxdXJPeTIybnJ5aTlnZWZVc2QzZUYyMnBCQkx2YWVWSk96QUZndk5YdnRiTXFsUW1CXzQxNG1tVGVtaGFlNktjOW9KRF9sLUxKWDZPU1FISlo4MHQ4Ql9VZkdacFZES1NubmFmMmY4UHYyMy1EUmlGNlNyQ0ZKN0d4TEhUNXJSNzU2MW1YUlV5Qy1leWtocVI1ZFZSZDZhOVQwSGY0TlZSbjJiaVdxeWhPR2VUa0hKazE0YllOUFdYTm5XSHl1VTdyNEZoOVVsb2lES2xIQjQ0VjlmYS1YMzE0c2VHZHRqUFNLdWhFRHBMeV90VU95aWU3aThJaGNIaE1XOHlFNi1Oa0lZSnF4cU5EbjAwdUkzSEhEUWtGYzFQV0RYdlVIcnBJUFRJcFFBQ3c1dkNWT2JpUmFoQVBJM2tFRFh4ZkY1S2VLMXRuS1hsZWRxQmRIc3lCUkZuNnp6T1p1UHdOWktKNHlYVDhoS2wyamQtNTlqdWpibDBmNF9WdVJFdmVQOW9FWWtTOHU3UmlBVEVHa1lPVkg3MkZXTzBzLVNJWGVRRkQzX3VvWjdrM0xjSm9GVjlXMDZrQUVWY1dURVZGRUlwamtNMy1FYnJSUVdMcy1heWVYQkNFSUxsQ2t0di1LblA2N0pyZFV0bTI2cnFlVXZ5MzdTMTBCTE53YjRiNHBvREhMS2FveGFuZy1iRjZUb29PR01UU01MWXUzaUlLc0R3Wm9kZG1WR0xyQ3FxNWJJR1BFZTNoMnc1RjFNZ1hyVEU2TmFubXpKckh5eHVPc0VyaGctaEpGeGVCcWE4WjZZWFduTXIxNDhLanNoYVAyeVpFSWV6OG81UEc3cWRWaHFRenhYT1c3eEQwSTUycjBvbkhxM1hzcV9SOGhFby1UYVdPbmY1NW1YYTNWMk81LV9XanZxZThWdzdwTUF5dG95dmh2NTVTVk9xcVdkNXNIdGhITzd0OWlMdDNFYVMxX0ZnaU8zVmVENmlvUVBNNjZsWmhaYkpZZHo4b1RFeU9SR09KbkpjSVpqVm1YSlJIbXF2eXZsUlpjdkVMM19KR1hEOEZGNHlBVE0zaGhlNDN6VEJVdk9oYlRjckhNQTRLZjhWczR4cU02QWFsczVBZzRUbVZSSnVLLUVRWFZCaFE0TEpBbEgxVXZzN3lKYTdLM2hsQlZEMWo5WXRWS2htMVhPNFJySTNrZmVxYmxoMTRHQ1NEdnI2OExyTk53SUZsY1JEY1pKalBOQi1GWGhUd25PbW50ZVItOFY0UTJVa19tczdTTm9ZUElWRnJqY1R6X1ZkQ3dYRTFmMjNocHpqQ2tnWGlsSUlNNEpNMkZmcDNTZTY2c1JHc1RXXzBBbF81R3Fqd3ZfZFBYWDA0RHJNMFI5dGljTHhLczBnM3hkSXF1M0huamxBRFU3S0c1Yl9NUmxUdWJCQ3pEamtJQWRRUEFwcUhaWktnODYyLWloMDE4bERfbFViWEwyMGhFNFBNbTE0eEg3R0dPQ3FWa1o3RVU4ekd5Yl9xWHV4RF9LZHFLSVR5eUc2WC00MHhOeTJ1cWpDMmlvVVpiM25Tam5kZWFiX19kbC1jMDBLWkU4RnhTRnRMN0RreWxpTWM2Yy1VQXBhUlZKQy1aa2NBaXlPZ2NBOVZQa0x5a2xlcGRNYXY1Y1J2a3FvTHhmS3RMU2FhS0taWEdveFd5OWp2am5KZHZfMmZDTXlUeFdOUWl6MzI5NG9mNkNNY09sTmc5VW5iaUlHb1JVX20tMHQzamNRWHBrZ0pDWlMwcmQyZ3RGVExYdUVlYU9ZTnJjZ2dPWkVQMkstc19kNUlCU2JqNXE1QS1HYU9hbzFuRmdFOEFlMDdEVXVzeTBYeVEzd0cxb3JIOXUtSUxpSHpyd01Ickx5ZWkwYmpYSm9HcVBuSWd5d29nWjdZRmF6a1ZSTGE4OTBZQjlXR2p2SEdqZ19yYmVabWRDWkFoalNiTlRveFN3bGkxMnh0bl93WkNWVkhlNzUtSGNkTHZHaGgyekwwVjlROG84NFI1NUFKVV9fNjI2REMxT2w0cXVLcEt1Z1EwMHowZElPbzMwcG5IT3hqa2xlcGRMM0dyN3dHNXZsSUJKbXVWMlBReC1Hc0JmX3lYbUhxOXBZZ2RJeXl3ZjNqSjlDcmROYXM1RGNseUExUS1Sa3MzdWtyU3dublN1ZE5OeTNCRlJ5ZkgtbHhWQmpYSHQxUUlQM2JLbjRvNmRPSHNLclc5XzRPVnBNREQ0UjNMRmpYNFM3MDJ5ZmdXSkk5Wld6TDFadk40X2t0Zy1iVHNYOC1zdzJfa2Y3dXVldmJmMkYzLThmM3lvNDNUZ2dQaDU2TEZjbFNidGdaNE05MDRTLWF5SGQ2NkhVbmU5T1Axc1NldGdKWXdZZVN6TTgzY2FUUXVqRVA4bFhEQWxKZGJ0MTRhZ2FValJkNlBNLVVIUGdGUmNtRTd5Y0k4YzNSdWxrVkU2Wk5qeUU4VkNnaFRoN2JMNTJNYXhUcVMzQWJKNUpHak9ESkk4ZTczV1BFZHZPZ1FPNnZvak0xNDFnSjFtaW9rTFNIbXNwVWRhSFdIdkNkc2VHeTZyZmJfYktmeGJGS3FNTEN6T3VKbjhxd3hlNUxJQms2djJCUmNzM1I4ZnI1VjBSQXB5U3J3bmRuWExFRHdVRU90YzdwSTBqajVNeGFJaWxKU1FMb00ydXpiWXZaVE1INklXSndEdU1hNW04MlFCRnV3TWFZRDd6WmNwM0RGb2dFc0N5YnFjZFd5SFBhV3NxQk5GSDRuYXdwRnMwQ2xZMWMwbGZQR1RnTWZJeTRxRnV5U012cHNkYWZORUdBdVFpYU5zRzROSnNJV2NYbFNFQ1FsLVhRaHF2YkpUWE03NldPVTVld0RneGRGeG5WREVhdFRlQWZZaUVEN1ZBelFNUXNFenU4VUx4VmI3RWJzX3RsUW5hU2hVX3E3RjNUVEV3VUpPdDNCeFdPcWFCbmhNdUdOdU5CNXJabFd3YVhrUTFNdGxwOEFmWTBXSF9kX2F3VXdQbUpCQXFEX0xKRncybWVBS25OZl85NlZiUW5iU2J1ME5uejlvTnVXVmNMcWZIeDIzX1JfVVE5enZibTlkaGlSaUxSMnVDUzN2d21XS1UzVG9vbks2c1NpeWNmYnh2QjE1TnFnN2l4UUV6M2U2emVkX3pQYy1GdF91ckRrR1dOTFJ1d2Zyb001REQ5XzQ0UFVvLU1SQ2NiVGp1emxqQmVjOXRUc1NRdnZWVnp3WHdNY004Zl8yWEJxcU5OVl91b3V6dVRPWkFfbkNVTDV0T1dFSXZIZmlDRWxJV3lrS0U1TUFUUVlUY3FRd0VwNUlBeDFDOXdudnZtVk5NcmFFNHpDSDJuZllsUGNIYWpMUGlXcHpUdUR4anJGeFhIbVBUc1JTM0Q1YU1yTmM5emwyZkR6ckJsbzV0Y1pPT0ladlR4X0ExeFA3RlFnNjMtbUZzTGlRZG16NzM1bWVjUEFmdkROMnV4dWp3YXFITGx5NGlLelljVVRjbHFhYV92X25VM09ESUxkcWt1S1pCZFZzZGwwX19YeDdkSlFHNG5nN3kxU0d1V2Z1NEdRRnV3azE5b1hJM0ptU0c2WVZHSW5wSUlNYjcwSy1BREliMlZBWjlVaUloMW1HNmpUZWRHWHJtMzF5b3Jnak1PUlRERU1rYnZCeTFaazVrR0E0V05aSmRKRnlSQUtXT3VNbVZOVXRWcTFWRHpkTkpNdGhaWUZHQUU5MEtBZVlaZDdmaFRSZlY3ZlFYdzhWOENmM3IxdmdMTXJyZ2JSOGwzeUsybFBLMnhMcFl0cVpRanFaREpvSjlwUHBlcHEwRF9Dc1JEcVlDVi0zNE5GbldXWklZQmtmZTRPSGFFZTRlXzNQOGxNVTFKUWlJY1dXWmJ1ZUJXSnlpNDQ1b24wRm0zVzdlYTRnUUJCN2c1MzU4MUJBZW9ZQVRUYnFFV0J0LWU4OS1YMDd1Nk1vSDVKUU80OV9kSW0wNU11VVlrV3ZQODFHNDMySDFPYmgxRUJBNG1WdHYtM2ZqeGVDRldiZHVzTWxxa3RYbXVodjBEVWdmWGh4OEoxS2JaMUdjN3cyT1E4S29KZXNGM2QyTzIycjFkdHRIamdmbHBUZlVXOGFaN2hPZ2otSy0wRHg5dXV3ZmNVVWMwUnd6bkNMbVdqd0lnZ2NfQWZJbVRpd1ljZWgzQzlpVnpLdkcyV3BfZHpCMjgzM3YycGI3SlRKbmFYT3VSSlhiM1JQS0pONGcyVXV1NnNYc1JBd2FlTnVtVVVpM1B5b0pCY3dhZFRsbVVrQ2JNcjJMQzBzYmZkbjNMOHk0bTd1UGg3VTJ1RE5EaGk1LTZaWUNYZE5SRVNzajVrR0QxNzJoUHRSVEV6RzhUeEN6Nlp4dE5MQ004a3pHVWtjS2FLeVctZFdaaFVWRENsZVdnQ3F0NWdvNUI1OEVaV2RJbi1SRTRxREZ5RlBDNDg3bk9nMUVyVmZBN0NHWldha1F2QXN5ZUhKb3dkc0RrdzZIV0x0Y2ZwQTJENHEyZ1Z2aDdraHVNMmwxSE5DdWxNOWJSXzZZYlhuTGlCMzIzN3Zjc1d2bHpBVmJCd0J3WHRQT3RGWEEwc0V3c3Qtb2N5V3Z4WFNsT19kdlhRNUdHa2pLcjhFX1hzM0dvZmlqaHpsZF91OWFROGNTek1XbE5xRGNPWncxdncxNUtaeFNXR1QzcDJ4S1VHLWtSZW1Jc1h6VW91TFdma2RCbk41Vk1tUTdJTXA1RkFfcmdHWnFwVHByaHJMSlVaeTNZN3I4bG1McW15Z055a2FMNWkyVEpIT3RWVHB2eHVzck1LMnUtSzdpbUJVMHlkQndFaHNOS1RWMXlGZng4Q2JZazJTeUo2QVlWeWZLM1FhVEdqb2FFMGxocGNPRUIycmpfUDhFWHAydlJ3TWZsYjBtc2daYTFCOE93d1BXRUJMdlROVjVzUEYycFpUaFlnM2xWVzFjSlZlTlBLRTJfYU1zS0p3UGVIY19YTTNrdDBXVkpMbTBnZzE2ek5EMjlsaUlfNTBjOW1VN2NpVG1hNEd5ZzJtSkUzVkg3VWxUanVkRldmNTZpSEZHNlJpU0FqVUFtMmtBTkNGMjFyb3ljVUhFTGo1aVlQZF90S09vcmJvRDlWRGcweDRDc3BQMmRKZWVzMVR6aVMwNU5qU096cnd4dG5qMTBBZ3kyd3B5XzUtbVl6dVJvYTUtNXVPSFhDRkFNSW5QQ2doakFudHVYUGw5REJRb1ZSMWYwUS1NdnJWQU1Qc3pfaXMxc2xZaTlFT3NDUWp1R2hsNGlxYmVNWWRhbFVZZllGYnd5dktaTGNlZndjaVdpY3EycWhpM2FxaWQ5WkVwVGRyR0FvRjItdmd5cWVsSjlRb2NfSG8xRldZdjFrVUR3RTBmQ2ZlV1FteHBFMTQyYmlZNVNnV01CaE9tVTBKWkt1c0hCV3B1ZWJ1TDVlc2RHVEJwRWtpcEpHWmtQSlB0YzBvTlJSVU90TVdZTTYxbXZaXzRTTFpqOW9kZ2U1akMwMHBzSHVYTUExTG5USDZ0R3FnSDlTd1Izd08zOTNTQnRMRU5oNy10UEVEVWc0dHpJeXAxTHQ4R2dWS09DTl8tc2RCbnlpSjJaNmYwSThEMXVPQnJYN0JGb3E2aHlkOWtMWnZiX2E1VHFUdzNKZDJCdHRzOHBWS3hhaXFtTW1WUmZPbU4xYmRJSHhlVUNCQzdXdE1LZUc0M2FNLXpYZDBfUmI4MkxJTVVVRDJadUxXb0MwUGZzUmpiYWNpOVhBOFlBVTE1WllTOVh1YV82NUZYT2xxcl9sT1RuUjd5Y0JZY2J5T2tIeGpIWVFmRGkyQmZRV0NkMElXaF9WcUxNZWozT3ZEUW5FZDZvNEU1N21FQ1lQUEJUSkFIZTNHTjU2UEl6T2xLNTRtVV9USUNpX0JKTkRXemJvdl8wSnVEWExZMmUxZnhCOXNURmc4c1hINUozYUhYY2dpYUdSaHlnMjRKZElJV3dkcXFRbmlLZWNfS1IxVTJhbEVqX2xPQTNNb3FadHk5Zzhnc2RCMjRmQlRLOWJZUnc5eW9OVWhrSl9fM2NxNlozVVFvc3VrWklreDJwVlRoTkU3THdEQ2gxbnVRYlpvUlZrN1NKc1pjWkZ1TTd1SUJRWUNVMGRIQzFRS2lublQxc3R5WDduM3RRLXZPWGRsSENaOEtmSERpR2tsemdKUkhVSFUwdU9JQUNuNGtUbkRzN1ZrRGtEZ2YxalBhYXVYLUR4X19Cdm5oWXIxRFp5eS01N2x3SG85c21rZDFNcGFUVGRLR0cxOVktUDh3MmcyNXJCcVlWQjhBZXRlbXQ1bEtZdE8yckhJNmZSSDZrLVhSM2I3WkVlSFA5MV9UTkc4QVZtV1djMUhaMmdYN0gySzgyUzRoUk1JcEItdkxUaFI2QmV4bTdDeXJHSFZqNHN3M0dtZWd0cG1obmJlNEZQRVo1UTZnNGhScUpmYTJvOUswZDI1aktwaURBTFllRVY3Y1VDUjhBVjRYNU5WR3hWdWppOVdYN0gwaU1mUjZHMmpIVkFZSmloSkxOSC1JSENWcVhxdng0ZWNSRmVxNGRqUjNBWjRITm5kNUJBaGlTSHRObkhlM3EzeG93cFduQVh4M0hHeFZKcUozZ0pVdDVtdGcyb29pYnJiTTVFVU1HT290QlZGT0k5eGd4RmZYT3dhYXNPNWxIbTVoQnFWZVczOHlXS1FqYU50VG16TjlITjFrRWFfS0JacHU0d3RGeGswNkdWTmFEUS1QbmZBV0FJalByQ1FjSjJMQ25kS2FBSHJyYTQ3WTI0dWJYd1hPNUZsSVh6NElaZzI3Z3NzTXpVR3kwdUtGc29LdnJrZkFLdjVWblR1WlJ6aklrZzNoZExLR2FMb3RPVmFwZkp5VnNidGh6T0JrSERUMDllcVlOYkFwbWdYWGdoVTZSb05nV3IwOURSMmZQV1FyaUVzbm9Gc21yZWc1MUUtc2JUWjJCb3FqVW1zRnlndjJZdVhpdTVXdFFUNGtKQ1NxczZZVEw0cGhoQy1sTEhubWs3Q0ZKVnNMUHpUM2ZUcVF5M2V6Sno5dUxyUWJKRXVVMGgyWHQtNGwzaENtNU1hQlVVUGU1SU0tWHZhVk5QM3FQUGN6NjEzZkt1WmwzV3NmZVVtYzl4OWhrbElxRlI4RE1aOFdpYnhJSG5CXy1vTnpvcGV3SXZkOU1RV18wQ0hJRlNWWV9lMDNfNlN4SDBiLU5DX1Y3MXZHNXpNTXpqUkc2WXB1d3hMVUQzQnV6cHNWSVR5ZTd4M1RSWFBxNE42aXF4cFlTeWpyMUUwVnk2UXhzWGc1Q0NsZEozN0p0R082b3pTY1gtdDNKOFJBbVk5Zk41WTRURUZCZkxFT3VtdkQ0WXdjd0xuVktKMnVYN3A5MWZjTTUzVVRhTVc4UTZSZ2JFaTlnZjg5SXl1OFc0WTBIQ0REbDE2dVhCSXdZR3IxX1lyRy1zOUU1dU9FbjVpVm9oY1JsX0RrZlNNenBsSUhPWkJzLVM2X0tud2lZMXZYeThhTWlqb2tFaTVOZnBMbUdZdklwdk1MUFViUzBrQXhGTWo3dktnRXR0S09pU2wxVTJleFF5d0tsYnJtUGxFamZ3YnFjRVZkbmZvTFhIYXpfNlhYTE1Qb1FobWhKUWtvVFN6UDFIb2J4UWY4Uk53VmpaeGF0enpxMGtpMjVmUXlTNTlET0wtVGtiWlFqOTByUnpCQ0hVaTZlNWFmNUN2b3p1T2NIdEJmRnJHVkw4R0JQMk1JWi1UTGsxZXcteFpBbE10UVRITEVuUE1US1Q3X0VwY2dJalNDQTVsZHFXQndZVWxJaXZWd3NzNXRlWEswQkNvWjY3OWxyTVdTOEIwUmRwbjM1djlPU1JOejh3TUFTNER4UVV3OXhOTzBrSjdCWHdUM1dOem90dVFFVDFIeWpEcDV0UHY2MVZuVlVDc3pRME1TaTcwakU2OGtnVm9TM0sxaHFxNUhyZlJoYTVEM2MzZDFBWnJzaUVsMXpMNU5OamktNnBpZENKVmxZeFNBa0gyc2VlZ3lGeUVVV2p3ejZRZzBzeWYtUGtCWVFaRGtKOGJsUWFyUjRMdVJGVmViUTZ0bnQtVThmS0M1d3kydzFXMUhiWUZOWHRzUnVkcm03WWVtUDI2eVVNRzNPUEktLS1zV3VEUW1VblIzemNaVGZkcVBkc3ZyRmtES1JESWZfN3hsbDBLVGtIbHEyRjJOTTBiYjlDb281SG5RdERpX1pJZmIxa3pZd1BHTDZMV1hsazdhcENaQ3daWVBLNWNmbHkyWU84QzRuX2w4eDJkLXdkclBMWGNMRi1xZnRtX2RzZmNrNjBrNUtGenozZEJKV0otY2l1ZWM0S010Sm1JMklxUm50MVpJRnNTOGhEcTF3b0ItLXVTX3ZfZ3lMMVRxRklNWE80b1dUZktOV0l6d1NOUVM3UGdCYXdIMHVIemZDeFJ1bmh5enRMTEdMZEtBamZxc3d6R2dDMnV0THcyOVJoZWtLWVNyaElGWFVoNFFjZF9GOUxfNXZyc3pSaXpKekRUMGVkWlhSVkZNdTFsV29zQUs2YV8wUGVZbFI5cC1XMS03eWo3dGJveGZGdzMyd3o2VlNWamJrMHlIUnpRYmtwNkp6QlIwcm1QU3VlU1QtcHNCSWVwSGI3S0dHQjA0ZmJvLXk2N3VSRkxKTHZlcTJua1o3dDFIRGozQ2taVGduUmJ0S0xYRVNkb3RFY0toQ1ZXaXNrTDZabURLVWJJTkF1MXpLMlJhZkJhNzVDNlVPX2llVnAweTBJX1JnT3hEd1Z4QzVReS0zdVZkc2trcFo5VGduUGhXQWlURF9tQlBmeWhQN2NCbFZvUUhoY1lKYWVjQ21jQmtVcTd3cmx1emdEWEduUkFveUp6MXlwZWNjWC1IUnlqOEFFYXhxSkVUeGpWTFpNODBNS0xtRjNXZWt1dVMxSDIxLTFYUFcyaDBfSkE1OTg1cm9uWnBCSUtoaXptUU44YVNndjBIbFlmVi03cTl1Vi0wLXFrNXVQWnljQkRDYnpUZnlGaEdzWGdKU0tPSm5PYkU0QWktMW14NHpJY3FSRmNiWkt1cF80clc5Z2lFX1pfYjBpTWlMTGlBUHJ5dGo5T241ckx1MnJhY2UxUHFvb2VrZzFuWWxCRllTdzA0eHBWSjNGNURCOTBDMHh0SzAyMEtEakpRU1VCZW52dUpsZ3V4WVMwWnQ1N3dKcnVXdmFpYUlIalFBTmRjMU1lSVJEZjF1Z2EwZ1NwVjZPbEltMlY2aTVDMllfcmY1eHJITmVlWjdwU3A1X3c1UTk5YlU4RkdEMHZNbXE5azc1eTdsR3NTMVlwc2stY2RZd0pSek5oa3RPeW5GOFZBNlcxSjkzVmZsa2Q0NTFnMGRJM3dGd05kY0FqWG8xdUMzWF9zdU1JOUl2ZU9jcWFqWlVNcEFCMTZzbU9waHVpQXlBcjNTbTltMTJMMVBvbzVVVDE4V1lEbFl6eXhNYkRmWmRUX0I2R2lNUnpFYVlHSENyQjJoaUhsYXlDdlpCNW9lbkVTUG1rS1c0dFNmOXhRc0R4U2U1ZnR0UGh4enJ4UWxieEM1V2dINlBibzdYdFcxdUpMUEVzVnlwdGRjS2lPSHczQ0d4dXA1NnVNdjhlRW50SGRHdVFERmVfalk5TUJYZXNsdnMtQTdBVzg0VUFvWE0xd0RYUFo0SVZjdmozSWRpbTh1WUVDU0dXMHlPcUo2MEVBYk9nM2ZERW1wbEpNVTBuc2kzREZmbWlqNkVRZ25hdk4yVUN0Z1lKVUUtUVoxU3lHTEY3OVlIRXhFVFRUZ0RheHNIYnZCX2NibWFwNC0zaGhPS041OXlQUmN1ZldZTGtrMUhpODg2c3V6VWJZa2MxTkZRWlBGekdYV28yUUFvUXlCQm5DS01YT2QyZzBPS2RaSFBYRUtVR05FM3A2blo1WVFCMUx4dXJhTVJCSUNqV2lHN1E2cC1XdXRpNHFvNnRvUjgyQlFFZUtqSC1KV2t4a0NoZ2tFaXpUSjFGcjlHRFZ0c3duOUdFcTBKZjJ0aFhKWXZUTkdTY2tTVFEwUzFIa0NlcVNLOXAyN0p3NHl4RTlocmFVdHYzaXl4MEhFZmNnTlNLVTk0WmpFa0R5UFozUXNLUUlCa0xweHJReGRsZ1hSV2ptMEpJSWQ3WmRiT3I0YUZPN2ozZlM2a3EwQk5SVzFBVnhRWXpkLThFWkV3b2w0MFNyNmFfaG5tUUo4WWZvYlFoTDBhZFBfWUNaT3dBc0g3alc4U0lKbGV1b0hLX2hPc2Fha1hkTnJPaFNoQ2VVYjNpNUQxRmxkak12SWFEajJFN1dfUDJodmVna25PNkFhOFJlZ1JRN1dvQkVpdGU4OEszeVdPOWJkdmZ1NjFJaTBIRU1RUm5LQVBILU83RVpMVWdzTmd1ak5YRW1jRmdmRmhmU1Zudko4Vjd1UnNmbE9NcEZkTmZzNU1KUDdEcEF6R3Q0aGRQaG14ZlBseDdqTXh4cnpOQ19GS0tvRDBwcWdJdWtTVnlMZzdrbXkwOE9paTk1QUNMREZsTnlQZjNtaUVUMHRfaHBmWFZrckhCZDB1Qk5Banltb2J6WmF5bW05SFhLTTFVSUFJN21WQWdUZnVUYmQ3eEY5TjlDNUJTZXVyVDJtYnNaY0JtWFNfa3hZTWtSWjFkSkdjN3FwVFBSZUxOVm10UURBVzZWdTZUWlpHNDREMHdRNllKalItNlFiVnNSR2NReGtxR09KQ2MyYm44SEdvMnZCSG50TTdEZVM0RXdLUXh0bVduVXdITTNVT0ZHaWVOVmRvZDhzcllzaE9sM2tvZlN1YUxIUkZiRGdVQlZoaHBFV3dUejF1VlhOd2VVN003N0R1dGJZYTFiRXRJY0hneXJjQUJTVW41dlh4cEhhbVY1RTJHczhEeDhYTmlBaWdYREJfbmhFZEdWWkVqSmd1TDg5VXltR0c0X3Z0cVMtN3hGYmtJaFpPMXBEVHZTMm1KM04zNUduNGI2S1FWcUEyWEY5amJwRFF0VFY0bEgwZWhiLUFyeGtGMkJjbnA0RUdNZWs0eDRXN1RfNEdtNzlFb3V0TjJzSW9iSFhXYi14bURJbUVId3ZHZkFsYkc5ZFFLZ1pDT3Rrb3EzUHJvY0hEMVFUTElpNEpQYU0zc1VFNngwcy00NXR5cEFHQ3N2MDhralVkUW5GbUVTYUhTYzJjSE5CUEFFX2ZzMGU2bm1fakRLektON095RkV5Ymd1bHZ5RTRsb2ZxWkxfcnNxWFlPN3lvT2oxX2FLVHhGa2ptallGNWhiS2FjcDhCNWstRUZUWVZYMzMzWG9OelJreDRnOFNWZW0xVUNibE1QOTJxb3BLUklPaWNJQWpmN2dkS2hhQmZTaE04UUt6bDJBVjBVU3lwMkdrUFRja0NrWEtXUXhhbl9RLWhtZ2l0V2w5ZVpOR3BpUjVSUGxqR3VRaVRYNlJENGZKcUdEQWNMSnEwYjZYZGhva24zMHd0Tmktc2J0RUN6NC1HV1ZOZVVBYThETl9haFNaMXAwT1MwMkRkbGVKOG1ZcW5vYThEbF90ZGZEV0xiNDg4WVplU3JwUmV2WlBJWm5OQ1lQUngxTDdxMVVGcWhfajVrQ1N3Q0VWTEpDUFdzaXlKSzluXzU5c3lUaW9DemxyM2tuTVZ2bDBZSnFYdXF2eW95TUZrcDdGdVdBbWtfYUR4eURaYm1mRGNLNVFnM0c2YlVwVXhPQVJyamgteWtreVpfcmxsa1hLUjVrTnJJMFFKYkw5UHBiWFNtMzZVSTFNajB4alVael9IYmx1Z3J3c2lzRUtGcGw0T0k2bUY1cUNLZVAwWmFmaW1nblhxS0d0RW9wNU9kTHNGRXNoa3BSSWh4Wk02eTVta0RZM0FrX0c5N0FuLUxzaVVWdG5IN2NYNUJPbHZIMVktREFGdzhkQTBpOFhPbkJoWnZ4aFZqdXctbWtHWjBITURVS0RMWk5uUVR1RXNnVEpDT1RQOVc5R0xtaGNfMGRSS1UwQTQ0RFVRU0l4SmxEYzNYWmdYOV9XdWxMY08tdjJib3pvLUhLcTB3blN0dmlPSU9YQ21BRW9PWDFodWROaUJmdktBc2NYTnE1bGc1YmtaN3dDR0xSQWoxUjRSelhDMnVsaUkyZ3lpMTFHZU1VanpoU0h5Ylk4NG5vWGpDODNJcGFTX1FTYl9WUFEyeWhMWExVdnp4SHJ4YldpajQ1a1VEMWJEZUkxOHhhQmd4UzJ6VlRVMF9FcW1WaU9wbjRnTWczd2oxMW5tV0JYOHVHUHlkUENhV2dtbFJTVXNxVXVGQ0dYZ3RNUFN2R09XRkl0LV82YzFWdVlzMGJDNzl3QnhwYy1MdENkRXIweVM4NWZKQTE3aktoclFINUJLQXNneUhKbzFVU21FZGMtTDRweWpkMS1obnZUYzZxRHBXQmhSREhieV9DeXBfc28ycERfYk12eFZ1YnBDX3FIT0dlaVRLSkpTcHdmMC1OdFRLSnAyUzloUXNQYnhIeUFlQy11ZThIMXA0WlcwWVVyWGpJRDVoS2pKRzQ4b1E2THBsaEJTWlNCa0xpczRqNm5nV2ozN0dLZEFNN01jNlpKVFZRdEw4RXZjWWNTSUlEN0liMHAzXzBIQzRKX21NTEtjRlZWWVp4TjlvSkVPZWJLUFVzbndwelVUX05KbjQ4VVZrMGwzeGtDaFlEVDVmMENoNl9MSmhSSzY3ckI0dXk2WTY3N2ZKN3RjRGFfWWsxZlotcmVpSlBRNHhMTnNOZ05hU0FoQ2tqZE5Nb241bmlPUFNhQUtVcWdDbkhsZzN5bDhPOXFhcVk1aXk0TzFlS1hHcmY1THkxV0lNX1luNmcyeFg4aF9TZ3hlcTdRN2ZOYlhIT0Ztd1Ywdk04aXhhRmJZYnF0N2hHT1pjWnVQaFVOaVdDSF8xb0MyUHlIUE1IcEtWcWdaOUNYYkdQNmFhY3J0UmpRMkxZdUZNSnNWRVhlN1gxNm1xMDZpd0dLUWxsUlZxXzZoZGtqUUs2SVpDVTNzMXV3cFlGeHdaTW1CQVVCaG1lb2kzUVItQlhrYnc0RU9nYXllQTJkSUV6a2g3cXFOYmNXNlNBdnp2eXd4cUlQT1FTSWYtMVlSRnZfSDBpYXN2MmQ0R0kxNHpDWXUtXzMwT0hqYzYyX0VMLWg4V29pa2Z3cTNXZWZNMTduN2hGSmZzMFNWNTVHY2U3UTdDQkxxNEVkSTlXc0t1MDlxeWhNWHJwUlZPWTBrZzdsNjYxa281c0VsN1RxYzgxNWl6OU1wS3RZU1RlV1lsd3pnb011clJDNktNYmZEV2poUmlldGo0Z0RkSW9GaUQ0dHJGNjZvU2k0WTE2WkNxYkVPMWVKNGNseWZZWk8zbzBwSk1NQ0gybUlwTVZPMkRueGJSSURIOUxiSEU2VE1qQjYtZkw1a3d3WUVoSHI3UnNaMnFFYUdWMDdXcFkwMUdoTWpEZXE5dGI3Qm0xXzFvcWtsdVcwMjZRUng5Vzcxa0RwU0xPNkxia1RWS2xuMlB4VmdZa3F5V0pHNlZUbU81T21fRWxlblhQMmx0bV9VVXN4MXgwdkxWczR1ejlHV1VYTGZKbVlzZnViQXBwVF85anZyRDlkV2xWc3NKdUMwRlVVNWxOUVUyOEJWSXpycV9ublJVRUJjc3BLR2d1RmN0Mjk0V2xFVjZzNFdTSU5vNG8zaVM1RWtfX1FsZEp3c3JKT3ZQS2M0S05OM1F2cFJDa3hPQ2VwZGpZZEMtbVdfMGxNdWVoVzVmcGUzRnhFMGhjeHFrZmkyUXA1Mk5VYkVZVWpPV2JRZ3UySVVmX3ZBMWpIRW9UTzRQNS1vYTBrRHZaUmxPQldRbTMyS0g0RkhwYWpiNndLTWVIOU1VZ2ZlS0dBNWVJRDRxaWwxWURONkRMa1BKT3FkeU91UGdqMTQ2WWJkZEtQdmFDOF9YS2w5Nm5BV1lfMVo3ZTNKYW9NNzhZR2pMaEV3alFpdHlSOElLRTV1ZmFDZHdYMWNPMG5FQlRnYTZPNzFrSEJkMEpGLTQ5X2FPX2RoWWo0WmVLWVNxOVhkQ1NHNGQzSFNxVGVsT2ozX0tzUGp5dk5ScmkzY0loVmJVWHkwcVoyN1NqdlRRcHFEaW5yMDBra1Q2OC13SXMxcXJhazQtcjZoQUFUeTM4S2FrUFJWYy1WMUQxUVppR3hFYUdrbUg5bF9YT2hFOEtHREIzZFgxNVNOREptRi1PR1dKSlJZNWhqZmpFWVNEVUhmb1NHTElNei01Wk5hVUs5cm42cFBMcWZfcTc1dkZ1TWRISzZhcTl3eWUtQTdLTjZyS0xqMlNfclV3RHk4dnBlbFBBTktNTG5Td09mV2U2eXdFRmFJTDRVLS01Z0NvczJBbGd0OWE4QmRKOVpsUDBUSzZEb0RVY0JTbE9VTWNJNGZXb0lDYkhwc3FnS1d3MUJXc0xGTFU1UnNSZVF0ZHhmSFNZdWs4azFWUlNhQnZnSEh5Uk9NemJXYzhSWmJCVjlQc1doaEpMeVpMM3RldzJ0RkhaM2h2U1A2SUVidWpxSE0tYnRWSXFqb3BEOHFDMG90YkNERnNqdXV0bFdVekgxTXhNVFFGdk1KY1Rfa0swM3NOSVBNTnc1MVlrQm1fV0hiQTNZY1V6d3BPd1JNNnQ4YWFVV2diRUkyNm93Szlhd3BUTzJmVHVncjdzNTJoWTFBNVRpMXRobDM4TU84UGNfeTFyYWJBeEVsMGloTUw3VlRFWmxhUml2VW5JS09ORDdXSXE0U2RHbjZzbXJLWW1LUGRFNy1vZzJfMXVhWkJyblRScHNrd1FiZUVlM09tT0lRUjltb3ZmNkRCdlZlVGtieG4zTHgyM2hwUVRRYlpFSTRORFFHMnlzTXcwSnQ4OHl2dEo3NkpwSEFYbWhkZUpBNWI0QTBYb2JvSW80a1JGTjNlUWlCQlB1eTVsZU1qeEZnVVE0N3Y2M0pyNmtibXpfSEVTZHowOGhNeUozakN4Q3ViNWdJVGhtbVdkQ1lIUjZRYjRtWlowMjhIT0ZCNTl6MkY4QVVENXNwU2wyZmhKZHBtUl9aZ1BsaVBuUm9YNGVPU25Dc2ZLTW95X1YwNk1KRTl3VGZPSXU1ME40cEhoTE9qQXNUX3NCSHBfYWJMb0x1ekpJZXdtV29SRThVR2xWVENOX2hJQk1pdWI1V01lbDgwa09nbHJTNXRMZnNCdW1qTTZXUEladUpjRG1jWlozdXpEeFBkRWdHbFZydXE0ZmpfMFBoUF9uNS1FcEVtYTkzZDFaLURCTXU3Wk54QWYwS1ZBOXVJOXZ1WFNQRDJOVmRpMG5QRFFjbFRCRWhKYW8wM01uc1VGbkxBNVZqQlJnQVV2Y05Cd3ZlYzRfOE9WMDJLRVRxZ0hMZ2tzbkIxdU1jZ0cxYnVQWHF5cmJJelN3WGJiTFViOTFWSkZERl9ZNGFTWGhWR0kyUzFpdGdZOVlsYzl3aFlJYU9pQy1KcTNiRUZiVnZiZnJnemMwOUtiYl9ya214ZjFpWDVRczh0blYybHpSaVB1eExibGx6dmlEYkM4ZkpMRE44VHo4NExMa0lMZHNmdjBHaWtkRThSelU5cFNnMVU5ZURUT0RnVktDRmtzaXdJbEJ5MDRqd0d5NnNwb1BudUxweG53OWhKQnpUc0M5dVRUTmlZeUk0SmxpdWs4Z3ZpR0JTT2lMeGNiRVlXTGFpN2NNQUYtcnI4VTYya2hDYlZZVU1mVGhnQjg5aklmNlZSa3pVSGs0QXVSR1k1QnpraWxBcDhHeHg2M1RacnVXR3ZMa1FKek5wNS1PVGN3V3hEN2N1VlFULU5icVNZRmZYMnZVcEt2Unp0WjNxeTJOMTRIYmdIeUZMYnl6SVVoTXdiNkY2M3dwcnlIN0hfMHp3OGRfb0N3bWVCMVBTQVBUcFhiYjhRZjluQlRXbjFCWlBMbUNVc1ZCaUFYQV8zUWp2SWkwUXlrN3gtb3BGc1E3OFdJUVpadkhsb0NRNWI4UGd0bVdaNUFwVDhPc1dXQU1sYkFzdXRLdXZjTFkzbW9DeFZIOGxzclZxOHVXSjhlQzgxUV9uOG5YNGFqcnZiNm51M2ZXTXRDNmxFeWwzSW1JSHRHd3lvVVZOVW4xZWlBQVpnYzdiQUlnNlBoV1pxS25DMkFyU19lbEVheVFUd0ZTWWxrM2Zjdlo4Z3RMOHB5THY0YkpEalI5NUprM1g4NGJEek5uSndfY2o2Y2Fqb0F3WW9nc3RRZFRnd0pqTU1WaU1Fa2hraVE2SVRUU3lDNUJmOTBCa2VXbWZwM2N3Y3c2cThwMG5NZEdnMjNDc0p4VHNla18zbFotRS1KcHZESHJnVUV4d3g1Z3lCVy1STjdrX2xnaGd3OUw3QUNTbHdGb2pHVzlZSzA4T0J3Tjg4ZEQwLVlmMkZSRmFnaFVQY0RfWXhmaC1qNDkyaGY1SnE1WWtyOGJMZENiZjdBTGgyeUp6UTRoUGREMDdnNW1uNThnT3ZMUWo4Z2tvTTBfMHVGOHBRaHpqenRjVlRaM2NBNkZobEI2a0Zkdk9OQXZVLXI5YkpFb2NOaW5fRTJmb1B4VUxqOVdEdGxaX3N2bWtEVzBjR05fRWRlR1dKLXhLcTdWNDRzck5vd0lCOEprZHE4dUhZXzFadVg3bWV6MHNYc0lNSEFFSWhkSnBJelpYQzVjYW9lTDRfalVxelB3dzJzMG1IU29CSlpQNjNWODhFQVpMVkdtaklwaC1PTkhQeU9QemFlQ21xajFlTVFaODdJSGNhYm1yUGNaWDFITTVvRi1meTZ5RFVzdUJyRkx1dmRyX0VJQ21TM0sxWEZmWVhsMkZCU1ZsRGNpUDJ0YVF1RzR0dHhjaWhoRWpERDVDcEZ4S2dha0lRSWc3VVFBTy1rUTN3THZHdW5CcG4wVy04eGpWRFBoU28zUUNOc29sNF9zWnFqVTBoeEVNTVo3YkVxTzNSVDNTVW1OM3RjdG9LWTBySzBxZmR1bk5iSXNjdG5TcUVPYzg3dWd4VTBXNHlQYjBNOEoyQUwySkV0bXlRZmN5RTBDalkzVjVZMjNlN19UVV83bEk5alBTbnhvVi0wdUhCRjZ0Z2xYN3p1akdJSG82MU5CMHo2MHpXZ01hYklqd0Rha3dPYXV2Uy1yX2RqbEZpeUUyZlJvQnNPNDN5WlI1OGJqcHhpRHJxOWdnMEtJcktBQ0gtWjliTUdxeFBIbHVrb1FGeHAtMWszQjdndE5GdGh4dEJqMng5Q1FBVUJwMFNZYXRhUmgwVlBPRGptMWhLd2FUTnUyNDlxZW0tbERiNTRhNFplaGZqVExkS1RoalFiMktwY2FCbVg4ekpQbnRhVlA2MXdDeVRGVDBSN2RIVHloZUhfS0NYbHA0WDN0ekdoRTg5VDVVWjVxVEZJWmNDR2I4YzM1c0pjYnh5bWZ0aUJJd05sUFRlbkNid3dfQXlOUWhreG95Wk1iai1lQ3NBN1M4V3FaUEp6ZVozWE5iV0ZJeS13S3hFMnVyTTJKRXd4eExXRllwOFQ1cFBQQVF1NG1NT0k3SDlfNzRTcWpMRFpCU1Myd3dUdU1YZW1aSDJuWVI0WmdCUF94UkZENzYyM204ZzRuLUdNNGhibVZPMW1LTllJbDlHdzljbkpQOHpSSWlNbUppWEdXTjktbjRPVHFRWExFVnlKbnlUQ0RCMzFTSFctTThyeUJMemEtOUxOdFZhUzVTWkM1UG1vem9EMFZyY2hFVEZmelhwREJfZGYwNk1aYS1icEpBQklTVWJidi1hM0Zobm9JUU0yRW1uT1N2Rkw1ZFdDRlZMcXAwREJOZEVOS0FiQmJaNGdaaGNEREVoSVQwQzh4dWJ5MjN1MW55ZlowRld0WXFoTTh1TS0xVzVOTlNLZGkwVFVhQ2d5OHhBdEh5Wk9YeWgzVFRMVTh2ME1rbjFRRjh5ODRsOVJlejE5VTR5Z2JqX01CVUJreGYtNnhpSFRVQkNpQmN1UnoxM1pSTkVMNUFzTUZLalQ3Y25zRDJxNS1fdDk4dEZ3SmNQejBTLVctbzFtVnBRSkFjZWZ1ZXBRcUdvVzdLNWIzMWFCVHUwWVc3MTZCeW1pSVEwTU5VdC1Cbnc0VTZtdG9wWWJVRjExVXhSSHl2R050dVVUMlp1MDFJSWlKTVRvYmxoZXlYQkFraEVUaDJTXy1Cckc4cG5oZWFZaE94a2wwZE1nZy1ISlJ6V0RXSHJTZ2tUN2plaThNNnhOY0Nwc19veC1kNkdsX1FwYnRkRGZWaGQ3clRaTzhCNTFQSVN3Yk9aYUhkZHotRlhUZmd1c3p6S0RwZmtSWjN0T010VFJ0U1ZWR2t3eG8wRWdfQW9iRVJSNnBBblRfN1hZQmpFWl9BSVVwQkhmYldjZENyUkN5YnR4b2VUU0RvS0twblJkV0E3cnpiLUtDQmVzNG9mdWhicnNldEdWXy1rT0dLc2FuT0lPbkNPQWdHc2VFb19NTnBvZVpjWmd5QlRlaHFmNXlCQ3FZN2FmM2E2Q0F0V2hfSE1IVzl4cGk1TVlZVk9sRVBWWHZHTFp4bi1xS2hzUDVwM0g4a0VHam10d21CWGFuQVhkNE1HemZtWnA2UkZ2d0VIaFJHNFJQQkZYSkZld3laMW1oSzZZVDZXYnpuUGloTC1PTjJPVnJEc25CSWdEUGVtclpnaVJIVWdnMkk0MXNnX1RMWTQ2N2NYUm1JZUc4NWpUTmRieEhkRkt5UWhNS045UUVBYXhDTGJsaF9FZFF1LWJtcnFfNVZoRmIwSDlocF93S0M2bFlOM3BFR3ZsajN5QzNIYU1LTW8xSVlBTkROcmhGM096U2VHUS1SWmZHeFQtZTNwdmRzc2ROTHE5XzNrdWdGZnB5ck1GY01iMkl5MFk1ajN2bF9vNTFvLVdiYUN1Wl9KZEZfb19JZV9zZ1ZnTUhoTVA0elIzRlBEVjVjVUR0bEtWWldSa25XMTRaZ1hnbFNRRG5kSG5lbmpqR1N0WkZnelh6c0FqX2xibm5BXzZnS2ktZHQ5SXk4aW92cFN1SzhTMmMxRFdqU2xIQ1FMS2tCdWR0REI4RFRaYjZneHJCZ0piNEpFUWp1LV9mUXlPR1NOellNZ01ISHFiVTVVbmpxOFVlQkFlclNnQnEzTWRza0xRNjlRVS04clRZbGszVEVLeFQzS3hhTUx6MmxWTkZSMzRkUDl5Zm9HMnZvOW9PS1VEb3VUaXRwNkdhV29Vdm5jWkdDME52bktJaUIzc1NiQ3pOWFdWbFpDWDhWdFhRQnB4NV9USDNhYi14bUJOUnVQMUZ4dlExNERsanZHQVBOM19DcHhxaHAwTmxzbk9xNzlqYmV0TmtqVHVrUTFZLVVhS1lUVFZOaTlQV21CbWJJTGx6X1FfQ21lSml1M1BwVVUyM28yNHlkR0JFTzZNZFg3aldMdHp5c1hxSVJyV1JUS0g1dG1rT3VwNlQzck03UGotb0NNMURacGZHdFUycU9aVW5hZF9TNGR2V3RBT0EzMVVsLU1DQjlLLUpHZEhyU1NKS0xoODNqM2d1ZDdoTUswVFJmYzVXLWdaZzdiT2xUc2EwcTB5anVKTzAxYmZQdjdQTjN2cTRkT1RabWluNnBJMzJSbzBTQU5NZzlBRkdvR1g3TElaR0Y5bVRMZkZGbkJTUlctaW5taW0yRW1NR1piQV9hNUdvTWxOamhmV2JvLW5aNHZubkI0M1NjZlNwZnI2LWRvRzd2VUZzMHlPUURuM0VvZF9ZcHBwUUwtLWtKR3VlYndlTVk4ZmdtVy14NktjRENjSEl6NU04MzhROC1KTEpPNzVLS0ZqREZGa3JtTGZfTGF5ZTJuekpKVGxhN0NnMUMyWS1kMFJGZnd3ODRHb1JjaGpVS0RPQnlFUDVlNzRpcnVSc2hjQjl4QVUweFpyZlIydmdQM2gwbG9UYjJ5UG9wekVwaXV3N01XZDA0eGhsMWhJUm1haXloRFMxc3R3WFh3aDN5SlNuWE5NMngwdnY5bGpQTmRDTzBiQ1lyZVQ1SXY3eFp0WEl1VW5jaWI3eldUQWZNZHM2cXF6Unp6Wkx5YXFTT0JrQkxJLW82R05SMm9PX3F6dTZteG5tMlJGOUlMcEdxYnRnZHhYTTdScVNkNVBEa1RfVjhrVzdOOXlfTUJuc2RpV05uelo3WndPNldrUlNvbkJPc0licVFVS3NXR1dUZ1E4ajE4dy1hd3hnWVJNQlhrY3lEakt5S0piMjZrWjhnRXNlcVQtM3RPTHdFeGM5cjh1MEtLT1M5YlROZDF3YTRFTWZHMEhFeE1SdmdqQ2N5QTlLa1pnU3Y3eTlNRm1BS2k1M3FXNnVvRHRfX1Bwa0lFLVpqUGhLLTdSa3Y1TmJUQnI1bmctTlR6ekFHc2s2enVPdnBpU05JSWxBRXNlUUJERWNES0c0M1Fsa0N0X3g0VmJ2QW9kQk9lTVJpZWNMeTVtLXo2SVZyME9xX0Jnek16ZW85Wl9xZFhWdFZobTU5ZkhDek1rcEM5WEN2dTVXaVU5UzhsV3Y0VmM1STZXa294QW9vZ081QXJFVVV4T3JsMzlma0ZpR2FvUmNBbWM0dG81anhUUjhuWVJXQ2tFdUQ1dEoxcFFUNkhpaW9XMk1OTXR0OExMTTFpeUMwejI4bWFlcmdBZUxGQ3pTODZ6QnJybXVTWFJEQlhhaW9DWGM3VkoxSEtmSUFYcDY2ZEZ3RjhRUkdUOE9LMm55dlZIMzlvRWhSX2M2T1NiRzJvYkxTOXdWM2RFSUFiY0RhR3hjVUpCU1JXeTdUR0ZhcWdhemlwRVRnejF0NThlNUZhS1AyUnoxMHV3LVRHSWN3VVJtRXhlSzVnbDZJWWdMVThKYmVNdWtpbTM4dVFXaklVQXEwOWhva3RsRFNueG8zRFg2STJjdFYtRk9xYk9rX1dLRURHRG9aRG9neG84UFNELUJWeGJrQldRZEwtTUNENUpzblBGRjZhLV9BdFBaWktKYnZoM0t5bWQwNXVfbk9qTURUdXFKU0xuNUV4MjFPbXAzQW9WZlpNYVlTV1hzaXpOWU10cEVReEMwbWp4aDFFLTNmRm5uOE9GdzVnTXFXNXN5d0ZHRklYcUF5MFlmc0Fsb0ZBTkstRVZvVmpCbjY0b0Q5X1NsNVBwZmxFZVlaSFFRS09IRmxWazVwdUhlZHdpckNfZGhkdGp2TnV2ZlNSb1BLU0VJWGxnV2owRHRrRkFiaXJkd1FNTFBUc21CT2pOYnhSWFkzVG9Qd0RSZGo3eC03VVJxY2Ftbjh2VW9UT1MxYWE4WVRMNm5FNVhsVHpuOW01MEh6ek1Rb2tnemcxQlFLSjRsMFJkbWw1a1RiX2tTRm5XY0hobHp5UGt3RUxvZnZfYnlBN0lSXzV0d21LLUZGcUVsYnE5WW1IaXNrR1BWMlpHTDFmTDFGaU1RSmtxLXNzeFlTNjZJRVZ3b1pCaGw4dUZJbnVidXhFeGJaSEpTX2xQY0pLTnQzcExWazJJSzJpc2duVFgwTnlJRWNzMG9pdDlfQVRERUJ5OHZwWTYyTjIxYk9la1lJM1o1Q0pleFFpVTc5VU1wektndTJvTGlaWnBaeXJ4TnVMa3BWSzJpT2toanNaN3gzNDhRdjBSUjdRN3p1aWM4b2hnbWYySUs5cjltOW93MTg4MlpRNFlETTdlOGlxc0t3dkZkOWZuOERlcWl2cmROQUhRcjFlQTZnN3BVSkpZZTNiUDJKLWpGSnN1azQwWXBFUXZVdGFaZjF0cUpPQlMtWlhvOE00aGEwUE5KTWx0bFhmZGJub2x6aHRnYVF5blR3WHJBRTBSZmtnWjlMaHFtenI3ay16TWEyM0t3UHdncDJmUGgzSmV0Z202Nkp4eHBnVjQ2dVl3UTVwSUFibll3MDFOTUxFTXlQaUNySlFFRWtwaXo4WG9hOGtJMkdRdkh3b1pTYlMtNzFZcHMzQ2oyLVZkRTBNaV8zUnRJUEZyaVVTUERfS2cxQ25pQlduN0IzS1pUYjd1MFFwOXl0VE1TdDNRbUNwcnR4YlktVWFwWEtESUYwYVVCN1RPaDRuN2lFZ0pQYzV5M1A1LVZkQ1VxUHJKS2VwckUxN3AzMmFyWjE4VFFwZE5rRHdXRWJWZFlMZDNvc2tTdkhCMHBmbTFablpMZzNpSGo3SmxFX0VsT0RIOVQ4MXRBS3ZyUFlzZUJsWnZQbEdUbDdRN29XN0tSZ21zVDJHMmlqOW11RlVEWEoyLU9ycFhHTWFURGxpdGNhcmpXR0tjMXFJRWhzQ0IybjI3LUlDX2FnbDdHbG4xUkdCRC02bEZGQjFuTVBWcHJpVGljQjA3THJZblNHSTVRdzFpY0pYNnV1TzYyOHRTMEh6Z0llUEdRVzhPMEtyR0xEZkktX2ozQkphbEN1eEpMeW5sdmE4MDVaWFZ3RUdCcEcyaGFOSlVleXhJeWFSamM2SGdOZzNHXzNIbFItWXhiUjBfSmtEODJwczhfd1VmZTBGOW4yYkUzWEVNeEd1bm9rbWdWbTdxQ3I0TzNxQk1HZ0dvN3ExNFRVTGhndk9GeXVZU3BKdkJ2a290NVptZS02SC1idVYySlVjNENQYUN6Y0pFSnB6QlNmTnk3eEFlQmNvbEN4Q0w2MzZDZS0yeUFGVTFFdjJ0NkN1U1BHZUlyY0RrRlUzT2RWOWxvRVlJaG5nNUdEdDdXUjN1RDJsRkh0M1dWLS1ieHkwSFU4YkZmT0c4b0hoU25NN1hsOWtGR1ROWUVxUndIUjk4eENYeXVlS1ZEMHVlN0ZPNnotY3dxV1NxX3BFb0ZUX0V4OFlHU0EtS1k4N1RCRFY1ODlYSEdMYW05bm43RXJybTdNc1p5Znp4V0NBb0U4YkktX0hRN3dTLVVTc3JuZkh0eVJCVkRMcHRSUDVXWDhTSW5jekUwbTFsZFdRUFRZdDFZTVdld1M1Wk5GWll0SFFVSU9FUzNRVlZ5dWlrcXZQczBQWE5Db1p1ZUJoVVViZlVab0E1WFpDTXFYWVdsQnBUMzRVWkRTV3RxUnRVcXhjZlk5YmpvNzZWNjRfSFAxUHJ4V2NQMFZFVi1QVmhxTE55VmRZd0VsRTB5YnlyWlNsRjRwVlM4VTdsd1VlS01UMnpHNWVDLUktakxpUEU5S1M0eWU5WEdtZjlVZEZjd1V3cXBiMjl0cVFFdXRUNFRmUU54elM1dzFqblUySF9BVmxvNm5LZGJiLWt5RjB5WGZyRXB4VHJtR1VSZTRqMEVzMHBXbU0xOVZxY05yeDJDczh0UDlGTlFxNlptQnJ1QVY5ajE0SlpOdUhvY1ozMmU3cTdsN2tfcWlseEtDN1hjR3lRS3U0YlpXdS1qWUEzdm5OSDVORnAyaEd4aWFLVmRka1pDQVlTUnBqMHVNZ1FuVGNEUkppTTJoV1piaGY0OXBUaUVwak90dmhIbHV0WDdYdmpnTDVZcWtVRzNBbUZVelZIOWs1QkFpUXo2VUtwVVJjUFVNUnFPTG5fbkpMd0VsY2xKUE0xYldZdEhZNHNTdzl0OTMzSjZxdzdENFdNRGJRLVI0QlJubkxwNUZZRUtSY2Z1cHVKWWtxV29xd3dQUzc4b1E1UmZfSF9VbVlBZEFOUXhsLVU0MUw5RTE1TEZqaFBsMUZObFhNLUp5ZVNJNjhlbUJ1NGNWY1l4d0oyMGd6Y2NuSWs5UEtjdXdUWE1IUjVIMmNtZENxRnVBY3lYUlJCaGhGRVBfNjFmbmxnRjMxMFZSdS02c3JmOVhnTGFuMEdtaVNZSC1UaVpmcUFrUjItRVlvdWxFUG9UWUw5OUhTekcwQTBveXhpc2YyaER3Z1NxNDVpbjJaTU9BQnRrNGpGT2ZKQ2kyOVZxMkV5YXVOQmRodkFQeUVzVHJpcV9ydHZPN1phUUs1Ulc3QndPZ0RsY3k5b0ROcmVfRG5mZm9jRUNmc3hMVndab0Z0Sm02eUpoNmU5SDVTOFdMcmF3MEhDTklaR2QyaWNTUTJEMG5oMjh6b3JSY1lfanpIYjBwX0VIZk1iNjhxa1hoQmREVE80ZVQxeGNtRmZuUXRCQnRCMVJYaEd6cW1MRlhTUXJRRWxHWFY0czZxNWFYRlJQNkljdGowQk02VkxHWXVpOUdZb3YxZEVrWVRaS3Y0QUtnQndySWRGazl4N0hOT29YRm8yRlgzY0hWTUpWU0hzck4xY00wekN5SVNGdDNkaHB4TnVsVHY5TkdfQWZmUUg4X3NQa05Ua1R6clcyRlM1RkZpTjVrQXJLeUZRRGlWNEZHZTRxWE5WbFhfOURtLW1Hdk03Q2lPWDg2Q3Z1OEg2c2JEckxFR2VxdVJFSHdxaE9DYnR1VDljczNIYlBsbDlvODhxTkw4TV9CSzc3aUh2a0lSQUc2Qkl3Qkt5ZFo1QUNpVnh0NVhIZ0tEUE05a1VaMTdLM3FwYXFUblk1YWw1QjF3bXVYMkwwSDVGckxxQjJTTFBPUE9zcU1RTlNidGExQXBkai1KMm0ybzFWY1JPaGhWeVJza29iLVNOUDd5WGJrbGlUOWJTSHl5YzFvbzFXcTZKYnNZd2hwdVI5aS1YX1cwYkc5M0hyYS10c2pvYmZPYjFBeW5sRXotRGpqZXl1eEt1UGVtLXVvRVlTWkZfbXRsd1JxbVNFSkFwWmlxQms5VHFTZW04LVBCZWxRR000MVhBOWtFeHc3cm41anROODZEdTdUX3JvRnRTWGxpakFQUm44ZTI4XzcyNEwyTWtrN3FPREpLMkg4Mzdvc3J5bjNXRWE5MW80OTJuTS1BcGNTZ0pfUUEzbURqUTJtaHZNVElPakh5TFRCZlBjaW4tby1UQzRhc28wdmpJUEhLZ3pUeE5oWnpYNHMySjFSRF9ldW91cHhfNXhocDdCTDZSTWt4eWVMd0o3Y2VwZFhDVmNmdzdzRDEwQnlyVGVtSnVoT2oxaWhrc1lVUmdEZFI4M3pweFl1Sk11a0ZqbjlxbEQ2a3c5YndNWnRpU2h4QjFZUHNuV1daV3U0TXFsVTg3SldZQzlEMzFUdXhiNFltYndsd1RsQTV6dFBTS3diTk1fYUI4aXZVUUhUazBPdFFwcndXMTlCdU9FbjFtWnpBYnJ0WkUyZ3NFQ2w3TTREWjZWR29nMGtza3gwSUlDVks3WkxEQmZRYXhIWmxFOFk2SGFCS0JrekhKSHE3MUNfcnMwcEo0UWZRV1NiNGdkRFpIeVpWY3JaNktPbEZsQTBma25LdEN4YnpjM3U2TUM5enFXa1ZYWWZZeWVvM1JSNUg3UVJZaUJqM1R6SjJVMVF4U1VqQjZyU19XeW9vWlhnNHNyeG5QRWdKak01TTdfMC1yY3NWVlVVdVNzT2RXMXFybjRlSy1Kd3Q0elkwUHhLYU5wZzRkMTFLUURIVXJkRjdPbnd4UmJ0NktLSFlGYW03UGh0ZVozV0dGbnBIbktzdHJYOVk2bEREYjBTLW5KQ3o4ODF5cUhUSmZ5YkhfRWFxS3R0ZU5ub3dDc190Nkt4NTVBS3o4c2VaU1psOXJnb0k1V0FrVkR5YmlfSlFFdTJnZnp0YzN0M1hCMnlTVDg4bl9BcDJNbU80X0V4QXBoVEpfNzdrYmJvWkl1Yll2ejA2Sjh5ZjR5Mk1yXzgySlFLVVBQYWhuNEozejR3eS16d2EtaDFLRkkyZThQTDZzODF3YmZ1QndrNlBHNFItZWg4UVhybEJrSXVqMkJ4eGU4VUZ3VUZONW9kbzY4VC1SWTF0bVdPRlZndnpDUkJKc1Zjb3htLU1CTGZsdW5XbTBVdDRvd0F1MlRKQ3lUaTRpWDhIM3E0X1lQTy1zMXBiQnRRaU0wQU01azVFNkdoZlc3MS1lQjJ2cHMtMjRORzE5R2gzTEhvTzNlelJtWmhwX3k3QXYxV0I5OURrbmJ6NXZ6dGxwcW92Y2hNNWRDOFNQalFkMDBDRW5NRmtwaVQ3SDZZTmFKVG5BcnVoanhTU2RKLXUxSmdGSE1ObzJpNEtfR0xxY1BlSGlIaTlPZDM5S2NGdVNQeHAxOV9wc0Z5bHRzWVp5cXhoNldJSG55bkRvdEpiOHd4dFU0bk1FMWFvazFZNk9yc1FUeGFtNnBFQnludFljbzFoLUlhanZHSGliWkV2UGdLNjgyc2RoZ295RjJ5OG1na2JTNWxHVDd6U2tYWm0yeUZwOGk0X0tVUnlYWUtqUndFZWdKTmktQ0gxWWs3ZHgwbExOaElOVzJEWkdyN3RFd1dOd2tFMzFHdWwtaXZWZzdGMTNMN2xXNW9OWTk1WXFXQlh0RzBsRHVoUlduSHg5dTNWV0twSDFmT0xDcnVIS1VXdzM3MmhtX21KS3U5UW1tQjNrWDF3SURXSkQ0SnFfeWlaekMxWEdIOEFzRmJfOFhtTGo3YW1aUmRwRFRRSmV3WlE2NXFJem44VEx0ekFhTUktUUlQZXJDSEZmeDFYWW81ZUpWdHc4MWphVHFRQWJCLVZ5X3ZXMG4zNXhUVklEOGdJUlpYakhRVEg3YTgtaDY3ZVFPdUNtS00yR2NZQjlFSmNRLVRPdUd5ck5Cd0lBckNxSGxDSzF3SjlPZjFYMjQ2cjY3dnd6MkJCQUdRWWp5dF9yZ09PcFFadGthV0pMd25ncXEwRE1pYWt5cE5LSlVJbEViX3ZkUGp6SFFKMV9IVzlMSFB2UWVHUmVJRTY2YzEyWlBBTm5tcndDaXR4M3hzcWNJZVd2d0Vya0ZzcWMteUlZbFd0V1Y4ejVmdklMY2JvSWRxVTJ4c3RqR0lvZDhudEp3RVRMeDJJQTZ6TUZHZ2E1UDZkcVhiMm85TUtxT3U3Z3UxYzBUaGtjVzB1QUFSb1F5ZzhDcnMzX0VfcC1YRXpCZGVWNzBIWUhXNk5CaV91OUVfLWVKVm13Vl9RcmJxanM4bEJxeEhsR1ZyUHVIbjd0ZU1ncXk5cjY4b0c4RVZRRFZUV0tXYWZ1U3Q1bHJpWXlTMlk5QnFqbXduUlBFR3lqTzJtLXVNRTRHQU84d0s2eFZVeWF1emlRQ0FyLnN4blQ5QmJTbklGT0RKQ1Y4WGR3RXc
          responses:
            "200":
              body:
                attributes:
                  created: 1523990186
                  enabled: true
                  exp: 1555526186
                  nbf: 1523989586
                  recoveryLevel: Purgeable
                  updated: 1523990186
                cer: MIIDMjCCAhqgAwIBAgIQGn/FrGQZT/Cd9kgXIsytEjANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDEwtleGFtcGxlLmNvbTAeFw0xODA0MTcxODI2MjZaFw0xOTA0MTcxODM2MjZaMBYxFDASBgNVBAMTC2V4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsODIu9EJhfnn57k4++j6dC1M6Egi9aZucFQ9Jc29vFG9L9BkzllPGluKKdH1ypsrAUif7yGaq5d1nDyLhZUncU8dV/YIA7oll/fC+d0H4A37kVbM/60zXhXnKRx+DRZ2hJQzNBOodCaZpyZZEuYvtWdSCSILpa0R7yXYevjLaG5LfckOzuurXqeos7WB+l2q1c+6zx1KbNXbBl7QOz2nzk9oJU7CdhPOc+LOLppmsXRwwluKtmCDyKdrKAF/dANp5zGXFsognQcRctLSGQp8FbgBVQyZ+v81n9bPpSaBoUQMcH4uG9jPO6CWwbDSWE+FVYAm5kgjuW/1hqRSnOEV8QIDAQABo3wwejAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHwYDVR0jBBgwFoAUaYJoBFokrORdsxOTA8sgrosMOmgwHQYDVR0OBBYEFGmCaARaJKzkXbMTkwPLIK6LDDpoMA0GCSqGSIb3DQEBCwUAA4IBAQAxL3t0kV1dq/PGUztjW+qK6Nh4sx7jsU59JtjON6zcibJ4hM+Q3Z+cEvW9zuGkuTbLz6fKNL9VnkF1LnlWTsyRmS7bF15/7iOgfdrr0vkJKVM1Zv/tqKEpBJ7Cbc0vW/VJQxZN+OlqGNc9bcx3cnqkRwpkgM25T0dVpoWtCgMwayUtbPFbTZWHHbpzHLF2BzYf5HyW1BoKXcVPM3r/rS7RETasRRsz2GqXXdfhjCd+HKVyv5kD9N3WcFNUsaq3TqAUZyOx9bO0Cn3gkmgz05JpfhPEylXwVpVAccOoXsNoFdxEKGO0w7pk7PwOhsW8sFprdXWp6OxtL0rrCNFF/llT
                id: https://demovault-rude-junior-95.vault.azure.net/certificates/testcert/21983500952149bbb3129b0c60e367a6
                kid: https://demovault-rude-junior-95.vault.azure.net/keys/testcert/21983500952149bbb3129b0c60e367a6
                policy:
                  attributes:
                    created: 1523990175
                    enabled: true
                    updated: 1523990175
                  id: https://rude-junior-95.vault.azure.net/certificates/testcert/policy
                  issuer:
                    name: Self
                  key_props:
                    exportable: true
                    key_size: 2048
                    kty: RSA
                    reuse_key: false
                  lifetime_actions:
                    - action:
                        action_type: AutoRenew
                      trigger:
                        lifetime_percentage: 80
                  secret_props:
                    contentType: application/x-pkcs12
                  x509_props:
                    basic_constraints:
                      ca: false
                    ekus:
                      - 1.3.6.1.5.5.7.3.1
                      - 1.3.6.1.5.5.7.3.2
                    key_usage:
                      - digitalSignature
                      - keyEncipherment
                    subject: CN=example.com
                    validity_months: 12
                sid: https://demovault-rude-junior-95.vault.azure.net/secrets/testcert/21983500952149bbb3129b0c60e367a6
                x5t: Z-n6Mydb08bmyOgk7bmx5HT8tyo
  "/certificates/{certificate-name}":
    delete:
      description: Deletes all versions of a certificate object along with its associated policy. Delete certificate cannot be used to remove individual versions of a certificate object. This operation requires the certificates/delete permission.
      operationId: DeleteCertificate
      parameters:
        - description: The name of the certificate.
          in: path
          name: certificate-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The deleted certificate.
          schema:
            $ref: "#/definitions/DeletedCertificateBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Deletes a certificate from a specified key vault.
      tags:
        - Certificates
      x-ms-examples:
        DeleteCertificate:
          parameters:
            api-version: 7.0-preview
            certificate-name: importCert01
          responses:
            "200":
              body:
                attributes:
                  created: 1493938557
                  enabled: true
                  exp: 2208988799
                  nbf: 1430344421
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938557
                cer: MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=
                deletedDate: 1493938558
                id: https://kv-sdk-test.vault-int.azure-int.net/certificates/importCert01/f00e72f0ddee4dddadc27c0f605d84d7
                kid: https://kv-sdk-test.vault-int.azure-int.net/keys/importCert01/f00e72f0ddee4dddadc27c0f605d84d7
                policy:
                  attributes:
                    created: 1493938557
                    enabled: true
                    updated: 1493938557
                  id: https://kv-sdk-test.vault-int.azure-int.net/certificates/importCert01/policy
                  issuer:
                    name: Unknown
                  key_props:
                    exportable: true
                    key_size: 2048
                    kty: RSA
                    reuse_key: false
                  lifetime_actions:
                    - action:
                        action_type: EmailContacts
                      trigger:
                        lifetime_percentage: 80
                  secret_props:
                    contentType: application/x-pkcs12
                  x509_props:
                    basic_constraints:
                      ca: false
                    ekus: []
                    key_usage: []
                    subject: CN=KeyVaultTest
                    validity_months: 297
                recoveryId: https://kv-sdk-test.vault-int.azure-int.net/deletedcertificates/importCert01
                scheduledPurgeDate: 1501714558
                sid: https://kv-sdk-test.vault-int.azure-int.net/secrets/importCert01/f00e72f0ddee4dddadc27c0f605d84d7
                x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
  "/certificates/{certificate-name}/backup":
    post:
      description: Requests that a backup of the specified certificate be downloaded to the client. All versions of the certificate will be downloaded. This operation requires the certificates/backup permission.
      operationId: BackupCertificate
      parameters:
        - description: The name of the certificate.
          in: path
          name: certificate-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The backup blob containing the backed up certificate.
          schema:
            $ref: "#/definitions/BackupCertificateResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Backs up the specified certificate.
      tags:
        - Certificates
      x-ms-examples:
        BackupCertificate:
          parameters:
            api-version: 7.0-preview
            certificateName: testcert
          responses:
            "200":
              body:
                value: JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLm85bmpNWEFSZWVla2NaRXBsVTNjdUxQcVZlWmxFbGRDM01XOWpYR0h6bnBXRTdHRGVOSXJraGZscHdTWXFnQnBYQkozMFpUQkRpRmpROENXSnJfUGlsUWNDRkZyN0xrdWJhWUs0TW1zcVh5WGIzbkRJcUJkQmZIUVNpZ1ZET0J5Ym9sUlRNNDYzYjBTbXhLVzJheEdFS2NuZzQ5WFkycG1SR0Vrb0plcHJWZ0tyRkpOUGQ3cGJIS3hQSWdDOFlnT2xudnZxR280RlRDSzh0ZWotcUt2UzBfRGV6Uk5vdTZqZ25SekpxX0g2NGxWMk1hQ0NnUy0xbTlyOGVOTVVvSlhTV1hwc0lneng1RzdEbzIya1ZEY25vMW9rajlCMXNvbklkWmtuY1JybDJBVHNRZVlzZXdkUVd1VmhxRzVLN0pNQWo5YzBRdkxhTmlpdl9PY2pFcm5qUS4zbmI4azJ3SEcyNHFJelNNb184WG13LnJzc3NMNjJ1aUNfTm9IbG5zQlgzcEEtck1uY3g5R3V2NmJYSHpKamxwOWNMUnVaSDBSWlJYVXRwU3BPQWdyZ20tU3BxeEdWSjd2bmprbV9FSzJwYy1sZHNjUWtRSDB4bVFVcGZFNzN5b1VTYTNXVVNMS2VIVnJLdUg5MUtJR0tLODE5ejc5d1Y5Y0F3UjlzcHJxbFFWZnlKdlNFM2tnZTh1RVBpRFFVMFl5WnJqVjBsMGJCU3VkeTN1MVlsVHB6Wk1EWmpUcE05ZGtMclgtaGdxZ1FGa2xFa1hNRWlzd0RDZVM3Y3J2bFg1bnVzbWh5SkZCMklCd3dxNWJieHptV1diU3JOc3lFMmJmWEpXOWN4TFlQcnJJZFpfbkd0X29RSGVQcUFZTS1iVnpTdzdBRGJjMU15NTZwclBGLW9PSm40MHptOTBaaFBTVGMyQXNKRGFBa3R5WFU4WktOYUhFVUlHLWI1SGhUdFBuZ20wN0FrWEtQNngwaDhzZ3ZIaGdCeGpfdWRfQVpQc3pLWG1HdUhFTW9lRGhpT3NkQVdRR0pwR2t0NHVlbmZyamNSeXVlaXJiTC1RV3o4MEtZUnk1QklxbzVJc19RVHpWN2dqMGstYS0td24tazNsNTJ4YjhaNkRXd2tWZ3hqUlNXOXZnV0pVd2U5M1ZrVWtHM3NLRW5SOE9ueTNjWlhQVl9LbWtBTEdlR0ZzQm53SmQwY3dueTBCN2I5VWQyQ19kWEZ0N1BvbnFVNldfT016cC1Nb1NtRzRHbEFpUkVfQ3FrWlhkalhIMVItSmpObUNfdXlPUTdaN1BVaDAtNmd2YUxpcE1CamlWR1FwdzlEZDhmVmtCbWk4VW5uOUxPYXJmSXVtcEJyUE43TTJhM05KdjN6b0NkanhZVFVUMTN1aElpYWl3aExoUFZhT2pUbFRmTkpqbHhIbG5lbGJ1RWJsZTk0bVV1bW8wcjhKRlFMSDdfRjhXMVo0OC1BcjhYYXJwMXhIY0FReHk1WWYwclktdUU1dTAyRnRHUHlPZ0JfNV9WdFlNR2VfRE1mdENLOGVMZGFnVllMRDJDNDUxTldZeVVfeHdNUWdQbXBaMWFnSEdCb2s0ejhsSFBndVhCQ3R2WFFuTHBXQTVBamdOLWNoWjNwUGJmc2RkNjBhekJuWDVaVXQza2hYaWNDdWk4b0xidEtzQUdmckNOZzFwT2Q0MHBHMEJlVy1lNVE1WWQydjY4eFh5a2RiTXhFblFCM3Fzd1djVlh1QXBIR18wREZVVmZvSlc2aVBZcDNWVE51amM5M3QtMDcxWnlZbUZ4V0RfVThMYTAtM19RLV8yZ0pwMVBaVV8tMVBRM1huLXdSWk1vb3JkZGZQa1VPZ0lqdWkwa1IwZWt5RjZvdWdLNnJrSVZHaGp3YUp0ekdKczJLdGxncnRCcEs2MXZEaE5zbFR5VHU5OUp2T2RFTXhwRG5lTEg4NnlvVnhxT3lIT3lxNjByXzdpTHgtdy03Q3FzWTloT3dmQlBZZ3BQVlM2bm9oZVBocTkwaGJTX0lrM21YbnRkRUNMREtSMi1wWFh6bjlPRjZIN09EdHB4S0VXQkdCaHJ0Ykxmd2JZS3dmWmZSVTJVUHpkLUxFd1lQdDloU203Z3lSODNoYkZiSFNBV1cySncxRWl1c3FURWRsRW1lQ3k2cFp1MVFZWko0TUQ0OG5rVXMwdmVHUVhTU2Ytb2RhQm1fYjZZdVh1cWcyWk03MlZjUTd4ZzV4MmpFenFqcllmdjdTTGJINFZBcWp0aFg5LUdRaWEwWEZaS18xempIenhkd1B0R2lSOHJfMkFFZTgtRXFoNi1FaTZKdjRFZjYyMnRrNWFJUWx3R1pETWpGSVNuUkpRdV8xcnJiY1E3enZsbWhUSWFQcUJNRFVxeHBEOXNWUlhuSHdIaTl1b1BCUTllbWJIMkV5WDV6MEhWRXlDa1JEbUd3cmR2RGdsOFVzMUhURjVwYXlYZmF2WkZUZjl3WFZyQXpsRFBEQkFJVFMzWnVJMEJWR2pJUGV1SnRiako4S1pTczRFQVNRRTVyVjViTUpNQXcwa19nYkVRTEZGSjJVb0ZzcWU1QUszM2xGXzR5cGMxU0JaWjJfUzYtbEQyNkpyRFVJSjFFRmJhbWtoUk12bWJIT1Utc0hDT0lRcHdadlJzV3Q3NExSQ1ZyQ09jMGpUdE5TT1JPUW5XRHVXRlFXSzk1TkRGMG96WjIyLVFEMU9YOE9iU3daaHdOXzNfS1pHRmtVMEhNdzNjSTI5LWUxbFltRDV3cmJ0ZlRFbllOeHJKOGpuUWFBY2FoNy14Q0JKeUQ3elo1MXIzRVVyY2VnazBzc1dLeHRPVjRLcTZENmxuVmU3bFpUT1dfTU5aZi1JSzJUbnZCaVZIMHk0SkVGaUxzSDJHbTM1d28yYlZVaXJsT1ljVEk1NlZhdDhMRWhGaEotVlUyNk84NHo2dUJFZmJucEZLbmdKc3pfYVlucW1zNWV1bmd3ek5ndjdlT0U0cUdKSURyMTRBUXRWdEYxcWdrZHNnVllWVXg4U29SQ0NobE5VUzRNRGxhc1hwS1VmV19ENWIxbDRkbXZiNEZNRHJqakJ6djk5dGJSeGZFYUVOSFlYTHZFZnJ0b0pMeW9na2tmNkxlbVoxVDZRbnRtNlR4S1IycU81WU1vMnRJZHlQNmZNRmkweEYtdE1IaHNSdVN3VEpybW1nREcteHVpZllVNkpfaElSNkMzVmo2VkFMMW1oZy0xeW1pRXZuanVLbElONzc4NmFWdVNpNmx5TjJJNzZqY0R6SHZ0VW1ibkVvWWtORHNPQXdqQk9MNFBlS0VjR1hWcm5YNDJhNW5IRWM2cmZQdjZ0Q2tVSUI0UldIdzEyUTFiNDM2N1JvRS1PTWN3TnV6ampob1M0S1ZJbHo4UEFMOW9YYTR4NXlQeG1aVzZ0UUVna1pKeFhEcS00SWRtd1UzTnpVZUoxdGpNaXFsc0xRWDdlc29fTHRtTWJ3bm83YkI3bjRlVnZ4aUtQU3p3dW94c25aaGs1b3ZSSE1xU0NtZjU2MjJvUTZvWEdmNUJLWExlQWdqaE1Sd21razEtUzlGajlyc1hlT19VYjJOMF9hVEFLemlidXIxNVcxaHI3Wk1PVFlxOFlSSGVPaWxSX3Bkdjl5NTlDRDQ1WmE0ZXFURHVrNmRxZ1d4YnoyVVVtMnpwM3pvTHVKSVZ1Y3FIaUVRTVNfMnFKcy1xQTAwT2FFY3huZTM2Q1RsZVNwZjF5cjh2VjNWNW1mQU5zRnJBa21CMnBRWTNfZ21UbldTYTJ3UWlMa2RFRllPSExTeEk5UVowNHo4ZFRfbW5QMmIwWV96N3ZLa0VGQmFpNU02UFdPWjVIOUx1M3Rnay1fR0g0ODd6ZHpuQm0weWZZY3ZIOHJUd1QyQl9UZVRFMG4xcWFRdDRiQ0diUkFQNE1DTDl0SGlIcmlzWEllejQzZlZ3b1c4R2x4YmxKanlLWkpXbmlRNjlBYks3SmYyUER6d2NVSHhkZU5HNGxEZmt6WmFxU2lybGRzZlhXOHBGLWZ6WFVVWHR4eDF4Um5nQ1hJVkxLbU5ZbV9CNnNrNGo0VzROVFMwQTBOcFhsZGJCWjZWWmFDMDNvRHVGUFY0MGtwdWQ0WEd3Q1l3M244ZjFHb0Z6Sk42QjFqOTRLeTdtNE5YT1JsQ3ZaRW5qZTl6T241T1d1ZG9USWRoRzBobXVDUTZ6TXI2YkVaTUFoV1ZFdlREY19iXzZsOWdLWmVxNmVtekxvcmptOEQzLXcyLXRBYlE2Tmpjd0J3eEhMZzlCRllRRFdvaU9UVmJKN2VBcUVFMHVxVkhBcE9KbFVIc2tmQy1uV3NzOV9fRTFURHBLcjRfRE93NFhPUGNzT3dlVU9EUWg3cVFXRE1ZcDVHU1poVWE4MVVHczhmemZKU3JPbmtaTmRVTS10Y0h3R01mX3didy11dmt4UFUtV0tvNUNqR2M2aU5KMDB4MjZZdUpCWXd6TVFyeDBJQWgxMjVBWlozX2FvaFFpLWw3a1pZVE82Q0JVOVZsYllNMndrZXp4ZGhrQ1oxd080Z1NNbDlKU3A5ejhxNV84SU1WM1pma00xV1VqSGZMQk4xRXdFMjRxZFVzcWxyU3NZN1hQaVlpcXQ5ZktXVmZDTWw4RU0yd2ZHYlhxMUI4eWl2UlpMcko0eEk2MUdVUWJFVGU4akNTYTF2aUxxZ0FIa25IYjVjVHIwbDRhTW1EZGZKWnJxZEdpb1lPb2IwdHBuc3IxanRfZm1obGhJa1NSQnREUk5XWEU1OXBjVXlULXpyVjBxZl9sOHN2TlNEV2N3d09YQ3lITWZzLWw0T29xMldVWTVLQi1nSG1HYUJod0oxa19ra3V2S0hlMl9TY0loc3JjTXV1eW5aLW14Vzl5NHBBS3pvdVFsQjR0ZGZvbHdSRk5KX0tHYWJPZXJiWFdDT0ZTd0JVTjdNaG0wOXNyVS1VWG5od1IwdTYyTjVvMDlfbGN5eThnWDg1ZUVrenhuOGZ2NHd2T0Y2dUd1cFk5UGxpSTRLMTNqSHlOd0ZuY2VmRlp2b0dxVlhkcUg5RGJkYS0zY1FhbVFlNmlMek0wRDlnLXlFc2NBTkpKS3ltelVzemZZdV8yY0p0TEhsd0I3NVhLeW1EMG9nUkRvRkRwTmNPd1dRRUlwdVJwU0pfdWtzR2EwZkd3MGVBTU4tQmc1OUs3emhRWHJISUZOckN1S1VPMVdvTkV5WkM2UGlKSUwtUlRsTFQ2WlBNZmdSZzZiUl9aQk43X2dseHBIakNDaFZXMkZ3MnJFUDJJX1pSeHFqdS1WbmVwV2o4eU1CaHZXZzdXNm9QWm1odmVtUTBkQUljNVZTbVVaelhvNFVURmJxSFN2MGlyVTNscVk2eUl1MGRPd2t2MlF4ZENfQVdRUmdLSGRUeG1xYXFUSXJwclZyUHZ1MDFQSGlFbVRnaDZZVEZ6Yllqb3JEeFExWDhlTUN5Rl80cWNjMnhOdTJRblBIdUR0RGZkSy1NV2xJUDhHUEhSMmhPMjlCa0JJSEM4TlgxZmxDN1ZSZkZsQ09McGVIeWl0MGRSd1d2S2tieGNIWl9fRE5ZLVBNQlZMZGpyR3lxT2JoQnpQZHZMeFpXWVU3THNRbnM1dmxiMTc5YXczX3VmclRIWGs0MVpjaDY2ekFRRl9tekQ3ZEVuMm1fb2tBaTh6NTRwdzdxUDAwNHkzenNPd0RmR0htYWF2c3dGMW5NMUN2YXhXajRINE45dVNUaV9DM1oza3lTRHlUNGdUZjNqc0FKUEJybXdSQVBpaU5PTTU3c0x2Y3dJRk9ENnA5QkdWbjFwbjQyZGRTU3A1M3JieTZEcnlwcHdDaDFrampQX3lCbTZRZnd6MElGUWJiSG1zVDNVa2RMb1dURjFSMF9sbjJtR1kxU0hHT2o3VHl1YnQ5d2xLVW5nczVMTWhVcHo3NU1LR3F6UkFnWXNKcHVKUVl1RVpKeGFPSHNmY2VwakdrcFdoMEtfWkhZUEJESzIwOFVqb3FqMDdlVVVueTBaXzJrNXUxTjQzWGJ3V0ZvWVBhdndheW1MYkhWdkRwbzdwMU9JT1IyNkt0SzdPeGlnZ0ZybGVISWNaODFwQzRCdlNzRnZsY1BCZEpHLTZxWTU0Q3J0R2xhaDRvQWplUXgxWS1YU0NLNnZLYUIwWnZHc2lIajhRQ0ZURjRuLUJqTWIzWDcycDJ5Q0tPRlpMRk5qcVR1aHJoYXNnMi1pWTNOTWdwVEQ5eVBSdjA2X1VpcEVfYjVsQ0R0Mmx5QU5NYVpZR1RvSmJTSVhBcFlyU1hEM1dFWllhTGUzQmFSUEJUYTAyeWpyVFZPRDRGNHRFR3c5MkZJZThOSk5NYXRXMFhPSFAwVWxKTXlQUDF2MVdvOUh5aFllaDFfdWg3SlRLcS1hWnJjOS1Xd0ItQXBKTHBQeGxmRzlGZkgwdjNwSTl0Z1VndWJmSkJQVjMwNll2MlNqQ0M2MmVYN3VFTUgzcXQ3TmFYcFVsNXZEVHpfMF9Vc3VlWERQcDNqV01XQTMwenFaYTRFT0dXdElMb0tEM1RjRWNVcmJONGV1bHFQSkFNcWdWdmk2YWRGdTgxU2w5cU1rVVUwaWpqMjZhZDFaeVlEUUZtWlJ4NjJYUW9ZdG81bXJ0eFZhYWtNNndqbkVPSUdJaHhBTnJoX0dNVzVxREhzMEV6TDU4b3lOY0Q5dE1MUC03N1FCbTZwUTFsR0swMVJ6Y3FzTk14ZzRMTzl2ZHQ3NFpIdEhMXzA1TjF2TUt4TE5GbkdhZmwxN1E0eEM0Z3NQeXpYdzBjcklyV2tIQlNQX0NoWE94SmZORWdyNjJOMXEzQVJZa0U1TVlCbzctM3djb3dNT09GcTlrakN1ZGpoekplRjRTUHdfMnFVWVhZRTZsNXJTYjYwUFlFSkJxdW82Skh5ZmdlOXFJX0Rzdmg4eEY1STJfLWtLT2pxU3FZam02NjU0cXVES3phQ3JWLUJFLWtQNF9DOU5OQ0xTaEVWUV92Z3hYdDhzbTRWNGNRMElDRmFzaWV6VnNuV1QtYmRQTGxBT2RqOS15RmhYVTRUYVF3YnZqQ0E2UHQ0aDNVWGdnQzNqWU5IMmJtRGpYSzhFdFJYRTV6cmJsTDRKMFZ1OGxHQVBZaGtOcGNOakNrNWhSSW5jT0dybE9aUk9jdTdSeVczR2JWM2Y1MGJKN0xLNHJjMnJCMTZuemhBdk41WXlydWdwQzdCOE9OR3NTY25ha1V1alJzRzZGYVpydDNzTDJMOW5RTUNoNE9INFF3VWpKWFZKUFJ2MHhPTF9jVEQtdjk0QWgwbWdtcFJ2Q1dhUkl5MXRxeDZHTmZ1R1Nyb0tObmtHYjRiRE1oblpZMmwxQWluWHlCMG5uRGlvci1EUmo1cjhRZi1iaUR6cGhTallzZTZrakdLR0ZObzU4WjFfaGxEaGFob1pQX1lRdlBtWi1Tb2pNaGhMRXZqMXEyZzZWRVd6a1FDWTdIWVEwM1Y3cHVCVm4yaXM1NXpBSGV4cGpERWoxWDgxWU92bnVTdXRhMGx3VkFEMkRoNjZDcmM2VVh2SEtUZTBCeFlsQWdVdkhQc1BkSy1OdVk4S3RaeGNqTWNDVWM0OVl6VW43RVBTamFNaHJ2Ni1mM0pwc09Na3JwREpLM0dPTUVRMUV4cnhYV1lGaGtLaHR2UXZkMXZCVS12b0pRcWJveU9vS1hMM29Xb0FRVnljWlR3Y2laeW4wbUtkVF96NDNFZGhNcDNKS3N5blJ3OVZtSzk3Q3lldGl5LV9HaWVMSngtWDladVMzOUdNa0YxaFVmYmkyc3FJZGZMZ0diem5uMTluTlRVUDlOR3dhaWhybU9Ib1lZeUJ6WE4tby1UWUxhSS01bkNuQ2FSSW9QTF9XSVhyWDZPSzdZU21IWjk4a2xJS19JNTlPSXlWSllrMVh6bGVwd1lPLXUwU0x6bTEtN0dKSE54RGVOMlZhUEk3TThVem10X0x5alliWWxocFFJQnNyUktsMmZZeExKaGt6Q3NjcWp2bVhDemRLVDNhNFV3NDJ4eDlsOWl6dFQ0UmtnV21fYV9YWWk0b0gwdjNCUXRSZ3NfUTBPaGo2T2Y2dEtyZU5XZmcxVDRjMk01SERJd3UxTkl2QXBqNzZtOXJWQkdPWTZFUnhfa2Y3d2twb1g5dWRvcjBCbEx4a1FCc0lwZXpUdzc1MTBncU81Nm1UWXlBUzFCUVdOY1Q2aWhfN3F4ZTVoUkVlZVB5YUpFMnhqR2JNWGg3V1hGYjN0ejVWVWJOTFpxMjBiM3E0UFdkdjJXX1Foc2VUY0JTRDY1eVFPYndTai1UcVpNNi1teUZHb3B6dVdfRWcxU3pzNzRaY3RMSUxyN3pMLXRyeC1WTTVfVHllMVZXbG9ZOTZVYUJyUktpQWU1SVhKMlBQd2RIY1p4SWx4N3dBRXdueXVOZXA2b2NKcXRwZUJ1elB0LTFaX3UyWjZrQmR4V0lpYlVEaGxOU3AxM1NkTGw0Z2hkemVqZWFaYVllRDVtTGltWWJ4dEhsQ1ZiTm0yNU1ZbDYxMFU3QlZnNVJJSXB6VUdmZ2Z5NnpJRzRLQjBMR3BISzNhdHRRUExvQ1VlTDRYNVdBUUFsb3BRa0RKOU5lTHFGdHN4cWpZaGJnZ1Z5am9ScjNPOVhzYzlJVEtVaXJaUDlyTVl0eFduT0tUck9YYVk2WVR2Wi05QUhpT3ZfdTRhOElTS01DVng3OUlnXzdqTjFfREhjdGd5cEEzVnpkbjNKdlJJQTlfbHZDV2dTSS1NUjlPQ19xekhIUmU5dENqWklDVzhwRURSYVhZOHc4UUQ0bXJicmFLTTNsWmtTNUF2NVp2WjFRTDJlZkExbXlJdmN2czhmekxRUFM0Nm0xX3ZPVzcxN05ydDQzeUcwbUZxZnk4aExaZEUzQ2RkMzRtVVFXWVdqSkdvQXZ0VHBXRmpwWkwwOERjQUd0RzVzdkU0Mi1WWjRqSVVYQ2JsemZaczl3N2VsNThvRkJLUng5dUJLby1PWmYxTVloVEZrSlU1V3YtUEVreXRPSVpfU09nZVM2RTVMTUZsOVpZenZ0QkJuWWF0bDY4NGpEdWx0STh4LXpmSHdwUEFwNk9CQVpxalk3S3JoSVJuVGRoc2Y1VUpCcmtvU1JGUFlaaXE4RjJLWHA2Nm1PbDMyRm5RTVprMUlDVkxiYVpnUFlWNnl5UXpZdEdhbjhOc3BFTG10RWkwMVlTZE1ySUxkUF9TVTZwXzJ1NU1oY0RPMDF0Y2hwMHp6eUVfTVp4YWJodXpMWUVIeXJvYl83cjFKdWNjZUQ4SlM5T3JBdEk1YXdsbEhGSFRRWExOWGJuTHdTQ2JrdHNiTGFoa05ya0ZXR1RDNFRzUlBfYTlHMVhFTE5DRkhaMVhvS3NsQTdMMzFGaWpyNFpEYjRQeW5hT1BrSlhCcEx6MGNLN2FmeFVxNWlySHhZNEQyVkdNT3gwUmc5UEJJeE1vdzN6TmVGZ3Y5dzRTdkJ5VUpQdjNGV3huX004M3g5dldiWFh3bU9LbHlLNVpWQi11LWxKVno5Rm81YWRfVEtwUkxqSGdNWURKNU9Ka2dhaEFQMmhOaG9lb0FicnBPNzVYT2tYZ3pONDdwVW1kdzhmZV9FN3ZSeUREZi1LNVZNS2UzOXRPSi0xRmxtemJVc0pET0lScHp5WVl0Y2Q4cGtPU3JQYnIzMWdJNFRIUjJHV2xwZWJCZ3VhYmppck9UTjI1Zy02MmRPWWVKNHVwNjI3MjdnbWNQWF9EYmJfSFdrTnVLaXBmdkJ1UmVNN2J1WE9LVzg2bllHSW5ZNzJZZ2lvYVpIaEJnY3pHbktuUUlkWTJ2U3NzQ3E2b1FSUGJqeHRQZ1gxT1h2bXNucmNBencwN01ULTNueWF1RDBfNG90RGJueF92dm1fM203ajBwcjBGUWZ6NWs1UEVNUG1sOFVhenFxX2xEU3djV2JOU21JbWF3OWt3U2NXN2xrOUViNTRLRTRhaWt2bVRxXzRuN3lkSDNQblI3bC1RMXE2X2k5VWdHUVFfSmk5UDZQbmszQzd6TTVYbDBpYllEVXVUV2FUdlRrX2ZjaXo0VUJXWkV1T0lLU2xZaHVBVzFQUTJPU3NiUWxPbDU4U3ZvTEYtS2w3TmNkRXRBODJVWjdkLVFCN2xKNWFCcnd0Vmx6TDFxX2Y1UGd6a2NtcW1pLVViM2tUQ0xlNjJYbzN1MmFvSnNTQ0c4bXhwZkJ6dVFVVkk3WXdTa2ktWUtNUnlJSGhuOG9xRDNQS0xMbHk2LVZkZy1VREE1RWhhLXA0TnZYb2lLb3ptRHdBZFFpeG1IcnJTdUEwWmh0eE14N0FSc0pqc285blZKR1BOSzhCeTMtbXQycnNOOHlMdHpyRXdkUzBtLW1sRHRKak9CWHJ1NmhWOFBPeV9vSWVzYmJtWkcxSk96Tkl5YmhPOWdNakpsNTBSQXVmcW1sSXJpOEVXQk9vdzdVT1RKQjgtTkR6VzVXdWNiS0VLOGotdWtSYXhhQklPcTJBTnI1Tl9hTEF2RFpmalp1cDl1RGNTc2FUOTNWR0dmQlhHX1BYRlhGWnNtd2NnamxsQWN3bkhCS2V6QWd3SnprRXpFaEdEOFhQMVh0dXJPZHh2YTRyd2ZtVG1yM1pHVWFmY0tTUm5malpnVERSVThVRFd4ZjRwMjB1T1h5RzBBUzlJLUF6WGN0Nm5EOFVQUlB1WDQ3UG1fN05mdWFVTkt4SEZ2RFdOdWYwcVE1OFlvZmhydjJlRDlzUFJFWV9CWjhXWm9IYy0tbVZ5MmM0aDdvTTUzQlFKbTQzRzNkaXotclRwWE0xUDExakc4em5XU3RBQkJxbW40LXdKVVl1UGpDV0VtY29qdGtRZEZmcjQzRUNqTzE1SDJaZGN6MkphZmpUcmxPdWlQOG96ZjEwa2RTYjBURTFVOXI1dHRIU0ZzOUxPVlZHVjJnQUxjUGtMU3R0clgwMXZHMWZLS1ZTRVI2TzlZM0pZYW02X0FwU2xONnlRbmlqM3NJTzdKc2xYdHhaMzY2bXI2Vnl6WmphajVVODlJSjdJUlY3eXBkOWtuZy1RRlZMT0FhRGU1eENvZG1jRjY4ZGp4LTZBVWpQWnBHOFYxVG04OXh5c3BTaU40M0lmLURacTlaMXFjSXNDOUJ4XzlxTHE2S3kwNTIydnBKWkw4NEdCZElXM0FuUUdKbFY2dkRXbThpcF9LMjg2NG8zcEg4UTdFWnpqc05KZ3p6RFU2SkU2Y2psTVdhMDR5dkVMa2dnUm9feVM1MWUzam1BNUFFdWpXLUJ6TXlzTjVkeUpiZC1HcnN4VFltck1wMWI0dFNhMXV1ZHBSdWl2cUFLdV9qbTBvYTA4UHZqRjJyNjRXYXZQZHVxcUs2VGUtMDc1RkFQNHFEZE5ocmpJSHpneWEtUWowY2NCRWtZbUo3di1mUWxneUxzaF80bHJZQmVyWnNCMDM1Z2Z2b19CakQ0Q1VWVWFTRkRya2U2OE41N1prblU0UkZXN1NNQXViaE93WjlCd1pmT0tuajV3bDhfemRFTDVLVDBQUm5IejRjQk01OTZGNXhleDFORzNqME80Y3JDbzVod0xMMUVwMnVweVlULXpfTkdkT1MwMG50bGt0dnNKMGFZSURuQy1SSDRYcUdBUXlpY3hJVzNnTXh3LUNvYlIyUGdPa1dLTVBJN2xFelNLN0VKcjZkZENmblhHRF9scE9HSXgtUTROdjFOU3E4VGw1dkRtdmdOXzZCOEhHbmV5bXdpQUlJZ3NpWWhfUmR0NnBrdWJLVF92aFkwMTI1WWZkck9NaW9keTFLbEpNR3NJNGxqX1dJYVRHQjdoY1dtY0stMy1NNWlZVnJUSktaR2RZbUFobXI3bkZVT28zWFFCZkVVZFpKb2Itc1R6eDdNYWttd2JEcHdQdHB5OXFQem03akI0ZC1yYmlncDI3azRTYlVFOXNFWTZVeVVJVk80Y2l5R3ltZThpOEdLY2dSWXJ3YTZmVlItTnNvcm16dmd5eGZVcDFGWDZuR0xNbE5VMDNEblBVU0JLT1RWTzVnM2JuNG1DNWI3anBVQnUwQTk5R2ZkTEJGaXg4dURwR2NsQm51TFhncjcyRFdCRmFKeldkZXNZbTlaLWk0WDBaUTh4cVZwdGpXTnI5Sm5sVDlLeDVKZXdRSHZkeXRRdHRaTXc3TS01Unc5UHJreklWd1JPZE5PVkxwRWl5RmVqM3YyZmJGRFVoRmg2ME00NWRMQ0hqU0k5eC15dDZ6LUVtQlBpdGtkcWpUT3hLam1qVV9WNzIta09tVndhZkY3MzdTcVRKa0lpWlVic002bEJoQ3Rxd2cwNi1DelR4U1pMYVgzOF95dE51aUY1S0JfcXVwcU54SGJ4TTVZN0l5SnJUcGR4MG9qNFZzWDlxWkFjTGxCZnRNaTFUSTVLMkJRSERSNW5FY2UwT2J1SWpjdlNrcjNYMmZwUWQ1cHlLdnBXcXpNbnNuQ3NsVnYyWUY5ZDZHVWFKeHlfQ2MzRVJqOXZIMnRJb2hBckh6VzJlN1lNUTRyQnducnowOXc0aWNnNG11TDdVSnVsVnJLcjdJS3FDYjJyWFViTDBIRUVrTUd3T0pISEVnVWxlYzRGajRNQl9ZNnh4SFJuekVKMVVBRXVTeDJaZG9Bd1JsSjMwRHZYTWMxcFo0NWktYXE5eV9oOFJxaUZSUlQwSktjYzFpeFA1Y1JWRmVpbFhKWXN0cDV6X1pKZ1FrSTdCQlBaR0M2bkZ5RC11LWh4MzhQN0IzQjdUUzdoWVlXdm9ETFpGSkI0a1ZGRUhvNlRKdWNDVlpJaEFMdHlfN3dreFFxdU1mMFNOREQtV0FPWUJkY3JpZzZmYnNKSVhvc2lMSWNDM3hOOGw2X1dzNk1UMXdXODZkcWRUWkJnN1Z6YUlnREJ2RDRNakRLdjk2M0k2c3ZmeG5FWWNEQ3dDalo5M2JwUGRJd0htZEY1ZE0xTGZVLTExMktBN3dCQTJWYjU2cFdBMWk2QXo3Z1N6RXhQRkZvVkNBdFlJUnBFcHh5SVBaQUVHV05zeDNpNEk2Z2lyZi1hUmFWejFXUURCemd3ZDd3TlpqV2xrRVlyRFBBZTFPVnl0bU9HQWlGZmZiQWVPaVF0V1lzMHYzVGFTOGcydk9peXRvakE4ZzM2dDQwQTB6T3pKYnlzUUM0Z0hjODJuVDdQUDJBTFdPU0RLTmxSX2M0eHFWTkxjdlhxZHFBNmpVRlBUY1FONzk4U1FRbGprcmd1bzhEcGxTZTBnODl1VHUwV0ttcFltSFA0WEtmeXRGRWlBR1FDSmIwZUl6NVZsTlAyVnFiRGRMcW1JSzhuNVlNSUtDY2ItY0FUdGFoRXU4QkxQcVE2VC1aa2t4MF93M2RmZjhVX3ZCZUFwS090SERMWUVqcTBnVktxUHhaUWczY3RJS2oxdXJPeTIybnJ5aTlnZWZVc2QzZUYyMnBCQkx2YWVWSk96QUZndk5YdnRiTXFsUW1CXzQxNG1tVGVtaGFlNktjOW9KRF9sLUxKWDZPU1FISlo4MHQ4Ql9VZkdacFZES1NubmFmMmY4UHYyMy1EUmlGNlNyQ0ZKN0d4TEhUNXJSNzU2MW1YUlV5Qy1leWtocVI1ZFZSZDZhOVQwSGY0TlZSbjJiaVdxeWhPR2VUa0hKazE0YllOUFdYTm5XSHl1VTdyNEZoOVVsb2lES2xIQjQ0VjlmYS1YMzE0c2VHZHRqUFNLdWhFRHBMeV90VU95aWU3aThJaGNIaE1XOHlFNi1Oa0lZSnF4cU5EbjAwdUkzSEhEUWtGYzFQV0RYdlVIcnBJUFRJcFFBQ3c1dkNWT2JpUmFoQVBJM2tFRFh4ZkY1S2VLMXRuS1hsZWRxQmRIc3lCUkZuNnp6T1p1UHdOWktKNHlYVDhoS2wyamQtNTlqdWpibDBmNF9WdVJFdmVQOW9FWWtTOHU3UmlBVEVHa1lPVkg3MkZXTzBzLVNJWGVRRkQzX3VvWjdrM0xjSm9GVjlXMDZrQUVWY1dURVZGRUlwamtNMy1FYnJSUVdMcy1heWVYQkNFSUxsQ2t0di1LblA2N0pyZFV0bTI2cnFlVXZ5MzdTMTBCTE53YjRiNHBvREhMS2FveGFuZy1iRjZUb29PR01UU01MWXUzaUlLc0R3Wm9kZG1WR0xyQ3FxNWJJR1BFZTNoMnc1RjFNZ1hyVEU2TmFubXpKckh5eHVPc0VyaGctaEpGeGVCcWE4WjZZWFduTXIxNDhLanNoYVAyeVpFSWV6OG81UEc3cWRWaHFRenhYT1c3eEQwSTUycjBvbkhxM1hzcV9SOGhFby1UYVdPbmY1NW1YYTNWMk81LV9XanZxZThWdzdwTUF5dG95dmh2NTVTVk9xcVdkNXNIdGhITzd0OWlMdDNFYVMxX0ZnaU8zVmVENmlvUVBNNjZsWmhaYkpZZHo4b1RFeU9SR09KbkpjSVpqVm1YSlJIbXF2eXZsUlpjdkVMM19KR1hEOEZGNHlBVE0zaGhlNDN6VEJVdk9oYlRjckhNQTRLZjhWczR4cU02QWFsczVBZzRUbVZSSnVLLUVRWFZCaFE0TEpBbEgxVXZzN3lKYTdLM2hsQlZEMWo5WXRWS2htMVhPNFJySTNrZmVxYmxoMTRHQ1NEdnI2OExyTk53SUZsY1JEY1pKalBOQi1GWGhUd25PbW50ZVItOFY0UTJVa19tczdTTm9ZUElWRnJqY1R6X1ZkQ3dYRTFmMjNocHpqQ2tnWGlsSUlNNEpNMkZmcDNTZTY2c1JHc1RXXzBBbF81R3Fqd3ZfZFBYWDA0RHJNMFI5dGljTHhLczBnM3hkSXF1M0huamxBRFU3S0c1Yl9NUmxUdWJCQ3pEamtJQWRRUEFwcUhaWktnODYyLWloMDE4bERfbFViWEwyMGhFNFBNbTE0eEg3R0dPQ3FWa1o3RVU4ekd5Yl9xWHV4RF9LZHFLSVR5eUc2WC00MHhOeTJ1cWpDMmlvVVpiM25Tam5kZWFiX19kbC1jMDBLWkU4RnhTRnRMN0RreWxpTWM2Yy1VQXBhUlZKQy1aa2NBaXlPZ2NBOVZQa0x5a2xlcGRNYXY1Y1J2a3FvTHhmS3RMU2FhS0taWEdveFd5OWp2am5KZHZfMmZDTXlUeFdOUWl6MzI5NG9mNkNNY09sTmc5VW5iaUlHb1JVX20tMHQzamNRWHBrZ0pDWlMwcmQyZ3RGVExYdUVlYU9ZTnJjZ2dPWkVQMkstc19kNUlCU2JqNXE1QS1HYU9hbzFuRmdFOEFlMDdEVXVzeTBYeVEzd0cxb3JIOXUtSUxpSHpyd01Ickx5ZWkwYmpYSm9HcVBuSWd5d29nWjdZRmF6a1ZSTGE4OTBZQjlXR2p2SEdqZ19yYmVabWRDWkFoalNiTlRveFN3bGkxMnh0bl93WkNWVkhlNzUtSGNkTHZHaGgyekwwVjlROG84NFI1NUFKVV9fNjI2REMxT2w0cXVLcEt1Z1EwMHowZElPbzMwcG5IT3hqa2xlcGRMM0dyN3dHNXZsSUJKbXVWMlBReC1Hc0JmX3lYbUhxOXBZZ2RJeXl3ZjNqSjlDcmROYXM1RGNseUExUS1Sa3MzdWtyU3dublN1ZE5OeTNCRlJ5ZkgtbHhWQmpYSHQxUUlQM2JLbjRvNmRPSHNLclc5XzRPVnBNREQ0UjNMRmpYNFM3MDJ5ZmdXSkk5Wld6TDFadk40X2t0Zy1iVHNYOC1zdzJfa2Y3dXVldmJmMkYzLThmM3lvNDNUZ2dQaDU2TEZjbFNidGdaNE05MDRTLWF5SGQ2NkhVbmU5T1Axc1NldGdKWXdZZVN6TTgzY2FUUXVqRVA4bFhEQWxKZGJ0MTRhZ2FValJkNlBNLVVIUGdGUmNtRTd5Y0k4YzNSdWxrVkU2Wk5qeUU4VkNnaFRoN2JMNTJNYXhUcVMzQWJKNUpHak9ESkk4ZTczV1BFZHZPZ1FPNnZvak0xNDFnSjFtaW9rTFNIbXNwVWRhSFdIdkNkc2VHeTZyZmJfYktmeGJGS3FNTEN6T3VKbjhxd3hlNUxJQms2djJCUmNzM1I4ZnI1VjBSQXB5U3J3bmRuWExFRHdVRU90YzdwSTBqajVNeGFJaWxKU1FMb00ydXpiWXZaVE1INklXSndEdU1hNW04MlFCRnV3TWFZRDd6WmNwM0RGb2dFc0N5YnFjZFd5SFBhV3NxQk5GSDRuYXdwRnMwQ2xZMWMwbGZQR1RnTWZJeTRxRnV5U012cHNkYWZORUdBdVFpYU5zRzROSnNJV2NYbFNFQ1FsLVhRaHF2YkpUWE03NldPVTVld0RneGRGeG5WREVhdFRlQWZZaUVEN1ZBelFNUXNFenU4VUx4VmI3RWJzX3RsUW5hU2hVX3E3RjNUVEV3VUpPdDNCeFdPcWFCbmhNdUdOdU5CNXJabFd3YVhrUTFNdGxwOEFmWTBXSF9kX2F3VXdQbUpCQXFEX0xKRncybWVBS25OZl85NlZiUW5iU2J1ME5uejlvTnVXVmNMcWZIeDIzX1JfVVE5enZibTlkaGlSaUxSMnVDUzN2d21XS1UzVG9vbks2c1NpeWNmYnh2QjE1TnFnN2l4UUV6M2U2emVkX3pQYy1GdF91ckRrR1dOTFJ1d2Zyb001REQ5XzQ0UFVvLU1SQ2NiVGp1emxqQmVjOXRUc1NRdnZWVnp3WHdNY004Zl8yWEJxcU5OVl91b3V6dVRPWkFfbkNVTDV0T1dFSXZIZmlDRWxJV3lrS0U1TUFUUVlUY3FRd0VwNUlBeDFDOXdudnZtVk5NcmFFNHpDSDJuZllsUGNIYWpMUGlXcHpUdUR4anJGeFhIbVBUc1JTM0Q1YU1yTmM5emwyZkR6ckJsbzV0Y1pPT0ladlR4X0ExeFA3RlFnNjMtbUZzTGlRZG16NzM1bWVjUEFmdkROMnV4dWp3YXFITGx5NGlLelljVVRjbHFhYV92X25VM09ESUxkcWt1S1pCZFZzZGwwX19YeDdkSlFHNG5nN3kxU0d1V2Z1NEdRRnV3azE5b1hJM0ptU0c2WVZHSW5wSUlNYjcwSy1BREliMlZBWjlVaUloMW1HNmpUZWRHWHJtMzF5b3Jnak1PUlRERU1rYnZCeTFaazVrR0E0V05aSmRKRnlSQUtXT3VNbVZOVXRWcTFWRHpkTkpNdGhaWUZHQUU5MEtBZVlaZDdmaFRSZlY3ZlFYdzhWOENmM3IxdmdMTXJyZ2JSOGwzeUsybFBLMnhMcFl0cVpRanFaREpvSjlwUHBlcHEwRF9Dc1JEcVlDVi0zNE5GbldXWklZQmtmZTRPSGFFZTRlXzNQOGxNVTFKUWlJY1dXWmJ1ZUJXSnlpNDQ1b24wRm0zVzdlYTRnUUJCN2c1MzU4MUJBZW9ZQVRUYnFFV0J0LWU4OS1YMDd1Nk1vSDVKUU80OV9kSW0wNU11VVlrV3ZQODFHNDMySDFPYmgxRUJBNG1WdHYtM2ZqeGVDRldiZHVzTWxxa3RYbXVodjBEVWdmWGh4OEoxS2JaMUdjN3cyT1E4S29KZXNGM2QyTzIycjFkdHRIamdmbHBUZlVXOGFaN2hPZ2otSy0wRHg5dXV3ZmNVVWMwUnd6bkNMbVdqd0lnZ2NfQWZJbVRpd1ljZWgzQzlpVnpLdkcyV3BfZHpCMjgzM3YycGI3SlRKbmFYT3VSSlhiM1JQS0pONGcyVXV1NnNYc1JBd2FlTnVtVVVpM1B5b0pCY3dhZFRsbVVrQ2JNcjJMQzBzYmZkbjNMOHk0bTd1UGg3VTJ1RE5EaGk1LTZaWUNYZE5SRVNzajVrR0QxNzJoUHRSVEV6RzhUeEN6Nlp4dE5MQ004a3pHVWtjS2FLeVctZFdaaFVWRENsZVdnQ3F0NWdvNUI1OEVaV2RJbi1SRTRxREZ5RlBDNDg3bk9nMUVyVmZBN0NHWldha1F2QXN5ZUhKb3dkc0RrdzZIV0x0Y2ZwQTJENHEyZ1Z2aDdraHVNMmwxSE5DdWxNOWJSXzZZYlhuTGlCMzIzN3Zjc1d2bHpBVmJCd0J3WHRQT3RGWEEwc0V3c3Qtb2N5V3Z4WFNsT19kdlhRNUdHa2pLcjhFX1hzM0dvZmlqaHpsZF91OWFROGNTek1XbE5xRGNPWncxdncxNUtaeFNXR1QzcDJ4S1VHLWtSZW1Jc1h6VW91TFdma2RCbk41Vk1tUTdJTXA1RkFfcmdHWnFwVHByaHJMSlVaeTNZN3I4bG1McW15Z055a2FMNWkyVEpIT3RWVHB2eHVzck1LMnUtSzdpbUJVMHlkQndFaHNOS1RWMXlGZng4Q2JZazJTeUo2QVlWeWZLM1FhVEdqb2FFMGxocGNPRUIycmpfUDhFWHAydlJ3TWZsYjBtc2daYTFCOE93d1BXRUJMdlROVjVzUEYycFpUaFlnM2xWVzFjSlZlTlBLRTJfYU1zS0p3UGVIY19YTTNrdDBXVkpMbTBnZzE2ek5EMjlsaUlfNTBjOW1VN2NpVG1hNEd5ZzJtSkUzVkg3VWxUanVkRldmNTZpSEZHNlJpU0FqVUFtMmtBTkNGMjFyb3ljVUhFTGo1aVlQZF90S09vcmJvRDlWRGcweDRDc3BQMmRKZWVzMVR6aVMwNU5qU096cnd4dG5qMTBBZ3kyd3B5XzUtbVl6dVJvYTUtNXVPSFhDRkFNSW5QQ2doakFudHVYUGw5REJRb1ZSMWYwUS1NdnJWQU1Qc3pfaXMxc2xZaTlFT3NDUWp1R2hsNGlxYmVNWWRhbFVZZllGYnd5dktaTGNlZndjaVdpY3EycWhpM2FxaWQ5WkVwVGRyR0FvRjItdmd5cWVsSjlRb2NfSG8xRldZdjFrVUR3RTBmQ2ZlV1FteHBFMTQyYmlZNVNnV01CaE9tVTBKWkt1c0hCV3B1ZWJ1TDVlc2RHVEJwRWtpcEpHWmtQSlB0YzBvTlJSVU90TVdZTTYxbXZaXzRTTFpqOW9kZ2U1akMwMHBzSHVYTUExTG5USDZ0R3FnSDlTd1Izd08zOTNTQnRMRU5oNy10UEVEVWc0dHpJeXAxTHQ4R2dWS09DTl8tc2RCbnlpSjJaNmYwSThEMXVPQnJYN0JGb3E2aHlkOWtMWnZiX2E1VHFUdzNKZDJCdHRzOHBWS3hhaXFtTW1WUmZPbU4xYmRJSHhlVUNCQzdXdE1LZUc0M2FNLXpYZDBfUmI4MkxJTVVVRDJadUxXb0MwUGZzUmpiYWNpOVhBOFlBVTE1WllTOVh1YV82NUZYT2xxcl9sT1RuUjd5Y0JZY2J5T2tIeGpIWVFmRGkyQmZRV0NkMElXaF9WcUxNZWozT3ZEUW5FZDZvNEU1N21FQ1lQUEJUSkFIZTNHTjU2UEl6T2xLNTRtVV9USUNpX0JKTkRXemJvdl8wSnVEWExZMmUxZnhCOXNURmc4c1hINUozYUhYY2dpYUdSaHlnMjRKZElJV3dkcXFRbmlLZWNfS1IxVTJhbEVqX2xPQTNNb3FadHk5Zzhnc2RCMjRmQlRLOWJZUnc5eW9OVWhrSl9fM2NxNlozVVFvc3VrWklreDJwVlRoTkU3THdEQ2gxbnVRYlpvUlZrN1NKc1pjWkZ1TTd1SUJRWUNVMGRIQzFRS2lublQxc3R5WDduM3RRLXZPWGRsSENaOEtmSERpR2tsemdKUkhVSFUwdU9JQUNuNGtUbkRzN1ZrRGtEZ2YxalBhYXVYLUR4X19Cdm5oWXIxRFp5eS01N2x3SG85c21rZDFNcGFUVGRLR0cxOVktUDh3MmcyNXJCcVlWQjhBZXRlbXQ1bEtZdE8yckhJNmZSSDZrLVhSM2I3WkVlSFA5MV9UTkc4QVZtV1djMUhaMmdYN0gySzgyUzRoUk1JcEItdkxUaFI2QmV4bTdDeXJHSFZqNHN3M0dtZWd0cG1obmJlNEZQRVo1UTZnNGhScUpmYTJvOUswZDI1aktwaURBTFllRVY3Y1VDUjhBVjRYNU5WR3hWdWppOVdYN0gwaU1mUjZHMmpIVkFZSmloSkxOSC1JSENWcVhxdng0ZWNSRmVxNGRqUjNBWjRITm5kNUJBaGlTSHRObkhlM3EzeG93cFduQVh4M0hHeFZKcUozZ0pVdDVtdGcyb29pYnJiTTVFVU1HT290QlZGT0k5eGd4RmZYT3dhYXNPNWxIbTVoQnFWZVczOHlXS1FqYU50VG16TjlITjFrRWFfS0JacHU0d3RGeGswNkdWTmFEUS1QbmZBV0FJalByQ1FjSjJMQ25kS2FBSHJyYTQ3WTI0dWJYd1hPNUZsSVh6NElaZzI3Z3NzTXpVR3kwdUtGc29LdnJrZkFLdjVWblR1WlJ6aklrZzNoZExLR2FMb3RPVmFwZkp5VnNidGh6T0JrSERUMDllcVlOYkFwbWdYWGdoVTZSb05nV3IwOURSMmZQV1FyaUVzbm9Gc21yZWc1MUUtc2JUWjJCb3FqVW1zRnlndjJZdVhpdTVXdFFUNGtKQ1NxczZZVEw0cGhoQy1sTEhubWs3Q0ZKVnNMUHpUM2ZUcVF5M2V6Sno5dUxyUWJKRXVVMGgyWHQtNGwzaENtNU1hQlVVUGU1SU0tWHZhVk5QM3FQUGN6NjEzZkt1WmwzV3NmZVVtYzl4OWhrbElxRlI4RE1aOFdpYnhJSG5CXy1vTnpvcGV3SXZkOU1RV18wQ0hJRlNWWV9lMDNfNlN4SDBiLU5DX1Y3MXZHNXpNTXpqUkc2WXB1d3hMVUQzQnV6cHNWSVR5ZTd4M1RSWFBxNE42aXF4cFlTeWpyMUUwVnk2UXhzWGc1Q0NsZEozN0p0R082b3pTY1gtdDNKOFJBbVk5Zk41WTRURUZCZkxFT3VtdkQ0WXdjd0xuVktKMnVYN3A5MWZjTTUzVVRhTVc4UTZSZ2JFaTlnZjg5SXl1OFc0WTBIQ0REbDE2dVhCSXdZR3IxX1lyRy1zOUU1dU9FbjVpVm9oY1JsX0RrZlNNenBsSUhPWkJzLVM2X0tud2lZMXZYeThhTWlqb2tFaTVOZnBMbUdZdklwdk1MUFViUzBrQXhGTWo3dktnRXR0S09pU2wxVTJleFF5d0tsYnJtUGxFamZ3YnFjRVZkbmZvTFhIYXpfNlhYTE1Qb1FobWhKUWtvVFN6UDFIb2J4UWY4Uk53VmpaeGF0enpxMGtpMjVmUXlTNTlET0wtVGtiWlFqOTByUnpCQ0hVaTZlNWFmNUN2b3p1T2NIdEJmRnJHVkw4R0JQMk1JWi1UTGsxZXcteFpBbE10UVRITEVuUE1US1Q3X0VwY2dJalNDQTVsZHFXQndZVWxJaXZWd3NzNXRlWEswQkNvWjY3OWxyTVdTOEIwUmRwbjM1djlPU1JOejh3TUFTNER4UVV3OXhOTzBrSjdCWHdUM1dOem90dVFFVDFIeWpEcDV0UHY2MVZuVlVDc3pRME1TaTcwakU2OGtnVm9TM0sxaHFxNUhyZlJoYTVEM2MzZDFBWnJzaUVsMXpMNU5OamktNnBpZENKVmxZeFNBa0gyc2VlZ3lGeUVVV2p3ejZRZzBzeWYtUGtCWVFaRGtKOGJsUWFyUjRMdVJGVmViUTZ0bnQtVThmS0M1d3kydzFXMUhiWUZOWHRzUnVkcm03WWVtUDI2eVVNRzNPUEktLS1zV3VEUW1VblIzemNaVGZkcVBkc3ZyRmtES1JESWZfN3hsbDBLVGtIbHEyRjJOTTBiYjlDb281SG5RdERpX1pJZmIxa3pZd1BHTDZMV1hsazdhcENaQ3daWVBLNWNmbHkyWU84QzRuX2w4eDJkLXdkclBMWGNMRi1xZnRtX2RzZmNrNjBrNUtGenozZEJKV0otY2l1ZWM0S010Sm1JMklxUm50MVpJRnNTOGhEcTF3b0ItLXVTX3ZfZ3lMMVRxRklNWE80b1dUZktOV0l6d1NOUVM3UGdCYXdIMHVIemZDeFJ1bmh5enRMTEdMZEtBamZxc3d6R2dDMnV0THcyOVJoZWtLWVNyaElGWFVoNFFjZF9GOUxfNXZyc3pSaXpKekRUMGVkWlhSVkZNdTFsV29zQUs2YV8wUGVZbFI5cC1XMS03eWo3dGJveGZGdzMyd3o2VlNWamJrMHlIUnpRYmtwNkp6QlIwcm1QU3VlU1QtcHNCSWVwSGI3S0dHQjA0ZmJvLXk2N3VSRkxKTHZlcTJua1o3dDFIRGozQ2taVGduUmJ0S0xYRVNkb3RFY0toQ1ZXaXNrTDZabURLVWJJTkF1MXpLMlJhZkJhNzVDNlVPX2llVnAweTBJX1JnT3hEd1Z4QzVReS0zdVZkc2trcFo5VGduUGhXQWlURF9tQlBmeWhQN2NCbFZvUUhoY1lKYWVjQ21jQmtVcTd3cmx1emdEWEduUkFveUp6MXlwZWNjWC1IUnlqOEFFYXhxSkVUeGpWTFpNODBNS0xtRjNXZWt1dVMxSDIxLTFYUFcyaDBfSkE1OTg1cm9uWnBCSUtoaXptUU44YVNndjBIbFlmVi03cTl1Vi0wLXFrNXVQWnljQkRDYnpUZnlGaEdzWGdKU0tPSm5PYkU0QWktMW14NHpJY3FSRmNiWkt1cF80clc5Z2lFX1pfYjBpTWlMTGlBUHJ5dGo5T241ckx1MnJhY2UxUHFvb2VrZzFuWWxCRllTdzA0eHBWSjNGNURCOTBDMHh0SzAyMEtEakpRU1VCZW52dUpsZ3V4WVMwWnQ1N3dKcnVXdmFpYUlIalFBTmRjMU1lSVJEZjF1Z2EwZ1NwVjZPbEltMlY2aTVDMllfcmY1eHJITmVlWjdwU3A1X3c1UTk5YlU4RkdEMHZNbXE5azc1eTdsR3NTMVlwc2stY2RZd0pSek5oa3RPeW5GOFZBNlcxSjkzVmZsa2Q0NTFnMGRJM3dGd05kY0FqWG8xdUMzWF9zdU1JOUl2ZU9jcWFqWlVNcEFCMTZzbU9waHVpQXlBcjNTbTltMTJMMVBvbzVVVDE4V1lEbFl6eXhNYkRmWmRUX0I2R2lNUnpFYVlHSENyQjJoaUhsYXlDdlpCNW9lbkVTUG1rS1c0dFNmOXhRc0R4U2U1ZnR0UGh4enJ4UWxieEM1V2dINlBibzdYdFcxdUpMUEVzVnlwdGRjS2lPSHczQ0d4dXA1NnVNdjhlRW50SGRHdVFERmVfalk5TUJYZXNsdnMtQTdBVzg0VUFvWE0xd0RYUFo0SVZjdmozSWRpbTh1WUVDU0dXMHlPcUo2MEVBYk9nM2ZERW1wbEpNVTBuc2kzREZmbWlqNkVRZ25hdk4yVUN0Z1lKVUUtUVoxU3lHTEY3OVlIRXhFVFRUZ0RheHNIYnZCX2NibWFwNC0zaGhPS041OXlQUmN1ZldZTGtrMUhpODg2c3V6VWJZa2MxTkZRWlBGekdYV28yUUFvUXlCQm5DS01YT2QyZzBPS2RaSFBYRUtVR05FM3A2blo1WVFCMUx4dXJhTVJCSUNqV2lHN1E2cC1XdXRpNHFvNnRvUjgyQlFFZUtqSC1KV2t4a0NoZ2tFaXpUSjFGcjlHRFZ0c3duOUdFcTBKZjJ0aFhKWXZUTkdTY2tTVFEwUzFIa0NlcVNLOXAyN0p3NHl4RTlocmFVdHYzaXl4MEhFZmNnTlNLVTk0WmpFa0R5UFozUXNLUUlCa0xweHJReGRsZ1hSV2ptMEpJSWQ3WmRiT3I0YUZPN2ozZlM2a3EwQk5SVzFBVnhRWXpkLThFWkV3b2w0MFNyNmFfaG5tUUo4WWZvYlFoTDBhZFBfWUNaT3dBc0g3alc4U0lKbGV1b0hLX2hPc2Fha1hkTnJPaFNoQ2VVYjNpNUQxRmxkak12SWFEajJFN1dfUDJodmVna25PNkFhOFJlZ1JRN1dvQkVpdGU4OEszeVdPOWJkdmZ1NjFJaTBIRU1RUm5LQVBILU83RVpMVWdzTmd1ak5YRW1jRmdmRmhmU1Zudko4Vjd1UnNmbE9NcEZkTmZzNU1KUDdEcEF6R3Q0aGRQaG14ZlBseDdqTXh4cnpOQ19GS0tvRDBwcWdJdWtTVnlMZzdrbXkwOE9paTk1QUNMREZsTnlQZjNtaUVUMHRfaHBmWFZrckhCZDB1Qk5Banltb2J6WmF5bW05SFhLTTFVSUFJN21WQWdUZnVUYmQ3eEY5TjlDNUJTZXVyVDJtYnNaY0JtWFNfa3hZTWtSWjFkSkdjN3FwVFBSZUxOVm10UURBVzZWdTZUWlpHNDREMHdRNllKalItNlFiVnNSR2NReGtxR09KQ2MyYm44SEdvMnZCSG50TTdEZVM0RXdLUXh0bVduVXdITTNVT0ZHaWVOVmRvZDhzcllzaE9sM2tvZlN1YUxIUkZiRGdVQlZoaHBFV3dUejF1VlhOd2VVN003N0R1dGJZYTFiRXRJY0hneXJjQUJTVW41dlh4cEhhbVY1RTJHczhEeDhYTmlBaWdYREJfbmhFZEdWWkVqSmd1TDg5VXltR0c0X3Z0cVMtN3hGYmtJaFpPMXBEVHZTMm1KM04zNUduNGI2S1FWcUEyWEY5amJwRFF0VFY0bEgwZWhiLUFyeGtGMkJjbnA0RUdNZWs0eDRXN1RfNEdtNzlFb3V0TjJzSW9iSFhXYi14bURJbUVId3ZHZkFsYkc5ZFFLZ1pDT3Rrb3EzUHJvY0hEMVFUTElpNEpQYU0zc1VFNngwcy00NXR5cEFHQ3N2MDhralVkUW5GbUVTYUhTYzJjSE5CUEFFX2ZzMGU2bm1fakRLektON095RkV5Ymd1bHZ5RTRsb2ZxWkxfcnNxWFlPN3lvT2oxX2FLVHhGa2ptallGNWhiS2FjcDhCNWstRUZUWVZYMzMzWG9OelJreDRnOFNWZW0xVUNibE1QOTJxb3BLUklPaWNJQWpmN2dkS2hhQmZTaE04UUt6bDJBVjBVU3lwMkdrUFRja0NrWEtXUXhhbl9RLWhtZ2l0V2w5ZVpOR3BpUjVSUGxqR3VRaVRYNlJENGZKcUdEQWNMSnEwYjZYZGhva24zMHd0Tmktc2J0RUN6NC1HV1ZOZVVBYThETl9haFNaMXAwT1MwMkRkbGVKOG1ZcW5vYThEbF90ZGZEV0xiNDg4WVplU3JwUmV2WlBJWm5OQ1lQUngxTDdxMVVGcWhfajVrQ1N3Q0VWTEpDUFdzaXlKSzluXzU5c3lUaW9DemxyM2tuTVZ2bDBZSnFYdXF2eW95TUZrcDdGdVdBbWtfYUR4eURaYm1mRGNLNVFnM0c2YlVwVXhPQVJyamgteWtreVpfcmxsa1hLUjVrTnJJMFFKYkw5UHBiWFNtMzZVSTFNajB4alVael9IYmx1Z3J3c2lzRUtGcGw0T0k2bUY1cUNLZVAwWmFmaW1nblhxS0d0RW9wNU9kTHNGRXNoa3BSSWh4Wk02eTVta0RZM0FrX0c5N0FuLUxzaVVWdG5IN2NYNUJPbHZIMVktREFGdzhkQTBpOFhPbkJoWnZ4aFZqdXctbWtHWjBITURVS0RMWk5uUVR1RXNnVEpDT1RQOVc5R0xtaGNfMGRSS1UwQTQ0RFVRU0l4SmxEYzNYWmdYOV9XdWxMY08tdjJib3pvLUhLcTB3blN0dmlPSU9YQ21BRW9PWDFodWROaUJmdktBc2NYTnE1bGc1YmtaN3dDR0xSQWoxUjRSelhDMnVsaUkyZ3lpMTFHZU1VanpoU0h5Ylk4NG5vWGpDODNJcGFTX1FTYl9WUFEyeWhMWExVdnp4SHJ4YldpajQ1a1VEMWJEZUkxOHhhQmd4UzJ6VlRVMF9FcW1WaU9wbjRnTWczd2oxMW5tV0JYOHVHUHlkUENhV2dtbFJTVXNxVXVGQ0dYZ3RNUFN2R09XRkl0LV82YzFWdVlzMGJDNzl3QnhwYy1MdENkRXIweVM4NWZKQTE3aktoclFINUJLQXNneUhKbzFVU21FZGMtTDRweWpkMS1obnZUYzZxRHBXQmhSREhieV9DeXBfc28ycERfYk12eFZ1YnBDX3FIT0dlaVRLSkpTcHdmMC1OdFRLSnAyUzloUXNQYnhIeUFlQy11ZThIMXA0WlcwWVVyWGpJRDVoS2pKRzQ4b1E2THBsaEJTWlNCa0xpczRqNm5nV2ozN0dLZEFNN01jNlpKVFZRdEw4RXZjWWNTSUlEN0liMHAzXzBIQzRKX21NTEtjRlZWWVp4TjlvSkVPZWJLUFVzbndwelVUX05KbjQ4VVZrMGwzeGtDaFlEVDVmMENoNl9MSmhSSzY3ckI0dXk2WTY3N2ZKN3RjRGFfWWsxZlotcmVpSlBRNHhMTnNOZ05hU0FoQ2tqZE5Nb241bmlPUFNhQUtVcWdDbkhsZzN5bDhPOXFhcVk1aXk0TzFlS1hHcmY1THkxV0lNX1luNmcyeFg4aF9TZ3hlcTdRN2ZOYlhIT0Ztd1Ywdk04aXhhRmJZYnF0N2hHT1pjWnVQaFVOaVdDSF8xb0MyUHlIUE1IcEtWcWdaOUNYYkdQNmFhY3J0UmpRMkxZdUZNSnNWRVhlN1gxNm1xMDZpd0dLUWxsUlZxXzZoZGtqUUs2SVpDVTNzMXV3cFlGeHdaTW1CQVVCaG1lb2kzUVItQlhrYnc0RU9nYXllQTJkSUV6a2g3cXFOYmNXNlNBdnp2eXd4cUlQT1FTSWYtMVlSRnZfSDBpYXN2MmQ0R0kxNHpDWXUtXzMwT0hqYzYyX0VMLWg4V29pa2Z3cTNXZWZNMTduN2hGSmZzMFNWNTVHY2U3UTdDQkxxNEVkSTlXc0t1MDlxeWhNWHJwUlZPWTBrZzdsNjYxa281c0VsN1RxYzgxNWl6OU1wS3RZU1RlV1lsd3pnb011clJDNktNYmZEV2poUmlldGo0Z0RkSW9GaUQ0dHJGNjZvU2k0WTE2WkNxYkVPMWVKNGNseWZZWk8zbzBwSk1NQ0gybUlwTVZPMkRueGJSSURIOUxiSEU2VE1qQjYtZkw1a3d3WUVoSHI3UnNaMnFFYUdWMDdXcFkwMUdoTWpEZXE5dGI3Qm0xXzFvcWtsdVcwMjZRUng5Vzcxa0RwU0xPNkxia1RWS2xuMlB4VmdZa3F5V0pHNlZUbU81T21fRWxlblhQMmx0bV9VVXN4MXgwdkxWczR1ejlHV1VYTGZKbVlzZnViQXBwVF85anZyRDlkV2xWc3NKdUMwRlVVNWxOUVUyOEJWSXpycV9ublJVRUJjc3BLR2d1RmN0Mjk0V2xFVjZzNFdTSU5vNG8zaVM1RWtfX1FsZEp3c3JKT3ZQS2M0S05OM1F2cFJDa3hPQ2VwZGpZZEMtbVdfMGxNdWVoVzVmcGUzRnhFMGhjeHFrZmkyUXA1Mk5VYkVZVWpPV2JRZ3UySVVmX3ZBMWpIRW9UTzRQNS1vYTBrRHZaUmxPQldRbTMyS0g0RkhwYWpiNndLTWVIOU1VZ2ZlS0dBNWVJRDRxaWwxWURONkRMa1BKT3FkeU91UGdqMTQ2WWJkZEtQdmFDOF9YS2w5Nm5BV1lfMVo3ZTNKYW9NNzhZR2pMaEV3alFpdHlSOElLRTV1ZmFDZHdYMWNPMG5FQlRnYTZPNzFrSEJkMEpGLTQ5X2FPX2RoWWo0WmVLWVNxOVhkQ1NHNGQzSFNxVGVsT2ozX0tzUGp5dk5ScmkzY0loVmJVWHkwcVoyN1NqdlRRcHFEaW5yMDBra1Q2OC13SXMxcXJhazQtcjZoQUFUeTM4S2FrUFJWYy1WMUQxUVppR3hFYUdrbUg5bF9YT2hFOEtHREIzZFgxNVNOREptRi1PR1dKSlJZNWhqZmpFWVNEVUhmb1NHTElNei01Wk5hVUs5cm42cFBMcWZfcTc1dkZ1TWRISzZhcTl3eWUtQTdLTjZyS0xqMlNfclV3RHk4dnBlbFBBTktNTG5Td09mV2U2eXdFRmFJTDRVLS01Z0NvczJBbGd0OWE4QmRKOVpsUDBUSzZEb0RVY0JTbE9VTWNJNGZXb0lDYkhwc3FnS1d3MUJXc0xGTFU1UnNSZVF0ZHhmSFNZdWs4azFWUlNhQnZnSEh5Uk9NemJXYzhSWmJCVjlQc1doaEpMeVpMM3RldzJ0RkhaM2h2U1A2SUVidWpxSE0tYnRWSXFqb3BEOHFDMG90YkNERnNqdXV0bFdVekgxTXhNVFFGdk1KY1Rfa0swM3NOSVBNTnc1MVlrQm1fV0hiQTNZY1V6d3BPd1JNNnQ4YWFVV2diRUkyNm93Szlhd3BUTzJmVHVncjdzNTJoWTFBNVRpMXRobDM4TU84UGNfeTFyYWJBeEVsMGloTUw3VlRFWmxhUml2VW5JS09ORDdXSXE0U2RHbjZzbXJLWW1LUGRFNy1vZzJfMXVhWkJyblRScHNrd1FiZUVlM09tT0lRUjltb3ZmNkRCdlZlVGtieG4zTHgyM2hwUVRRYlpFSTRORFFHMnlzTXcwSnQ4OHl2dEo3NkpwSEFYbWhkZUpBNWI0QTBYb2JvSW80a1JGTjNlUWlCQlB1eTVsZU1qeEZnVVE0N3Y2M0pyNmtibXpfSEVTZHowOGhNeUozakN4Q3ViNWdJVGhtbVdkQ1lIUjZRYjRtWlowMjhIT0ZCNTl6MkY4QVVENXNwU2wyZmhKZHBtUl9aZ1BsaVBuUm9YNGVPU25Dc2ZLTW95X1YwNk1KRTl3VGZPSXU1ME40cEhoTE9qQXNUX3NCSHBfYWJMb0x1ekpJZXdtV29SRThVR2xWVENOX2hJQk1pdWI1V01lbDgwa09nbHJTNXRMZnNCdW1qTTZXUEladUpjRG1jWlozdXpEeFBkRWdHbFZydXE0ZmpfMFBoUF9uNS1FcEVtYTkzZDFaLURCTXU3Wk54QWYwS1ZBOXVJOXZ1WFNQRDJOVmRpMG5QRFFjbFRCRWhKYW8wM01uc1VGbkxBNVZqQlJnQVV2Y05Cd3ZlYzRfOE9WMDJLRVRxZ0hMZ2tzbkIxdU1jZ0cxYnVQWHF5cmJJelN3WGJiTFViOTFWSkZERl9ZNGFTWGhWR0kyUzFpdGdZOVlsYzl3aFlJYU9pQy1KcTNiRUZiVnZiZnJnemMwOUtiYl9ya214ZjFpWDVRczh0blYybHpSaVB1eExibGx6dmlEYkM4ZkpMRE44VHo4NExMa0lMZHNmdjBHaWtkRThSelU5cFNnMVU5ZURUT0RnVktDRmtzaXdJbEJ5MDRqd0d5NnNwb1BudUxweG53OWhKQnpUc0M5dVRUTmlZeUk0SmxpdWs4Z3ZpR0JTT2lMeGNiRVlXTGFpN2NNQUYtcnI4VTYya2hDYlZZVU1mVGhnQjg5aklmNlZSa3pVSGs0QXVSR1k1QnpraWxBcDhHeHg2M1RacnVXR3ZMa1FKek5wNS1PVGN3V3hEN2N1VlFULU5icVNZRmZYMnZVcEt2Unp0WjNxeTJOMTRIYmdIeUZMYnl6SVVoTXdiNkY2M3dwcnlIN0hfMHp3OGRfb0N3bWVCMVBTQVBUcFhiYjhRZjluQlRXbjFCWlBMbUNVc1ZCaUFYQV8zUWp2SWkwUXlrN3gtb3BGc1E3OFdJUVpadkhsb0NRNWI4UGd0bVdaNUFwVDhPc1dXQU1sYkFzdXRLdXZjTFkzbW9DeFZIOGxzclZxOHVXSjhlQzgxUV9uOG5YNGFqcnZiNm51M2ZXTXRDNmxFeWwzSW1JSHRHd3lvVVZOVW4xZWlBQVpnYzdiQUlnNlBoV1pxS25DMkFyU19lbEVheVFUd0ZTWWxrM2Zjdlo4Z3RMOHB5THY0YkpEalI5NUprM1g4NGJEek5uSndfY2o2Y2Fqb0F3WW9nc3RRZFRnd0pqTU1WaU1Fa2hraVE2SVRUU3lDNUJmOTBCa2VXbWZwM2N3Y3c2cThwMG5NZEdnMjNDc0p4VHNla18zbFotRS1KcHZESHJnVUV4d3g1Z3lCVy1STjdrX2xnaGd3OUw3QUNTbHdGb2pHVzlZSzA4T0J3Tjg4ZEQwLVlmMkZSRmFnaFVQY0RfWXhmaC1qNDkyaGY1SnE1WWtyOGJMZENiZjdBTGgyeUp6UTRoUGREMDdnNW1uNThnT3ZMUWo4Z2tvTTBfMHVGOHBRaHpqenRjVlRaM2NBNkZobEI2a0Zkdk9OQXZVLXI5YkpFb2NOaW5fRTJmb1B4VUxqOVdEdGxaX3N2bWtEVzBjR05fRWRlR1dKLXhLcTdWNDRzck5vd0lCOEprZHE4dUhZXzFadVg3bWV6MHNYc0lNSEFFSWhkSnBJelpYQzVjYW9lTDRfalVxelB3dzJzMG1IU29CSlpQNjNWODhFQVpMVkdtaklwaC1PTkhQeU9QemFlQ21xajFlTVFaODdJSGNhYm1yUGNaWDFITTVvRi1meTZ5RFVzdUJyRkx1dmRyX0VJQ21TM0sxWEZmWVhsMkZCU1ZsRGNpUDJ0YVF1RzR0dHhjaWhoRWpERDVDcEZ4S2dha0lRSWc3VVFBTy1rUTN3THZHdW5CcG4wVy04eGpWRFBoU28zUUNOc29sNF9zWnFqVTBoeEVNTVo3YkVxTzNSVDNTVW1OM3RjdG9LWTBySzBxZmR1bk5iSXNjdG5TcUVPYzg3dWd4VTBXNHlQYjBNOEoyQUwySkV0bXlRZmN5RTBDalkzVjVZMjNlN19UVV83bEk5alBTbnhvVi0wdUhCRjZ0Z2xYN3p1akdJSG82MU5CMHo2MHpXZ01hYklqd0Rha3dPYXV2Uy1yX2RqbEZpeUUyZlJvQnNPNDN5WlI1OGJqcHhpRHJxOWdnMEtJcktBQ0gtWjliTUdxeFBIbHVrb1FGeHAtMWszQjdndE5GdGh4dEJqMng5Q1FBVUJwMFNZYXRhUmgwVlBPRGptMWhLd2FUTnUyNDlxZW0tbERiNTRhNFplaGZqVExkS1RoalFiMktwY2FCbVg4ekpQbnRhVlA2MXdDeVRGVDBSN2RIVHloZUhfS0NYbHA0WDN0ekdoRTg5VDVVWjVxVEZJWmNDR2I4YzM1c0pjYnh5bWZ0aUJJd05sUFRlbkNid3dfQXlOUWhreG95Wk1iai1lQ3NBN1M4V3FaUEp6ZVozWE5iV0ZJeS13S3hFMnVyTTJKRXd4eExXRllwOFQ1cFBQQVF1NG1NT0k3SDlfNzRTcWpMRFpCU1Myd3dUdU1YZW1aSDJuWVI0WmdCUF94UkZENzYyM204ZzRuLUdNNGhibVZPMW1LTllJbDlHdzljbkpQOHpSSWlNbUppWEdXTjktbjRPVHFRWExFVnlKbnlUQ0RCMzFTSFctTThyeUJMemEtOUxOdFZhUzVTWkM1UG1vem9EMFZyY2hFVEZmelhwREJfZGYwNk1aYS1icEpBQklTVWJidi1hM0Zobm9JUU0yRW1uT1N2Rkw1ZFdDRlZMcXAwREJOZEVOS0FiQmJaNGdaaGNEREVoSVQwQzh4dWJ5MjN1MW55ZlowRld0WXFoTTh1TS0xVzVOTlNLZGkwVFVhQ2d5OHhBdEh5Wk9YeWgzVFRMVTh2ME1rbjFRRjh5ODRsOVJlejE5VTR5Z2JqX01CVUJreGYtNnhpSFRVQkNpQmN1UnoxM1pSTkVMNUFzTUZLalQ3Y25zRDJxNS1fdDk4dEZ3SmNQejBTLVctbzFtVnBRSkFjZWZ1ZXBRcUdvVzdLNWIzMWFCVHUwWVc3MTZCeW1pSVEwTU5VdC1Cbnc0VTZtdG9wWWJVRjExVXhSSHl2R050dVVUMlp1MDFJSWlKTVRvYmxoZXlYQkFraEVUaDJTXy1Cckc4cG5oZWFZaE94a2wwZE1nZy1ISlJ6V0RXSHJTZ2tUN2plaThNNnhOY0Nwc19veC1kNkdsX1FwYnRkRGZWaGQ3clRaTzhCNTFQSVN3Yk9aYUhkZHotRlhUZmd1c3p6S0RwZmtSWjN0T010VFJ0U1ZWR2t3eG8wRWdfQW9iRVJSNnBBblRfN1hZQmpFWl9BSVVwQkhmYldjZENyUkN5YnR4b2VUU0RvS0twblJkV0E3cnpiLUtDQmVzNG9mdWhicnNldEdWXy1rT0dLc2FuT0lPbkNPQWdHc2VFb19NTnBvZVpjWmd5QlRlaHFmNXlCQ3FZN2FmM2E2Q0F0V2hfSE1IVzl4cGk1TVlZVk9sRVBWWHZHTFp4bi1xS2hzUDVwM0g4a0VHam10d21CWGFuQVhkNE1HemZtWnA2UkZ2d0VIaFJHNFJQQkZYSkZld3laMW1oSzZZVDZXYnpuUGloTC1PTjJPVnJEc25CSWdEUGVtclpnaVJIVWdnMkk0MXNnX1RMWTQ2N2NYUm1JZUc4NWpUTmRieEhkRkt5UWhNS045UUVBYXhDTGJsaF9FZFF1LWJtcnFfNVZoRmIwSDlocF93S0M2bFlOM3BFR3ZsajN5QzNIYU1LTW8xSVlBTkROcmhGM096U2VHUS1SWmZHeFQtZTNwdmRzc2ROTHE5XzNrdWdGZnB5ck1GY01iMkl5MFk1ajN2bF9vNTFvLVdiYUN1Wl9KZEZfb19JZV9zZ1ZnTUhoTVA0elIzRlBEVjVjVUR0bEtWWldSa25XMTRaZ1hnbFNRRG5kSG5lbmpqR1N0WkZnelh6c0FqX2xibm5BXzZnS2ktZHQ5SXk4aW92cFN1SzhTMmMxRFdqU2xIQ1FMS2tCdWR0REI4RFRaYjZneHJCZ0piNEpFUWp1LV9mUXlPR1NOellNZ01ISHFiVTVVbmpxOFVlQkFlclNnQnEzTWRza0xRNjlRVS04clRZbGszVEVLeFQzS3hhTUx6MmxWTkZSMzRkUDl5Zm9HMnZvOW9PS1VEb3VUaXRwNkdhV29Vdm5jWkdDME52bktJaUIzc1NiQ3pOWFdWbFpDWDhWdFhRQnB4NV9USDNhYi14bUJOUnVQMUZ4dlExNERsanZHQVBOM19DcHhxaHAwTmxzbk9xNzlqYmV0TmtqVHVrUTFZLVVhS1lUVFZOaTlQV21CbWJJTGx6X1FfQ21lSml1M1BwVVUyM28yNHlkR0JFTzZNZFg3aldMdHp5c1hxSVJyV1JUS0g1dG1rT3VwNlQzck03UGotb0NNMURacGZHdFUycU9aVW5hZF9TNGR2V3RBT0EzMVVsLU1DQjlLLUpHZEhyU1NKS0xoODNqM2d1ZDdoTUswVFJmYzVXLWdaZzdiT2xUc2EwcTB5anVKTzAxYmZQdjdQTjN2cTRkT1RabWluNnBJMzJSbzBTQU5NZzlBRkdvR1g3TElaR0Y5bVRMZkZGbkJTUlctaW5taW0yRW1NR1piQV9hNUdvTWxOamhmV2JvLW5aNHZubkI0M1NjZlNwZnI2LWRvRzd2VUZzMHlPUURuM0VvZF9ZcHBwUUwtLWtKR3VlYndlTVk4ZmdtVy14NktjRENjSEl6NU04MzhROC1KTEpPNzVLS0ZqREZGa3JtTGZfTGF5ZTJuekpKVGxhN0NnMUMyWS1kMFJGZnd3ODRHb1JjaGpVS0RPQnlFUDVlNzRpcnVSc2hjQjl4QVUweFpyZlIydmdQM2gwbG9UYjJ5UG9wekVwaXV3N01XZDA0eGhsMWhJUm1haXloRFMxc3R3WFh3aDN5SlNuWE5NMngwdnY5bGpQTmRDTzBiQ1lyZVQ1SXY3eFp0WEl1VW5jaWI3eldUQWZNZHM2cXF6Unp6Wkx5YXFTT0JrQkxJLW82R05SMm9PX3F6dTZteG5tMlJGOUlMcEdxYnRnZHhYTTdScVNkNVBEa1RfVjhrVzdOOXlfTUJuc2RpV05uelo3WndPNldrUlNvbkJPc0licVFVS3NXR1dUZ1E4ajE4dy1hd3hnWVJNQlhrY3lEakt5S0piMjZrWjhnRXNlcVQtM3RPTHdFeGM5cjh1MEtLT1M5YlROZDF3YTRFTWZHMEhFeE1SdmdqQ2N5QTlLa1pnU3Y3eTlNRm1BS2k1M3FXNnVvRHRfX1Bwa0lFLVpqUGhLLTdSa3Y1TmJUQnI1bmctTlR6ekFHc2s2enVPdnBpU05JSWxBRXNlUUJERWNES0c0M1Fsa0N0X3g0VmJ2QW9kQk9lTVJpZWNMeTVtLXo2SVZyME9xX0Jnek16ZW85Wl9xZFhWdFZobTU5ZkhDek1rcEM5WEN2dTVXaVU5UzhsV3Y0VmM1STZXa294QW9vZ081QXJFVVV4T3JsMzlma0ZpR2FvUmNBbWM0dG81anhUUjhuWVJXQ2tFdUQ1dEoxcFFUNkhpaW9XMk1OTXR0OExMTTFpeUMwejI4bWFlcmdBZUxGQ3pTODZ6QnJybXVTWFJEQlhhaW9DWGM3VkoxSEtmSUFYcDY2ZEZ3RjhRUkdUOE9LMm55dlZIMzlvRWhSX2M2T1NiRzJvYkxTOXdWM2RFSUFiY0RhR3hjVUpCU1JXeTdUR0ZhcWdhemlwRVRnejF0NThlNUZhS1AyUnoxMHV3LVRHSWN3VVJtRXhlSzVnbDZJWWdMVThKYmVNdWtpbTM4dVFXaklVQXEwOWhva3RsRFNueG8zRFg2STJjdFYtRk9xYk9rX1dLRURHRG9aRG9neG84UFNELUJWeGJrQldRZEwtTUNENUpzblBGRjZhLV9BdFBaWktKYnZoM0t5bWQwNXVfbk9qTURUdXFKU0xuNUV4MjFPbXAzQW9WZlpNYVlTV1hzaXpOWU10cEVReEMwbWp4aDFFLTNmRm5uOE9GdzVnTXFXNXN5d0ZHRklYcUF5MFlmc0Fsb0ZBTkstRVZvVmpCbjY0b0Q5X1NsNVBwZmxFZVlaSFFRS09IRmxWazVwdUhlZHdpckNfZGhkdGp2TnV2ZlNSb1BLU0VJWGxnV2owRHRrRkFiaXJkd1FNTFBUc21CT2pOYnhSWFkzVG9Qd0RSZGo3eC03VVJxY2Ftbjh2VW9UT1MxYWE4WVRMNm5FNVhsVHpuOW01MEh6ek1Rb2tnemcxQlFLSjRsMFJkbWw1a1RiX2tTRm5XY0hobHp5UGt3RUxvZnZfYnlBN0lSXzV0d21LLUZGcUVsYnE5WW1IaXNrR1BWMlpHTDFmTDFGaU1RSmtxLXNzeFlTNjZJRVZ3b1pCaGw4dUZJbnVidXhFeGJaSEpTX2xQY0pLTnQzcExWazJJSzJpc2duVFgwTnlJRWNzMG9pdDlfQVRERUJ5OHZwWTYyTjIxYk9la1lJM1o1Q0pleFFpVTc5VU1wektndTJvTGlaWnBaeXJ4TnVMa3BWSzJpT2toanNaN3gzNDhRdjBSUjdRN3p1aWM4b2hnbWYySUs5cjltOW93MTg4MlpRNFlETTdlOGlxc0t3dkZkOWZuOERlcWl2cmROQUhRcjFlQTZnN3BVSkpZZTNiUDJKLWpGSnN1azQwWXBFUXZVdGFaZjF0cUpPQlMtWlhvOE00aGEwUE5KTWx0bFhmZGJub2x6aHRnYVF5blR3WHJBRTBSZmtnWjlMaHFtenI3ay16TWEyM0t3UHdncDJmUGgzSmV0Z202Nkp4eHBnVjQ2dVl3UTVwSUFibll3MDFOTUxFTXlQaUNySlFFRWtwaXo4WG9hOGtJMkdRdkh3b1pTYlMtNzFZcHMzQ2oyLVZkRTBNaV8zUnRJUEZyaVVTUERfS2cxQ25pQlduN0IzS1pUYjd1MFFwOXl0VE1TdDNRbUNwcnR4YlktVWFwWEtESUYwYVVCN1RPaDRuN2lFZ0pQYzV5M1A1LVZkQ1VxUHJKS2VwckUxN3AzMmFyWjE4VFFwZE5rRHdXRWJWZFlMZDNvc2tTdkhCMHBmbTFablpMZzNpSGo3SmxFX0VsT0RIOVQ4MXRBS3ZyUFlzZUJsWnZQbEdUbDdRN29XN0tSZ21zVDJHMmlqOW11RlVEWEoyLU9ycFhHTWFURGxpdGNhcmpXR0tjMXFJRWhzQ0IybjI3LUlDX2FnbDdHbG4xUkdCRC02bEZGQjFuTVBWcHJpVGljQjA3THJZblNHSTVRdzFpY0pYNnV1TzYyOHRTMEh6Z0llUEdRVzhPMEtyR0xEZkktX2ozQkphbEN1eEpMeW5sdmE4MDVaWFZ3RUdCcEcyaGFOSlVleXhJeWFSamM2SGdOZzNHXzNIbFItWXhiUjBfSmtEODJwczhfd1VmZTBGOW4yYkUzWEVNeEd1bm9rbWdWbTdxQ3I0TzNxQk1HZ0dvN3ExNFRVTGhndk9GeXVZU3BKdkJ2a290NVptZS02SC1idVYySlVjNENQYUN6Y0pFSnB6QlNmTnk3eEFlQmNvbEN4Q0w2MzZDZS0yeUFGVTFFdjJ0NkN1U1BHZUlyY0RrRlUzT2RWOWxvRVlJaG5nNUdEdDdXUjN1RDJsRkh0M1dWLS1ieHkwSFU4YkZmT0c4b0hoU25NN1hsOWtGR1ROWUVxUndIUjk4eENYeXVlS1ZEMHVlN0ZPNnotY3dxV1NxX3BFb0ZUX0V4OFlHU0EtS1k4N1RCRFY1ODlYSEdMYW05bm43RXJybTdNc1p5Znp4V0NBb0U4YkktX0hRN3dTLVVTc3JuZkh0eVJCVkRMcHRSUDVXWDhTSW5jekUwbTFsZFdRUFRZdDFZTVdld1M1Wk5GWll0SFFVSU9FUzNRVlZ5dWlrcXZQczBQWE5Db1p1ZUJoVVViZlVab0E1WFpDTXFYWVdsQnBUMzRVWkRTV3RxUnRVcXhjZlk5YmpvNzZWNjRfSFAxUHJ4V2NQMFZFVi1QVmhxTE55VmRZd0VsRTB5YnlyWlNsRjRwVlM4VTdsd1VlS01UMnpHNWVDLUktakxpUEU5S1M0eWU5WEdtZjlVZEZjd1V3cXBiMjl0cVFFdXRUNFRmUU54elM1dzFqblUySF9BVmxvNm5LZGJiLWt5RjB5WGZyRXB4VHJtR1VSZTRqMEVzMHBXbU0xOVZxY05yeDJDczh0UDlGTlFxNlptQnJ1QVY5ajE0SlpOdUhvY1ozMmU3cTdsN2tfcWlseEtDN1hjR3lRS3U0YlpXdS1qWUEzdm5OSDVORnAyaEd4aWFLVmRka1pDQVlTUnBqMHVNZ1FuVGNEUkppTTJoV1piaGY0OXBUaUVwak90dmhIbHV0WDdYdmpnTDVZcWtVRzNBbUZVelZIOWs1QkFpUXo2VUtwVVJjUFVNUnFPTG5fbkpMd0VsY2xKUE0xYldZdEhZNHNTdzl0OTMzSjZxdzdENFdNRGJRLVI0QlJubkxwNUZZRUtSY2Z1cHVKWWtxV29xd3dQUzc4b1E1UmZfSF9VbVlBZEFOUXhsLVU0MUw5RTE1TEZqaFBsMUZObFhNLUp5ZVNJNjhlbUJ1NGNWY1l4d0oyMGd6Y2NuSWs5UEtjdXdUWE1IUjVIMmNtZENxRnVBY3lYUlJCaGhGRVBfNjFmbmxnRjMxMFZSdS02c3JmOVhnTGFuMEdtaVNZSC1UaVpmcUFrUjItRVlvdWxFUG9UWUw5OUhTekcwQTBveXhpc2YyaER3Z1NxNDVpbjJaTU9BQnRrNGpGT2ZKQ2kyOVZxMkV5YXVOQmRodkFQeUVzVHJpcV9ydHZPN1phUUs1Ulc3QndPZ0RsY3k5b0ROcmVfRG5mZm9jRUNmc3hMVndab0Z0Sm02eUpoNmU5SDVTOFdMcmF3MEhDTklaR2QyaWNTUTJEMG5oMjh6b3JSY1lfanpIYjBwX0VIZk1iNjhxa1hoQmREVE80ZVQxeGNtRmZuUXRCQnRCMVJYaEd6cW1MRlhTUXJRRWxHWFY0czZxNWFYRlJQNkljdGowQk02VkxHWXVpOUdZb3YxZEVrWVRaS3Y0QUtnQndySWRGazl4N0hOT29YRm8yRlgzY0hWTUpWU0hzck4xY00wekN5SVNGdDNkaHB4TnVsVHY5TkdfQWZmUUg4X3NQa05Ua1R6clcyRlM1RkZpTjVrQXJLeUZRRGlWNEZHZTRxWE5WbFhfOURtLW1Hdk03Q2lPWDg2Q3Z1OEg2c2JEckxFR2VxdVJFSHdxaE9DYnR1VDljczNIYlBsbDlvODhxTkw4TV9CSzc3aUh2a0lSQUc2Qkl3Qkt5ZFo1QUNpVnh0NVhIZ0tEUE05a1VaMTdLM3FwYXFUblk1YWw1QjF3bXVYMkwwSDVGckxxQjJTTFBPUE9zcU1RTlNidGExQXBkai1KMm0ybzFWY1JPaGhWeVJza29iLVNOUDd5WGJrbGlUOWJTSHl5YzFvbzFXcTZKYnNZd2hwdVI5aS1YX1cwYkc5M0hyYS10c2pvYmZPYjFBeW5sRXotRGpqZXl1eEt1UGVtLXVvRVlTWkZfbXRsd1JxbVNFSkFwWmlxQms5VHFTZW04LVBCZWxRR000MVhBOWtFeHc3cm41anROODZEdTdUX3JvRnRTWGxpakFQUm44ZTI4XzcyNEwyTWtrN3FPREpLMkg4Mzdvc3J5bjNXRWE5MW80OTJuTS1BcGNTZ0pfUUEzbURqUTJtaHZNVElPakh5TFRCZlBjaW4tby1UQzRhc28wdmpJUEhLZ3pUeE5oWnpYNHMySjFSRF9ldW91cHhfNXhocDdCTDZSTWt4eWVMd0o3Y2VwZFhDVmNmdzdzRDEwQnlyVGVtSnVoT2oxaWhrc1lVUmdEZFI4M3pweFl1Sk11a0ZqbjlxbEQ2a3c5YndNWnRpU2h4QjFZUHNuV1daV3U0TXFsVTg3SldZQzlEMzFUdXhiNFltYndsd1RsQTV6dFBTS3diTk1fYUI4aXZVUUhUazBPdFFwcndXMTlCdU9FbjFtWnpBYnJ0WkUyZ3NFQ2w3TTREWjZWR29nMGtza3gwSUlDVks3WkxEQmZRYXhIWmxFOFk2SGFCS0JrekhKSHE3MUNfcnMwcEo0UWZRV1NiNGdkRFpIeVpWY3JaNktPbEZsQTBma25LdEN4YnpjM3U2TUM5enFXa1ZYWWZZeWVvM1JSNUg3UVJZaUJqM1R6SjJVMVF4U1VqQjZyU19XeW9vWlhnNHNyeG5QRWdKak01TTdfMC1yY3NWVlVVdVNzT2RXMXFybjRlSy1Kd3Q0elkwUHhLYU5wZzRkMTFLUURIVXJkRjdPbnd4UmJ0NktLSFlGYW03UGh0ZVozV0dGbnBIbktzdHJYOVk2bEREYjBTLW5KQ3o4ODF5cUhUSmZ5YkhfRWFxS3R0ZU5ub3dDc190Nkt4NTVBS3o4c2VaU1psOXJnb0k1V0FrVkR5YmlfSlFFdTJnZnp0YzN0M1hCMnlTVDg4bl9BcDJNbU80X0V4QXBoVEpfNzdrYmJvWkl1Yll2ejA2Sjh5ZjR5Mk1yXzgySlFLVVBQYWhuNEozejR3eS16d2EtaDFLRkkyZThQTDZzODF3YmZ1QndrNlBHNFItZWg4UVhybEJrSXVqMkJ4eGU4VUZ3VUZONW9kbzY4VC1SWTF0bVdPRlZndnpDUkJKc1Zjb3htLU1CTGZsdW5XbTBVdDRvd0F1MlRKQ3lUaTRpWDhIM3E0X1lQTy1zMXBiQnRRaU0wQU01azVFNkdoZlc3MS1lQjJ2cHMtMjRORzE5R2gzTEhvTzNlelJtWmhwX3k3QXYxV0I5OURrbmJ6NXZ6dGxwcW92Y2hNNWRDOFNQalFkMDBDRW5NRmtwaVQ3SDZZTmFKVG5BcnVoanhTU2RKLXUxSmdGSE1ObzJpNEtfR0xxY1BlSGlIaTlPZDM5S2NGdVNQeHAxOV9wc0Z5bHRzWVp5cXhoNldJSG55bkRvdEpiOHd4dFU0bk1FMWFvazFZNk9yc1FUeGFtNnBFQnludFljbzFoLUlhanZHSGliWkV2UGdLNjgyc2RoZ295RjJ5OG1na2JTNWxHVDd6U2tYWm0yeUZwOGk0X0tVUnlYWUtqUndFZWdKTmktQ0gxWWs3ZHgwbExOaElOVzJEWkdyN3RFd1dOd2tFMzFHdWwtaXZWZzdGMTNMN2xXNW9OWTk1WXFXQlh0RzBsRHVoUlduSHg5dTNWV0twSDFmT0xDcnVIS1VXdzM3MmhtX21KS3U5UW1tQjNrWDF3SURXSkQ0SnFfeWlaekMxWEdIOEFzRmJfOFhtTGo3YW1aUmRwRFRRSmV3WlE2NXFJem44VEx0ekFhTUktUUlQZXJDSEZmeDFYWW81ZUpWdHc4MWphVHFRQWJCLVZ5X3ZXMG4zNXhUVklEOGdJUlpYakhRVEg3YTgtaDY3ZVFPdUNtS00yR2NZQjlFSmNRLVRPdUd5ck5Cd0lBckNxSGxDSzF3SjlPZjFYMjQ2cjY3dnd6MkJCQUdRWWp5dF9yZ09PcFFadGthV0pMd25ncXEwRE1pYWt5cE5LSlVJbEViX3ZkUGp6SFFKMV9IVzlMSFB2UWVHUmVJRTY2YzEyWlBBTm5tcndDaXR4M3hzcWNJZVd2d0Vya0ZzcWMteUlZbFd0V1Y4ejVmdklMY2JvSWRxVTJ4c3RqR0lvZDhudEp3RVRMeDJJQTZ6TUZHZ2E1UDZkcVhiMm85TUtxT3U3Z3UxYzBUaGtjVzB1QUFSb1F5ZzhDcnMzX0VfcC1YRXpCZGVWNzBIWUhXNk5CaV91OUVfLWVKVm13Vl9RcmJxanM4bEJxeEhsR1ZyUHVIbjd0ZU1ncXk5cjY4b0c4RVZRRFZUV0tXYWZ1U3Q1bHJpWXlTMlk5QnFqbXduUlBFR3lqTzJtLXVNRTRHQU84d0s2eFZVeWF1emlRQ0FyLnN4blQ5QmJTbklGT0RKQ1Y4WGR3RXc
  "/certificates/{certificate-name}/create":
    post:
      description: If this is the first version, the certificate resource is created. This operation requires the certificates/create permission.
      operationId: CreateCertificate
      parameters:
        - description: The name of the certificate.
          in: path
          name: certificate-name
          pattern: ^[0-9a-zA-Z-]+$
          required: true
          type: string
        - description: The parameters to create a certificate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CertificateCreateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: Created certificate bundle.
          schema:
            $ref: "#/definitions/CertificateOperation"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Creates a new certificate.
      tags:
        - Certificates
      x-ms-examples:
        CreateCertificate:
          parameters:
            api-version: 7.0-preview
            certificate-name: selfSignedCert01
            parameters:
              policy:
                issuer:
                  name: Self
                key_props:
                  exportable: true
                  key_size: 2048
                  kty: RSA
                  reuse_key: false
                secret_props:
                  contentType: application/x-pkcs12
                x509_props:
                  sans:
                    dns_names:
                      - onedrive.microsoft.com
                      - xbox.microsoft.com
                  subject: CN=*.microsoft.com
          responses:
            "202":
              body:
                cancellation_requested: false
                csr: MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqe8aINnShK+wQC8QU7fwsviQc9+yiOnqU3adXA6qNjn21HTdRBa7cyQIk1STxHIBLTT/GaEJwqsUi6UvZaPEHokOWsr1bP9M7xOPTicBcRyMrr6bOxsmGczYtu1z2TzzXDD7q7IEignE7/LowGEaIADCIU9iuWk7TiJ+1Q/VLh/B3xPsgVjY+n7zEQ53gBiDHSl7XfELfwmslOQ28TVNogUyXsxHcVxQQYJeI7HqqY448LeleK69Ld86lkBixLEm1pD7HSbEx3WI2lyUQAGR6hD3YFaiIWVpQeEyI7p1jmtQlnfZdEL4q9wdlEEcwd3h3PAZpEBhCixahF54fci3pwIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACiLeghirF+yCuYGVUPDB3wKQJn2iLY1za9ncxCehIVqOkFK09AphzoxF6Yid90AKCaa/dT/Ohm7oTyVQ+YcZnT00LUNFVG48AOE8YDiw9tjAG9OORsAz80xnv2qaLw2TCVIQ6NjrI83LqAm1GJ8rAnpdD/ZTuWM7TvSO5g/jm/Q0oSuKpMgj3YxpwgB9Ac6YEfVzOnm76OkUcpvR5MS4BoTfRv4thdSnU+uwqxM+HtdSVTbHQeC2U/hM1cyzDMpl1rZRklmiEOoPUeDasEIBVTJhAxR8xAeKJJD7Wzj4mJPw4UMvF8zQZzW8EKYvB1hkVYY+HQ85L+XcXd8lco7hU4=
                id: https://testvault1021.vault.azure.net/certificates/selfSignedCert01/pending
                issuer:
                  name: Self
                request_id: 6faacd568ab049a2803861e8dd3ae21f
                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.
  "/certificates/{certificate-name}/import":
    post:
      description: Imports an existing valid certificate, containing a private key, into Azure Key Vault. The certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates. This operation requires the certificates/import permission.
      operationId: ImportCertificate
      parameters:
        - description: The name of the certificate.
          in: path
          name: certificate-name
          pattern: ^[0-9a-zA-Z-]+$
          required: true
          type: string
        - description: The parameters to import the certificate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CertificateImportParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Imported certificate bundle to the vault.
          schema:
            $ref: "#/definitions/CertificateBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Imports a certificate into a specified key vault.
      tags:
        - Certificates
      x-ms-examples:
        ImportCertificate:
          parameters:
            api-version: 7.0-preview
            certificate-name: importCert01
            parameters:
              policy:
                key_props:
                  exportable: true
                  key_size: 2048
                  kty: RSA
                  reuse_key: false
                secret_props:
                  contentType: application/x-pkcs12
              pwd: "123"
              value: MIIJOwIBAzCCCPcGCSqGSIb3DQEHAaCCCOgEggjkMIII4DCCBgkGCSqGSIb3DQEHAaCCBfoEggX2MIIF8jCCBe4GCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAj15YH9pOE58AICB9AEggTYLrI+SAru2dBZRQRlJY7XQ3LeLkah2FcRR3dATDshZ2h0IA2oBrkQIdsLyAAWZ32qYR1qkWxLHn9AqXgu27AEbOk35+pITZaiy63YYBkkpR+pDdngZt19Z0PWrGwHEq5z6BHS2GLyyN8SSOCbdzCz7blj3+7IZYoMj4WOPgOm/tQ6U44SFWek46QwN2zeA4i97v7ftNNns27ms52jqfhOvTA9c/wyfZKAY4aKJfYYUmycKjnnRl012ldS2lOkASFt+lu4QCa72IY6ePtRudPCvmzRv2pkLYS6z3cI7omT8nHP3DymNOqLbFqr5O2M1ZYaLC63Q3xt3eVvbcPh3N08D1hHkhz/KDTvkRAQpvrW8ISKmgDdmzN55Pe55xHfSWGB7gPw8sZea57IxFzWHTK2yvTslooWoosmGxanYY2IG/no3EbPOWDKjPZ4ilYJe5JJ2immlxPz+2e2EOCKpDI+7fzQcRz3PTd3BK+budZ8aXX8aW/lOgKS8WmxZoKnOJBNWeTNWQFugmktXfdPHAdxMhjUXqeGQd8wTvZ4EzQNNafovwkI7IV/ZYoa++RGofVR3ZbRSiBNF6TDj/qXFt0wN/CQnsGAmQAGNiN+D4mY7i25dtTu/Jc7OxLdhAUFpHyJpyrYWLfvOiS5WYBeEDHkiPUa/8eZSPA3MXWZR1RiuDvuNqMjct1SSwdXADTtF68l/US1ksU657+XSC+6ly1A/upz+X71+C4Ho6W0751j5ZMT6xKjGh5pee7MVuduxIzXjWIy3YSd0fIT3U0A5NLEvJ9rfkx6JiHjRLx6V1tqsrtT6BsGtmCQR1UCJPLqsKVDvAINx3cPA/CGqr5OX2BGZlAihGmN6n7gv8w4O0k0LPTAe5YefgXN3m9pE867N31GtHVZaJ/UVgDNYS2jused4rw76ZWN41akx2QN0JSeMJqHXqVz6AKfz8ICS/dFnEGyBNpXiMRxrY/QPKi/wONwqsbDxRW7vZRVKs78pBkE0ksaShlZk5GkeayDWC/7Hi/NqUFtIloK9XB3paLxo1DGu5qqaF34jZdktzkXp0uZqpp+FfKZaiovMjt8F7yHCPk+LYpRsU2Cyc9DVoDA6rIgf+uEP4jppgehsxyT0lJHax2t869R2jYdsXwYUXjgwHIV0voj7bJYPGFlFjXOp6ZW86scsHM5xfsGQoK2Fp838VT34SHE1ZXU/puM7rviREHYW72pfpgGZUILQMohuTPnd8tFtAkbrmjLDo+k9xx7HUvgoFTiNNWuq/cRjr70FKNguMMTIrid+HwfmbRoaxENWdLcOTNeascER2a+37UQolKD5ksrPJG6RdNA7O2pzp3micDYRs/+s28cCIxO//J/d4nsgHp6RTuCu4+Jm9k0YTw2Xg75b2cWKrxGnDUgyIlvNPaZTB5QbMid4x44/lE0LLi9kcPQhRgrK07OnnrMgZvVGjt1CLGhKUv7KFc3xV1r1rwKkosxnoG99oCoTQtregcX5rIMjHgkc1IdflGJkZzaWMkYVFOJ4Weynz008i4ddkske5vabZs37Lb8iggUYNBYZyGzalruBgnQyK4fz38Fae4nWYjyildVfgyo/fCePR2ovOfphx9OQJi+M9BoFmPrAg+8ARDZ+R+5yzYuEc9ZoVX7nkp7LTGB3DANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGEAOAAwAGQAZgBmADgANgAtAGUAOQA2AGUALQA0ADIAMgA0AC0AYQBhADEAMQAtAGIAZAAxADkANABkADUAYQA2AGIANwA3MF0GCSsGAQQBgjcRATFQHk4ATQBpAGMAcgBvAHMAbwBmAHQAIABTAHQAcgBvAG4AZwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIwggLPBgkqhkiG9w0BBwagggLAMIICvAIBADCCArUGCSqGSIb3DQEHATAcBgoqhkiG9w0BDAEGMA4ECNX+VL2MxzzWAgIH0ICCAojmRBO+CPfVNUO0s+BVuwhOzikAGNBmQHNChmJ/pyzPbMUbx7tO63eIVSc67iERda2WCEmVwPigaVQkPaumsfp8+L6iV/BMf5RKlyRXcwh0vUdu2Qa7qadD+gFQ2kngf4Dk6vYo2/2HxayuIf6jpwe8vql4ca3ZtWXfuRix2fwgltM0bMz1g59d7x/glTfNqxNlsty0A/rWrPJjNbOPRU2XykLuc3AtlTtYsQ32Zsmu67A7UNBw6tVtkEXlFDqhavEhUEO3dvYqMY+QLxzpZhA0q44ZZ9/ex0X6QAFNK5wuWxCbupHWsgxRwKftrxyszMHsAvNoNcTlqcctee+ecNwTJQa1/MDbnhO6/qHA7cfG1qYDq8Th635vGNMW1w3sVS7l0uEvdayAsBHWTcOC2tlMa5bfHrhY8OEIqj5bN5H9RdFy8G/W239tjDu1OYjBDydiBqzBn8HG1DSj1Pjc0kd/82d4ZU0308KFTC3yGcRad0GnEH0Oi3iEJ9HbriUbfVMbXNHOF+MktWiDVqzndGMKmuJSdfTBKvGFvejAWVO5E4mgLvoaMmbchc3BO7sLeraHnJN5hvMBaLcQI38N86mUfTR8AP6AJ9c2k514KaDLclm4z6J8dMz60nUeo5D3YD09G6BavFHxSvJ8MF0Lu5zOFzEePDRFm9mH8W0N/sFlIaYfD/GWU/w44mQucjaBk95YtqOGRIj58tGDWr8iUdHwaYKGqU24zGeRae9DhFXPzZshV1ZGsBQFRaoYkyLAwdJWIXTi+c37YaC8FRSEnnNmS79Dou1Kc3BvK4EYKAD2KxjtUebrV174gD0Q+9YuJ0GXOTspBvCFd5VT2Rw5zDNrA/J3F5fMCk4wOzAfMAcGBSsOAwIaBBSxgh2xyF+88V4vAffBmZXv8Txt4AQU4O/NX4MjxSodbE7ApNAMIvrtREwCAgfQ
          responses:
            "200":
              body:
                attributes:
                  created: 1493938557
                  enabled: true
                  exp: 2208988799
                  nbf: 1430344421
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938557
                cer: MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=
                id: https://kv-sdk-test.vault-int.azure-int.net/certificates/importCert01/f00e72f0ddee4dddadc27c0f605d84d7
                kid: https://kv-sdk-test.vault-int.azure-int.net/keys/importCert01/f00e72f0ddee4dddadc27c0f605d84d7
                policy:
                  attributes:
                    created: 1493938557
                    enabled: true
                    updated: 1493938557
                  id: https://kv-sdk-test.vault-int.azure-int.net/certificates/importCert01/policy
                  issuer:
                    name: Unknown
                  key_props:
                    exportable: true
                    key_size: 2048
                    kty: RSA
                    reuse_key: false
                  lifetime_actions:
                    - action:
                        action_type: EmailContacts
                      trigger:
                        lifetime_percentage: 80
                  secret_props:
                    contentType: application/x-pkcs12
                  x509_props:
                    basic_constraints:
                      ca: false
                    ekus: []
                    key_usage: []
                    subject: CN=KeyVaultTest
                    validity_months: 297
                sid: https://kv-sdk-test.vault-int.azure-int.net/secrets/importCert01/f00e72f0ddee4dddadc27c0f605d84d7
                x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
  "/certificates/{certificate-name}/pending":
    delete:
      description: Deletes the creation operation for a specified certificate that is in the process of being created. The certificate is no longer created. This operation requires the certificates/update permission.
      operationId: DeleteCertificateOperation
      parameters:
        - description: The name of the certificate.
          in: path
          name: certificate-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A message containing the certificate operation response.
          schema:
            $ref: "#/definitions/CertificateOperation"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Deletes the creation operation for a specific certificate.
      tags:
        - Certificates
      x-ms-examples:
        DeleteCertificateOperation:
          parameters:
            api-version: 7.0-preview
            certificate-name: deletedRequestedCert01
          responses:
            "200":
              body:
                cancellation_requested: false
                csr: MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApf+kGcL+5uivj/ToYbQ15zcx3caEnpzXaX2eJgL0/Kwaz4u2/bNJ9+hoXnlOFFbCp4canVoNvgu8fw5NOu9U3gJNFQwjHeAqfsg8okZGkIk0riIpp4MMb/4GQb2y3B28AcTu2FANdzLoZzBqmQs51KBe1RONkdtqDYXIvnb5G+9+P7PCy5G//Ga0JAP6Y6P8+TrE9JLEj6Sny0ljLMpMyt4rIRAtNfKYSeiWVQmYX4jZfImIW3iq91zwMsRlrzTm80mNfHPCv7V/8NmYuh0MQgCr49lLbbKCgzDyo9h8sblVQvR5TAylpIk7bSQNf4tSdVNHnsF6CJWu6Pg31hyMpQIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAHVjmYFs3FmecaJ1ExhK1WCFJaQJUTVbPJ1xJ93UJlLivhzI1yhQO9nMC2DKV+E+UCxceqjae6OG5LUhXfYAziS0HTc80+ZcUqrZRb5ZRt+8HU0TPbTDDqjj8wMZ4VlgQ3eXGAGesMfZV3AqWwa5itofvqm8KAmL4Yn/XMSHcKfRx3h9WnC6RXgZ8WNYK+r5o+gHlmuF7/AaNFh8UjIsjjOZQ0Yin/vA4yBEYTt1/OC7pScs3bdL9CIf4rC98qaMSf4B2W/vfrXUo0gGPYcep25jy7xnIltSY80Trn3Mty5YQ0IT+KPQcJKhbryGg6bIy4jJDwS7zkn51MR1q3kNoOA=
                id: https://testvault1021.vault.azure.net/certificates/deletedRequestedCert01/pending
                issuer:
                  name: issuer03
                request_id: b88791e33d9c4d609d3e3cc3d2d40d11
                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.
    get:
      description: Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission.
      operationId: GetCertificateOperation
      parameters:
        - description: The name of the certificate.
          in: path
          name: certificate-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The certificate operation response.
          schema:
            $ref: "#/definitions/CertificateOperation"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Gets the creation operation of a certificate.
      tags:
        - Certificates
      x-ms-examples:
        GetCertificateOperation:
          parameters:
            api-version: 7.0-preview
            certificate-name: selfSignedCert01
          responses:
            "200":
              body:
                cancellation_requested: false
                csr: MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqe8aINnShK+wQC8QU7fwsviQc9+yiOnqU3adXA6qNjn21HTdRBa7cyQIk1STxHIBLTT/GaEJwqsUi6UvZaPEHokOWsr1bP9M7xOPTicBcRyMrr6bOxsmGczYtu1z2TzzXDD7q7IEignE7/LowGEaIADCIU9iuWk7TiJ+1Q/VLh/B3xPsgVjY+n7zEQ53gBiDHSl7XfELfwmslOQ28TVNogUyXsxHcVxQQYJeI7HqqY448LeleK69Ld86lkBixLEm1pD7HSbEx3WI2lyUQAGR6hD3YFaiIWVpQeEyI7p1jmtQlnfZdEL4q9wdlEEcwd3h3PAZpEBhCixahF54fci3pwIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACiLeghirF+yCuYGVUPDB3wKQJn2iLY1za9ncxCehIVqOkFK09AphzoxF6Yid90AKCaa/dT/Ohm7oTyVQ+YcZnT00LUNFVG48AOE8YDiw9tjAG9OORsAz80xnv2qaLw2TCVIQ6NjrI83LqAm1GJ8rAnpdD/ZTuWM7TvSO5g/jm/Q0oSuKpMgj3YxpwgB9Ac6YEfVzOnm76OkUcpvR5MS4BoTfRv4thdSnU+uwqxM+HtdSVTbHQeC2U/hM1cyzDMpl1rZRklmiEOoPUeDasEIBVTJhAxR8xAeKJJD7Wzj4mJPw4UMvF8zQZzW8EKYvB1hkVYY+HQ85L+XcXd8lco7hU4=
                id: https://testvault1021.vault.azure.net/certificates/selfSignedCert01/pending
                issuer:
                  name: Self
                request_id: 6faacd568ab049a2803861e8dd3ae21f
                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.
    patch:
      description: Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission.
      operationId: UpdateCertificateOperation
      parameters:
        - description: The name of the certificate.
          in: path
          name: certificate-name
          required: true
          type: string
        - description: The certificate operation response.
          in: body
          name: certificateOperation
          required: true
          schema:
            $ref: "#/definitions/CertificateOperationUpdateParameter"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A message containing the certificate operation response.
          schema:
            $ref: "#/definitions/CertificateOperation"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Updates a certificate operation.
      tags:
        - Certificates
      x-ms-examples:
        UpdateCertificateOperation:
          parameters:
            api-version: 7.0-preview
            certificate-name: cancellationRequestedCert01
            certificateOperation:
              cancellation_requested: true
          responses:
            "200":
              body:
                cancellation_requested: true
                csr: MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxxM2zqnPtpH8aiHX5TdEoZLO0Y6fsjk9QcjKgnHomrwUc9vK20UYYEPKt9aGOT7HNx0do8OulPCnLPrKowci8UHu1qRW/qHvsOJQ/UrQoMCHxtXptVc7Avx8WQb045sCdgp/Cl4xO8LMZa70kE4dghZU9zmNZk8wqDIxyYdh1lqqfGe49EWOxcfszTeeKs8KCsQznjExbsudBHLLWoX4VFTGMe3VcIPcV6iFf70buHKznDMXFiRC0IYwkc/GyWIadB1CSEae8k/0evsPI5lYYZLaO/kLffEUtzysqxZNCQR+S0eVPTGTLHa+fndnPPs65XZDzSZi2fZL01oXUfCAQQIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKto/ZF9+02fQ3sLuIsRuap/O/AZz3IhAubNfyCaWvVGVAQz/Aqpf5c/liyKhxqRG6LR9Zu50oxRK5222ezR+56vJikjdXRVShf2xYsMm1CbCM1JuzsnkTeoUHHE12xx1srH/9TH+DVZIk6NXxc4wVIagbpwxiS5gR3Nly5k0ZVv7R1B79J0GUqSwK6qjuooWrBsYMEx319hz8fB/Y4jnPE8p+Cnn3AGEqnebVngXncq/QnHxnrRVfvKFVySqRvlsvM8buILmBbIaywEUqwhNtZX2i9E7reEJ8aeZcf+lAeKF3YDvffaXGTc75aiZlBk30Lv/hn0vs9T0/FedUnIae4=
                id: https://testvault1021.vault.azure.net/certificates/cancellationRequestedCert01/pending
                issuer:
                  name: issuer02
                request_id: 3dd81d528cc84c5a837c607f1a50f2e1
                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.
  "/certificates/{certificate-name}/pending/merge":
    post:
      description: The MergeCertificate operation performs the merging of a certificate or certificate chain with a key pair currently available in the service. This operation requires the certificates/create permission.
      operationId: MergeCertificate
      parameters:
        - description: The name of the certificate.
          in: path
          name: certificate-name
          required: true
          type: string
        - description: The parameters to merge certificate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CertificateMergeParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: Merged certificate bundle to the vault.
          schema:
            $ref: "#/definitions/CertificateBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Merges a certificate or a certificate chain with a key pair existing on the server.
      tags:
        - Certificates
      x-ms-examples:
        MergeCertificate:
          parameters:
            api-version: 7.0-preview
            certificate-name: testcert
            parameters:
              x5c:
                - MIICxTCCAb....trimmed for brevitiy...EPAQj8=
          responses:
            "201":
              body:
                attributes:
                  created: 1435699919
                  enabled: true
                  exp: 1530394215
                  nbf: 1435699215
                  updated: 1435699919
                cer: ……de34534……
                id: https://mykeyvault.vault.azure.net/certificates/mycert1/f366e1a9dd774288ad84a45a5f620352
                kid: https:// mykeyvault.vault.azure.net/keys/mycert1/f366e1a9dd774288ad84a45a5f620352
                pending:
                  id: https:// mykeyvault.vault.azure.net/certificates/mycert1/pending
                policy:
                  attributes:
                    created: 1435699811
                    enabled: true
                    updated: 1435699811
                  id: https:// mykeyvault.vault.azure.net/certificates/mycert1/policy
                  issuer:
                    name: Unknown
                  key_props:
                    exportable: false
                    key_size: 2048
                    kty: RSA
                    reuse_key: false
                  lifetime_actions:
                    - action:
                        action_type: EmailContacts
                      trigger:
                        lifetime_percentage: 80
                  secret_props:
                    contentType: application/x-pkcs12
                  x509_props:
                    ekus:
                      - 1.3.6.1.5.5.7.3.1
                      - 1.3.6.1.5.5.7.3.2
                    subject: CN=Mycert1
                    validity_months: 12
                sid: " mykeyvault.vault.azure.net/secrets/mycert1/f366e1a9dd774288ad84a45a5f620352"
                x5t: n14q2wbvyXr71Pcb58NivuiwJKk
  "/certificates/{certificate-name}/policy":
    get:
      description: The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission.
      operationId: GetCertificatePolicy
      parameters:
        - description: The name of the certificate in a given key vault.
          in: path
          name: certificate-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The certificate policy.
          schema:
            $ref: "#/definitions/CertificatePolicy"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Lists the policy for a certificate.
      tags:
        - Certificates
      x-ms-examples:
        GetCertificatePolicy:
          parameters:
            api-version: 7.0-preview
            certificate-name: updateCert01
          responses:
            "200":
              body:
                attributes:
                  created: 1482188947
                  enabled: true
                  updated: 1482188947
                id: https://testvault1021.vault.azure.net/certificates/updateCert01/policy
                issuer:
                  name: Unknown
                key_props:
                  exportable: true
                  key_size: 2048
                  kty: RSA
                  reuse_key: false
                lifetime_actions:
                  - action:
                      action_type: EmailContacts
                    trigger:
                      lifetime_percentage: 80
                secret_props:
                  contentType: application/x-pkcs12
                x509_props:
                  basic_constraints:
                    ca: false
                  ekus: []
                  key_usage: []
                  subject: CN=KeyVaultTest
                  validity_months: 297
    patch:
      description: Set specified members in the certificate policy. Leave others as null. This operation requires the certificates/update permission.
      operationId: UpdateCertificatePolicy
      parameters:
        - description: The name of the certificate in the given vault.
          in: path
          name: certificate-name
          required: true
          type: string
        - description: The policy for the certificate.
          in: body
          name: certificatePolicy
          required: true
          schema:
            $ref: "#/definitions/CertificatePolicy"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The certificate policy
          schema:
            $ref: "#/definitions/CertificatePolicy"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Updates the policy for a certificate.
      tags:
        - Certificates
      x-ms-examples:
        UpdateCertificatePolicy:
          parameters:
            api-version: 7.0-preview
            certificate-name: updateCert01
            certificatePolicy:
              attributes:
                enabled: true
              issuer:
                name: Self
              key_props:
                exportable: true
                key_size: 2048
                kty: RSA
                reuse_key: false
              lifetime_actions:
                - action:
                    action_type: EmailContacts
                  trigger:
                    lifetime_percentage: 80
              secret_props:
                contentType: application/x-pkcs12
              x509_props:
                ekus: []
                key_usage: []
                subject: CN=KeyVaultTest
                validity_months: 297
          responses:
            "200":
              body:
                attributes:
                  created: 1482188947
                  enabled: true
                  updated: 1482188948
                id: https://testvault1021.vault.azure.net/certificates/updateCert01/policy
                issuer:
                  name: Self
                key_props:
                  exportable: true
                  key_size: 2048
                  kty: RSA
                  reuse_key: false
                lifetime_actions:
                  - action:
                      action_type: EmailContacts
                    trigger:
                      lifetime_percentage: 80
                secret_props:
                  contentType: application/x-pkcs12
                x509_props:
                  basic_constraints:
                    ca: false
                  ekus: []
                  key_usage: []
                  subject: CN=KeyVaultTest
                  validity_months: 297
  "/certificates/{certificate-name}/versions":
    get:
      description: The GetCertificateVersions operation returns the versions of a certificate in the specified key vault. This operation requires the certificates/list permission.
      operationId: GetCertificateVersions
      parameters:
        - description: The name of the certificate.
          in: path
          name: certificate-name
          required: true
          type: string
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of certificates in the key vault along with a link to the next page of keys.
          schema:
            $ref: "#/definitions/CertificateListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: List the versions of a certificate.
      tags:
        - Certificates
      x-ms-examples:
        GetCertificateVersions:
          parameters:
            api-version: 7.0-preview
            certificate-name: listVersionsCert01
          responses:
            "200":
              body:
                nextLink: null
                value:
                  - attributes:
                      created: 1482189534
                      enabled: true
                      exp: 2208988799
                      nbf: 1430344421
                      updated: 1482189534
                    id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/listVersionsCert01/002ade539442463aba45c0efb42e3e84
                    x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
                  - attributes:
                      created: 1482189532
                      enabled: true
                      exp: 2208988799
                      nbf: 1430344421
                      updated: 1482189532
                    id: https://karlaugsoftdeletesdk.vault-int.azure-int.net/certificates/listVersionsCert01/7fcb3e9eb8bf43f3a6ff4b9c3740801d
                    x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
      x-ms-pageable:
        nextLinkName: nextLink
  "/certificates/{certificate-name}/{certificate-version}":
    get:
      description: Gets information about a specific certificate. This operation requires the certificates/get permission.
      operationId: GetCertificate
      parameters:
        - description: The name of the certificate in the given vault.
          in: path
          name: certificate-name
          required: true
          type: string
        - description: The version of the certificate.
          in: path
          name: certificate-version
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The retrieved certificate.
          schema:
            $ref: "#/definitions/CertificateBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Gets information about a certificate.
      tags:
        - Certificates
      x-ms-examples:
        GetCertificate:
          parameters:
            api-version: 7.0-preview
            certificate-name: selfSignedCert01
            certificate-version: pending
          responses:
            "200":
              body:
                cancellation_requested: false
                csr: MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqe8aINnShK+wQC8QU7fwsviQc9+yiOnqU3adXA6qNjn21HTdRBa7cyQIk1STxHIBLTT/GaEJwqsUi6UvZaPEHokOWsr1bP9M7xOPTicBcRyMrr6bOxsmGczYtu1z2TzzXDD7q7IEignE7/LowGEaIADCIU9iuWk7TiJ+1Q/VLh/B3xPsgVjY+n7zEQ53gBiDHSl7XfELfwmslOQ28TVNogUyXsxHcVxQQYJeI7HqqY448LeleK69Ld86lkBixLEm1pD7HSbEx3WI2lyUQAGR6hD3YFaiIWVpQeEyI7p1jmtQlnfZdEL4q9wdlEEcwd3h3PAZpEBhCixahF54fci3pwIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACiLeghirF+yCuYGVUPDB3wKQJn2iLY1za9ncxCehIVqOkFK09AphzoxF6Yid90AKCaa/dT/Ohm7oTyVQ+YcZnT00LUNFVG48AOE8YDiw9tjAG9OORsAz80xnv2qaLw2TCVIQ6NjrI83LqAm1GJ8rAnpdD/ZTuWM7TvSO5g/jm/Q0oSuKpMgj3YxpwgB9Ac6YEfVzOnm76OkUcpvR5MS4BoTfRv4thdSnU+uwqxM+HtdSVTbHQeC2U/hM1cyzDMpl1rZRklmiEOoPUeDasEIBVTJhAxR8xAeKJJD7Wzj4mJPw4UMvF8zQZzW8EKYvB1hkVYY+HQ85L+XcXd8lco7hU4=
                id: https://testvault1021.vault.azure.net/certificates/selfSignedCert01/pending
                issuer:
                  name: Self
                request_id: 6faacd568ab049a2803861e8dd3ae21f
                status: completed
                target: https://testvault1021.vault.azure.net/certificates/selfSignedCert01
    patch:
      description: The UpdateCertificate operation applies the specified update on the given certificate; the only elements updated are the certificate's attributes. This operation requires the certificates/update permission.
      operationId: UpdateCertificate
      parameters:
        - description: The name of the certificate in the given key vault.
          in: path
          name: certificate-name
          required: true
          type: string
        - description: The version of the certificate.
          in: path
          name: certificate-version
          required: true
          type: string
        - description: The parameters for certificate update.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CertificateUpdateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The updated certificate.
          schema:
            $ref: "#/definitions/CertificateBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Updates the specified attributes associated with the given certificate.
      tags:
        - Certificates
      x-ms-examples:
        UpdateCertificate:
          parameters:
            api-version: 7.0-preview
            certificate-name: updateCert01
            certificate-version: c3d31d7b36c942ad83ef36fc0785a4fc
            parameters:
              attributes:
                enabled: true
                exp: 2208988799
                nbf: 1430344421
              tags:
                department: KeyVaultTest
          responses:
            "200":
              body:
                attributes:
                  created: 1482188981
                  enabled: true
                  exp: 2208988799
                  nbf: 1430344421
                  updated: 1482188981
                cer: MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=
                id: https://testvault1021.vault.azure.net/certificates/updateCert01/c3d31d7b36c942ad83ef36fc0785a4fc
                kid: https://testvault1021.vault.azure.net/keys/updateCert01/c3d31d7b36c942ad83ef36fc0785a4fc
                sid: https://testvault1021.vault.azure.net/secrets/updateCert01/c3d31d7b36c942ad83ef36fc0785a4fc
                tags:
                  department: KeyVaultTest
                x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
  /deletedcertificates:
    get:
      description: The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults.
      operationId: GetDeletedCertificates
      parameters:
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - description: Specifies whether to include certificates which are not completely provisioned.
          in: query
          name: includePending
          required: false
          type: boolean
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates
          schema:
            $ref: "#/definitions/DeletedCertificateListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Lists the deleted certificates in the specified vault currently available for recovery.
      tags:
        - DeletedCertificates
      x-ms-examples:
        GetDeletedCertificates:
          parameters:
            api-version: 7.0-preview
            maxresults: "1"
          responses:
            "200":
              body:
                nextLink: https://kv-sdk-test.vault-int.azure-int.net:443/deletedcertificates?api-version=7.0-preview&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTIhTURBd01ETTVJV05sY25ScFptbGpZWFJsTDB4SlUxUkVSVXhGVkVWRVEwVlNWRlJGVTFRd0wxQlBURWxEV1NFd01EQXdNamdoT1RrNU9TMHhNaTB6TVZReU16bzFPVG8xT1M0NU9UazVPVGs1V2lFLSIsIlRhcmdldExvY2F0aW9uIjowfQ&maxresults=1
                value:
                  - attributes:
                      created: 1493937658
                      enabled: true
                      exp: 2208988799
                      nbf: 1430344421
                      recoveryLevel: Recoverable+Purgeable
                      updated: 1493937658
                    deletedDate: 1493937659
                    id: https://kv-sdk-test.vault-int.azure-int.net/certificates/listdeletedcerttest0
                    recoveryId: https://kv-sdk-test.vault-int.azure-int.net/deletedcertificates/listdeletedcerttest0
                    scheduledPurgeDate: 1501713659
                    x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
      x-ms-pageable:
        nextLinkName: nextLink
  "/deletedcertificates/{certificate-name}":
    delete:
      description: The PurgeDeletedCertificate operation performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the recovery level does not specify 'Purgeable'. This operation requires the certificate/purge permission.
      operationId: PurgeDeletedCertificate
      parameters:
        - description: The name of the certificate
          in: path
          name: certificate-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No content signaling that the certificate was purged forever.
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Permanently deletes the specified deleted certificate.
      tags:
        - DeletedCertificates
      x-ms-examples:
        PurgeDeletedCertificate:
          parameters:
            api-version: 7.0-preview
            certificate-name: deletedcertificates
          responses:
            "204":
              body: ""
    get:
      description: The GetDeletedCertificate operation retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the current deletion recovery level. This operation requires the certificates/get permission.
      operationId: GetDeletedCertificate
      parameters:
        - description: The name of the certificate
          in: path
          name: certificate-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A Certificate bundle of the certificate and its attributes
          schema:
            $ref: "#/definitions/DeletedCertificateBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Retrieves information about the specified deleted certificate.
      tags:
        - DeletedCertificates
      x-ms-examples:
        GetDeletedCertificate:
          parameters:
            api-version: 7.0-preview
            certificate-name: getDeletedCert
          responses:
            "200":
              body:
                attributes:
                  created: 1493938289
                  enabled: true
                  exp: 2208988799
                  nbf: 1430344421
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938291
                cer: MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=
                deletedDate: 1493938292
                id: https://kv-sdk-test.vault-int.azure-int.net/certificates/getDeletedCert/f60f2a4f8ae442cfb41ca2090bd4b769
                kid: https://kv-sdk-test.vault-int.azure-int.net/keys/getDeletedCert/f60f2a4f8ae442cfb41ca2090bd4b769
                policy:
                  attributes:
                    created: 1493938289
                    enabled: true
                    updated: 1493938291
                  id: https://kv-sdk-test.vault-int.azure-int.net/certificates/getDeletedCert/policy
                  issuer:
                    name: Unknown
                  key_props:
                    exportable: true
                    key_size: 2048
                    kty: RSA
                    reuse_key: false
                  lifetime_actions:
                    - action:
                        action_type: EmailContacts
                      trigger:
                        lifetime_percentage: 80
                  secret_props:
                    contentType: application/x-pkcs12
                  x509_props:
                    basic_constraints:
                      ca: false
                    ekus: []
                    key_usage: []
                    subject: CN=KeyVaultTest
                    validity_months: 297
                recoveryId: https://kv-sdk-test.vault-int.azure-int.net/deletedcertificates/getDeletedCert
                scheduledPurgeDate: 1501714292
                sid: https://kv-sdk-test.vault-int.azure-int.net/secrets/getDeletedCert/f60f2a4f8ae442cfb41ca2090bd4b769
                x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
              headers: {}
  "/deletedcertificates/{certificate-name}/recover":
    post:
      description: The RecoverDeletedCertificate operation performs the reversal of the Delete operation. The operation is applicable in vaults enabled for soft-delete, and must be issued during the retention interval (available in the deleted certificate's attributes). This operation requires the certificates/recover permission.
      operationId: RecoverDeletedCertificate
      parameters:
        - description: The name of the deleted certificate
          in: path
          name: certificate-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A Certificate bundle of the original certificate and its attributes
          schema:
            $ref: "#/definitions/CertificateBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Recovers the deleted certificate back to its current version under /certificates.
      tags:
        - DeletedCertificates
      x-ms-examples:
        RecoverDeletedCertificate:
          parameters:
            api-version: 7.0-preview
            certificate-name: CertCreateDeleteRecoverPurgeTest
          responses:
            "200":
              body:
                attributes:
                  created: 1493938486
                  enabled: true
                  exp: 2208988799
                  nbf: 1430344421
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938486
                cer: MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=
                id: https://kv-sdk-test.vault-int.azure-int.net/certificates/CertCreateDeleteRecoverPurgeTest/9ff2572a2c3145679057da8b7f6a4b1d
                kid: https://kv-sdk-test.vault-int.azure-int.net/keys/CertCreateDeleteRecoverPurgeTest/9ff2572a2c3145679057da8b7f6a4b1d
                policy:
                  attributes:
                    created: 1493938486
                    enabled: true
                    updated: 1493938486
                  id: https://kv-sdk-test.vault-int.azure-int.net/certificates/CertCreateDeleteRecoverPurgeTest/policy
                  issuer:
                    name: Unknown
                  key_props:
                    exportable: true
                    key_size: 2048
                    kty: RSA
                    reuse_key: false
                  lifetime_actions:
                    - action:
                        action_type: EmailContacts
                      trigger:
                        lifetime_percentage: 80
                  secret_props:
                    contentType: application/x-pkcs12
                  x509_props:
                    basic_constraints:
                      ca: false
                    ekus: []
                    key_usage: []
                    subject: CN=KeyVaultTest
                    validity_months: 297
                sid: https://kv-sdk-test.vault-int.azure-int.net/secrets/CertCreateDeleteRecoverPurgeTest/9ff2572a2c3145679057da8b7f6a4b1d
                x5t: fLi3U52HunIVNXubkEnf8tP6Wbo
  /deletedkeys:
    get:
      description: Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a deleted key. This operation includes deletion-specific information. The Get Deleted Keys operation is applicable for vaults enabled for soft-delete. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/list permission.
      operationId: GetDeletedKeys
      parameters:
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys.
          schema:
            $ref: "#/definitions/DeletedKeyListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Lists the deleted keys in the specified vault.
      tags:
        - DeletedKeys
      x-ms-examples:
        GetDeletedKeys:
          parameters:
            $skiptoken: eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJeklXdGxlUzlNU1ZOVVJFVk1SVlJGUkV0RldWUkZVMVF3SVRBd01EQXlPQ0V5TURFM0xUQTFMVEEwVkRJeU9qRTJPakF5TGpnM09URXpOemxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ
            api-version: 7.0-preview
            maxresults: "1"
          responses:
            "200":
              body:
                nextLink: https://kv-sdk-test.vault-int.azure-int.net:443/deletedkeys?api-version=7.0-preview&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVSRVZNUlZSRlJFdEZXVlJGVTFRd0x6RkRRa0ZGTkVaQk5qQTBNelJGTmtZNE9FUXdORE5GTkRFM09FUkNPVFE1SVRBd01EQXlPQ0V5TURFM0xUQTFMVEEwVkRJeU9qUTNPakU1TGpVeU1UZ3dPVEZhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ&maxresults=1
                value:
                  - attributes:
                      created: 1493938031
                      enabled: true
                      recoveryLevel: Recoverable+Purgeable
                      updated: 1493938031
                    deletedDate: 1493938031
                    kid: https://kv-sdk-test.vault-int.azure-int.net/keys/listdeletedkeytest0
                    recoveryId: https://kv-sdk-test.vault-int.azure-int.net/deletedkeys/listdeletedkeytest0
                    scheduledPurgeDate: 1501714031
      x-ms-pageable:
        nextLinkName: nextLink
  "/deletedkeys/{key-name}":
    delete:
      description: The Purge Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/purge permission.
      operationId: PurgeDeletedKey
      parameters:
        - description: The name of the key
          in: path
          name: key-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No content, signaling that the key was permanently purged.
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Permanently deletes the specified key.
      tags:
        - DeletedKeys
      x-ms-examples:
        PurgeDeletedKey:
          parameters:
            api-version: 7.0-preview
            key-name: testdeletedkey
          responses:
            "204":
              body: ""
    get:
      description: "The Get Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/get permission. "
      operationId: GetDeletedKey
      parameters:
        - description: The name of the key.
          in: path
          name: key-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion information.
          schema:
            $ref: "#/definitions/DeletedKeyBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Gets the public part of a deleted key.
      tags:
        - DeletedKeys
      x-ms-examples:
        GetDeletedKey:
          parameters:
            api-version: 7.0-preview
            key-name: CreateSoftKeyTest
          responses:
            "200":
              body:
                attributes:
                  created: 1493942451
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493942451
                deletedDate: 1493942452
                key:
                  e: AQAB
                  key_ops:
                    - encrypt
                    - decrypt
                    - sign
                    - verify
                    - wrapKey
                    - unwrapKey
                  kid: https://kv-sdk-test.vault-int.azure-int.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71
                  kty: RSA
                  n: 2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w
                recoveryId: https://kv-sdk-test.vault-int.azure-int.net/deletedkeys/CreateSoftKeyTest
                scheduledPurgeDate: 1501718452
                tags:
                  purpose: unit test
                  "test name ": CreateGetDeleteKeyTest
  "/deletedkeys/{key-name}/recover":
    post:
      description: The Recover Deleted Key operation is applicable for deleted keys in soft-delete enabled vaults. It recovers the deleted key back to its latest version under /keys. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the delete operation on soft-delete enabled vaults. This operation requires the keys/recover permission.
      operationId: RecoverDeletedKey
      parameters:
        - description: The name of the deleted key.
          in: path
          name: key-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A Key bundle of the original key and its attributes
          schema:
            $ref: "#/definitions/KeyBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Recovers the deleted key to its latest version.
      tags:
        - DeletedKeys
      x-ms-examples:
        RecoverDeletedKey:
          parameters:
            api-version: 7.0-preview
            key-name: CreateDeleteRecoverPurgeTest
          responses:
            "200":
              body:
                attributes:
                  created: 1493938342
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938342
                key:
                  e: AQAB
                  key_ops:
                    - encrypt
                    - decrypt
                    - sign
                    - verify
                    - wrapKey
                    - unwrapKey
                  kid: https://kv-sdk-test.vault-int.azure-int.net/keys/CreateDeleteRecoverPurgeTest/6fc2be54c6be4a7ea7bbb8a2a99a1996
                  kty: RSA
                  n: v-SWMCmPNKoK_rB_pNXUl6Iwh9Kqd3XzQlh6SXi_slBishqP7pyKEFjNbUvMSlyvPt21rJupLbJr-yhsK2Rq2V6O0doGuCsoadgNGih1aVAuUJAJls1-b-G1IJjD18ArM4RitnCvJmQFqyK2RVHa3EpEfaQW4gcRrsRAhiJDjc1L1S3skdt-E_rZfL7DIh1ZtqFyQAqIWSAG0BXDdbgfEx1kJKqH-HRokDKeMCIaJtKZof6e-DJr3e9Iy8aAR7V-BsZ7vY7JMjyeEukMzEji4MEsIyOESL67DgFllDEi4OM_3WKyxr6uXxzHDzmppWsk2ykLsYA_ALLnR3ZNZCuL9Q
                tags:
                  purpose: unit test
                  "test name ": CreateDeleteRecoverPurgeTest
  /deletedsecrets:
    get:
      description: The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled for soft-delete. This operation requires the secrets/list permission.
      operationId: GetDeletedSecrets
      parameters:
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of deleted secrets in the vault, along with a link to the next page of deleted secrets.
          schema:
            $ref: "#/definitions/DeletedSecretListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Lists deleted secrets for the specified vault.
      tags:
        - DeletedSecrets
      x-ms-examples:
        GetDeletedSecrets:
          parameters:
            $skiptoken: eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ESTVJWE5sWTNKbGRDOU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGUkZVMVF3SVRBd01EQXlPQ0V5TURFM0xUQTFMVEEwVkRFNU9qSTFPakU0TGpJNE5qUXdORFZhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ
            api-version: 7.0-preview
            maxresults: "1"
          responses:
            "200":
              body:
                nextLink: https://kv-sdk-test.vault-int.azure-int.net:443/deletedsecrets?api-version=7.0-preview&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWXlJWE5sWTNKbGRDOU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGUkZVMVF3THpZMU16ZERSRVJGTlRJNU5qUkRSa1pDTVRkQ1JVWXhORGszUXpSQ1JEZEVJVEF3TURBeU9DRXlNREUzTFRBMUxUQTBWREl5T2pRME9qUXdMamsxTnpZeE1UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9&maxresults=1
                value:
                  - attributes:
                      created: 1493937855
                      enabled: true
                      recoveryLevel: Recoverable+Purgeable
                      updated: 1493937855
                    contentType: plainText
                    deletedDate: 1493937855
                    id: https://kv-sdk-test.vault-int.azure-int.net/secrets/listdeletedsecrettest0
                    recoveryId: https://kv-sdk-test.vault-int.azure-int.net/deletedsecrets/listdeletedsecrettest0
                    scheduledPurgeDate: 1501713855
      x-ms-pageable:
        nextLinkName: nextLink
  "/deletedsecrets/{secret-name}":
    delete:
      description: The purge deleted secret operation removes the secret permanently, without the possibility of recovery. This operation can only be enabled on a soft-delete enabled vault. This operation requires the secrets/purge permission.
      operationId: PurgeDeletedSecret
      parameters:
        - description: The name of the secret.
          in: path
          name: secret-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No content signaling that the secret was purged forever.
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Permanently deletes the specified secret.
      tags:
        - DeletedSecrets
      x-ms-examples:
        PurgeDeletedSecret:
          parameters:
            api-version: 7.0-preview
            secret-name: testsecret
          responses:
            "204":
              body: ""
    get:
      description: The Get Deleted Secret operation returns the specified deleted secret along with its attributes. This operation requires the secrets/get permission.
      operationId: GetDeletedSecret
      parameters:
        - description: The name of the secret.
          in: path
          name: secret-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A secret bundle of the secret and its attributes.
          schema:
            $ref: "#/definitions/DeletedSecretBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Gets the specified deleted secret.
      tags:
        - DeletedSecrets
      x-ms-examples:
        GetDeletedSecret:
          parameters:
            api-version: 7.0-preview
            secret-name: GetDeletedSecretTest
          responses:
            "200":
              body:
                attributes:
                  created: 1493938433
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938433
                deletedDate: 1493938433
                id: https://kv-sdk-test.vault-int.azure-int.net/secrets/GetDeletedSecretTest/b595353d9c39413d80626575b3b5d865
                recoveryId: https://kv-sdk-test.vault-int.azure-int.net/deletedsecrets/GetDeletedSecretTest
                scheduledPurgeDate: 1501714433
  "/deletedsecrets/{secret-name}/recover":
    post:
      description: Recovers the deleted secret in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the secrets/recover permission.
      operationId: RecoverDeletedSecret
      parameters:
        - description: The name of the deleted secret.
          in: path
          name: secret-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A Secret bundle of the original secret and its attributes.
          schema:
            $ref: "#/definitions/SecretBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Recovers the deleted secret to the latest version.
      tags:
        - DeletedSecrets
      x-ms-examples:
        RecoverDeletedSecret:
          parameters:
            api-version: 7.0-preview
            secret-name: SecretCreateDeleteRecoverPurgeTest
          responses:
            "200":
              body:
                attributes:
                  created: 1493937960
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493937960
                id: https://kv-sdk-test.vault-int.azure-int.net/secrets/SecretCreateDeleteRecoverPurgeTest/16f5f7feb7004280b7f3b8ac50cd01f9
  /deletedstorage:
    get:
      description: The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted for a vault enabled for soft-delete. This operation requires the storage/list permission.
      operationId: GetDeletedStorageAccounts
      parameters:
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of deleted storage accounts in the vault, along with a link to the next page of deleted storage accounts.
          schema:
            $ref: "#/definitions/DeletedStorageListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Lists deleted storage accounts for the specified vault.
      tags:
        - DeletedStorage
      x-ms-examples:
        List Deleted Storage Accounts:
          parameters:
            api-version: 7.0-preview
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                nextLink: https://{BaseUri}/storage?api-version=7.0-preview&%24skiptoken=<token>
                value:
                  - attributes:
                      created: 1490738386
                      enabled: true
                      recoveryLevel: Recoverable+Purgeable
                      updated: 1490738386
                    deletedDate: 1490760000
                    id: https://storage-sdk-test.vault-int.azure-int.net/storage/listDeletedStorage01
                    recoveryId: https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/listDeletedStorage01
                    resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc1
                    scheduledPurgeDate: 1490790000
                    tags:
                      tag1: val1
                      tag2: val2
                  - attributes:
                      created: 1490738386
                      enabled: true
                      recoveryLevel: Recoverable+Purgeable
                      updated: 1490738386
                    deletedDate: 1490760000
                    id: https://storage-sdk-test.vault-int.azure-int.net/storage/listDeletedStorage02
                    recoveryId: https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/listDeletedStorage02
                    resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc2
                    scheduledPurgeDate: 1490790000
                    tags:
                      tag3: val3
                      tag4: val4
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/deletedstorage/{storage-account-name}":
    delete:
      description: The purge deleted storage account operation removes the secret permanently, without the possibility of recovery. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/purge permission.
      operationId: PurgeDeletedStorageAccount
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No content signaling that the storage account was purged forever.
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Permanently deletes the specified storage account.
      tags:
        - DeletedStorage
      x-ms-examples:
        Purge Deleted Storage Account:
          parameters:
            api-version: 7.0-preview
            storage-account-name: purgeStrg01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "204":
              body: {}
              headers: {}
    get:
      description: The Get Deleted Storage Account operation returns the specified deleted storage account along with its attributes. This operation requires the storage/get permission.
      operationId: GetDeletedStorageAccount
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The deleted storage account and information on when it will be purged, and how to recover the deleted storage account.
          schema:
            $ref: "#/definitions/DeletedStorageBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Gets the specified deleted storage account.
      tags:
        - DeletedStorage
      x-ms-examples:
        Get Deleted Storage:
          parameters:
            api-version: 7.0-preview
            storage-account-name: deleteStrg01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                activeKeyName: key1
                attributes:
                  created: 1490738386
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1490738386
                autoRegenerateKey: true
                deletedDate: 1490760000
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/deleteStrg01
                recoveryId: https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/deleteStrg01
                regenerationPeriod: P30D
                resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc
                scheduledPurgeDate: 1490790000
                tags:
                  tag1: val1
                  tag2: val2
              headers: {}
  "/deletedstorage/{storage-account-name}/recover":
    post:
      description: Recovers the deleted storage account in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.
      operationId: RecoverDeletedStorageAccount
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A storage bundle of the original storage account and its attributes.
          schema:
            $ref: "#/definitions/StorageBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Recovers the deleted storage account.
      tags:
        - DeletedStorage
      x-ms-examples:
        Recover Deleted Storage Account:
          parameters:
            api-version: 7.0-preview
            storage-account-name: recoverStrg01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                activeKeyName: key1
                attributes:
                  created: 1490738386
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1490738386
                autoRegenerateKey: true
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/recoverStrg01
                regenerationPeriod: P30D
                resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc
                tags:
                  tag1: val1
                  tag2: val2
              headers: {}
  "/deletedstorage/{storage-account-name}/sas":
    get:
      description: The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for a vault enabled for soft-delete. This operation requires the storage/listsas permission.
      operationId: GetDeletedSasDefinitions
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of deleted SAS definitions for the storage account, along with a link to the next page of deleted SAS definitions.
          schema:
            $ref: "#/definitions/DeletedSasDefinitionListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Lists deleted SAS definitions for the specified vault and storage account.
      tags:
        - DeletedStorage
      x-ms-examples:
        List Deleted Storage Sas Definitions:
          parameters:
            api-version: 7.0-preview
            storage-account-name: listsas01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                nextLink: https://{BaseUri}/deletedstorage/listsas01/sas?api-version=7.0-preview&%24skiptoken=<token>
                value:
                  - attributes:
                      created: 1490738438
                      enabled: true
                      recoveryLevel: Recoverable
                      updated: 1490738438
                    deletedDate: 1490760000
                    id: https://storage-sdk-test.vault-int.azure-int.net/storage/listsas01/sas/listDeletedSasDef01
                    recoveryId: https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/listsas01/sas/listDeletedSasDef01
                    scheduledPurgeDate: 1490790000
                    sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/listsas01-listDeletedSasDef01
                  - attributes:
                      created: 1490738438
                      enabled: true
                      recoveryLevel: Recoverable
                      updated: 1490738438
                    deletedDate: 1490760000
                    id: https://storage-sdk-test.vault-int.azure-int.net/storage/listsas01/sas/listDeletedSasDef02
                    recoveryId: https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/listsas01/sas/listDeletedSasDef02
                    scheduledPurgeDate: 1490790000
                    sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/listsas01-listDeletedSasDef02
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}":
    get:
      description: The Get Deleted SAS Definition operation returns the specified deleted SAS definition along with its attributes. This operation requires the storage/getsas permission.
      operationId: GetDeletedSasDefinition
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The name of the SAS definition.
          in: path
          name: sas-definition-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The deleted SAS definition and information on when the it will be purged, and how to recover the deleted SAS definition.
          schema:
            $ref: "#/definitions/DeletedSasDefinitionBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Gets the specified deleted sas definition.
      tags:
        - DeletedStorage
      x-ms-examples:
        Get Deleted Storage Sas Definition:
          parameters:
            api-version: 7.0-preview
            sas-definition-name: deleteStrgSasDef01
            storage-account-name: deletesas01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                attributes:
                  created: 1490738438
                  enabled: true
                  recoveryLevel: Recoverable
                  updated: 1490738438
                deletedDate: 1490760000
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/deletesas01/sas/deleteStrgSasDef01
                recoveryId: https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/deletesas01/sas/deleteStrgSasDef01
                sasType: service
                scheduledPurgeDate: 1490790000
                sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/deletesas01-deleteStrgSasDef01
                templateUri: se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D
                validityPeriod: P15D
              headers: {}
  "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover":
    post:
      description: Recovers the deleted SAS definition for the specified storage account. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.
      operationId: RecoverDeletedSasDefinition
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The name of the SAS definition.
          in: path
          name: sas-definition-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A SAS definition bundle of the original SAS definition and its attributes.
          schema:
            $ref: "#/definitions/SasDefinitionBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Recovers the deleted SAS definition.
      tags:
        - DeletedStorage
      x-ms-examples:
        Recover Deleted Storage Sas Definition:
          parameters:
            api-version: 7.0-preview
            sas-definition-name: recoverStrgSasDef01
            storage-account-name: recoversas01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                attributes:
                  created: 1490738438
                  enabled: true
                  recoveryLevel: Recoverable
                  updated: 1490738438
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/recoversas01/sas/recoverStrgSasDef01
                sasType: service
                sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/recoversas01-recoverStrgSasDef01
                templateUri: se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D
                validityPeriod: P15D
              headers: {}
  /keys:
    get:
      description: Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a stored key. The LIST operation is applicable to all key types, however only the base key identifier, attributes, and tags are provided in the response. Individual versions of a key are not listed in the response. This operation requires the keys/list permission.
      operationId: GetKeys
      parameters:
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of keys in the vault along with a link to the next page of keys.
          schema:
            $ref: "#/definitions/KeyListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: List keys in the specified vault.
      tags:
        - Keys
      x-ms-examples:
        GetKeys:
          parameters:
            $skiptoken: eyJOZXh0TWFya2VyIjoiMiE4MCFNREF3TURFMElXdGxlUzlUUkV0VVJWTlVTMFZaSVRBd01EQXlPQ0V5TURFM0xUQXlMVEUzVkRBd09qQXhPakEyTGpnd056azBOemhhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ
            api-version: 7.0-preview
            maxresults: "1"
          responses:
            "200":
              body:
                nextLink: https://kv-sdk-test.vault-int.azure-int.net:443/keys?api-version=7.0-preview&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJM0lXdGxlUzlWVUVSQlZFVkxSVmxCVkZSU1NVSlZWRVZUVkVWVFZDRXdNREF3TWpnaE1qQXhOeTB3TlMwd05GUXdNVG94TVRveE5pNDNNekE0TnpReVdpRS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0&maxresults=1
                value:
                  - attributes:
                      created: 1493937656
                      enabled: true
                      recoveryLevel: Recoverable+Purgeable
                      updated: 1493937656
                    kid: https://kv-sdk-test.vault-int.azure-int.net/keys/sdktestkey
      x-ms-pageable:
        nextLinkName: nextLink
  /keys/restore:
    post:
      description: "Imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, attributes and access control policies. The RESTORE operation may be used to import a previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, the RESTORE operation will be rejected. While the key name is retained during restore, the final key identifier will change if the key is restored to a different vault. Restore will restore all versions and preserve version identifiers. The RESTORE operation is subject to security constraints: The target Key Vault must be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have RESTORE permission in the target Key Vault. This operation requires the keys/restore permission."
      operationId: RestoreKey
      parameters:
        - description: The parameters to restore the key.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeyRestoreParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Restored key bundle in the vault.
          schema:
            $ref: "#/definitions/KeyBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Restores a backed up key to a vault.
      tags:
        - Keys
      x-ms-examples:
        RestoreKey:
          parameters:
            api-version: 7.0-preview
            key-name: testkey
            value: JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLllNSVBfTXJRcTQ2X2ZwRExfSDNSSkpzSUotM05oeUJkMXlrOWJCS05JOGdnTjMxYWg2cWVoY1BISExnSnJ4OGprQkxMWFBxcDVmMXpsaWxfclVrLUtrT3J5YzhaSTljc3NNNV9TeTN4cEk0Wnk2V0ljNWNqUFd1R0NDbUJwQXlydEdPVnpoalF4bzNyVFcxRFNxZ1pVdnI4VEpseTJQS3J2aUlfUmduRWQ2LVJWS3V1Vk40ZWZWYUs5WFZUbW4xdmZ5Z3pwVHJfVFdDOVBGbXpoT0p6Z1U5OF85X25WcldWSE5TMXVMWEpYbldoQU9mUll0VlJORVFJRU5lTGMtZzNjTXJLOTFzNk5XeE5xZkZfR0w2UHg2cVhHMldXQ09nMzU3ZkJnT1ZTdERLaVZINk4xTWVkUTVwaWFkeHhUVDZMSFpva0I0eDFKbEFJZkxfYlU2OVBWdy5GOVFiM3RWbE1LcHJDS0stWUVpODJ3LlQwTVFpYXV3MGw5TWJfRFdEY1hvbzFqTjZJWXU1OVk3U0VMMm1ndFUweDNYTDl5VHNqZUY0Y2I0NExBaF9vUDdnbUgzbjdKLVZEX3hKN2hXY01XNnlTNDlFX005aXlndDlTQ2w5ZjRTdWtpM0NZdkwwUUVSVFlLSW1qMi1BRkRMWkl3Tm1HYmE4RzhheFBxR2NOS3NSZ0daZ1lUVG9pWUxxQnJ5cmJ2TEp1ZENxZ2plUWRpNU1tdHlQRnBhZ0hwSHZLa3VjRkdwLVhtSjFLYk8yQTJRT1dRVFFaOUNlcmVCcXJDbjI0SXdhUXJVQzRyTkQydzBVQTFUY3dFZXVWQkdFTGRKWm9zWHM2Q0dEZmpaSHFjdnB6NzRKd3g1T0VpcV9EUHM5VEtya01ob3djRXBsWjhaSk1jTlFSZnU5Sjg5ZDdZWGdHZEI1aWtKenA1WlY4OXcxMmIwekNITllKamdkZEhTNjJmalZlYUUxT09QXzd5Zlg1dEpiNmQ1QVhpZ3ItSkozbGI3Y2JhOXE2NHBsYmlhck1LemFiNUhtMkxNRnVLQnI1TmFrbzVQMDBoUUJnR2M2aXBJSzhNT2NLc2RhQjJGcjUwX1ViNnJEUzA4NnUzNy1DSHRGRnF5LTFBaGlDaXhRakNNTF9rWGtJMHZEYmJqRi1feGtNZGFCVi1BdTc5TzZ6V2pzRGVlV0t0VXZWUW5CMGM0Qnk3SVdDTGVWdzIyaTA5WWk3MnpCcWZPRjRyTmd4VTNrSjdfLTVib1dteVlXNndNOGVzTjR4R1kzUGhVNHlLRV91RGc2dk5Od3Q1c2NXWW9TMHh4NlBDb3M4S0R0Y3ItVXlwUTkydGhVX0ZYZ3E5U3RUWXEyWWdWV0dQbnM1Q0RMT0RBSi1sMTFJNklpdGxQN0hoeUxvMzlqNzdpV2ZUS0RnTDVrcDdEOUUzX3FkUFprdGpWUER1M1pRY1Q3MzlOMnp6XzFrWHJEb20tNlBQcXdWUzZtUXpBVW1xaXhTaXZjcWJxalpJRnRPbGxLRkE2cWVyaDJlU0FZelRNU0N1d0p4REJSQjUtbjBNUWxJSGpDMTdkTFpoVnFEMVNiNlBycV95OXN2Mml2V3E5TGE5R2ZHbEhBNlZZM1QzUWRTQ3VrWVJqWFhxLUItTm5WZGhGTVZhbFZ2b3NySmZuSEZhWGZMaTBnczVVOUt1NHlqRDdRb1cxeVIxSVk5T3JaNHFSUXdrcG5tOU8ycnJIMXBtX1hTekxRVDRrWmNLYnVneHNvWXRsRE9TaW9iS0RYdTFNdENxdkRudnh6OEZ3MUdwTXJCdUxrVlFEVmVlUDJqNFp3TGxPbkxUTmk4YlNjTm1fN3ZUc1RQbTRJRDltanBXSThCYXA4M1RLaTNkelAxazFpM0dncnIxSEpVQU96Q0NjUTRnaWxES1o4UkVsUWUyMUJBcUo3eUVublZsdWN5RzZBV2E3dmlZWXV4eEJIa0RsN1hHZHZYMGpJMjZyd2NTX0ZIMnlOaWFmZDN3SkkxMzQyWEF2VDdDUWVoOGRaZWRKU3FYUUdqQjVCSGF5Vl9vZnplVXBfOEhqRkRoS1VkcmNJNGkwa0ZwcEhkUFhNQXUxMjh3RHUyTG5VenlNNEpad1NJdW1fbmpiUTNJU1R5bUVMTngzd3QyV1NFT2Q3QUt5S3lCNEJzU3NkUE1HZXdLSTFnc2otSENFb05Cd3hQQkF2VnFDSUkzbGY5NG0tRU04LVh6TnRCVXFpT3Y5ZERCa2d2ekptSTlrMk9fVmpjbUZrbkdKb2kxVnpZcGlRVTRYbElaempDd3NDRHFrYWh1YmNxWFdyMDhVdFBtV0hGRXk0Q0tvclZMN1VIaVhsVnJPR1VHdFN2dWN3S2RjS1RPeldsUngtRGNGMExDek1kR1p3Y2czZWk1bWl0bFliRjJVbGJOMmJaU0NQWDljOWxFU2RBUUhxUEVsNXJhVDY3aDlWeGxPc3doYW54SkZvNGVuRENaYWZObURGRzJMYTY5RXFCVjZLTHowXzR1S1pDNW14YXZEazZXS3lmb0ROeXFzdVZMdG83WXNqUk4xNTJYMDVYSEhuRVN6NG5lM2MwandXYXo2MFpJR0Q1TUhNUUhQeTdPNFdnYWthVnNKZU9mYUNza3diYjQ5cV9tQnNYME5mWlBjcWFiRFhoWjdCWUxROVhFUkdibndkM0pEQmgtX1RUN2s2WERpY0tUblZQdWVGN3dzVl80aE9HUkpkVEk2UFRmV2o1dWY4dTdxRU9BdUt5NmV1Vk1LeTk3TVdLT1Q4LVpRbDBoSWowcmJWR1pILVI0cnFIMXZfVmdRUGRpLXFXb3FXcWt5MGFaSzNDTkEzUXhXZnRMR3AwcUVXcHU2T1EtQ2hONy12eE4wdFVlZGREWlF5V1d0d3g2VFcxS2hDQldaR2pabTlBQzY4YlUyQnVOTUU1NW9VV0dsbmNOOUVuRnpnTm1RTVR1SzV2VGd3WkJITWpmUXpsSUdfeWZ3QXVtSHljSzVPT092eDk1SGM3d0RBRDJXMVdSb2h5MDV5TFJkbEJ2XzREUXJyTWthZEVwZjB1dHZod1V3ZXZSNU1jVkV5Yk93VUw2Z2Y5a3JDNEw0YlR1bUJRbG9Ccng1aDNuTHhZdzkwcmlqbG5LajVZYkthZWpyTXdiSW15Ri1xVk5NbWpTd2I1MlN0SjB3T0czeE9HZkJRRHhQWHJtSXhoMERSOEdzSzBkeS0xSElJZWo1LW9STWRfSjlhVkt6MFk0d3g2VjIzaC1qUDNxMjRKYmF3dndsQTZyVjVpVUZkaDZKUXJpTU5DLV9hRF91X181VTd0OENIN1pWQ3VQM25JaTV4N2dtcWFsSzNlZ0htM3BkYl9sb3dYRTRaRUJETHZ0a2lobC13LVBGc3VZb1VKSUZWcUZ2VnM1RW5TU01XMFBJWE9TZlZNWW1KWmVrYmlHX1FqeGtCMjNCaHpZclNqQ3oxcW5TTXg5a3ZicDlRaDFuZFJYSkpJUFUyamVIdUxCNE9nVzNoenluQ2FxQXZQRXVHMlhuS3B4WGZ4QUtOeldpTElOLTBsUTRfUXQ0dHctZmphWVJVVjVLVWpyYlZnazI1MDZIUG1ZVEdWUVdRX203Z1NBU1BaajZEYklua3U3SzhFWnI2b3d1SDI1M1hxazlrSWwyTE1CcHZqT2tOTWFRTXhLcjItMllkUEV5LS1mTUFQTHBfVU15MnhqbEtMS2s3blhJdV9IMXZSbmdfVlVyVkhuZUdqRmFuODdRRU9SU1Y3clRBcHJPMmZUMmpfOWhoNkptdFlrUXFnRzg2WXlKa3NValdzM3hwZGk2TlBGRUxqQWd5T0ZDLTRrTWdLbGdJM2lUSElCV1Ezamp0U2UwR2N0MUs3QnBCSlJySUFGLTFVQjZKVDZjSjI4Z01zd0k5OGt1ZDVob1hZbVQ1bEEtWmFELUk4ZE0wcUZ0SEg4a1lXX256em85bTY5LWlZZlZfd3N5Mm1CdnVlb05RZGRRS0JrbWlVTW54VjkwdEF5RWc4WXJaWUwxck9jWHFjb2VJNl84UmV0bXZZeFZNMWJwdXFfajlmTXYtelRBOUpDZXlKMXFBTjVWQWFpY0lnZzFKWElDTEI5amVTT09zUXcxYXZxdk03TjFBcndDcjZvTUhycTVaQ0VLODV5VmI1RzhjY3Rld29pSFlzdVlPT0hnSDNMbmNoV3pmSjNNaUVjTTZfVjdSZHZCUWQwM2tQekdFVjh1STJ1aDl0bUxrNkY3VUt6WU02RXhJNW1LUEM5LVFOMk14ZTB6NDZrZTJteEdHR3cteXFMNjFHR0FpS0FjcENsSzVHeHlRbVBuREo4RHFKTk9WWDNoX283YTExVW8zMmtkdEcyaHVYcERVc2F5NkU4VGJ5R1dFZ3dmWDdaVnZrN1VNM2VqdDNqWXBxYmRZSlBNTUJCMGdNOU9mSVFjS0lUcm9IMHJEbFE2Wmt4UGM0ZHBlQ21NMzg3NXBXTlFrZzFKSnVRZzN4cE9WZ0VGallabEVENTBFaVZKNzg3cUM1YUdtakxRWl9yLVA3X2hJN09lcExWZ1BHSEFTUkxsd0dOLUZwTDc4UW9VempfWHUwNlBkNkF1VExtYmpoVmlERC11ZG5xdTVVR3dKNGxZamJqSkNBN3VQT2VfdWpzUWhZd1VHQV9YQnlsbkVySWxMN09YSE9UeGFEbEpHSDQtNHdNcm9hbmhPWTVoZ2NWZHZVQlpVZ1JEVWg0MGwzejhGVWJhUmxpaEUxeXQwdU5vR3F3TWRyWnZoTkl3YVFjUFlQeVV3UTdBdWh1dl9qSXRVcWlGQm9ncnlSb3Njd3oycXR0am12OEFRWUh5QWx5OXVqdmJ1cnk1TGNJaF9FUWZUekJuSnlfcDVZdzBDWG5CSzg3ZkVIOHJhWkh4V0VUcHFseHlmWWRWZjlQakRYTGJMYWJWQ2J6TXNSMnNYZkFvNm00VmhnaEYtQ0dOV3lta25EMDBUbWU0TGE0Vy1BLU9lR2o3Mi1uOFZjNmI5Zzc4d25tYkF0dGRyUThQWVdLUXZjdXlEbHZ5RUdHSF81VW10bFN5ajJKbHRLZXN3N1dzai1hazhDWDFidGRzU2xoQldjYUJ0dGozUmp3bEN4aEQyTXlWdHR6dDIwN3JPQjdxdEFJeVg1enJZMUxaSHB3RW1NeDhkWnM3NDdlY2ZhZVM0ZFFCWmN6U3lCNFZFWVRRWGdIeWdFX3EtYndfZXhqNWs5c0RHeHNTRnF5elFCVm9VOUtlbmFtZTRESnNMWFdaaW51UEhZUVNtWDJUZFBabXNkSHhCa3BBcHJiLUg0SGdFSnBPYWxCa0d3aFhza0hwYjZUTkhQeHktb09tLWhBaXptTVZPZzlnTDJOSHpSdUFtb0kzVTRFd2FfR0Vub3d0ZUFRU0xlY016WjZxZ3l1ZGswcG51UnlONlAxbTNCU1ExODRXUzNqeDFDNDYwTEFKM2FySS00QWV1aW5fMFZYM3FHdmEzNDR2ZXQ4N0RSN0liTUUzS01rWWtUdXotaHpqbnhHVVQ1cXZhWnYwNzdQVHExbTVDUVBUZGVlNlNnMzRmLXlseGg3MGoxSS1OWnZ3aFAyTFZ2OTJkdVZ4SlJSN3hzbEp6UzU3NXE3aWZ1UEcwUnp0NE55M1lESno0TWVDTk5wWklwTUJKeGR2bkc3azhsbXlvQlVRYmR6OHhCdW5YT3FsRDFHU205M05LYy13bzdxZnpJanYwWjF6WVpwLW5LN0o2NEUtSnp4MkQxZ2xJRG5vZGw5R215UzlwbzMzOUlZYU9QZlJnSTNad1FTVkdwcEJQN0dNRUdsRkVxbG83bTUtNFNZWEc2SmRYYU5yM2lRVmdoUEtkQWVpLWJDTEFQbGJGSkNFQVU1NXJfSEVmS2xUNS0zNlN5ZHRlcWFTZEdvMVhGRXpadWFILV96OEJsd1hXME4wdFJpdHo3SXh1OU5BTkM4R3V0Z2t2WHVFUl9Obnc1VUlsYXJlcE02VERfWl9lOHJGRDdoYXhWMVd0b1pkOUJTd05iUm1JeXU2Y2ZaelgyeFNPVlJVSndWSEctWTNaRGRpcWtzb19XR0J2TFJKQlRWT3NvZVZucWUxWktqb0NRSzFEYUZPb3B4UDdTTWhwOVlpY29XRk9VUU5ONS1EQjMtNjhDbURzdjE1LXMzRFRxUUM1OHhpd2JZLTRuWWt0eVNRV2F5elRvYlZOWG1idmI5SzktdWowYVRWRkx6SDFHMFl2TG1oU1NTd2tfM08tY3RSUExFblhQU1FWNkdVT2p5d0xIT1hTRDZfY1lTN1JrVXR4Mmc4bV8xbmhJUW0wOFd1aTVNSkdQR0JEb0RmN0szd3oyMnRnUVFXTDEwY2J0SlVvQkYyNjJVaUg3TE5pMjJWQ2tsMElYMVVRNy13cEkwcDhkV1NvV282U25PYTdkUTVpQkliZjlQX3JRd1dhYVl1NV9aQlpwQ000VXFWY2dhR1NZVnNxRHpXRVY4LXRjazBYOE51STJyZ3JSOTRDSnhjSms5MWwtb3owbldhTUFocHJubjJfd3hSWEdOYXkzNmJqU3EzWXhNMXN0dDFNN1JjenU3UTJQei1mZGpHWUFOSHZxQUtYUTZpbUphQXNwbE50Skh1SUp1andyTlRQd0ZzNGE5bDRkWHdNMDRRSWZoYzR5em1icDlYRjdVWVU0MjNXTWhRU2RMNUpaTld5QXVxOEFuRzdtd2dTUDNUMjROVGh1U0Z6Zjd1Tk5ySmdfUFk5VUNWcmlPS3FEN1lVS0FSZ1FFQ0EtTmthbG5YU0V1VEN2azJpZkVYOEh6cTJJbDV3TEZyOVFKVjBmT19EUkNyUzVzRHVaVmJ3RDI0Y2VqT3libWd1VWFuTDhiMklqS3h6TFVPT2tlMkVPNVRRTXRQUWZjeTYydkV5c2NwQzJFYXd6YUN2V3ViMVNXS2RZVnUtcVBzdFV4eWlPUHNpcFR3V1kzTXVNRkpwclNscWFVUDFJa3N6M0Q0VGpqSElzb0c2TUFsbFRZcUItSWpuSEhmYzI2blM3cmExeVVjbHRIRWtEd3Q4R1I2bmctNk9XNWJtT0J2VFFDamRUUDhSbXZ3b2tIRXZGQTlXbGs2OVZIVFpFSlNaNGdRZXFzcW83SEJJQ0h3dlViOW16YkhnaU50bGQ1WUFHT3V1U3BOTE1UcTM5LTMzVVZoTjBLa0hLUXZCenI1OXFmaFBIU3lVRnVMZzI4b2pYMGRvb3gySlFEZ1BobHZVYkR3cGluREJqVHBiMDdsY09EYVI3ZWN2M0tDOUhJQVdreDlhV0lza21Yb0FWYVNWTDBsZ05NQzNHVkxSMURfcGVoQTZySWs2Rl9qbDY0N0w4SERqRFJEbjZRRnRIa21BYW10TU9WSzdPMS1UXy1UTldwaDZ3YVFOdTBrV1ktZXAyRERndDk2enRYUkZTVWdNOXJMMnk3OENOMkVFWW1mQUktM1VjamdUblUxRnJXaEZ3dC1JNlVmNFZwNlY4XzZxTjJzVDJyeWFLWHo0Y0JJY0NoNm8tS0RpOW95SDV3MFF5eDhWb0xTNlN0YVEyYU5FejlKamctZ0N4aVp0Q1JYeWlnaWx3NTQ5VWFWMldreHR2bDZkeWRmZmFTM2ptYUxqaDRmOXhHa1JQRUdqZmZvMVY0dUN5QkI5QkNoaVVCZG1qVGxlVlJROG5Ccm5WQW5qYXVIYTRsV3VkNkhjSzU5VjJNTlpNTVdtS0tvb0E4cWtuMzVUY25EdXluSjJITUNnZElCSnVQVU9TeTI1QnhuZnA4RU5NSlZrV19UeU9uTXk5b3JtNTVobHhmSjRENThad2FRREs0QWlFZk1IVHdJc09uZ2pnU0o0S1JDdjFRa1NVeDdYRVhNU0lNUWtUYTBqS19aNS1PQ1ZNc3NBbzEzVzg1VlFKbVpDQ0tZRzZWbS1ybnVYSUdZZlZWLTg1OG93OEJZUGhDYVRhVzRkVnBLWERDRDVfc1FsamdJSnd0Vmc0T0RKY1dxelJpWWpUaXMyVzVjdlBvT1haNUIyZnFaVTlCWGVPQWM4S3Y2a2ZDVWp0OFV5UDFTaGswN2xtZ1A5b25PMWJ0eVc5VnhQSE5uUHcxNjZDeXJmVVcxaEFHQjB1YTFNYmtEVTdfdk40SlowY3VWNV9iLW9sUm80eV9yeGQ3UGRWREJsZHBWTUxsV3haLVhiV1VqdFpTVndaT01rOEtvV2F0bld6NVI0S1ZLNkFnbWJFTHhpa1MxSjYxZ1lJNlhTcm8wRnF1N0dNM2JXdlZQYm1xR3Q4SV9UcjNHamlKeDZ3OUhvZGlLbEZQc2JMakE3OWJuSG5DcHdwSEZBWGI5d3E3dmMtSF8wTU1WVGw3eE56bzhIZ1FfR2tPWEl1OV9uMVJiZS1SRDRXUmlId1RuYm5ZbXpHNjN4b3dHTlBJN2c4R203ZkxfTnpDWGhveDdUSUhXMjh0WFFCeVk4ZmR3X3YtMUtvU2lhSjNwNHBJUnlRQm1rQnpmOTlGRlpPS2g1bUxLMnBrSE9INWFlblFFNng2cHFDakNkcW53Uzk3eGJ0Skp1TkF4M1V6UDdHM2l5WlN5ZWw4SEd0YU1UZVdITzFuaE9lZFNlcTVhaGk4dEFFeVp2MFFScUxsQTRaQUxrVGh5ZUNZckpBd1cyaUJaOW5DRUVnemxqT01wdTJndHpDRnk5WktZWUloaWZKdVQ3dlBHdVhGTUtLVlg0WFU5ZmVoOFhIMUVWbnZ4cENuRjl5eEZneThuVW5CdUdsRkVWOFVCVU5oOE5BcElZY3BlTDd5Q1F5bDZQN3Fock43SEhINEloNmhLS2lVaUItWjRNMHJUSk9mZkd6MFhGWmlaSDdYT21KazBNc3pCbEVhaEFFbjJTU1JaaVFXTThsRFRRcEdrX0p3QkpRX1FVTmtMZnhCcHpsSzBUMGFxS1d3M2doWFktT3FqelM4cTFXOHVBYzNabFRUMFZHRWdWdU8yNl9vRXpXTnZYYnpKMUVfVEFxUkVWS0xfOWFlem1zM3JqYy1GdldSR2pMV09OTXhUdGw5ZzE5RFdhbFA2alJlUlJFeEg3djBLTEdvSHV1RW5IVHNQX2hsMnZuM05WWWl3dFFualFCOXpiMjZKRmxwZzZFaEF1STN4bFZMM3hwRE9qZUlPNXM3MllKY1MzcjAzYkIzbTVHMUljRVU4SkR2WTF5MjJQaG5iOGVmNno1cmk4RDY5clVLWThFOXFraExXYVhOMjRTLTZBYjNRZUtKcmxIR09yaEc2ZkpCdElqTF93Rk9kWjJqOFo0bVBZdmJaNUNEUTdnM01yYVh1aVJ6cWdvdXk3TkliempzOEZETkQ4ZHNMR1Z0OUNLanRVMnR5a0JrSUpQZlhrZ3U0LUpSVFRETjNINGdwek9md1B5V18xOXRMdlBKNEpRbHlzbnhKaEptSW5TUEtUUTljclJHVFFlS0F3THZZemdCMG5QWkIxd2dQVWJHaXRsaHlTV1pqbWplVU5oSnNnb0Z3ZHRFdTloTjRDejROWUVLZ1ozWnBKTC1sZmVJbmp0VEIwN1A4dWtpV3FHeGNBaVI5TDRPdl94VmxNYm9hblduNENNLThVSnZjRGhVRGtpTGt0eHRJOE03Zk01bngtMkFSX3MwcnlDV0F1YmVmQUxRdHVEUnQ1MVZrZnlJZkJ2UWFyb3dINnpIX1ZfZ1lJWFdOdDlvTElMT3FrNHlqcmR5Z0ZXWTl2QXZQN1Y4Q1lraUZuSVVrWGNaeUNsT2dmcTM5bXRKeHBMM2Nzb3VaWFRIcDExZ0xibWRUNUVTbjIwRThiblpEcTVvSEVEWGxPbGZHSE9ldmx6RnRCX1V4R1h0S1lYOUoxQWlLekJyZGI3QmJvemRFcDAteHVpeTZYRFp1Yjc5LW1LcnVQTDJaWWIxaTVoVmpRQUN2RnAyUHBaT2k3eFVmSlJoT0Z3Zi00OUphVE9XTjMtYVhVb0N1a0NpMWdqODhkQ29QWWNVdWs5WmxNelpkV1hJcDlnQ1gyN196U0U1WURCYWlWQ1dPc3c0Q0pGYmMta1FUOUNaMzRkU1hiczZ4S1N0OS1haHI5b3NpY2JHY2laMUlDV182WWRLM0l6ckh1UUV6TnNDQ0tEdW9iVVFRZFpBUlFMeWFlR2w0NWczN21Gb0tQN2J4b01aY1AzRjB3MzdBR0xMVzFjVi02dU5uaWhZQ1p0dThZckZQdWF4aF9VVUxPTk1SZXN5TFVsRHVydmxuQVV5ajFVMU1TbEMxTGtPbV9VV29NdVBzX1VqU2M3SDc3RTgwcmd2QmZCQTdaMkRQMmpWOFFRUmI2Q1RieEtpRkk5TFhmRlI3MjlFcURZVXVRRUk1ZDN0Y3liN3U4TzJlQnZfVGo5TzRPREx5Wjk3Z3BMdVZ3dUpVb3FqQVJnRU91U2lHdWwxaFJxYTl5NlZ0ZmpMNE5qajJJYjFsY2JyQS5OcXpkcGU4Yjdxc2MzQmpYRlhaWVpR
          responses:
            "200":
              body:
                attributes:
                  created: 1493938217
                  enabled: false
                  exp: 1893484800
                  nbf: 1262332800
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938217
                key:
                  e: AQAB
                  key_ops:
                    - encrypt
                    - decrypt
                    - sign
                    - verify
                    - wrapKey
                    - unwrapKey
                  kid: https://kv-sdk-test.vault-int.azure-int.net/keys/KeyBackupRestoreTest/d7a019f5da8843aea30722a7edcc37f7
                  kty: RSA
                  n: v6XXEveP0G4tVvtszozRrSSo6zYDOScH8YBVBBY1CR2MCXBk-iMnKgzUyePi9_ofP3AmOxXx-2AsLC8rxi6n3jQNbGtIvQ4oMdUEhWVcVkmwdl0XyOouofEmIHeSxRg6wXFG4tYAKLmKsO9HqmU5n7ebdDlYngcobc1xHsP0u8e0ltntlgWBlSthmY8AMKW9Sb_teEYhilbkvt_ALr00G_4XHmfq7hSOZePWbGSWQW6yC7__9MrlDfzaSlHyBIyLppPEB7u6Zewrl_eNJWoUVrouIGA32qNETIOr_wxXRVGKoerTt-wFC-CXPn30W_6CmKSxoFBNvnzijg5hAU9V0w
  "/keys/{key-name}":
    delete:
      description: The delete key operation cannot be used to remove individual versions of a key. This operation removes the cryptographic material associated with the key, which means the key is not usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the keys/delete permission.
      operationId: DeleteKey
      parameters:
        - description: The name of the key to delete.
          in: path
          name: key-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The public part of the deleted key and deletion information on when the key will be purged.
          schema:
            $ref: "#/definitions/DeletedKeyBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Deletes a key of any type from storage in Azure Key Vault.
      tags:
        - Keys
      x-ms-examples:
        Delete key:
          parameters:
            api-version: 7.0-preview
            key-name: CreateSoftKeyTest
          responses:
            "200":
              body:
                attributes:
                  created: 1493942451
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493942451
                deletedDate: 1493942452
                key:
                  e: AQAB
                  key_ops:
                    - encrypt
                    - decrypt
                    - sign
                    - verify
                    - wrapKey
                    - unwrapKey
                  kid: https://kv-sdk-test.vault-int.azure-int.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71
                  kty: RSA
                  n: 2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w
                recoveryId: https://kv-sdk-test.vault-int.azure-int.net/deletedkeys/CreateSoftKeyTest
                scheduledPurgeDate: 1501718452
                tags:
                  purpose: unit test
                  "test name ": CreateGetDeleteKeyTest
    put:
      description: The import key operation may be used to import any key type into an Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. This operation requires the keys/import permission.
      operationId: ImportKey
      parameters:
        - description: Name for the imported key.
          in: path
          name: key-name
          pattern: ^[0-9a-zA-Z-]+$
          required: true
          type: string
        - description: The parameters to import a key.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeyImportParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Imported key bundle to the vault.
          schema:
            $ref: "#/definitions/KeyBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Imports an externally created key, stores it, and returns key parameters and attributes to the client.
      tags:
        - Keys
      x-ms-examples:
        Import key:
          parameters:
            api-version: 7.0-preview
            key-name: ImportSoftKeyTest
            parameters:
              key:
                d: GeT1_D5LAZa7qlC7WZ0DKJnOth8kcPrN0urTEFtWCbmHQWkAad_px_VUpGp0BWDDzENbXbQcu4QCCdf4crve5eXt8dVI86OSah-RpEdBq8OFsETIhg2Tmq8MbYTJexoynRcIC62xAaCmkFMmu931gQSvWnYWTEuOPgmD2oE_F-bP9TFlGRc69a6MSbtcSRyFTsd5KsUr40QS4zf2W4kZCOWejyLuxk88SXgUqcJx86Ulc1Ol1KkTBLadvReAZCyCMwKBlNRGw46BU_iK0vK7rTD9fmEd639Gjti6eLpnyQYpnVe8uGgwVU1fHBkAKyapWoEG6VMhMntcrvgukKLIsQ
                dp: ZGnmWx-Nca71z9a9vvT4g02iv3S-3kSgmhl8JST09YQwK8tfiK7nXnNMtXJi2K4dLKKnLicGtCzB6W3mXdLcP2SUOWDOeStoBt8HEBT4MrI1psCKqnBum78WkHju90rBFj99amkP6UeQy5EASAzgmKQu2nUaUnRV0lYP8LHMCkE
                dq: dtpke0foFs04hPS6XYLA5lc7-1MAHfZKN4CkMAofwDqPmRQzCxpDJUk0gMWGJEdU_Lqfbg22Py44cci0dczH36NW3UU5BL86T2_SPPDOuyX7kDscrIJCdowxQCGJHGRBEozM_uTL46wu6UnUIv7m7cuGgodJyZBcdwpo6ziFink
                e: AQAB
                kty: RSA
                n: nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw
                p: v1jeCPnuJQM2PW2690Q9KJk0Ulok8VFGjkcHUHVi3orKdy7y_TCIWM6ZGvgFzI6abinzYbTEPKV4wFdMAwvOWmawXj5YrsoeB44_HXJ0ak_5_iP6XXR8MLGXbd0ZqsxvAZyzMj9vyle7EN2cBod6aenI2QZoRDucPvjPwZsZotk
                q: 0Yv-Dj6qnvx_LL70lUnKA6MgHE_bUC4drl5ZNDDsUdUUYfxIK4G1rGU45kHGtp-Qg-Uyf9s52ywLylhcVE3jfbjOgEozlSwKyhqfXkLpMLWHqOKj9fcfYd4PWKPOgpzWsqjA6fJbBUMYo0CU2G9cWCtVodO7sBJVSIZunWrAlBc
                qi: Y9KD5GaHkAYmAqpOfAQUMr71QuAAaBb0APzMuUvoEYw39PD3_vJeh9HZ15QmJ8zCX10-nlzUB-bWwvK-rGcJXbK4pArilr5MiaYv7e8h5eW2zs2_itDJ6Oebi-wVbMhg7DvUTBbkCvPhhIedE4UlDQmMYP7RhzVVs7SfmkGs_DQ
              tags:
                purpose: unit test
          responses:
            "200":
              body:
                attributes:
                  created: 1493942691
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493942691
                key:
                  e: AQAB
                  key_ops:
                    - encrypt
                    - decrypt
                    - sign
                    - verify
                    - wrapKey
                    - unwrapKey
                  kid: https://kv-sdk-test.vault-int.azure-int.net/keys/ImportSoftKeyTest/2eb4a15d74184c6f84159c3ca90f0f4b
                  kty: RSA
                  n: nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw
                tags:
                  purpose: unit test
  "/keys/{key-name}/backup":
    post:
      description: The Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this operation does NOT return key material in a form that can be used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this operation is to allow a client to GENERATE a key in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into another Azure Key Vault instance. The BACKUP operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed within geographical boundaries only; meaning that a BACKUP from one geographical area cannot be restored to another geographical area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This operation requires the key/backup permission.
      operationId: BackupKey
      parameters:
        - description: The name of the key.
          in: path
          name: key-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The backup blob containing the backed up key.
          schema:
            $ref: "#/definitions/BackupKeyResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Requests that a backup of the specified key be downloaded to the client.
      tags:
        - Keys
      x-ms-examples:
        BackupKey:
          parameters:
            api-version: 7.0-preview
            key-name: testkey
          responses:
            "200":
              body:
                value: JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLllNSVBfTXJRcTQ2X2ZwRExfSDNSSkpzSUotM05oeUJkMXlrOWJCS05JOGdnTjMxYWg2cWVoY1BISExnSnJ4OGprQkxMWFBxcDVmMXpsaWxfclVrLUtrT3J5YzhaSTljc3NNNV9TeTN4cEk0Wnk2V0ljNWNqUFd1R0NDbUJwQXlydEdPVnpoalF4bzNyVFcxRFNxZ1pVdnI4VEpseTJQS3J2aUlfUmduRWQ2LVJWS3V1Vk40ZWZWYUs5WFZUbW4xdmZ5Z3pwVHJfVFdDOVBGbXpoT0p6Z1U5OF85X25WcldWSE5TMXVMWEpYbldoQU9mUll0VlJORVFJRU5lTGMtZzNjTXJLOTFzNk5XeE5xZkZfR0w2UHg2cVhHMldXQ09nMzU3ZkJnT1ZTdERLaVZINk4xTWVkUTVwaWFkeHhUVDZMSFpva0I0eDFKbEFJZkxfYlU2OVBWdy5GOVFiM3RWbE1LcHJDS0stWUVpODJ3LlQwTVFpYXV3MGw5TWJfRFdEY1hvbzFqTjZJWXU1OVk3U0VMMm1ndFUweDNYTDl5VHNqZUY0Y2I0NExBaF9vUDdnbUgzbjdKLVZEX3hKN2hXY01XNnlTNDlFX005aXlndDlTQ2w5ZjRTdWtpM0NZdkwwUUVSVFlLSW1qMi1BRkRMWkl3Tm1HYmE4RzhheFBxR2NOS3NSZ0daZ1lUVG9pWUxxQnJ5cmJ2TEp1ZENxZ2plUWRpNU1tdHlQRnBhZ0hwSHZLa3VjRkdwLVhtSjFLYk8yQTJRT1dRVFFaOUNlcmVCcXJDbjI0SXdhUXJVQzRyTkQydzBVQTFUY3dFZXVWQkdFTGRKWm9zWHM2Q0dEZmpaSHFjdnB6NzRKd3g1T0VpcV9EUHM5VEtya01ob3djRXBsWjhaSk1jTlFSZnU5Sjg5ZDdZWGdHZEI1aWtKenA1WlY4OXcxMmIwekNITllKamdkZEhTNjJmalZlYUUxT09QXzd5Zlg1dEpiNmQ1QVhpZ3ItSkozbGI3Y2JhOXE2NHBsYmlhck1LemFiNUhtMkxNRnVLQnI1TmFrbzVQMDBoUUJnR2M2aXBJSzhNT2NLc2RhQjJGcjUwX1ViNnJEUzA4NnUzNy1DSHRGRnF5LTFBaGlDaXhRakNNTF9rWGtJMHZEYmJqRi1feGtNZGFCVi1BdTc5TzZ6V2pzRGVlV0t0VXZWUW5CMGM0Qnk3SVdDTGVWdzIyaTA5WWk3MnpCcWZPRjRyTmd4VTNrSjdfLTVib1dteVlXNndNOGVzTjR4R1kzUGhVNHlLRV91RGc2dk5Od3Q1c2NXWW9TMHh4NlBDb3M4S0R0Y3ItVXlwUTkydGhVX0ZYZ3E5U3RUWXEyWWdWV0dQbnM1Q0RMT0RBSi1sMTFJNklpdGxQN0hoeUxvMzlqNzdpV2ZUS0RnTDVrcDdEOUUzX3FkUFprdGpWUER1M1pRY1Q3MzlOMnp6XzFrWHJEb20tNlBQcXdWUzZtUXpBVW1xaXhTaXZjcWJxalpJRnRPbGxLRkE2cWVyaDJlU0FZelRNU0N1d0p4REJSQjUtbjBNUWxJSGpDMTdkTFpoVnFEMVNiNlBycV95OXN2Mml2V3E5TGE5R2ZHbEhBNlZZM1QzUWRTQ3VrWVJqWFhxLUItTm5WZGhGTVZhbFZ2b3NySmZuSEZhWGZMaTBnczVVOUt1NHlqRDdRb1cxeVIxSVk5T3JaNHFSUXdrcG5tOU8ycnJIMXBtX1hTekxRVDRrWmNLYnVneHNvWXRsRE9TaW9iS0RYdTFNdENxdkRudnh6OEZ3MUdwTXJCdUxrVlFEVmVlUDJqNFp3TGxPbkxUTmk4YlNjTm1fN3ZUc1RQbTRJRDltanBXSThCYXA4M1RLaTNkelAxazFpM0dncnIxSEpVQU96Q0NjUTRnaWxES1o4UkVsUWUyMUJBcUo3eUVublZsdWN5RzZBV2E3dmlZWXV4eEJIa0RsN1hHZHZYMGpJMjZyd2NTX0ZIMnlOaWFmZDN3SkkxMzQyWEF2VDdDUWVoOGRaZWRKU3FYUUdqQjVCSGF5Vl9vZnplVXBfOEhqRkRoS1VkcmNJNGkwa0ZwcEhkUFhNQXUxMjh3RHUyTG5VenlNNEpad1NJdW1fbmpiUTNJU1R5bUVMTngzd3QyV1NFT2Q3QUt5S3lCNEJzU3NkUE1HZXdLSTFnc2otSENFb05Cd3hQQkF2VnFDSUkzbGY5NG0tRU04LVh6TnRCVXFpT3Y5ZERCa2d2ekptSTlrMk9fVmpjbUZrbkdKb2kxVnpZcGlRVTRYbElaempDd3NDRHFrYWh1YmNxWFdyMDhVdFBtV0hGRXk0Q0tvclZMN1VIaVhsVnJPR1VHdFN2dWN3S2RjS1RPeldsUngtRGNGMExDek1kR1p3Y2czZWk1bWl0bFliRjJVbGJOMmJaU0NQWDljOWxFU2RBUUhxUEVsNXJhVDY3aDlWeGxPc3doYW54SkZvNGVuRENaYWZObURGRzJMYTY5RXFCVjZLTHowXzR1S1pDNW14YXZEazZXS3lmb0ROeXFzdVZMdG83WXNqUk4xNTJYMDVYSEhuRVN6NG5lM2MwandXYXo2MFpJR0Q1TUhNUUhQeTdPNFdnYWthVnNKZU9mYUNza3diYjQ5cV9tQnNYME5mWlBjcWFiRFhoWjdCWUxROVhFUkdibndkM0pEQmgtX1RUN2s2WERpY0tUblZQdWVGN3dzVl80aE9HUkpkVEk2UFRmV2o1dWY4dTdxRU9BdUt5NmV1Vk1LeTk3TVdLT1Q4LVpRbDBoSWowcmJWR1pILVI0cnFIMXZfVmdRUGRpLXFXb3FXcWt5MGFaSzNDTkEzUXhXZnRMR3AwcUVXcHU2T1EtQ2hONy12eE4wdFVlZGREWlF5V1d0d3g2VFcxS2hDQldaR2pabTlBQzY4YlUyQnVOTUU1NW9VV0dsbmNOOUVuRnpnTm1RTVR1SzV2VGd3WkJITWpmUXpsSUdfeWZ3QXVtSHljSzVPT092eDk1SGM3d0RBRDJXMVdSb2h5MDV5TFJkbEJ2XzREUXJyTWthZEVwZjB1dHZod1V3ZXZSNU1jVkV5Yk93VUw2Z2Y5a3JDNEw0YlR1bUJRbG9Ccng1aDNuTHhZdzkwcmlqbG5LajVZYkthZWpyTXdiSW15Ri1xVk5NbWpTd2I1MlN0SjB3T0czeE9HZkJRRHhQWHJtSXhoMERSOEdzSzBkeS0xSElJZWo1LW9STWRfSjlhVkt6MFk0d3g2VjIzaC1qUDNxMjRKYmF3dndsQTZyVjVpVUZkaDZKUXJpTU5DLV9hRF91X181VTd0OENIN1pWQ3VQM25JaTV4N2dtcWFsSzNlZ0htM3BkYl9sb3dYRTRaRUJETHZ0a2lobC13LVBGc3VZb1VKSUZWcUZ2VnM1RW5TU01XMFBJWE9TZlZNWW1KWmVrYmlHX1FqeGtCMjNCaHpZclNqQ3oxcW5TTXg5a3ZicDlRaDFuZFJYSkpJUFUyamVIdUxCNE9nVzNoenluQ2FxQXZQRXVHMlhuS3B4WGZ4QUtOeldpTElOLTBsUTRfUXQ0dHctZmphWVJVVjVLVWpyYlZnazI1MDZIUG1ZVEdWUVdRX203Z1NBU1BaajZEYklua3U3SzhFWnI2b3d1SDI1M1hxazlrSWwyTE1CcHZqT2tOTWFRTXhLcjItMllkUEV5LS1mTUFQTHBfVU15MnhqbEtMS2s3blhJdV9IMXZSbmdfVlVyVkhuZUdqRmFuODdRRU9SU1Y3clRBcHJPMmZUMmpfOWhoNkptdFlrUXFnRzg2WXlKa3NValdzM3hwZGk2TlBGRUxqQWd5T0ZDLTRrTWdLbGdJM2lUSElCV1Ezamp0U2UwR2N0MUs3QnBCSlJySUFGLTFVQjZKVDZjSjI4Z01zd0k5OGt1ZDVob1hZbVQ1bEEtWmFELUk4ZE0wcUZ0SEg4a1lXX256em85bTY5LWlZZlZfd3N5Mm1CdnVlb05RZGRRS0JrbWlVTW54VjkwdEF5RWc4WXJaWUwxck9jWHFjb2VJNl84UmV0bXZZeFZNMWJwdXFfajlmTXYtelRBOUpDZXlKMXFBTjVWQWFpY0lnZzFKWElDTEI5amVTT09zUXcxYXZxdk03TjFBcndDcjZvTUhycTVaQ0VLODV5VmI1RzhjY3Rld29pSFlzdVlPT0hnSDNMbmNoV3pmSjNNaUVjTTZfVjdSZHZCUWQwM2tQekdFVjh1STJ1aDl0bUxrNkY3VUt6WU02RXhJNW1LUEM5LVFOMk14ZTB6NDZrZTJteEdHR3cteXFMNjFHR0FpS0FjcENsSzVHeHlRbVBuREo4RHFKTk9WWDNoX283YTExVW8zMmtkdEcyaHVYcERVc2F5NkU4VGJ5R1dFZ3dmWDdaVnZrN1VNM2VqdDNqWXBxYmRZSlBNTUJCMGdNOU9mSVFjS0lUcm9IMHJEbFE2Wmt4UGM0ZHBlQ21NMzg3NXBXTlFrZzFKSnVRZzN4cE9WZ0VGallabEVENTBFaVZKNzg3cUM1YUdtakxRWl9yLVA3X2hJN09lcExWZ1BHSEFTUkxsd0dOLUZwTDc4UW9VempfWHUwNlBkNkF1VExtYmpoVmlERC11ZG5xdTVVR3dKNGxZamJqSkNBN3VQT2VfdWpzUWhZd1VHQV9YQnlsbkVySWxMN09YSE9UeGFEbEpHSDQtNHdNcm9hbmhPWTVoZ2NWZHZVQlpVZ1JEVWg0MGwzejhGVWJhUmxpaEUxeXQwdU5vR3F3TWRyWnZoTkl3YVFjUFlQeVV3UTdBdWh1dl9qSXRVcWlGQm9ncnlSb3Njd3oycXR0am12OEFRWUh5QWx5OXVqdmJ1cnk1TGNJaF9FUWZUekJuSnlfcDVZdzBDWG5CSzg3ZkVIOHJhWkh4V0VUcHFseHlmWWRWZjlQakRYTGJMYWJWQ2J6TXNSMnNYZkFvNm00VmhnaEYtQ0dOV3lta25EMDBUbWU0TGE0Vy1BLU9lR2o3Mi1uOFZjNmI5Zzc4d25tYkF0dGRyUThQWVdLUXZjdXlEbHZ5RUdHSF81VW10bFN5ajJKbHRLZXN3N1dzai1hazhDWDFidGRzU2xoQldjYUJ0dGozUmp3bEN4aEQyTXlWdHR6dDIwN3JPQjdxdEFJeVg1enJZMUxaSHB3RW1NeDhkWnM3NDdlY2ZhZVM0ZFFCWmN6U3lCNFZFWVRRWGdIeWdFX3EtYndfZXhqNWs5c0RHeHNTRnF5elFCVm9VOUtlbmFtZTRESnNMWFdaaW51UEhZUVNtWDJUZFBabXNkSHhCa3BBcHJiLUg0SGdFSnBPYWxCa0d3aFhza0hwYjZUTkhQeHktb09tLWhBaXptTVZPZzlnTDJOSHpSdUFtb0kzVTRFd2FfR0Vub3d0ZUFRU0xlY016WjZxZ3l1ZGswcG51UnlONlAxbTNCU1ExODRXUzNqeDFDNDYwTEFKM2FySS00QWV1aW5fMFZYM3FHdmEzNDR2ZXQ4N0RSN0liTUUzS01rWWtUdXotaHpqbnhHVVQ1cXZhWnYwNzdQVHExbTVDUVBUZGVlNlNnMzRmLXlseGg3MGoxSS1OWnZ3aFAyTFZ2OTJkdVZ4SlJSN3hzbEp6UzU3NXE3aWZ1UEcwUnp0NE55M1lESno0TWVDTk5wWklwTUJKeGR2bkc3azhsbXlvQlVRYmR6OHhCdW5YT3FsRDFHU205M05LYy13bzdxZnpJanYwWjF6WVpwLW5LN0o2NEUtSnp4MkQxZ2xJRG5vZGw5R215UzlwbzMzOUlZYU9QZlJnSTNad1FTVkdwcEJQN0dNRUdsRkVxbG83bTUtNFNZWEc2SmRYYU5yM2lRVmdoUEtkQWVpLWJDTEFQbGJGSkNFQVU1NXJfSEVmS2xUNS0zNlN5ZHRlcWFTZEdvMVhGRXpadWFILV96OEJsd1hXME4wdFJpdHo3SXh1OU5BTkM4R3V0Z2t2WHVFUl9Obnc1VUlsYXJlcE02VERfWl9lOHJGRDdoYXhWMVd0b1pkOUJTd05iUm1JeXU2Y2ZaelgyeFNPVlJVSndWSEctWTNaRGRpcWtzb19XR0J2TFJKQlRWT3NvZVZucWUxWktqb0NRSzFEYUZPb3B4UDdTTWhwOVlpY29XRk9VUU5ONS1EQjMtNjhDbURzdjE1LXMzRFRxUUM1OHhpd2JZLTRuWWt0eVNRV2F5elRvYlZOWG1idmI5SzktdWowYVRWRkx6SDFHMFl2TG1oU1NTd2tfM08tY3RSUExFblhQU1FWNkdVT2p5d0xIT1hTRDZfY1lTN1JrVXR4Mmc4bV8xbmhJUW0wOFd1aTVNSkdQR0JEb0RmN0szd3oyMnRnUVFXTDEwY2J0SlVvQkYyNjJVaUg3TE5pMjJWQ2tsMElYMVVRNy13cEkwcDhkV1NvV282U25PYTdkUTVpQkliZjlQX3JRd1dhYVl1NV9aQlpwQ000VXFWY2dhR1NZVnNxRHpXRVY4LXRjazBYOE51STJyZ3JSOTRDSnhjSms5MWwtb3owbldhTUFocHJubjJfd3hSWEdOYXkzNmJqU3EzWXhNMXN0dDFNN1JjenU3UTJQei1mZGpHWUFOSHZxQUtYUTZpbUphQXNwbE50Skh1SUp1andyTlRQd0ZzNGE5bDRkWHdNMDRRSWZoYzR5em1icDlYRjdVWVU0MjNXTWhRU2RMNUpaTld5QXVxOEFuRzdtd2dTUDNUMjROVGh1U0Z6Zjd1Tk5ySmdfUFk5VUNWcmlPS3FEN1lVS0FSZ1FFQ0EtTmthbG5YU0V1VEN2azJpZkVYOEh6cTJJbDV3TEZyOVFKVjBmT19EUkNyUzVzRHVaVmJ3RDI0Y2VqT3libWd1VWFuTDhiMklqS3h6TFVPT2tlMkVPNVRRTXRQUWZjeTYydkV5c2NwQzJFYXd6YUN2V3ViMVNXS2RZVnUtcVBzdFV4eWlPUHNpcFR3V1kzTXVNRkpwclNscWFVUDFJa3N6M0Q0VGpqSElzb0c2TUFsbFRZcUItSWpuSEhmYzI2blM3cmExeVVjbHRIRWtEd3Q4R1I2bmctNk9XNWJtT0J2VFFDamRUUDhSbXZ3b2tIRXZGQTlXbGs2OVZIVFpFSlNaNGdRZXFzcW83SEJJQ0h3dlViOW16YkhnaU50bGQ1WUFHT3V1U3BOTE1UcTM5LTMzVVZoTjBLa0hLUXZCenI1OXFmaFBIU3lVRnVMZzI4b2pYMGRvb3gySlFEZ1BobHZVYkR3cGluREJqVHBiMDdsY09EYVI3ZWN2M0tDOUhJQVdreDlhV0lza21Yb0FWYVNWTDBsZ05NQzNHVkxSMURfcGVoQTZySWs2Rl9qbDY0N0w4SERqRFJEbjZRRnRIa21BYW10TU9WSzdPMS1UXy1UTldwaDZ3YVFOdTBrV1ktZXAyRERndDk2enRYUkZTVWdNOXJMMnk3OENOMkVFWW1mQUktM1VjamdUblUxRnJXaEZ3dC1JNlVmNFZwNlY4XzZxTjJzVDJyeWFLWHo0Y0JJY0NoNm8tS0RpOW95SDV3MFF5eDhWb0xTNlN0YVEyYU5FejlKamctZ0N4aVp0Q1JYeWlnaWx3NTQ5VWFWMldreHR2bDZkeWRmZmFTM2ptYUxqaDRmOXhHa1JQRUdqZmZvMVY0dUN5QkI5QkNoaVVCZG1qVGxlVlJROG5Ccm5WQW5qYXVIYTRsV3VkNkhjSzU5VjJNTlpNTVdtS0tvb0E4cWtuMzVUY25EdXluSjJITUNnZElCSnVQVU9TeTI1QnhuZnA4RU5NSlZrV19UeU9uTXk5b3JtNTVobHhmSjRENThad2FRREs0QWlFZk1IVHdJc09uZ2pnU0o0S1JDdjFRa1NVeDdYRVhNU0lNUWtUYTBqS19aNS1PQ1ZNc3NBbzEzVzg1VlFKbVpDQ0tZRzZWbS1ybnVYSUdZZlZWLTg1OG93OEJZUGhDYVRhVzRkVnBLWERDRDVfc1FsamdJSnd0Vmc0T0RKY1dxelJpWWpUaXMyVzVjdlBvT1haNUIyZnFaVTlCWGVPQWM4S3Y2a2ZDVWp0OFV5UDFTaGswN2xtZ1A5b25PMWJ0eVc5VnhQSE5uUHcxNjZDeXJmVVcxaEFHQjB1YTFNYmtEVTdfdk40SlowY3VWNV9iLW9sUm80eV9yeGQ3UGRWREJsZHBWTUxsV3haLVhiV1VqdFpTVndaT01rOEtvV2F0bld6NVI0S1ZLNkFnbWJFTHhpa1MxSjYxZ1lJNlhTcm8wRnF1N0dNM2JXdlZQYm1xR3Q4SV9UcjNHamlKeDZ3OUhvZGlLbEZQc2JMakE3OWJuSG5DcHdwSEZBWGI5d3E3dmMtSF8wTU1WVGw3eE56bzhIZ1FfR2tPWEl1OV9uMVJiZS1SRDRXUmlId1RuYm5ZbXpHNjN4b3dHTlBJN2c4R203ZkxfTnpDWGhveDdUSUhXMjh0WFFCeVk4ZmR3X3YtMUtvU2lhSjNwNHBJUnlRQm1rQnpmOTlGRlpPS2g1bUxLMnBrSE9INWFlblFFNng2cHFDakNkcW53Uzk3eGJ0Skp1TkF4M1V6UDdHM2l5WlN5ZWw4SEd0YU1UZVdITzFuaE9lZFNlcTVhaGk4dEFFeVp2MFFScUxsQTRaQUxrVGh5ZUNZckpBd1cyaUJaOW5DRUVnemxqT01wdTJndHpDRnk5WktZWUloaWZKdVQ3dlBHdVhGTUtLVlg0WFU5ZmVoOFhIMUVWbnZ4cENuRjl5eEZneThuVW5CdUdsRkVWOFVCVU5oOE5BcElZY3BlTDd5Q1F5bDZQN3Fock43SEhINEloNmhLS2lVaUItWjRNMHJUSk9mZkd6MFhGWmlaSDdYT21KazBNc3pCbEVhaEFFbjJTU1JaaVFXTThsRFRRcEdrX0p3QkpRX1FVTmtMZnhCcHpsSzBUMGFxS1d3M2doWFktT3FqelM4cTFXOHVBYzNabFRUMFZHRWdWdU8yNl9vRXpXTnZYYnpKMUVfVEFxUkVWS0xfOWFlem1zM3JqYy1GdldSR2pMV09OTXhUdGw5ZzE5RFdhbFA2alJlUlJFeEg3djBLTEdvSHV1RW5IVHNQX2hsMnZuM05WWWl3dFFualFCOXpiMjZKRmxwZzZFaEF1STN4bFZMM3hwRE9qZUlPNXM3MllKY1MzcjAzYkIzbTVHMUljRVU4SkR2WTF5MjJQaG5iOGVmNno1cmk4RDY5clVLWThFOXFraExXYVhOMjRTLTZBYjNRZUtKcmxIR09yaEc2ZkpCdElqTF93Rk9kWjJqOFo0bVBZdmJaNUNEUTdnM01yYVh1aVJ6cWdvdXk3TkliempzOEZETkQ4ZHNMR1Z0OUNLanRVMnR5a0JrSUpQZlhrZ3U0LUpSVFRETjNINGdwek9md1B5V18xOXRMdlBKNEpRbHlzbnhKaEptSW5TUEtUUTljclJHVFFlS0F3THZZemdCMG5QWkIxd2dQVWJHaXRsaHlTV1pqbWplVU5oSnNnb0Z3ZHRFdTloTjRDejROWUVLZ1ozWnBKTC1sZmVJbmp0VEIwN1A4dWtpV3FHeGNBaVI5TDRPdl94VmxNYm9hblduNENNLThVSnZjRGhVRGtpTGt0eHRJOE03Zk01bngtMkFSX3MwcnlDV0F1YmVmQUxRdHVEUnQ1MVZrZnlJZkJ2UWFyb3dINnpIX1ZfZ1lJWFdOdDlvTElMT3FrNHlqcmR5Z0ZXWTl2QXZQN1Y4Q1lraUZuSVVrWGNaeUNsT2dmcTM5bXRKeHBMM2Nzb3VaWFRIcDExZ0xibWRUNUVTbjIwRThiblpEcTVvSEVEWGxPbGZHSE9ldmx6RnRCX1V4R1h0S1lYOUoxQWlLekJyZGI3QmJvemRFcDAteHVpeTZYRFp1Yjc5LW1LcnVQTDJaWWIxaTVoVmpRQUN2RnAyUHBaT2k3eFVmSlJoT0Z3Zi00OUphVE9XTjMtYVhVb0N1a0NpMWdqODhkQ29QWWNVdWs5WmxNelpkV1hJcDlnQ1gyN196U0U1WURCYWlWQ1dPc3c0Q0pGYmMta1FUOUNaMzRkU1hiczZ4S1N0OS1haHI5b3NpY2JHY2laMUlDV182WWRLM0l6ckh1UUV6TnNDQ0tEdW9iVVFRZFpBUlFMeWFlR2w0NWczN21Gb0tQN2J4b01aY1AzRjB3MzdBR0xMVzFjVi02dU5uaWhZQ1p0dThZckZQdWF4aF9VVUxPTk1SZXN5TFVsRHVydmxuQVV5ajFVMU1TbEMxTGtPbV9VV29NdVBzX1VqU2M3SDc3RTgwcmd2QmZCQTdaMkRQMmpWOFFRUmI2Q1RieEtpRkk5TFhmRlI3MjlFcURZVXVRRUk1ZDN0Y3liN3U4TzJlQnZfVGo5TzRPREx5Wjk3Z3BMdVZ3dUpVb3FqQVJnRU91U2lHdWwxaFJxYTl5NlZ0ZmpMNE5qajJJYjFsY2JyQS5OcXpkcGU4Yjdxc2MzQmpYRlhaWVpR
  "/keys/{key-name}/create":
    post:
      description: The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.
      operationId: CreateKey
      parameters:
        - description: The name for the new key. The system will generate the version name for the new key.
          in: path
          name: key-name
          pattern: ^[0-9a-zA-Z-]+$
          required: true
          type: string
        - description: The parameters to create a key.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeyCreateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A key bundle containing the result of the create key request.
          schema:
            $ref: "#/definitions/KeyBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Creates a new key, stores it, then returns key parameters and attributes to the client.
      tags:
        - Keys
      x-ms-examples:
        Create key:
          parameters:
            api-version: 7.0-preview
            key-name: CreateSoftKeyTest
            parameters:
              attributes: {}
              key_ops:
                - encrypt
                - decrypt
                - sign
                - verify
                - wrapKey
                - unwrapKey
              key_size: 2048
              kty: RSA
              tags:
                purpose: unit test
                "test name ": CreateGetDeleteKeyTest
          responses:
            "200":
              body:
                attributes:
                  created: 1493942451
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493942451
                key:
                  e: AQAB
                  key_ops:
                    - encrypt
                    - decrypt
                    - sign
                    - verify
                    - wrapKey
                    - unwrapKey
                  kid: https://kv-sdk-test.vault-int.azure-int.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71
                  kty: RSA
                  n: 2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w
                tags:
                  purpose: unit test
                  "test name ": CreateGetDeleteKeyTest
  "/keys/{key-name}/versions":
    get:
      description: The full key identifier, attributes, and tags are provided in the response. This operation requires the keys/list permission.
      operationId: GetKeyVersions
      parameters:
        - description: The name of the key.
          in: path
          name: key-name
          required: true
          type: string
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of keys along with a link to the next page of keys.
          schema:
            $ref: "#/definitions/KeyListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Retrieves a list of individual key versions with the same key name.
      tags:
        - Keys
      x-ms-examples:
        GetKeyVersions:
          parameters:
            $skiptoken: eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVmtWU1UwbFBUbE5VUlZOVUx6ZERPVVJETmpjM05VUXdSVFF4TnpjNE1qZERORVk1T0VZME9ESkdRekV5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ
            api-version: 7.0-preview
            key-name: listkeyversionstest
            maxresults: "1"
          responses:
            "200":
              body:
                nextLink: https://kv-sdk-test.vault-int.azure-int.net:443/keys/listkeyversionstest/versions?api-version=7.0-preview&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVmtWU1UwbFBUbE5VUlZOVUwwRXdPRUZDUVVVNE1UZ3pNalF5TVRsQ05EUXpPREZFTWpoRVJURkdSVEJESVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ&maxresults=1
                value:
                  - attributes:
                      created: 1493937851
                      enabled: true
                      recoveryLevel: Recoverable+Purgeable
                      updated: 1493937851
                    kid: https://kv-sdk-test.vault-int.azure-int.net/keys/listkeyversionstest/7c9dc6775d0e4177827c4f98f482fc12
      x-ms-pageable:
        nextLinkName: nextLink
  "/keys/{key-name}/{key-version}":
    get:
      description: The get key operation is applicable to all key types. If the requested key is symmetric, then no key material is released in the response. This operation requires the keys/get permission.
      operationId: GetKey
      parameters:
        - description: The name of the key to get.
          in: path
          name: key-name
          required: true
          type: string
        - description: Adding the version parameter retrieves a specific version of a key.
          in: path
          name: key-version
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A key bundle containing the key and its attributes.
          schema:
            $ref: "#/definitions/KeyBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Gets the public part of a stored key.
      tags:
        - Keys
      x-ms-examples:
        Get key:
          parameters:
            api-version: 7.0-preview
            key-name: CreateSoftKeyTest
            key-version: 78deebed173b48e48f55abf87ed4cf71
          responses:
            "200":
              body:
                attributes:
                  created: 1493942451
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493942451
                key:
                  e: AQAB
                  key_ops:
                    - encrypt
                    - decrypt
                    - sign
                    - verify
                    - wrapKey
                    - unwrapKey
                  kid: https://kv-sdk-test.vault-int.azure-int.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71
                  kty: RSA
                  n: 2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w
                tags:
                  purpose: unit test
                  "test name ": CreateGetDeleteKeyTest
    patch:
      description: "In order to perform this operation, the key must already exist in the Key Vault. Note: The cryptographic material of a key itself cannot be changed. This operation requires the keys/update permission."
      operationId: UpdateKey
      parameters:
        - description: The name of key to update.
          in: path
          name: key-name
          required: true
          type: string
        - description: The version of the key to update.
          in: path
          name: key-version
          required: true
          type: string
        - description: The parameters of the key to update.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeyUpdateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The updated key.
          schema:
            $ref: "#/definitions/KeyBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: The update key operation changes specified attributes of a stored key and can be applied to any key type and key version stored in Azure Key Vault.
      tags:
        - Keys
      x-ms-examples:
        Update key:
          parameters:
            api-version: 7.0-preview
            key-name: UpdateKeyAttributesTest
            key-version: 3d31e6e5c4c14eaf9be8d42c00225088
            parameters:
              attributes:
                enabled: false
                exp: 662716800
                nbf: 631180800
              key_ops:
                - decrypt
                - encrypt
          responses:
            "200":
              body:
                attributes:
                  created: 1493860275
                  enabled: false
                  exp: 662716800
                  nbf: 631180800
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493860277
                key:
                  e: AQAB
                  key_ops:
                    - decrypt
                    - encrypt
                  kid: https://kv-sdk-test.vault-int.azure-int.net/keys/UpdateKeyAttributesTest/3d31e6e5c4c14eaf9be8d42c00225088
                  kty: RSA
                  n: tHCSyq1FqGHXIFHs1m4riKYgPFNSTlJGPzxwfUyZJUxxZsFWMxmZRzbM3kcXC5N40AJfeqDOMs0gY0LZEfhw8kJHBf2GEH2Sz923E4OQjLk_ECdAiKPW_8t22cqD_pGIuB7uibjLZgFFRv7oe0t8cTXKn7IwAH5gQBLs8NNV7hx1Ozy82ekCgOovFldmD3c3P1oZQ_v_-jOP6O202aEfDcZut42J6zI8eYwvGiDKmo2fCPPeth1LYBOeUMnrEZGT_f_w3yAgqvuSkHCL0x4MjZzc2EoNI_3ooAHZohDaPHLRfz8neDPADZzbHA6SDn3GgvC1K_Je5GBmqjTH3aIMlw
  "/keys/{key-name}/{key-version}/decrypt":
    post:
      description: The DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key and specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single block of data may be decrypted, the size of this block is dependent on the target key and the algorithm to be used. The DECRYPT operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/decrypt permission.
      operationId: decrypt
      parameters:
        - description: The name of the key.
          in: path
          name: key-name
          required: true
          type: string
        - description: The version of the key.
          in: path
          name: key-version
          required: true
          type: string
        - description: The parameters for the decryption operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeyOperationsParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The decryption result.
          schema:
            $ref: "#/definitions/KeyOperationResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Decrypts a single block of encrypted data.
      tags:
        - Keys
      x-ms-examples:
        Decrypt example:
          parameters:
            api-version: 7.0-preview
            key-name: sdktestkey
            key-version: 4eb68492b5f6421e835d961ad2be3155
            parameters:
              alg: RSA-OAEP
              value: sid-4nG3FzRIFWXLXlG-FZo6H1-kzbNX5Exe0_VRqcGLuJWjI9oSofsn-2IagDsQzkpNAXv9V8aoIizelrK_14darhxaAV8OejO7Oh7spjxa7IxMVS3e-cwcLdEHzMbMfM1uFpDyRFqEUASHI0H8F1M2m1e9TUSXOVW3KMqm7cK94ZQMFvd4AYdLfmfnStMp_MqIQh4kpIkB6h2b1M3possVrLKH_l2L3uT-qFiwQlH9-dt0Cje5mrkpsYCy4hAXNFUPhIyBWAZwOQylIE2sPuopFs55lRIHpWP2CqNe-IK8tX87BRuJ_Vy3GIFxDjD5uu74scIyQCKMImB6xQ_-mQ
          responses:
            "200":
              body:
                kid: https://testvault1021.vault.azure.net/keys/sdktestkey/4eb68492b5f6421e835d961ad2be3155
                value: dvDmrSBpjRjtYg
  "/keys/{key-name}/{key-version}/encrypt":
    post:
      description: The ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is stored in Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, the size of which is dependent on the target key and the encryption algorithm to be used. The ENCRYPT operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/encrypt permission.
      operationId: encrypt
      parameters:
        - description: The name of the key.
          in: path
          name: key-name
          required: true
          type: string
        - description: The version of the key.
          in: path
          name: key-version
          required: true
          type: string
        - description: The parameters for the encryption operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeyOperationsParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The encryption result.
          schema:
            $ref: "#/definitions/KeyOperationResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault.
      tags:
        - Keys
      x-ms-examples:
        Encrypt example:
          parameters:
            api-version: 7.0-preview
            key-name: sdktestkey
            key-version: f6bc1f3d37c14b2bb1a2ebb4b24e9535
            parameters:
              alg: RSA1_5
              value: 5ka5IVsnGrzufA
          responses:
            "200":
              body:
                kid: https://karlaugsoftdeletesdk.vault-int.azure-int.net/keys/sdktestkey/f6bc1f3d37c14b2bb1a2ebb4b24e9535
                value: CR0Hk0z72oOit5TxObqRpo-WFGZkb5BeN1C0xJFKHxzdDCESYPCNB-OkiWVAnMcSyu6g2aC8riVRRxY5MC2CWKj-CJ_SMke5X2kTi5yi4hJ5vuOLzmg_M6Bmqib7LsI-TeJHr9rs3-tZaSCdZ2zICeFWYduWV5rPjTnAD98epTorT8AA1zMaYHMIhKpmttcj18-dHr0E0T55dgRtsjK04uC3FlRd3odl4RhO1UHAmYpDd5FUqN-20R0dK0Zk8F8sOtThLhEmuLvqPHOCUBiGUhHA4nRDq1La4SUbThu2KMQJL6BbxxEymuliaYcNNtW7MxgVOf6V3mFxVNRY622i9g
  "/keys/{key-name}/{key-version}/sign":
    post:
      description: The SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault since this operation uses the private portion of the key. This operation requires the keys/sign permission.
      operationId: sign
      parameters:
        - description: The name of the key.
          in: path
          name: key-name
          required: true
          type: string
        - description: The version of the key.
          in: path
          name: key-version
          required: true
          type: string
        - description: The parameters for the signing operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeySignParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The signature value.
          schema:
            $ref: "#/definitions/KeyOperationResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Creates a signature from a digest using the specified key.
      tags:
        - Keys
      x-ms-examples:
        Sign:
          parameters:
            api-version: 7.0-preview
            key-name: testkey
            key-version: 9885aa558e8d448789683188f8c194b0
            parameters:
              alg: RS512
              value: RUE3Nzg4NTQ4QjQ5RjFFN0U2NzAyQzhDNEMwMkJDOTA1MTYyOTUzNjI5NDhBNzZDQTlFOTM1NDA2M0ZGMjk2Mg
          responses:
            "200":
              body:
                kid: https://demo-test-vault.vault.azure.net/keys/testkey/9885aa558e8d448789683188f8c194b0
                value: aKFG8NXcfTzqyR44rW42484K_zZI_T7zZuebvWuNgAoEI1gXYmxrshp42CunSmmu4oqo4-IrCikPkNIBkHXnAW2cv03Ad0UpwXhVfepK8zzDBaJPMKVGS-ZRz8CshEyGDKaLlb3J3zEkXpM3RrSEr0mdV6hndHD_mznLB5RmFui5DsKAhez4vUqajgtkgcPfCekMqeSwp6r9ItVL-gEoAohx8XMDsPedqu-7BuZcBcdayaPuBRL4wWoTDULA11P-UN_sJ5qMj3BbiRYhIlBWGR04wIGfZ3pkJjHJUpOvgH2QajdYPzUBauOCewMYbq9XkLRSzI_A7HkkDVycugSeAA
  "/keys/{key-name}/{key-version}/unwrapkey":
    post:
      description: The UNWRAP operation supports decryption of a symmetric key using the target key encryption key. This operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/unwrapKey permission.
      operationId: unwrapKey
      parameters:
        - description: The name of the key.
          in: path
          name: key-name
          required: true
          type: string
        - description: The version of the key.
          in: path
          name: key-version
          required: true
          type: string
        - description: The parameters for the key operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeyOperationsParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The unwrapped symmetric key.
          schema:
            $ref: "#/definitions/KeyOperationResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Unwraps a symmetric key using the specified key that was initially used for wrapping that key.
      tags:
        - Keys
      x-ms-examples:
        Unwrapkey:
          parameters:
            api-version: 7.0-preview
            key-name: sdktestkey
            key-version: 0698c2156c1a4e1da5b6bab6f6422fd6
            parameters:
              alg: RSA1_5
              value: khwIe26NuAZazS7upywDBpGRmRNMW5-4h_JQKxOdB78nYVxZWnBXwCxOv7a3Sr_mCjiVzKsoQQZwL-CJzhYa0512tfYem56zls5a44y5QsdcfvuSzOvpthVhA9XkEfCJSqSY_sip5d8BelT_w_ikvd_8KqiQ_0H54RqYUN8svCpu28paHgBocHFNXTQ9NtU9ec2qgESXk7Jp4OTy9HJtQJavKDUqTJ3YmtLxUgsgBCe0FNMHUSEYC0Ys6PavYzdTwIzYCq84idmAxJOj-O_6eALJFH2sDTOQYHjzOae2t8eFmw6C-t55qjrCI91a9mUJEGPhYixiG4gR4PaEJ7wGvw
          responses:
            "200":
              body:
                kid: https://karlaugsoftdeletesdk.vault-int.azure-int.net/keys/sdktestkey/0698c2156c1a4e1da5b6bab6f6422fd6
                value: ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo
  "/keys/{key-name}/{key-version}/verify":
    post:
      description: The VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not strictly necessary for asymmetric keys stored in Azure Key Vault since signature verification can be performed using the public portion of the key but this operation is supported as a convenience for callers that only have a key-reference and not the public portion of the key. This operation requires the keys/verify permission.
      operationId: verify
      parameters:
        - description: The name of the key.
          in: path
          name: key-name
          required: true
          type: string
        - description: The version of the key.
          in: path
          name: key-version
          required: true
          type: string
        - description: The parameters for verify operations.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeyVerifyParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The verification result.
          schema:
            $ref: "#/definitions/KeyVerifyResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Verifies a signature using a specified key.
      tags:
        - Keys
      x-ms-examples:
        Verify:
          parameters:
            api-version: 7.0-preview
            key-name: testkey
            key-version: 9885aa558e8d448789683188f8c194b0
            parameters:
              alg: RS512
              value: RUE3Nzg4NTQ4QjQ5RjFFN0U2NzAyQzhDNEMwMkJDOTA1MTYyOTUzNjI5NDhBNzZDQTlFOTM1NDA2M0ZGMjk2Mg
          responses:
            "200":
              body:
                value: true
  "/keys/{key-name}/{key-version}/wrapkey":
    post:
      description: The WRAP operation supports encryption of a symmetric key using a key encryption key that has previously been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using the public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/wrapKey permission.
      operationId: wrapKey
      parameters:
        - description: The name of the key.
          in: path
          name: key-name
          required: true
          type: string
        - description: The version of the key.
          in: path
          name: key-version
          required: true
          type: string
        - description: The parameters for wrap operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/KeyOperationsParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The wrapped symmetric key.
          schema:
            $ref: "#/definitions/KeyOperationResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Wraps a symmetric key using a specified key.
      tags:
        - Keys
      x-ms-examples:
        Wrapkey:
          parameters:
            api-version: 7.0-preview
            key-name: sdktestkey
            key-version: 0698c2156c1a4e1da5b6bab6f6422fd6
            parameters:
              alg: RSA1_5
              value: ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo
          responses:
            "200":
              body:
                kid: https://karlaugsoftdeletesdk.vault-int.azure-int.net/keys/sdktestkey/0698c2156c1a4e1da5b6bab6f6422fd6
                value: khwIe26NuAZazS7upywDBpGRmRNMW5-4h_JQKxOdB78nYVxZWnBXwCxOv7a3Sr_mCjiVzKsoQQZwL-CJzhYa0512tfYem56zls5a44y5QsdcfvuSzOvpthVhA9XkEfCJSqSY_sip5d8BelT_w_ikvd_8KqiQ_0H54RqYUN8svCpu28paHgBocHFNXTQ9NtU9ec2qgESXk7Jp4OTy9HJtQJavKDUqTJ3YmtLxUgsgBCe0FNMHUSEYC0Ys6PavYzdTwIzYCq84idmAxJOj-O_6eALJFH2sDTOQYHjzOae2t8eFmw6C-t55qjrCI91a9mUJEGPhYixiG4gR4PaEJ7wGvw
  /secrets:
    get:
      description: The Get Secrets operation is applicable to the entire vault. However, only the base secret identifier and its attributes are provided in the response. Individual secret versions are not listed in the response. This operation requires the secrets/list permission.
      operationId: GetSecrets
      parameters:
        - description: Maximum number of results to return in a page. If not specified, the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of secrets in the vault along with a link to the next page of secrets.
          schema:
            $ref: "#/definitions/SecretListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: List secrets in a specified key vault.
      tags:
        - Secrets
      x-ms-examples:
        GetSecrets:
          parameters:
            api-version: 7.0-preview
            maxresults: "1"
          responses:
            "200":
              body:
                nextLink: https://testvault1021.vault.azure.net:443/secrets?api-version=7.0-preview&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVZFVlRWREVoTURBd01ESTRJVEl3TVRZdE1USXRNVGxVTWpNNk1UQTZORFV1T0RneE9ERXhNRm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9&maxresults=1
                value:
                  - attributes:
                      created: 1482189047
                      enabled: true
                      updated: 1482189047
                    contentType: plainText
                    id: https://testvault1021.vault.azure.net/secrets/listsecrettest0
      x-ms-pageable:
        nextLinkName: nextLink
  /secrets/restore:
    post:
      description: Restores a backed up secret, and all its versions, to a vault. This operation requires the secrets/restore permission.
      operationId: RestoreSecret
      parameters:
        - description: The parameters to restore the secret.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/SecretRestoreParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Restored secret bundle in the vault.
          schema:
            $ref: "#/definitions/SecretBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Restores a backed up secret to a vault.
      tags:
        - Secrets
      x-ms-examples:
        RestoreSecret:
          parameters:
            api-version: 7.0-preview
            parameters:
              value: KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLmhERDdfVW9aU1ptR2JYN1dYUTU5WDkxZ0FQb05kdDcwZE1BbmgzbjQ3eWNjbkRNOU5vTm1hY0NHZmlNeUwxU0FlZDk0UjhBNDAtVE81TDNfQ05Qal9pdWIyaW03Z21nbHNPNnFFUVVIWU1tOEh2Wl9odFRrdEl4QzRPWEowYTB0S2hscnczZlBvVVFDZHVGcFg0ekEzYTR4VTZXTUNfYjZZVXZqUjZnSGM5TFRUR2tIazh1RTY0aVQ4cmt5RDRrU3RNcXhnU2lfRVZwUUdjWGdfNE9wQ1dBOUFha0N1NkpybGRaQW9BLUtXTWpQbGhaWHFYWGMyVkJlbUJjRTQ1YzY3QWhqYjJrSi1uQ1c5dHBjWS1JZ3JEUHFzWkswOS1WbHVtcl9SbzQzcG5FeW5jVFpTdzZlX1h6VnN0dUFOZHdiM0E2OVR1c1hfYkJKZ0J2SGQ4cDJSUS5WMTlhMVRacjZ2UjJHdEVaWGtOOXJRLmhwMU5IMmwtZklWbVgwWlNfTlRzekJfUEs1aktDUU5rSnJyRUhRQmZjQ2VjdHhmVU5uVlB6MVBqRWNDblZuV0pCUk4zTlFKZm01MjFLRHp1MzBIVUFEUGVmVHJyMFVFS2x5QTM2cThoWFY3VTdoQ0dHNk85NVpYclRsZlVENDI5RTNTNTQxdVBmWGpGR2cxbHlucFNTNnAtVkFzaXFlY1lpQWNuM1hhNzRhUm5xS3N3ZzhyU1ZOX09hSVU3ak1VVUhYZWY1ZmN0NlFrdWFfYkt6Z2dtR2ZiT2RTdVdNRmVQaF9mMkJMUFNGN3k1NThEMFZxSVlNY0JJR0dMU3BQUU93Q094OFF3Y3NVUEp4ZDFuWkVYYjRVNEJZYlhBcmFMX0NwekYxZlhYWVBsdmVUSGdKNVdrR28tWXNJVzAtT3ZqVGdLN2hIamxpR1psd29HOVUtbTJSVDZfbkhseHhVRFMyY3JseGNmay1OOTlXd0tEdUxFMTM5ZE1mN2RCSEl1aTdxd0RXdm1TN2JMTHYzM05Wd19XSl9DT1VGQjgycy1ELXk0UEdIRzVackhsSDgxa25mLVpRblU0SmZfY2lhMWhmWlY3ZFMxb21UZDQtNnJwZmpTMGxFT3VfZTQ5bUpYUGFpZ0hyLWFQYkFzTXJJQ2JvOUVIR2IzMXJ5SlR2QXF2ZmJDbU10bkdLUDV6aUNiZFh3SU5ONzBJTk5lZnJLWGZkZFBUd0RSV3d1ZkxCcGNlU0U0SG5EWVZVQmdkMDl4UUZidG12UDhhTXhhUlpGSTNpWG1fbmpCNmZfdlNhZUNUakdVYVVuRE1QQkdOQWQ5T2xVX3dvUnMtalNCVnVqd1FQSGlGcm5RWElkXzBRdXRYSm54cTU4aUtlTGJvNDJtOHgwaXBRcnB4aEZoUDdHNmZOWXAwVmxXR0RxZ1Q0VlpPQkZsZWRKUU0yaDQtb2xTbXdtUms0M0Y1cjdKd3h4aENqU1JReWx1MGEyQ0ZONWMyZjIxTElZaFliLWNReWFXMDNpV3hsb04zWld5cDJIb1FlUmZPR3lXUzBiU2NBT3JndGpBYnJaUFIwMGRRNnpSOHNBczFYUzh3dzBlaVczbFpsdjJwVWFxOVpTeVhnTS14b2NTOS1ueXRaWGtWWlUwX2dDVXJBV0ZKNG5XdW9oTGM1RkkyRWFQNWR0SXVWa3dnbXlsR1gtYk9ZeHp3dzVGYmI1V3VEbnJ5aDBMSnVic3Q4VXdLdnl3bk1jQ3duMjZSVTNxQVRudGJubVhJS0FyeGkwMldQVk9oTXdpUWZuX2h1TWk5emp3MEVuaXNWdktNWUNnR2xqNWlGZW5Tc0FKUXBiLUY4bng3OWFJQlJaTUc1a0huUDR5dGxmNm9FTkRsRXNJY21aeEtOdEIzcmJPdVROYUhLTXZBNmxSNzlMMDJZSTZrcEdrUUZnaHpIaTBjTWkwbFdCejRTM1AzUEMzZElZSVlQZ0Q2S05kT2FLWHkta0dWdUlsWFNmVlVrMnpzM0NBeTJhZEJjV0NMV094ZkRoQnlwNTl4MHpBRExvdnZySHRLOWF6TGN3N0lTbVl6eUhYMkpobVdReUYtTFd1VzhfcW41SkFVYlB5Z0RTRDYyMi1PTGZQVDZmc2VTWUVBUTFLVWRwZTFnSV9hZWxVT3FaRWN1aE5SckU1YUp0LTN5TEVLVWZIWXF6WTlGbHJrUE5MUC03Y2xRbmEySEhfZmMzZV9LTGtGUDFhQTJjM0RVaERseGhsTzB2bFVmV0c5eXpXaDNZN0NmRFlFMlBaUzZBcFBlYy0wa1NDcEVKMmtCcnFzWG4yeDJDX0FDdTdCTTVGZXNJQkN0M2NqSEdQSVVQRnEteGVmT0RCXzBQcXZDTXpBOHg5Zm10Ny1sNHhVQlJaa0dtZExhZFoxVzdFUXRNRVpsSWMtbDF1V1UzTU15cFZpVWR0OWxJUHVQVUEwc1NrbWxrTGhNSjgyNE5QN0hyVi01dC1ZNDcxaWVKMHdEUjFxMmU4MU8yazdNeTFlTDY3TlY4OVBHYU81SVR5WG1ueUVXMGtVbl9qa3l1UVRkV3dsS09HZVZIYkJWNFpxSXZHWjdQUS02TEE5eXc3a0dyZFRhVFZXOEdOOV9GY1c2VUhjbzA0U3dqTzY2S2x4VlFJWWpBdEZPZlBjWW5xNzF1RndyQS1UZHVDZG1sUFBHOVpjc2tiQmdrbF8wVk90dmhuc0pwYXZKZ2Zka0d3OF9qMkQzd0Jzemd0VndHNk9nNW16eVFwM2pFc0w3UmNtcXd6WFBOaDdKYXdHVDBJMlRvZHYyQ1Z3MDkzWjJlODFXR1NxRnlIejAxdjFBaGN2T2VWdmFjUGM2Y1JJaVduNW93ZF80d2FBdjlyNjVVdmtWa1FLRXpHUmo5eTZILXdZTTMyV1JyMzBlOU9MRTNKUU5POV9kNjRTRmIwSjZHa2VxUmtnNkVXc2xqN1JYLVU1VlhrS1BtMzNpS3c5dGU2NVBqQUNnZThRVDBYVWZEaUx5a1pGeUdpZ09ZMS1TVDFxUlE1eUhMTXhEc3BPRjFXd1lMQ2c2b3hocTlWMm55Z0U1cUJ2ZnYyWUtFaDdjM1dWNjJrYkw3UXJ2d0xkMHVRZ1FwYmUza3E3dGJzcC1lNWlud3cyY0YxQzByeHNScGZJRHlJMmg4b2xHMi1RQUZkWmtlMUlmaE1FZmNfdUdXX2pqSGJSWXVzYnZCRnpKMDdaOVJsVnFMR1A2WXBnTDFsRTFOY09xUVJyYVdxckdDTWZ6SzZMVENQSl93aHJRam9WTzdVRDJIUEVnUjZ2S3U3cWlmTmo3UjE5OUJuRi1EZmlnbk1TYTFKZkZadDNuVXVZOEhMUXRoUzN4MUMxOE50d3dsaDVuNGxYS3d5MERHenljbVNweE05QkdPNTFRckFmSXRfY0xHbUlzMlJ4MzMyeDRIdEZ3Z05nRzFBazNIUno4TlJ4V3lhNWhjb1NoYURXekhES2gyOVp3Vm4wYXVzeWJpal9uNlFGcnZZbjRSOHdPNlRQV3FrS09JcHkxc1lQNWxyNDc1anZSRVZGaFdCWDBiUXdJdnNlM0Q0a0dFQzgzU3FWYkhxY3phZTNwOFNxaG5tQW5ZYzBIbWp4clJfZUMzT0hYVFBGUFZmNDlVWHdrQjIwY1lvcjJ1dzBaTzJ2TUg3S1QwcjBSWDBQVy1qcGpORFpjSGRSNVVCMXFacGlWLWxaYkw0eF9IZW14aWUxY0RPOHNQSXhIOElUSWtOV0tTR1N2eWdraHBBbGl2RzVEZXJObElkeFE2c0tHQ3RtMDEyT2xjN2thaVFaNHh0TjR5ZVpPU2xyS0s0OTlIcWhObzhkNTNsbFFfMW5ncWlHbzhUSDlzWkFrclYwclc3dkJOSF92UlhBdTc2MnlpZGhZUURYYXJXSEFUMm9DU2hEN1lOdnotekoyZGtEajJMcW5CdFNCWFh5T2xsM3o0ZWFITDd2MDZ1QTgxMVBKQU5YZUdoenNaNFVQQUQ2Q0E4cGlxSHB4WGkxODRHNEJETVU4S2VHeHZLWnJiUlNOT2pTOFNrQUJKZERfSklIZ1RhNEFhNzdPUmNZcVY3OWZ5djFZVHNma2lLR2NUYzZIUjZzUVpsamt2U0NQNjdtTTRGUHRqTHlfX1pDQlNwdnRSVWd5UlpNM1dSOUViNHkxa29uRG4zUjMzN2lpSzdfbGtIa1UtZ21VbUpZUVdnUjYzT01pZUdRUHdNR3BSZXlRWE5yckJVTDN2Z2JYdjlac1ZDcDh1NHRwQjBleXJvUXgxZC1KSWJvOWVyR1VlX0ZzU1Fpd0tIaGFIUk02Nzh5dENkcHJFbDBWeG92TFVrX0xNcTFjN1R4MG5jbFl2WE4yUjhEMXNhU2FibkJSd19CU2tZMFNMSXdhb2RpY2o2ZzdLd0ZfMXB2eThhNF9LbnJNLUNkenBvdHA0aTd4QUJuY2JRVUEwWkpsYlp1elRpR0F4ZjFnclk1Z0dZOTVoWi1XZG1lOWlSazBHRTJGN3d4MlJyLUVvS3lZRjNjak0xMWt6MWFmME9fNFdyOXJoU3JrX1NHU3l2a3ZCTW9NZ0xOX0tSS1BlTjlqUnpwRlVST2VnN2NCbGlhdy1odnZhY2lCeDN2UWRqTE5jTldQdU1UbzVmME1QbmU4TUtXcFBoWjBySElMaEVuYW1pcG82X3pzNjczcE9ma09FS0JWWE9mUDEzR0UwS25SWTBab2JPLWRub254LVdBY1dodFZvX08xbkwwTWE5ZXFMMURhRGhJU0JNbVRIM1hkY2dDTnF0emIwcVMtS1l5Mk9zRzZOakRDVEM1aEI3MXIwU09WMUprNFV2QjdYemxTTW9YUXJnTzF2ZFVwSGtxaVhUM1RJZmlQMWRKcDEweDlSMlp5R0lzUzljQUtNMEZyMGRxQmJmQy16NTJpcWZweW4zUVVqb1Fld2hPYnJwUEZGOF9lUmVNRlIwSXZjUkxnMHpwek56UzU1N1pkQkZhemxNTThLcnkwN2QyUDAyTnZtclUtN1ZjOW8wZm1qem9WOHVVTG9PMkJHdmFRdnFJNmtBTmQ5VWo1X2JkY2NVUzBhcklzcGFZa1UtUXQtNnQxYU5YUUdGZEtUbFMwSVowek54bkNIZWRySEE4SkYtOFg3d1ZpRW1McXJQbU1Sd25sbWx3SnhxLVlReWMydmdUallSbUxCVU5TS3VrZkJsa2VnMmlCRWdySksxVlNyRWswX0ZvOXkzV1EwVlZuNXhEZXlGc1JuWDI4Tkl6alFQLVNXaHhYbzdPYm5YY1cxZHlWNE1fYjdzM096cEMwOTJWcGZYQkpaTDhBeHgxNGY2TmJzTEpXLW95VEdsaTJFb2FCZHJKQ2JkQlNOdWJlbGdRRmU2V2hqSjRGdlNrYVJISjFTT3ltbGFtQmYwaVNDOGM2X1g2SkZORjNmOXYuQjc5SDJvbVIyTU52SndydHVzclJ4UQ
          responses:
            "200":
              body:
                attributes:
                  created: 1493938113
                  enabled: true
                  exp: 1893484800
                  nbf: 1262332800
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938113
                contentType: text
                id: https://kv-sdk-test.vault-int.azure-int.net/secrets/SecretBackupRestoreTest/01ddd6e3a0d34d35bb5bccecb1251837
  "/secrets/{secret-name}":
    delete:
      description: The DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied to an individual version of a secret. This operation requires the secrets/delete permission.
      operationId: DeleteSecret
      parameters:
        - description: The name of the secret.
          in: path
          name: secret-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The deleted secret and information on when the secret will be deleted, and how to recover the deleted secret.
          schema:
            $ref: "#/definitions/DeletedSecretBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Deletes a secret from a specified key vault.
      tags:
        - Secrets
      x-ms-examples:
        DeleteSecret:
          parameters:
            api-version: 7.0-preview
            secret-name: GetDeletedSecretTest
          responses:
            "200":
              body:
                attributes:
                  created: 1493938433
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938433
                deletedDate: 1493938433
                id: https://kv-sdk-test.vault-int.azure-int.net/secrets/GetDeletedSecretTest/b595353d9c39413d80626575b3b5d865
                recoveryId: https://kv-sdk-test.vault-int.azure-int.net/deletedsecrets/GetDeletedSecretTest
                scheduledPurgeDate: 1501714433
    put:
      description: " The SET operation adds a secret to the Azure Key Vault. If the named secret already exists, Azure Key Vault creates a new version of that secret. This operation requires the secrets/set permission."
      operationId: SetSecret
      parameters:
        - description: The name of the secret.
          in: path
          name: secret-name
          pattern: ^[0-9a-zA-Z-]+$
          required: true
          type: string
        - description: The parameters for setting the secret.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/SecretSetParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A secret bundle containing the result of the set secret request.
          schema:
            $ref: "#/definitions/SecretBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Sets a secret in a specified key vault.
      tags:
        - Secrets
      x-ms-examples:
        SetSecret:
          parameters:
            api-version: 7.0-preview
            parameters:
              value: mysecretvalue
            secret-name: crpsecret
          responses:
            "200":
              body:
                attributes:
                  created: 1493938459
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938459
                id: https://kv-sdk-test.vault-int.azure-int.net/secrets/crpsecret/03bcccc7c8cf4546a0e3e21e52560441
                value: mysecretvalue
  "/secrets/{secret-name}/backup":
    post:
      description: Requests that a backup of the specified secret be downloaded to the client. All versions of the secret will be downloaded. This operation requires the secrets/backup permission.
      operationId: BackupSecret
      parameters:
        - description: The name of the secret.
          in: path
          name: secret-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The backup blob containing the backed up secret.
          schema:
            $ref: "#/definitions/BackupSecretResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Backs up the specified secret.
      tags:
        - Secrets
      x-ms-examples:
        BackupSecret:
          parameters:
            api-version: 7.0-preview
            secret-name: testsecret
          responses:
            "200":
              body:
                value: KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLmhERDdfVW9aU1ptR2JYN1dYUTU5WDkxZ0FQb05kdDcwZE1BbmgzbjQ3eWNjbkRNOU5vTm1hY0NHZmlNeUwxU0FlZDk0UjhBNDAtVE81TDNfQ05Qal9pdWIyaW03Z21nbHNPNnFFUVVIWU1tOEh2Wl9odFRrdEl4QzRPWEowYTB0S2hscnczZlBvVVFDZHVGcFg0ekEzYTR4VTZXTUNfYjZZVXZqUjZnSGM5TFRUR2tIazh1RTY0aVQ4cmt5RDRrU3RNcXhnU2lfRVZwUUdjWGdfNE9wQ1dBOUFha0N1NkpybGRaQW9BLUtXTWpQbGhaWHFYWGMyVkJlbUJjRTQ1YzY3QWhqYjJrSi1uQ1c5dHBjWS1JZ3JEUHFzWkswOS1WbHVtcl9SbzQzcG5FeW5jVFpTdzZlX1h6VnN0dUFOZHdiM0E2OVR1c1hfYkJKZ0J2SGQ4cDJSUS5WMTlhMVRacjZ2UjJHdEVaWGtOOXJRLmhwMU5IMmwtZklWbVgwWlNfTlRzekJfUEs1aktDUU5rSnJyRUhRQmZjQ2VjdHhmVU5uVlB6MVBqRWNDblZuV0pCUk4zTlFKZm01MjFLRHp1MzBIVUFEUGVmVHJyMFVFS2x5QTM2cThoWFY3VTdoQ0dHNk85NVpYclRsZlVENDI5RTNTNTQxdVBmWGpGR2cxbHlucFNTNnAtVkFzaXFlY1lpQWNuM1hhNzRhUm5xS3N3ZzhyU1ZOX09hSVU3ak1VVUhYZWY1ZmN0NlFrdWFfYkt6Z2dtR2ZiT2RTdVdNRmVQaF9mMkJMUFNGN3k1NThEMFZxSVlNY0JJR0dMU3BQUU93Q094OFF3Y3NVUEp4ZDFuWkVYYjRVNEJZYlhBcmFMX0NwekYxZlhYWVBsdmVUSGdKNVdrR28tWXNJVzAtT3ZqVGdLN2hIamxpR1psd29HOVUtbTJSVDZfbkhseHhVRFMyY3JseGNmay1OOTlXd0tEdUxFMTM5ZE1mN2RCSEl1aTdxd0RXdm1TN2JMTHYzM05Wd19XSl9DT1VGQjgycy1ELXk0UEdIRzVackhsSDgxa25mLVpRblU0SmZfY2lhMWhmWlY3ZFMxb21UZDQtNnJwZmpTMGxFT3VfZTQ5bUpYUGFpZ0hyLWFQYkFzTXJJQ2JvOUVIR2IzMXJ5SlR2QXF2ZmJDbU10bkdLUDV6aUNiZFh3SU5ONzBJTk5lZnJLWGZkZFBUd0RSV3d1ZkxCcGNlU0U0SG5EWVZVQmdkMDl4UUZidG12UDhhTXhhUlpGSTNpWG1fbmpCNmZfdlNhZUNUakdVYVVuRE1QQkdOQWQ5T2xVX3dvUnMtalNCVnVqd1FQSGlGcm5RWElkXzBRdXRYSm54cTU4aUtlTGJvNDJtOHgwaXBRcnB4aEZoUDdHNmZOWXAwVmxXR0RxZ1Q0VlpPQkZsZWRKUU0yaDQtb2xTbXdtUms0M0Y1cjdKd3h4aENqU1JReWx1MGEyQ0ZONWMyZjIxTElZaFliLWNReWFXMDNpV3hsb04zWld5cDJIb1FlUmZPR3lXUzBiU2NBT3JndGpBYnJaUFIwMGRRNnpSOHNBczFYUzh3dzBlaVczbFpsdjJwVWFxOVpTeVhnTS14b2NTOS1ueXRaWGtWWlUwX2dDVXJBV0ZKNG5XdW9oTGM1RkkyRWFQNWR0SXVWa3dnbXlsR1gtYk9ZeHp3dzVGYmI1V3VEbnJ5aDBMSnVic3Q4VXdLdnl3bk1jQ3duMjZSVTNxQVRudGJubVhJS0FyeGkwMldQVk9oTXdpUWZuX2h1TWk5emp3MEVuaXNWdktNWUNnR2xqNWlGZW5Tc0FKUXBiLUY4bng3OWFJQlJaTUc1a0huUDR5dGxmNm9FTkRsRXNJY21aeEtOdEIzcmJPdVROYUhLTXZBNmxSNzlMMDJZSTZrcEdrUUZnaHpIaTBjTWkwbFdCejRTM1AzUEMzZElZSVlQZ0Q2S05kT2FLWHkta0dWdUlsWFNmVlVrMnpzM0NBeTJhZEJjV0NMV094ZkRoQnlwNTl4MHpBRExvdnZySHRLOWF6TGN3N0lTbVl6eUhYMkpobVdReUYtTFd1VzhfcW41SkFVYlB5Z0RTRDYyMi1PTGZQVDZmc2VTWUVBUTFLVWRwZTFnSV9hZWxVT3FaRWN1aE5SckU1YUp0LTN5TEVLVWZIWXF6WTlGbHJrUE5MUC03Y2xRbmEySEhfZmMzZV9LTGtGUDFhQTJjM0RVaERseGhsTzB2bFVmV0c5eXpXaDNZN0NmRFlFMlBaUzZBcFBlYy0wa1NDcEVKMmtCcnFzWG4yeDJDX0FDdTdCTTVGZXNJQkN0M2NqSEdQSVVQRnEteGVmT0RCXzBQcXZDTXpBOHg5Zm10Ny1sNHhVQlJaa0dtZExhZFoxVzdFUXRNRVpsSWMtbDF1V1UzTU15cFZpVWR0OWxJUHVQVUEwc1NrbWxrTGhNSjgyNE5QN0hyVi01dC1ZNDcxaWVKMHdEUjFxMmU4MU8yazdNeTFlTDY3TlY4OVBHYU81SVR5WG1ueUVXMGtVbl9qa3l1UVRkV3dsS09HZVZIYkJWNFpxSXZHWjdQUS02TEE5eXc3a0dyZFRhVFZXOEdOOV9GY1c2VUhjbzA0U3dqTzY2S2x4VlFJWWpBdEZPZlBjWW5xNzF1RndyQS1UZHVDZG1sUFBHOVpjc2tiQmdrbF8wVk90dmhuc0pwYXZKZ2Zka0d3OF9qMkQzd0Jzemd0VndHNk9nNW16eVFwM2pFc0w3UmNtcXd6WFBOaDdKYXdHVDBJMlRvZHYyQ1Z3MDkzWjJlODFXR1NxRnlIejAxdjFBaGN2T2VWdmFjUGM2Y1JJaVduNW93ZF80d2FBdjlyNjVVdmtWa1FLRXpHUmo5eTZILXdZTTMyV1JyMzBlOU9MRTNKUU5POV9kNjRTRmIwSjZHa2VxUmtnNkVXc2xqN1JYLVU1VlhrS1BtMzNpS3c5dGU2NVBqQUNnZThRVDBYVWZEaUx5a1pGeUdpZ09ZMS1TVDFxUlE1eUhMTXhEc3BPRjFXd1lMQ2c2b3hocTlWMm55Z0U1cUJ2ZnYyWUtFaDdjM1dWNjJrYkw3UXJ2d0xkMHVRZ1FwYmUza3E3dGJzcC1lNWlud3cyY0YxQzByeHNScGZJRHlJMmg4b2xHMi1RQUZkWmtlMUlmaE1FZmNfdUdXX2pqSGJSWXVzYnZCRnpKMDdaOVJsVnFMR1A2WXBnTDFsRTFOY09xUVJyYVdxckdDTWZ6SzZMVENQSl93aHJRam9WTzdVRDJIUEVnUjZ2S3U3cWlmTmo3UjE5OUJuRi1EZmlnbk1TYTFKZkZadDNuVXVZOEhMUXRoUzN4MUMxOE50d3dsaDVuNGxYS3d5MERHenljbVNweE05QkdPNTFRckFmSXRfY0xHbUlzMlJ4MzMyeDRIdEZ3Z05nRzFBazNIUno4TlJ4V3lhNWhjb1NoYURXekhES2gyOVp3Vm4wYXVzeWJpal9uNlFGcnZZbjRSOHdPNlRQV3FrS09JcHkxc1lQNWxyNDc1anZSRVZGaFdCWDBiUXdJdnNlM0Q0a0dFQzgzU3FWYkhxY3phZTNwOFNxaG5tQW5ZYzBIbWp4clJfZUMzT0hYVFBGUFZmNDlVWHdrQjIwY1lvcjJ1dzBaTzJ2TUg3S1QwcjBSWDBQVy1qcGpORFpjSGRSNVVCMXFacGlWLWxaYkw0eF9IZW14aWUxY0RPOHNQSXhIOElUSWtOV0tTR1N2eWdraHBBbGl2RzVEZXJObElkeFE2c0tHQ3RtMDEyT2xjN2thaVFaNHh0TjR5ZVpPU2xyS0s0OTlIcWhObzhkNTNsbFFfMW5ncWlHbzhUSDlzWkFrclYwclc3dkJOSF92UlhBdTc2MnlpZGhZUURYYXJXSEFUMm9DU2hEN1lOdnotekoyZGtEajJMcW5CdFNCWFh5T2xsM3o0ZWFITDd2MDZ1QTgxMVBKQU5YZUdoenNaNFVQQUQ2Q0E4cGlxSHB4WGkxODRHNEJETVU4S2VHeHZLWnJiUlNOT2pTOFNrQUJKZERfSklIZ1RhNEFhNzdPUmNZcVY3OWZ5djFZVHNma2lLR2NUYzZIUjZzUVpsamt2U0NQNjdtTTRGUHRqTHlfX1pDQlNwdnRSVWd5UlpNM1dSOUViNHkxa29uRG4zUjMzN2lpSzdfbGtIa1UtZ21VbUpZUVdnUjYzT01pZUdRUHdNR3BSZXlRWE5yckJVTDN2Z2JYdjlac1ZDcDh1NHRwQjBleXJvUXgxZC1KSWJvOWVyR1VlX0ZzU1Fpd0tIaGFIUk02Nzh5dENkcHJFbDBWeG92TFVrX0xNcTFjN1R4MG5jbFl2WE4yUjhEMXNhU2FibkJSd19CU2tZMFNMSXdhb2RpY2o2ZzdLd0ZfMXB2eThhNF9LbnJNLUNkenBvdHA0aTd4QUJuY2JRVUEwWkpsYlp1elRpR0F4ZjFnclk1Z0dZOTVoWi1XZG1lOWlSazBHRTJGN3d4MlJyLUVvS3lZRjNjak0xMWt6MWFmME9fNFdyOXJoU3JrX1NHU3l2a3ZCTW9NZ0xOX0tSS1BlTjlqUnpwRlVST2VnN2NCbGlhdy1odnZhY2lCeDN2UWRqTE5jTldQdU1UbzVmME1QbmU4TUtXcFBoWjBySElMaEVuYW1pcG82X3pzNjczcE9ma09FS0JWWE9mUDEzR0UwS25SWTBab2JPLWRub254LVdBY1dodFZvX08xbkwwTWE5ZXFMMURhRGhJU0JNbVRIM1hkY2dDTnF0emIwcVMtS1l5Mk9zRzZOakRDVEM1aEI3MXIwU09WMUprNFV2QjdYemxTTW9YUXJnTzF2ZFVwSGtxaVhUM1RJZmlQMWRKcDEweDlSMlp5R0lzUzljQUtNMEZyMGRxQmJmQy16NTJpcWZweW4zUVVqb1Fld2hPYnJwUEZGOF9lUmVNRlIwSXZjUkxnMHpwek56UzU1N1pkQkZhemxNTThLcnkwN2QyUDAyTnZtclUtN1ZjOW8wZm1qem9WOHVVTG9PMkJHdmFRdnFJNmtBTmQ5VWo1X2JkY2NVUzBhcklzcGFZa1UtUXQtNnQxYU5YUUdGZEtUbFMwSVowek54bkNIZWRySEE4SkYtOFg3d1ZpRW1McXJQbU1Sd25sbWx3SnhxLVlReWMydmdUallSbUxCVU5TS3VrZkJsa2VnMmlCRWdySksxVlNyRWswX0ZvOXkzV1EwVlZuNXhEZXlGc1JuWDI4Tkl6alFQLVNXaHhYbzdPYm5YY1cxZHlWNE1fYjdzM096cEMwOTJWcGZYQkpaTDhBeHgxNGY2TmJzTEpXLW95VEdsaTJFb2FCZHJKQ2JkQlNOdWJlbGdRRmU2V2hqSjRGdlNrYVJISjFTT3ltbGFtQmYwaVNDOGM2X1g2SkZORjNmOXYuQjc5SDJvbVIyTU52SndydHVzclJ4UQ
  "/secrets/{secret-name}/versions":
    get:
      description: The full secret identifier and attributes are provided in the response. No values are returned for the secrets. This operations requires the secrets/list permission.
      operationId: GetSecretVersions
      parameters:
        - description: The name of the secret.
          in: path
          name: secret-name
          required: true
          type: string
        - description: Maximum number of results to return in a page. If not specified, the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of secrets along with a link to the next page of secrets.
          schema:
            $ref: "#/definitions/SecretListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: List all versions of the specified secret.
      tags:
        - Secrets
      x-ms-examples:
        GetSecretVersions:
          parameters:
            api-version: 7.0-preview
            maxresults: "1"
            secret-name: listsecretversionstest
          responses:
            "200":
              body:
                nextLink: https://testvault1021.vault.azure.net:443/secrets/listsecretversionstest/versions?api-version=7.0-preview&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWXlJWE5sWTNKbGRDOU1TVk5VVTBWRFVrVlVWa1ZTVTBsUFRsTlVSVk5VTHpGRU5EazJNa0l4UlVRM09EUkVRa1k0T1RsR016TXpNa1UwTnpZNFFqY3dJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9&maxresults=1
                value:
                  - attributes:
                      created: 1481851699
                      enabled: true
                      updated: 1481851699
                    id: https://testvault1021.vault.azure.net/secrets/listsecretversionstest/11a536561da34d6b8b452d880df58f3a
      x-ms-pageable:
        nextLinkName: nextLink
  "/secrets/{secret-name}/{secret-version}":
    get:
      description: The GET operation is applicable to any secret stored in Azure Key Vault. This operation requires the secrets/get permission.
      operationId: GetSecret
      parameters:
        - description: The name of the secret.
          in: path
          name: secret-name
          required: true
          type: string
        - description: The version of the secret.
          in: path
          name: secret-version
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The retrieved secret.
          schema:
            $ref: "#/definitions/SecretBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Get a specified secret from a given key vault.
      tags:
        - Secrets
      x-ms-examples:
        GetSecret:
          parameters:
            api-version: 7.0-preview
            secret-name: mysecretname
            secret-version: 4387e9f3d6e14c459867679a90fd0f79
          responses:
            "200":
              body:
                attributes:
                  created: 1493938410
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938410
                id: https://kv-sdk-test.vault-int.azure-int.net/secrets/mysecretname/4387e9f3d6e14c459867679a90fd0f79
                value: mysecretvalue
    patch:
      description: The UPDATE operation changes specified attributes of an existing stored secret. Attributes that are not specified in the request are left unchanged. The value of a secret itself cannot be changed. This operation requires the secrets/set permission.
      operationId: UpdateSecret
      parameters:
        - description: The name of the secret.
          in: path
          name: secret-name
          required: true
          type: string
        - description: The version of the secret.
          in: path
          name: secret-version
          required: true
          type: string
        - description: The parameters for update secret operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/SecretUpdateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The updated secret.
          schema:
            $ref: "#/definitions/SecretBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Updates the attributes associated with a specified secret in a given key vault.
      tags:
        - Secrets
      x-ms-examples:
        UpdateSecret:
          parameters:
            api-version: 7.0-preview
            parameters:
              attributes:
                enabled: true
              contentType: myContentType
              tags:
                mytag: myvalue
            secret-name: crpsecret
            secret-version: 03bcccc7c8cf4546a0e3e21e52560441
          responses:
            "200":
              body:
                attributes:
                  created: 1493938459
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1493938459
                contentType: myContentType
                id: https://kv-sdk-test.vault-int.azure-int.net/secrets/crpsecret/03bcccc7c8cf4546a0e3e21e52560441
                tags:
                  mytag: myvalue
  /storage:
    get:
      description: List storage accounts managed by the specified key vault. This operation requires the storage/list permission.
      operationId: GetStorageAccounts
      parameters:
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of storage accounts along with a link to the next page of storage accounts.
          schema:
            $ref: "#/definitions/StorageListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        List Storage account:
          parameters:
            api-version: 7.0-preview
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                nextLink: https://{BaseUri}/storage?api-version=7.0-preview&%24skiptoken=<token>
                value:
                  - attributes:
                      created: 1490738386
                      enabled: true
                      recoveryLevel: Recoverable+Purgeable
                      updated: 1490738386
                    id: https://storage-sdk-test.vault-int.azure-int.net/storage/listStorage01
                    resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc1
                    tags:
                      tag1: val1
                      tag2: val2
                  - attributes:
                      created: 1490738386
                      enabled: true
                      recoveryLevel: Recoverable+Purgeable
                      updated: 1490738386
                    id: https://storage-sdk-test.vault-int.azure-int.net/storage/listStorage02
                    resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc2
                    tags:
                      tag3: val3
                      tag4: val4
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  /storage/restore:
    post:
      description: Restores a backed up storage account to a vault. This operation requires the storage/restore permission.
      operationId: RestoreStorageAccount
      parameters:
        - description: The parameters to restore the storage account.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/StorageRestoreParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Restored storage account bundle in the vault.
          schema:
            $ref: "#/definitions/StorageBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Restores a backed up storage account to a vault.
      tags:
        - Storage
      x-ms-examples:
        Restore Storage Account:
          parameters:
            api-version: 7.0-preview
            parameters:
              value: KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLk1JeFMyLXh0eHAxekpaZ3ZrTUY3d2pGMWxiLVJyNWFrbHFMLXpBaVVOODJKZFJNUDFwak5iS0phRktIOXBRcDg4ODBKeERDSmdESUZHc19OOGlnYmdIZ0Q1c0xVMi1pRzdKM29Hc00taFRMb05oaUd6aGY1YVREakYzWjZpZVhxcFMzVFVOVUFkeFhpTkpIYk94YjBmWHNtcWFtNnA0dXJ3Yzl3Qnk1c2pwRnJheHNRM3NRcHBDLXZybXlVZExaelJIWS0xYnhwaFQxVUdiS0Zsd1dSODU5TmFSQ1BZOFhDWUVrX0hxNnc5S0lWSXRTTlRYYWYxUWFzUDJob0NHT19PMzkzVUNzWGp0NzRtOURqdi1vTHRoMUl6TU5sSWp0STg2MTRhTGs0RTFMUXd6ZUx2X2Y1cndKeXJOWkF1c3VWRlRieFp1Zzh6T3BfYTdCOGhGSEJyQS5rc3pPdTN3blllb1ZUUjRLc2dqMUxBLmYyY3huVE1BbU13Ty1RcmdHSUFYUFN2bEdZUDRYWmJvMFVFOGxtY2xZa3ZhRE5ab3E0Wm41MVNKTDNuUFZsVnBaRFlrUmlpd05BSUxvRS12QWtVbmZoLUczOWo3RHhqWm1zZW02bXBmOWxoZjBnZFFNTDdmejBqRDZ0dW1xSVFaWUhFalV3VG5xdDloeEw5N0lnUUV0WmtFV0VnUEJETnJJNFpYWXdNU2ZyR0FfdkgzYXU1MWpabDFTWjlGajJsTHpEblNqbFd0U05QSzc3X2RwbUxrTXNCSmMtamRteUpxYmVxdmdRcGFTSUNsOXpUUXFQM2RxN1VQV2c1R1ZDNmlNZjlTcnBoUVRKX1V2bnp4LWk4ZWR6ZUppd2hYNW9HQ043RDNDWjkxTzNLQkhmYklOX1VvQWlQVWxzazFveU9KOEVjMk5mbHhOaFlrNFRKUTFBN2xnbXlLRlNQeVMyaFlwUDA2VEpTb0JUenVTQk5OTVdmT0RaTDFfV3V5eThJcDktdlVHMW5JOENDQ1hIeEVVN2FVLW5nRVR5aFBfbWt3Q2FGLWx2WTNqZlV1Z29wSllLR3VscXZadk1VZHhLYU1oemR2a05ubFdGeXlJNXdiRUdZcWgzWEJ0MS11TThrOFZVTDdQallzVUt4S1dYbzBMblJPZmFTbTZpTm9ZTmFOTm5YbF9fVW9rd05fSWM0eVVYR3RuMFhUcTZ4anQwZUpEajlET3FyYmdiLTZoclltRmxLTUNqalVxSGtLU1VPaHVYSE9jOFdFa0JEM1hiR29idi03b3c0c0gyN0YxbHh2UVh0OVgtOUl1akN5dHBMYmt6YnJVdHZJT2puY19xTUNjMXFFTG1wZHJCTGFoMzVmWHZQZXotVk9zSXBNOGdsekhWUUgyWWZHU0UwaTJqVkxpVllkZlFHeDNwdTZPamdUc1hPUm5acldlbFExMVlNbUJkWlVqWFNlZkVlQkxuT1lBbUNtYWM0dHNTa2JHTXZzQm92OWNEc1NRLWlsQUhsT1Fsanp3Umt1bnIxdk1ITlFhRDJLUEE5eGxxZ2NKU3FGT3d3RzROSzBxamhyb0NoZDFxM2RHR2V3U2tTd2xZbW44ZlM0VEJ5VjFMYmtWb2NZZHpiWDhiZG54dHRhVDhKS0pUbjJETWxjVFpvR1hFbWQzN2ZZVnlaNm5uMXdxZExtVW9XLW5OQXc3T3RLV3hyMXJUNV9qOHZjRGhTWk1HdTF6aV81NDEyVTRLcG01dlQ3c3BpWXA4aDl3Rk5scmFjYnVjZGVlaS1zMWR6cDlqWGo2NjRuWWxoYzNjOHJubjJ4ZWlna09YLTNUSWxnbmdxeXpJWG5ROHU0dTc5TC1ObXk1VFNjLU4wTnJVTUxQVE51MnhsUlE4Y0VLT0h4QkJGQV80Nk1yVXlhbjUwODFMSlYtTVVyaXAycl9tS3FJRjJET2wxS2V1aGg5am9PeFVybUk0T19MYkduVjJTbUdoZEZSd3FxUS15U2pxcFE2OFBza3hlQmxTdDZnX28tLVl6Qkg3dDI4V3ZYYzdIT3paNFBwa0psTjVmWFRwOXgtOGNuTGptcG5Pc2hUZWxTUXRYaDMwcTU3LXJZbVJzc2t2cFZfaTZFX2JUMTk2VWtTOHo2WUp1QXh3LXdlZ2tPY1ZITUxkeW5vaDU2UUtuWDhMVFdHdjhqWWNQazlaSlNSbXljTExOcWNtRnpUU1JEbzBXMXBkQVJXY2tqRFM2VFZIdTlHSElsTG9oRnpONEU1T3FqdUMxRjEwSFZjUGxoNTc5UmczWk1SNWJoVjltSEZNOFhJZU9HTHAxZFkxbnNLY2dqRVVlUW5qcF9za0RzanJZMVVncXRkTTVNVWhNSHlEZlhaZ3libk1jSDVRaml0YjdWZktrQk1YcGRwU3pLQWx0WDNjelIwODRPVm5nVGtiV2JZQURDTUQ2N1dlLWM1ZDFONHI2WFdFb2RXelNyWlhyZmc0RVRNNG1UZnV3ZjB0d3NORkRJdW5BWDkwbnZJWm1Ualo2RktpTjBiRnVNWmRpR1NKNTZNUEZMcFd3N3p0dmVmN0xENmhjNHJESXBQbEkwTVlVWTJSLWZGakdaZ29JTmdKMkVuMGFFM0c1V1RySjRxcHhhdHB4MVk3ZUgzOUk3WTYzcEJFWEtkRWIwTmstM0tnM0ljbDJPSkp6SU1fM1VHSlJTTmRQWGlfV3ViNGRTMDV4eURzZTR0d1FXdm9rb1QybHlZNGphNlVOc3lvYWN1eGFsTUZvUFR5dHF4YlVTaXFIMEZab0pWcm84amZja2wyYklmSzRqRzN6TnJIOWU1c3VUVWJDV09wYjczeFNMMG9TLVQ0T1JSNnBRbTZHQk05bFJ0eUhtMHJUMy1sNXc0c2ItNnRDcTM4S3FRdURRTGVTcDI1Rk8zMU1uVE5nTFlUeEUwUEZDT3hmRG1RY3BOOFRoWHBGbzZLNHNrd0dmQkpKTU9BTWtIUWZnMUM0c0V5cS1PLS1FWFhjbVV6QjJGRnR4c1gwR3o0aGJSdTFiUlhXcWMxU0IyUk82d0JsWGdPUmJqZjJlLWJQUFFMdmtGcWR3bFpUTE1kaWVUdjQyQmd1SFd3dzI5OEVqcnNNUXg1WG9aRG11MDFRTzlZSjFmTEYtWjkwWEVOU2p5OTM0M3UyUHhrNjhheG10bnp2ZTdwd3Q3Z0ZMMUoxZlZEd3BqMUtBZDdwdGZoWG4yUzJmT1Bfc3JOM3QxNk1qX29qOUVLQm5VNC1jQ3RLWGRkZS1EWk5zQkNhSGZ1bEtHSkFHYmx1UWs2Yi1kQk5oUS05Z19kajdfcjZub2Z2aDRielEybGlQd1E3M1RTazNiQTdzd2EzclZ5ZTVDTVNlOVotNkVKV1phek1sN0w4VUJ3cFllN0J0eHhUNEVBVGo2SXBvYWhGNTgtRHpiMmRsc1c1ZDZIWmpYZUNMTGtVRmQ5Mll3eDBibFlCanc4eTVzM040OEJMME84WG51ak42c0F0eG04Sm9hWXFVUUd3LXNBS1pTZHAzNk1GNlZXYkpUcHBoZHQ2aEhWQjFoRzdpSGN1STBTRzY0WjczNXEzZ0tSYXFHdzhIUXItSWNyeks0VEQwenk5b01NMHpRLVFBSE1PdzAyX0ozU3pVQWZ1bzFWNU42ajB0VGsyeEt0TFp3cmlHOHJNRl9NWTJrN09mdkxqNFlCb3VNN2lBNVM4LnNfM0VabFhIb1lrV283ZzdpRUp1bHc
            storage-account-name: readStrg01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                activeKeyName: key1
                attributes:
                  created: 1490738386
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1490738386
                autoRegenerateKey: true
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/restoreStrg01
                regenerationPeriod: P30D
                resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc
                tags:
                  tag1: val1
                  tag2: val2
              headers: {}
  "/storage/{storage-account-name}":
    delete:
      description: Deletes a storage account. This operation requires the storage/delete permission.
      operationId: DeleteStorageAccount
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The deleted storage account and information on when the storage account will be deleted, and how to recover the deleted storage account.
          schema:
            $ref: "#/definitions/DeletedStorageBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        Delete Storage account:
          parameters:
            api-version: 7.0-preview
            storage-account-name: deleteStrg01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                activeKeyName: key1
                attributes:
                  created: 1490738386
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1490738386
                autoRegenerateKey: true
                deletedDate: 1490760000
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/deleteStrg01
                recoveryId: https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/deleteStrg01
                regenerationPeriod: P30D
                resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc
                scheduledPurgeDate: 1490790000
                tags:
                  tag1: val1
                  tag2: val2
              headers: {}
    get:
      description: Gets information about a specified storage account. This operation requires the storage/get permission.
      operationId: GetStorageAccount
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The retrieved storage account.
          schema:
            $ref: "#/definitions/StorageBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        Get Storage account:
          parameters:
            api-version: 7.0-preview
            storage-account-name: readStrg01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                activeKeyName: key1
                attributes:
                  created: 1490738386
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1490738386
                autoRegenerateKey: true
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/readStrg01
                regenerationPeriod: P30D
                resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc
                tags:
                  tag1: val1
                  tag2: val2
              headers: {}
    patch:
      description: Updates the specified attributes associated with the given storage account. This operation requires the storage/set/update permission.
      operationId: UpdateStorageAccount
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The parameters to update a storage account.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/StorageAccountUpdateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The updated storage account.
          schema:
            $ref: "#/definitions/StorageBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        Update Storage account:
          parameters:
            api-version: 7.0-preview
            parameters:
              activeKeyName: key1
              regenerationPeriod: P10D
            storage-account-name: patchStrg01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                activeKeyName: key1
                attributes:
                  created: 1490738386
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1490738386
                autoRegenerateKey: true
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/patchStrg01
                regenerationPeriod: P10D
                resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc
                tags:
                  tag1: val1
                  tag2: val2
              headers: {}
    put:
      description: Creates or updates a new storage account. This operation requires the storage/set permission.
      operationId: SetStorageAccount
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The parameters to create a storage account.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/StorageAccountCreateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The created storage account.
          schema:
            $ref: "#/definitions/StorageBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        Set Storage account:
          parameters:
            api-version: 7.0-preview
            parameters:
              activeKeyName: key2
              attributes:
                enabled: true
              autoRegenerateKey: true
              regenerationPeriod: P15D
              resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc
              tags:
                tag1: val1
                tag2: val2
            storage-account-name: setStrg01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                activeKeyName: key2
                attributes:
                  created: 1490738386
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1490738386
                autoRegenerateKey: true
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/setStrg01
                regenerationPeriod: P15D
                resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc
                tags:
                  tag1: val1
                  tag2: val2
              headers: {}
  "/storage/{storage-account-name}/backup":
    post:
      description: Requests that a backup of the specified storage account be downloaded to the client. This operation requires the storage/backup permission.
      operationId: BackupStorageAccount
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The backup blob containing the backed up storage account.
          schema:
            $ref: "#/definitions/BackupStorageResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      summary: Backs up the specified storage account.
      tags:
        - Storage
      x-ms-examples:
        Backup Storage Account:
          parameters:
            api-version: 7.0-preview
            storage-account-name: backupStrg01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                value: KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLk1JeFMyLXh0eHAxekpaZ3ZrTUY3d2pGMWxiLVJyNWFrbHFMLXpBaVVOODJKZFJNUDFwak5iS0phRktIOXBRcDg4ODBKeERDSmdESUZHc19OOGlnYmdIZ0Q1c0xVMi1pRzdKM29Hc00taFRMb05oaUd6aGY1YVREakYzWjZpZVhxcFMzVFVOVUFkeFhpTkpIYk94YjBmWHNtcWFtNnA0dXJ3Yzl3Qnk1c2pwRnJheHNRM3NRcHBDLXZybXlVZExaelJIWS0xYnhwaFQxVUdiS0Zsd1dSODU5TmFSQ1BZOFhDWUVrX0hxNnc5S0lWSXRTTlRYYWYxUWFzUDJob0NHT19PMzkzVUNzWGp0NzRtOURqdi1vTHRoMUl6TU5sSWp0STg2MTRhTGs0RTFMUXd6ZUx2X2Y1cndKeXJOWkF1c3VWRlRieFp1Zzh6T3BfYTdCOGhGSEJyQS5rc3pPdTN3blllb1ZUUjRLc2dqMUxBLmYyY3huVE1BbU13Ty1RcmdHSUFYUFN2bEdZUDRYWmJvMFVFOGxtY2xZa3ZhRE5ab3E0Wm41MVNKTDNuUFZsVnBaRFlrUmlpd05BSUxvRS12QWtVbmZoLUczOWo3RHhqWm1zZW02bXBmOWxoZjBnZFFNTDdmejBqRDZ0dW1xSVFaWUhFalV3VG5xdDloeEw5N0lnUUV0WmtFV0VnUEJETnJJNFpYWXdNU2ZyR0FfdkgzYXU1MWpabDFTWjlGajJsTHpEblNqbFd0U05QSzc3X2RwbUxrTXNCSmMtamRteUpxYmVxdmdRcGFTSUNsOXpUUXFQM2RxN1VQV2c1R1ZDNmlNZjlTcnBoUVRKX1V2bnp4LWk4ZWR6ZUppd2hYNW9HQ043RDNDWjkxTzNLQkhmYklOX1VvQWlQVWxzazFveU9KOEVjMk5mbHhOaFlrNFRKUTFBN2xnbXlLRlNQeVMyaFlwUDA2VEpTb0JUenVTQk5OTVdmT0RaTDFfV3V5eThJcDktdlVHMW5JOENDQ1hIeEVVN2FVLW5nRVR5aFBfbWt3Q2FGLWx2WTNqZlV1Z29wSllLR3VscXZadk1VZHhLYU1oemR2a05ubFdGeXlJNXdiRUdZcWgzWEJ0MS11TThrOFZVTDdQallzVUt4S1dYbzBMblJPZmFTbTZpTm9ZTmFOTm5YbF9fVW9rd05fSWM0eVVYR3RuMFhUcTZ4anQwZUpEajlET3FyYmdiLTZoclltRmxLTUNqalVxSGtLU1VPaHVYSE9jOFdFa0JEM1hiR29idi03b3c0c0gyN0YxbHh2UVh0OVgtOUl1akN5dHBMYmt6YnJVdHZJT2puY19xTUNjMXFFTG1wZHJCTGFoMzVmWHZQZXotVk9zSXBNOGdsekhWUUgyWWZHU0UwaTJqVkxpVllkZlFHeDNwdTZPamdUc1hPUm5acldlbFExMVlNbUJkWlVqWFNlZkVlQkxuT1lBbUNtYWM0dHNTa2JHTXZzQm92OWNEc1NRLWlsQUhsT1Fsanp3Umt1bnIxdk1ITlFhRDJLUEE5eGxxZ2NKU3FGT3d3RzROSzBxamhyb0NoZDFxM2RHR2V3U2tTd2xZbW44ZlM0VEJ5VjFMYmtWb2NZZHpiWDhiZG54dHRhVDhKS0pUbjJETWxjVFpvR1hFbWQzN2ZZVnlaNm5uMXdxZExtVW9XLW5OQXc3T3RLV3hyMXJUNV9qOHZjRGhTWk1HdTF6aV81NDEyVTRLcG01dlQ3c3BpWXA4aDl3Rk5scmFjYnVjZGVlaS1zMWR6cDlqWGo2NjRuWWxoYzNjOHJubjJ4ZWlna09YLTNUSWxnbmdxeXpJWG5ROHU0dTc5TC1ObXk1VFNjLU4wTnJVTUxQVE51MnhsUlE4Y0VLT0h4QkJGQV80Nk1yVXlhbjUwODFMSlYtTVVyaXAycl9tS3FJRjJET2wxS2V1aGg5am9PeFVybUk0T19MYkduVjJTbUdoZEZSd3FxUS15U2pxcFE2OFBza3hlQmxTdDZnX28tLVl6Qkg3dDI4V3ZYYzdIT3paNFBwa0psTjVmWFRwOXgtOGNuTGptcG5Pc2hUZWxTUXRYaDMwcTU3LXJZbVJzc2t2cFZfaTZFX2JUMTk2VWtTOHo2WUp1QXh3LXdlZ2tPY1ZITUxkeW5vaDU2UUtuWDhMVFdHdjhqWWNQazlaSlNSbXljTExOcWNtRnpUU1JEbzBXMXBkQVJXY2tqRFM2VFZIdTlHSElsTG9oRnpONEU1T3FqdUMxRjEwSFZjUGxoNTc5UmczWk1SNWJoVjltSEZNOFhJZU9HTHAxZFkxbnNLY2dqRVVlUW5qcF9za0RzanJZMVVncXRkTTVNVWhNSHlEZlhaZ3libk1jSDVRaml0YjdWZktrQk1YcGRwU3pLQWx0WDNjelIwODRPVm5nVGtiV2JZQURDTUQ2N1dlLWM1ZDFONHI2WFdFb2RXelNyWlhyZmc0RVRNNG1UZnV3ZjB0d3NORkRJdW5BWDkwbnZJWm1Ualo2RktpTjBiRnVNWmRpR1NKNTZNUEZMcFd3N3p0dmVmN0xENmhjNHJESXBQbEkwTVlVWTJSLWZGakdaZ29JTmdKMkVuMGFFM0c1V1RySjRxcHhhdHB4MVk3ZUgzOUk3WTYzcEJFWEtkRWIwTmstM0tnM0ljbDJPSkp6SU1fM1VHSlJTTmRQWGlfV3ViNGRTMDV4eURzZTR0d1FXdm9rb1QybHlZNGphNlVOc3lvYWN1eGFsTUZvUFR5dHF4YlVTaXFIMEZab0pWcm84amZja2wyYklmSzRqRzN6TnJIOWU1c3VUVWJDV09wYjczeFNMMG9TLVQ0T1JSNnBRbTZHQk05bFJ0eUhtMHJUMy1sNXc0c2ItNnRDcTM4S3FRdURRTGVTcDI1Rk8zMU1uVE5nTFlUeEUwUEZDT3hmRG1RY3BOOFRoWHBGbzZLNHNrd0dmQkpKTU9BTWtIUWZnMUM0c0V5cS1PLS1FWFhjbVV6QjJGRnR4c1gwR3o0aGJSdTFiUlhXcWMxU0IyUk82d0JsWGdPUmJqZjJlLWJQUFFMdmtGcWR3bFpUTE1kaWVUdjQyQmd1SFd3dzI5OEVqcnNNUXg1WG9aRG11MDFRTzlZSjFmTEYtWjkwWEVOU2p5OTM0M3UyUHhrNjhheG10bnp2ZTdwd3Q3Z0ZMMUoxZlZEd3BqMUtBZDdwdGZoWG4yUzJmT1Bfc3JOM3QxNk1qX29qOUVLQm5VNC1jQ3RLWGRkZS1EWk5zQkNhSGZ1bEtHSkFHYmx1UWs2Yi1kQk5oUS05Z19kajdfcjZub2Z2aDRielEybGlQd1E3M1RTazNiQTdzd2EzclZ5ZTVDTVNlOVotNkVKV1phek1sN0w4VUJ3cFllN0J0eHhUNEVBVGo2SXBvYWhGNTgtRHpiMmRsc1c1ZDZIWmpYZUNMTGtVRmQ5Mll3eDBibFlCanc4eTVzM040OEJMME84WG51ak42c0F0eG04Sm9hWXFVUUd3LXNBS1pTZHAzNk1GNlZXYkpUcHBoZHQ2aEhWQjFoRzdpSGN1STBTRzY0WjczNXEzZ0tSYXFHdzhIUXItSWNyeks0VEQwenk5b01NMHpRLVFBSE1PdzAyX0ozU3pVQWZ1bzFWNU42ajB0VGsyeEt0TFp3cmlHOHJNRl9NWTJrN09mdkxqNFlCb3VNN2lBNVM4LnNfM0VabFhIb1lrV283ZzdpRUp1bHc
              headers: {}
  "/storage/{storage-account-name}/regeneratekey":
    post:
      description: Regenerates the specified key value for the given storage account. This operation requires the storage/regeneratekey permission.
      operationId: RegenerateStorageAccountKey
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The parameters to regenerate storage account key.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/StorageAccountRegenerteKeyParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The updated storage account.
          schema:
            $ref: "#/definitions/StorageBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        Regenerate Storage account key:
          parameters:
            api-version: 7.0-preview
            parameters:
              keyName: key2
            storage-account-name: regenerateKey01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                activeKeyName: key2
                attributes:
                  created: 1490738386
                  enabled: true
                  recoveryLevel: Recoverable+Purgeable
                  updated: 1490738386
                autoRegenerateKey: true
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/regenerateKey01
                regenerationPeriod: P10D
                resourceId: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc
                tags:
                  tag1: val1
                  tag2: val2
              headers: {}
  "/storage/{storage-account-name}/sas":
    get:
      description: List storage SAS definitions for the given storage account. This operation requires the storage/listsas permission.
      operationId: GetSasDefinitions
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: Maximum number of results to return in a page. If not specified the service will return up to 25 results.
          format: int32
          in: query
          maximum: 25
          minimum: 1
          name: maxresults
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response message containing a list of SAS definitions along with a link to the next page of SAS definitions.
          schema:
            $ref: "#/definitions/SasDefinitionListResult"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        List Storage Sas Definition:
          parameters:
            api-version: 7.0-preview
            storage-account-name: listsas01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                nextLink: https://{BaseUri}/storage/listsas01/sas?api-version=7.0-preview&%24skiptoken=<token>
                value:
                  - attributes:
                      created: 1490738438
                      enabled: true
                      recoveryLevel: Recoverable
                      updated: 1490738438
                    id: https://storage-sdk-test.vault-int.azure-int.net/storage/listsas01/sas/listStrgSasDef01
                    sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/listsas01-listStrgSasDef01
                  - attributes:
                      created: 1490738438
                      enabled: true
                      recoveryLevel: Recoverable
                      updated: 1490738438
                    id: https://storage-sdk-test.vault-int.azure-int.net/storage/listsas01/sas/listStrgSasDef02
                    sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/listsas01-listStrgSasDef02
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/storage/{storage-account-name}/sas/{sas-definition-name}":
    delete:
      description: Deletes a SAS definition from a specified storage account. This operation requires the storage/deletesas permission.
      operationId: DeleteSasDefinition
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The name of the SAS definition.
          in: path
          name: sas-definition-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The deleted SAS definition and information on when the SAS definition will be deleted, and how to recover the deleted SAS definition.
          schema:
            $ref: "#/definitions/DeletedSasDefinitionBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        Delete Storage Sas Definition:
          parameters:
            api-version: 7.0-preview
            sas-definition-name: deleteStrgSasDef01
            storage-account-name: deletesas01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                attributes:
                  created: 1490738438
                  enabled: true
                  recoveryLevel: Recoverable
                  updated: 1490738438
                deletedDate: 1490760000
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/deletesas01/sas/deleteStrgSasDef01
                recoveryId: https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/deletesas01/sas/deleteStrgSasDef01
                sasType: service
                scheduledPurgeDate: 1490790000
                sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/deletesas01-deleteStrgSasDef01
                templateUri: se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D
                validityPeriod: P15D
              headers: {}
    get:
      description: Gets information about a SAS definition for the specified storage account. This operation requires the storage/getsas permission.
      operationId: GetSasDefinition
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The name of the SAS definition.
          in: path
          name: sas-definition-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The retrieved SAS definition.
          schema:
            $ref: "#/definitions/SasDefinitionBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        Get Storage Sas Definition:
          parameters:
            api-version: 7.0-preview
            sas-definition-name: getStrgSasDef01
            storage-account-name: getsas01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                attributes:
                  created: 1490738438
                  enabled: true
                  recoveryLevel: Recoverable
                  updated: 1490738438
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/getsas01/sas/getStrgSasDef01
                sasType: service
                sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/getsas01-getStrgSasDef01
                templateUri: se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D
                validityPeriod: P15D
              headers: {}
    patch:
      description: Updates the specified attributes associated with the given SAS definition. This operation requires the storage/setsas permission.
      operationId: UpdateSasDefinition
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The name of the SAS definition.
          in: path
          name: sas-definition-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The parameters to update a SAS definition.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/SasDefinitionUpdateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The updated SAS definition.
          schema:
            $ref: "#/definitions/SasDefinitionBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        Update Storage Sas definition:
          parameters:
            api-version: 7.0-preview
            parameters:
              attributes:
                enabled: true
              sasType: service
              templateUri: se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D
              validityPeriod: P15D
            sas-definition-name: patchStrgSasDef01
            storage-account-name: patchsas01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                attributes:
                  created: 1490738438
                  enabled: true
                  recoveryLevel: Recoverable
                  updated: 1490738438
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/patchsas01/sas/patchStrgSasDef01
                sasType: service
                sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/patchsas01-patchStrgSasDef01
                templateUri: se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D
                validityPeriod: P15D
              headers: {}
    put:
      description: Creates or updates a new SAS definition for the specified storage account. This operation requires the storage/setsas permission.
      operationId: SetSasDefinition
      parameters:
        - description: The name of the storage account.
          in: path
          name: storage-account-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The name of the SAS definition.
          in: path
          name: sas-definition-name
          pattern: ^[0-9a-zA-Z]+$
          required: true
          type: string
        - description: The parameters to create a SAS definition.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/SasDefinitionCreateParameters"
          x-ms-client-flatten: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The created SAS definition.
          schema:
            $ref: "#/definitions/SasDefinitionBundle"
        default:
          description: Key Vault error response describing why the operation failed.
          schema:
            $ref: "#/definitions/KeyVaultError"
      tags:
        - Storage
      x-ms-examples:
        Set Storage Sas definition:
          parameters:
            api-version: 7.0-preview
            parameters:
              attributes:
                enabled: true
              sasType: service
              templateUri: se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D
              validityPeriod: P15D
            sas-definition-name: setStrgSasDef01
            storage-account-name: setsas01
            vaultBaseUrl: https://storage-sdk-test.vault-int.azure-int.net/
          responses:
            "200":
              body:
                attributes:
                  created: 1490738438
                  enabled: true
                  recoveryLevel: Recoverable
                  updated: 1490738438
                id: https://storage-sdk-test.vault-int.azure-int.net/storage/setsas01/sas/setStrgSasDef01
                sasType: service
                sid: https://storage-sdk-test.vault-int.azure-int.net/secrets/setsas01-setStrgSasDef01
                templateUri: se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D
                validityPeriod: P15D
              headers: {}
definitions:
  Action:
    description: The action that will be executed.
    properties:
      action_type:
        description: The type of the action.
        enum:
          - EmailContacts
          - AutoRenew
        type: string
        x-ms-enum:
          modelAsString: false
          name: ActionType
  AdministratorDetails:
    description: Details of the organization administrator of the certificate issuer.
    properties:
      email:
        description: Email address.
        type: string
        x-ms-client-name: EmailAddress
      first_name:
        description: First name.
        type: string
      last_name:
        description: Last name.
        type: string
      phone:
        description: Phone number.
        type: string
  Attributes:
    description: The object attributes managed by the KeyVault service.
    properties:
      created:
        description: Creation time in UTC.
        format: unixtime
        readOnly: true
        type: integer
      enabled:
        description: Determines whether the object is enabled.
        type: boolean
      exp:
        description: Expiry date in UTC.
        format: unixtime
        type: integer
        x-ms-client-name: Expires
      nbf:
        description: Not before date in UTC.
        format: unixtime
        type: integer
        x-ms-client-name: NotBefore
      updated:
        description: Last updated time in UTC.
        format: unixtime
        readOnly: true
        type: integer
  BackupCertificateResult:
    description: The backup certificate result, containing the backup blob.
    properties:
      value:
        description: The backup blob containing the backed up certificate.
        format: base64url
        readOnly: true
        type: string
  BackupKeyResult:
    description: The backup key result, containing the backup blob.
    properties:
      value:
        description: The backup blob containing the backed up key.
        format: base64url
        readOnly: true
        type: string
  BackupSecretResult:
    description: The backup secret result, containing the backup blob.
    properties:
      value:
        description: The backup blob containing the backed up secret.
        format: base64url
        readOnly: true
        type: string
  BackupStorageResult:
    description: The backup storage result, containing the backup blob.
    properties:
      value:
        description: The backup blob containing the backed up storage account.
        format: base64url
        readOnly: true
        type: string
  CertificateAttributes:
    allOf:
      - $ref: "#/definitions/Attributes"
    description: The certificate management attributes.
    properties:
      recoveryLevel:
        description: Reflects the deletion recovery level currently in effect for certificates in the current vault. If it contains 'Purgeable', the certificate can be permanently deleted by a privileged user; otherwise, only the system can purge the certificate, at the end of the retention interval.
        enum:
          - Purgeable
          - Recoverable+Purgeable
          - Recoverable
          - Recoverable+ProtectedSubscription
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: DeletionRecoveryLevel
        x-nullable: false
  CertificateBundle:
    description: A certificate bundle consists of a certificate (X509) plus its attributes.
    properties:
      attributes:
        $ref: "#/definitions/CertificateAttributes"
        description: The certificate attributes.
      cer:
        description: CER contents of x509 certificate.
        format: byte
        type: string
      contentType:
        description: The content type of the secret.
        type: string
      id:
        description: The certificate id.
        readOnly: true
        type: string
      kid:
        description: The key id.
        readOnly: true
        type: string
      policy:
        $ref: "#/definitions/CertificatePolicy"
        description: The management policy.
        readOnly: true
      sid:
        description: The secret id.
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs
        type: object
      x5t:
        description: Thumbprint of the certificate.
        format: base64url
        readOnly: true
        type: string
        x-ms-client-name: X509Thumbprint
  CertificateCreateParameters:
    description: The certificate create parameters.
    properties:
      attributes:
        $ref: "#/definitions/CertificateAttributes"
        description: The attributes of the certificate (optional).
        x-ms-client-name: CertificateAttributes
      policy:
        $ref: "#/definitions/CertificatePolicy"
        description: The management policy for the certificate.
        x-ms-client-name: CertificatePolicy
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
  CertificateImportParameters:
    description: The certificate import parameters.
    properties:
      attributes:
        $ref: "#/definitions/CertificateAttributes"
        description: The attributes of the certificate (optional).
        x-ms-client-name: CertificateAttributes
      policy:
        $ref: "#/definitions/CertificatePolicy"
        description: The management policy for the certificate.
        x-ms-client-name: CertificatePolicy
      pwd:
        description: If the private key in base64EncodedCertificate is encrypted, the password used for encryption.
        type: string
        x-ms-client-name: password
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
      value:
        description: Base64 encoded representation of the certificate object to import. This certificate needs to contain the private key.
        type: string
        x-ms-client-name: base64EncodedCertificate
    required:
      - value
  CertificateIssuerItem:
    description: The certificate issuer item containing certificate issuer metadata.
    properties:
      id:
        description: Certificate Identifier.
        type: string
      provider:
        description: The issuer provider.
        type: string
  CertificateIssuerListResult:
    description: The certificate issuer list result.
    properties:
      nextLink:
        description: The URL to get the next set of certificate issuers.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of certificate issuers in the key vault along with a link to the next page of certificate issuers.
        items:
          $ref: "#/definitions/CertificateIssuerItem"
        readOnly: true
        type: array
  CertificateIssuerSetParameters:
    description: The certificate issuer set parameters.
    properties:
      attributes:
        $ref: "#/definitions/IssuerAttributes"
        description: Attributes of the issuer object.
      credentials:
        $ref: "#/definitions/IssuerCredentials"
        description: The credentials to be used for the issuer.
      org_details:
        $ref: "#/definitions/OrganizationDetails"
        description: Details of the organization as provided to the issuer.
        x-ms-client-name: OrganizationDetails
      provider:
        description: The issuer provider.
        type: string
    required:
      - provider
  CertificateIssuerUpdateParameters:
    description: The certificate issuer update parameters.
    properties:
      attributes:
        $ref: "#/definitions/IssuerAttributes"
        description: Attributes of the issuer object.
      credentials:
        $ref: "#/definitions/IssuerCredentials"
        description: The credentials to be used for the issuer.
      org_details:
        $ref: "#/definitions/OrganizationDetails"
        description: Details of the organization as provided to the issuer.
        x-ms-client-name: OrganizationDetails
      provider:
        description: The issuer provider.
        type: string
  CertificateItem:
    description: The certificate item containing certificate metadata.
    properties:
      attributes:
        $ref: "#/definitions/CertificateAttributes"
        description: The certificate management attributes.
      id:
        description: Certificate identifier.
        type: string
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
      x5t:
        description: Thumbprint of the certificate.
        format: base64url
        type: string
        x-ms-client-name: X509Thumbprint
  CertificateListResult:
    description: The certificate list result.
    properties:
      nextLink:
        description: The URL to get the next set of certificates.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of certificates in the key vault along with a link to the next page of certificates.
        items:
          $ref: "#/definitions/CertificateItem"
        readOnly: true
        type: array
  CertificateMergeParameters:
    description: The certificate merge parameters
    properties:
      attributes:
        $ref: "#/definitions/CertificateAttributes"
        description: The attributes of the certificate (optional).
        x-ms-client-name: CertificateAttributes
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
      x5c:
        description: The certificate or the certificate chain to merge.
        items:
          format: byte
          type: string
        type: array
        x-ms-client-name: x509Certificates
    required:
      - x5c
  CertificateOperation:
    description: A certificate operation is returned in case of asynchronous requests.
    properties:
      cancellation_requested:
        description: Indicates if cancellation was requested on the certificate operation.
        type: boolean
      csr:
        description: The certificate signing request (CSR) that is being used in the certificate operation.
        format: byte
        type: string
      error:
        $ref: "#/definitions/Error"
        description: Error encountered, if any, during the certificate operation.
      id:
        description: The certificate id.
        readOnly: true
        type: string
      issuer:
        $ref: "#/definitions/IssuerParameters"
        description: Parameters for the issuer of the X509 component of a certificate.
        x-ms-client-name: IssuerParameters
      request_id:
        description: Identifier for the certificate operation.
        type: string
      status:
        description: Status of the certificate operation.
        type: string
      status_details:
        description: The status details of the certificate operation.
        type: string
      target:
        description: Location which contains the result of the certificate operation.
        type: string
  CertificateOperationUpdateParameter:
    description: The certificate operation update parameters.
    properties:
      cancellation_requested:
        description: Indicates if cancellation was requested on the certificate operation.
        type: boolean
    required:
      - cancellation_requested
  CertificatePolicy:
    description: Management policy for a certificate.
    properties:
      attributes:
        $ref: "#/definitions/CertificateAttributes"
        description: The certificate attributes.
      id:
        description: The certificate id.
        readOnly: true
        type: string
      issuer:
        $ref: "#/definitions/IssuerParameters"
        description: Parameters for the issuer of the X509 component of a certificate.
        x-ms-client-name: IssuerParameters
      key_props:
        $ref: "#/definitions/KeyProperties"
        description: Properties of the key backing a certificate.
        x-ms-client-name: KeyProperties
      lifetime_actions:
        description: Actions that will be performed by Key Vault over the lifetime of a certificate.
        items:
          $ref: "#/definitions/LifetimeAction"
        type: array
      secret_props:
        $ref: "#/definitions/SecretProperties"
        description: Properties of the secret backing a certificate.
        x-ms-client-name: SecretProperties
      x509_props:
        $ref: "#/definitions/X509CertificateProperties"
        description: Properties of the X509 component of a certificate.
        x-ms-client-name: X509CertificateProperties
  CertificateRestoreParameters:
    description: The certificate restore parameters.
    properties:
      value:
        description: The backup blob associated with a certificate bundle.
        format: base64url
        type: string
        x-ms-client-name: certificateBundleBackup
    required:
      - value
  CertificateUpdateParameters:
    description: The certificate update parameters.
    properties:
      attributes:
        $ref: "#/definitions/CertificateAttributes"
        description: The attributes of the certificate (optional).
        x-ms-client-name: CertificateAttributes
      policy:
        $ref: "#/definitions/CertificatePolicy"
        description: The management policy for the certificate.
        x-ms-client-name: CertificatePolicy
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
  Contact:
    description: The contact information for the vault certificates.
    properties:
      email:
        description: Email address.
        type: string
        x-ms-client-name: EmailAddress
      name:
        description: Name.
        type: string
      phone:
        description: Phone number.
        type: string
  Contacts:
    description: The contacts for the vault certificates.
    properties:
      contacts:
        description: The contact list for the vault certificates.
        items:
          $ref: "#/definitions/Contact"
        type: array
        x-ms-client-name: ContactList
      id:
        description: Identifier for the contacts collection.
        readOnly: true
        type: string
  DeletedCertificateBundle:
    allOf:
      - $ref: "#/definitions/CertificateBundle"
    description: A Deleted Certificate consisting of its previous id, attributes and its tags, as well as information on when it will be purged.
    properties:
      deletedDate:
        description: The time when the certificate was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted certificate.
        type: string
      scheduledPurgeDate:
        description: The time when the certificate is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedCertificateItem:
    allOf:
      - $ref: "#/definitions/CertificateItem"
    description: The deleted certificate item containing metadata about the deleted certificate.
    properties:
      deletedDate:
        description: The time when the certificate was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted certificate.
        type: string
      scheduledPurgeDate:
        description: The time when the certificate is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedCertificateListResult:
    description: A list of certificates that have been deleted in this vault.
    properties:
      nextLink:
        description: The URL to get the next set of deleted certificates.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates
        items:
          $ref: "#/definitions/DeletedCertificateItem"
        readOnly: true
        type: array
  DeletedKeyBundle:
    allOf:
      - $ref: "#/definitions/KeyBundle"
    description: A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion info
    properties:
      deletedDate:
        description: The time when the key was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted key.
        type: string
      scheduledPurgeDate:
        description: The time when the key is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedKeyItem:
    allOf:
      - $ref: "#/definitions/KeyItem"
    description: The deleted key item containing the deleted key metadata and information about deletion.
    properties:
      deletedDate:
        description: The time when the key was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted key.
        type: string
      scheduledPurgeDate:
        description: The time when the key is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedKeyListResult:
    description: A list of keys that have been deleted in this vault.
    properties:
      nextLink:
        description: The URL to get the next set of deleted keys.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys
        items:
          $ref: "#/definitions/DeletedKeyItem"
        readOnly: true
        type: array
  DeletedSasDefinitionBundle:
    allOf:
      - $ref: "#/definitions/SasDefinitionBundle"
    description: A deleted SAS definition bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged.
    properties:
      deletedDate:
        description: The time when the SAS definition was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted SAS definition.
        type: string
      scheduledPurgeDate:
        description: The time when the SAS definition is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedSasDefinitionItem:
    allOf:
      - $ref: "#/definitions/SasDefinitionItem"
    description: The deleted SAS definition item containing metadata about the deleted SAS definition.
    properties:
      deletedDate:
        description: The time when the SAS definition was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted SAS definition.
        type: string
      scheduledPurgeDate:
        description: The time when the SAS definition is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedSasDefinitionListResult:
    description: The deleted SAS definition list result
    properties:
      nextLink:
        description: The URL to get the next set of deleted SAS definitions.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of the deleted SAS definitions in the vault along with a link to the next page of deleted sas definitions
        items:
          $ref: "#/definitions/DeletedSasDefinitionItem"
        readOnly: true
        type: array
  DeletedSecretBundle:
    allOf:
      - $ref: "#/definitions/SecretBundle"
    description: A Deleted Secret consisting of its previous id, attributes and its tags, as well as information on when it will be purged.
    properties:
      deletedDate:
        description: The time when the secret was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted secret.
        type: string
      scheduledPurgeDate:
        description: The time when the secret is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedSecretItem:
    allOf:
      - $ref: "#/definitions/SecretItem"
    description: The deleted secret item containing metadata about the deleted secret.
    properties:
      deletedDate:
        description: The time when the secret was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted secret.
        type: string
      scheduledPurgeDate:
        description: The time when the secret is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedSecretListResult:
    description: The deleted secret list result
    properties:
      nextLink:
        description: The URL to get the next set of deleted secrets.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of the deleted secrets in the vault along with a link to the next page of deleted secrets
        items:
          $ref: "#/definitions/DeletedSecretItem"
        readOnly: true
        type: array
  DeletedStorageAccountItem:
    allOf:
      - $ref: "#/definitions/StorageAccountItem"
    description: The deleted storage account item containing metadata about the deleted storage account.
    properties:
      deletedDate:
        description: The time when the storage account was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted storage account.
        type: string
      scheduledPurgeDate:
        description: The time when the storage account is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedStorageBundle:
    allOf:
      - $ref: "#/definitions/StorageBundle"
    description: A deleted storage account bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged.
    properties:
      deletedDate:
        description: The time when the storage account was deleted, in UTC
        format: unixtime
        readOnly: true
        type: integer
      recoveryId:
        description: The url of the recovery object, used to identify and recover the deleted storage account.
        type: string
      scheduledPurgeDate:
        description: The time when the storage account is scheduled to be purged, in UTC
        format: unixtime
        readOnly: true
        type: integer
  DeletedStorageListResult:
    description: The deleted storage account list result
    properties:
      nextLink:
        description: The URL to get the next set of deleted storage accounts.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of the deleted storage accounts in the vault along with a link to the next page of deleted storage accounts
        items:
          $ref: "#/definitions/DeletedStorageAccountItem"
        readOnly: true
        type: array
  Error:
    description: The key vault server error.
    properties:
      code:
        description: The error code.
        readOnly: true
        type: string
      innererror:
        $ref: "#/definitions/Error"
        readOnly: true
        x-ms-client-name: innerError
      message:
        description: The error message.
        readOnly: true
        type: string
  IssuerAttributes:
    description: The attributes of an issuer managed by the Key Vault service.
    properties:
      created:
        description: Creation time in UTC.
        format: unixtime
        readOnly: true
        type: integer
      enabled:
        description: Determines whether the issuer is enabled.
        type: boolean
      updated:
        description: Last updated time in UTC.
        format: unixtime
        readOnly: true
        type: integer
  IssuerBundle:
    description: The issuer for Key Vault certificate.
    properties:
      attributes:
        $ref: "#/definitions/IssuerAttributes"
        description: Attributes of the issuer object.
      credentials:
        $ref: "#/definitions/IssuerCredentials"
        description: The credentials to be used for the issuer.
      id:
        description: Identifier for the issuer object.
        readOnly: true
        type: string
      org_details:
        $ref: "#/definitions/OrganizationDetails"
        description: Details of the organization as provided to the issuer.
        x-ms-client-name: OrganizationDetails
      provider:
        description: The issuer provider.
        type: string
  IssuerCredentials:
    description: The credentials to be used for the certificate issuer.
    properties:
      account_id:
        description: The user name/account name/account id.
        type: string
      pwd:
        description: The password/secret/account key.
        type: string
        x-ms-client-name: Password
  IssuerParameters:
    description: Parameters for the issuer of the X509 component of a certificate.
    properties:
      cert_transparency:
        description: Indicates if the certificates generated under this policy should be published to certificate transparency logs.
        type: boolean
        x-ms-client-name: CertificateTransparency
      cty:
        description: Certificate type as supported by the provider (optional); for example 'OV-SSL', 'EV-SSL'
        type: string
        x-ms-client-name: CertificateType
      name:
        description: Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'.
        type: string
  JsonWebKey:
    description: As of http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18
    properties:
      crv:
        description: Elliptic curve name. For valid values, see JsonWebKeyCurveName.
        enum:
          - P-256
          - P-384
          - P-521
          - P-256K
        type: string
        x-ms-enum:
          modelAsString: true
          name: JsonWebKeyCurveName
          values:
            - description: The NIST P-256 elliptic curve, AKA SECG curve SECP256R1.
              value: P-256
            - description: The NIST P-384 elliptic curve, AKA SECG curve SECP384R1.
              value: P-384
            - description: The NIST P-521 elliptic curve, AKA SECG curve SECP521R1.
              value: P-521
            - description: The SECG SECP256K1 elliptic curve.
              value: P-256K
      d:
        description: RSA private exponent, or the D component of an EC private key.
        format: base64url
        type: string
      dp:
        description: RSA private key parameter.
        format: base64url
        type: string
        x-ms-client-name: DP
      dq:
        description: RSA private key parameter.
        format: base64url
        type: string
        x-ms-client-name: DQ
      e:
        description: RSA public exponent.
        format: base64url
        type: string
      k:
        description: Symmetric key.
        format: base64url
        type: string
      key_hsm:
        description: HSM Token, used with 'Bring Your Own Key'.
        format: base64url
        type: string
        x-ms-client-name: t
      key_ops:
        items:
          description: Supported key operations.
          type: string
        type: array
      kid:
        description: Key identifier.
        type: string
      kty:
        description: JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40.
        enum:
          - EC
          - EC-HSM
          - RSA
          - RSA-HSM
          - oct
        type: string
        x-ms-enum:
          modelAsString: true
          name: JsonWebKeyType
          values:
            - description: Elliptic Curve.
              value: EC
            - description: Elliptic Curve with a private key which is not exportable from the HSM.
              value: EC-HSM
            - description: RSA (https://tools.ietf.org/html/rfc3447)
              value: RSA
            - description: RSA with a private key which is not exportable from the HSM.
              value: RSA-HSM
            - description: Octet sequence (used to represent symmetric keys)
              value: oct
      n:
        description: RSA modulus.
        format: base64url
        type: string
      p:
        description: RSA secret prime.
        format: base64url
        type: string
      q:
        description: RSA secret prime, with p < q.
        format: base64url
        type: string
      qi:
        description: RSA private key parameter.
        format: base64url
        type: string
        x-ms-client-name: QI
      x:
        description: X component of an EC public key.
        format: base64url
        type: string
      y:
        description: Y component of an EC public key.
        format: base64url
        type: string
  KeyAttributes:
    allOf:
      - $ref: "#/definitions/Attributes"
    description: The attributes of a key managed by the key vault service.
    properties:
      recoveryLevel:
        description: Reflects the deletion recovery level currently in effect for keys in the current vault. If it contains 'Purgeable' the key can be permanently deleted by a privileged user; otherwise, only the system can purge the key, at the end of the retention interval.
        enum:
          - Purgeable
          - Recoverable+Purgeable
          - Recoverable
          - Recoverable+ProtectedSubscription
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: DeletionRecoveryLevel
        x-nullable: false
  KeyBundle:
    description: A KeyBundle consisting of a WebKey plus its attributes.
    properties:
      attributes:
        $ref: "#/definitions/KeyAttributes"
        description: The key management attributes.
      key:
        $ref: "#/definitions/JsonWebKey"
        description: The Json web key.
      managed:
        description: True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true.
        readOnly: true
        type: boolean
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
  KeyCreateParameters:
    description: The key create parameters.
    properties:
      attributes:
        $ref: "#/definitions/KeyAttributes"
        x-ms-client-name: keyAttributes
      crv:
        description: Elliptic curve name. For valid values, see JsonWebKeyCurveName.
        enum:
          - P-256
          - P-384
          - P-521
          - P-256K
        type: string
        x-ms-client-name: curve
        x-ms-enum:
          modelAsString: true
          name: JsonWebKeyCurveName
      key_ops:
        items:
          description: JSON web key operations. For more information, see JsonWebKeyOperation.
          enum:
            - encrypt
            - decrypt
            - sign
            - verify
            - wrapKey
            - unwrapKey
          type: string
          x-ms-enum:
            modelAsString: true
            name: JsonWebKeyOperation
        type: array
      key_size:
        description: "The key size in bits. For example: 2048, 3072, or 4096 for RSA."
        format: int32
        type: integer
      kty:
        description: The type of key to create. For valid values, see JsonWebKeyType.
        enum:
          - EC
          - EC-HSM
          - RSA
          - RSA-HSM
          - oct
        minLength: 1
        type: string
        x-ms-enum:
          modelAsString: true
          name: JsonWebKeyType
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
    required:
      - kty
  KeyImportParameters:
    description: The key import parameters.
    properties:
      Hsm:
        description: Whether to import as a hardware key (HSM) or software key.
        type: boolean
      attributes:
        $ref: "#/definitions/KeyAttributes"
        description: The key management attributes.
        x-ms-client-name: keyAttributes
      key:
        $ref: "#/definitions/JsonWebKey"
        description: The Json web key
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
    required:
      - key
  KeyItem:
    description: The key item containing key metadata.
    properties:
      attributes:
        $ref: "#/definitions/KeyAttributes"
        description: The key management attributes.
      kid:
        description: Key identifier.
        type: string
      managed:
        description: True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true.
        readOnly: true
        type: boolean
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
  KeyListResult:
    description: The key list result.
    properties:
      nextLink:
        description: The URL to get the next set of keys.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of keys in the key vault along with a link to the next page of keys.
        items:
          $ref: "#/definitions/KeyItem"
        readOnly: true
        type: array
  KeyOperationResult:
    description: The key operation result.
    properties:
      kid:
        description: Key identifier
        readOnly: true
        type: string
      value:
        format: base64url
        readOnly: true
        type: string
        x-ms-client-name: result
  KeyOperationsParameters:
    description: The key operations parameters.
    properties:
      alg:
        description: algorithm identifier
        enum:
          - RSA-OAEP
          - RSA-OAEP-256
          - RSA1_5
        minLength: 1
        type: string
        x-ms-client-name: algorithm
        x-ms-enum:
          modelAsString: true
          name: JsonWebKeyEncryptionAlgorithm
      value:
        format: base64url
        type: string
    required:
      - alg
      - value
  KeyProperties:
    description: Properties of the key pair backing a certificate.
    properties:
      crv:
        description: Elliptic curve name. For valid values, see JsonWebKeyCurveName.
        enum:
          - P-256
          - P-384
          - P-521
          - P-256K
        type: string
        x-ms-client-name: curve
        x-ms-enum:
          modelAsString: true
          name: JsonWebKeyCurveName
      exportable:
        description: Indicates if the private key can be exported.
        type: boolean
      key_size:
        description: "The key size in bits. For example: 2048, 3072, or 4096 for RSA."
        format: int32
        type: integer
      kty:
        description: The type of key pair to be used for the certificate.
        enum:
          - EC
          - EC-HSM
          - RSA
          - RSA-HSM
          - oct
        type: string
        x-ms-client-name: keyType
        x-ms-enum:
          modelAsString: true
          name: JsonWebKeyType
      reuse_key:
        description: Indicates if the same key pair will be used on certificate renewal.
        type: boolean
  KeyRestoreParameters:
    description: The key restore parameters.
    properties:
      value:
        description: The backup blob associated with a key bundle.
        format: base64url
        type: string
        x-ms-client-name: keyBundleBackup
    required:
      - value
  KeySignParameters:
    description: The key operations parameters.
    properties:
      alg:
        description: The signing/verification algorithm identifier. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.
        enum:
          - PS256
          - PS384
          - PS512
          - RS256
          - RS384
          - RS512
          - RSNULL
          - ES256
          - ES384
          - ES512
          - ES256K
        minLength: 1
        type: string
        x-ms-client-name: algorithm
        x-ms-enum:
          modelAsString: true
          name: JsonWebKeySignatureAlgorithm
          values:
            - description: RSASSA-PSS using SHA-256 and MGF1 with SHA-256, as described in https://tools.ietf.org/html/rfc7518
              value: PS256
            - description: RSASSA-PSS using SHA-384 and MGF1 with SHA-384, as described in https://tools.ietf.org/html/rfc7518
              value: PS384
            - description: RSASSA-PSS using SHA-512 and MGF1 with SHA-512, as described in https://tools.ietf.org/html/rfc7518
              value: PS512
            - description: RSASSA-PKCS1-v1_5 using SHA-256, as described in https://tools.ietf.org/html/rfc7518
              value: RS256
            - description: RSASSA-PKCS1-v1_5 using SHA-384, as described in https://tools.ietf.org/html/rfc7518
              value: RS384
            - description: RSASSA-PKCS1-v1_5 using SHA-512, as described in https://tools.ietf.org/html/rfc7518
              value: RS512
            - description: Reserved
              value: RSNULL
            - description: ECDSA using P-256 and SHA-256, as described in https://tools.ietf.org/html/rfc7518.
              value: ES256
            - description: ECDSA using P-384 and SHA-384, as described in https://tools.ietf.org/html/rfc7518
              value: ES384
            - description: ECDSA using P-521 and SHA-512, as described in https://tools.ietf.org/html/rfc7518
              value: ES512
            - description: ECDSA using P-256K and SHA-256, as described in https://tools.ietf.org/html/rfc7518
              value: ES256K
      value:
        format: base64url
        type: string
    required:
      - alg
      - value
  KeyUpdateParameters:
    description: The key update parameters.
    properties:
      attributes:
        $ref: "#/definitions/KeyAttributes"
        x-ms-client-name: keyAttributes
      key_ops:
        description: Json web key operations. For more information on possible key operations, see JsonWebKeyOperation.
        items:
          enum:
            - encrypt
            - decrypt
            - sign
            - verify
            - wrapKey
            - unwrapKey
          type: string
          x-ms-enum:
            modelAsString: true
            name: JsonWebKeyOperation
        type: array
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
  KeyVaultError:
    description: The key vault error exception.
    properties:
      error:
        $ref: "#/definitions/Error"
        readOnly: true
  KeyVerifyParameters:
    description: The key verify parameters.
    properties:
      alg:
        description: The signing/verification algorithm. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.
        enum:
          - PS256
          - PS384
          - PS512
          - RS256
          - RS384
          - RS512
          - RSNULL
          - ES256
          - ES384
          - ES512
          - ES256K
        minLength: 1
        type: string
        x-ms-client-name: algorithm
        x-ms-enum:
          modelAsString: true
          name: JsonWebKeySignatureAlgorithm
      digest:
        description: The digest used for signing.
        format: base64url
        type: string
      value:
        description: The signature to be verified.
        format: base64url
        type: string
        x-ms-client-name: signature
    required:
      - alg
      - digest
      - value
  KeyVerifyResult:
    description: The key verify result.
    properties:
      value:
        description: True if the signature is verified, otherwise false.
        readOnly: true
        type: boolean
  LifetimeAction:
    description: Action and its trigger that will be performed by Key Vault over the lifetime of a certificate.
    properties:
      action:
        $ref: "#/definitions/Action"
        description: The action that will be executed.
      trigger:
        $ref: "#/definitions/Trigger"
        description: The condition that will execute the action.
  OrganizationDetails:
    description: Details of the organization of the certificate issuer.
    properties:
      admin_details:
        description: Details of the organization administrator.
        items:
          $ref: "#/definitions/AdministratorDetails"
        type: array
      id:
        description: Id of the organization.
        type: string
  PendingCertificateSigningRequestResult:
    description: The pending certificate signing request result.
    properties:
      value:
        description: The pending certificate signing request as Base64 encoded string.
        readOnly: true
        type: string
  SasDefinitionAttributes:
    description: The SAS definition management attributes.
    properties:
      created:
        description: Creation time in UTC.
        format: unixtime
        readOnly: true
        type: integer
      enabled:
        description: the enabled state of the object.
        type: boolean
      recoveryLevel:
        description: Reflects the deletion recovery level currently in effect for SAS definitions in the current vault. If it contains 'Purgeable' the SAS definition can be permanently deleted by a privileged user; otherwise, only the system can purge the SAS definition, at the end of the retention interval.
        enum:
          - Purgeable
          - Recoverable+Purgeable
          - Recoverable
          - Recoverable+ProtectedSubscription
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: DeletionRecoveryLevel
        x-nullable: false
      updated:
        description: Last updated time in UTC.
        format: unixtime
        readOnly: true
        type: integer
  SasDefinitionBundle:
    description: A SAS definition bundle consists of key vault SAS definition details plus its attributes.
    properties:
      attributes:
        $ref: "#/definitions/SasDefinitionAttributes"
        description: The SAS definition attributes.
        readOnly: true
      id:
        description: The SAS definition id.
        readOnly: true
        type: string
      sasType:
        description: The type of SAS token the SAS definition will create.
        enum:
          - account
          - service
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: SasTokenType
      sid:
        description: Storage account SAS definition secret id.
        readOnly: true
        type: string
        x-ms-client-name: SecretId
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs
        readOnly: true
        type: object
      templateUri:
        description: The SAS definition token template signed with an arbitrary key.  Tokens created according to the SAS definition will have the same properties as the template.
        readOnly: true
        type: string
      validityPeriod:
        description: The validity period of SAS tokens created according to the SAS definition.
        readOnly: true
        type: string
  SasDefinitionCreateParameters:
    description: The SAS definition create parameters.
    properties:
      attributes:
        $ref: "#/definitions/SasDefinitionAttributes"
        description: The attributes of the SAS definition.
        x-ms-client-name: SasDefinitionAttributes
      sasType:
        description: The type of SAS token the SAS definition will create.
        enum:
          - account
          - service
        type: string
        x-ms-enum:
          modelAsString: true
          name: SasTokenType
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
      templateUri:
        description: The SAS definition token template signed with an arbitrary key.  Tokens created according to the SAS definition will have the same properties as the template.
        type: string
      validityPeriod:
        description: The validity period of SAS tokens created according to the SAS definition.
        type: string
    required:
      - templateUri
      - sasType
      - validityPeriod
  SasDefinitionItem:
    description: The SAS definition item containing storage SAS definition metadata.
    properties:
      attributes:
        $ref: "#/definitions/SasDefinitionAttributes"
        description: The SAS definition management attributes.
        readOnly: true
      id:
        description: The storage SAS identifier.
        readOnly: true
        type: string
      sid:
        description: The storage account SAS definition secret id.
        readOnly: true
        type: string
        x-ms-client-name: SecretId
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        readOnly: true
        type: object
  SasDefinitionListResult:
    description: The storage account SAS definition list result.
    properties:
      nextLink:
        description: The URL to get the next set of SAS definitions.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of SAS definitions along with a link to the next page of SAS definitions.
        items:
          $ref: "#/definitions/SasDefinitionItem"
        readOnly: true
        type: array
  SasDefinitionUpdateParameters:
    description: The SAS definition update parameters.
    properties:
      attributes:
        $ref: "#/definitions/SasDefinitionAttributes"
        description: The attributes of the SAS definition.
        x-ms-client-name: SasDefinitionAttributes
      sasType:
        description: The type of SAS token the SAS definition will create.
        enum:
          - account
          - service
        type: string
        x-ms-enum:
          modelAsString: true
          name: SasTokenType
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
      templateUri:
        description: The SAS definition token template signed with an arbitrary key.  Tokens created according to the SAS definition will have the same properties as the template.
        type: string
      validityPeriod:
        description: The validity period of SAS tokens created according to the SAS definition.
        type: string
  SecretAttributes:
    allOf:
      - $ref: "#/definitions/Attributes"
    description: The secret management attributes.
    properties:
      recoveryLevel:
        description: Reflects the deletion recovery level currently in effect for secrets in the current vault. If it contains 'Purgeable', the secret can be permanently deleted by a privileged user; otherwise, only the system can purge the secret, at the end of the retention interval.
        enum:
          - Purgeable
          - Recoverable+Purgeable
          - Recoverable
          - Recoverable+ProtectedSubscription
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: DeletionRecoveryLevel
        x-nullable: false
  SecretBundle:
    description: A secret consisting of a value, id and its attributes.
    properties:
      attributes:
        $ref: "#/definitions/SecretAttributes"
        description: The secret management attributes.
      contentType:
        description: The content type of the secret.
        type: string
      id:
        description: The secret id.
        type: string
      kid:
        description: If this is a secret backing a KV certificate, then this field specifies the corresponding key backing the KV certificate.
        readOnly: true
        type: string
      managed:
        description: True if the secret's lifetime is managed by key vault. If this is a secret backing a certificate, then managed will be true.
        readOnly: true
        type: boolean
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
      value:
        description: The secret value.
        type: string
  SecretItem:
    description: The secret item containing secret metadata.
    properties:
      attributes:
        $ref: "#/definitions/SecretAttributes"
        description: The secret management attributes.
      contentType:
        description: Type of the secret value such as a password.
        type: string
      id:
        description: Secret identifier.
        type: string
      managed:
        description: True if the secret's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true.
        readOnly: true
        type: boolean
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
  SecretListResult:
    description: The secret list result.
    properties:
      nextLink:
        description: The URL to get the next set of secrets.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of secrets in the key vault along with a link to the next page of secrets.
        items:
          $ref: "#/definitions/SecretItem"
        readOnly: true
        type: array
  SecretProperties:
    description: Properties of the key backing a certificate.
    properties:
      contentType:
        description: The media type (MIME type).
        type: string
  SecretRestoreParameters:
    description: The secret restore parameters.
    properties:
      value:
        description: The backup blob associated with a secret bundle.
        format: base64url
        type: string
        x-ms-client-name: secretBundleBackup
    required:
      - value
  SecretSetParameters:
    description: The secret set parameters.
    properties:
      attributes:
        $ref: "#/definitions/SecretAttributes"
        description: The secret management attributes.
        x-ms-client-name: secretAttributes
      contentType:
        description: Type of the secret value such as a password.
        type: string
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
      value:
        description: The value of the secret.
        type: string
    required:
      - value
  SecretUpdateParameters:
    description: The secret update parameters.
    properties:
      attributes:
        $ref: "#/definitions/SecretAttributes"
        description: The secret management attributes.
        x-ms-client-name: secretAttributes
      contentType:
        description: Type of the secret value such as a password.
        type: string
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
  StorageAccountAttributes:
    description: The storage account management attributes.
    properties:
      created:
        description: Creation time in UTC.
        format: unixtime
        readOnly: true
        type: integer
      enabled:
        description: the enabled state of the object.
        type: boolean
      recoveryLevel:
        description: Reflects the deletion recovery level currently in effect for storage accounts in the current vault. If it contains 'Purgeable' the storage account can be permanently deleted by a privileged user; otherwise, only the system can purge the storage account, at the end of the retention interval.
        enum:
          - Purgeable
          - Recoverable+Purgeable
          - Recoverable
          - Recoverable+ProtectedSubscription
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: DeletionRecoveryLevel
        x-nullable: false
      updated:
        description: Last updated time in UTC.
        format: unixtime
        readOnly: true
        type: integer
  StorageAccountCreateParameters:
    description: The storage account create parameters.
    properties:
      activeKeyName:
        description: Current active storage account key name.
        type: string
      attributes:
        $ref: "#/definitions/StorageAccountAttributes"
        description: The attributes of the storage account.
        x-ms-client-name: StorageAccountAttributes
      autoRegenerateKey:
        description: whether keyvault should manage the storage account for the user.
        type: boolean
      regenerationPeriod:
        description: The key regeneration time duration specified in ISO-8601 format.
        type: string
      resourceId:
        description: Storage account resource id.
        type: string
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
    required:
      - resourceId
      - activeKeyName
      - autoRegenerateKey
  StorageAccountItem:
    description: The storage account item containing storage account metadata.
    properties:
      attributes:
        $ref: "#/definitions/StorageAccountAttributes"
        description: The storage account management attributes.
        readOnly: true
      id:
        description: Storage identifier.
        readOnly: true
        type: string
      resourceId:
        description: Storage account resource Id.
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        readOnly: true
        type: object
  StorageAccountRegenerteKeyParameters:
    description: The storage account key regenerate parameters.
    properties:
      keyName:
        description: The storage account key name.
        type: string
    required:
      - keyName
  StorageAccountUpdateParameters:
    description: The storage account update parameters.
    properties:
      activeKeyName:
        description: The current active storage account key name.
        type: string
      attributes:
        $ref: "#/definitions/StorageAccountAttributes"
        description: The attributes of the storage account.
        x-ms-client-name: StorageAccountAttributes
      autoRegenerateKey:
        description: whether keyvault should manage the storage account for the user.
        type: boolean
      regenerationPeriod:
        description: The key regeneration time duration specified in ISO-8601 format.
        type: string
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs.
        type: object
  StorageBundle:
    description: A Storage account bundle consists of key vault storage account details plus its attributes.
    properties:
      activeKeyName:
        description: The current active storage account key name.
        readOnly: true
        type: string
      attributes:
        $ref: "#/definitions/StorageAccountAttributes"
        description: The storage account attributes.
        readOnly: true
      autoRegenerateKey:
        description: whether keyvault should manage the storage account for the user.
        readOnly: true
        type: boolean
      id:
        description: The storage account id.
        readOnly: true
        type: string
      regenerationPeriod:
        description: The key regeneration time duration specified in ISO-8601 format.
        readOnly: true
        type: string
      resourceId:
        description: The storage account resource id.
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: Application specific metadata in the form of key-value pairs
        readOnly: true
        type: object
  StorageListResult:
    description: The storage accounts list result.
    properties:
      nextLink:
        description: The URL to get the next set of storage accounts.
        readOnly: true
        type: string
      value:
        description: A response message containing a list of storage accounts in the key vault along with a link to the next page of storage accounts.
        items:
          $ref: "#/definitions/StorageAccountItem"
        readOnly: true
        type: array
  StorageRestoreParameters:
    description: The secret restore parameters.
    properties:
      value:
        description: The backup blob associated with a storage account.
        format: base64url
        type: string
        x-ms-client-name: storageBundleBackup
    required:
      - value
  SubjectAlternativeNames:
    description: The subject alternate names of a X509 object.
    properties:
      dns_names:
        description: Domain names.
        items:
          type: string
        type: array
      emails:
        description: Email addresses.
        items:
          type: string
        type: array
      upns:
        description: User principal names.
        items:
          type: string
        type: array
  Trigger:
    description: A condition to be satisfied for an action to be executed.
    properties:
      days_before_expiry:
        description: Days before expiry to attempt renewal. Value should be between 1 and validity_in_months multiplied by 27. If validity_in_months is 36, then value should be between 1 and 972 (36 * 27).
        format: int32
        type: integer
      lifetime_percentage:
        description: Percentage of lifetime at which to trigger. Value should be between 1 and 99.
        format: int32
        maximum: 99
        minimum: 1
        type: integer
  X509CertificateProperties:
    description: Properties of the X509 component of a certificate.
    properties:
      ekus:
        description: The enhanced key usage.
        items:
          type: string
        type: array
      key_usage:
        description: List of key usages.
        items:
          enum:
            - digitalSignature
            - nonRepudiation
            - keyEncipherment
            - dataEncipherment
            - keyAgreement
            - keyCertSign
            - cRLSign
            - encipherOnly
            - decipherOnly
          type: string
          x-ms-enum:
            modelAsString: true
            name: KeyUsageType
        type: array
      sans:
        $ref: "#/definitions/SubjectAlternativeNames"
        description: The subject alternative names.
        x-ms-client-name: SubjectAlternativeNames
      subject:
        description: The subject name. Should be a valid X509 distinguished Name.
        type: string
      validity_months:
        description: The duration that the certificate is valid in months.
        format: int32
        minimum: 0
        type: integer
        x-ms-client-name: ValidityInMonths
x-ms-parameterized-host:
  hostTemplate: "{vaultBaseUrl}"
  parameters:
    - description: The vault name, for example https://myvault.vault.azure.net.
      in: path
      name: vaultBaseUrl
      required: true
      type: string
      x-ms-skip-url-encoding: true
  positionInOperation: first
  useSchemePrefix: false
