U
    adm                     @   sL  d Z dZdZdZdZdZdZdZdZd	Z	d
Z
dd Zdd ZdZdZdZdZdZdZdZdZdZdZdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Z d*Z!d+Z"e"Z#d,Z$d-Z%d.Z&d/Z'd0Z(d-Z)d.Z*d/Z+d1Z,d2Z-d3Z.d	Z/dZ0dZ1dZ2dZ3dZ4dZ5dZ6d	Z7d3Z8d2Z9dZ:d4Z;d5Z<d6Z=d7Z>d8Z?ed9fed:fed;fed<fed=fed>fed?ffe)d@ffe*dAffe+e!B d:fe!dBfe+dCffe-d@ffe.dAffe/e"B d:fe"dBfe/dCffe1d@ffe2dAffe3e$B dDfe$dEfe3dCfff
Z@dFdG ZAd2ZBd*ZCd/ZDd3ZEdZFdZGdZHd.ZIdZJd5ZKdZLdZMd+ZNd,ZOdZPd-ZQd4ZRzddHlST W n eTk
rF   Y nX dIS )JzoConstants/functions for interpreting results of os.stat() and os.lstat().

Suggested usage: from stat import *
                            	   c                 C   s   | d@ S )zMReturn the portion of the file's mode that can be set by
    os.chmod().
    i   moder   r   /usr/lib/python3.8/stat.pyS_IMODE   s    r   c                 C   s   | d@ S )zLReturn the portion of the file's mode that describes the
    file type.
    i   r   r   r   r   r   S_IFMT   s    r   i @  i    i `  i   i   i   i   c                 C   s   t | tkS )z(Return True if mode is from a directory.)r   S_IFDIRr   r   r   r   S_ISDIR2   s    r   c                 C   s   t | tkS )z<Return True if mode is from a character special device file.)r   S_IFCHRr   r   r   r   S_ISCHR6   s    r   c                 C   s   t | tkS )z8Return True if mode is from a block special device file.)r   S_IFBLKr   r   r   r   S_ISBLK:   s    r   c                 C   s   t | tkS )z+Return True if mode is from a regular file.)r   S_IFREGr   r   r   r   S_ISREG>   s    r   c                 C   s   t | tkS )z0Return True if mode is from a FIFO (named pipe).)r   S_IFIFOr   r   r   r   S_ISFIFOB   s    r   c                 C   s   t | tkS )z,Return True if mode is from a symbolic link.)r   S_IFLNKr   r   r   r   S_ISLNKF   s    r   c                 C   s   t | tkS )z%Return True if mode is from a socket.)r   S_IFSOCKr   r   r   r   S_ISSOCKJ   s    r   c                 C   s   dS )z#Return True if mode is from a door.Fr   r   r   r   r   S_ISDOORN   s    r   c                 C   s   dS )z*Return True if mode is from an event port.Fr   r   r   r   r   S_ISPORTR   s    r    c                 C   s   dS )z'Return True if mode is from a whiteout.Fr   r   r   r   r   S_ISWHTV   s    r!   i   i   i         @   i  8          i   i   i   i   i    ls-bdcprwSxtTc                 C   sJ   g }t D ]6}|D ]"\}}| |@ |kr||  qq|d qd|S )z;Convert a file's mode to a string of the form '-rwxrwxrwx'.r*    )_filemode_tableappendjoin)r   Zpermtablebitcharr   r   r   filemode   s    
r<   )*N)U__doc__ST_MODEST_INOST_DEVST_NLINKST_UIDST_GIDST_SIZEST_ATIMEST_MTIMEST_CTIMEr   r   r   r   r   r   r   r   r   S_IFDOORS_IFPORTS_IFWHTr   r   r   r   r   r   r   r   r    r!   S_ISUIDS_ISGIDS_ENFMTS_ISVTXS_IREADS_IWRITES_IEXECS_IRWXUS_IRUSRS_IWUSRS_IXUSRS_IRWXGS_IRGRPS_IWGRPS_IXGRPS_IRWXOS_IROTHS_IWOTHS_IXOTH	UF_NODUMPUF_IMMUTABLE	UF_APPEND	UF_OPAQUEUF_NOUNLINKUF_COMPRESSED	UF_HIDDENSF_ARCHIVEDSF_IMMUTABLE	SF_APPENDSF_NOUNLINKSF_SNAPSHOTr6   r<   FILE_ATTRIBUTE_ARCHIVEFILE_ATTRIBUTE_COMPRESSEDFILE_ATTRIBUTE_DEVICEFILE_ATTRIBUTE_DIRECTORYFILE_ATTRIBUTE_ENCRYPTEDFILE_ATTRIBUTE_HIDDENFILE_ATTRIBUTE_INTEGRITY_STREAMFILE_ATTRIBUTE_NORMAL"FILE_ATTRIBUTE_NOT_CONTENT_INDEXEDFILE_ATTRIBUTE_NO_SCRUB_DATAFILE_ATTRIBUTE_OFFLINEFILE_ATTRIBUTE_READONLYFILE_ATTRIBUTE_REPARSE_POINTFILE_ATTRIBUTE_SPARSE_FILEFILE_ATTRIBUTE_SYSTEMFILE_ATTRIBUTE_TEMPORARYFILE_ATTRIBUTE_VIRTUAL_statImportErrorr   r   r   r   <module>   s   	


