+
    lh\_                         R t ^ RIt^ RIt^ RIt^ RIHt	 . ROt
RRRRRRR/R	 lltRRRRRRR/R
 lltRR/R ltR tR tR t ! R R4      tR t ! R R4      t]! ]]]]]]]! R4      04      tR tR tR# )a/  Support to pretty-print lists, tuples, & dictionaries recursively.

Very simple, but useful, especially in debugging data structures.

Classes
-------

PrettyPrinter()
    Handle pretty-printing operations onto a stream using a configured
    set of formatting parameters.

Functions
---------

pformat()
    Format a Python object into a pretty-printed representation.

pprint()
    Pretty-print a Python object to a stream [default is sys.stdout].

saferepr()
    Generate a 'standard' repr()-like value, but protect against recursive
    data structures.

N)StringIOPrettyPrintercompactF
sort_dictsTunderscore_numbersc          
     F    \        WW4WVVR7      pVP                  V 4       R# )zAPretty-print a Python object to a stream [default is sys.stdout].)streamindentwidthdepthr   r   r   N)r   pprint)	objectr   r	   r
   r   r   r   r   printers	   &&&&&$$$ lib/python3.14/pprint.pyr   r   .   s'     E-/G NN6    c          	     >    \        WVWEVR7      P                  V 4      # )z<Format a Python object into a pretty-printed representation.)r	   r
   r   r   r   r   )r   pformat)r   r	   r
   r   r   r   r   s   &&&&$$$r   r   r   8   s&     5!(,>@@GPr   c               (    \        V .VO5RV/VB  R# )zPretty-print a Python objectr   N)r   )r   r   argskwargss   &$*,r   ppr   @   s    
6:D:Z:6:r   c                H    \        4       P                  V / R^ 4      ^ ,          # )z=Version of repr() which can handle recursive data structures.Nr   
_safe_reprr   s   &r   safereprr   E        ?%%fb$:1==r   c                H    \        4       P                  V / R^ 4      ^,          # )z4Determine if saferepr(object) is readable by eval().Nr   r   s   &r   
isreadabler   J   r   r   c                H    \        4       P                  V / R^ 4      ^,          # )z8Determine if object requires a recursive representation.Nr   r   s   &r   isrecursiver    O   r   r   c                   6   a  ] tR t^Tt o RtR.tR tR tRtV t	R# )	_safe_keyaA  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                    Wn         R # Nr#   )selfr#   s   &&r   __init___safe_key.__init__`   s    r   c                &    V P                   VP                   8  #   \         dk    \        \        T P                   4      4      \	        T P                   4      3\        \        TP                   4      4      \	        TP                   4      38  u # i ; ir%   )r#   	TypeErrorstrtypeid)r'   others   &&r   __lt___safe_key.__lt__c   sm    	;88eii'' 	;dhh("TXX,7eii)2eii=9: ;	;s    A2BBr&   N)
__name__
__module____qualname____firstlineno____doc__	__slots__r(   r0   __static_attributes____classdictcell____classdict__s   @r   r"   r"   T   s"      I; ;r   r"   c                J    \        V ^ ,          4      \        V ^,          4      3# )z&Helper function for comparing 2-tuples)r"   )ts   &r   _safe_tupler>   k   s    QqT?IadO++r   c                     a  ] tR t^pt o R&RRRRRR/R lltR tR	 tR
 tR tR t	R t
/ tR t]]]P                  &   R t]]]P"                  P                  &   R t]]]P                  &   R t]]]P                  &   R t]]]P                  &   ]]]P                  &   R t]]]P                  &   R t]]]P                  &   R t]]]P                  &   R t]]] PB                  P                  &   R t"]"]] PF                  P                  &   R t$R t%R t&R t'R t(R t)])]]PT                  P                  &   R t+]+]]PX                  P                  &   R t-]-]]P\                  P                  &   R  t/]/]]P`                  P                  &   R! t1]1]]Pd                  P                  &   R" t3]3]]Ph                  P                  &   R# t5]5]]Pl                  P                  &   R$ t7R%t8V t9R# )'r   Nr   Fr   Tr   c               D   \        V4      p\        V4      pV^ 8  d   \        R4      hVe   V^ 8:  d   \        R4      hV'       g   \        R4      hW0n        Wn        W n        Ve   W@n        M\        P                  V n        \        V4      V n	        W`n
        Wpn        R# )aY  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.

stream
    The desired output stream.  If omitted (or false), the standard
    output stream available at construction will be used.

compact
    If true, several items will be combined in one line.

sort_dicts
    If true, dict keys are sorted.

underscore_numbers
    If true, digit groups are separated with underscores.

zindent must be >= 0Nzdepth must be > 0zwidth must be != 0)int
ValueError_depth_indent_per_level_width_stream_sysstdoutbool_compact_sort_dicts_underscore_numbers)r'   r	   r
   r   r   r   r   r   s   &&&&&$$$r   r(   PrettyPrinter.__init__q   s    8 VE
A:233!011122!'!L;;DLW%#5 r   c                    V P                   e=   V P                  WP                   ^ ^ / ^ 4       V P                   P                  R4       R # R # )N
)rF   _formatwriter'   r   s   &&r   r   PrettyPrinter.pprint   s;    <<#LLq!R;LLt$ $r   c                `    \        4       pV P                  W^ ^ / ^ 4       VP                  4       #     )	_StringIOrP   getvalue)r'   r   sios   && r   r   PrettyPrinter.pformat   s)    kV!QA.||~r   c                8    V P                  V/ ^ ^ 4      ^,          # rU   formatrR   s   &&r   r    PrettyPrinter.isrecursive   s    {{62q!,Q//r   c                R    V P                  V/ ^ ^ 4      w  r#pT;'       d    V'       * # rU   r\   )r'   r   sreadable	recursives   &&   r   r   PrettyPrinter.isreadable   s+    !%VRA!>Y))	M)r   c           
        \        V4      pWu9   d+   VP                  \        V4      4       R V n        RV n        R# V P                  WV4      pV P                  V,
          V,
          p	\        V4      V	8  d   T P                  P                  \        V4      P                  R4      p
^ RIHp V
e   ^WW&   V
! WW#WEV^,           4       WW R# V! V4      '       d   \        V\        4      '       g   VP                  P                   '       dd   \#        VP                  R4      '       dH   RVP                  P$                  P&                  9   d#   ^WW&   V P)                  WW4WV^,           4       WW R# VP                  V4       R# )TFN)is_dataclass__wrapped____create_fn__)r.   rQ   
_recursion
_recursive	_readable_reprrE   len	_dispatchgetr-   __repr__dataclassesre   
isinstance__dataclass_params__reprhasattrrf   r4   _pprint_dataclass)r'   r   r   r	   	allowancecontextlevelobjidrep	max_widthpre   s   &&&&&&&     r   rP   PrettyPrinter._format   s1   6
LLF+,"DO"DNjj%0KK&(94	s8i""4<#8#8$?A0}!"$	EAINNv&& ..--222&//=99!V__%@%@%M%MM!"&&vv'[\S\]NSr   c                   ^ RI Hp VP                  P                  pV\	        V4      ^,           ,          pV! V4       U	u. uF7  qP
                  '       g   K  V	P                  \        WP                  4      3NK9  	  p
p	VP                  VR,           4       V P                  WW4WV4       VP                  R4       R# u up	i )rV   )fields()N)
rp   r   	__class__r2   rl   rs   namegetattrrQ   _format_namespace_items)r'   r   r   r	   rv   rw   rx   dataclass_fieldscls_namefitemss   &&&&&&&    r   ru   PrettyPrinter._pprint_dataclass   s    :##,,#h-!##<LV<T_<TqX^X^2!&&'&&&12<T_X^$$$UFwVS `s    B=%B=c                ~   VP                   pV! R 4       V P                  ^8  d!   V! V P                  ^,
          R,          4       \        V4      pV'       d]   V P                  '       d!   \	        VP                  4       \        R7      p	MVP                  4       p	V P                  WW4^,           WV4       V! R4       R# ){ key}N)rQ   rD   rl   rK   sortedr   r>   _format_dict_items)
r'   r   r   r	   rv   rw   rx   rQ   lengthr   s
   &&&&&&&   r   _pprint_dictPrettyPrinter._pprint_dict   s    c
!!A%4))A-45Vv||~;?##E6q=$+4c
r   c                   \        V4      '       g   VP                  \        V4      4       R # VP                  pVP                  VP                  R,           4       V P                  \        VP                  4       4      VV\        VP                  4      ,           ^,           V^,           WV4       VP                  R4       R # )Nr   r   )rl   rQ   rs   r   r2   rP   listr   )r'   r   r   r	   rv   rw   rx   clss   &&&&&&& r   _pprint_ordered_dict"PrettyPrinter._pprint_ordered_dict   s    6{{LLf&S\\C'(T&,,.)6c#,,//!3Y]	% 	Sr   c                ~    VP                  R 4       V P                  WW4^,           WV4       VP                  R4       R# )[]N)rQ   _format_itemsr'   r   r   r	   rv   rw   rx   s   &&&&&&&r   _pprint_listPrettyPrinter._pprint_list   s3    S66q="	+Sr   c           	         VP                  R 4       \        V4      ^8X  d   RMRpV P                  WW4\        V4      ,           WV4       VP                  V4       R# )r   z,)r   N)rQ   rl   r   )r'   r   r   r	   rv   rw   rx   endchars   &&&&&&& r   _pprint_tuplePrettyPrinter._pprint_tuple  sJ    Sf+*$66s7|3K"	+Wr   c           	        \        V4      '       g   VP                  \        V4      4       R # VP                  pV\        J d   VP                  R4       RpMGVP                  VP
                  R,           4       RpV\        VP
                  4      ^,           ,          p\        V\        R7      pV P                  WW4\        V4      ,           WV4       VP                  V4       R # )Nr   r   ({})r   )	rl   rQ   rs   r   setr2   r   r"   r   )	r'   r   r   r	   rv   rw   rx   typr   s	   &&&&&&&  r   _pprint_setPrettyPrinter._pprint_set  s    6{{LLf&#:LLGLL,-Gc#,,'!++FI.66s7|3K"	+Wr   c                   VP                   p\        V4      '       g   V! \        V4      4       R # . pVP                  R4      p	V^8X  d   V^,          pV^,          pV P                  V,
          ;r\        V	4       EFS  w  r\        V4      pV\        V	4      ^,
          8X  d	   W,          p
\        V4      V
8:  d   VP                  V4       KS  ^ R IpVP                  RV4      pV'       g   Q hVR,          '       d   Q hVP                  4        TpRp\        V4       F  w  ppVV,           pV\        V4      ^,
          8X  d!   V\        V	4      ^,
          8X  d
   VV,          p\        \        V4      4      V8  d'   V'       d   VP                  \        V4      4       TpK  TpK  	  V'       g   EK9  VP                  \        V4      4       EKV  	  \        V4      ^8X  d   V! X4       R # V^8X  d	   V! R4       \        V4       F*  w  rV^ 8  d   V! RRV,          ,           4       V! V4       K,  	  V^8X  d   V! R4       R # R # )	NTz\S*\s* r   rO   r   r   )
rQ   rl   rs   
splitlinesrE   	enumerateappendrefindallpop)r'   r   r   r	   rv   rw   rx   rQ   chunkslines
max_width1r{   ilinerz   r   parts
max_width2currentjpart	candidates   &&&&&&&               r   _pprint_strPrettyPrinter._pprint_str   s   6{{$v,!!$'A:aKFNI!%v!55
 'GAt*CCJN"'
3x:%c"  

9d3u 99$}		&
(/GAt '$ICJN*qCJN/B"i/
4	?+j8""MM$w-8"&"+  0 7MM$w-09 (: v;!#JA:#J'FA1udSZ'(#J ( A:#J r   c                v   VP                   p\        V4      ^8:  d   V! \        V4      4       R# V^8H  pV'       d   V^,          pV^,          pV! R4       Rp	\        WP                  V,
          V4       F-  p
V! V	4       V! V
4       V	'       d   K  RRV,          ,           p	K/  	  V'       d   V! R4       R# R# )   Nr   r   rO   r   r   )rQ   rl   rs   _wrap_bytes_reprrE   )r'   r   r   r	   rv   rw   rx   rQ   parensdelimrz   s   &&&&&&&    r   _pprint_bytesPrettyPrinter._pprint_bytesV  s    v;!$v,!aKFNI#J#FKK&,@)LC%L#J5s6z)	 M
 #J r   c           	         VP                   pV! R 4       V P                  \        V4      W#^
,           V^,           WV^,           4       V! R4       R# )z
bytearray(r   N)rQ   r   bytes)r'   r   r   r	   rv   rw   rx   rQ   s   &&&&&&& r   _pprint_bytearrayPrettyPrinter._pprint_bytearrayk  sA    l5=&2+$q='19	>c
r   c                    VP                  R 4       V P                  VP                  4       W#^,           V^,           WV4       VP                  R4       R# )zmappingproxy(r   N)rQ   rP   copyr   s   &&&&&&&r   _pprint_mappingproxy"PrettyPrinter._pprint_mappingproxyt  s=    _%V[[]FRKQ	%Sr   c                P   \        V4      \        P                  J d   R pMVP                  P                  pV\        V4      ^,           ,          pVP                  P                  4       pVP                  VR,           4       V P                  WW4WV4       VP                  R4       R# )	namespacer   r   N)
r-   _typesSimpleNamespacer   r2   rl   __dict__r   rQ   r   )	r'   r   r   r	   rv   rw   rx   r   r   s	   &&&&&&&  r   _pprint_simplenamespace%PrettyPrinter._pprint_simplenamespace|  s    <6111 #H''00H#h-!##%%'X^$$$UFwVSr   c           	        VP                   pW0P                  ,          pR RV,          ,           p\        V4      ^,
          p	\        V4       Fu  w  p
w  rW8H  pV P	                  WV4      pV! V4       V! R4       T P                  YV\        V4      ,           ^,           V'       d   TM^WV4       V'       d   Km  V! V4       Kw  	  R# ),
r   : N)rQ   rD   rl   r   rk   rP   )r'   r   r   r	   rv   rw   rx   rQ   delimnl
last_indexr   r   entlastrz   s   &&&&&&&        r   r    PrettyPrinter._format_dict_items  s    (((#,&Z!^
&u-MAz?D**S51C#J$KLLfs3x&7!&;&* ) 4g .r   c           	     x   VP                   pR RV,          ,           p\        V4      ^,
          p	\        V4       F|  w  p
w  rW8H  pV! V4       V! R4       \        V4      V9   d
   V! R4       M5T P	                  YV\        V4      ,           ^,           V'       d   TM^WV4       V'       d   Kt  V! V4       K~  	  R# )r   r   =...N)rQ   rl   r   r.   rP   )r'   r   r   r	   rv   rw   rx   rQ   r   r   r   r   r   r   s   &&&&&&&       r   r   %PrettyPrinter._format_namespace_items  s    #,&Z!^
&u-MAz?D#J#J#w'! eS&3s8*;a*?*.YA$- 4g .r   c                   VP                   pW0P                  ,          pV P                  ^8  d!   V! V P                  ^,
          R,          4       RRV,          ,           pRp	V P                  V,
          ^,           ;r\        V4      p \	        V4      pRpT'       g   Tp \	        T4      pT P                  '       d\   T P                  YT4      p\        T4      ^,           pT
T8  d   Tp
T	'       d   Tp	T
T8  d   T
T,          p
T! T	4       Rp	T! T4       K  T! T	4       Tp	T P                  YTT'       d   TM^YV4       K  R#   \
         d     R# i ; i  \
         d    RpY,          pY,          p
 Li ; i)   r   r   r   NFT, )
rQ   rD   rE   iternextStopIterationrJ   rk   rl   rP   )r'   r   r   r	   rv   rw   rx   rQ   r   r   r
   r{   itnext_entr   r   rz   ws   &&&&&&&           r   r   PrettyPrinter._format_items  sb   (((!!A%4))A-45#,& KK&0144%[	BxH C#8
 }}}jju5HqL19%E 'A:QJE%L E#J%LELLf&* )/   		 ! #&	"#s$   	E !E EEE76E7c                    V P                  WP                  4       V P                  V4      w  rEpV'       g   R V n        V'       d   RV n        V# )FT)r]   r   rC   rj   ri   )r'   r   rw   rx   rs   ra   rb   s   &&&&   r   rk   PrettyPrinter._repr  s@    $(KK04U%D!	"DN"DOr   c                &    V P                  WW44      # )zFormat object for a specific context, returning a string
and flags indicating whether the representation is 'readable'
and whether the object represents a recursive construct.
)r   )r'   r   rw   	maxlevelsrx   s   &&&&&r   r]   PrettyPrinter.format  s    
 v	AAr   c                   \        V4      '       g   VP                  \        V4      4       R # V P                  VP                  WV4      pVP
                  pV\        VP                  4      ^,           ,          pVP                  VP                  : RV: RRV,          : 24       V P                  WW4^,           WV4       VP                  R4       R # )Nr   r   r   r   )rl   rQ   rs   rk   default_factoryr   r2   r   )	r'   r   r   r	   rv   rw   rx   rdfr   s	   &&&&&&&  r   _pprint_default_dict"PrettyPrinter._pprint_default_dict  s    6{{LLf&jj//@#cll#a''S\\3fEF&&a-PSr   c                   \        V4      '       g   VP                  \        V4      4       R # VP                  pVP                  VP                  R,           4       V P
                  ^8  d*   VP                  V P
                  ^,
          R,          4       VP                  4       pV P                  WV\        VP                  4      ,           ^,           V^,           WV4       VP                  R4       R # )Nr   r   r   )rl   rQ   rs   r   r2   rD   most_commonr   )	r'   r   r   r	   rv   rw   rx   r   r   s	   &&&&&&&  r   _pprint_counterPrettyPrinter._pprint_counter  s    6{{LLf&S\\D()!!A%LL$0014;<""$ &S\\): :Q >	A '	0 	Tr   c           	     T   \        VP                  4      '       g   VP                  \        V4      4       R # VP                  pVP                  VP
                  R,           4       V\        VP
                  4      ^,           ,          p\        VP                  4       F  w  rV\        VP                  4      ^,
          8X  d.   V P                  WW4^,           WV4       VP                  R4       KS  V P                  WV^WV4       VP                  RRV,          ,           4       K  	  R # )Nr   r   r   r   )rl   mapsrQ   rs   r   r2   r   rP   )
r'   r   r   r	   rv   rw   rx   r   r   ms
   &&&&&&&   r   _pprint_chain_mapPrettyPrinter._pprint_chain_map  s    6;;LLf&S\\C'(#cll#a''fkk*DAC$q((QAwNS!Q7BUS6\12 +r   c                <   \        V4      '       g   VP                  \        V4      4       R # VP                  pVP                  VP                  R,           4       V\        VP                  4      ^,           ,          pVP                  R4       VP
                  f.   V P                  WW4^,           WV4       VP                  R4       R # V P                  WV^WV4       V P                  VP
                  WV4      pVP                  RRV,          : RV: R24       R # )Nr   r   z])z],
r   zmaxlen=r   )rl   rQ   rs   r   r2   maxlenr   rk   )	r'   r   r   r	   rv   rw   rx   r   rmls	   &&&&&&&  r   _pprint_dequePrettyPrinter._pprint_deque  s    6{{LLf&S\\C'(#cll#a''S== vv1}&/LLvvq&/**V]]G;CLLsV||SABr   c           	     P    V P                  VP                  W#WEV^,
          4       R# r   NrP   datar   s   &&&&&&&r   _pprint_user_dictPrettyPrinter._pprint_user_dict*      V[[&)eaiPr   c           	     P    V P                  VP                  W#WEV^,
          4       R# r  r	  r   s   &&&&&&&r   _pprint_user_listPrettyPrinter._pprint_user_list/  r  r   c           	     P    V P                  VP                  W#WEV^,
          4       R# r  r	  r   s   &&&&&&&r   _pprint_user_string!PrettyPrinter._pprint_user_string4  r  r   c                   \        V4      pV\        9   d   \        V4      R R3# \        VRR4      p\	        V\
        4      '       d<   V\
        P                  J d(   V P                  '       d   VR R R3# \        V4      R R3# \	        V\        4      '       EdA   V\        P                  J Ed,   V'       g   R# \        V4      pV'       d   WC8  d   RRWr9   3# Wr9   d   \        V4      RR 3# ^W'&   R pRp	. p
V
P                  pV^,          pV P                  '       d!   \        VP                  4       \        R7      pMVP                  4       pV Fj  w  rV P!                  WW44      w  pppV P!                  WW44      w  pppV! V: RV: 24       T;'       d    T;'       d    TpV'       g   V'       g   Kh  R p	Kl  	  W' RR	P#                  V
4      ,          W3# \	        V\$        4      '       d   V\$        P                  J g,   \	        V\&        4      '       Ed   V\&        P                  J d   \	        V\$        4      '       d   V'       g   R# R
pM\)        V4      ^8X  d   RpMV'       g   R# Rp\        V4      pV'       d   WC8  d   VR,          RWr9   3# Wr9   d   \        V4      RR 3# ^W'&   R pRp	. p
V
P                  pV^,          pV F8  pV P!                  VW#V4      w  pppV! V4       V'       g   RpV'       g   K6  R p	K:  	  W' VR	P#                  V
4      ,          W3# \        V4      pTT;'       d    VP+                  R4      '       * R3# )TFro   N_dz{...}r   r   z{%s}r   z[%s]z(%s,)z(%s)r   <)z{}TF)z[]TF)z()TF)r-   _builtin_scalarsrs   r   
issubclassrA   ro   rL   dictr.   rh   r   rK   r   r   r>   r]   joinr   tuplerl   
startswith)r'   r   rw   r   rx   r   rry   ra   rb   
componentsr   r   kvkrepr	kreadablekrecurvrepr	vreadablevrecurr]   oorepr	oreadableorecurrz   s   &&&&&                      r   r   PrettyPrinter._safe_repr9  s   6l""<u,,CT*c3A$5''' tU22F|T500c4  Q$--%7((vJEU/u'777!&)5$66GNHIJ&&FQJEv||~;?+/;;	,2(y&+/;;	,2(y&5%01#??	??iVV $I  DIIj118FFsD!!a4==&8sE""qENN':#t$$,,V! ,,vJEU/~ue.>>>!&)5$66GNHIJ&&FQJE+/;;w5,2(y&u $H6 $I  DIIj118FF6lS44!44u<<r   )	rJ   rC   rD   rj   ri   rK   rF   rL   rE   )r   P   NN):r2   r3   r4   r5   r(   r   r   r    r   rP   ru   rm   r   r  ro   r   _collectionsOrderedDictr   r   r   r  r   r   	frozensetr   r,   r   r   r   	bytearrayr   r   MappingProxyTyper   r   r   r   r   rk   r]   r   defaultdictr   Counterr   ChainMapr  dequer  UserDictr  UserListr  
UserStringr   r8   r9   r:   s   @r   r   r   p   sC    -6-6+/-6DI-6^%

0*>	 I  ,Idmm	 4HIl&&//0  ,Idmm !.Ienn" *Icll$/Ii  !2h *Icll& !.Ienn %6Ii  ! 3GIf%%../ 2IIf$$--."&')RB	 4HIl&&//0 0?Il""++,3 1BIl##,,-C$ .;Il  ))*Q 1BIl##,,-Q 1BIl##,,-Q 3FIl%%../O= O=r   c                 P    R \        V 4      P                  : R\        V 4      : R2# )z<Recursion on z	 with id=>)r-   r2   r.   r   s   &r   rh   rh     s    F|$$bj2 3r   c              #   V  "   R p\        V 4      ^,          ^,          p\        ^ \        V 4      ^4       FX  pWV^,            pW6,           pWT8X  d	   W,          p\        \        V4      4      V8  d   V'       d   \        V4      x  TpKV  TpKZ  	  V'       d   \        V4      x  R# R# 5i)r   N)rl   rangers   )r   r
   rv   r   r   r   r   r   s   &&&     r   r   r     s     Gv;!aD1c&k1%1~N	9EtI%'7m#GG & 7m s   A6B)9B)B))r   r   r   r    r   r   r   )Nr   r,  N)r   r,  N)r6   collectionsr-  sysrG   typesr   ior   rW   __all__r   r   r   r   r   r    r"   r>   r   r/  r,   r   r0  floatcomplexrI   r-   r  rh   r    r   r   <module>rE     s   4 #   $"%)>CPP&*P?DP; ;
>
>
>
; ;.,
X= X=v c5)UG"DJ0 1 3
r   