Ë
    :vžj™  ã                  óL   — d Z ddlmZ ddlZddlmZ  G d„ de«      Zd	d„ZdgZy)
z2XDG environment variable mixin for Unix and macOS.é    )ÚannotationsNé   )ÚPlatformDirsABCc                  ó  ‡ — e Zd ZdZedˆ fd„«       Zedˆ fd„«       Zedd„«       Zedˆ fd„«       Zedˆ fd„«       Z	edd„«       Z
edˆ fd„«       Zedˆ fd	„«       Zedˆ fd
„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedˆ fd„«       Zedd„«       Zˆ xZS )ÚXDGMixinzhMixin that checks XDG environment variables, falling back to platform-specific defaults via ``super()``.c                óš   •— t         j                  j                  dd«      j                  «       x}r| j	                  |«      S t
        ‰| �  S )zWData directory tied to the user, from ``$XDG_DATA_HOME`` if set, else platform default.ÚXDG_DATA_HOMEÚ )ÚosÚenvironÚgetÚstripÚ_append_app_name_and_versionÚsuperÚuser_data_dir©ÚselfÚpathÚ	__class__s     €úb/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/platformdirs/_xdg.pyr   zXDGMixin.user_data_dir   sD   ø€ ô —:‘:—>‘> /°2Ó6×<Ñ<Ó>Ð>ˆ4Ð>Ø×4Ñ4°TÓ:Ð:Ü‰wÑ$Ð$ó    c                óz   •— t        d«      x}r|D �cg c]  }| j                  |«      ‘Œ c}S t        ‰| �  S c c}w )NÚXDG_DATA_DIRS)Ú_xdg_dir_listr   r   Ú_site_data_dirs©r   Úxdg_dirsÚpr   s      €r   r   zXDGMixin._site_data_dirs   sD   ø€ ä$ _Ó5Ð5ˆ8Ð5ÙBJÓKÁ(¸Q�D×5Ñ5°aÕ8À(ÑKÐKÜ‰wÑ&Ð&ùò Ló   “8c                óz   — | j                   }| j                  rt        j                  j	                  |«      S |d   S )zXData directories shared by users, from ``$XDG_DATA_DIRS`` if set, else platform default.r   )r   Ú	multipathr   ÚpathsepÚjoin©r   Údirss     r   Úsite_data_dirzXDGMixin.site_data_dir   s1   € ð ×#Ñ#ˆØ(,¯ªŒr�z‰z�‰˜tÓ$ÐC¸DÀ¹GÐCr   c                óš   •— t         j                  j                  dd«      j                  «       x}r| j	                  |«      S t
        ‰| �  S )z[Config directory tied to the user, from ``$XDG_CONFIG_HOME`` if set, else platform default.ÚXDG_CONFIG_HOMEr
   )r   r   r   r   r   r   Úuser_config_dirr   s     €r   r)   zXDGMixin.user_config_dir    sE   ø€ ô —:‘:—>‘>Ð"3°RÓ8×>Ñ>Ó@Ð@ˆ4Ð@Ø×4Ñ4°TÓ:Ð:Ü‰wÑ&Ð&r   c                óz   •— t        d«      x}r|D �cg c]  }| j                  |«      ‘Œ c}S t        ‰| �  S c c}w )NÚXDG_CONFIG_DIRS)r   r   r   Ú_site_config_dirsr   s      €r   r,   zXDGMixin._site_config_dirs'   sE   ø€ ä$Ð%6Ó7Ð7ˆ8Ð7ÙBJÓKÁ(¸Q�D×5Ñ5°aÕ8À(ÑKÐKÜ‰wÑ(Ð(ùò Lr   c                óz   — | j                   }| j                  rt        j                  j	                  |«      S |d   S )z\Config directories shared by users, from ``$XDG_CONFIG_DIRS`` if set, else platform default.r   )r,   r!   r   r"   r#   r$   s     r   Úsite_config_dirzXDGMixin.site_config_dir-   s1   € ð ×%Ñ%ˆØ(,¯ªŒr�z‰z�‰˜tÓ$ÐC¸DÀ¹GÐCr   c                óš   •— t         j                  j                  dd«      j                  «       x}r| j	                  |«      S t
        ‰| �  S )zYCache directory tied to the user, from ``$XDG_CACHE_HOME`` if set, else platform default.ÚXDG_CACHE_HOMEr
   )r   r   r   r   r   r   Úuser_cache_dirr   s     €r   r1   zXDGMixin.user_cache_dir3   óE   ø€ ô —:‘:—>‘>Ð"2°BÓ7×=Ñ=Ó?Ð?ˆ4Ð?Ø×4Ñ4°TÓ:Ð:Ü‰wÑ%Ð%r   c                óš   •— t         j                  j                  dd«      j                  «       x}r| j	                  |«      S t
        ‰| �  S )zYState directory tied to the user, from ``$XDG_STATE_HOME`` if set, else platform default.ÚXDG_STATE_HOMEr
   )r   r   r   r   r   r   Úuser_state_dirr   s     €r   r5   zXDGMixin.user_state_dir:   r2   r   c                óš   •— t         j                  j                  dd«      j                  «       x}r| j	                  |«      S t
        ‰| �  S )z\Runtime directory tied to the user, from ``$XDG_RUNTIME_DIR`` if set, else platform default.ÚXDG_RUNTIME_DIRr
   )r   r   r   r   r   r   Úuser_runtime_dirr   s     €r   r8   zXDGMixin.user_runtime_dirA   óE   ø€ ô —:‘:—>‘>Ð"3°RÓ8×>Ñ>Ó@Ð@ˆ4Ð@Ø×4Ñ4°TÓ:Ð:Ü‰wÑ'Ð'r   c                óš   •— t         j                  j                  dd«      j                  «       x}r| j	                  |«      S t
        ‰| �  S )z[Runtime directory shared by users, from ``$XDG_RUNTIME_DIR`` if set, else platform default.r7   r
   )r   r   r   r   r   r   Úsite_runtime_dirr   s     €r   r;   zXDGMixin.site_runtime_dirH   r9   r   c                ó¶   •— t         j                  j                  dd«      j                  «       x}rt         j                  j                  |«      S t        ‰| �  S )z`Documents directory tied to the user, from ``$XDG_DOCUMENTS_DIR`` if set, else platform default.ÚXDG_DOCUMENTS_DIRr
   )r   r   r   r   r   Ú
expanduserr   Úuser_documents_dirr   s     €r   r?   zXDGMixin.user_documents_dirO   óI   ø€ ô —:‘:—>‘>Ð"5°rÓ:×@Ñ@ÓBÐBˆ4ÐBÜ—7‘7×%Ñ% dÓ+Ð+Ü‰wÑ)Ð)r   c                ó¶   •— t         j                  j                  dd«      j                  «       x}rt         j                  j                  |«      S t        ‰| �  S )z_Downloads directory tied to the user, from ``$XDG_DOWNLOAD_DIR`` if set, else platform default.ÚXDG_DOWNLOAD_DIRr
   )r   r   r   r   r   r>   r   Úuser_downloads_dirr   s     €r   rC   zXDGMixin.user_downloads_dirV   sI   ø€ ô —:‘:—>‘>Ð"4°bÓ9×?Ñ?ÓAÐAˆ4ÐAÜ—7‘7×%Ñ% dÓ+Ð+Ü‰wÑ)Ð)r   c                ó¶   •— t         j                  j                  dd«      j                  «       x}rt         j                  j                  |«      S t        ‰| �  S )z^Pictures directory tied to the user, from ``$XDG_PICTURES_DIR`` if set, else platform default.ÚXDG_PICTURES_DIRr
   )r   r   r   r   r   r>   r   Úuser_pictures_dirr   s     €r   rF   zXDGMixin.user_pictures_dir]   óI   ø€ ô —:‘:—>‘>Ð"4°bÓ9×?Ñ?ÓAÐAˆ4ÐAÜ—7‘7×%Ñ% dÓ+Ð+Ü‰wÑ(Ð(r   c                ó¶   •— t         j                  j                  dd«      j                  «       x}rt         j                  j                  |«      S t        ‰| �  S )zZVideos directory tied to the user, from ``$XDG_VIDEOS_DIR`` if set, else platform default.ÚXDG_VIDEOS_DIRr
   )r   r   r   r   r   r>   r   Úuser_videos_dirr   s     €r   rJ   zXDGMixin.user_videos_dird   sI   ø€ ô —:‘:—>‘>Ð"2°BÓ7×=Ñ=Ó?Ð?ˆ4Ð?Ü—7‘7×%Ñ% dÓ+Ð+Ü‰wÑ&Ð&r   c                ó¶   •— t         j                  j                  dd«      j                  «       x}rt         j                  j                  |«      S t        ‰| �  S )zXMusic directory tied to the user, from ``$XDG_MUSIC_DIR`` if set, else platform default.ÚXDG_MUSIC_DIRr
   )r   r   r   r   r   r>   r   Úuser_music_dirr   s     €r   rM   zXDGMixin.user_music_dirk   sH   ø€ ô —:‘:—>‘> /°2Ó6×<Ñ<Ó>Ð>ˆ4Ð>Ü—7‘7×%Ñ% dÓ+Ð+Ü‰wÑ%Ð%r   c                ó¶   •— t         j                  j                  dd«      j                  «       x}rt         j                  j                  |«      S t        ‰| �  S )z\Desktop directory tied to the user, from ``$XDG_DESKTOP_DIR`` if set, else platform default.ÚXDG_DESKTOP_DIRr
   )r   r   r   r   r   r>   r   Úuser_desktop_dirr   s     €r   rP   zXDGMixin.user_desktop_dirr   sI   ø€ ô —:‘:—>‘>Ð"3°RÓ8×>Ñ>Ó@Ð@ˆ4Ð@Ü—7‘7×%Ñ% dÓ+Ð+Ü‰wÑ'Ð'r   c                ó¶   •— t         j                  j                  dd«      j                  «       x}rt         j                  j                  |«      S t        ‰| �  S )z^Projects directory tied to the user, from ``$XDG_PROJECTS_DIR`` if set, else platform default.ÚXDG_PROJECTS_DIRr
   )r   r   r   r   r   r>   r   Úuser_projects_dirr   s     €r   rS   zXDGMixin.user_projects_diry   rG   r   c                ó¶   •— t         j                  j                  dd«      j                  «       x}rt         j                  j                  |«      S t        ‰| �  S )zePublic share directory tied to the user, from ``$XDG_PUBLICSHARE_DIR`` if set, else platform default.ÚXDG_PUBLICSHARE_DIRr
   )r   r   r   r   r   r>   r   Úuser_publicshare_dirr   s     €r   rV   zXDGMixin.user_publicshare_dir€   sI   ø€ ô —:‘:—>‘>Ð"7¸Ó<×BÑBÓDÐDˆ4ÐDÜ—7‘7×%Ñ% dÓ+Ð+Ü‰wÑ+Ð+r   c                ó¶   •— t         j                  j                  dd«      j                  «       x}rt         j                  j                  |«      S t        ‰| �  S )z`Templates directory tied to the user, from ``$XDG_TEMPLATES_DIR`` if set, else platform default.ÚXDG_TEMPLATES_DIRr
   )r   r   r   r   r   r>   r   Úuser_templates_dirr   s     €r   rY   zXDGMixin.user_templates_dir‡   r@   r   c                ó¼   •— t         j                  j                  dd«      j                  «       x}r"t         j                  j                  |«      › d�S t        ‰| �  S )z^Fonts directory tied to the user, from ``$XDG_DATA_HOME/fonts`` if set, else platform default.r	   r
   z/fonts)r   r   r   r   r   r>   r   Úuser_fonts_dirr   s     €r   r[   zXDGMixin.user_fonts_dirŽ   sP   ø€ ô —:‘:—>‘> /°2Ó6×<Ñ<Ó>Ð>ˆ4Ð>Ü—g‘g×(Ñ(¨Ó.Ð/¨vÐ6Ð6Ü‰wÑ%Ð%r   c                óò   •— t         j                  j                  dd«      j                  «       x}r=t         j                  j                  t         j                  j                  |«      d«      S t        ‰| �   S )z_Applications directory tied to the user, from ``$XDG_DATA_HOME`` if set, else platform default.r	   r
   Úapplications)	r   r   r   r   r   r#   r>   r   Úuser_applications_dirr   s     €r   r^   zXDGMixin.user_applications_dir•   sW   ø€ ô —:‘:—>‘> /°2Ó6×<Ñ<Ó>Ð>ˆ4Ð>Ü—7‘7—<‘<¤§¡× 2Ñ 2°4Ó 8¸.ÓIÐIÜ‰wÑ,Ð,r   c                ó˜   •— t        d«      x}r.|D �cg c]"  }t        j                  j                  |d«      ‘Œ$ c}S t        ‰| �  S c c}w )Nr   r]   )r   r   r   r#   r   Ú_site_applications_dirsr   s      €r   r`   z XDGMixin._site_applications_dirsœ   sH   ø€ ä$ _Ó5Ð5ˆ8Ð5Ù=EÓF¹X¸”B—G‘G—L‘L  NÕ3¸XÑFÐFÜ‰wÑ.Ð.ùò Gs   “'Ac                óz   — | j                   }| j                  rt        j                  j	                  |«      S |d   S )z`Applications directories shared by users, from ``$XDG_DATA_DIRS`` if set, else platform default.r   )r`   r!   r   r"   r#   r$   s     r   Úsite_applications_dirzXDGMixin.site_applications_dir¢   s1   € ð ×+Ñ+ˆØ(,¯ªŒr�z‰z�‰˜tÓ$ÐC¸DÀ¹GÐCr   )ÚreturnÚstr)rc   ú	list[str])Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   r&   r)   r,   r.   r1   r5   r8   r;   r?   rC   rF   rJ   rM   rP   rS   rV   rY   r[   r^   r`   rb   Ú__classcell__)r   s   @r   r   r   
   sÖ  ø„ Ùràô%ó ð%ð ô'ó ð'ð
 òDó ðDð
 ô'ó ð'ð ô)ó ð)ð
 òDó ðDð
 ô&ó ð&ð ô&ó ð&ð ô(ó ð(ð ô(ó ð(ð ô*ó ð*ð ô*ó ð*ð ô)ó ð)ð ô'ó ð'ð ô&ó ð&ð ô(ó ð(ð ô)ó ð)ð ô,ó ð,ð ô*ó ð*ð ô&ó ð&ð ô-ó ð-ð ô/ó ð/ð
 òDó ôDr   r   c                óÈ   — t         j                  j                  | d«      j                  t         j                  «      D �cg c]  }|j                  «       x}sŒ|‘Œ c}S c c}w )znStripped non-blank entries of ``env_var``, so a value of only separators and whitespace falls back like unset.r
   )r   r   r   Úsplitr"   r   )Úenv_varr   Ústrippeds      r   r   r   ©   sO   € ä!#§¡§¡°¸Ó!<×!BÑ!BÄ2Ç:Á:Ô!NÓmÑ!N˜Ð_c×_iÑ_iÓ_kÐSkÐS[ÑSkŠHÐ!NÑmÐmùÒms   Á AÁA)rn   rd   rc   re   )	ri   Ú
__future__r   r   Úapir   r   r   Ú__all__© r   r   Ú<module>rt      s4   ðÙ 8å "ã 	å  ô\Dˆô \Dó~nð ð�r   