
    ǆi                         S SK r S SKrS SKJr  \R                  S:  a  \\\ R                  \   4   rO\\\ R                  4   rS rS\S\S\	4S jr
S	\S\4S
 jrg)    N)Union)   	   c                 l    [         R                  R                  U 5      n[         R                  " USS9  g)z1Ensure that the parent directory of `path` existsT)exist_okN)ospathdirnamemakedirs)r	   r
   s     `/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/setuptools/_path.pyensure_directoryr      s"    ggood#GKK$'    p1p2returnc                 0    [        U 5      [        U5      :H  $ )aY  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   s     r   	same_pathr      s      B<8B<''r   filenamec                    [         R                  S:X  a  [        R                  R	                  U 5      OU n[        R                  R                  [        R                  R                  [        R                  R                  U5      5      5      $ )z2Normalize a file/dir name for comparison purposes.cygwin)sysplatformr   r	   abspathnormcaserealpathr   )r   files     r   r   r   $   sV     ),(@277??8$hD77BGG,,RWW-=-=d-CDEEr   )r   r   typingr   version_infostrPathLikeStrPathr   boolr   r    r   r   <module>r%      s|    	 
 vCS))*GC$%G((' (w (4 (&Fw F3 Fr   