a
    jCim  ã                   @   sJ  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 eT�yD   Y n0 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/local/lib/python3.9/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permZtableZbitZcharr   r   r   Úfilemodeœ   s    
r9   )Ú*N)UÚ__doc__ZST_MODEZST_INOZST_DEVZST_NLINKZST_UIDZST_GIDZST_SIZEZST_ATIMEZST_MTIMEZST_CTIMEr   r   r   r   r   r   r   r   r   ZS_IFDOORZS_IFPORTZS_IFWHTr   r   r   r   r   r   r   r   r    r!   ZS_ISUIDZS_ISGIDZS_ENFMTZS_ISVTXZS_IREADZS_IWRITEZS_IEXECZS_IRWXUZS_IRUSRZS_IWUSRZS_IXUSRZS_IRWXGZS_IRGRPZS_IWGRPZS_IXGRPZS_IRWXOZS_IROTHZS_IWOTHZS_IXOTHZ	UF_NODUMPZUF_IMMUTABLEZ	UF_APPENDZ	UF_OPAQUEZUF_NOUNLINKZUF_COMPRESSEDÚ	UF_HIDDENZSF_ARCHIVEDZSF_IMMUTABLEZ	SF_APPENDZSF_NOUNLINKZSF_SNAPSHOTr6   r9   ZFILE_ATTRIBUTE_ARCHIVEZFILE_ATTRIBUTE_COMPRESSEDZFILE_ATTRIBUTE_DEVICEZFILE_ATTRIBUTE_DIRECTORYZFILE_ATTRIBUTE_ENCRYPTEDÚFILE_ATTRIBUTE_HIDDENZFILE_ATTRIBUTE_INTEGRITY_STREAMZFILE_ATTRIBUTE_NORMALZ"FILE_ATTRIBUTE_NOT_CONTENT_INDEXEDZFILE_ATTRIBUTE_NO_SCRUB_DATAZFILE_ATTRIBUTE_OFFLINEZFILE_ATTRIBUTE_READONLYZFILE_ATTRIBUTE_REPARSE_POINTZFILE_ATTRIBUTE_SPARSE_FILEZFILE_ATTRIBUTE_SYSTEMZFILE_ATTRIBUTE_TEMPORARYZFILE_ATTRIBUTE_VIRTUALZ_statÚImportErrorr   r   r   r   Ú<module>   sà   	ú
þ
þ
þé