Ë
    ¡ehÛ  ã                   ó   — d Z g d¢ZddlZddlZddlmZ ddlZ	 ddlZe
Ze
fZeZeZeZd„ Zd„ Zd„ Zd„ Zdd	„Zd
„ ZdZd„ Zd„ Zd„ Zd„ Z G d„ d«      Zdd„Zej<                  Zej@                  Z!y# e	$ r ddlZY Œ^w xY w)a³  
Python 3.X compatibility tools.

While this file was originally intended for Python 2 -> 3 transition,
it is now used to create a compatibility layer between different
minor versions of Python 3.

While the active version of numpy may not support a given version of python, we
allow downstream libraries to continue to use these shims for forward
compatibility with numpy while they transition their code to newer versions of
Python.
)ÚbytesÚasbytesÚ	isfileobjÚgetexceptionÚstrcharÚunicodeÚ	asunicodeÚasbytes_nestedÚasunicode_nestedÚasstrÚopen_latin1ÚlongÚ
basestringÚsixuÚinteger_typesÚis_pathlib_pathÚnpy_load_moduleÚPathÚpickleÚcontextlib_nullcontextÚ	os_fspathÚos_PathLikeé    N)r   c                 óZ   — t        | t        «      r| j                  d«      S t        | «      S ©NÚlatin1©Ú
isinstancer   ÚdecodeÚstr©Úss    úO/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/numpy/compat/py3k.pyr   r   "   ó$   € Ü�!”UÔØ�x‰x˜Ó!Ð!Üˆq‹6€Mó    c                 óZ   — t        | t        «      r| S t        | «      j                  d«      S r   )r   r   r   Úencoder    s    r"   r   r   '   s$   € Ü�!”UÔØˆÜˆq‹6�=‰=˜Ó"Ð"r$   c                 óZ   — t        | t        «      r| j                  d«      S t        | «      S r   r   r    s    r"   r   r   ,   r#   r$   c                 ó¸   — t        | t        j                  t        j                  t        j                  f«      sy	 | j                  «        y# t        $ r Y yw xY w)NFT)r   ÚioÚFileIOÚBufferedReaderÚBufferedWriterÚfilenoÚOSError)Úfs    r"   r   r   1   sK   € Ü�aœ"Ÿ)™)¤R×%6Ñ%6¼×8IÑ8IÐJÔKØðð 	
�‰Œ
ØøÜò Ùðús   ¼A Á	AÁAc                 ó   — t        | |d¬«      S )Nz
iso-8859-1)ÚmodeÚencoding)Úopen)Úfilenamer1   s     r"   r   r   <   s   € Ü�˜t¨lÔ;Ð;r$   c                 ó   — | S ©N© r    s    r"   r   r   ?   s   € Ø€Hr$   ÚUc                  ó0   — t        j                  «       d   S )Né   )ÚsysÚexc_infor7   r$   r"   r   r   D   s   € Ü�<‰<‹>˜!ÑÐr$   c                 ó˜   — t        | d«      r/t        | t        t        f«      s| D �cg c]  }t	        |«      ‘Œ c}S t        | «      S c c}w ©NÚ__iter__)Úhasattrr   r   r   r	   r   ©ÚxÚys     r"   r	   r	   G   s?   € Üˆq�*Ô¤j°´U¼GÐ4DÔ&EØ+,Ö- a”˜qÕ!Ò-Ð-ä�q‹zÐùò .ó   §Ac                 ó˜   — t        | d«      r/t        | t        t        f«      s| D �cg c]  }t	        |«      ‘Œ c}S t        | «      S c c}w r>   )r@   r   r   r   r
   r   rA   s     r"   r
   r
   M   s@   € Üˆq�*Ô¤j°´U¼GÐ4DÔ&EØ-.Ö/¨Ô  Õ#Ò/Ð/ä˜‹|Ðùò 0rD   c                 ó"   — t        | t        «      S )z„
    Check whether obj is a `pathlib.Path` object.

    Prefer using ``isinstance(obj, os.PathLike)`` instead of this function.
    )r   r   )Úobjs    r"   r   r   S   s   € ô �cœ4Ó Ð r$   c                   ó$   — e Zd ZdZdd„Zd„ Zd„ Zy)r   a­  Context manager that does no additional processing.

    Used as a stand-in for a normal context manager, when a particular
    block of code is only sometimes used with a normal context manager:

    cm = optional_cm if condition else nullcontext()
    with cm:
        # Perform operation, using optional_cm if condition is True

    .. note::
        Prefer using `contextlib.nullcontext` instead of this context manager.
    Nc                 ó   — || _         y r6   ©Úenter_result)ÚselfrK   s     r"   Ú__init__zcontextlib_nullcontext.__init__j   s
   € Ø(ˆÕr$   c                 ó   — | j                   S r6   rJ   )rL   s    r"   Ú	__enter__z contextlib_nullcontext.__enter__m   s   € Ø× Ñ Ð r$   c                  ó   — y r6   r7   )rL   Úexcinfos     r"   Ú__exit__zcontextlib_nullcontext.__exit__p   s   € Ør$   r6   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rM   rO   rR   r7   r$   r"   r   r   \   s   „ ñó)ò!ór$   r   c                 ó<   — ddl m}  || |«      j                  «       S )a´  
    Load a module. Uses ``load_module`` which will be deprecated in python
    3.12. An alternative that uses ``exec_module`` is in
    numpy.distutils.misc_util.exec_mod_from_location

    Parameters
    ----------
    name : str
        Full module name.
    fn : str
        Path to module file.
    info : tuple, optional
        Only here for backward compatibility with Python 2.*.

    Returns
    -------
    mod : module

    r   )ÚSourceFileLoader)Úimportlib.machineryrX   Úload_module)ÚnameÚfnÚinforX   s       r"   r   r   t   s   € õ, 5Ù˜D "Ó%×1Ñ1Ó3Ð3r$   )Úrr6   )"rV   Ú__all__r;   ÚosÚpathlibr   r)   Úpickle5r   ÚImportErrorÚintr   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r
   r   r   r   Úfspathr   ÚPathLiker   r7   r$   r"   ú<module>rg      s¶   ðñòK€ó Û 	Ý Û 	ðÛð €Ø�€Ø€
Ø
€Ø€òò
#ò
ò
	ó<òð €òòòò!÷ñ ó04ð4 �I‰I€	Ø�k‰k�øðm ò Ýðús   šA1 Á1	A=Á<A=