
    yIfL                     D   d dl Zd dlZd dlmZ d dlZd dlZ	d dl
mZ d dl
mZ d dl
mZ d dl
mZ d dl
mZ d dl
mZ d d	l
mZ d d
l
mZ d dl
mZ  G d d          Zd Z G d d          Z eeeeeee ed          eh          Z dedefdZ!dedededee         fdZ"dS )    N)StringIO)Any)Callable)Dict)IO)Iterator)List)Optional)Set)Tuplec                   $    e Zd ZdZdgZd Zd ZdS )	_safe_keyaU  Helper function for key functions when sorting unorderable objects.

    The wrapped-object will fallback to a Py2.x style comparison for
    unorderable types (sorting first comparing the type name and then by
    the obj ids).  Does not work recursively, so dict.items() must have
    _safe_key applied to both the key and the value.

    objc                     || _         d S N)r   )selfr   s     F/var/www/piapp/venv/lib/python3.11/site-packages/_pytest/_io/pprint.py__init__z_safe_key.__init__,   s        c                    	 | j         |j         k     S # t          $ ro t          t          | j                             t	          | j                   ft          t          |j                             t	          |j                   fk     cY S w xY wr   )r   	TypeErrorstrtypeid)r   others     r   __lt__z_safe_key.__lt__/   s    	8ei'' 	 	 	TX''DH6DOO$$59:    	s    A6B
BN)__name__
__module____qualname____doc__	__slots__r   r    r   r   r   r       sE          I      r   r   c                 V    t          | d                   t          | d                   fS )z&Helper function for comparing 2-tuplesr      )r   )ts    r   _safe_tupler&   9   s!    QqT??IadOO++r   c                   @   e Zd ZU 	 	 	 d+dededee         ddfdZd	edefd
Zd	ede	e         dedede
e         deddfdZd	ede	e         dedede
e         deddfdZi Zeedef         ed ee	e         eee
e         egdf         f         ed<   d	ede	e         dedede
e         deddfdZeeej        <   d	ede	e         dedede
e         deddfdZeeej        j        <   d	ede	e         dedede
e         deddfdZeeej        <   d	ede	e         dedede
e         deddfdZeeej        <   d	ede	e         dedede
e         deddfdZeeej        <   eeej        <   d	ede	e         dedede
e         deddfdZeeej        <   d	ede	e         dedede
e         deddfdZeee j        <   d	ede	e         dedede
e         deddfdZ!e!ee"j        <   d	ede	e         dedede
e         deddfdZ#e#ee$j%        j        <   d	ede	e         dedede
e         deddfdZ&e&ee$j'        j        <   de(e)eef                  de	e         dedede
e         deddfdZ*de(e)eef                  de	e         dedede
e         deddfdZ+de(e         de	e         dedede
e         deddfd Z,d	ede
e         dedefd!Z-d	ede	e         dedede
e         deddfd"Z.e.eej/        j        <   d	ede	e         dedede
e         deddfd#Z0e0eej1        j        <   d	ede	e         dedede
e         deddfd$Z2e2eej3        j        <   d	ede	e         dedede
e         deddfd%Z4e4eej5        j        <   d	ede	e         dedede
e         deddfd&Z6e6eej7        j        <   d	ede	e         dedede
e         deddfd'Z8e8eej9        j        <   d	ede	e         dedede
e         deddfd(Z:e:eej;        j        <   d	ede
e         d)ee         dedef
d*Z<dS ),PrettyPrinter   P   Nindentwidthdepthreturnc                     |dk     rt          d          ||dk    rt          d          |st          d          || _        || _        || _        dS )aT  Handle pretty printing operations onto a stream using a set of
        configured parameters.

        indent
            Number of spaces to indent for each level of nesting.

        width
            Attempted maximum number of columns in the output.

        depth
            The maximum depth to print out nested structures.

        r   zindent must be >= 0Nzdepth must be > 0zwidth must be != 0)
ValueError_depth_indent_per_level_width)r   r+   r,   r-   s       r   r   zPrettyPrinter.__init__?   sj    & A::2333!0111 	31222!'r   objectc                     t                      }|                     ||ddt                      d           |                                S )Nr   )	_StringIO_formatsetgetvalue)r   r4   sios      r   pformatzPrettyPrinter.pformat\   s9    kkVS!Qq111||~~r   stream	allowancecontextlevelc           
         t          |          }||v r$|                    t          |                     d S | j                            t          |          j        d           }|@|                    |            || ||||||dz              |                    |           d S t          j
        |          rt          |t
                    s}|j        j        rqt          |j        d          r\d|j        j        j        v rI|                    |           |                     ||||||dz              |                    |           d S |                    |                     |||                     d S )Nr$   __wrapped____create_fn__)r   write
_recursion	_dispatchgetr   __repr__addremove_dataclassesis_dataclass
isinstance__dataclass_params__reprhasattrrA   r   _pprint_dataclass_repr)	r   r4   r<   r+   r=   r>   r?   objidps	            r   r7   zPrettyPrinter._formata   s    6

GLLF++,,,FNtF||4d;;=KKAdFFFIw	JJJNN5!!!!!%f--	=vt,,	= +0	= FO]33	=  6?#>#KKKKK""	7EAI   NN5!!!!!LLFGU;;<<<<<r   c                     j         j        }fdt          j                  D             }|                    |dz              |                     ||||||           |                    d           d S )Nc                 V    g | ]%}|j         	|j        t          |j                  f&S r"   )rN   namegetattr).0fr4   s     r   
<listcomp>z3PrettyPrinter._pprint_dataclass.<locals>.<listcomp>   sD     
 
 
v
VWVQV,,-
 
 
r   ())	__class__r   rJ   fieldsrC   _format_namespace_items	r   r4   r<   r+   r=   r>   r?   cls_nameitemss	    `       r   rP   zPrettyPrinter._pprint_dataclass   s     #,
 
 
 
!(00
 
 

 	X^$$$$$UFFIwPUVVVSr   .rE   c                     |j         } |d           t          |                                t                    }|                     ||||||            |d           d S )N{key})rC   sortedrb   r&   _format_dict_items)	r   r4   r<   r+   r=   r>   r?   rC   rb   s	            r   _pprint_dictzPrettyPrinter._pprint_dict   sa     c


v||~~;777vvy'5QQQc




r   c                    t          |          s$|                    t          |                     d S |j        }|                    |j        dz              |                     ||||||           |                    d           d S Nr[   r\   )lenrC   rN   r]   r   rj   )r   r4   r<   r+   r=   r>   r?   clss           r   _pprint_ordered_dictz"PrettyPrinter._pprint_ordered_dict   s     6{{ 	LLf&&&FS\C'(((&&&)WeLLLSr   c                     |                     d           |                     ||||||           |                     d           d S )N[]rC   _format_itemsr   r4   r<   r+   r=   r>   r?   s          r   _pprint_listzPrettyPrinter._pprint_list   L     	S6669guMMMSr   c                     |                     d           |                     ||||||           |                     d           d S rl   rs   ru   s          r   _pprint_tuplezPrettyPrinter._pprint_tuple   rw   r   c                    t          |          s$|                    t          |                     d S |j        }|t          u r|                    d           d}n|                    |j        dz              d}t          |t                    }|                     ||||||           |                    |           d S )Nrd   rg   z({z})re   )	rm   rC   rN   r]   r8   r   rh   r   rt   )	r   r4   r<   r+   r=   r>   r?   typendchars	            r   _pprint_setzPrettyPrinter._pprint_set   s     6{{ 	LLf&&&F#::LLGGLL,---GI...6669guMMMWr   c                 |   |j         }t          |          s |t          |                     d S g }|                    d          }	|dk    r
|dz  }|dz  }| j        |z
  x}
}t          |	          D ]L\  }}t          |          }|t          |	          dz
  k    r|
|z  }
t          |          |
k    r|                    |           Yt          j        d|          }|sJ |d         rJ |	                                 |}d}t          |          D ]\  }}||z   }|t          |          dz
  k    r|t          |	          dz
  k    r||z  }t          t          |                    |k    r'|r"|                    t          |                     |}|}|r"|                    t          |                     Nt          |          dk    r ||           d S |dk    r |d           t          |          D ]'\  }}|dk    r |dd	|z  z               ||           (|dk    r |d
           d S d S )NTr$   z\S*\s* r[   r   
 r\   )
rC   rm   rN   
splitlinesr3   	enumerateappendrefindallpop)r   r4   r<   r+   r=   r>   r?   rC   chunkslines
max_width1	max_widthilinerepparts
max_width2currentjpart	candidates                        r   _pprint_strzPrettyPrinter._pprint_str   s    6{{ 	E$v,,F!!$''A::aKFNI!%v!55
Y '' 	1 	1GAtt**CCJJN""i'
3xx:%%c"""" 
9d33 9$$$		&
(// 	, 	,GAt '$ICJJN**qCJJN/B/B"i/
4	??++j88" 9"MM$w--888"&"+ 1MM$w--000v;;!E#JJJFA::E#JJJ'' 	 	FAs1uudS6\)***E#JJJJA::E#JJJJJ :r   c                 B   |j         }t          |          dk    r |t          |                     d S |dk    }|r|dz  }|dz  } |d           d}	t          || j        |z
  |          D ]"}
 ||	            ||
           |	sdd|z  z   }	#|r |d           d S d S )Nr)   r$   r[   r   r   r   r\   )rC   rm   rN   _wrap_bytes_reprr3   )r   r4   r<   r+   r=   r>   r?   rC   parensdelimr   s              r   _pprint_byteszPrettyPrinter._pprint_bytes4  s     v;;!E$v,,F! 	aKFNIE#JJJ#FDK&,@)LL 	, 	,CE%LLLE#JJJ ,sV|+ 	E#JJJJJ	 	r   c           	          |j         } |d           |                     t          |          ||dz   |dz   ||dz               |d           d S )Nz
bytearray(
   r$   r\   )rC   r   bytes)r   r4   r<   r+   r=   r>   r?   rC   s           r   _pprint_bytearrayzPrettyPrinter._pprint_bytearrayQ  sf     l&MM66B;	AwPQ		
 	
 	
 	c




r   c                     |                     d           |                     |                                |||||           |                     d           d S )Nzmappingproxy(r\   )rC   r7   copyru   s          r   _pprint_mappingproxyz"PrettyPrinter._pprint_mappingproxyc  sR     	_%%%V[[]]FFIwNNNSr   c                    t          |          t          j        u rd}n|j        j        }|j                                        }|                    |dz              |                     ||||||           |                    d           d S )N	namespacer[   r\   )	r   _typesSimpleNamespacer]   r   __dict__rb   rC   r_   r`   s	            r   _pprint_simplenamespacez%PrettyPrinter._pprint_simplenamespacer  s     <<6111 #HH'0H%%''X^$$$$$UFFIwPUVVVSr   rb   c           	      (   |sd S |j         }|| j        z   }dd|z  z   }	|D ]`\  }
} ||	            ||                     |
||                      |d           |                     |||d||            |d           a |dd|z  z              d S )Nr   r   : r$   ,)rC   r2   rQ   r7   r   rb   r<   r+   r=   r>   r?   rC   item_indentdelimnlrf   ents               r   ri   z PrettyPrinter._format_dict_items  s      	Ft55{** 	 	HCE'NNNE$**S'511222E$KKKLLfk1guEEEE#JJJJdS6\!"""""r   c           	      ^   |sd S |j         }|| j        z   }dd|z  z   }	|D ]{\  }
} ||	            ||
            |d           t          |          |v r |d           n-|                     |||t	          |
          z   dz   d||            |d           | |dd|z  z              d S )Nr   r   =...r$   r   )rC   r2   r   r7   rm   r   s               r   r_   z%PrettyPrinter._format_namespace_items  s      	Ft55{** 	 	HCE'NNNE#JJJE#JJJ#ww'!! e#c((*Q.   E#JJJJdS6\!"""""r   c           	          |sd S |j         }|| j        z   }dd|z  z   }	|D ]2}
 ||	           |                     |
||d||            |d           3 |dd|z  z              d S )Nr   r   r$   r   )rC   r2   r7   )r   rb   r<   r+   r=   r>   r?   rC   r   r   items              r   rt   zPrettyPrinter._format_items  s      	Ft55{** 	 	DE'NNNLLv{AwFFFE#JJJJdS6\!"""""r   c                 `    |                      ||                                | j        |          S r   )
_safe_reprr   r1   )r   r4   r>   r?   s       r   rQ   zPrettyPrinter._repr  s$    vw||~~t{EJJJr   c                     |                      |j        ||          }|                    |j        j         d| d           |                     ||||||           |                    d           d S )Nr[   , r\   )rQ   default_factoryrC   r]   r   rj   )r   r4   r<   r+   r=   r>   r?   rdfs           r   _pprint_default_dictz"PrettyPrinter._pprint_default_dict  s{     jj/%@@(1;;C;;;<<<&&&)WeLLLSr   c                 (   |                     |j        j        dz              |rX|                     d           |                                }|                     ||||||           |                     d           |                     d           d S )Nr[   rd   rg   r\   )rC   r]   r   most_commonri   )r   r4   r<   r+   r=   r>   r?   rb   s           r   _pprint_counterzPrettyPrinter._pprint_counter  s     	V%.4555 	LL&&((E##E669guUUULLSr   c                    t          |j                  r2t          |j                  dk    r>t          |j        d                   s$|                    t          |                     d S |                    |j        j        dz              |                     |j        |||||           |                    d           d S )Nr$   r   r[   r\   )rm   mapsrC   rN   r]   r   rt   ru   s          r   _pprint_chain_mapzPrettyPrinter._pprint_chain_map  s     6; 	C$4$4$9$9#fkRSnBUBU$9LLf&&&FV%.45556;	7ERRRSr   c                     |                     |j        j        dz              |j        |                     d|j        z             |                     d           |                     ||||dz   ||           |                     d           d S )Nr[   zmaxlen=%d, rq   r$   z]))rC   r]   r   maxlenrt   ru   s          r   _pprint_dequezPrettyPrinter._pprint_deque  s     	V%.4555=$LL6777S6669q='5QQQTr   c           	      J    |                      |j        |||||dz
             d S Nr$   r7   dataru   s          r   _pprint_user_dictzPrettyPrinter._pprint_user_dict*  ,     	V[&&)WeaiPPPPPr   c           	      J    |                      |j        |||||dz
             d S r   r   ru   s          r   _pprint_user_listzPrettyPrinter._pprint_user_list7  r   r   c           	      J    |                      |j        |||||dz
             d S r   r   ru   s          r   _pprint_user_stringz!PrettyPrinter._pprint_user_stringD  r   r   	maxlevelsc                    t          |          }|t          v rt          |          S t          |dd           }t	          |t
                    r|t
          j        u r|sdS t          |          }|r||k    rdS ||v rt          |          S |	                    |           g }|j
        }	|dz  }t          |                                t                    D ]E\  }
}|                     |
|||          }|                     ||||          } |	| d|            F|                    |           dd                    |          z  S t	          |t"                    r|t"          j        u s#t	          |t$                    r|t$          j        u rt	          |t"                    r|sd	S d
}nt'          |          dk    rd}n|sdS d}t          |          }|r||k    r|dz  S ||v rt          |          S |	                    |           g }|j
        }	|dz  }|D ]%}|                     ||||          } |	|           &|                    |           |d                    |          z  S t          |          S )NrG   z{}z{...}r$   re   r   z{%s}r   z[]z[%s]z(%s,)z()z(%s)r   )r   _builtin_scalarsrN   rW   
issubclassdictrG   r   rD   rH   r   rh   rb   r&   r   rI   joinlisttuplerm   )r   r4   r>   r   r?   r{   rrR   
componentsr   kvkreprvreprformatooreprs                    r   r   zPrettyPrinter._safe_reprQ  s    6ll"""<<CT**c4   	2Q$-%7%7 tvJJE Ui//w!&)))KK$&J&FQJEv||~~;??? , ,17IuEE7IuEE%**5**++++NN5!!!DIIj1111sD!! 	2a4=&8&8sE"" '9'(EN':':#t$$ 	   4V!!   4vJJE &Ui//~%!&)))KKJ&FQJE  7IuEEuNN5!!!DIIj1111F||r   )r)   r*   N)=r   r   r   intr
   r   r   r   r;   r   r   r7   rP   rE   r   r   __annotations__rj   r   rG   ro   _collectionsOrderedDictrv   r   ry   r   r}   r8   	frozensetr   r   r   r   	bytearrayr   r   MappingProxyTyper   r   r	   r   ri   r_   rt   rQ   r   defaultdictr   Counterr   ChainMapr   dequer   UserDictr   UserListr   
UserStringr   r"   r   r   r(   r(   >   s
         #	   }	
 
   :c c    
"="= 3"= 	"=
 "= S"= "= 
"= "= "= "=H 3 	
  S  
   , 	 tc/33c3s8SI4OP	R   
 3 	
  S  
     ,Idm 3 	
  S  
   " 4HIl&/0 3 	
  S  
     ,Idm 3 	
  S  
    !.Ien 3 	
  S  
   . *Icl$/Ii !77 37 	7
 7 S7 7 
7 7 7 7r *Icl 3 	
  S  
   6 !.Ien 3 	
  S  
     %6Ii ! 3 	
  S  
    3GIf%./ 3 	
  S  
   ( 2IIf$-.#E#s(O$# 3# 	#
 # S# # 
# # # #0##E#s(O$## 3## 	##
 ## S## ## 
## ## ## ##J#Cy# 3# 	#
 # S# # 
# # # #.KC K#c( K3 K3 K K K K 3 	
  S  
    4HIl&/0 3 	
  S  
   & 0?Il"+, 3 	
  S  
   " 1BIl#,- 3 	
  S  
   " .;Il )*	Q	Q 3	Q 		Q
 	Q S	Q 	Q 
	Q 	Q 	Q 	Q 1BIl#,-	Q	Q 3	Q 		Q
 	Q S	Q 	Q 
	Q 	Q 	Q 	Q 1BIl#,-	Q	Q 3	Q 		Q
 	Q S	Q 	Q 
	Q 	Q 	Q 	Q 3FIl%./88$'H89A#8OR8	8 8 8 8 8 8r   r(   r4   r.   c                 R    dt          |           j         dt          |            dS )Nz<Recursion on z	 with id=>)r   r   r   )r4   s    r   rD   rD     s*    IDLL1IIBvJJIIIIr   r,   r=   c              #   N  K   d}t          |           dz  dz  }t          dt          |           d          D ]W}| ||dz            }||z   }||k    r||z  }t          t          |                    |k    r|rt          |          V  |}U|}X|rt          |          V  d S d S )Nr   r)   r   )rm   rangerN   )r4   r,   r=   r   lastr   r   r   s           r   r   r     s      Gv;;!aD1c&kk1%% 
  
 a!a%i dN	99YEtI%'' $7mm###GGGG 7mm r   )#collectionsr   dataclassesrJ   ior   r6   r   typesr   typingr   r   r   r   r   r	   r
   r   r   r   r&   r(   r   r   r   r   floatcomplexboolr   r   r   rD   r   r"   r   r   <module>r      s    # " " " " " " " $ $ $ $ $ $ 				                                                                 2, , ,
K	 K	 K	 K	 K	 K	 K	 K	\ 9%E7D$$t**cB  
Js Js J J J JS   #      r   