
    !f                     `    d Z ddlZddlZ ej                          G d d             ZdefdZy)z"Functions around users and groups.    Nc                   B    e Zd ZU dZeed<   eed<   defdZed        Z	y)UserGroupIDzPair of user and group ID.uidgidreturnc                 B    | j                   dk(  xs | j                  dk(  S )z&Check if the user or group ID is root.r   )r   r   )selfs    3/usr/lib/python3/dist-packages/apport/user_group.pyis_rootzUserGroupID.is_root   s    xx1}-A-    c                     |j                  d      }t        |t              sJ |j                  d      }t        |t              sJ  | ||      S )z8Extract user and group from systemd-coredump dictionary.COREDUMP_UIDCOREDUMP_GID)get
isinstanceint)clscoredumpr   r   s       r
   from_systemd_coredumpz!UserGroupID.from_systemd_coredump   sL     ll>*#s###ll>*#s###3}r   N)
__name__
__module____qualname____doc__r   __annotations__boolr   classmethodr    r   r
   r   r      s/    $	H	H. .  r   r   r   c                  b    t        t        j                         t        j                               S )u3   Return the current process’s real user and group.)r   osgetuidgetgidr   r   r
   get_process_user_and_groupr"       s    ryy{BIIK00r   )r   dataclassesr   	dataclassr   r"   r   r   r
   <module>r%      s@   
 )  	   (1K 1r   