o
     zqf                     @   s|   d dl Z d dlZd dlmZ ejdkreee je f Zneee jf Zdd Zdedede	fd	d
Z
dedefddZdS )    N)Union)   	   c                 C   s   t j| }t j|dd dS )z1Ensure that the parent directory of `path` existsT)exist_okN)ospathdirnamemakedirs)r   r    r
   O/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/_path.pyensure_directory   s   r   p1p2returnc                 C   s   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)r   r   r
   r
   r   	same_path   s   r   filenamec                 C   s6   t jdkrtj| n| }tjtjtj|S )z2Normalize a file/dir name for comparison purposes.cygwin)sysplatformr   r   abspathnormcaserealpathr   )r   filer
   r
   r   r   $   s   r   )r   r   typingr   version_infostrPathLikeStrPathr   boolr   r   r
   r
   r
   r   <module>   s    
