org.apache.hc.core5.http

## Class HttpStatus

- java.lang.Object
- - org.apache.hc.core5.http.HttpStatus

-     public final class HttpStatus
      extends Object

  Constants enumerating the HTTP status codes. All status codes defined in RFC 7231 (HTTP/1.1), RFC 2518 (WebDAV), RFC 7540 (HTTP/2), RFC 6585 (Additional HTTP Status Codes), RFC 8297 (Early Hints), RFC 7538 (Permanent Redirect), RFC 7725 (An HTTP Status Code to Report Legal Obstacles) and RFC 2295 (Transparent Content Negotiation) are listed.
  Since:
    4.0
  See Also:
    RFC 7231 (HTTP/1.1), RFC 2518 (WebDAV), RFC 7540 (HTTP/2), RFC 6585 (Additional HTTP Status Codes), RFC 8297 (Early Hints), RFC 7538 (Permanent Redirect), RFC 7725 (An HTTP Status Code to Report Legal Obstacles), RFC 2295 (Transparent Content Negotiation), RFC 2817 (Upgrading to TLS Within HTTP/1.1), RFC 8470 (Using Early Data in HTTP)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `SC_ACCEPTED` `202 Accepted` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_ALREADY_REPORTED` `208 Already Reported` (WebDAV - RFC 5842, p.30, section 7.1)
    `static int` | `SC_BAD_GATEWAY` `502 Bad Gateway` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_BAD_REQUEST` `400 Bad Request` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_CLIENT_ERROR` `4xx Client Error` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_CONFLICT` `409 Conflict` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_CONTINUE` `100 Continue` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_CREATED` `201 Created` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_EARLY_HINTS` `103 Early Hints (Early Hints - RFC 8297)`
    `static int` | `SC_EXPECTATION_FAILED` `417 Expectation Failed` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_FAILED_DEPENDENCY` `424 Failed Dependency` (WebDAV - RFC 2518)
    `static int` | `SC_FORBIDDEN` `403 Forbidden` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_GATEWAY_TIMEOUT` `504 Gateway Timeout` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_GONE` `410 Gone` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_HTTP_VERSION_NOT_SUPPORTED` `505 HTTP Version Not Supported` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_IM_USED` `226 IM Used` (Delta encoding in HTTP - RFC 3229, p.
    `static int` | `SC_INFORMATIONAL` `100 1xx Informational` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_INSUFFICIENT_SPACE_ON_RESOURCE` Static constant for a 419 error.
    `static int` | `SC_INSUFFICIENT_STORAGE` `507 Insufficient Storage` (WebDAV - RFC 2518)
    `static int` | `SC_INTERNAL_SERVER_ERROR` `500 Internal Server Error` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_LENGTH_REQUIRED` `411 Length Required` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_LOCKED` `423 Locked` (WebDAV - RFC 2518)
    `static int` | `SC_LOOP_DETECTED` `508 Loop Detected` (WebDAV - RFC 5842, p.33, section 7.2)
    `static int` | `SC_METHOD_FAILURE` Static constant for a 420 error.
    `static int` | `SC_METHOD_NOT_ALLOWED` `405 Method Not Allowed` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_MISDIRECTED_REQUEST` `421 Misdirected Request` (HTTP/2 - RFC 7540)
    `static int` | `SC_MOVED_PERMANENTLY` `301 Moved Permanently` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_MOVED_TEMPORARILY` `302 Moved Temporarily` (Sometimes `Found`) (HTTP/1.0 - RFC 7231)
    `static int` | `SC_MULTI_STATUS` `207 Multi-Status` (WebDAV - RFC 2518) or `207 Partial Update OK` (HTTP/1.1 - draft-ietf-http-v11-spec-rev-01?)
    `static int` | `SC_MULTIPLE_CHOICES` `300 Multiple Choices` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_NETWORK_AUTHENTICATION_REQUIRED` `511 Network Authentication Required` (Additional HTTP Status Codes - RFC 6585)
    `static int` | `SC_NO_CONTENT` `204 No Content` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_NON_AUTHORITATIVE_INFORMATION` `203 Non Authoritative Information` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_NOT_ACCEPTABLE` `406 Not Acceptable` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_NOT_EXTENDED` `510 Not Extended` (An HTTP Extension Framework - RFC 2774, p.
    `static int` | `SC_NOT_FOUND` `404 Not Found` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_NOT_IMPLEMENTED` `501 Not Implemented` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_NOT_MODIFIED` `304 Not Modified` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_OK` `200 OK` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_PARTIAL_CONTENT` `206 Partial Content` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_PAYMENT_REQUIRED` `402 Payment Required` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_PERMANENT_REDIRECT` `308 Permanent Redirect` (HTTP/1.1 - RFC 7538)
    `static int` | `SC_PRECONDITION_FAILED` `412 Precondition Failed` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_PRECONDITION_REQUIRED` `428 Precondition Required` (Additional HTTP Status Codes - RFC 6585)
    `static int` | `SC_PROCESSING` `102 Processing` (WebDAV - RFC 2518)
    `static int` | `SC_PROXY_AUTHENTICATION_REQUIRED` `407 Proxy Authentication Required` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_REDIRECTION` `3xx Redirection` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_REQUEST_HEADER_FIELDS_TOO_LARGE` `431 Request Header Fields Too Large` (Additional HTTP Status Codes - RFC 6585)
    `static int` | `SC_REQUEST_TIMEOUT` `408 Request Timeout` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_REQUEST_TOO_LONG` `413 Request Entity Too Large` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_REQUEST_URI_TOO_LONG` `414 Request-URI Too Long` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_REQUESTED_RANGE_NOT_SATISFIABLE` `416 Requested Range Not Satisfiable` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_RESET_CONTENT` `205 Reset Content` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_SEE_OTHER` `303 See Other` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_SERVER_ERROR` `500 Server Error` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_SERVICE_UNAVAILABLE` `503 Service Unavailable` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_SUCCESS` `2xx Success` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_SWITCHING_PROTOCOLS` `101 Switching Protocols` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_TEMPORARY_REDIRECT` `307 Temporary Redirect` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_TOO_EARLY` `425 Too Early` (Using Early Data in HTTP - RFC 8470)
    `static int` | `SC_TOO_MANY_REQUESTS` `429 Too Many Requests` (Additional HTTP Status Codes - RFC 6585)
    `static int` | `SC_UNAUTHORIZED` `401 Unauthorized` (HTTP/1.0 - RFC 7231)
    `static int` | `SC_UNAVAILABLE_FOR_LEGAL_REASONS` `451 Unavailable For Legal Reasons` (Legal Obstacles - RFC 7725)
    `static int` | `SC_UNPROCESSABLE_ENTITY` `422 Unprocessable Entity` (WebDAV - RFC 2518)
    `static int` | `SC_UNSUPPORTED_MEDIA_TYPE` `415 Unsupported Media Type` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_UPGRADE_REQUIRED` `426 Upgrade Dependency` (HTTP/1.1 - RFC 2817)
    `static int` | `SC_USE_PROXY` `305 Use Proxy` (HTTP/1.1 - RFC 7231)
    `static int` | `SC_VARIANT_ALSO_NEGOTIATES` `506 Variant Also Negotiates` ( Transparent Content Negotiation - RFC 2295)

  - ### Method Summary

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### SC_INFORMATIONAL

          public static final int SC_INFORMATIONAL

      `100 1xx Informational` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_CONTINUE

          public static final int SC_CONTINUE

      `100 Continue` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_SWITCHING_PROTOCOLS

          public static final int SC_SWITCHING_PROTOCOLS

      `101 Switching Protocols` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_PROCESSING

          public static final int SC_PROCESSING

      `102 Processing` (WebDAV - RFC 2518)
      See Also:
        Constant Field Values

    - #### SC_EARLY_HINTS

          public static final int SC_EARLY_HINTS

      `103 Early Hints (Early Hints - RFC 8297)`
      See Also:
        Constant Field Values

    - #### SC_SUCCESS

          public static final int SC_SUCCESS

      `2xx Success` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_OK

          public static final int SC_OK

      `200 OK` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_CREATED

          public static final int SC_CREATED

      `201 Created` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_ACCEPTED

          public static final int SC_ACCEPTED

      `202 Accepted` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_NON_AUTHORITATIVE_INFORMATION

          public static final int SC_NON_AUTHORITATIVE_INFORMATION

      `203 Non Authoritative Information` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_NO_CONTENT

          public static final int SC_NO_CONTENT

      `204 No Content` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_RESET_CONTENT

          public static final int SC_RESET_CONTENT

      `205 Reset Content` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_PARTIAL_CONTENT

          public static final int SC_PARTIAL_CONTENT

      `206 Partial Content` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_MULTI_STATUS

          public static final int SC_MULTI_STATUS

      `207 Multi-Status` (WebDAV - RFC 2518) or `207 Partial Update OK` (HTTP/1.1 - draft-ietf-http-v11-spec-rev-01?)
      See Also:
        Constant Field Values

    - #### SC_ALREADY_REPORTED

          public static final int SC_ALREADY_REPORTED

      `208 Already Reported` (WebDAV - RFC 5842, p.30, section 7.1)
      See Also:
        Constant Field Values

    - #### SC_IM_USED

          public static final int SC_IM_USED

      `226 IM Used` (Delta encoding in HTTP - RFC 3229, p. 30, section 10.4.1)
      See Also:
        Constant Field Values

    - #### SC_REDIRECTION

          public static final int SC_REDIRECTION

      `3xx Redirection` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_MULTIPLE_CHOICES

          public static final int SC_MULTIPLE_CHOICES

      `300 Multiple Choices` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_MOVED_PERMANENTLY

          public static final int SC_MOVED_PERMANENTLY

      `301 Moved Permanently` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_MOVED_TEMPORARILY

          public static final int SC_MOVED_TEMPORARILY

      `302 Moved Temporarily` (Sometimes `Found`) (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_SEE_OTHER

          public static final int SC_SEE_OTHER

      `303 See Other` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_NOT_MODIFIED

          public static final int SC_NOT_MODIFIED

      `304 Not Modified` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_USE_PROXY

          public static final int SC_USE_PROXY

      `305 Use Proxy` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_TEMPORARY_REDIRECT

          public static final int SC_TEMPORARY_REDIRECT

      `307 Temporary Redirect` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_PERMANENT_REDIRECT

          public static final int SC_PERMANENT_REDIRECT

      `308 Permanent Redirect` (HTTP/1.1 - RFC 7538)
      See Also:
        Constant Field Values

    - #### SC_CLIENT_ERROR

          public static final int SC_CLIENT_ERROR

      `4xx Client Error` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_BAD_REQUEST

          public static final int SC_BAD_REQUEST

      `400 Bad Request` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_UNAUTHORIZED

          public static final int SC_UNAUTHORIZED

      `401 Unauthorized` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_PAYMENT_REQUIRED

          public static final int SC_PAYMENT_REQUIRED

      `402 Payment Required` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_FORBIDDEN

          public static final int SC_FORBIDDEN

      `403 Forbidden` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_NOT_FOUND

          public static final int SC_NOT_FOUND

      `404 Not Found` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_METHOD_NOT_ALLOWED

          public static final int SC_METHOD_NOT_ALLOWED

      `405 Method Not Allowed` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_NOT_ACCEPTABLE

          public static final int SC_NOT_ACCEPTABLE

      `406 Not Acceptable` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_PROXY_AUTHENTICATION_REQUIRED

          public static final int SC_PROXY_AUTHENTICATION_REQUIRED

      `407 Proxy Authentication Required` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_REQUEST_TIMEOUT

          public static final int SC_REQUEST_TIMEOUT

      `408 Request Timeout` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_CONFLICT

          public static final int SC_CONFLICT

      `409 Conflict` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_GONE

          public static final int SC_GONE

      `410 Gone` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_LENGTH_REQUIRED

          public static final int SC_LENGTH_REQUIRED

      `411 Length Required` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_PRECONDITION_FAILED

          public static final int SC_PRECONDITION_FAILED

      `412 Precondition Failed` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_REQUEST_TOO_LONG

          public static final int SC_REQUEST_TOO_LONG

      `413 Request Entity Too Large` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_REQUEST_URI_TOO_LONG

          public static final int SC_REQUEST_URI_TOO_LONG

      `414 Request-URI Too Long` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_UNSUPPORTED_MEDIA_TYPE

          public static final int SC_UNSUPPORTED_MEDIA_TYPE

      `415 Unsupported Media Type` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_REQUESTED_RANGE_NOT_SATISFIABLE

          public static final int SC_REQUESTED_RANGE_NOT_SATISFIABLE

      `416 Requested Range Not Satisfiable` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_EXPECTATION_FAILED

          public static final int SC_EXPECTATION_FAILED

      `417 Expectation Failed` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_MISDIRECTED_REQUEST

          public static final int SC_MISDIRECTED_REQUEST

      `421 Misdirected Request` (HTTP/2 - RFC 7540)
      See Also:
        Constant Field Values

    - #### SC_INSUFFICIENT_SPACE_ON_RESOURCE

          public static final int SC_INSUFFICIENT_SPACE_ON_RESOURCE

      Static constant for a 419 error. `419 Insufficient Space on Resource` (WebDAV - draft-ietf-webdav-protocol-05?) or `419 Proxy Reauthentication Required` (HTTP/1.1 drafts?)
      See Also:
        Constant Field Values

    - #### SC_METHOD_FAILURE

          public static final int SC_METHOD_FAILURE

      Static constant for a 420 error. `420 Method Failure` (WebDAV - draft-ietf-webdav-protocol-05?)
      See Also:
        Constant Field Values

    - #### SC_UNPROCESSABLE_ENTITY

          public static final int SC_UNPROCESSABLE_ENTITY

      `422 Unprocessable Entity` (WebDAV - RFC 2518)
      See Also:
        Constant Field Values

    - #### SC_LOCKED

          public static final int SC_LOCKED

      `423 Locked` (WebDAV - RFC 2518)
      See Also:
        Constant Field Values

    - #### SC_FAILED_DEPENDENCY

          public static final int SC_FAILED_DEPENDENCY

      `424 Failed Dependency` (WebDAV - RFC 2518)
      See Also:
        Constant Field Values

    - #### SC_TOO_EARLY

          public static final int SC_TOO_EARLY

      `425 Too Early` (Using Early Data in HTTP - RFC 8470)
      See Also:
        Constant Field Values

    - #### SC_UPGRADE_REQUIRED

          public static final int SC_UPGRADE_REQUIRED

      `426 Upgrade Dependency` (HTTP/1.1 - RFC 2817)
      See Also:
        Constant Field Values

    - #### SC_PRECONDITION_REQUIRED

          public static final int SC_PRECONDITION_REQUIRED

      `428 Precondition Required` (Additional HTTP Status Codes - RFC 6585)
      See Also:
        Constant Field Values

    - #### SC_TOO_MANY_REQUESTS

          public static final int SC_TOO_MANY_REQUESTS

      `429 Too Many Requests` (Additional HTTP Status Codes - RFC 6585)
      See Also:
        Constant Field Values

    - #### SC_REQUEST_HEADER_FIELDS_TOO_LARGE

          public static final int SC_REQUEST_HEADER_FIELDS_TOO_LARGE

      `431 Request Header Fields Too Large` (Additional HTTP Status Codes - RFC 6585)
      See Also:
        Constant Field Values

    - #### SC_UNAVAILABLE_FOR_LEGAL_REASONS

          public static final int SC_UNAVAILABLE_FOR_LEGAL_REASONS

      `451 Unavailable For Legal Reasons` (Legal Obstacles - RFC 7725)
      See Also:
        Constant Field Values

    - #### SC_SERVER_ERROR

          public static final int SC_SERVER_ERROR

      `500 Server Error` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_INTERNAL_SERVER_ERROR

          public static final int SC_INTERNAL_SERVER_ERROR

      `500 Internal Server Error` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_NOT_IMPLEMENTED

          public static final int SC_NOT_IMPLEMENTED

      `501 Not Implemented` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_BAD_GATEWAY

          public static final int SC_BAD_GATEWAY

      `502 Bad Gateway` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_SERVICE_UNAVAILABLE

          public static final int SC_SERVICE_UNAVAILABLE

      `503 Service Unavailable` (HTTP/1.0 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_GATEWAY_TIMEOUT

          public static final int SC_GATEWAY_TIMEOUT

      `504 Gateway Timeout` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_HTTP_VERSION_NOT_SUPPORTED

          public static final int SC_HTTP_VERSION_NOT_SUPPORTED

      `505 HTTP Version Not Supported` (HTTP/1.1 - RFC 7231)
      See Also:
        Constant Field Values

    - #### SC_VARIANT_ALSO_NEGOTIATES

          public static final int SC_VARIANT_ALSO_NEGOTIATES

      `506 Variant Also Negotiates` ( Transparent Content Negotiation - RFC 2295)
      See Also:
        Constant Field Values

    - #### SC_INSUFFICIENT_STORAGE

          public static final int SC_INSUFFICIENT_STORAGE

      `507 Insufficient Storage` (WebDAV - RFC 2518)
      See Also:
        Constant Field Values

    - #### SC_LOOP_DETECTED

          public static final int SC_LOOP_DETECTED

      `508 Loop Detected` (WebDAV - RFC 5842, p.33, section 7.2)
      See Also:
        Constant Field Values

    - #### SC_NOT_EXTENDED

          public static final int SC_NOT_EXTENDED

      `510 Not Extended` (An HTTP Extension Framework - RFC 2774, p. 10, section 7)
      See Also:
        Constant Field Values

    - #### SC_NETWORK_AUTHENTICATION_REQUIRED

          public static final int SC_NETWORK_AUTHENTICATION_REQUIRED

      `511 Network Authentication Required` (Additional HTTP Status Codes - RFC 6585)
      See Also:
        Constant Field Values

Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.