Wcm 8dZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"e"Z#d Z$d!Z%d"Z&d#Z'd$Z(d!Z)d"Z*d#Z+d%Z,d&Z-d'Z.d Z/dZ0dZ1dZ2dZ3dZ4dZ5dZ6d Z7d'Z8d&Z9dZ:d(Z;d)Zd,Z?ed-fed.fed/fed0fe d1fed2fed3ffe)d4ffe*d5ffe+e!zd.fe!d6fe+d7ffe-d4ffe.d5ffe/e"zd.fe"d6fe/d7ffe1d4ffe2d5ffe3e$zd8fe$d9fe3d7fff Z@d:ZAd&ZBdZCd#ZDd'ZEd ZFdZGdZHd"ZIdZJd)ZKdZLdZMdZNd ZOdZPd!ZQd(ZR dd;lSTdrrc.t|tkS)z0Return True if mode is from a FIFO (named pipe).)rS_IFIFOrs rS_ISFIFOr$Brrc.t|tkS)z,Return True if mode is from a symbolic link.)rS_IFLNKrs rS_ISLNKr'Frrc.t|tkS)z%Return True if mode is from a socket.)rS_IFSOCKrs rS_ISSOCKr*Js $<8 ##rcdS)z#Return True if mode is from a door.Fr rs rS_ISDOORr,N 5rcdS)z*Return True if mode is from an event port.Fr rs rS_ISPORTr/Rr-rcdS)z'Return True if mode is from a whiteout.Fr rs rS_ISWHTr1Vr-riii@i8 iiiii ls-bdcprwSxtTcg}tD]:}|D]"\}}||z|ks|j|)|jdrsk                     ##################$$$                               ss s s s s s s s gos s ss s gos s ss s gos s s/8      "'%)"%#     DD s DDD