a
    8ƒƒb“  ã                   @   s\   d Z g d¢ZddlZddlmZ ddlmZ ddd„ZG d	d
„ d
ƒZdd„ Z	eƒ Z
e
jZdS )zGRedo the builtin repr() (representation) but with limits on most sizes.)ÚReprÚreprÚrecursive_repré    N)Úislice)Ú	get_identú...c                    s   ‡ fdd„}|S )zGDecorator to make a repr function return fillvalue for a recursive callc                    sX   t ƒ ‰ ‡‡ ‡fdd„}tˆdƒ|_tˆdƒ|_tˆdƒ|_tˆdƒ|_tˆdi ƒ|_|S )Nc              	      sL   t | ƒtƒ f}|ˆv rˆ S ˆ |¡ zˆ| ƒ}W ˆ |¡ nˆ |¡ 0 |S ©N)Úidr   ÚaddÚdiscard)ÚselfÚkeyÚresult)Ú	fillvalueÚrepr_runningÚuser_function© úV/home/jack/SDK/ZBT-AX3000-OpenWrt-21.02/build_dir/hostpkg/Python-3.9.13/Lib/reprlib.pyÚwrapper   s    

z<recursive_repr.<locals>.decorating_function.<locals>.wrapperÚ
__module__Ú__doc__Ú__name__Ú__qualname__Ú__annotations__)ÚsetÚgetattrr   r   r   r   r   )r   r   ©r   )r   r   r   Údecorating_function   s    z+recursive_repr.<locals>.decorating_functionr   )r   r   r   r   r   r   	   s    r   c                   @   s~   e Zd Zdd„ Zdd„ Zdd„ Zd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 ) r   c                 C   sF   d| _ d| _d| _d| _d| _d| _d| _d| _d| _d| _	d| _
d S )Né   é   é   é   é(   )ÚmaxlevelÚmaxtupleÚmaxlistÚmaxarrayÚmaxdictÚmaxsetÚmaxfrozensetÚmaxdequeÚ	maxstringÚmaxlongÚmaxother)r   r   r   r   Ú__init__&   s    zRepr.__init__c                 C   s   |   || j¡S r   )Úrepr1r#   )r   Úxr   r   r   r   3   s    z	Repr.reprc                 C   sV   t |ƒj}d|v r$| ¡ }d |¡}t| d| ƒrFt| d| ƒ||ƒS |  ||¡S d S )Nú Ú_Zrepr_)Útyper   ÚsplitÚjoinÚhasattrr   Úrepr_instance)r   r0   ÚlevelÚtypenameÚpartsr   r   r   r/   6   s    

z
Repr.repr1Ú c           
         s€   t |ƒ}|dkr|rd}nX|d ‰ | j‰‡ ‡fdd„t||ƒD ƒ}	||krT|	 d¡ d |	¡}|dkrr|rr|| }d|||f S )Nr   r   é   c                    s   g | ]}ˆ|ˆ ƒ‘qS r   r   )Ú.0Úelem©Únewlevelr/   r   r   Ú
<listcomp>G   ó    z'Repr._repr_iterable.<locals>.<listcomp>ú, z%s%s%s)Úlenr/   r   Úappendr5   )
r   r0   r8   ÚleftÚrightZmaxiterZtrailÚnÚsÚpiecesr   r?   r   Ú_repr_iterable@   s    
zRepr._repr_iterablec                 C   s   |   ||dd| jd¡S )Nú(ú)ú,)rK   r$   ©r   r0   r8   r   r   r   Ú
repr_tupleM   s    zRepr.repr_tuplec                 C   s   |   ||dd| j¡S )Nú[ú])rK   r%   rO   r   r   r   Ú	repr_listP   s    zRepr.repr_listc                 C   s,   |sd|j  S d|j  }|  |||d| j¡S )Nzarray('%s')zarray('%s', [ú]))ZtypecoderK   r&   )r   r0   r8   Zheaderr   r   r   Ú
repr_arrayS   s    

zRepr.repr_arrayc                 C   s$   |sdS t |ƒ}|  ||dd| j¡S )Nzset()ú{ú})Ú_possibly_sortedrK   r(   rO   r   r   r   Úrepr_setY   s    zRepr.repr_setc                 C   s$   |sdS t |ƒ}|  ||dd| j¡S )Nzfrozenset()zfrozenset({z}))rX   rK   r)   rO   r   r   r   Úrepr_frozenset_   s    ÿzRepr.repr_frozensetc                 C   s   |   ||dd| j¡S )Nzdeque([rT   )rK   r*   rO   r   r   r   Ú
repr_dequef   s    zRepr.repr_dequec                 C   sš   t |ƒ}|dkrdS |dkr dS |d }| j}g }tt|ƒ| jƒD ].}|||ƒ}||| |ƒ}	| d||	f ¡ qB|| jkr†| d¡ d |¡}
d|
f S )	Nr   z{}z{...}r<   z%s: %sr   rC   z{%s})rD   r/   r   rX   r'   rE   r5   )r   r0   r8   rH   r@   r/   rJ   r   ZkeyreprZvalreprrI   r   r   r   Ú	repr_dicti   s    

zRepr.repr_dictc                 C   s˜   t  |d | j… ¡}t|ƒ| jkr”td| jd d ƒ}td| jd | ƒ}t  |d |… |t|ƒ| d …  ¡}|d |… d |t|ƒ| d …  }|S ©Nr   é   é   r   )Úbuiltinsr   r+   rD   Úmax©r   r0   r8   rI   ÚiÚjr   r   r   Úrepr_strx   s    &$zRepr.repr_strc                 C   sh   t  |¡}t|ƒ| jkrdtd| jd d ƒ}td| jd | ƒ}|d |… d |t|ƒ| d …  }|S r]   )r`   r   rD   r,   ra   rb   r   r   r   Úrepr_int   s    
$zRepr.repr_intc                 C   s”   zt  |¡}W n& ty4   d|jjt|ƒf  Y S 0 t|ƒ| jkrtd| jd d ƒ}td| jd | ƒ}|d |… d |t|ƒ| d …  }|S )Nz<%s instance at %#x>r   r^   r_   r   )	r`   r   Ú	ExceptionÚ	__class__r   r	   rD   r-   ra   rb   r   r   r   r7   ‰   s    $zRepr.repr_instanceN)r;   )r   r   r   r.   r   r/   rK   rP   rS   rU   rY   rZ   r[   r\   re   rf   r7   r   r   r   r   r   $   s   

	r   c                 C   s*   z
t | ƒW S  ty$   t| ƒ Y S 0 d S r   )Úsortedrg   Úlist)r0   r   r   r   rX   —   s    
rX   )r   )r   Ú__all__r`   Ú	itertoolsr   Ú_threadr   r   r   rX   ZaReprr   r   r   r   r   Ú<module>   s   
s	