+
    }i&                        R t ^ RIHt ^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
 ]
'       d   ^ RIHt ^ RI	Ht  ! R R	]4      tR# )
z	Base API.)annotationsN)ABCabstractmethod)Path)TYPE_CHECKING)Iterator)Literalc                     ] tR t^tRtR\R R lltR R ltR R ltR	 R
 lt]	]
R R l4       4       t]	]
R R l4       4       t]	]
R R l4       4       t]	]
R R l4       4       t]	]
R R l4       4       t]	]
R R l4       4       t]	]
R R l4       4       t]	]
R R l4       4       t]	]
R R l4       4       t]	]
R R l4       4       t]	]
R R  l4       4       t]	]
R! R" l4       4       t]	]
R# R$ l4       4       t]	]
R% R& l4       4       t]	]
R' R( l4       4       t]	]
R) R* l4       4       t]	R+ R, l4       t]	R- R. l4       t]	R/ R0 l4       t]	R1 R2 l4       t]	R3 R4 l4       t]	R5 R6 l4       t ]	R7 R8 l4       t!]	R9 R: l4       t"]	R; R< l4       t#]	R= R> l4       t$]	R? R@ l4       t%]	RA RB l4       t&]	RC RD l4       t']	RE RF l4       t(]	RG RH l4       t)]	RI RJ l4       t*RK RL lt+RM RN lt,RO RP lt-RQ RR lt.RS RT lt/RU RV lt0RW RX lt1RY RZ lt2R[t3R# )]PlatformDirsABCag  
Abstract base class defining all platform directory properties, their :class:`~pathlib.Path` variants, and
iterators.

Platform-specific subclasses (e.g. :class:`~platformdirs.windows.Windows`,
:class:`~platformdirs.macos.MacOS`, :class:`~platformdirs.unix.Unix`) implement the abstract
properties to return the appropriate paths for each operating system.

Nc               8    V ^8  d   QhRRRRRRRRRRR	RR
RRR/# )   appnamez
str | None	appauthorzstr | Literal[False] | Noneversionroamingbool	multipathopinionensure_existsreturnNone )formats   "b/Users/ahmad/.openclaw/workspace/my-crawler/.venv/lib/python3.14/site-packages/platformdirs/api.py__annotate__PlatformDirsABC.__annotate__   sd     E EE /E 	E
 E E E E 
E    c                d    Wn         W n         W0n         W@n         WPn         W`n         Wpn        R# )a  
Create a new platform directory.

:param appname: See `appname`.
:param appauthor: See `appauthor`.
:param version: See `version`.
:param roaming: See `roaming`.
:param multipath: See `multipath`.
:param opinion: See `opinion`.
:param ensure_exists: See `ensure_exists`.

N)r   r   r   r   r   r   r   )selfr   r   r   r   r   r   r   s   &&&&&&&&r   __init__PlatformDirsABC.__init__   sP    , "	 	 	 #	 	 +	r   c                    V ^8  d   QhRRRR/# )r   basestrr   r   )r   s   "r   r   r   a   s      # # r   c                	R   \        VR ,          4      pV P                  '       dI   VP                  V P                  4       V P                  '       d   VP                  V P                  4       \        P
                  P                  ! V^ ,          .VO5!  pV P                  V4       V# ):   NN)listr   appendr   ospathjoin_optionally_create_directory)r   r"   paramsr)   s   &*  r   _append_app_name_and_version,PlatformDirsABC._append_app_name_and_versiona   so    d2h<<<MM$,,'|||dll+ww||DG-f-))$/r   c                    V ^8  d   QhRRRR/# )r   r)   r#   r   r   r   )r   s   "r   r   r   k   s     : : : :r   c                	f    V P                   '       d   \        V4      P                  R R R7       R# R# )T)parentsexist_okN)r   r   mkdirr   r)   s   &&r   r+   ,PlatformDirsABC._optionally_create_directoryk   s*    JTD9 r   c                    V ^8  d   QhRRRR/# )r   	directoryr#   r   r   r   )r   s   "r   r   r   o   s      # $ r   c                	    V P                   '       d'   VP                  \        P                  4      ^ ,          p\	        V4      # )    )r   	partitionr(   pathsepr   )r   r7   s   &&r    _first_item_as_path_if_multipath0PlatformDirsABC._first_item_as_path_if_multipatho   s.    >>>!++BJJ7:IIr   c                   V ^8  d   QhRR/# r   r   r#   r   )r   s   "r   r   r   w   s     7 7s 7r   c                    R# )z(:return: data directory tied to the userNr   r   s   &r   user_data_dirPlatformDirsABC.user_data_diru       r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r   |   s     6 6s 6r   c                    R# )z':return: data directory shared by usersNr   rA   s   &r   site_data_dirPlatformDirsABC.site_data_dirz   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r           9 9 9r   c                    R# )z*:return: config directory tied to the userNr   rA   s   &r   user_config_dirPlatformDirsABC.user_config_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      s     8 8 8r   c                    R# )z):return: config directory shared by usersNr   rA   s   &r   site_config_dirPlatformDirsABC.site_config_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r           8 8 8r   c                    R# )z):return: cache directory tied to the userNr   rA   s   &r   user_cache_dirPlatformDirsABC.user_cache_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      s     7 7 7r   c                    R# )z(:return: cache directory shared by usersNr   rA   s   &r   site_cache_dirPlatformDirsABC.site_cache_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      rS   r   c                    R# )z):return: state directory tied to the userNr   rA   s   &r   user_state_dirPlatformDirsABC.user_state_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      s     6 6c 6r   c                    R# )z':return: log directory tied to the userNr   rA   s   &r   user_log_dirPlatformDirsABC.user_log_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r           < <C <r   c                    R# )z-:return: documents directory tied to the userNr   rA   s   &r   user_documents_dir"PlatformDirsABC.user_documents_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      rd   r   c                    R# )z-:return: downloads directory tied to the userNr   rA   s   &r   user_downloads_dir"PlatformDirsABC.user_downloads_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      s     ; ;3 ;r   c                    R# )z,:return: pictures directory tied to the userNr   rA   s   &r   user_pictures_dir!PlatformDirsABC.user_pictures_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      rJ   r   c                    R# )z*:return: videos directory tied to the userNr   rA   s   &r   user_videos_dirPlatformDirsABC.user_videos_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      rS   r   c                    R# )z):return: music directory tied to the userNr   rA   s   &r   user_music_dirPlatformDirsABC.user_music_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r           : :# :r   c                    R# )z+:return: desktop directory tied to the userNr   rA   s   &r   user_desktop_dir PlatformDirsABC.user_desktop_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      ry   r   c                    R# )z+:return: runtime directory tied to the userNr   rA   s   &r   user_runtime_dir PlatformDirsABC.user_runtime_dir   rD   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r      s     9 9# 9r   c                    R# )z*:return: runtime directory shared by usersNr   rA   s   &r   site_runtime_dir PlatformDirsABC.site_runtime_dir   rD   r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r           ( ( (r   c                ,    \        V P                  4      # )z#:return: data path tied to the user)r   rB   rA   s   &r   user_data_pathPlatformDirsABC.user_data_path        D&&''r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      r   r   c                ,    \        V P                  4      # )z":return: data path shared by users)r   rG   rA   s   &r   site_data_pathPlatformDirsABC.site_data_path   r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r           * *$ *r   c                ,    \        V P                  4      # )z%:return: config path tied to the user)r   rL   rA   s   &r   user_config_path PlatformDirsABC.user_config_path        D(())r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      r   r   c                ,    \        V P                  4      # )z$:return: config path shared by users)r   rP   rA   s   &r   site_config_path PlatformDirsABC.site_config_path   r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r           ) ) )r   c                ,    \        V P                  4      # )z$:return: cache path tied to the user)r   rU   rA   s   &r   user_cache_pathPlatformDirsABC.user_cache_path        D''((r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      r   r   c                ,    \        V P                  4      # )z#:return: cache path shared by users)r   rY   rA   s   &r   site_cache_pathPlatformDirsABC.site_cache_path   r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      r   r   c                ,    \        V P                  4      # )z$:return: state path tied to the user)r   r]   rA   s   &r   user_state_pathPlatformDirsABC.user_state_path   r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     ' 't 'r   c                ,    \        V P                  4      # )z":return: log path tied to the user)r   ra   rA   s   &r   user_log_pathPlatformDirsABC.user_log_path   s     D%%&&r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r           - -T -r   c                ,    \        V P                  4      # )z(:return: documents path tied to the user)r   rf   rA   s   &r   user_documents_path#PlatformDirsABC.user_documents_path        D++,,r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      r   r   c                ,    \        V P                  4      # )z(:return: downloads path tied to the user)r   rj   rA   s   &r   user_downloads_path#PlatformDirsABC.user_downloads_path   r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     , ,D ,r   c                ,    \        V P                  4      # )z':return: pictures path tied to the user)r   rn   rA   s   &r   user_pictures_path"PlatformDirsABC.user_pictures_path   s     D**++r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      r   r   c                ,    \        V P                  4      # )z%:return: videos path tied to the user)r   rr   rA   s   &r   user_videos_path PlatformDirsABC.user_videos_path   r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     r   r   c                ,    \        V P                  4      # )z$:return: music path tied to the user)r   rv   rA   s   &r   user_music_pathPlatformDirsABC.user_music_path  r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r          + +4 +r   c                ,    \        V P                  4      # )z&:return: desktop path tied to the user)r   r{   rA   s   &r   user_desktop_path!PlatformDirsABC.user_desktop_path       D))**r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     r   r   c                ,    \        V P                  4      # )z&:return: runtime path tied to the user)r   r   rA   s   &r   user_runtime_path!PlatformDirsABC.user_runtime_path  r   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     r   r   c                ,    \        V P                  4      # )z%:return: runtime path shared by users)r   r   rA   s   &r   site_runtime_path!PlatformDirsABC.site_runtime_path  r   r   c                   V ^8  d   QhRR/# r   r   zIterator[str]r   )r   s   "r   r   r     s     # #- #r   c              #  F   "   V P                   x  V P                  x  R# 5i)z4:yield: all user and site configuration directories.N)rL   rP   rA   s   &r   iter_config_dirs PlatformDirsABC.iter_config_dirs  s     """"""   !c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     ! ! !r   c              #  F   "   V P                   x  V P                  x  R# 5i)z+:yield: all user and site data directories.N)rB   rG   rA   s   &r   iter_data_dirsPlatformDirsABC.iter_data_dirs  s           r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     " " "r   c              #  F   "   V P                   x  V P                  x  R# 5i)z,:yield: all user and site cache directories.N)rU   rY   rA   s   &r   iter_cache_dirsPlatformDirsABC.iter_cache_dirs  s     !!!!!!r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   $  s     $ $= $r   c              #  F   "   V P                   x  V P                  x  R# 5i)z.:yield: all user and site runtime directories.N)r   r   rA   s   &r   iter_runtime_dirs!PlatformDirsABC.iter_runtime_dirs$  s     ######r   c                   V ^8  d   QhRR/# r   r   zIterator[Path]r   )r   s   "r   r   r   )  s      > r   c              #  V   "   V P                  4        F  p\        V4      x  K  	  R# 5i)z.:yield: all user and site configuration paths.N)r   r   r4   s   & r   iter_config_paths!PlatformDirsABC.iter_config_paths)  s"     ))+Dt* ,   ')c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   .  s       r   c              #  V   "   V P                  4        F  p\        V4      x  K  	  R# 5i)z%:yield: all user and site data paths.N)r   r   r4   s   & r   iter_data_pathsPlatformDirsABC.iter_data_paths.  s"     '')Dt* *r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   3  s      . r   c              #  V   "   V P                  4        F  p\        V4      x  K  	  R# 5i)z&:yield: all user and site cache paths.N)r   r   r4   s   & r   iter_cache_paths PlatformDirsABC.iter_cache_paths3  s"     ((*Dt* +r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   8  s      N r   c              #  V   "   V P                  4        F  p\        V4      x  K  	  R# 5i)z(:yield: all user and site runtime paths.N)r   r   r4   s   & r   iter_runtime_paths"PlatformDirsABC.iter_runtime_paths8  s"     **,Dt* -r   )r   r   r   r   r   r   r   )NNNFFTF)4__name__
__module____qualname____firstlineno____doc__r   r-   r+   r<   propertyr   rB   rG   rL   rP   rU   rY   r]   ra   rf   rj   rn   rr   rv   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   __static_attributes__r   r   r   r
   r
      sJ   EN: 7  7 6  6 9  9 8  8 8  8 7  7 8  8 6  6 <  < <  < ;  ; 9  9 8  8 :  : :  : 9  9 ( ( ( ( * * * * ) ) ) ) ) ) ' ' - - - - , , * * ) ) + + + + + +#
!
"
$



 r   r
   )r   
__future__r   r(   abcr   r   pathlibr   typingr   collections.abcr   r   r
   r   r   r   <module>r      s.     " 	 #   (lc lr   