�
�S�gt � �� � d Z ddlZddlZddlmZ ddlZddlZ ej e � Z
G d� dej � Z G d� dej � Z
ded ed
efd�Zddeded
efd
�Zy)zACME JSON fields.� N)�Anyc �P � � e Zd ZdZdededdf� fd�Zdedefd�Zdedefd�Z� xZ S ) �FixedzFixed field.� json_name�value�returnNc �8 �� || _ t �| � ||d�� y )NF)r �default� omitempty)r �super�__init__)�selfr r � __class__s ��{/build/snapcraft-certbot-29b1212f749eeba2f1dece1adfe9a83a/parts/certbot/install/lib/python3.12/site-packages/acme/fields.pyr
zFixed.__init__ s$ �� ���
�
�����%� � A� c � � || j k7 r.t j dj | j � � �| j S )NzExpected {0!r})r �jose�DeserializationError�format�r r s r �decodezFixed.decode s9 � ��D�J�J���+�+�,<�,C�,C�D�J�J�,O�P�P��z�z�r c �f � || j k7 r!t j d| j |� |S )Nz#Overriding fixed field (%s) with %r)r �logger�warningr r s r �encodezFixed.encode s+ � ��D�J�J���N�N�5�t�~�~�u�
N��r )
�__name__�
__module__�__qualname__�__doc__�strr r
r r �
__classcell__)r s @r r r sJ �� ��A�#� A�c� A�d� A�
�C� �C� �
�C� �C� r r c �l � e Zd ZdZedej
defd�� Zededej
fd�� Zy)�RFC3339Fieldz�RFC3339 field encoder/decoder.
Handles decoding/encoding between RFC3339 strings and aware (not
naive) `datetime.datetime` objects
(e.g. ``datetime.datetime.now(pytz.UTC)``).
r r c �, � t j |� S �N)� pyrfc3339�generate)�clsr s r �default_encoderzRFC3339Field.default_encoder) s � ��!�!�%�(�(r c �z � t j |� S # t $ r}t j |� �d }~ww xY wr% )r& |