+
    i5#                    J   R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	H
t
 ^RIHt  ! R R]4      t]! ^R7      R	 R
 l4       t]! ^R7      R R l4       t]! ^R7      R R l4       t]! ^R7      R R l4       t]! ^R7      R R l4       t]! ^R7      R R l4       tR.tR# )zAndroid.)annotationsN)	lru_cache)TYPE_CHECKINGcast)PlatformDirsABCc                  z   ] tR t^tRt]R R l4       t]R R l4       t]R R l4       t]R R	 l4       t	]R
 R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R  R! l4       tR"tR## )$Androida  
Follows the guidance `from here <https://android.stackexchange.com/a/216132>`_.

Makes use of the `appname <platformdirs.api.PlatformDirsABC.appname>`, `version
<platformdirs.api.PlatformDirsABC.version>`, `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.

c                   V ^8  d   QhRR/#    returnstr )formats   "g/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/android.py__annotate__Android.__annotate__   s     Z Zs Z    c                J    V P                  \        R\        4       4      R4      # )zd:return: data directory tied to the user, e.g. ``/data/user/<userid>/<packagename>/files/<AppName>``r   files_append_app_name_and_versionr   _android_folderselfs   &r   user_data_dirAndroid.user_data_dir   "     00e_=N1OQXYYr   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      s     " "s "r   c                    V P                   # )z@:return: data directory shared by users, same as `user_data_dir`r   r   s   &r   site_data_dirAndroid.site_data_dir        !!!r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   "   s     a a ar   c                J    V P                  \        R\        4       4      R4      # )zw
:return: config directory tied to the user, e.g.         ``/data/user/<userid>/<packagename>/shared_prefs/<AppName>``
r   shared_prefsr   r   s   &r   user_config_dirAndroid.user_config_dir!   s"     00e_=N1OQ_``r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   *   s     $ $ $r   c                    V P                   # )zH:return: config directory shared by the users, same as `user_config_dir`)r'   r   s   &r   site_config_dirAndroid.site_config_dir)   s     ###r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   /   s     Z Z Zr   c                J    V P                  \        R\        4       4      R4      # )ze:return: cache directory tied to the user, e.g.,``/data/user/<userid>/<packagename>/cache/<AppName>``r   cacher   r   s   &r   user_cache_dirAndroid.user_cache_dir.   r   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   4   s     # # #r   c                    V P                   # )zB:return: cache directory shared by users, same as `user_cache_dir`)r0   r   s   &r   site_cache_dirAndroid.site_cache_dir3   s     """r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   9   s     " " "r   c                    V P                   # )zB:return: state directory tied to the user, same as `user_data_dir`r    r   s   &r   user_state_dirAndroid.user_state_dir8   r#   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   >   s      c r   c                    V P                   pV P                  '       d!   \        P                  P	                  VR4      pV# )z
:return: log directory tied to the user, same as `user_cache_dir` if not opinionated else ``log`` in it,
  e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/log``
logr0   opinionospathjoinr   r@   s   & r   user_log_dirAndroid.user_log_dir=   1     ""<<<77<<e,Dr   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   I        + +C +r   c                    \        4       # )zT:return: documents directory tied to the user e.g. ``/storage/emulated/0/Documents``)_android_documents_folderr   s   &r   user_documents_dirAndroid.user_documents_dirH        )**r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   N   rG   r   c                    \        4       # )zT:return: downloads directory tied to the user e.g. ``/storage/emulated/0/Downloads``)_android_downloads_folderr   s   &r   user_downloads_dirAndroid.user_downloads_dirM   rL   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   S   s     * *3 *r   c                    \        4       # )zR:return: pictures directory tied to the user e.g. ``/storage/emulated/0/Pictures``)_android_pictures_folderr   s   &r   user_pictures_dirAndroid.user_pictures_dirR   s     ())r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   X   s     ( ( (r   c                    \        4       # )zS:return: videos directory tied to the user e.g. ``/storage/emulated/0/DCIM/Camera``)_android_videos_folderr   s   &r   user_videos_dirAndroid.user_videos_dirW   s     &''r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   ]   s     ' ' 'r   c                    \        4       # )zL:return: music directory tied to the user e.g. ``/storage/emulated/0/Music``)_android_music_folderr   s   &r   user_music_dirAndroid.user_music_dir\   s     %&&r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   b   s     - -# -r   c                    R# )zP:return: desktop directory tied to the user e.g. ``/storage/emulated/0/Desktop``z/storage/emulated/0/Desktopr   r   s   &r   user_desktop_dirAndroid.user_desktop_dira   s     -r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   g   s      # r   c                    V P                   pV P                  '       d!   \        P                  P	                  VR4      pV# )z
:return: runtime directory tied to the user, same as `user_cache_dir` if not opinionated else ``tmp`` in it,
  e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/tmp``
tmpr=   rB   s   & r   user_runtime_dirAndroid.user_runtime_dirf   rE   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   r   s     % %# %r   c                    V P                   # )zF:return: runtime directory shared by users, same as `user_runtime_dir`)rh   r   s   &r   site_runtime_dirAndroid.site_runtime_dirq   s     $$$r   r   N)__name__
__module____qualname____firstlineno____doc__propertyr   r!   r'   r+   r0   r4   r8   rC   rJ   rP   rU   rZ   r_   rc   rh   rl   __static_attributes__r   r   r   r   r      sM    Z Z " " a a $ $ Z Z # # " "   + + + + * * ( ( ' ' - -   % %r   r   )maxsizec                   V ^8  d   QhRR/# )r   r   z
str | Noner   )r   s   "r   r   r   x   s     , , ,r   c                    Rp \         '       gN    ^ RIHp \        RVP	                  4       4      pVP                  4       P                  4       P                  4       p V f<    ^ RI	H
p V! R4      pVP                  4       P                  4       P                  4       p V fa   \        P                  ! R4      p\        P                   F4  pVP                  V4      '       g   K  VP!                  R4      ^ ,          p  M	  Rp V fb   \        P                  ! R4      p\        P                   F5  pVP                  V4      '       g   K  VP!                  R4      ^ ,          p  V # 	  Rp V #   \         d    Rp  ELi ; i  \         d    Rp  Li ; i)zE:return: base folder for the Android OS or None if it cannot be foundN)	mActivityandroid.content.Context	autoclassz /data/(data|user/\d+)/(.+)/filesz/filesz7/mnt/expand/[a-fA-F0-9-]{36}/(data|user/\d+)/(.+)/files)r   androidrx   r   getApplicationContextgetFilesDirgetParentFilegetAbsolutePath	Exceptionjniusr{   recompilesysr@   matchsplit)resultrx   contextr{   patternr@   s         r   r   r   w   sd    F =	)4i6U6U6WXG((*88:JJLF ~	 ( 9:G((*88:JJLF ~ **@AHHD}}T""H-a0 
 F~ **WXHHD}}T""H-a0 M 
 FMA  	F	  	F	s$   AE& !:E: &E76E7:F
	F
c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r            3 r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z,:return: documents folder for the Android OSrz   ry   android.os.Environmentz/storage/emulated/0/Documents)r   r{   getExternalFilesDirDIRECTORY_DOCUMENTSr   r   )r{   r   environmentdocuments_dirs       r   rI   rI      c    8#56 89$889X9XYiik   878   ?A AAc                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      r   r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z,:return: downloads folder for the Android OSrz   ry   r   z/storage/emulated/0/Downloads)r   r{   r   DIRECTORY_DOWNLOADSr   r   )r{   r   r   downloads_dirs       r   rO   rO      r   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      s      # r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z+:return: pictures folder for the Android OSrz   ry   r   z/storage/emulated/0/Pictures)r   r{   r   DIRECTORY_PICTURESr   r   )r{   r   r   pictures_dirs       r   rT   rT      sc    6#56 89#778V8VWggi   656r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      s       r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z):return: videos folder for the Android OSrz   ry   r   z/storage/emulated/0/DCIM/Camera)r   r{   r   DIRECTORY_DCIMr   r   )r{   r   r   
videos_dirs       r   rY   rY      sc    7#56 89!55k6P6PQaac
   76
7r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      s      s r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z(:return: music folder for the Android OSrz   ry   r   z/storage/emulated/0/Music)r   r{   r   DIRECTORY_MUSICr   r   )r{   r   r   	music_dirs       r   r^   r^      sc    0#56 89 44[5P5PQaac	   0/	0r   )rr   
__future__r   r?   r   r   	functoolsr   typingr   r   apir   r   r   rI   rO   rT   rY   r^   __all__r   r   r   <module>r      s     " 	 	 
  &  f%o f%R 1, ,^ 1  1  1  1  1   r   