o
    à1b�1  ã                   @  sØ  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 er$ddl	m
Z
 ddlmZ dd	lmZmZ d@dd„Zeƒ ZeZ				dAdBdd„Z				dAdCdd„Z				dAdBdd„Z				dAdCdd„Z				 dDdEd"d#„Z				dAdBd$d%„Z				 dDdEd&d'„ZdFd(d)„Z				 dDdEd*d+„Z				dAdGd-d.„Z				dAdHd/d0„Z				dAdGd1d2„Z				dAdHd3d4„Z				 dDdId5d6„Z 				dAdGd7d8„Z!				 dDdId9d:„Z"dJd;d<„Z#				 dDdId=d>„Z$g d?¢Z%dS )Kz€
Utilities for determining application-specific dirs. See <https://github.com/platformdirs/platformdirs> for details and
usage.
é    )ÚannotationsN)ÚPath)ÚTYPE_CHECKING)ÚLiteralé   )ÚPlatformDirsABC)Ú__version__Ú__version_info__Úreturnútype[PlatformDirsABC]c                  C  s‚   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 	d¡dkr?t 	d	¡d
kr?ddl
m} |ƒ d ur?ddl
m} |S | S )NÚwin32r   )ÚWindowsÚdarwin)ÚMacOS)ÚUnixÚANDROID_DATAz/dataÚANDROID_ROOTz/system)Ú_android_folder)ÚAndroid)ÚsysÚplatformÚplatformdirs.windowsr   Úplatformdirs.macosr   Úplatformdirs.unixr   ÚosÚgetenvÚplatformdirs.androidr   r   )ÚResultr   r   © r   ú7/usr/lib/python3/dist-packages/platformdirs/__init__.pyÚ_set_platform_dir_class   s   


r    FÚappnameú
str | NoneÚ	appauthorústr | None | Literal[False]ÚversionÚroamingÚboolÚstrc                 C  ó   t | |||d�jS )aq  
    :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.version>`.
    :returns: data directory tied to the user
    ©r!   r#   r%   r&   )ÚPlatformDirsÚuser_data_dirr*   r   r   r   r,   *   ó   r,   Ú	multipathc                 C  r)   )at  
    :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>`.
    :returns: data directory shared by users
    ©r!   r#   r%   r.   )r+   Úsite_data_dirr/   r   r   r   r0   :   r-   r0   c                 C  r)   )as  
    :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.version>`.
    :returns: config directory tied to the user
    r*   )r+   Úuser_config_dirr*   r   r   r   r1   J   r-   r1   c                 C  r)   )az  
    :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>`.
    :returns: config directory shared by the users
    r/   )r+   Úsite_config_dirr/   r   r   r   r2   Z   r-   r2   TÚopinionc                 C  r)   )ar  
    :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>`.
    :returns: cache directory tied to the user
    ©r!   r#   r%   r3   )r+   Úuser_cache_dirr4   r   r   r   r5   j   r-   r5   c                 C  r)   )ar  
    :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.version>`.
    :returns: state directory tied to the user
    r*   )r+   Úuser_state_dirr*   r   r   r   r6   z   r-   r6   c                 C  r)   )ap  
    :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>`.
    :returns: log directory tied to the user
    r4   )r+   Úuser_log_dirr4   r   r   r   r7   Š   r-   r7   c                   C  ó   t ƒ jS )z8
    :returns: documents directory tied to the user
    )r+   Úuser_documents_dirr   r   r   r   r9   š   ó   r9   c                 C  r)   )at  
    :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>`.
    :returns: runtime directory tied to the user
    r4   )r+   Úuser_runtime_dirr4   r   r   r   r;   ¡   r-   r;   r   c                 C  r)   )al  
    :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.version>`.
    :returns: data path tied to the user
    r*   )r+   Úuser_data_pathr*   r   r   r   r<   ±   r-   r<   c                 C  r)   )aq  
    :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>`.
    :returns: data path shared by users
    r/   )r+   Úsite_data_pathr/   r   r   r   r=   Á   r-   r=   c                 C  r)   )an  
    :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.version>`.
    :returns: config path tied to the user
    r*   )r+   Úuser_config_pathr*   r   r   r   r>   Ñ   r-   r>   c                 C  r)   )au  
    :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>`.
    :returns: config path shared by the users
    r/   )r+   Úsite_config_pathr/   r   r   r   r?   á   r-   r?   c                 C  r)   )am  
    :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>`.
    :returns: cache path tied to the user
    r4   )r+   Úuser_cache_pathr4   r   r   r   r@   ñ   r-   r@   c                 C  r)   )am  
    :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.version>`.
    :returns: state path tied to the user
    r*   )r+   Úuser_state_pathr*   r   r   r   rA     r-   rA   c                 C  r)   )ak  
    :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>`.
    :returns: log path tied to the user
    r4   )r+   Úuser_log_pathr4   r   r   r   rB     r-   rB   c                   C  r8   )z3
    :returns: documents path tied to the user
    )r+   Úuser_documents_pathr   r   r   r   rC   !  r:   rC   c                 C  r)   )ao  
    :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>`.
    :returns: runtime path tied to the user
    r4   )r+   Úuser_runtime_pathr4   r   r   r   rD   (  r-   rD   )r   r	   r+   ÚAppDirsr   r,   r1   r5   r6   r7   r9   r;   r0   r2   r<   r>   r@   rA   rB   rC   rD   r=   r?   )r
   r   )NNNF)
r!   r"   r#   r$   r%   r"   r&   r'   r
   r(   )
r!   r"   r#   r$   r%   r"   r.   r'   r
   r(   )NNNT)
r!   r"   r#   r$   r%   r"   r3   r'   r
   r(   )r
   r(   )
r!   r"   r#   r$   r%   r"   r&   r'   r
   r   )
r!   r"   r#   r$   r%   r"   r.   r'   r
   r   )
r!   r"   r#   r$   r%   r"   r3   r'   r
   r   )r
   r   )&Ú__doc__Ú
__future__r   r   r   Úpathlibr   Útypingr   Útyping_extensionsr   Úapir   r%   r   r	   r    r+   rE   r,   r0   r1   r2   r5   r6   r7   r9   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   Ú__all__r   r   r   r   Ú<module>   sÀ    
üüüüüüü
üüüüüüüü
ü