ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3
Ii                 @   s   d Z ddlZddlZddddddd	d
ddddg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ejG dd dZdS )z
Path operations common to more than one OS
Do not use directly.  The OS specific modules import the appropriate
functions from this module themselves.
    NcommonprefixexistsgetatimegetctimegetmtimegetsizeisdirisfilesamefilesameopenfilesamestatALLOW_MISSINGc             C   s(   yt j|  W n tk
r"   dS X dS )zDTest whether a path exists.  Returns False for broken symbolic linksFT)osstatOSError)path r   #/usr/lib64/python3.6/genericpath.pyr      s
    c             C   s0   yt j| }W n tk
r"   dS X tj|jS )z%Test whether a path is a regular fileF)r   r   r   S_ISREGst_mode)r   str   r   r   r	      s
    c             C   s0   yt j| }W n tk
r"   dS X tj|jS )z<Return true if the pathname refers to an existing directory.F)r   r   r   S_ISDIRr   )sr   r   r   r   r   '   s
    c             C   s   t j| jS )z1Return the size of a file, reported by os.stat().)r   r   st_size)filenamer   r   r   r   0   s    c             C   s   t j| jS )zCReturn the last modification time of a file, reported by os.stat().)r   r   st_mtime)r   r   r   r   r   5   s    c             C   s   t j| jS )z=Return the last access time of a file, reported by os.stat().)r   r   st_atime)r   r   r   r   r   :   s    c             C   s   t j| jS )zAReturn the metadata change time of a file, reported by os.stat().)r   r   st_ctime)r   r   r   r   r   ?   s    c             C   sl   | sdS t | d ttfs*tttj| } t| }t| }x,t|D ] \}}||| krD|d| S qDW |S )zGGiven a list of pathnames, returns the longest common leading component r   N)	
isinstancelisttuplemapr   fspathminmax	enumerate)ms1s2icr   r   r   r   E   s     c             C   s   | j |j ko| j|jkS )z5Test whether two stat buffers reference the same file)st_inost_dev)r(   r)   r   r   r   r   W   s    c             C   s   t j| }t j|}t||S )z9Test whether two pathnames reference the same actual file)r   r   r   )f1f2r(   r)   r   r   r   r
   ^   s    

c             C   s   t j| }t j|}t||S )z:Test whether two open file objects reference the same file)r   fstatr   )fp1fp2r(   r)   r   r   r   r   g   s    

c             C   s   | j |}|r"| j |}t||}| j |}||kr~|d }x@||k r|| ||d  |krr| d| | |d fS |d7 }q>W | | dd fS )zSplit the extension from a pathname.

    Extension is everything from the last dot to the end, ignoring
    leading dots.  Returns "(root, ext)"; ext may be empty.   Nr   )rfindr%   )psepaltsepextsepsepIndexaltsepIndexdotIndexfilenameIndexr   r   r   	_splitextu   s    




r=   c             G   sb   d }}xB|D ]:}t |tr"d}qt |tr2d}qtd| |jjf d qW |r^|r^tdd d S )NFTz*%s() argument must be str or bytes, not %rz.Can't mix strings and bytes in path components)r   strbytes	TypeError	__class____name__)funcnameargshasstrhasbytesr   r   r   r   _check_arg_types   s    


rG   c               @   s    e Zd ZdZdd Zdd ZdS )r   z$Special value for use in realpath().c             C   s   dS )Nzos.path.ALLOW_MISSINGr   )selfr   r   r   __repr__   s    zALLOW_MISSING.__repr__c             C   s   | j jS )N)rA   rB   )rH   r   r   r   
__reduce__   s    zALLOW_MISSING.__reduce__N)rB   
__module____qualname____doc__rI   rJ   r   r   r   r   r      s   )rM   r   r   __all__r   r	   r   r   r   r   r   r   r   r
   r   r=   rG   object__new__r   r   r   r   r   <module>   s&   

		