+
    xȇiPI                      a  0 t $ R t^ RIHt ^ RIHtHtHtHt ^ RI	t	^ RI
HtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]'       d   ^ R	IHt ]]]3,          ]],          ,          tR
]R&   ]! R4      t]! R4      tR R ltR*R R lltR+R R llt R+R R llt!R,R R llt"R-R R llt#R R lt$R.R R llt%R/R R llt&R  R! lt' ! R" R#](]]3,          4      t) ! R$ R%4      t* ! R& R']*4      t+R( R) lt,R# )0z
Printing tools.
)annotations)CallableIterableMappingSequenceN)TYPE_CHECKINGAny	TypeAliasTypeVar)east_asian_width)
get_option)is_sequence)get_console_size)ListLiker	   EscapeChars_KT_VTc               (    V ^8  d   QhRRRRRRRR/# )	   spaceintlists	list[str]kwargsr   returnstr )formats   "j/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/io/formats/printing.py__annotate__r   #   s(     9 9# 9y 9C 9C 9    c           	     `   VP                  R\        4      pVP                  R\        4      p. pVRR  Uu. uF  p\        \	        W64      4      V ,           NK   	  ppVP                  \        \	        \        VR,          4      4      4       \        \	        \        V4      4      p\        V4       FU  w  rV! WV	,          RR7      pRWy,          ,          .V\        V
4      ,
          ,          V,           pVP                  V4       KW  	  \        VRR/ pR	P                  R
 V 4       4      # u upi )a  
Glues together two sets of strings using the amount of space requested.
The idea is to prettify.

----------
space : int
    number of spaces for padding
lists : str
    list of str which being joined
strlen : callable
    function used to calculate the length of each str. Needed for unicode
    handling.
justfunc : callable
    function used to justify str. Needed for unicode handling.
strlenjustfuncNleft)mode strictT
c              3  D   "   T F  pR P                  V4      x  K  	  R# 5i) N)join).0liness   & r   	<genexpr>adjoin.<locals>.<genexpr>@   s     8RWWU^^s    )	poplen_adj_justifymaxmapappend	enumeratezipr+   )r   r   r   r"   r#   newListsxlengthsmaxLenilstnltoJoins   &*,          r   adjoinrA   #   s      ZZ#&Fzz*l3HH49#2J?Jqs3v>"U**JG?NN3s3b	*+,S%!FE"c1:F3WZ FSX$56"< # ((4(F998888 @s   $D+c               (    V ^8  d   QhRRRRRRRR/# 	r   textszIterable[str]max_lenr   r%   r   r   r   r   )r   s   "r   r   r   C   s(     	1 	1 	1 	13 	1Y 	1r    c                    VR8X  d!   V  Uu. uF  q3P                  V4      NK  	  up# VR8X  d!   V  Uu. uF  q3P                  V4      NK  	  up# V  Uu. uF  q3P                  V4      NK  	  up# u upi u upi u upi z:
Perform ljust, center, rjust against string or list-like
r$   centerljustrH   rjust)rD   rE   r%   r:   s   &&& r   r3   r3   C   sr     v~*/0%Q %00		+015a!511*/0%Q %00	 110   A/A4A9c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   seqr   	_nest_lvlr   max_seq_items
int | Nonekwdsr   r   r   r   )r   s   "r   r   r   g   s4     %! %!	%!!%!6@%!QT%!%!r    c                f   \        V \        4      '       d   RpM/\        V \        4      '       d   RpM\        V R4      '       d   RMRpVRJ d   RpM(T;'       g    \	        R4      ;'       g    \        V 4      p\        V 4      p. pRp\        V4       F7  w  rVe   W8  d   R	p M(VP                  \        W^,           3RV/VB 4       K9  	  R
P                  V4      pV'       d   VR,          pM/\        V \        4      '       d   \        V 4      ^8X  d
   VR,          pVP                  VR7      # )z
internal. pprinter for iterables. you should probably use pprint_thing()
rather than calling this directly.

bounds length of printed sequence, depending on options
z
{{{body}}}zfrozenset({{{body}}})__setitem__z[{body}]z({body})FNrP   T, , ...,)body)
isinstanceset	frozensethasattrr   r2   iterr7   r6   pprint_thingr+   tupler   )rN   rO   rP   rR   fmt	max_itemssrmax_items_reachedr=   itemrX   s   &&&,        r   _pprint_seqrf   g   s	    #s	C	#	#%#C77jZ	!LLZ%@LLCH	S	A
AQ<! $	dMWWRVWX	  
 99Q<D	C		CHM::4:  r    c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   rN   r   rO   r   rP   rQ   rR   r   r   r   r   )r   s   "r   r   r      s4     3 3	3 35?3PS33r    c                   Rp. pRpVRJ d   \        V 4      pM(T;'       g    \        R4      ;'       g    \        V 4      p\        V P                  4       4      RV  FM  w  rVP	                  VP                  \        W^,           3RV/VB \        W^,           3RV/VB R7      4       KO  	  V\        V 4      8  d)   VP                  RP                  V4      R,           R	7      # VP                  RP                  V4      R	7      # )
zm
internal. pprinter for iterables. you should probably use pprint_thing()
rather than calling this directly.
z{{{things}}}z{key}: {val}FrP   N)keyvalrU   rV   )things)r2   r   listitemsr6   r   r^   r+   )
rN   rO   rP   rR   r`   pairspfmtnitemskvs
   &&&,      r   _pprint_dictrs      s     CEDSII*_"=IISSYY[!'6*KK MWWRVW MWWRVW  	
 + Czz5!1G!;z<<zz5!1z22r    c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# )r   thingobjectrO   r   escape_charsEscapeChars | Nonedefault_escapesboolquote_stringsrP   rQ   r   r   r   )r   s   "r   r   r      sW     I III %I 	I
 I I 	Ir    c                  a V3R V3R lllp\        V R4      '       d   \        V 4      # \        V \        4      '       d!   V\	        R4      8  d   \        WRVR7      pV# \        V 4      '       d#   V\	        R4      8  d   \        V VVVVR7      pV# \        V \        4      '       d   V'       d   RV! V 4       R2pV# V! V 4      pV# )	a  
This function is the sanctioned way of converting objects
to a string representation and properly handles nested sequences.

Parameters
----------
thing : anything to be formatted
_nest_lvl : internal use only. pprint_thing() is mutually-recursive
    with pprint_sequence, this argument is used to keep track of the
    current nesting level, and limit it.
escape_chars : list[str] or Mapping[str, str], optional
    Characters to escape. If a Mapping is passed the values are the
    replacements
default_escapes : bool, default False
    Whether the input escape characters replaces or adds to the defaults
max_seq_items : int or None, default None
    Pass through to other pretty printers to limit sequence printing

Returns
-------
str
c               $    V ^8  d   QhRRRRRR/# )r   ru   r   rw   rx   r   r   r   )r   s   "r   r   "pprint_thing.<locals>.__annotate__   s$      "4	r    c                $  < R RRRRRRR/p\        V\        4      '       d7   S'       d   VP                  V4       MTp\        VP	                  4       4      pMT;'       g    Rp\        V 4      pV F  pVP                  WBV,          4      pK  	  V# )		z\tr(   z\nz\r'z\'r   )rY   r   updaterl   keysr   replace)ru   rw   	translateresultcry   s   &&   r   as_escaped_string'pprint_thing.<locals>.as_escaped_string   s     5$tUCG	lG,,  .(	 1 1 34L'--2LUA^^A|4F r    __next__zdisplay.pprint_nest_depthT)r{   rP   rw   r{   rP   r   )r\   r   rY   r   r   rs   r   rf   )ru   rO   rw   ry   r{   rP   r   r   s   &&&f&&  r   r^   r^      s    @ 8D $ uj!!5z	E7	#	#	J#5 ) D
& M! 
U			J7R,S S %''	
 M 
E3		M&u-.a0 M #5)Mr    c               (    V ^8  d   QhRRRRRRRR/# )r   rv   encodingr   errorsr   bytesr   )r   s   "r   r   r      s,     * **!*58*
*r    c                :    \        V 4      pVP                  W4      # N)r^   encode)rv   r   r   values   &&& r   pprint_thing_encodedr      s      E<<))r    c                    V ^8  d   QhRRRR/# )r   enablerz   r   Noner   )r   s   "r   r   r     s     - -4 -D -r    c                6  a R \         P                  9  d   R# ^ RIHp V! 4       pVf   R# VP                  P
                  pRpV '       d9   WC9  d$   ^ RIHp ^ RIH	o  ! V3R lRV4      pV! 4       W4&   RW4,          n
        R# WC9   d   R	W4,          n
        R# R# )
IPythonN)get_ipythonz!application/vnd.dataresource+json)BaseFormatter
ObjectNamec                  0   < ] tR tRt Z ! R4      t]3tRtR# )<enable_data_resource_formatter.<locals>.TableSchemaFormatteri  _repr_data_resource_r   N)__name__
__module____qualname____firstlineno__print_methoddict_return_type__static_attributes__r   s   r   TableSchemaFormatterr     s    )*@A $wr    r   TF)sysmodulesr   r   display_formatter
formattersIPython.core.formattersr   	traitletsr   enabled)r   r   ipr   mimetyper   r   r   s   &      @r   enable_data_resource_formatterr     s    ## 
B	z%%00J2H%=,'} '
 $8#9J '+
$		',
$ 
 r    c               $    V ^8  d   QhRRRRRR/# )r   ru   r   rP   rQ   r   r   r   )r   s   "r   r   r   #  s!      # j C r    c                     \        V RRVR7      # )r   Tr   )r   r   r(   r^   )ru   rP   s   &&r   default_pprintr   #  s    '#	 r    c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# )r   objr   	formatterr   
is_justifyrz   namez
str | Noneindent_for_nameline_break_each_valuer   r   r   )r   s   "r   r   r   ,  sW     h h	hh h 	h
 h  h 	hr    c                  a" \        4       w  rgVf   \        R4      ;'       g    ^PpVf   \        V 4      P                  pV'       d3   \	        V4      pRRV^,           ,           2p	RRV^,           ,           2p
MRp	Rp
\	        V 4      pV'       d   RR\	        V4      ,          ,           pMRp\        R4      ;'       g    TpW8  p\        4       o"R	 V"3R
 llpR V"3R llpRpV^ 8X  d   RV 2pV# V^8X  d"   V'       g   V! V ^ ,          4      pRV RV 2pV# V^8X  d4   V'       g,   V! V ^ ,          4      pV! V R,          4      pRV RV RV 2pV# V^8X  d   . pV RR  Uu. uF  pV! V4      NK  	  ppMgW8  dI   \        V^,          ^
4      pV RV  Uu. uF  pV! V4      NK  	  ppW) R  Uu. uF  pV! V4      NK  	  ppM. pV  Uu. uF  pV! V4      NK  	  ppV'       d   V'       d   \        VV4      w  ppMV'       g?   \	        RP                  V4      4      V8  d    \	        RP                  V4      4      V8  gY   \        V! V4      V! V4      4      pV Uu. uF  pVP                  V4      NK  	  ppV Uu. uF  pVP                  V4      NK  	  ppV'       d   V\	        V
4      ,
          pV^ ,          p^p\        \        ^\	        V4      ^,           4      4       F$  p\        VVR7      p\	        V4      V8  g   K"  Tp M	  V Uu. uF  p\        VVR7      NK  	  ppV Uu. uF  p\        VVR7      NK  	  ppRpT
pV F!  pVV,           R,           p V! VVV Wj4      w  ppK#  	  V'       d(   VVP                  4       V
,           R,           ,          pT
pVRR  F!  p!V!V,           R,           p V! VVV Wj4      w  ppK#  	  V! VVVR,          V^,
          V
4      w  ppVV,          pRVP                  R4      ,           pVV,          p\	        V4      V8  g	   V'       d   VV	,          pM	VR,          pRV\	        V
4      R ,           pV# u upi u upi u upi u upi u upi u upi u upi u upi )a  
Return the formatted obj as a unicode string

Parameters
----------
obj : object
    must be iterable and support __getitem__
formatter : callable
    string formatter for an element
is_justify : bool
    should justify the display
name : name, optional
    defaults to the class name of the obj
indent_for_name : bool, default True
    Whether subsequent lines should be indented to
    align with the name.
line_break_each_value : bool, default False
    If True, inserts a line break for each value of ``obj``.
    If False, only break lines when the a line of values gets wider
    than the display width.

Returns
-------
summary string
Nzdisplay.widthr(   r&   z
 z,
 rW   zdisplay.max_seq_itemsc               0    V ^8  d   QhRRRRRRRRRRRR	/# )
r   rb   r   liner   display_widthr   next_line_prefixr   ztuple[str, str]r   )r   s   "r   r   +format_object_summary.<locals>.__annotate__j  s<      "%69MP	r    c                   < SP                  VP                  4       4      SP                  VP                  4       4      ,           V8  d   WP                  4       ,          p TpW,          pW3# r   )r2   rstrip)rb   r   r   r   r   adjs   &&&&&r   _extend_line+format_object_summary.<locals>._extend_linej  sQ     774;;=!CGGELLN$;;}LA#Dwr    c                    V ^8  d   QhRRRR/# )r   valuesr   r   r   r   )r   s   "r   r   r   s  s       s r    c                B   < V '       d   \        V3R  lV  4       4      # ^ # )c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir   r2   )r,   r:   r   s   & r   r.   :format_object_summary.<locals>.best_len.<locals>.<genexpr>u  s     26aswwqzz6s   !)r4   )r   r   s   &r   best_len'format_object_summary.<locals>.best_lens  s    26222r    rU   z[][])rP   r*   z...r0   )r   r   typer   r2   get_adjustmentmin_justifyr+   r4   rK   reversedrangerf   r   )#r   r   r   r   r   r   r   _name_lenspace1space2nseprP   is_truncatedr   r   closesummaryfirstlastheadr:   tail
max_length	max_spacer   ra   	num_itemspprinted_seqr   
head_valueword	tail_itemr   s#   &&&&&&                            @r   format_object_summaryr   ,  s   B ()M"?399r|Cy!!t9shl+-.shl+-.CA sSY&67<<1M $L 
C   EAvug,p No 
a-#a&!eWAeW%j Ni 
a-#a&!R!eWBtfAeW-b N_ AD*-bc(3(QIaL(D3DMQ&+A*-bq'2'QIaL'D2*-bc(3(QIaL(D3DD*-.#QIaL#D. $ &dD1
dDIIdO$}4		$(=8 !$$@
59:T
+T:59:T
+T: !
 &F3IGEI%eAs5zA~&>?	*5	J|$y0 )I	 @
 FJJTK;TDJEIJTK;TDJJ#c)D($mTMGT  t{{}v-55GDcrIs?S(D($mTMGT #
 %WdDHma>OQWX4 ell3''5w<=)-BvGsNG F..NY 4 33 / ;:" KJs0   $QQ2QQ#!Q(Q-Q2/Q7c               $    V ^8  d   QhRRRRRR/# )r   r   zlist[Sequence[str]]r   r   z3tuple[list[tuple[str, ...]], list[tuple[str, ...]]]r   )r   s   "r   r   r     s$     ($ ($
($%8($8($r    c                R   W,           p^ .\        V^ ,          4      ,          pV FF  pV Uu. uF  p\        V4      NK  	  pp\        W6RR7       UUu. uF  w  rx\        Wx4      NK  	  pppKH  	  V  U	u. uFE  p	\        ;QJ d    . R \        WRR7       4       F  NK  	  5M! R \        WRR7       4       4      NKG  	  p
p	V U	u. uFE  p	\        ;QJ d    . R \        WRR7       4       F  NK  	  5M! R \        WRR7       4       4      NKG  	  pp	W3# u upi u uppi u up	i u up	i )a  
Justify items in head and tail, so they are right-aligned when stacked.

Parameters
----------
head : list-like of list-likes of strings
tail : list-like of list-likes of strings

Returns
-------
tuple of list of tuples of strings
    Same as head and tail, but items are right aligned when stacked
    vertically.

Examples
--------
>>> _justify([["a", "b"]], [["abc", "abcd"]])
([('  a', '   b')], [('abc', 'abcd')])
T)r'   c              3  H   "   T F  w  rVP                  V4      x  K  	  R # 5ir   rK   r,   r:   rE   s   &  r   r.   _justify.<locals>.<genexpr>        S1R:1aggg1R    "c              3  H   "   T F  w  rVP                  V4      x  K  	  R # 5ir   r   r   s   &  r   r.   r     r   r   )r2   r8   r4   r_   )r   r   combinedr   	inner_seqre   lengthr:   yrN   head_tuplestail_tupless   &&          r   r   r     s   , {H s8A;''J	(12	#d)	2,/
4,PQ,PDAc!i,P
Q
  C 	SST1RSSST1RSS   C 	SST1RSSST1RSS   ## 3Qs#   DD3D;DD$;D$c                  &    ] tR tRtRtR R ltRtR# )
PrettyDicti  z.Dict extension to support abbreviated __repr__c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   PrettyDict.__annotate__  s     " "# "r    c                	    \        V 4      # r   r   selfs   &r   __repr__PrettyDict.__repr__  s    D!!r    r   N)r   r   r   r   __doc__r  r   r   r    r   r   r     s    8" "r    r   c                  J    ] tR tRtR R ltR R ltRR R lltR R	 ltR
tR# )_TextAdjustmenti	  c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   _TextAdjustment.__annotate__
  s     7 7$ 7r    c                	&    \        R 4      V n        R# )zdisplay.encodingN)r   r   r  s   &r   __init___TextAdjustment.__init__
  s    "#56r    c                    V ^8  d   QhRRRR/# r   textr   r   r   r   )r   s   "r   r   r    s        r    c                	    \        V4      # r   r   r  r  s   &&r   r2   _TextAdjustment.len  s    4yr    c               (    V ^8  d   QhRRRRRRRR/# )	r   rD   r   rE   r   r%   r   r   r   r   )r   s   "r   r   r    s(     	5 	5S 	53 	5c 	5	 	5r    c                    VR8X  d!   V Uu. uF  qDP                  V4      NK  	  up# VR8X  d!   V Uu. uF  qDP                  V4      NK  	  up# V Uu. uF  qDP                  V4      NK  	  up# u upi u upi u upi rG   rI   )r  rD   rE   r%   r:   s   &&&& r   justify_TextAdjustment.justify  sr     6>.34eGGG$e44X/45u!HHW%u55.34eGGG$e44	 554rL   c               (    V ^8  d   QhRRRRRRRR/# )r   r   r   r   r   r   r   r   r   )r   s   "r   r   r    s.     W WC W W W Wr    c                	P    \        V.VO5R V P                  RV P                  /VB # )r"   r#   )rA   r2   r  )r  r   r   r   s   &&*,r   rA   _TextAdjustment.adjoin  s)    eVeVDHHVt||VvVVr    )r   Nright)	r   r   r   r   r  r2   r  rA   r   r   r    r   r
  r
  	  s    7	5W Wr    r
  c                  J   a  ] tR tRtR V 3R lltR R ltR	R R lltRtV ;t# )
_EastAsianTextAdjustmenti  c                   V ^8  d   QhRR/# r  r   )r   s   "r   r   %_EastAsianTextAdjustment.__annotate__   s     
B 
B$ 
Br    c           
     	   < \         SV `  4        \        R 4      '       d	   ^V n        M^V n        R^R^R^R^R^/V n        R# )z!display.unicode.ambiguous_as_wideNaNWFHN)superr  r   ambiguous_width_EAW_MAP)r  	__class__s   &r   r  !_EastAsianTextAdjustment.__init__   sH    9::#$D #$D 
 q#q#q#q#qAr    c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r#  ,  s     	
 	
 	
 	
r    c                p   a  \        V\        4      '       g   \        V4      # \        V 3R lV 4       4      # )z>
Calculate display width considering unicode East Asian Width
c              3     <"   T F4  pSP                   P                  \        V4      SP                  4      x  K6  	  R # 5ir   )r,  getr   r+  )r,   r   r  s   & r   r.   /_EastAsianTextAdjustment.len.<locals>.<genexpr>3  s5      
RVQDMM.q143G3GHHRVs   <?)rY   r   r2   sumr  s   f&r   r2   _EastAsianTextAdjustment.len,  s6     $$$t9 
RV
 
 	
r    c               (    V ^8  d   QhRRRRRRRR/# rC   r   )r   s   "r   r   r#  7  s,     9 9"9-098;9	9r    c                	8  a a R  VV 3R llpVR8X  d'   V Uu. uF  qUP                  V! V4      4      NK  	  up# VR8X  d'   V Uu. uF  qUP                  V! V4      4      NK  	  up# V Uu. uF  qUP                  V! V4      4      NK  	  up# u upi u upi u upi )c                    V ^8  d   QhRRRR/# )r   tr   r   r   r   )r   s   "r   r   6_EastAsianTextAdjustment.justify.<locals>.__annotate__;  s     	2 	2 	2 	2r    c                T   < SSP                  V 4      ,
          \        V 4      ,           # r   r   )r9  rE   r  s   &r   _get_pad2_EastAsianTextAdjustment.justify.<locals>._get_pad;  s    TXXa[(3q611r    r$   rH   rI   )r  rD   rE   r%   r<  r:   s   f&f&  r   r   _EastAsianTextAdjustment.justify7  s    	2 	2 6>278%QGGHQK(%88X3895aHHXa[)599278%QGGHQK(%88	 998s   BB+B)r,  r+  r  )	r   r   r   r   r  r2   r  r   __classcell__)r-  s   @r   r!  r!    s    
B 
B	
9 9r    r!  c                   V ^8  d   QhRR/# )r   r   r
  r   )r   s   "r   r   r   F  s     ! ! !r    c                 P    \        R 4      p V '       d   \        4       # \        4       # )z display.unicode.east_asian_width)r   r!  r
  )use_east_asian_widths    r   r   r   F  s#    %&HI'))  r    r  )    N)rC  NFFN)zutf-8r   r   )TNTF)-__conditional_annotations__r  
__future__r   collections.abcr   r   r   r   r   typingr   r   r	   r
   unicodedatar   pandas._configr   pandas.core.dtypes.inferencer   pandas.io.formats.consoler   pandas._typingr   r   r   __annotations__r   r   rA   r3   rf   rs   r^   r   r   r   r   r   r   r   r
  r!  r   )rD  s   @r   <module>rN     s    #    ) % 4 6' c*Xc]:Y :enen9@	1H%!P3>IX*-DhV($V"c3h "W W,$9 $9N!r    