o
    >co                     @   s   	 d dl Z d dlZg 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d Zdd Zdd ZdS )    N)commonprefixexistsgetatimegetctimegetmtimegetsizeisdirisfilesamefilesameopenfilesamestatc              	   C   s,   	 zt |  W dS  ttfy   Y dS w )NFT)osstatOSError
ValueError)path r   _/Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/pyncpp/python/source/Lib/genericpath.pyr      s   r   c              	   C   6   	 zt | }W n ttfy   Y dS w t|jS NF)r   r   r   r   S_ISREGst_mode)r   str   r   r   r	         r	   c              	   C   r   r   )r   r   r   r   S_ISDIRr   )sr   r   r   r   r   '   r   r   c                 C      	 t | jS N)r   r   st_sizefilenamer   r   r   r   0      r   c                 C   r   r   )r   r   st_mtimer   r   r   r   r   5   r!   r   c                 C   r   r   )r   r   st_atimer   r   r   r   r   :   r!   r   c                 C   r   r   )r   r   st_ctimer   r   r   r   r   ?   r!   r   c                 C   sn   	 | sdS t | d ttfstttj| } t| }t| }t|D ]\}}||| kr4|d |   S q"|S )N r   )	
isinstancelisttuplemapr   fspathminmax	enumerate)ms1s2icr   r   r   r   E   s   r   c                 C   s   	 | j |j ko| j|jkS r   )st_inost_dev)r/   r0   r   r   r   r   W   s   
r   c                 C       	 t | }t |}t||S r   )r   r   r   )Zf1Zf2r/   r0   r   r   r   r
   ^   s   


r
   c                 C   r5   r   )r   fstatr   )Zfp1Zfp2r/   r0   r   r   r   r   k   s   


r   c                 C   s   	 |  |}|r|  |}t||}|  |}||krA|d }||k rA| ||d  |kr9| d | | |d  fS |d7 }||k s#| | d d fS )N   r   )rfindr,   )psepaltsepextsepZsepIndexZaltsepIndexZdotIndexZfilenameIndexr   r   r   	_splitexty   s   



r=   c                 G   sb   d }}|D ]}t |trd}qt |trd}qt|  d|jjd |r-|r/tdd d S d S )NFTz;() argument must be str, bytes, or os.PathLike object, not z.Can't mix strings and bytes in path components)r&   strbytes	TypeError	__class____name__)funcnameargsZhasstrZhasbytesr   r   r   r   _check_arg_types   s   


rE   )r   r   __all__r   r	   r   r   r   r   r   r   r   r
   r   r=   rE   r   r   r   r   <module>   s"    	