
    OhN                       d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
 ddl	mZ er"dd	lmZ ej                  d
k\  rddlmZ nddlmZ d*dZ e       ZeZ	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d,dZ	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d-dZ	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d,dZ	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d-dZ	 	 	 	 	 d.	 	 	 	 	 	 	 	 	 	 	 d/dZ	 	 	 	 	 d.	 	 	 	 	 	 	 	 	 	 	 d/dZ	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d,dZ	 	 	 	 	 d.	 	 	 	 	 	 	 	 	 	 	 d/dZd0dZd0dZd0dZd0dZ d0dZ!	 	 	 	 	 d.	 	 	 	 	 	 	 	 	 	 	 d/dZ"	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d1dZ#	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d2dZ$	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d1dZ%	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d2dZ&	 	 	 	 	 d.	 	 	 	 	 	 	 	 	 	 	 d3dZ'	 	 	 	 	 d.	 	 	 	 	 	 	 	 	 	 	 d3d Z(	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 d1d!Z)	 	 	 	 	 d.	 	 	 	 	 	 	 	 	 	 	 d3d"Z*d4d#Z+d4d$Z,d4d%Z-d4d&Z.d4d'Z/	 	 	 	 	 d.	 	 	 	 	 	 	 	 	 	 	 d3d(Z0g d)Z1y)5z
Utilities for determining application-specific dirs. See <https://github.com/platformdirs/platformdirs> for details and
usage.
    )annotationsN)TYPE_CHECKING   )PlatformDirsABC)__version__)__version_tuple__)Path)      )Literalc                 \   t         j                  dk(  rddlm}  n t         j                  dk(  rddlm}  nddlm}  t        j                  d      dk(  rYt        j                  d	      d
k(  rAt        j                  d      st        j                  d      r| S ddl
m}  |       ddl
m} |S | S )Nwin32r   )Windowsdarwin)MacOS)UnixANDROID_DATAz/dataANDROID_ROOTz/systemSHELLPREFIX)_android_folder)Android)sysplatform pip._vendor.platformdirs.windowsr   pip._vendor.platformdirs.macosr   pip._vendor.platformdirs.unixr   osgetenv pip._vendor.platformdirs.androidr   r   )Resultr   r   s      s/mnt/c/Users/Administrator/Desktop/help_/test_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py_set_platform_dir_classr#      sy    
||wF		!B@	yy G+		.0IY0V99W8!4MD(@NM    c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory tied to the user
    appname	appauthorversionroamingensure_exists)PlatformDirsuser_data_dirr&   s        r"   r-   r-   2   '     # mr$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory shared by users
    r'   r(   r)   	multipathr+   )r,   site_data_dirr0   s        r"   r2   r2   J   s'     # mr$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory tied to the user
    r&   )r,   user_config_dirr&   s        r"   r4   r4   b   '     # or$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory shared by the users
    r0   )r,   site_config_dirr0   s        r"   r7   r7   z   s'     # or$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r'   r(   r)   opinionr+   )r,   user_cache_dirr9   s        r"   r;   r;      '     # nr$   c                6    t        | ||||      j                  S a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r9   )r,   site_cache_dirr9   s        r"   r?   r?      r<   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state directory tied to the user
    r&   )r,   user_state_dirr&   s        r"   rA   rA      r<   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log directory tied to the user
    r9   )r,   user_log_dirr9   s        r"   rC   rC      s'     # lr$   c                 *    t               j                  S )z.:returns: documents directory tied to the user)r,   user_documents_dir r$   r"   rE   rE          >,,,r$   c                 *    t               j                  S )z.:returns: downloads directory tied to the user)r,   user_downloads_dirrF   r$   r"   rI   rI      rG   r$   c                 *    t               j                  S )z-:returns: pictures directory tied to the user)r,   user_pictures_dirrF   r$   r"   rK   rK      s    >+++r$   c                 *    t               j                  S )z+:returns: videos directory tied to the user)r,   user_videos_dirrF   r$   r"   rM   rM         >)))r$   c                 *    t               j                  S )z*:returns: music directory tied to the user)r,   user_music_dirrF   r$   r"   rP   rP     s    >(((r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory tied to the user
    r9   )r,   user_runtime_dirr9   s        r"   rR   rR     (     # r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path tied to the user
    r&   )r,   user_data_pathr&   s        r"   rU   rU   #  r<   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path shared by users
    r0   )r,   site_data_pathr0   s        r"   rW   rW   ;  s'     # nr$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path tied to the user
    r&   )r,   user_config_pathr&   s        r"   rY   rY   S  rS   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path shared by the users
    r0   )r,   site_config_pathr0   s        r"   r[   r[   k  s(     # r$   c                6    t        | ||||      j                  S r>   )r,   site_cache_pathr9   s        r"   r]   r]     r5   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache path tied to the user
    r9   )r,   user_cache_pathr9   s        r"   r_   r_     r5   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state path tied to the user
    r&   )r,   user_state_pathr&   s        r"   ra   ra     r5   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log path tied to the user
    r9   )r,   user_log_pathr9   s        r"   rc   rc     r.   r$   c                 *    t               j                  S )z):returns: documents path tied to the user)r,   user_documents_pathrF   r$   r"   re   re         >---r$   c                 *    t               j                  S )z):returns: downloads path tied to the user)r,   user_downloads_pathrF   r$   r"   rh   rh     rf   r$   c                 *    t               j                  S )z(:returns: pictures path tied to the user)r,   user_pictures_pathrF   r$   r"   rj   rj     rG   r$   c                 *    t               j                  S )z&:returns: videos path tied to the user)r,   user_videos_pathrF   r$   r"   rl   rl     s    >***r$   c                 *    t               j                  S )z%:returns: music path tied to the user)r,   user_music_pathrF   r$   r"   rn   rn     rN   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path tied to the user
    r9   )r,   user_runtime_pathr9   s        r"   rp   rp     s(     # r$   )!r   __version_info__r,   AppDirsr   r-   r4   r;   rA   rC   rE   rI   rK   rM   rP   rR   r2   r7   r?   rU   rY   r_   ra   rc   re   rh   rj   rl   rn   rp   rW   r[   r]   )returnztype[PlatformDirsABC])NNNFF)r'   
str | Noner(   str | None | Literal[False]r)   rt   r*   boolr+   rv   rs   str)r'   rt   r(   ru   r)   rt   r1   rv   r+   rv   rs   rw   )NNNTF)r'   rt   r(   ru   r)   rt   r:   rv   r+   rv   rs   rw   )rs   rw   )r'   rt   r(   ru   r)   rt   r*   rv   r+   rv   rs   r	   )r'   rt   r(   ru   r)   rt   r1   rv   r+   rv   rs   r	   )r'   rt   r(   ru   r)   rt   r:   rv   r+   rv   rs   r	   )rs   r	   )2__doc__
__future__r   r   r   typingr   apir   r)   r   r   rq   pathlibr	   version_infor   pip._vendor.typing_extensionsr#   r,   rr   r-   r2   r4   r7   r;   r?   rA   rC   rE   rI   rK   rM   rP   rR   rU   rW   rY   r[   r]   r_   ra   rc   re   rh   rj   rl   rn   rp   __all__rF   r$   r"   <module>r      s   # 	 
       :
6!"9, '(
 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	0-
-
,
*
) -1*  	
  	2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
0.
.
-
+
* -1*  	
  
0"r$   