
    /;ji
                     t    d Z 	 ddlZdZn# e$ r dZY nw xY w	 ddlZdZn# e$ r dZY nw xY wddZd ZddZ	dS )	z=
Support for serialization of numpy data types with msgpack.
    NTFc                 x   t           s|| n
 ||           S t          r.t          | t          j                  r|                                 } t          | t          j                  r`| j        j        dk    rd}| j        j	        }nd}| j        j
        }d||| j        | j        d         r| j        n|                                 dS t          | t          j        t          j        f          rd| j        j
        | j        d	S t          | t"                    rd|                                 d
S || n
 ||           S )z8
    Data encoder for serializing numpy data types.
    N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       V/root/voice-cloning/.venv/lib/python3.11/site-packages/srsly/msgpack/_msgpack_numpy.pyencode_numpyr$      s8     4msss3 JsDL11 ggii#rz"" 4 9>S  DIOEEDIMEi!$>!:MSXX
 
 	
 
C"(BI.	/	/ 4sy}sxHHH	C	!	! 4 3<<>>:::msss3r   c                 r    t          | t                    r|                                 S t          |           S N)r   bytesdecoder   )xs    r#   tostrr*   :   s-    !U xxzz1vvr   c                 $   	 d| v r| d         du rrd| v r| d         dk    rd | d         D             }n| d         }t          j        | d         t          j        |                                        | d	                   S | d         }t          j        | d         t          j        |                    d
         S d| v r"t	          t          | d                             S || n
 ||           S # t          $ r || n
 ||           cY S w xY w)z5
    Decoder for deserializing numpy data types.
    r   Tr
   r   c                 @    g | ]}t          d  |D                       S )c              3   d   K   | ]+}t          |          t          u rt          |          n|V  ,d S r&   )typer'   r*   ).0ts     r#   	<genexpr>z*decode_numpy.<locals>.<listcomp>.<genexpr>N   s<      MMa$q''U*:*:eAhhhMMMMMMr   )tuple)r/   ds     r#   
<listcomp>z decode_numpy.<locals>.<listcomp>M   s?        MM1MMMMM  r   r	   r   )r   r   r   r   )r   
frombufferr   reshaper   r*   KeyError)r!   r"   r   s      r#   decode_numpyr8   A   sD   
4C<<5zT!! c>>c'ld&:&: !$W  EE
  LE}S\%IIIQQM   G}S\%III!LL35W..///-33UU3ZZ7 4 4 4msss3334s$   A?C3 ;C3 >%C3 $C3 3DDr&   )
__doc__numpyr   r   ImportErrorr   r   r$   r*   r8    r   r#   <module>r=      s    II   IIIKKKHH   HHH4 4 4 4@  4 4 4 4 4 4s      **