Ë
    i8'h…
  ã                  óð   — U d dl mZ d dlZd dlZd dlZd dlmZmZ d dlm	Z	 er d dl
mZ eeej                  e   f   Zded<   neeej                  f   Zded<   d„ Zdd	„Zdd
„Zej&                  d„ «       Zy)é    )ÚannotationsN)ÚTYPE_CHECKINGÚUnion)Úunique_everseen)Ú	TypeAliasr   ÚStrPathc                óp   — t         j                  j                  | «      }t        j                  |d¬«       y)z1Ensure that the parent directory of `path` existsT)Úexist_okN)ÚosÚpathÚdirnameÚmakedirs)r   r   s     úL/var/www/html/trade_iq/venv/lib/python3.12/site-packages/setuptools/_path.pyÚensure_directoryr      s"   € äg‰go‰o˜dÓ#€GÜ‡KK $Ö'ó    c                ó0   — t        | «      t        |«      k(  S )a‘  Differs from os.path.samefile because it does not require paths to exist.
    Purely string based (no comparison between i-nodes).
    >>> same_path("a/b", "./a/b")
    True
    >>> same_path("a/b", "a/./b")
    True
    >>> same_path("a/b", "././a/b")
    True
    >>> same_path("a/b", "./a/b/c/..")
    True
    >>> same_path("a/b", "../a/b/c")
    False
    >>> same_path("a", "a/b")
    False
    )Únormpath)Úp1Úp2s     r   Ú	same_pathr      s   € ô  B‹<œ8 B›<Ñ'Ð'r   c                ó  — t         j                  dk(  rt        j                  j	                  | «      n| }t        j                  j                  t        j                  j                  t        j                  j                  |«      «      «      S )z2Normalize a file/dir name for comparison purposes.Úcygwin)ÚsysÚplatformr   r   ÚabspathÚnormcaseÚrealpathr   )ÚfilenameÚfiles     r   r   r   ,   sV   € ô ),¯©¸Ò(@Œ27‰7?‰?˜8Ô$Àh€DÜ7‰7×ÑœBŸG™G×,Ñ,¬R¯W©W×-=Ñ-=¸dÓ-CÓDÓEÐEr   c              #  óh  K  — t        «       }t        j                  j                  d|«      }t        j                  j                  dd«      }	 t        j                  j                  t        | «      «      }t        d||g«      }t        j                  j                  |«      }|r|t        j                  d<   d–— ||u r!t        j                  j                  dd«       y|t        j                  d<   y# ||u r!t        j                  j                  dd«       w |t        j                  d<   w xY w­w)a°  
    Add the indicated paths to the head of the PYTHONPATH environment
    variable so that subprocesses will also see the packages at
    these paths.

    Do this in a context that restores the value on exit.

    >>> getfixture('monkeypatch').setenv('PYTHONPATH', 'anything')
    >>> with paths_on_pythonpath(['foo', 'bar']):
    ...     assert 'foo' in os.environ['PYTHONPATH']
    ...     assert 'anything' in os.environ['PYTHONPATH']
    >>> os.environ['PYTHONPATH']
    'anything'

    >>> getfixture('monkeypatch').delenv('PYTHONPATH')
    >>> with paths_on_pythonpath(['foo', 'bar']):
    ...     assert 'foo' in os.environ['PYTHONPATH']
    >>> os.environ.get('PYTHONPATH')
    Ú
PYTHONPATHÚ N)	Úobjectr   ÚenvironÚgetÚpathsepÚjoinr   ÚfilterÚpop)ÚpathsÚnothingÚorig_pythonpathÚcurrent_pythonpathÚprefixÚto_joinÚnew_paths          r   Úpaths_on_pythonpathr1   3   sß   è ø€ ô* ‹h€GÜ—j‘j—n‘n \°7Ó;€OÜŸ™Ÿ™¨°bÓ9Ðð7Ü—‘—‘¤°Ó!7Ó8ˆÜ˜ Ð(:Ð;Ó<ˆÜ—:‘:—?‘? 7Ó+ˆÙØ'/ŒBJ‰J|Ñ$Ûà˜gÑ%ÜJ‰JN‰N˜<¨Õ.à'6ŒBJ‰J|Ò$øð ˜gÑ%ÜJ‰JN‰N˜<¨Õ.à'6ŒBJ‰J|Ò$üs   ‚AD2ÁA.C5 Â<9D2Ã5:D/Ä/D2)r   r   r   r   ÚreturnÚbool)r   r   r2   Ústr)Ú
__future__r   Ú
contextlibr   r   Útypingr   r   Úmore_itertoolsr   Útyping_extensionsr   r4   ÚPathLiker   Ú__annotations__r   r   r   Úcontextmanagerr1   © r   r   ú<module>r>      s~   ðÞ "ã Û 	Û 
ß 'å *áÝ+à˜s B§K¡K°Ñ$4Ð4Ñ5€GˆYÔ5ð ˜s B§K¡KÐ/Ñ0€GˆYÓ0ò(ó(ó&Fð ×Ññ"7ó ñ"7r   