Ë
    Ñ—Äj4A  ã                  óŽ  — U d Z ddlmZ ddlZddlZddlZddlZddlZddlm	Z	 ddl
mZ ddlmZ ddlmZmZ dd	lmZmZmZ dd
lmZmZ ej0                  dk(  rdd„ZnddlmZ  G d„ de«      Z G d„ dee«      Z ej8                  dej:                  «      Zded<   d d„Z d!d„Z!ddœd"d„Z"d#d„Z# e$«       Z%ded<   dZ&ded<   dgZ'y)$zUnix.é    )ÚannotationsN)Úsuppress)ÚPath)Ú
gettempdir)ÚFinalÚNoReturné   )ÚXDGMixinÚ_expand_userÚ_xdg_dir)ÚPlatformDirsABCÚRuntimeDirWarningÚwin32c                 ó   — d} t        | «      ‚)Nzshould only be used on Unix)ÚRuntimeError)Úmsgs    úVC:\Users\pivot\Documents\cueki\casual-preloader\Lib\site-packages\platformdirs/unix.pyÚgetuidr      s   € Ø+ˆÜ˜3ÓÐó    )r   c                  ó  — e Zd ZdZed!d„«       Zed"d„«       Zed#d„«       Zed"d„«       Zed#d„«       Z	ed"d„«       Z
ed"d„«       Zed"d	„«       Zed"d
„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zd$d„Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed#d„«       Zd"d„Z d"d„Z!ed"d„«       Z"y )%Ú_UnixDefaultszžDefault directories for Unix/Linux without XDG environment variable overrides.

    The XDG env var handling is in :class:`~platformdirs._xdg.XDGMixin`.

    c                ó8   — | j                   xr t        «       dk(  S )Nr   )Úuse_site_for_rootr   ©Úselfs    r   Ú	_use_sitez_UnixDefaults._use_site#   s   € à×%Ñ%Ò7¬&«(°a©-Ð7r   c                ó:   — | j                  t        d«      d¬«      S )zsData directory tied to the user, e.g. ``~/.local/share/$appname/$version`` or ``$XDG_DATA_HOME/$appname/$version``.ú~/.local/shareT©Úprivate©Ú_append_app_name_and_versionr   r   s    r   Úuser_data_dirz_UnixDefaults.user_data_dir'   ó!   € ð ×0Ñ0´Ð>NÓ1OÐY]Ð0Ó^Ð^r   c                óF   — | j                  d«      | j                  d«      gS )Nú/usr/local/shareú
/usr/share©Ú_join_app_name_and_versionr   s    r   Ú_site_data_dirsz_UnixDefaults._site_data_dirs,   s%   € à×/Ñ/Ð0BÓCÀT×EdÑEdÐeqÓErÐsÐsr   c                ó:   — | j                  t        d«      d¬«      S )zrConfig directory tied to the user, e.g. ``~/.config/$appname/$version`` or ``$XDG_CONFIG_HOME/$appname/$version``.ú	~/.configTr   r!   r   s    r   Úuser_config_dirz_UnixDefaults.user_config_dir0   s    € ð ×0Ñ0´¸kÓ1JÐTXÐ0ÓYÐYr   c                ó&   — | j                  d«      gS )Nz/etc/xdgr(   r   s    r   Ú_site_config_dirsz_UnixDefaults._site_config_dirs5   s   € à×/Ñ/°
Ó;Ð<Ð<r   c                ó:   — | j                  t        d«      d¬«      S )zoCache directory tied to the user, e.g. ``~/.cache/$appname/$version`` or ``$XDG_CACHE_HOME/$appname/$version``.z~/.cacheTr   r!   r   s    r   Úuser_cache_dirz_UnixDefaults.user_cache_dir9   s    € ð ×0Ñ0´¸jÓ1IÐSWÐ0ÓXÐXr   c                ó(   — | j                  dd¬«      S )zGCache directory shared by users, e.g. ``/var/cache/$appname/$version``.z
/var/cacheFr   ©r"   r   s    r   Úsite_cache_dirz_UnixDefaults.site_cache_dir>   s   € ð ×0Ñ0°ÀuÐ0ÓMÐMr   c                ó:   — | j                  t        d«      d¬«      S )zuState directory tied to the user, e.g. ``~/.local/state/$appname/$version`` or ``$XDG_STATE_HOME/$appname/$version``.z~/.local/stateTr   r!   r   s    r   Úuser_state_dirz_UnixDefaults.user_state_dirC   r$   r   c                ó(   — | j                  dd¬«      S )zEState directory shared by users, e.g. ``/var/lib/$appname/$version``.z/var/libFr   r3   r   s    r   Úsite_state_dirz_UnixDefaults.site_state_dirH   s   € ð ×0Ñ0°ÀUÐ0ÓKÐKr   c                óœ   — | j                   }| j                  r3t        j                  j	                  |d«      }| j                  |d¬«       |S )z_Log directory tied to the user, same as `user_state_dir` if not opinionated else ``log`` in it.ÚlogTr   )r6   ÚopinionÚosÚpathÚjoinÚ_optionally_create_directory©r   r=   s     r   Úuser_log_dirz_UnixDefaults.user_log_dirM   sB   € ð ×"Ñ"ˆØ�<Š<Ü—7‘7—<‘<  eÓ,ˆDØ×-Ñ-¨d¸DÐ-ÔAØˆr   c                ó(   — | j                  dd¬«      S )z¹Log directory shared by users, e.g. ``/var/log/$appname/$version``.

        Unlike `user_log_dir`, ``opinion`` has no effect since ``/var/log`` is inherently a log directory.

        z/var/logFr   r3   r   s    r   Úsite_log_dirz_UnixDefaults.site_log_dirV   s   € ð ×0Ñ0°ÀUÐ0ÓKÐKr   c                ó&   — | j                  dd«      S )z;Documents directory tied to the user, e.g. ``~/Documents``.ÚXDG_DOCUMENTS_DIRz~/Documents©Ú_user_media_dirr   s    r   Úuser_documents_dirz _UnixDefaults.user_documents_dir_   ó   € ð ×#Ñ#Ð$7¸ÓGÐGr   c                ó&   — | j                  dd«      S )z;Downloads directory tied to the user, e.g. ``~/Downloads``.ÚXDG_DOWNLOAD_DIRz~/DownloadsrF   r   s    r   Úuser_downloads_dirz _UnixDefaults.user_downloads_dird   s   € ð ×#Ñ#Ð$6¸ÓFÐFr   c                ó&   — | j                  dd«      S )z9Pictures directory tied to the user, e.g. ``~/Pictures``.ÚXDG_PICTURES_DIRz
~/PicturesrF   r   s    r   Úuser_pictures_dirz_UnixDefaults.user_pictures_diri   ó   € ð ×#Ñ#Ð$6¸ÓEÐEr   c                ó&   — | j                  dd«      S )z5Videos directory tied to the user, e.g. ``~/Videos``.ÚXDG_VIDEOS_DIRz~/VideosrF   r   s    r   Úuser_videos_dirz_UnixDefaults.user_videos_dirn   s   € ð ×#Ñ#Ð$4°jÓAÐAr   c                ó&   — | j                  dd«      S )z3Music directory tied to the user, e.g. ``~/Music``.ÚXDG_MUSIC_DIRz~/MusicrF   r   s    r   Úuser_music_dirz_UnixDefaults.user_music_dirs   s   € ð ×#Ñ# O°YÓ?Ð?r   c                ó&   — | j                  dd«      S )z7Desktop directory tied to the user, e.g. ``~/Desktop``.ÚXDG_DESKTOP_DIRz	~/DesktoprF   r   s    r   Úuser_desktop_dirz_UnixDefaults.user_desktop_dirx   s   € ð ×#Ñ#Ð$5°{ÓCÐCr   c                ó&   — | j                  dd«      S )z9Projects directory tied to the user, e.g. ``~/Projects``.ÚXDG_PROJECTS_DIRz
~/ProjectsrF   r   s    r   Úuser_projects_dirz_UnixDefaults.user_projects_dir}   rP   r   c                ó&   — | j                  dd«      S )z;Public share directory tied to the user, e.g. ``~/Public``.ÚXDG_PUBLICSHARE_DIRz~/PublicrF   r   s    r   Úuser_publicshare_dirz"_UnixDefaults.user_publicshare_dir‚   s   € ð ×#Ñ#Ð$9¸:ÓFÐFr   c                ó&   — | j                  dd«      S )z;Templates directory tied to the user, e.g. ``~/Templates``.ÚXDG_TEMPLATES_DIRz~/TemplatesrF   r   s    r   Úuser_templates_dirz _UnixDefaults.user_templates_dir‡   rI   r   c                óX   — t        |«      x}r| j                  |«       |S t        |«      S )N)Ú_get_user_dirs_folderÚ"_optionally_create_media_directoryr   )r   ÚkeyÚdefaultr=   s       r   rG   z_UnixDefaults._user_media_dirŒ   s0   € Ü(¨Ó-Ð-ˆ4Ð-Ø×3Ñ3°DÔ9ØˆKÜ˜GÓ$Ð$r   c                ó   — t        d«      › d�S )z@Fonts directory tied to the user, e.g. ``~/.local/share/fonts``.r   z/fonts©r   r   s    r   Úuser_fonts_dirz_UnixDefaults.user_fonts_dir’   s   € ô Ð/Ó0Ð1°Ð8Ð8r   c                ó   — | j                   S )zCPreference directory tied to the user, same as ``user_config_dir``.)r-   r   s    r   Úuser_preference_dirz!_UnixDefaults.user_preference_dir—   s   € ð ×#Ñ#Ð#r   c                ó   — t        d«      S )z6Bin directory tied to the user, e.g. ``~/.local/bin``.z~/.local/binri   r   s    r   Úuser_bin_dirz_UnixDefaults.user_bin_dirœ   s   € ô ˜NÓ+Ð+r   c                 ó   — y)z7Bin directory shared by users, e.g. ``/usr/local/bin``.z/usr/local/bin© r   s    r   Úsite_bin_dirz_UnixDefaults.site_bin_dir¡   s   € ð  r   c                ó>   — t        d«      › t        j                  › d�S )zNApplications directory tied to the user, e.g. ``~/.local/share/applications``.r   Úapplications)r   r<   Úsepr   s    r   Úuser_applications_dirz#_UnixDefaults.user_applications_dir¦   s    € ô Ð/Ó0Ð1´"·&±&°¸ÐFÐFr   c                óh   — dD �cg c]"  }t         j                  j                  |d«      ‘Œ$ c}S c c}w )N)r&   r'   rs   )r<   r=   r>   )r   Úps     r   Ú_site_applications_dirsz%_UnixDefaults._site_applications_dirs«   s+   € á9[Ó\Ñ9[°A”—‘—‘˜Q Õ/Ð9[Ñ\Ð\ùÒ\s   …'/c                óH  — t         j                  j                  d«      rdt        «       › �}n:t         j                  j                  d«      rdt        «       › �}ndt        «       › �}t        j
                  j                  |«      rt        |«      s|S | j                  «       S )NÚopenbsdz/tmp/run/user/)ÚfreebsdÚnetbsdz/var/run/user/z
/run/user/)	ÚsysÚplatformÚ
startswithr   r<   r=   ÚlexistsÚ_runtime_dir_problemÚ_temp_runtime_dirr@   s     r   Ú_default_runtime_dirz"_UnixDefaults._default_runtime_dir¯   s}   € Ü�<‰<×"Ñ" 9Ô-Ø#¤F£H :Ð.‰DÜ�\‰\×$Ñ$Ð%:Ô;Ø#¤F£H :Ð.‰Dà¤£˜zÐ*ˆDÜ—w‘w—‘ tÔ,Ô5IÈ$Ô5OˆtÐmÐUY×UkÑUkÓUmÐmr   c                ó6  — t        «       › dt        «       › �}t        t        «      5  | j	                  |d¬«       d d d «       t        |d¬«      x}rd|› d�}t        |«      ‚| j                  rt        |«      j                  t        «       |S # 1 sw Y   ŒUxY w)Nz	/runtime-Tr   F©Ú
check_modezruntime directory z; set XDG_RUNTIME_DIR instead)r   r   r   ÚFileExistsErrorr?   r�   ÚPermissionErrorÚensure_existsr   ÚchmodÚ_RUNTIME_DIR_MODE)r   r=   Úproblemr   s       r   r‚   z_UnixDefaults._temp_runtime_dir¸   sŒ   € ä“,�˜y¬«¨
Ð3ˆÜ”oÕ&Ø×-Ñ-¨d¸DÐ-ÔA÷ 'ä*¨4¸EÔBÐBˆ7ÐBØ& w iÐ/LÐMˆCÜ! #Ó&Ð&à×ÒÜ�‹J×ÑÔ.Ô/Øˆ÷ 'Ð&ús   §BÂBc                óp   — t         j                  j                  d«      rd}nd}| j                  |d¬«      S )aT  Runtime directory shared by users, e.g. ``/run/$appname/$version`` or ``$XDG_RUNTIME_DIR/$appname/$version``.

        Note that this behaves almost exactly like `user_runtime_dir` if ``$XDG_RUNTIME_DIR`` is set, but will fall back
        to paths associated to the root user instead of a regular logged-in user if it's not set.

        If you wish to ensure that a logged-in root user path is returned e.g. ``/run/user/0``, use `user_runtime_dir`
        instead.

        For FreeBSD/OpenBSD/NetBSD, it would return ``/var/run/$appname/$version`` if ``$XDG_RUNTIME_DIR`` is not set.

        )r{   rz   r|   z/var/runz/runFr   )r}   r~   r   r"   r@   s     r   Úsite_runtime_dirz_UnixDefaults.site_runtime_dirÅ   s7   € ô �<‰<×"Ñ"Ð#CÔDØ‰DàˆDØ×0Ñ0°¸uÐ0ÓEÐEr   N)ÚreturnÚbool©r�   Ústr)r�   z	list[str])rf   r’   rg   r’   r�   r’   )#Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r#   r*   r-   r/   r1   r4   r6   r8   rA   rC   rH   rL   rO   rS   rV   rY   r\   r_   rb   rG   rj   rl   rn   rq   ru   rx   rƒ   r‚   rŽ   rp   r   r   r   r      s[  „ ñð ò8ó ð8ð ò_ó ð_ð òtó ðtð òZó ðZð ò=ó ð=ð òYó ðYð òNó ðNð ò_ó ð_ð òLó ðLð òó ðð òLó ðLð òHó ðHð òGó ðGð òFó ðFð òBó ðBð ò@ó ð@ð òDó ðDð òFó ðFð òGó ðGð òHó ðHó%ð ò9ó ð9ð ò$ó ð$ð ò,ó ð,ð ò ó ð ð òGó ðGð ò]ó ð]ónóð òFó ñFr   r   c                  ó   ‡ — e Zd Z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ˆ xZS )ÚUnixaf  On Unix/Linux, we follow the `XDG Basedir Spec <https://specifications.freedesktop.org/basedir/latest/>`_.

    The spec allows overriding directories with environment variables. The examples shown are the default values,
    alongside the name of the environment variable that overrides them. Makes use of the `appname
    <platformdirs.api.PlatformDirsABC.appname>`, `version <platformdirs.api.PlatformDirsABC.version>`, `multipath
    <platformdirs.api.PlatformDirsABC.multipath>`, `opinion <platformdirs.api.PlatformDirsABC.opinion>`, `ensure_exists
    <platformdirs.api.PlatformDirsABC.ensure_exists>`.

    c                óH   •— | j                   r| j                  S t        ‰| �  S )zYData directory tied to the user, or site equivalent when root with ``use_site_for_root``.)r   Úsite_data_dirÚsuperr#   ©r   Ú	__class__s    €r   r#   zUnix.user_data_dirä   s!   ø€ ð &*§^¢^ˆt×!Ñ!ÐN¼¹Ñ9NÐNr   c                óH   •— | j                   r| j                  S t        ‰| �  S )z[Config directory tied to the user, or site equivalent when root with ``use_site_for_root``.)r   Úsite_config_dirrœ   r-   r�   s    €r   r-   zUnix.user_config_diré   s!   ø€ ð (,§~¢~ˆt×#Ñ#ÐR¼5¹7Ñ;RÐRr   c                óH   •— | j                   r| j                  S t        ‰| �  S )zZCache directory tied to the user, or site equivalent when root with ``use_site_for_root``.)r   r4   rœ   r1   r�   s    €r   r1   zUnix.user_cache_dirî   ó!   ø€ ð '+§n¢nˆt×"Ñ"ÐP¼%¹'Ñ:PÐPr   c                óH   •— | j                   r| j                  S t        ‰| �  S )zZState directory tied to the user, or site equivalent when root with ``use_site_for_root``.)r   r8   rœ   r6   r�   s    €r   r6   zUnix.user_state_diró   r¢   r   c                óH   •— | j                   r| j                  S t        ‰| �  S )zXLog directory tied to the user, or site equivalent when root with ``use_site_for_root``.)r   rC   rœ   rA   r�   s    €r   rA   zUnix.user_log_dirø   ó!   ø€ ð %)§N¢Nˆt× Ñ ÐL¼¹Ñ8LÐLr   c                óH   •— | j                   r| j                  S t        ‰| �  S )zaApplications directory tied to the user, or site equivalent when root with ``use_site_for_root``.)r   Úsite_applications_dirrœ   ru   r�   s    €r   ru   zUnix.user_applications_dirý   s!   ø€ ð .2¯^ª^ˆt×)Ñ)Ð^ÄÁÑA^Ð^r   c                óv  •— | j                   rt        t        | �  S t	        d«      x}sd}nPt        t        «      5  | j                  |d¬«       ddd«       t        |«      x}s| j                  |d¬«      S d|› �}t        |› d| j                  «       x}› �«       | j                  |d¬«      S # 1 sw Y   ŒaxY w)aN  Runtime directory tied to the user, e.g. ``$XDG_RUNTIME_DIR/$appname/$version``.

        Accepts ``$XDG_RUNTIME_DIR`` only as a directory, not a symlink, that the user owns with mode ``0700``, as the
        XDG spec requires, and creates a missing one that way under ``ensure_exists``. When the variable is unset or
        fails that check, emits one :class:`~platformdirs.RuntimeDirWarning` per cause and falls back to the platform
        default (``/tmp/run/user/<uid>`` on OpenBSD, ``/var/run/user/<uid>`` on FreeBSD/NetBSD, ``/run/user/<uid>``
        elsewhere) if it passes the same check, else to ``runtime-<uid>`` in the temporary directory. Root with
        ``use_site_for_root`` gets the site equivalent.

        :raises PermissionError: if the temporary fallback is a symlink, not a directory, or owned by another user.

        ÚXDG_RUNTIME_DIRzXDG_RUNTIME_DIR is not setTr   NzXDG_RUNTIME_DIR z, falling back to )r   rœ   r
   rŽ   r   r   r‡   r?   r�   r"   Ú
_warn_oncerƒ   )r   r=   ÚreasonrŒ   Úfallbackrž   s        €r   Úuser_runtime_dirzUnix.user_runtime_dir  sÃ   ø€ ð �>Š>äœ 4Ñ9Ð9Ü Ð!2Ó3Ð3�Ð3Ø1‰Fäœ/Õ*Ø×1Ñ1°$ÀÐ1ÔE÷ +ä3°DÓ9Ð9�GÐ9Ø×8Ñ8¸ÀtÐ8ÓLÐLØ'¨ yÐ1ˆFÜ�f�XÐ/¸T×=VÑ=VÓ=XÐ1X°Ð/ZÐ[Ô\Ø×0Ñ0°À4Ð0ÓHÐH÷ +Ð*ús   »B/Â/B8c                óH   •— | j                   r| j                  S t        ‰| �  S )zXBin directory tied to the user, or site equivalent when root with ``use_site_for_root``.)r   rq   rœ   rn   r�   s    €r   rn   zUnix.user_bin_dir  r¥   r   c                óH   •— | j                   r| j                  S t        ‰| �  S )zYData path tied to the user, or the first site entry when root with ``use_site_for_root``.)r   Úsite_data_pathrœ   Úuser_data_pathr�   s    €r   r±   zUnix.user_data_path#  r¢   r   c                óH   •— | j                   r| j                  S t        ‰| �  S )z[Config path tied to the user, or the first site entry when root with ``use_site_for_root``.)r   Úsite_config_pathrœ   Úuser_config_pathr�   s    €r   r´   zUnix.user_config_path(  s!   ø€ ð )-¯ªˆt×$Ñ$ÐT¼E¹GÑ<TÐTr   c                óH   •— | j                   r| j                  S t        ‰| �  S )zfPreference path tied to the user, or the first site config entry when root with ``use_site_for_root``.)r   r³   rœ   Úuser_preference_pathr�   s    €r   r¶   zUnix.user_preference_path-  s!   ø€ ð )-¯ªˆt×$Ñ$ÐX¼E¹GÑ<XÐXr   c                óH   •— | j                   r| j                  S t        ‰| �  S )zaApplications path tied to the user, or the first site entry when root with ``use_site_for_root``.)r   Úsite_applications_pathrœ   Úuser_applications_pathr�   s    €r   r¹   zUnix.user_applications_path2  s!   ø€ ð /3¯nªnˆt×*Ñ*Ð`Ä%Á'ÑB`Ð`r   r‘   )r�   r   )r“   r”   r•   r–   r—   r#   r-   r1   r6   rA   ru   r­   rn   r±   r´   r¶   r¹   Ú__classcell__)rž   s   @r   r™   r™   Ù   s  ø„ ñð ôOó ðOð ôSó ðSð ôQó ðQð ôQó ðQð ôMó ðMð ô_ó ð_ð ôIó ðIð6 ôMó ðMð ôQó ðQð ôUó ðUð ôYó ðYð ôaó ôar   r™   aˆ  
    [ \t]*(?P<key>\w+)[ \t]*=[ \t]*  # KEY=, blanks allowed around the key and after the =
    (?:
        "(?P<quoted>(?:[^"\\]|\\.)*)"  # a double-quoted value with backslash escapes, text after it ignored
        |(?P<bare>[^"\s].*?)          # or an unquoted value, up to
        (?:[ \t]+\#.*|[ \t]*)$         # a comment, which sh starts at a word-initial #, or the line end
    )
    r   Ú_USER_DIRS_LINEc                ó^  — t        d«      xs t        d«      }t        |«      dz  }|j                  «       syd}|j	                  t        j                  «       d¬«      5 }|D ]2  }t        j                  |«      x}sŒ|d   | k(  sŒ$t        |«      xs |}Œ4 	 ddd«       |S # 1 sw Y   |S xY w)a  Return directory from user-dirs.dirs config file.

    ``xdg-user-dirs-update`` writes shell assignments, so match each line like ``xdg-user-dir`` does and keep the last
    valid assignment to ``key``.

    See https://freedesktop.org/wiki/Software/xdg-user-dirs/.

    ÚXDG_CONFIG_HOMEr,   zuser-dirs.dirsNÚsurrogateescape)ÚencodingÚerrorsrf   )
r   r   r   ÚexistsÚopenr}   Úgetfilesystemencodingr»   ÚmatchÚ_resolve_user_dirs_value)rf   Úconfig_homeÚuser_dirs_config_pathÚfolderÚstreamÚlineÚentrys          r   rd   rd   E  s³   € ô Ð,Ó-ÒJ´¸kÓ1J€KÜ  Ó-Ð0@Ñ@ÐØ ×'Ñ'Ô)ØØ€Fà	×	#Ñ	#¬S×-FÑ-FÓ-HÐQbÐ	#Ô	cÐgmÛˆDÜ(×.Ñ.¨tÓ4Ð4�Ñ4¸%À¹,È#Ó:MÜ1°%Ó8ÒB¸F‘ñ ÷ 
dð €M÷	 
dð €Mús   ÁB"Á=B"ÂB"Â"B,c                óò   — | d   €| d   n| d   }|dk(  s|j                  d«      rt        d«      |j                  d«      }}n|j                  d«      rd}ny | d   �t        j                  dd	|«      }||z   S )
NÚquotedÚbarez$HOMEz$HOME/Ú~Ú/Ú z\\(.)z\1)r   r   ÚremoveprefixÚreÚsub)rË   ÚvalueÚprefixs      r   rÅ   rÅ   [  s„   € Ø" 8™_Ð4ˆE�&ŠM¸%À¹/€EØ�Ò˜5×+Ñ+¨HÔ5Ü$ SÓ)¨5×+=Ñ+=¸gÓ+F�‰Ø	×	Ñ	˜#Ô	Ø‰àØˆX�Ð"ä—‘�x ¨Ó.ˆØ�E‰>Ðr   Tr…   c          	     óè  ‡ — 	 t        j                  ‰ «      }|j
                  dz  }t        j                  |j
                  «      dft        j                  |j
                  «       df|j                  t        «       x}k7  d|j                  › d|› �f|xr	 |t        k7  d|d	›dt        d	›�ff}t        ˆ fd
„|D «       d«      S # t        $ r Y yt        $ r}‰ › d|j                  › �cY d}~S d}~ww xY w)zlReturn why ``path`` fails the checks of Qt's ``checkXdgRuntimeDir``, or ``None`` if it passes or is missing.Nz cannot be checked: iÿ  zis a symlinkzis not a directoryzis owned by uid z, not z	has mode Ú04oc              3  ó8   •K  — | ]  \  }}|sŒ	‰› d |› �–— Œ y­w)Ú Nrp   )Ú.0ÚfailedrŒ   r=   s      €r   Ú	<genexpr>z'_runtime_dir_problem.<locals>.<genexpr>x  s#   øè ø€ ÐM¹F©¨°Âf�D�6˜˜7˜)Ô$¹Fùs   ƒ
Ž)r<   ÚlstatÚFileNotFoundErrorÚOSErrorÚstrerrorÚst_modeÚstatÚS_ISLNKÚS_ISDIRÚst_uidr   r‹   Únext)r=   r†   ÚinfoÚerrorÚmodeÚuidÚcheckss   `      r   r�   r�   i  sõ   ø€ ð=Ü�x‰x˜‹~ˆð
 �<‰<˜%Ñ€Dä	�‰�d—l‘lÓ	# ^Ð4Ü�\‰\˜$Ÿ,™,Ó'Ð	'Ð)=Ð>Ø	�‰¤£˜˜Ñ	)Ð-=¸d¿k¹k¸]È&ÐQTÐPUÐ+VÐWØ	Ò	1˜Ô 1Ñ1°Y¸tÀC¸jÈÔO`ÐadÐNeÐ3fÐgð	€Fô ÓM¹FÓMÈtÓTÐTøô ò ÙÜò =Ø�Ð+¨E¯N©NÐ+;Ð<Õ<ûð=ús#   ƒC Ã	C1ÃC1ÃC,Ã&C1Ã,C1c                óx   — | t         vr2t         j                  | «       t        j                  | t        d¬«       y y )Né   )Ú
stacklevel)Ú_WARNEDÚaddÚwarningsÚwarnr   )Úmessages    r   rª   rª   {  s,   € à”gÑÜ�‰�GÔÜ�‰�gÔ0¸QÖ?ð r   zFinal[set[str]]rð   iÀ  r‹   )r�   r   )rf   r’   r�   ú
str | None)rË   zre.Match[str]r�   rõ   )r=   r’   r†   r�   r�   rõ   )rô   r’   r�   ÚNone)(r–   Ú
__future__r   r<   rÓ   rã   r}   rò   Ú
contextlibr   Úpathlibr   Útempfiler   Útypingr   r   Ú_xdgr
   r   r   Úapir   r   r~   r   r   r™   ÚcompileÚVERBOSEr»   Ú__annotations__rd   rÅ   r�   rª   Úsetrð   r‹   Ú__all__rp   r   r   Ú<module>r     sÐ   ðÚ å "ã 	Û 	Û Û 
Û Ý Ý Ý ß "ç 2Ñ 2ß 3à‡<�<�7Òô õ
 ôzF�Oô zFôz\aˆ8�]ô \að~ $˜Ÿ™ðð ‡J�Jó
€�ó 
óó,ð ;?õ Uó$@ñ ›5€ˆÓ  Ø Ð �5Ó  ð ð�r   