U
    Ha0                     @   sZ  d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	m
Z
 erPddlmZ ddlmZ ddlmZmZ e	e d	d
dZe ZeZd7ee e
eddf ee eedddZd8ee e
eddf ee eedddZd9ee e
eddf ee eedddZd:ee e
eddf ee eedddZd;ee e
eddf ee eedddZd<ee e
eddf ee eedddZd=ee e
eddf ee eedddZd>ee e
eddf ee eedd d!Zd?ee e
eddf ee eedd"d#Zd@ee e
eddf ee eedd$d%Z dAee e
eddf ee eedd&d'Z!dBee e
eddf ee eedd(d)Z"dCee e
eddf ee eedd*d+Z#dDee e
eddf ee eedd,d-Z$dEee e
eddf ee eedd.d/Z%dFee e
eddf ee eedd0d1Z&d2d3d4d5d6dddddd!ddd#d'd+d-d/d1d%d)gZ'dS )Gz
Utilities for determining application-specific dirs. See <https://github.com/platformdirs/platformdirs> for details and
usage.
    N)Path)TYPE_CHECKINGOptionalTypeUnion)Literal   )PlatformDirsABC)__version____version_info__)returnc                  C   sj   t ddkr&t ddkr&d\} }n0tjdkr:d\} }ntjdkrNd	\} }nd
\} }tt| |}|S )NZANDROID_DATAz/dataZANDROID_ROOTz/system)zplatformdirs.androidZAndroidwin32)zplatformdirs.windowsWindowsdarwin)zplatformdirs.macosZMacOS)zplatformdirs.unixZUnix)osgetenvsysplatformgetattr	importlibimport_module)modulenameresult r   9/tmp/pip-unpacked-wheel-_80f52p_/platformdirs/__init__.py_set_platform_dir_class   s    




r   FzLiteral[False])appname	appauthorversionroamingr   c                 C   s   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#   #   s    r#   )r   r   r   	multipathr   c                 C   s   t | |||djS )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   r&   3   s    r&   c                 C   s   t | |||djS )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   r'   C   s    r'   c                 C   s   t | |||djS )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   r(   S   s    r(   T)r   r   r   opinionr   c                 C   s   t | |||djS )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   r)   )r"   user_cache_dirr*   r   r   r   r+   c   s    r+   c                 C   s   t | |||djS )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   r,   s   s    r,   c                 C   s   t | |||djS )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
    r*   )r"   user_log_dirr*   r   r   r   r-      s    r-   c                 C   s   t | |||djS )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
    r*   )r"   user_runtime_dirr*   r   r   r   r.      s    r.   c                 C   s   t | |||djS )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/      s    r/   c                 C   s   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 multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :returns: data path shared by users
    r%   )r"   site_data_pathr%   r   r   r   r0      s    r0   c                 C   s   t | |||djS )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   r1      s    r1   c                 C   s   t | |||djS )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   r2      s    r2   c                 C   s   t | |||djS )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
    r*   )r"   user_cache_pathr*   r   r   r   r3      s    r3   c                 C   s   t | |||djS )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   r4      s    r4   c                 C   s   t | |||djS )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
    r*   )r"   user_log_pathr*   r   r   r   r5     s    r5   c                 C   s   t | |||djS )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
    r*   )r"   user_runtime_pathr*   r   r   r   r6     s    r6   r
   r   r"   AppDirsr	   )NNNF)NNNF)NNNF)NNNF)NNNT)NNNF)NNNT)NNNT)NNNF)NNNF)NNNF)NNNF)NNNT)NNNF)NNNT)NNNT)(__doc__r   r   r   pathlibr   typingr   r   r   r   Ztyping_extensionsr   apir	   r   r
   r   r   r"   r7   strboolr#   r&   r'   r(   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   __all__r   r   r   r   <module>   s                                                                  