HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/lib/python3/dist-packages/acme/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3/dist-packages/acme/__pycache__/messages.cpython-311.pyc
�

E��c)a����dZddlZddlmZddlZddlmZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddlm
Z
ddlmZdd
lmZddlZddlmZddlmZddlmZddlmZddlmZdZidd�dd�dd�dd�dd�dd�d d!�d"d#�d$d%�d&d'�d(d)�d*d+�d,d-�d.d/�d0d1�d2d3�d4d5�d6d7d8d9d:d;d<d=d>d?�	�Zid@�e���D���ZdAedBefdC�ZGdD�dEeje��Z GdF�dGe ��Z!e!d(��Z"e!dH��Z#GdI�dJej$��Z%GdK�dLej$ej&��Z&GdM�dNe ��Z'e'dO��Z(e'dP��Z)e'dQ��Z*e'dR��Z+e'dS��Z,e'dT��Z-e'dU��Z.e'dV��Z/GdW�dXej��Z0GdY�dZej$��Z1Gd[�d\e1��Z2Gd]�d^ej$��Z3Gd_�d`��Z4edadb�c��Z5Gdd�dbe3��Z6Gde�dfe6��Z7Gdg�dhe6��Z8Gdi�dje2��Z9Gdk�dle3��Z:Gdm�dne1��Z;Gdo�dpe3��Z<Gdq�dre<��Z=Gds�dte<��Z>Gdu�dve2��Z?Gdw�dxej$��Z@Gdy�dze2��ZAGd{�d|ej$��ZBGd}�d~e3��ZCGd�d�e2��ZDGd��d�eC��ZEdS)�zACME protocol messages.�N)�Hashable)�Any)�Dict)�Iterator)�List)�Mapping)�MutableMapping)�Optional)�Tuple)�Type)�TypeVar)�
challenges)�errors)�fields)�jws)�utilzurn:ietf:params:acme:error:�accountDoesNotExistz4The request specified an account that does not exist�alreadyRevokedzOThe request specified a certificate to be revoked that has already been revoked�badCSRz2The CSR is unacceptable (e.g., due to a short key)�badNoncez1The client sent an unacceptable anti-replay nonce�badPublicKeyz>The JWS was signed by a public key the server does not support�badRevocationReasonz;The revocation reason provided is not allowed by the server�badSignatureAlgorithmz@The JWS was signed with an algorithm the server does not support�caaz\Certification Authority Authorization (CAA) records forbid the CA from issuing a certificate�compoundzBSpecific error conditions are indicated in the "subproblems" array�
connectionz?The server could not connect to the client to verify the domain�dnszAThere was a problem with a DNS query during identifier validation�dnssecz4The server could not validate a DNSSEC signed domain�incorrectResponsez;Response received didn't match the challenge's requirements�invalidEmailz1The provided email for a registration was invalid�invalidContactz$The provided contact URI was invalid�	malformedz!The request message was malformed�rejectedIdentifierz9The server will not issue certificates for the identifierzLThe request attempted to finalize an order that is not ready to be finalizedz,There were too many requests of a given typez(The server experienced an internal errorz=The server experienced a TLS error during domain verificationz)The client lacks sufficient authorizationz@A contact URL for an account used an unsupported protocol schemez*The server could not resolve a domain namez'An identifier is of an unsupported typez,The server requires external account binding)	�
orderNotReady�rateLimited�serverInternal�tls�unauthorized�unsupportedContact�unknownHost�unsupportedIdentifier�externalAccountRequiredc�*�i|]\}}t|z|��S�)�ERROR_PREFIX)�.0�name�descs   �//usr/lib/python3/dist-packages/acme/messages.py�
<dictcomp>r4<s0�����",�$��L�4�������err�returnc�Z�t|t��r|j�t|jvSdS)z#Check if argument is an ACME error.NF)�
isinstance�Error�typr/)r6s r3�
is_acme_errorr<As-���#�u���'�3�7�#6��s�w�&�&��5r5c���eZdZUdZdZeZeedfe	d<deddf�fd�Z
defd�Zed	eddfd
���Z
defd�Zdedefd
�Zdefd�Z�xZS)�	_ConstantzACME constant.�r1�POSSIBLE_NAMESr1r7Nc�j��t�����||j|<||_dS�N)�super�__init__r@r1��selfr1�	__class__s  �r3rDz_Constant.__init__Ms1���
��������$(���D�!���	�	�	r5c��|jSrBr?�rFs r3�to_partial_jsonz_Constant.to_partial_jsonRs
���y�r5�jobjc�f�||jvrtj|j�d����|j|S)Nz not recognized)r@�jose�DeserializationError�__name__��clsrKs  r3�	from_jsonz_Constant.from_jsonUs:���s�)�)�)��+�s�|�,L�,L�,L�M�M�M��!�$�'�'r5c�0�|jj�d|j�d�S)N�(�))rGrOr1rIs r3�__repr__z_Constant.__repr__[s ���.�)�8�8�D�I�8�8�8�8r5�otherc�\�t|t|����o|j|jkSrB)r9�typer1)rFrWs  r3�__eq__z_Constant.__eq__^s&���%��d���,�,�H���t�y�1H�Hr5c�8�t|j|jf��SrB)�hashrGr1rIs r3�__hash__z_Constant.__hash__as���T�^�T�Y�/�0�0�0r5)rO�
__module__�__qualname__�__doc__�	__slots__�NotImplementedr@r�str�__annotations__rDrJ�classmethodrRrVr�boolrZ�intr]�
__classcell__�rGs@r3r>r>Hs�����������I�-;�N�D��k�)�*�;�;�;��S��T�������
�������(�S�(�[�(�(�(��[�(�
9�#�9�9�9�9�I�C�I�D�I�I�I�I�1�#�1�1�1�1�1�1�1�1r5r>c�2�eZdZUdZiZeeefed<dS)�IdentifierTypezACME identifier type.r@N�	rOr^r_r`r@rrcr>rdr.r5r3rkrkes1���������+-�N�D��i��(�-�-�-�-�-r5rk�ipc�v�eZdZUdZejdej���Zee	d<ejd��Z
ee	d<dS)�
IdentifierzJACME identifier.

    :ivar IdentifierType typ:
    :ivar str value:

    rY��decoderr;�valueN)rOr^r_r`rM�fieldrkrRr;rdrrrcr.r5r3rorons^���������%�$�*�V�^�5M�N�N�N�C��N�N�N����G�$�$�E�3�$�$�$�$�$r5roc��eZdZUdZejddd���Zeed<ejdd���Z	eed<ejd	d���Z
eed	<ejd
ejd���Z
eded
<ejd
d���Zeeded
<ejdeeeefdedfd���Zedededdfd���Zedeefd���Zedeefd���Zdefd�ZdS)r:aOACME error.

    https://datatracker.ietf.org/doc/html/rfc7807

    :ivar str typ:
    :ivar str title:
    :ivar str detail:
    :ivar Identifier identifier:
    :ivar tuple subproblems: An array of ACME Errors which may be present when the CA
            returns multiple errors related to the same request, `tuple` of `Error`.

    rYTzabout:blank��	omitempty�defaultr;�title�rv�detail�
identifier�rqrvro�subproblems)r:.rrr7c�4�td�|D����S)Nc3�JK�|]}t�|��V��dSrB)r:rR)r0�
subproblems  r3�	<genexpr>z$Error.subproblems.<locals>.<genexpr>�s.����I�I�Z�U�_�_�Z�0�0�I�I�I�I�I�Ir5��tuple�rrs r3r}zError.subproblems�s���I�I�5�I�I�I�I�I�Ir5�code�kwargsc�`�|tvrtd|z���t|z}|dd|i|��S)z�Create an Error instance with an ACME Error code.

        :str code: An ACME error code, like 'dnssec'.
        :kwargs: kwargs to pass to Error.

        z4The supplied code: %s is not a known ACME error coder;r.)�ERROR_CODES�
ValueErrorr/)rQr�r�r;s    r3�	with_codezError.with_code�sU���{�"�"��%�'+�,�-�-�
-��T�!���s�%�%�s�%�f�%�%�%r5c�@�t�|j��S)z�Hardcoded error description based on its type.

        :returns: Description if standard ACME error or ``None``.
        :rtype: str

        )�ERROR_TYPE_DESCRIPTIONS�getr;rIs r3�descriptionzError.description�s��'�*�*�4�8�4�4�4r5c�z�t|j���dd���d}|tvr|SdS)z�ACME error code.

        Basically self.typ without the ERROR_PREFIX.

        :returns: error code if standard ACME code or ``None``.
        :rtype: str

        �:�)�maxsplit���N)rcr;�rsplitr�)rFr�s  r3r�z
Error.code�s>���4�8�}�}�#�#�C�!�#�4�4�R�8���;����K��tr5c�.�d�d�|j|j|j|jfD�������}|jrd|jj�d�|z}|jr*t|j��dkr|jD]
}|d|��z
}�|S)Ns :: c3�FK�|]}|�|�dd��V��dS)N�ascii�backslashreplace)�encode)r0�parts  r3r�z Error.__str__.<locals>.<genexpr>�sC����!�!�9=���
�K�K��!3�4�4�����!�!r5zProblem for z: r�
)
�joinr;r�rzrx�decoder{rrr}�len)rF�resultr�s   r3�__str__z
Error.__str__�s������!�!�
�X�t�'���d�j�A�!�!�!�!�!�"(����	��?�	G�=�D�O�$9�=�=�=��F�F���	,��D�$4� 5� 5�� 9� 9�"�.�
,�
,�
��+�z�+�+�+����
r5N)rOr^r_r`rMrsr;rcrdrxrzrorRr{r
r}rrqrrrrer��propertyr�r�r�r.r5r3r:r:ys�����������t�z�&�D�-�H�H�H�C��H�H�H����G�t�4�4�4�E�3�4�4�4��$�*�X��6�6�6�F�C�6�6�6�)3����j�2�d�*D�*D�*D�J���&�D�D�D�1;���M�UY�1Z�1Z�1Z�K��%��-�.�Z�Z�Z���J�4��S�#�X��/�J�E�,�4G�J�J�J���J��
&�S�
&�C�
&�G�
&�
&�
&��[�
&��5�X�c�]�5�5�5��X�5���h�s�m�����X��
��
�
�
�
�
�
r5r:c�2�eZdZUdZiZeeefed<dS)�StatuszACME "status" field.r@Nrlr.r5r3r�r��s1���������+-�N�D��i��(�-�-�-�-�-r5r��unknown�pending�
processing�valid�invalid�revoked�ready�deactivatedc���eZdZdZGd�dej��Zdeee	fddfd�Z
dede	fd	�Zdede	fd
�Zde
ee	ffd�Zedeee	fddfd���ZdS)
�	DirectoryzmDirectory.

    Directory resources must be accessed by the exact field name in RFC8555 (section 9.7.5).
    c�:��eZdZUdZejdd���Zeed<ejdd���Z	eed<ejdd���Z
eeed<ejd	d���Ze
ed
<dedd
f�fd�Zedefd���Zdeef�fd�Zdedefd�Z�xZS)�Directory.MetazDirectory Meta.�termsOfServiceTry�_terms_of_service�website�
caaIdentities�caa_identitiesr,�external_account_requiredr�r7Nc�|����fd�|���D��}t��jdi|��dS)Nc�B��i|]\}}��|��|��Sr.��_internal_name�r0�k�vrFs   �r3r4z+Directory.Meta.__init__.<locals>.<dictcomp>�s-���K�K�K�D�A�q�d�)�)�!�,�,�a�K�K�Kr5r.��itemsrCrD�rFr�rGs` �r3rDzDirectory.Meta.__init__�sH����K�K�K�K�F�L�L�N�N�K�K�K�F��E�G�G��&�&�v�&�&�&�&�&r5c��|jS)zURL for the CA TOS)r�rIs r3�terms_of_servicezDirectory.Meta.terms_of_service�s
���)�)r5c#�z�K�t�����D]}|dkr
|dd�n|V��dS)Nr�r��rC�__iter__rEs  �r3r�zDirectory.Meta.__iter__�s\��������(�(�*�*�
H�
H��"&�*=�"=�"=�d�1�2�2�h�h�4�G�G�G�G�
H�
Hr5r1c��|dkrd|zn|S)Nr��_r.�rFr1s  r3r�zDirectory.Meta._internal_name�s��!%�);�!;�!;�3��:�:��Er5)rOr^r_r`rMrsr�rcrdr�r�rr�rfrrDr�r�rr�r�rhris@r3�Metar��sc����������!+���,<��!M�!M�!M��3�M�M�M�!�t�z�)�t�<�<�<���<�<�<�$.�D�J��$�$O�$O�$O���S�	�O�O�O�*4�$�*�5N�Z^�*_�*_�*_�!�4�_�_�_�	'�S�	'�T�	'�	'�	'�	'�	'�	'�
�	*�c�	*�	*�	*�
��	*�	H�h�s�m�	H�	H�	H�	H�	H�	H�	F�s�	F�s�	F�	F�	F�	F�	F�	F�	F�	Fr5r�rKr7Nc��||_dSrB)�_jobj�rFrKs  r3rDzDirectory.__init__�s
����
�
�
r5r1c�p�	||S#t$r!}tt|�����d}~wwxYwrB)�KeyError�AttributeErrorrc)rFr1�errors   r3�__getattr__zDirectory.__getattr__�sD��	-���:����	-�	-�	-� ��U���,�,�,�����	-���s�
�
5�0�5c�`�	|j|S#t$rtd|�d����wxYw)NzDirectory field "z" not found)r�r�r�s  r3�__getitem__zDirectory.__getitem__sN��	B��:�d�#�#���	B�	B�	B��@�t�@�@�@�A�A�A�	B���s��-c�8�tj|jd���S)Nc��|SrBr.)r�s r3�<lambda>z+Directory.to_partial_json.<locals>.<lambda>s��1�r5)r�map_keysr�rIs r3rJzDirectory.to_partial_jsons���}�T�Z���5�5�5r5c�z�|j�|�di����|d<||��S)N�meta)r�rR�poprPs  r3rRzDirectory.from_json	s7���x�)�)�$�(�(�6�2�*>�*>�?�?��V���s�4�y�y�r5)rOr^r_r`rM�JSONObjectWithFieldsr�rrcrrDr�r�rrJrer	rRr.r5r3r�r��s"��������
F�F�F�F�F�t�(�F�F�F�2�W�S�#�X�.��4�����-��-��-�-�-�-�B��B��B�B�B�B�6��c�3�h��6�6�6�6���^�C��H�5��+�����[���r5r�c�>�eZdZUdZejd��Zded<dS)�ResourcezOACME Resource.

    :ivar acme.messages.ResourceBody body: Resource body.

    �body�ResourceBodyN)rOr^r_r`rMrsr�rdr.r5r3r�r�s:���������
&�4�:�f�-�-�D�.�-�-�-�-�-r5r�c�>�eZdZUdZejd��Zeed<dS)�ResourceWithURIzKACME Resource with URI.

    :ivar str uri: Location of the resource.

    �uriN)	rOr^r_r`rMrsr�rcrdr.r5r3r�r�s:���������
�t�z�%� � �C�� � � � � r5r�c��eZdZdZdS)r�zACME Resource Body.N�rOr^r_r`r.r5r3r�r�!s���������r5r�c
�X�eZdZdZedejdededede	ee
ff
d���ZdS)	�ExternalAccountBindingzACME External Account Binding�account_public_key�kid�hmac_key�	directoryr7c��tj|��������}tj�|��}|d}tj�	|tj
�|���tjj
d||��}|���S)zLCreate External Account Binding Resource from contact details, kid and hmac.�
newAccount)�keyN)�json�dumpsrJr�rM�b64�	b64decoder�JWS�sign�jwk�JWKOct�jwa�HS256)	rQr�r�r�r��key_json�decoded_hmac_key�url�eabs	         r3�	from_dataz ExternalAccountBinding.from_data(s���
�:�0�@�@�B�B�C�C�J�J�L�L���8�-�-�h�7�7����%���g�l�l�8�T�X�_�_�9I�_�%J�%J��8�>�4���%�%���"�"�$�$�$r5N)rOr^r_r`rerM�JWKrcr�rrr�r.r5r3r�r�%sg������'�'��%�4�8�%�#�%��%�&�%�+/��S��>�%�%�%��[�%�%�%r5r��GenericRegistration�Registration)�boundc���eZdZUdZejddejj���Zeje	d<ejddd���Z
eedfe	d<ejd	d�
��Z
ee	d	<ejdd�
��Zee	d<ejdd�
��Zee	d
<ejdd�
��Zee	d<ejdd�
��Zeeefe	d<dZdZe			d$deedeedeedeeeefdedefd���Zdeddf�fd�Zdedeedffd�Zdeeefdeeeffd�Zdeeeff�fd �Z deeeff�fd!�Z!e"deedffd"���Z#e"deedffd#���Z$�xZ%S)%r�z�Registration Resource Body.

    :ivar jose.JWK key: Public key.
    :ivar tuple contact: Contact information following ACME spec,
        `tuple` of `str`.
    :ivar str agreement:

    r�T�rvrq�contactr.ru.�	agreementry�status�termsOfServiceAgreed�terms_of_service_agreed�onlyReturnExisting�only_return_existing�externalAccountBinding�external_account_bindingztel:zmailto:NrQ�phone�emailr�r7c�F��d|v}t|�dd����}|�|��j|z��|�4|��fd�|�d��D����|s|rt
|��|d<|r||d<�di|��S)a
        Create registration resource from contact details.

        The `contact` keyword being passed to a Registration object is meaningful, so
        this function represents empty iterables in its kwargs by passing on an empty
        `tuple`.
        rr.Nc�$��g|]}�j|z��
Sr.)�email_prefix)r0�mailrQs  �r3�
<listcomp>z*Registration.from_data.<locals>.<listcomp>js!���Q�Q�Q��C�,�t�3�Q�Q�Qr5�,r
)�listr��append�phone_prefix�extend�splitr�)rQrrr
r��contact_provided�detailss`      r3r�zRegistration.from_dataUs����%��.���v�z�z�)�R�0�0�1�1�����N�N�3�+�e�3�4�4�4����N�N�Q�Q�Q�Q����C�@P�@P�Q�Q�Q�R�R�R��	/�&�	/� %�g���F�9��#�	J�1I�F�-�.��s�}�}�V�}�}�r5c���d|vr$|d�t�|dd��t��jdi|��dS)z;Note if the user provides a value for the `contact` member.rN�_add_contactTr.)�object�__setattr__rCrDr�s  �r3rDzRegistration.__init__vsS�������6�)�#4�#@����t�^�T�:�:�:������"�"�6�"�"�"�"�"r5�prefixc�D��t�fd�|jD����S)Nc3�p�K�|]0}|�����|t���d�V��1dSrB)�
startswithr�)r0rzrs  �r3r�z/Registration._filter_contact.<locals>.<genexpr>~sZ�����*�*�%+�� � ��(�(�*��3�v�;�;�<�<� �*�*�*�*�*�*r5)r�r)rFrs `r3�_filter_contactzRegistration._filter_contact}s=����*�*�*�*�/3�|�*�*�*�*�*�	*r5rKc�X�t|dd��r|�d��|d<|S)a�
        The `contact` member of Registration objects should not be required when
        de-serializing (as it would be if the Fields' `omitempty` flag were `False`), but
        it should be included in serializations if it was provided.

        :param jobj: Dictionary containing this Registrations' data
        :type jobj: dict

        :returns: Dictionary containing Registrations data to transmit to the server
        :rtype: dict
        rFr)�getattrr�r�s  r3�_add_contact_if_appropriatez(Registration._add_contact_if_appropriate�s2���4���/�/�	5�"�k�k�)�4�4�D��O��r5c�n��t�����}|�|��S)z2Modify josepy.JSONDeserializable.to_partial_json())rCrJr%�rFrKrGs  �r3rJzRegistration.to_partial_json�s,����w�w�&�&�(�(���/�/��5�5�5r5c�n��t�����}|�|��S)z;Modify josepy.JSONObjectWithFields.fields_to_partial_json())rC�fields_to_partial_jsonr%r's  �r3r)z#Registration.fields_to_partial_json�s,����w�w�-�-�/�/���/�/��5�5�5r5c�6�|�|j��S)z*All phones found in the ``contact`` field.)r"rrIs r3�phoneszRegistration.phones�����#�#�D�$5�6�6�6r5c�6�|�|j��S)z*All emails found in the ``contact`` field.)r"rrIs r3�emailszRegistration.emails�r,r5)NNN)&rOr^r_r`rMrsr�rRr�rdrrrcrrr�rrfrr
rrrrrerr�r
r�rDr"r%rJr)r�r+r.rhris@r3r�r�;s�����������D�J�u��d�h�>P�Q�Q�Q�C���Q�Q�Q� *�t�z�)�t�R�P�P�P�G�U�3��8�_�P�P�P��T�Z��t�<�<�<�I�s�<�<�<��T�Z��D�9�9�9�F�F�9�9�9�$.�D�J�/E�QU�$V�$V�$V��T�V�V�V�!+���,@�D�!Q�!Q�!Q��$�Q�Q�Q�/9�t�z�:R�DH�0J�0J�0J��d�3��8�n�J�J�J��L��L��IM�)-�GK���t�/�0���#���!�#���,4�T�#�s�(�^�,D�� ��%8�����[��@#��#��#�#�#�#�#�#�*�c�*�e�C��H�o�*�*�*�*�
��S�#�X���4��S��>�����"6��c�3�h��6�6�6�6�6�6�
6��S�#�X��6�6�6�6�6�6�
�7��c�3�h��7�7�7��X�7��7��c�3�h��7�7�7��X�7�7�7�7�7r5c��eZdZdZdS)�NewRegistrationzNew registration.Nr�r.r5r3r0r0�s���������r5r0c��eZdZdZdS)�UpdateRegistrationzUpdate registration.Nr�r.r5r3r2r2�s���������r5r2c��eZdZUdZejdej���Zee	d<ejdd���Z
ee	d<ejdd���Zee	d<dS)	�RegistrationResourcez�Registration Resource.

    :ivar acme.messages.Registration body:
    :ivar str new_authzr_uri: Deprecated. Do not use.
    :ivar str terms_of_service: URL for the CA TOS.

    r�rp�new_authzr_uriTryr�N)
rOr^r_r`rMrsr�rRr�rdr5rcr�r.r5r3r4r4�s����������$���F�L�4J�K�K�K�D�,�K�K�K�$�$�*�%5��F�F�F�N�C�F�F�F�&�D�J�'9�T�J�J�J��c�J�J�J�J�Jr5r4c����eZdZUdZdZejddd���Zee	d<ejde
jde�	��Z
e
e	d<ejd
d���Zeje	d
<ejdejdd�	��Zee	d<d
eddf�fd�Zdedef�fd�Zdeeeff�fd�Zedeeefdeeeff�fd���Zedefd���Zdedefd�Zdeef�fd�Z dedefd�Z!�xZ"S)�
ChallengeBodya>Challenge Resource Body.

    .. todo::
       Confusingly, this has a similar name to `.challenges.Challenge`,
       as well as `.achallenges.AnnotatedChallenge`. Please use names
       such as ``challb`` to distinguish instances of this class from
       ``achall``.

    :ivar acme.challenges.Challenge: Wrapped challenge.
        Conveniently, all challenge fields are proxied, i.e. you can
        call ``challb.x`` to get ``challb.chall.x`` contents.
    :ivar acme.messages.Status status:
    :ivar datetime.datetime validated:
    :ivar messages.Error error:

    )�challr�TNru�_urlr)rqrvrw�	validatedryr�r�r7c�|����fd�|���D��}t��jdi|��dS)Nc�B��i|]\}}��|��|��Sr.r�r�s   �r3r4z*ChallengeBody.__init__.<locals>.<dictcomp>�s-���G�G�G���1�$�%�%�a�(�(�!�G�G�Gr5r.r�r�s` �r3rDzChallengeBody.__init__�sH����G�G�G�G������G�G�G�������"�"�6�"�"�"�"�"r5r1c�l��t���|�|����SrB)rCr�r�rEs  �r3r�zChallengeBody.encode�s'����w�w�~�~�d�1�1�$�7�7�8�8�8r5c���t�����}|�|j�����|SrB)rCrJ�updater8r's  �r3rJzChallengeBody.to_partial_json�s=����w�w�&�&�(�(�����D�J�.�.�0�0�1�1�1��r5rKc���t���|��}tj�|��|d<|S)Nr8)rC�fields_from_jsonr�	ChallengerR)rQrK�jobj_fieldsrGs   �r3rAzChallengeBody.fields_from_json�s;����g�g�.�.�t�4�4��)�3�=�=�d�C�C��G���r5c��|jS)zThe URL of this challenge.)r9rIs r3r�zChallengeBody.uri�s���y�r5c�,�t|j|��SrB)r$r8r�s  r3r�zChallengeBody.__getattr__�s���t�z�4�(�(�(r5c#�j�K�t�����D]}|dkrdn|V��dS)Nr9r�r�rEs  �r3r�zChallengeBody.__iter__�sM������G�G�$�$�&�&�	4�	4�D��6�>�>�%�%�t�3�3�3�3�	4�	4r5c��|dkrdn|S)Nr�r9r.r�s  r3r�zChallengeBody._internal_name�s������v�v�D�0r5)#rOr^r_r`rarMrsr9rcrdr�rR�STATUS_PENDINGrr�rfc3339r:�datetimer:r�rrDr�rrJrerrAr�r�r�rr�r�rhris@r3r7r7�sL���������� �I�
��
�5�D�$�?�?�?�D�#�?�?�?��T�Z��&�2B�"&��@�@�@�F�F�@�@�@�#1�6�>�+��#N�#N�#N�I�x� �N�N�N��4�:�g�u��!%�t�5�5�5�E�5�5�5�5�#��#��#�#�#�#�#�#�9�3�9�3�9�9�9�9�9�9���c�3�h��������
��G�C��H�$5��$�s�C�x�.�������[��
��S�����X��)��)��)�)�)�)�4�(�3�-�4�4�4�4�4�4�1�3�1�3�1�1�1�1�1�1�1�1r5r7c��eZdZUdZejdej���Zee	d<ejd��Z
ee	d<edefd���Z
dS)�ChallengeResourcez�Challenge Resource.

    :ivar acme.messages.ChallengeBody body:
    :ivar str authzr_uri: URI found in the 'up' ``Link`` header.

    r�rp�
authzr_urir7c��|jjS)zThe URL of the challenge body.)r�r�rIs r3r�zChallengeResource.uris���y�}�r5N)rOr^r_r`rMrsr7rRr�rdrMrcr�r�r.r5r3rLrL�s����������%�$�*�V�]�5L�M�M�M�D�-�M�M�M� �d�j��.�.�J��.�.�.�
��S�����X���r5rLc�~�eZdZUdZejdejd���Zee	d<ejdd���Z
eee	d<ejdde
j���Ze
e	d<ejd	d���Zeje	d	<ejd
d���Zee	d
<e
jdeeeefdeed
ffd���Z
dS)�
Authorizationz�Authorization Resource Body.

    :ivar acme.messages.Identifier identifier:
    :ivar list challenges: `list` of `.ChallengeBody`
    :ivar acme.messages.Status status:
    :ivar datetime.datetime expires:

    r{Tr|rryrr�expires�wildcardrrr7.c�4�td�|D����S)Nc3�JK�|]}t�|��V��dSrB)r7rR)r0r8s  r3r�z+Authorization.challenges.<locals>.<genexpr>&s0����G�G��]�,�,�U�3�3�G�G�G�G�G�Gr5r�r�s r3rzAuthorization.challenges$s���G�G��G�G�G�G�G�Gr5N)rOr^r_r`rMrsrorRr{rdrrr7r�rrrIrQrJrRrfrqrrcrrr.r5r3rPrPs-���������(�T�Z��j�>R�^b�c�c�c�J�
�c�c�c�&0�d�j���&N�&N�&N�J��]�#�N�N�N��T�Z��D�&�BR�S�S�S�F�F�S�S�S�
"0���	�T�!J�!J�!J�G�X�
�J�J�J��T�Z�
�d�;�;�;�H�d�;�;�;���H�$�t�C��H�~�.�H�5���9K�3L�H�H�H���H�H�Hr5rPc��eZdZdZdS)�NewAuthorizationzNew authorization.Nr�r.r5r3rVrV)s���������r5rVc��eZdZdZdS)�UpdateAuthorizationzUpdate authorization.Nr�r.r5r3rXrX-s���������r5rXc�z�eZdZUdZejdej���Zee	d<ejdd���Z
ee	d<dS)�AuthorizationResourcez~Authorization Resource.

    :ivar acme.messages.Authorization body:
    :ivar str new_cert_uri: Deprecated. Do not use.

    r�rp�new_cert_uriTryN)rOr^r_r`rMrsrPrRr�rdr[rcr.r5r3rZrZ1sc���������%�$�*�V�]�5L�M�M�M�D�-�M�M�M�"��
�>�T�B�B�B�L�#�B�B�B�B�Br5rZc�b�eZdZUdZejdejej���Zej	e
d<dS)�CertificateRequestz~ACME newOrder request.

    :ivar jose.ComparableX509 csr:
        `OpenSSL.crypto.X509Req` wrapped in `.ComparableX509`

    �csr�rq�encoderN)rOr^r_r`rMrs�
decode_csr�
encode_csrr^�ComparableX509rdr.r5r3r]r]<sJ��������� *�t�z�%���RV�Ra�b�b�b�C��	�b�b�b�b�br5r]c�x�eZdZUdZejd��Zeed<ejd��Z	e
edfed<dS)�CertificateResourceaCertificate Resource.

    :ivar josepy.util.ComparableX509 body:
        `OpenSSL.crypto.X509` wrapped in `.ComparableX509`
    :ivar str cert_chain_uri: URI found in the 'up' ``Link`` header
    :ivar tuple authzrs: `tuple` of `AuthorizationResource`.

    �cert_chain_uri�authzrs.N)rOr^r_r`rMrsrfrcrdrgrrZr.r5r3rereFsb���������%�$�*�%5�6�6�N�C�6�6�6�1;���I�1F�1F�G�U�(�#�-�
.�F�F�F�F�Fr5rec��eZdZUdZejdejej���Zej	e
d<ejd��Zee
d<dS)�
Revocationz�Revocation message.

    :ivar jose.ComparableX509 certificate: `OpenSSL.crypto.X509` wrapped in
        `jose.ComparableX509`

    �certificater_�reasonN)
rOr^r_r`rMrs�decode_cert�encode_certrjrcrdrkrgr.r5r3ririSsy���������(2�t�z��t�/��9I�(K�(K�(K�K��$�K�K�K��$�*�X�&�&�F�C�&�&�&�&�&r5ric���eZdZUdZejdd���Zeee	d<ejde
jd���Ze
e	d<ejdd���Z
eee	d<ejdd���Zee	d<ejd	d���Zee	d	<ejd
d���Zeje	d
<ejddej���Zee	d<ejd
eeeefdeedffd���ZdS)�Ordera_Order Resource Body.

    :ivar identifiers: List of identifiers for the certificate.
    :vartype identifiers: `list` of `.Identifier`
    :ivar acme.messages.Status status:
    :ivar authorizations: URLs of authorizations.
    :vartype authorizations: `list` of `str`
    :ivar str certificate: URL to download certificate as a fullchain PEM.
    :ivar str finalize: URL to POST to to request issuance once all
        authorizations have "valid" status.
    :ivar datetime.datetime expires: When the order expires.
    :ivar ~.Error error: Any error that occurred during finalization, if applicable.
    �identifiersTryrr|�authorizationsrj�finalizerQr�rrrr7.c�4�td�|D����S)Nc3�JK�|]}t�|��V��dSrB)rorR)r0r{s  r3r�z$Order.identifiers.<locals>.<genexpr>ys0����N�N�*�Z�)�)�*�5�5�N�N�N�N�N�Nr5r�r�s r3rpzOrder.identifiersws���N�N��N�N�N�N�N�Nr5N)rOr^r_r`rMrsrprrordr�rRrrqrcrjrrrrIrQrJr:r�rqrrrr.r5r3roro_so���������%/�D�J�}��$M�$M�$M�K��j�!�M�M�M��T�Z��&�2B�d�S�S�S�F�F�S�S�S� *��
�+;�t� L� L� L�N�D��I�L�L�L�!�t�z�-�4�@�@�@�K��@�@�@��D�J�z�T�:�:�:�H�c�:�:�:�!/���	�T�!J�!J�!J�G�X�
�J�J�J��4�:�g��u��O�O�O�E�5�O�O�O���O�4��S�#�X��/�O�E�*�c�/�4J�O�O�O���O�O�Or5roc��eZdZUdZejdej���Zee	d<ejdd���Z
ee	d<ejd��Ze
ee	d<ejdd���Zee	d<ejd	d���Ze
ee	d	<d
S)�
OrderResourcea�Order Resource.

    :ivar acme.messages.Order body:
    :ivar bytes csr_pem: The CSR this Order will be finalized with.
    :ivar authorizations: Fully-fetched AuthorizationResource objects.
    :vartype authorizations: `list` of `acme.messages.AuthorizationResource`
    :ivar str fullchain_pem: The fetched contents of the certificate URL
        produced once the order was finalized, if it's present.
    :ivar alternative_fullchains_pem: The fetched contents of alternative certificate
        chain URLs produced once the order was finalized, if present and requested during
        finalization.
    :vartype alternative_fullchains_pem: `list` of `str`
    r�rp�csr_pemTryrq�
fullchain_pem�alternative_fullchains_pemN)rOr^r_r`rMrsrorRr�rdrw�bytesrqrrZrxrcryr.r5r3rvrv|s�����������$�*�V�U�_�=�=�=�D�%�=�=�=��T�Z�	�T�:�:�:�G�U�:�:�:�2<�$�*�=M�2N�2N�N�D�.�/�N�N�N�#���O�t�D�D�D�M�3�D�D�D�,6�D�J�7S�AE�-G�-G�-G���S�	�G�G�G�G�Gr5rvc��eZdZdZdS)�NewOrderz
New order.Nr�r.r5r3r|r|�s���������r5r|)Fr`rJ�collections.abcrr��typingrrrrrr	r
rrr
�josepyrM�acmerrrrrr/r�r�r��
BaseExceptionrfr<�JSONDeSerializabler>rk�IDENTIFIER_FQDN�
IDENTIFIER_IPr�ror:r��STATUS_UNKNOWNrH�STATUS_PROCESSING�STATUS_VALID�STATUS_INVALID�STATUS_REVOKED�STATUS_READY�STATUS_DEACTIVATEDr�r�r�r�r�r�r�r0r2r4r7rLrPrVrXrZr]rerirorvr|r.r5r3�<module>r�s!��������$�$�$�$�$�$�����������������������������������!�!�!�!�!�!�����������������������������������������������������������-����Q�����
�B�	�
�C���T�
��X���_��
����T�����
�N��
�D�� �X�!�$�G�%�&�<�'�(�4�)�*�U�+�,d�A�@�J�?�\�?�F�M�=����B���0;�0A�0A�0C�0C������
�}�������1�1�1�1�1��'��1�1�1�:.�.�.�.�.�Y�.�.�.�
!�.��'�'����t�$�$�
�%�%�%�%�%��*�%�%�%�M�M�M�M�M�D�%�v�|�M�M�M�`.�.�.�.�.�Y�.�.�.�
��	�"�"����	�"�"���F�<�(�(���v�g������	�"�"����	�"�"���v�g�����V�M�*�*��4�4�4�4�4��'�4�4�4�n.�.�.�.�.�t�(�.�.�.�!�!�!�!�!�h�!�!�!������4�,����%�%�%�%�%�%�%�%�&�g�3�>�J�J�J��j7�j7�j7�j7�j7�<�j7�j7�j7�Z�����l�������������
K�
K�
K�
K�
K�?�
K�
K�
K�>1�>1�>1�>1�>1�L�>1�>1�>1�B
�
�
�
�
��
�
�
� H�H�H�H�H�L�H�H�H�6�����}���� � � � � �-� � � �C�C�C�C�C�O�C�C�C�c�c�c�c�c��2�c�c�c�
G�
G�
G�
G�
G�/�
G�
G�
G�	'�	'�	'�	'�	'��*�	'�	'�	'�O�O�O�O�O�L�O�O�O�:G�G�G�G�G�O�G�G�G�,�����u�����r5