+
    xȇi0;                       ^ RI Ht ^ RI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Ht ^ RIHtHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RI H!t!H"t" ^ RI#H$t$H%t% ]'       d#   ^ RI&H't'H(t( ^ RI)H*t*H+t+H,t,H-t- ^ RI.H/t/ ^ RI H0t0H1t1 R R lt2R R lt3R R lt4R R lt5R R lt6R R lt7 ! R R 4      t8R! R" lt9R# R$ lt:R% R& lt;R' R( lt<R# ))    )annotations)TYPE_CHECKINGcastN)NaTalgos	internalslib)NA)cache_readonly)ensure_dtype_can_hold_nafind_common_type)is_1d_only_ea_dtypeneeds_i8_conversion)concat_compat)ExtensionDtypeis_valid_na_for_dtype)ensure_wrapped_if_datetimelike)ensure_block_shapenew_block_2d)BlockManagermake_na_array)	GeneratorSequence)	ArrayLikeAxisIntDtypeObjShape)Index)BlockBlockPlacementc               (    V ^8  d   QhRRRRRRRR/# )	   axeslist[Index]concat_axisr   copyboolreturnr    )formats   "l/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/core/internals/concat.py__annotate__r-   =   s2     ^- ^-$^-3:^-BF^-^-    c                  a T;'       d    V^ 8H  pV^ 8X  d%   \        WV4      pV^ ,          P                  WQ4      # \        V 4      ^ 8  Ed   V ^ ,          ^ ,          P                  ^ 8  d   V ^ ,          ^ ,          P                  ^ ,          P
                  oS\        P                  \        P                  39   d   \        ;QJ d    V3R lV  4       F  '       d   K   RM	  RM! V3R lV  4       4      '       dV   \        V 4      ^8  dF   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p\        WS4      p\        V3V4      # \        WV4      p\        V4      ^8X  d$   V^ ,          pVP                  RR7      p	Wn        V	# . p
\        V4       EF6  w  rV^ ,          pVP                   p\#        V4      '       d   V Uu. uF  qP                   P$                  NK  	  ppVP&                  '       g   \        P(                  ! V^R7      pMD\+        VP
                  4      '       d   \-        V^ RR7      p\/        V^R7      pM\-        V^R7      p\1        V4      pVP$                  P
                  VP
                  8H  pM\3        WR	7      pRpV'       d   VP5                  VVR
7      pM\7        VVR
7      pV
P9                  V4       EK9  	  \        \        V
4      V4      # u upi )z
Concatenate block managers into one.

Parameters
----------
mgrs_indexers : list of (BlockManager, {axis: indexer,...}) tuples
axes : list of Index
concat_axis : int
copy : bool

Returns
-------
BlockManager
c              3  @   <"   T F  w  r\        VS4      x  K  	  R # 5iN)_is_homogeneous_mgr).0mgr_first_dtypes   &  r,   	<genexpr>'concatenate_managers.<locals>.<genexpr>b   s     Vfc'[99s   FTc              3  8   "   T F  p\        V4      x  K  	  R # 5ir1   )len)r3   xs   & r,   r7   r8   g   s     3dc!ffds   deepaxisr?   ea_compat_axis)ndim)r'   )	placement)_maybe_reindex_columns_na_proxyconcat_horizontalr:   nblocksblocksdtypenpfloat64float32alltuple_concat_homogeneous_fastpathr   r'   r$   _get_combined_planblock_is_uniform_join_unitsvaluesis_extensionconcatenater   r   r   r   _concatenate_join_unitsmake_block_same_classr   append)mgrs_indexersr$   r&   r'   
needs_copymgrsshapenbr4   outrG   rC   
join_unitsunitblkjuvalsrR   fastpathbr6   s   &&&&                @r,   concatenate_managersre   =   s_   $ **+*J a.tJOAw((44
=A-"21"5"="="A#A&q)003992::rzz22
 VVVVVV&* 3d33d331-T#RE400*4
KD
4yA~1ghhEh"
F "4D!9	!}jj!*--.89jHHOOjD9### 15$SYY//&t!DI+F;&t!43F;Fzz''6<<7H,ZCFH))&I)FAVy9AaG ":J ft,,A :s   K-c               (    V ^8  d   QhRRRRRRRR/# )	r#   r$   r%   rX   z0list[tuple[BlockManager, dict[int, np.ndarray]]]rY   r(   r)   list[BlockManager]r*   )r+   s   "r,   r-   r-      s0      
C  	r.   c                    . pV Fn  w  rEVP                  4        F"  w  rgVP                  W,          VVRRRR7      pK$  	  V'       d   V'       g   VP                  RR7      pVP                  V4       Kp  	  V# )z
Reindex along columns so that all of the BlockManagers being concatenated
have matching columns.

Columns added in this reindexing have dtype=np.void, indicating they
should be ignored when choosing a column's final dtype.
T)r?   
only_slice
allow_dupsuse_na_proxyr<   )itemsreindex_indexerr'   rW   )r$   rX   rY   new_mgrsr4   indexersiindexers   &&&     r,   rD   rD      s}     H& #..*JA%%! & C + h(((%C '  Or.   c               $    V ^8  d   QhRRRRRR/# )r#   r4   r   r6   r   r)   r(   r*   )r+   s   "r,   r-   r-      s!     
$ 
$\ 
$ 
$T 
$r.   c                    V P                   ^8w  d   R# V P                  ^ ,          pVP                  P                  '       d&   VP                  P                  P
                  ^8X  g   R# VP                  V8H  # )z;
Check if this Manager can be treated as a single ndarray.
F)rF   rG   mgr_locsis_slice_likeas_slicesteprH   )r4   r6   r`   s   && r,   r2   r2      sY     {{a
**Q-CLL&&&3<<+@+@+E+E+J99##r.   c               $    V ^8  d   QhRRRRRR/# )r#   r[   r   r6   znp.dtyper)   r    r*   )r+   s   "r,   r-   r-      s$     , ,,.6,
,r.   c           	        \         ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       d   V  UUu. uF,  w  r4VP                  ^ ,          P                  P                  NK.  	  ppp\        P
                  ! V4      P                  p\        P                  ! \        V^ ,          4      4      p\        Wg4      pV# \        P                  ! WR7      pV\        P                  8X  d   \        P                  p	M\        P                  p	^ p
V  F  w  r;VP                  ^,          pW,           p^ V9   d8   V	! VP                  ^ ,          P                  V^ ,          VRW13,          4       M#VP                  ^ ,          P                  VRW13&   W,          p
K  	  \        P                  ! \        V^ ,          4      4      p\        Wg4      pV# u uppi )z`
With single-Block managers with homogeneous dtypes (that can already hold nan),
we avoid [...]
c              3  4   "   T F  w  rV'       * x  K  	  R # 5ir1   r*   )r3   r5   ro   s   &  r,   r7   /_concat_homogeneous_fastpath.<locals>.<genexpr>   s     
9=KAx<<=s   FT)rH   NNN)rL   rG   rR   TrI   rT   libinternalsr!   slicer   emptyrJ   libalgostake_2d_axis0_float64_float64take_2d_axis0_float32_float32r[   )rX   r[   r6   r4   r5   arrsarrbpr\   	take_funcstartro   mgr_lenends   &&&           r,   rN   rN      sl    s
9=
9sss
9=
9995BC]63

1$$&&]CnnT"$$((uQx9#"	
((5
,Cbjj ::	::	E&))A,o=

1$$AuyL! !$

1 4 4C59 '  
	$	$U58_	5B	c	BIA Ds    2Gc                    V ^8  d   QhRRRR/# )r#   rZ   rg   r)   z0Generator[tuple[BlockPlacement, list[JoinUnit]]]r*   )r+   s   "r,   r-   r-      s      
5r.   c           	   #  Z  "   V ^ ,          P                   ^ ,          pV  Uu. uF  q"P                  NK  	  pp\        P                  ! V4      pV FQ  w  rV. p\	        V 4       F6  w  rWX,          p	\        W&WR7      p
\        V
4      pVP                  V4       K8  	  Wg3x  KS  	  R# u upi 5i)r   )max_lenN)r[   blknosr~   get_concat_blkno_indexers	enumerate_get_block_for_concat_planJoinUnitrW   )rZ   r   r4   blknos_listpairsr   r   units_for_bpkblknor\   r_   s   &           r,   rO   rO      s      1gmmAG)-.#::K.22;?E
 oFAIE+CULBB<D% &   /s   B+B&A6B+c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r#   r4   r   r   r!   r   intr   r)   r    r*   )r+   s   "r,   r-   r-     s4      	)25CF
r.   c                  V P                   V,          p\        V4      \        VP                  4      8X  dF   VP                  P                  '       d*   VP                  P                  P
                  ^8X  d   TpV# V P                  VP                  ,          p\        P                  ! Wc4      p\        V\        4      '       d   VP                  V4      pV# VP                  V4      pV# )   )rG   r:   rt   ru   rv   rw   blklocsrq   r	   maybe_indices_to_slice
isinstancer   slice_block_columnstake_block_columns)r4   r   r   r   r`   r\   ax0_blk_indexerslcs   &&&$    r,   r   r     s     **U
C 2w#cll##"""s||'<'<'A'AQ'F I ++bjj1((B c5!!((-B
 I '',B Ir.   c                  \    ] tR tRtR R ltR R ltR R lt]R R	 l4       tR
 R lt	Rt
R# )r   i-  c                    V ^8  d   QhRRRR/# )r#   rP   r    r)   Noner*   )r+   s   "r,   r-   JoinUnit.__annotate__.  s      e  r.   c                	    Wn         R # r1   rP   )selfrP   s   &&r,   __init__JoinUnit.__init__.  s    
r.   c                   V ^8  d   QhRR/# )r#   r)   strr*   )r+   s   "r,   r-   r   1  s     8 8# 8r.   c                	N    \        V 4      P                   R V P                  : R2# )())type__name__rP   )r   s   &r,   __repr__JoinUnit.__repr__1  s$    t*%%&a

~Q77r.   c                    V ^8  d   QhRRRR/# )r#   rH   r   r)   r(   r*   )r+   s   "r,   r-   r   4  s     6 6h 64 6r.   c                  a V P                   '       g   R# V P                  pVP                  P                  R8X  d   R# VP                  \        8X  dg   VP
                  p\        ;QJ d/    V3R lVP                  RR7       4       F  '       d   K   R# 	  R# ! V3R lVP                  RR7       4       4      # VP                  pV\        J d   VP                  S8w  d   R# V\        J d   \        S4      '       d   R# \        VS4      # )z
Check that we are all-NA of a type/dtype that is compatible with this dtype.
Augments `self.is_na` with an additional check of the type of NA values.
FVTc              3  <   <"   T F  p\        VS4      x  K  	  R # 5ir1   r   )r3   r;   rH   s   & r,   r7   ,JoinUnit._is_valid_na_for.<locals>.<genexpr>B  s     X@W1,Q66@Ws   K)order)is_narP   rH   kindobjectrR   rL   ravel
fill_valuer   r
   r   r   )r   rH   r`   rR   na_values   &f   r,   _is_valid_na_forJoinUnit._is_valid_na_for4  s    
 zzzjj99>>S 99ZZF3XSV@WX33X3X3XSV@WXXX>>s?syyE1 r>1%88  %Xu55r.   c                   V ^8  d   QhRR/# )r#   r)   r(   r*   )r+   s   "r,   r-   r   U  s      t r.   c                	X    V P                   pVP                  P                  R 8X  d   R# R# )r   TFrP   rH   r   )r   r`   s   & r,   r   JoinUnit.is_naT  s!    jj99>>S r.   c                    V ^8  d   QhRRRR/# )r#   empty_dtyper   r)   r   r*   )r+   s   "r,   r-   r   [  s     % % %) %r.   c                	   Vf<   V P                   P                  P                  R8w  d   V P                   P                  # TpV P	                  V4      '       d   V P                   P                  pV\
        P                  ! R4      8X  dN   \        \
        P                  V P                   P                  4      pVP                  '       d   VR,          f   R p\        WP                   P                  V4      # V P                   P                  # )Nr   r   )r   r   )rP   rH   r   rR   r   rI   r   ndarraysizer   r[   )r   r   upcasted_nar   	blk_dtyperR   s   &&&   r,   get_reindexed_valuesJoinUnit.get_reindexed_values[  s     4::#3#3#8#8C#?::$$$$J$$[11 JJ,,	 22 ""**djj.?.?@F{{{vd|';%)
$[**2B2BJOO::$$$r.   r   N)r   
__module____qualname____firstlineno__r   r   r   r   r   r   __static_attributes__r*   r.   r,   r   r   -  s0    86@  % %r.   r   c               $    V ^8  d   QhRRRRRR/# )r#   r^   list[JoinUnit]r'   r(   r)   r   r*   )r+   s   "r,   r-   r-   u  s!       d y r.   c                    \        V 4      p\        ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      p\        W#4      pV  Uu. uF  pVP                  W$R7      NK  	  pp\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       dR   V Uu. uF)  p\	        VP
                  4      '       d   TMVR,          NK+  	  pp\        V^ RR7      p\        V^4      pV# \        V^R7      pV# u upi u upi )	z:
Concatenate values from several join units along axis=1.
c              3  f   "   T F'  qP                   P                  P                  R 8H  x  K)  	  R# 5ir   Nr   r3   r_   s   & r,   r7   *_concatenate_join_units.<locals>.<genexpr>{  #     N:4****//36:   /1TF)r   r   c              3  L   "   T F  p\        VP                  4      x  K  	  R # 5ir1   )r   rH   )r3   ts   & r,   r7   r     s     
;Aqww''s   "$r@   r>   )r   r|   )_get_empty_dtypeany_dtype_to_na_valuer   r   rH   r   r   )	r^   r'   r   has_none_blocksr   ra   	to_concatr   concat_valuess	   &&       r,   rU   rU   u  s    #:.KcN:NcccN:NNO$[BK B 	KQ  
 s
;
;sss
;
;;; 
 %QWW--A1T7: 	 
 &iaM*=!<
  &ia8)
s   D*/Dc                    V ^8  d   QhRRRR/# )r#   rH   r   r   r(   r*   )r+   s   "r,   r-   r-     s      h  r.   c                   \        V \        4      '       d   V P                  # V P                  R9   d   V P	                  R4      # V P                  R9   d   V P	                  R4      # V P                  R8X  d   R# V P                  R9   d   V'       g   R# \
        P                  # V P                  R8X  d   \
        P                  # \        h)	z*
Find the NA value to go with this dtype.
mMr   fcNaNrd   NiuO)r   r   r   r   r   rI   nanNotImplementedError)rH   r   s   &&r,   r   r     s     %((~~	t	zz%  	t	zz%  	s		t	vv	s	vv
r.   c                    V ^8  d   QhRRRR/# )r#   r^   zSequence[JoinUnit]r)   r   r*   )r+   s   "r,   r-   r-     s      !3  r.   c                   \         P                  ! V  Uu. uF  qP                  P                  NK  	  up4      '       d    V ^ ,          P                  P                  pV# \        ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      pV  Uu. uF,  qDP
                  '       d   K  VP                  P                  NK.  	  pp\        V4      pV'       d   \        V4      pV# u upi u upi )z
Return dtype and N/A values to use when concatenating specified units.

Returned N/A value may be None which means there was no casting involved.

Returns
-------
dtype
c              3  f   "   T F'  qP                   P                  P                  R 8H  x  K)  	  R# 5ir   r   r   s   & r,   r7   #_get_empty_dtype.<locals>.<genexpr>  r   r   TF)r	   dtypes_all_equalrP   rH   r   r   r   r   )r^   ra   r   r   r_   dtypesrH   s   &      r,   r   r     s     jAjXX^^jABB m))//cN:NcccN:NNO+5H:4ZZdjj:FHV$E(/L B Is   C+C0/C0c                    V ^8  d   QhRRRR/# )r#   r^   r   r)   r(   r*   )r+   s   "r,   r-   r-     s      ~ $ r.   c                  a V ^ ,          P                   oSP                  P                  R8X  d   R# \        ;QJ d    V3R lV  4       F  '       d   K   RM	  RM! V3R lV  4       4      ;'       dw    \        ;QJ d    V3R lV  4       F  '       d   K   RM	  RM! V3R lV  4       4      ;'       d5    \        ;QJ d    R V  4       F  '       d   K   R# 	  R# ! R V  4       4      # )z
Check if the join units consist of blocks of uniform type that can
be concatenated using Block.concat_same_type instead of the generic
_concatenate_join_units (which uses `concat_compat`).

r   Fc              3  d   <"   T F%  p\        VP                  4      \        S4      J x  K'  	  R # 5ir1   )r   rP   r3   ra   firsts   & r,   r7   )_is_uniform_join_units.<locals>.<genexpr>  s"     ?JbDNd5k)Js   -0Tc              3     <"   T FS  pVP                   P                  SP                  8H  ;'       g$    VP                   P                  P                  R 9   x  KU  	  R# 5i)iubNr   r   s   & r,   r7   r     sT      

 !	 HHNNekk) , , xx~~""e+, !s
   .A,Ac              3  ~   "   T F3  qP                   '       * ;'       g    VP                  P                  x  K5  	  R # 5ir1   )r   rP   rS   )r3   ra   s   & r,   r7   r     s)     GJbL11BHH111Js   ==)rP   rH   r   rL   )r^   r   s   &@r,   rQ   rQ     s     qME{{3 	?J??J?? 	H 	H 	 

 !
 

 !
 	
	H 	H 	GJG 	 	GJGGr.   )=
__future__r   typingr   r   numpyrI   pandas._libsr   r   r   r   r~   r	   pandas._libs.missingr
   pandas.util._decoratorsr   pandas.core.dtypes.castr   r   pandas.core.dtypes.commonr   r   pandas.core.dtypes.concatr   pandas.core.dtypes.dtypesr   pandas.core.dtypes.missingr   pandas.core.constructionr   pandas.core.internals.blocksr   r   pandas.core.internals.managersr   r   collections.abcr   r   pandas._typingr   r   r   r   pandasr   r    r!   re   rD   r2   rN   rO   r   r   rU   r   r   rQ   r*   r.   r,   <module>r     s    "
   $ 2 4 4 < C
 
  ^-BB
$,^,8E% E%P@.2r.   