
    i
                     n    d Z 	 ddlZdZ	 ddlZdZddZd ZddZ	y# e$ r dZY w xY w# e$ r dZY "w xY w)	z=
Support for serialization of numpy data types with msgpack.
    NTFc                    t         s|| S  ||       S t        r*t        | t        j                        r| j                         } t        | t        j                        r| j                  j                  dk(  rd}| j                  j                  }nd}| j                  j                  }d||| j                  | j                  d   r| j                  dS | j                         dS t        | t        j                  t        j                   f      r$d| j                  j                  | j                  dS t        | t"              rd| j%                         d	S || S  ||       S )
z8
    Data encoder for serializing numpy data types.
    V   V    TC_CONTIGUOUS)   nd   type   kind   shape   dataF)r   r	   r   )   complexr   )	has_numpyhas_cupy
isinstancecupyndarraygetnpdtypekinddescrstrshapeflagsdatatobytesbool_numbercomplex__repr__)objchainr   r   s       m/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/srsly/msgpack/_msgpack_numpy.pyencode_numpyr$      s    ms3s3JsDLL1ggi#rzz" 99>>S DIIOOEDIIMMEii!$>!:SXX
 	

 AD
 	
 
C"((BII.	/syy}}sxxHH	C	! 3<<>::ms3s3r   c                 X    t        | t              r| j                         S t        |       S N)r   bytesdecoder   )xs    r#   tostrr*   :   s!    !Uxxz1vr   c                    	 d| v r| d   du rsd| v r+| d   dk(  r#| d   D cg c]  }t        d |D               }}n| d   }t        j                  | d   t        j                  |            j	                  | d	         S | d   }t        j                  | d   t        j                  |            d
   S d| v rt        t        | d               S || S  ||       S c c}w # t        $ r || cY S  ||       cY S w xY w)z5
    Decoder for deserializing numpy data types.
    r   Tr
   r   r	   c              3   X   K   | ]"  }t        |      t        u rt        |      n| $ y wr&   )typer'   r*   ).0ts     r#   	<genexpr>zdecode_numpy.<locals>.<genexpr>N   s$     Ma$q'U*:eAhAMs   (*r   )r   r   r   r   )tupler   
frombufferr   reshaper   r*   KeyError)r!   r"   dr   s       r#   decode_numpyr6   A   s   
4C<5zT! c>c'ld&: "%W M1MME 
  LE}}S\%IQQM  G}}S\%I!LL35W.//-37U3Z7   4ms3s34s@   C! CAC!  4C! 5C! C! C! C! !C;0C;:C;r&   )
__doc__numpyr   r   ImportErrorr   r   r$   r*   r6    r   r#   <module>r;      s`   IH
4@4e  I  Hs    * ''44