
    	^c                        d dl Z d dlZddlT ddlmZ ej        rddlmZ ej        Zej	        Z	dZ
dgdz  Zej        ee	j        <   ej        ee	j        <   ej        ee	j        <   ej        ee	j        <   ej        ee	j        <   ej        ee	j        <   ej        ee	j        <    G d	 d
          Ze                    dd          Ze                    de
          Zd ZddZ dS dS )    N   )*)pycompat   )_osutili      c                       e Zd Zd ZdS )stat_resc                 0    || _         || _        || _        d S )Nst_modest_mtimest_size)selfr   r   r   s       7/usr/lib/python3/dist-packages/mercurial/cffi/osutil.py__init__zstat_res.__init__%   s    "DL$DM"DLLL    N)__name__
__module____qualname__r    r   r   r
   r
   $   s#        	# 	# 	# 	# 	#r   r
   s   struct timespecs   tv_secs   char[]c           
      v   g }	 t                               | |t          t          d          }|dk    rn|dk    r6t	          t
          j        t          j        t
          j                            t
          	                    dt                    }t          |          D ]}|j        }|t
          	                    d|          d         k    sJ |j        j        }	|j        j        }
t
                              dd          }t!          t
                              t
          	                    d|          |z   |	z   |
d	z
                      }t$          |j                 }|d
k    s|dk    r||k    r|t(          j        k    rg c S |rR|j        j        }|j        t           j         z  |z  }|                    ||t7          |||j                  f           n|                    ||f           t
          	                    dt;          t
          	                    d|                    |z             }5|S )NTr   s   val_attrs_t*s	   uint32_t*s   val_attrs_ts	   name_infos   char*r      .s   ..r   s   intptr_t)libgetattrlistbulkbuflistdir_batch_sizeOSErrorffierrnoosstrerrorcastrangelength	name_infoattr_dataoffsetattr_lengthoffsetofbytesbuffer	attrkindsobj_typestatmodS_ISDIRmtimetv_sec
accessmaskS_IFMTappendr
   
datalengthint)dfdreqstatskipretrcurilgtofsstr_lgtbase_ofsnametpr1   modes                   r   listdirinternalrG   -   s   )	##Cc3EqIIAAvvBwwciSY)?)?@@@((?C00C1XX " "jchh|S99!<<<<<m3-3<<EEJJ3//(:S@'A+  
 s|,4<<45==4<<B'/$9$9III +I,ENcj[8B>DJJ $(,).(+  
 
 
 
 JJbz***hh#S+s)C)C%D%Ds%J O)	T 
r   Fc                    t                               d          }t          j        |_        t          j        t          j        z  t          j        z  t          j        z  t          j	        z  |_
        t          j        |_        t                              | t          j        d          }|dk    r6t          t           j        t#          j        t           j                            	 t'          ||||          }	 t                              |           n@# t*          $ r Y n4w xY w# 	 t                              |           w # t*          $ r Y w w xY wxY w|S )Ns   struct attrlist*r   r   )r    newr   ATTR_BIT_MAP_COUNTbitmapcountATTR_CMN_RETURNED_ATTRSATTR_CMN_NAMEATTR_CMN_OBJTYPEATTR_CMN_ACCESSMASKATTR_CMN_MODTIME
commonattrATTR_FILE_DATALENGTHfileattropenO_RDONLYr   r!   r"   r#   rG   closeBaseException)pathr:   r;   r9   r8   r<   s         r   listdirrY   [   s4   gg)**0' "# %& "	# 	 /hhtS\1--"99#)R[%;%;<<<	!#sD$77C		#    		#     
sB   %D# 8D 
D D #E%E ?E 
E
EEE)FN)!r"   r:   r/   pure.osutil r   isdarwinr   r    r   r   r-   S_IFREGVREGS_IFDIRVDIRS_IFLNKVLNKS_IFBLKVBLKS_IFCHRVCHRS_IFIFOVFIFOS_IFSOCKVSOCKr
   r*   
tv_sec_ofsrI   r   rG   rY   r   r   r   <module>rl      si   
			               b
+C
+C I!/Ich!/Ich!/Ich!/Ich!/Ich"?Ici"+Ici# # # # # # # # 0)<<J
'')/
0
0C, , ,\     Wb br   