
     h
                     <   d Z ddlZddlZddlZddlZ	 ddlmZ n# e	$ r  G d d          ZY nw xY w	 ddlZi Z
 G d de          Zn# e	$ r ddlZddlmZ d	d	d
Z
Y nw xY w eej                  ZdZ G d de          ZeZej        ddfdZej        dfdZdS )zJSON Serialization Utilities.    N)Promisec                       e Zd ZdZdS )DjangoPromisezDummy object.N)__name__
__module____qualname____doc__     L/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/kombu/utils/json.pyr   r      s        r   r   c                       e Zd ZdS )_DecodeErrorN)r   r   r   r
   r   r   r   r      s        r   r   )JSONDecodeErrorF)use_decimalnamedtuple_as_objectc                   x     e Zd ZdZej        ej        fej        fej        e	j
        efeej        ef fd	Z xZS )JSONEncoderzKombu custom json encoder.c           	         t          |dd           }|
 |            S  |||          rd |||          s  ||j        |j        |j        dddd          }|                                }	|	                    d          r|	d d         dz   }	|	S  |||          r|                                S  |||          r ||          S t                                          |          S )N__json__r   z+00:00iZ)getattryearmonthday	isoformatendswithsuperdefault)selfodatestimestextual
isinstancedatetimetext_treducerr	__class__s             r   r   zJSONEncoder.default$   s    !Z..799z!U## 
!!z!X.. E !%Aq!DDAKKMM::h'' %#2#AAu%% !{{}}$Aw'' !vayy 77??1%%%r   )r   r   r   r	   r%   datetimedecimalDecimaluuidUUIDr   r$   strr   __classcell__)r)   s   @r   r   r   !   st        $$  ((-8}& $)]C%!*& & & & & & & & & &r   r   c           	      N    |st           } || fd|pt          it          |fi |S )z Serialize object to json string.cls)_json_extra_kwargs_default_encoderdict)s_dumpsr3   default_kwargskwargss        r   dumpsr;   @   sO     ,+6! 4 40 0 4226224 4 4r   Tc                    t          | t                    r(|                                                     d          } nWt          | t                    r|                     d          } n,|r*t          | t
                    r|                     d          } 	  ||           S # t          $ r t          j        |           cY S w xY w)zDeserialize json from string.zutf-8)	r$   
memoryviewtobytesdecode	bytearraybytesr   stdjsonloads)r7   _loadsdecode_bytess      r   rC   rC   H   s     !Z   IIKKw''	Ay	!	! HHW	 *Q.. HHW vayy      }Q s   
B! !CC)r	   r%   r,   jsonrB   r.   django.utils.functionalr   r   ImportErrorr4   	Exceptionr   
simplejsonsimplejson.decoderr   typer5   _encoder_clsr   r;   rC   r
   r   r   <module>rN      s   # #       @@@@@@@            KKK    y       BBBBBB %  tD)** & & & & &, & & &8   JD 4 4 4 4 JT            s    00A	 	A A 