B Y6d @sFdZdZdZdZdZdZdZdZdZd Z d Z d d Z d dZ dZ dZdZdZdZdZdZdZdZdZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(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/dZ0dZ1dZ2dZ3dZ4dZ5dZ6d Z7d3Z8d2Z9dZ:d4Z;d5Zd8Z?ed9fed:fed;fe dffe)d?ffe*d@ffe+e!BdAfe!dBfe+dCffe-d?ffe.d@ffe/e"BdAfe"dBfe/dCffe1d?ffe2d@ffe3e$BdDfe$dEfe3dCfff Z@dFdGZAd2ZBd*ZCd/ZDd3ZEdZFdZGdZHd.ZIdZJd5ZKdZLdZMd+ZNd,ZOdZPd-ZQd4ZRy ddHlSTWneTk r@YnXdIS)JzoConstants/functions for interpreting results of os.stat() and os.lstat(). Suggested usage: from stat import *  cCs|d@S)zMReturn the portion of the file's mode that can be set by os.chmod(). i)moder r /usr/local/lib/python3.7/stat.pyS_IMODEsrcCs|d@S)zLReturn the portion of the file's mode that describes the file type. ir )r r r r S_IFMTsri@i i`iiiicCs t|tkS)z(Return True if mode is from a directory.)rS_IFDIR)r r r r S_ISDIR2srcCs t|tkS)zsrcCs t|tkS)z0Return True if mode is from a FIFO (named pipe).)rS_IFIFO)r r r r S_ISFIFOBsrcCs t|tkS)z,Return True if mode is from a symbolic link.)rS_IFLNK)r r r r S_ISLNKFsrcCs t|tkS)z%Return True if mode is from a socket.)rS_IFSOCK)r r r r S_ISSOCKJsrcCsdS)z#Return True if mode is from a door.Fr )r r r r S_ISDOORNsrcCsdS)z*Return True if mode is from an event port.Fr )r r r r S_ISPORTRsrcCsdS)z'Return True if mode is from a whiteout.Fr )r r r r S_ISWHTVsr iii@i8 iiiii l-bdcprwsSxtTcCsPg}x@tD]8}x2|D] \}}||@|kr||PqW|dq Wd|S)z;Convert a file's mode to a string of the form '-rwxrwxrwx'.r()_filemode_tableappendjoin)r ZpermZtableZbitZcharr r r filemodes   r8)*N)U__doc__ZST_MODEZST_INOZST_DEVZST_NLINKZST_UIDZST_GIDZST_SIZEZST_ATIMEZST_MTIMEZST_CTIMErrrrrrrrrZS_IFDOORZS_IFPORTZS_IFWHTrrrrrrrrrr ZS_ISUIDZS_ISGIDZS_ENFMTZS_ISVTXZS_IREADZS_IWRITEZS_IEXECZS_IRWXUZS_IRUSRZS_IWUSRZS_IXUSRZS_IRWXGZS_IRGRPZS_IWGRPZS_IXGRPZS_IRWXOZS_IROTHZS_IWOTHZS_IXOTHZ UF_NODUMPZ UF_IMMUTABLEZ UF_APPENDZ UF_OPAQUEZ UF_NOUNLINKZ UF_COMPRESSEDZ UF_HIDDENZ SF_ARCHIVEDZ SF_IMMUTABLEZ SF_APPENDZ SF_NOUNLINKZ SF_SNAPSHOTr5r8ZFILE_ATTRIBUTE_ARCHIVEZFILE_ATTRIBUTE_COMPRESSEDZFILE_ATTRIBUTE_DEVICEZFILE_ATTRIBUTE_DIRECTORYZFILE_ATTRIBUTE_ENCRYPTEDZFILE_ATTRIBUTE_HIDDENZFILE_ATTRIBUTE_INTEGRITY_STREAMZFILE_ATTRIBUTE_NORMALZ"FILE_ATTRIBUTE_NOT_CONTENT_INDEXEDZFILE_ATTRIBUTE_NO_SCRUB_DATAZFILE_ATTRIBUTE_OFFLINEZFILE_ATTRIBUTE_READONLYZFILE_ATTRIBUTE_REPARSE_POINTZFILE_ATTRIBUTE_SPARSE_FILEZFILE_ATTRIBUTE_SYSTEMZFILE_ATTRIBUTE_TEMPORARYZFILE_ATTRIBUTE_VIRTUALZ_stat ImportErrorr r r r s