+
    xȇi7                        ^ RI Ht ^ RIHtHt ^ RIHt ]'       d   ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt  ! R	 R
]4      tR R ltR R ltR R ltR R ltR R ltR# )    )annotations)TYPE_CHECKING
NamedTuple)is_1d_only_ea_dtype)Iterator)BlockPlacement)	ArrayLike)Block)BlockManagerc                  T    ] tR t^t$ R]R&   R]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )BlockPairInfor	   lvalsrvalsr   locsboolleft_earight_ear
   rblk N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       i/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/core/internals/ops.pyr   r      s#    
MN
Kr   r   c               $    V ^8  d   QhRRRRRR/# )   leftr   rightreturnzIterator[BlockPairInfo]r   )formats   "r   __annotate__r$      s$      
+r   c           
   #  >  "   V P                    F  pVP                  pVP                  pVP                  ^8H  pVP	                  VP
                  RR7      pV F;  pVP                  P                  ^8H  p\        W'WX4      w  r\        WW5W4      pVx  K=  	  K  	  R# 5i)   T)
only_sliceN)blocksmgr_locsvaluesndim_slice_take_blocks_ax0indexer_get_same_shape_valuesr   )r    r!   blkr   blk_valsr   rblksr   r   r   r   infos   &&          r   _iter_block_pairsr3      s      {{||::--1$,,T\\d,K D{{''1,H1#WOLE thMDJ  s   BBc               $    V ^8  d   QhRRRRRR/# )r   r    r   r!   r"   r   )r#   s   "r   r$   r$   9   s$     % %
%+%%r   c                   . p\        W4       F  w  rErgrV! WE4      p
V'       dH   V'       g@   \        V
R 4      '       d.   \        V
P                  4      '       g   V
P	                  ^R4      p
V	P                  V
4      p\        W4       VP                  V4       K  	  \        V4      ! \        V4      VP                  RR7      pV# )reshapeF)axesverify_integrity)r3   hasattrr   dtyper6   _split_op_result_reset_block_mgr_locsextendtypetupler7   )r    r!   array_opres_blksr   r   r   r   r   r   
res_valuesnbsnew_mgrs   &&&          r   operate_blockwiserF   9   s     H7H7U3dXe+

I..'
(8(899#++Ar2J##J/ 	c(' 8V: 5k%/

USGNr   c                    V ^8  d   QhRRRR/# )r   rD   zlist[Block]r"   Noner   )r#   s   "r   r$   r$   a   s      { T r   c                \    V  F%  pWP                   P                  ,          pW2n         K'  	  R# )z9
Reset mgr_locs to correspond to our original DataFrame.
N)r)   r-   )rD   r   nbnblocss   &&  r   r=   r=   a   s%     kk))* r   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	r   lblkr
   r   r   r   r   r"   ztuple[ArrayLike, ArrayLike]r   )r#   s   "r   r$   r$   m   s4     # #
##'+#7;# #r   c                   V P                   pVP                   pVP                  P                  '       g   Q VP                  4       hV'       gc   V'       g[   WAP                  P                  R3,          pVP                  VP                  8X  g   Q VP                  VP                  34       h WE3# V'       dE   V'       d=   VP                  VP                  8X  g   Q VP                  VP                  34       h WE3# V'       dT   WAP                  P                  R3,          pVP                  ^ ,          ^8X  g   Q VP                  4       hVR,          pWE3# VP                  ^ ,          ^8X  g   Q VP                  4       hVR,          pWE3# )z@
Slice lblk.values to align with rblk.  Squeeze if we have EAs.
NNN)r   rO   )r*   r)   is_slice_liker-   shape)rM   r   r   r   r   r   s   &&&&  r   r.   r.   m   sF    KKEKKE ==&&&55& x mm++Q./{{ekk)EEKK+EE)$ <# 
X{{ekk)EEKK+EE)  < 

 mm++Q./{{1~"/EKK/"d < {{1~"/EKK/" d<r   c               $    V ^8  d   QhRRRRRR/# )r   r    r   r!   r"   r   r   )r#   s   "r   r$   r$      s!       \ $ r   c                z    \        W4       F+  pV! VP                  VP                  4      pV'       d   K*   R# 	  R# )z
Blockwise `all` reduction.
FT)r3   r   r   )r    r!   opr2   ress   &&&  r   blockwise_allrV      s4     "$.TZZ(s / r   N)
__future__r   typingr   r   pandas.core.dtypes.commonr   collections.abcr   pandas._libs.internalsr   pandas._typingr	   pandas.core.internals.blocksr
   pandas.core.internals.managersr   r   r3   rF   r=   r.   rV   r   r   r   <module>r_      sK    "
 :(5(2;J 8%P#Lr   