+
    Ž°³j‚  ã                  ó:  a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHt ^ RI	H
t
 ]'       d   ^ RIHt ]]P                  ],          ,          tR]R&   ]! R]]P                  ],          ,          R	7      tR
 tR R ltR R ltR R lt]P*                  R 4       tR# )é    )ÚannotationsN)ÚTYPE_CHECKINGÚTypeVar)Úunique_everseen)Ú	TypeAliasr   ÚStrPathÚStrPathT)Úboundc                ót   € \         P                  P                  V 4      p\         P                  ! VRR7       R# )z1Ensure that the parent directory of `path` existsT)Úexist_okN)ÚosÚpathÚdirnameÚmakedirs)r   r   s   & ÚQ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/setuptools/_path.pyÚensure_directoryr      s"   € ä�g‰g�o‰o˜dÓ#€GÜ‡K‚K� $×'ó    c               ó$   € V ^8„  d   QhRRRRRR/# )é   Úp1r   Úp2ÚreturnÚbool© )Úformats   "r   Ú__annotate__r      s!   € ÷ (ñ (�'ð (˜wð (¨4ñ (r   c                ó0   € \        V 4      \        V4      8H  # )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‹<œ8 B›<Ñ'Ð'r   c               ó   € V ^8„  d   QhRR/# )r   Úfilenamer   r   )r   s   "r   r   r   *   s   € ÷ Oñ O˜Gñ Or   c                ón   € \         P                  R8X  d    \        P                  P	                  V 4      # T # )zð
Contrary to POSIX 2008, on Cygwin, getcwd (3) contains
symlink components. Using
os.path.abspath() works around this limitation. A fix in os.getcwd()
would probably better, in Cygwin even more so, except
that this seems to be by design...
Úcygwin)ÚsysÚplatformr   r   Úabspath©r!   s   &r   Ú_cygwin_patchr(   *   s'   € ô ),¯©¸Ô(@Œ2�7‰7�?‰?˜8Ó$ÐNÀhÐNr   c               ó    € V ^8„  d   QhRRRR/# )r   r!   r   r   Ústrr   )r   s   "r   r   r   5   s   € ÷ Yñ Y�wð Y 3ñ Yr   c           	     óÆ   € \         P                  P                  \         P                  P                  \         P                  P	                  \        V 4      4      4      4      # )z2Normalize a file/dir name for comparison purposes.)r   r   ÚnormcaseÚrealpathr   r(   r'   s   &r   r   r   5   s:   € ä�7‰7×ÑœBŸG™G×,Ñ,¬R¯W©W×-=Ñ-=¼mÈHÓ>UÓ-VÓWÓXÐXr   c              #  óz  "  € \        4       p\        P                  P                  RV4      p\        P                  P                  RR4      p \        P                  P                  \        V 4      4      p\        RWC.4      p\        P                  P                  V4      pV'       d   V\        P                  R&   Rx € W!J d#   \        P                  P                  RR4       R# V\        P                  R&   R#   Y!J d"   \        P                  P                  RR4       i T\        P                  R&   i ; i5i)at  
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_pythonpathr?   :   s×   é € ô* ‹h€GÜ—j‘j—n‘n \°7Ó;€OÜŸ™Ÿ™¨°bÓ9Ðð7Ü—‘—‘¤°Ó!7Ó8ˆÜ˜ Ð;Ó<ˆÜ—:‘:—?‘? 7Ó+ˆßØ'/ŒB�J‰J�|Ñ$ÛàÓ%Ü�J‰J�N‰N˜<¨Ö.à'6ŒB�J‰J�|Ó$øð Ó%Ü�J‰J�N‰N˜<¨Õ.à'6ŒB�J‰J�|Ò$üs   ‚AD;ÁA3C= Ã<D;Ã=;D8Ä8D;)Ú__conditional_annotations__Ú
__future__r   Ú
contextlibr   r$   Útypingr   r   Úmore_itertoolsr   r   r*   ÚPathLiker   Ú__annotations__r	   r   r   r(   r   Úcontextmanagerr?   )r@   s   @r   Ú<module>rH      sƒ   øðß "Ð "ã Û 	Û 
ß )å *çÝ à˜2Ÿ;™; sÕ+Õ+€ˆÓ +Ù�: S¨2¯;©;°sÕ+;Õ%;Ô<€ò(õ(õ&OõYð
 ×Ññ"7ó ò"7r   