ÿØÿà 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

  \|Q              
   @   s   d dl Zd dlZd dlZd dlZd dlmZ	 ddddddgZ
d ddddZd!ddddZdd Zdd Zdd ZG dd dZdd ZG dd dZdd ZeeeeeeeeedhZdd Zd"ddZdd Z e!dkre  dS )#    N)StringIOpprintpformat
isreadableisrecursivesafereprPrettyPrinter   P   F)compactc            C   s    t |||||d}|j|  d S )N)streamindentwidthdepthr   )r   r   )objectr   r   r   r   r   Zprinter r   /usr/lib64/python3.6/pprint.pyr   /   s    c            C   s   t ||||dj| S )N)r   r   r   r   )r   r   )r   r   r   r   r   r   r   r   r   7   s    c             C   s   t | i d dd S )Nr   )
_safe_repr)r   r   r   r   r   <   s    c             C   s   t | i d dd S )Nr   r	   )r   )r   r   r   r   r   @   s    c             C   s   t | i d dd S )Nr      )r   )r   r   r   r   r   D   s    c               @   s"   e Zd ZdgZdd Zdd ZdS )	_safe_keyobjc             C   s
   || _ d S )N)r   )selfr   r   r   r   __init__T   s    z_safe_key.__init__c             C   sR   y| j |j k S  tk
rL   tt| j t| j ftt|j t|j fk S X d S )N)r   	TypeErrorstrtypeid)r   otherr   r   r   __lt__W   s
    z_safe_key.__lt__N)__name__
__module____qualname__	__slots__r   r   r   r   r   r   r   H   s   
r   c             C   s   t | d t | d fS )Nr   r	   )r   )tr   r   r   _safe_tuple^   s    r$   c               @   s  e Zd Zd:ddddZdd	 Zd
d Zdd Zdd Zdd Zi Z	dd Z
e
e	ej< dd Zee	ejj< dd Zee	ej< dd Zee	ej< dd Zee	ej< ee	ej< dd Zee	ej< dd Zee	ej< d d! Zee	ej< d"d# Zee	ejj< d$d% Z d&d' Z!d(d) Z"d*d+ Z#d,d- Z$e$e	ej%j< d.d/ Z&e&e	ej'j< d0d1 Z(e(e	ej)j< d2d3 Z*e*e	ej+j< d4d5 Z,e,e	ej-j< d6d7 Z.e.e	ej/j< d8d9 Z0e0e	ej1j< dS );r   r	   r
   NF)r   c            C   s|   t |}t |}|dk r td|d k	r8|dkr8td|sDtd|| _|| _|| _|d k	rf|| _ntj| _t|| _	d S )Nr   zindent must be >= 0zdepth must be > 0zwidth must be != 0)
int
ValueError_depth_indent_per_level_width_stream_sysstdoutbool_compact)r   r   r   r   r   r   r   r   r   r   c   s    zPrettyPrinter.__init__c             C   s&   | j || jddi d | jjd d S )Nr   
)_formatr*   write)r   r   r   r   r   r      s    zPrettyPrinter.pprintc             C   s"   t  }| j||ddi d |j S )Nr   )	_StringIOr0   getvalue)r   r   Zsior   r   r   r      s    zPrettyPrinter.pformatc             C   s   | j |i ddd S )Nr   r   )format)r   r   r   r   r   r      s    zPrettyPrinter.isrecursivec             C   s    | j |i dd\}}}|o| S )Nr   )r4   )r   r   sreadable	recursiver   r   r   r      s    zPrettyPrinter.isreadablec          	   C   s   t |}||kr.|jt| d| _d| _d S | j|||}| j| | }	t||	kr| jj	t
|jd }
|
d k	rd||< |
| ||||||d  ||= d S t|trd||< | j||||||d  ||= d S |j| d S )NTFr	   )r   r1   
_recursion
_recursive	_readable_reprr)   len	_dispatchgetr   __repr__
isinstancedict_pprint_dict)r   r   r   r   	allowancecontextlevelobjidrep	max_widthpr   r   r   r0      s,    
zPrettyPrinter._formatc       
      C   sj   |j }|d | jdkr*|| jd d  t|}|r^t|j td}	| j|	|||d || |d d S )N{r	    )key})r1   r(   r<   sorteditemsr$   _format_dict_items)
r   r   r   r   rC   rD   rE   r1   ZlengthrO   r   r   r   rB      s    
zPrettyPrinter._pprint_dictc             C   sl   t |s|jt| d S |j}|j|jd  | jt|j ||t |j d |d || |jd d S )N(r	   ))r<   r1   repr	__class__r   r0   listrO   )r   r   r   r   rC   rD   rE   clsr   r   r   _pprint_ordered_dict   s    z"PrettyPrinter._pprint_ordered_dictc             C   s0   |j d | j||||d || |j d d S )N[r	   ])r1   _format_items)r   r   r   r   rC   rD   rE   r   r   r   _pprint_list   s    
zPrettyPrinter._pprint_listc             C   sH   |j d t|dkrdnd}| j||||t| || |j | d S )NrQ   r	   z,)rR   )r1   r<   rZ   )r   r   r   r   rC   rD   rE   endcharr   r   r   _pprint_tuple   s
    
zPrettyPrinter._pprint_tuplec       	      C   s   t |s|jt| d S |j}|tkr8|jd d}n&|j|jd  d}|t |jd 7 }t|td}| j||||t | || |j| d S )NrJ   rM   z({z})r	   )rL   )	r<   r1   rS   rT   setr   rN   r   rZ   )	r   r   r   r   rC   rD   rE   typr\   r   r   r   _pprint_set   s    
zPrettyPrinter._pprint_setc             C   s  |j }t|s|t| d S g }|jd}	|dkrD|d7 }|d7 }| j|  }
}xt|	D ]\}}t|}|t|	d kr|
|8 }
t||
kr|j| q\tjd|}|j	  |}d}xtt|D ]h\}}|| }|t|d kr|t|	d kr||8 }tt||kr&|r |jt| |}q|}qW |r\|jt| q\W t|dkr^|| d S |dkrp|d x8t|D ],\}}|dkr|dd|   || qzW |dkr|d	 d S )
NTr	   z\S*\s* rQ   r   r/   rK   rR   )
r1   r<   rS   
splitlinesr)   	enumerateappendrefindallpop)r   r   r   r   rC   rD   rE   r1   ZchunkslinesZ
max_width1rH   ilinerG   partsZ
max_width2currentjpart	candidater   r   r   _pprint_str   sT    
 


zPrettyPrinter._pprint_strc             C   s   |j }t|dkr"|t| d S |dk}|rF|d7 }|d7 }|d d}	x:t|| j| |D ]$}
||	 ||
 |	s^dd|  }	q^W |r|d d S )N   r	   rQ   ra   r/   rK   rR   )r1   r<   rS   _wrap_bytes_reprr)   )r   r   r   r   rC   rD   rE   r1   ZparensdelimrG   r   r   r   _pprint_bytes'  s"    zPrettyPrinter._pprint_bytesc             C   s>   |j }|d | jt|||d |d ||d  |d d S )Nz
bytearray(
   r	   rR   )r1   rt   bytes)r   r   r   r   rC   rD   rE   r1   r   r   r   _pprint_bytearray<  s
    zPrettyPrinter._pprint_bytearrayc             C   s8   |j d | j|j ||d |d || |j d d S )Nzmappingproxy(   r	   rR   )r1   r0   copy)r   r   r   r   rC   rD   rE   r   r   r   _pprint_mappingproxyE  s    
z"PrettyPrinter._pprint_mappingproxyc             C   s   |j }|| j7 }dd|  }t|d }	xrt|D ]f\}
\}}|
|	k}| j|||}|| |d | j|||t| d |r|nd|| |s2|| q2W d S )Nz,
rK   r	   z: r   )r1   r(   r<   rc   r;   r0   )r   rO   r   r   rC   rD   rE   r1   delimnlZ
last_indexri   rL   entlastrG   r   r   r   rP   M  s    

z PrettyPrinter._format_dict_itemsc             C   sN  |j }|| j7 }| jdkr,|| jd d  dd|  }d}	| j| d  }
}t|}yt|}W n tk
rv   d S X d}x|sH|}yt|}W n( tk
r   d}||8 }|
|8 }
Y nX | jr| j|||}t|d }|
|k r|}
|	r|}	|
|kr|
|8 }
||	 d}	|| q~||	 |}	| j	||||r<|nd|| q~W d S )	Nr	   rK   z,
ra   FTr   z, )
r1   r(   r)   iternextStopIterationr.   r;   r<   r0   )r   rO   r   r   rC   rD   rE   r1   r{   rs   r   rH   itZnext_entr}   r|   rG   wr   r   r   rZ   ^  sN    



zPrettyPrinter._format_itemsc             C   s4   | j ||j | j|\}}}|s&d| _|r0d| _|S )NFT)r4   ry   r'   r:   r9   )r   r   rD   rE   rS   r6   r7   r   r   r   r;     s    zPrettyPrinter._reprc             C   s   t ||||S )N)r   )r   r   rD   	maxlevelsrE   r   r   r   r4     s    zPrettyPrinter.formatc       	      C   s   t |s|jt| d S | j|j||}|j}|t |jd 7 }|jd|j|d| f  | j||||d || |jd d S )Nr	   z	%s(%s,
%srK   rR   )r<   r1   rS   r;   default_factoryrT   r   rB   )	r   r   r   r   rC   rD   rE   ZrdfrV   r   r   r   _pprint_default_dict  s    z"PrettyPrinter._pprint_default_dictc       	      C   s   t |s|jt| d S |j}|j|jd  | jdkrN|j| jd d  |j }| j|||t |j d |d || |jd d S )Nz({r	   rK   r   z}))r<   r1   rS   rT   r   r(   most_commonrP   )	r   r   r   r   rC   rD   rE   rV   rO   r   r   r   _pprint_counter  s    
zPrettyPrinter._pprint_counterc       
      C   s   t |js|jt| d S |j}|j|jd  |t |jd 7 }xrt|jD ]d\}}	|t |jd kr| j|	|||d || |jd qP| j|	||d|| |jdd|   qPW d S )NrQ   r	   rR   z,
rK   )r<   mapsr1   rS   rT   r   rc   r0   )
r   r   r   r   rC   rD   rE   rV   ri   mr   r   r   _pprint_chain_map  s    
zPrettyPrinter._pprint_chain_mapc       	      C   s   t |s|jt| d S |j}|j|jd  |t |jd 7 }|jd |jd krz| j||||d || |jd n:| j|||d|| | j|j||}|jdd| |f  d S )NrQ   r	   rX   r   z])z],
%smaxlen=%s)rK   )r<   r1   rS   rT   r   maxlenrZ   r;   )	r   r   r   r   rC   rD   rE   rV   Zrmlr   r   r   _pprint_deque  s    

zPrettyPrinter._pprint_dequec             C   s   | j |j|||||d  d S )Nr	   )r0   data)r   r   r   r   rC   rD   rE   r   r   r   _pprint_user_dict  s    zPrettyPrinter._pprint_user_dictc             C   s   | j |j|||||d  d S )Nr	   )r0   r   )r   r   r   r   rC   rD   rE   r   r   r   _pprint_user_list  s    zPrettyPrinter._pprint_user_listc             C   s   | j |j|||||d  d S )Nr	   )r0   r   )r   r   r   r   rC   rD   rE   r   r   r   _pprint_user_string  s    z!PrettyPrinter._pprint_user_string)r	   r
   NN)2r   r    r!   r   r   r   r   r   r0   r=   rB   rA   r?   rW   _collectionsOrderedDictr[   rU   r]   tupler`   r^   	frozensetrp   r   rt   rv   rw   	bytearrayrz   _typesMappingProxyTyperP   rZ   r;   r4   r   defaultdictr   Counterr   ChainMapr   dequer   UserDictr   UserListr   
UserStringr   r   r   r   r   b   sZ   &




1


)	c             C   s  t | }|tkrt| ddfS t|dd }t|to<|tjkr8| sHdS t| }|rj||krjdd||kfS ||krt| ddfS d||< d}d}g }	|	j	}
|d7 }t
}t| j td}xf|D ]^\}}|||||\}}}|||||\}}}|
d||f  |o
|o
|}|s|rd}qW ||= d	d
j|	 ||fS t|trP|tjksht|trd|tjkrdt|tr| s~dS d}n"t| dkrd}n| sdS d}t| }|r||kr|d d||kfS ||krt| ddfS d||< d}d}g }	|	j	}
|d7 }x>| D ]6}t
||||\}}}|
| |s:d}|rd}qW ||= |d
j|	 ||fS t| }||o~|jd dfS )NTFr?   {}z{...}r	   )rL   z%s: %sz{%s}z, []z[%s]z(%s,)()z(%s)z...<)r   TF)r   TF)r   TF)r   _builtin_scalarsrS   getattr
issubclassrA   r?   r   r8   rd   r   rN   rO   r$   joinrU   r   r<   
startswith)r   rD   r   rE   r_   rrF   r6   r7   Z
componentsrd   r   rO   kvZkreprZ	kreadableZkrecurZvreprZ	vreadableZvrecurr4   oZoreprZ	oreadableZorecurrG   r   r   r   r     s|    



r   c             C   s   dt | jt| f S )Nz<Recursion on %s with id=%s>)r   r   r   )r   r   r   r   r8   1  s    r8   c             C   s   dd l }| d kr,ddddgddd	fgd
 } t }|j  }t| i d d |j  }|j|  |j  }td||  td||  d S )Nr   stringr	   r      rq         )      i z_safe_repr:zpformat:)r	   r   )timer   r   r   print)r   r   rI   Zt1Zt2Zt3r   r   r   
_perfcheck6  s    
r   c             c   s   d}t | d d }xhtdt | dD ]T}| ||d  }|| }||krR||8 }t t||krv|rpt|V  |}q&|}q&W |rt|V  d S )N    rq   r   )r<   rangerS   )r   r   rC   rl   r}   ri   rn   ro   r   r   r   rr   C  s    
rr   __main__)Nr	   r
   N)r	   r
   N)N)"collectionsr   re   sysr+   typesr   ior   r2   __all__r   r   r   r   r   r   r$   r   r   r   r   rv   r   r%   floatcomplexr-   r   r   r8   r   rr   r   r   r   r   r   <module>%   s4   
   D
