
    i                         S r SSKJr  SSKJrJrJr  SSKJrJrJ	r	  SSK
JrJr  SSKJrJr  SSKJr  SS	KJr  SS
KJr  SSKJrJrJr  \" S5      r " S S\5      rS\4S jr\" \5      S\S\S\4S j5       rg)z#Preconfigured converters for cbor2.    )Set)datedatetimetimezone)AnyTypeVarUnion)dumpsloads   )BaseConverter	Converteridentity)is_literal_containing_enums)configure_union_passthrough   )is_primitive_enum'literals_with_enums_unstructure_factorywrapTc            	       R    \ rS rSrSS\S\S\S\4S jjrS\S	\\   S\S\4S
 jr	Sr
g)Cbor2Converter   Nobjunstructure_askwargsreturnc                 4    [        U R                  XS940 UD6$ )N)r   )r
   unstructure)selfr   r   r   s       S/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/cattrs/preconf/cbor2.pyr
   Cbor2Converter.dumps   s     T%%c%ITVTT    dataclc                 :    U R                  [        U40 UD6U5      $ N)	structurer   )r!   r%   r&   r   s       r"   r   Cbor2Converter.loads   s    ~~eD3F3R88r$    r(   )__name__
__module____qualname____firstlineno__r   bytesr
   typer   r   __static_attributes__r+   r$   r"   r   r      sM    U Uc UC UE U9% 9T!W 9 9 9r$   r   	converterc           	      x   U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        U R	                  [
        S 5        U R	                  [        [        5        [        [        [        [        [        [        S[        4   U 5        g)z
Configure the converter for use with the cbor2 library.

* datetimes are serialized as timestamp floats
* sets are serialized as lists
* string and int enums are passed through when unstructuring
c                 "    U R                  5       $ r(   )	timestampvs    r"   <lambda>%configure_converter.<locals>.<lambda>"   s
    AKKMr$   c                 L    [         R                  " U [        R                  5      $ r(   )r   fromtimestampr   utcr8   _s     r"   r9   r:   $   s    x55aFr$   c                 "    U R                  5       $ r(   )	isoformatr7   s    r"   r9   r:   &   s
    r$   c                 .    [         R                  " U 5      $ r(   )r   fromisoformatr>   s     r"   r9   r:   '   s    9K9KA9Nr$   c                     [         $ r(   r   )ts    r"   r9   r:   (   s    Xr$   N)register_unstructure_hookr   register_structure_hookr   !register_unstructure_hook_factoryr   r   r   r   r	   strboolintfloatr0   )r3   s    r"   configure_converterrM      s     ''2IJ%%F ''.EF%%d,NO//0ACUV//#%L  c4eT5&H I9Ur$   argsr   r   c                  t    [         [        0UR                  S0 5      EUS'   [        U 0 UD6n[	        U5        U$ )Nunstruct_collection_overrides)r   listgetr   rM   )rN   r   ress      r"   make_converterrT   /   sH     	T/
**4b
9/F*+ $
)&
)CJr$   N)__doc__collections.abcr   r   r   r   typingr   r   r	   cbor2r
   r   
convertersr   r   fnsr   literalsr   
strategiesr    r   r   r   r   r   rM   rT   r+   r$   r"   <module>r^      s}    )  - - & &  1  2 4 N NCL9Y 9V= V* n#    r$   