+
    xȇi~                       R t ^ RIHt ^ RIHt ^ RIHtHt ^ RIt	^ RIH
t
 ^ RIHt ^ RIHt ^ RIHt ^ R	IHtHtHtHt ^ R
IHtHtHtHtHtHt ^ RIHtHt ^ RI H!t!H"t" ^ RI#H$t$ ^ RI%H&t&H't( ^ RI)H*t* ^ RI+H,t, ^ RI-H.t/H0t0H1t1H2t2 ^ RI3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t; ^ RI<H=t=H>t>H?t?H@t@ ^ RIAHBtBHCtC ]'       d   ^ RIDHEtEHFtF ^ RIGHHtHHItIHJtJHKtK RRRRRR/R R lltLR R ltMR R  ltNR! R" ltORRR#R/R$ R% lltPR& R' ltQR( R) ltRRGR* R+ lltSR, R- ltTR. R/ ltUR0 R1 ltVR2 R3 ltWR4 R5 ltXR6 R7 ltYR8 tZRHR9 R: llt[R; R< lt\R= R> lt]R? R@ lt^RA RB lt_RC RD lt`RIRE RF lltaR# )Jz~
Functions for preparing various inputs passed to the DataFrame or Series
constructors before passing them to a BlockManager.
)annotations)abc)TYPE_CHECKINGAnyN)ma)using_string_dtype)lib)astype_is_view)"construct_1d_arraylike_from_scalardict_compatmaybe_cast_to_datetimemaybe_convert_platform)is_1d_only_ea_dtypeis_integer_dtypeis_list_likeis_named_tupleis_object_dtype	is_scalar)BaseMaskedDtypeExtensionDtype)ABCDataFrame	ABCSeries)isna)
algorithmscommon)ExtensionArray)StringDtype)arrayextract_arrayrange_to_ndarraysanitize_array)DatetimeIndexIndexTimedeltaIndexdefault_indexensure_indexget_objs_combined_axismaybe_sequence_to_rangeunion_indexes)BlockPlacementensure_block_shape	new_blocknew_block_2d) create_block_manager_from_blocks'create_block_manager_from_column_arrays)HashableSequence)	ArrayLikeDtypeObjManagernptdtypeverify_integrityTconsolidatec          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
   columnsr"   r5   DtypeObj | Noner6   boolr7   returnr3    )formats   "r/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/core/internals/construction.py__annotate__rA   _   s<     8 88
 8 8 8 8    c               *   V'       d+   Vf   \        V 4      pM\        V4      p\        WV4      w  rM\        V4      pV  Uu. uF  p\        VRR7      NK  	  p pR.\	        V 4      ,          pV  F^  p\        V\        P                  \        34      '       d-   VP                  ^8w  g   \	        V4      \	        V4      8w  g   KU  \        R4      h	  \        V4      p\	        V4      \	        V 4      8w  d   \        R4      hW.p	\        W	WVR7      # u upi )zg
Segregate Series based on type and coerce into matrices.

Needs to handle a lot of exceptional cases.
NTextract_numpyzYArrays must be 1-dimensional np.ndarray or ExtensionArray with length matching len(index)z#len(arrays) must match len(columns))r7   refs)_extract_indexr%   _homogenizer   len
isinstancenpndarrayr   ndim
ValueErrorr.   )
arraysr:   indexr5   r6   r7   rF   xarraxess
   &&&$$$    r@   arrays_to_mgrrT   _   s    ="6*E 'E #6%8 U#@FG1-6GvF# CsRZZ$@AA88q=s8s5z) 6   7#G
7|s6{">?? D2+ / Hs   Dc               (    V ^8  d   QhRRRRRRRR/# )	r9   dataznp.rec.recarray | np.ndarrayr5   r;   copyr<   r=   r3   r>   )r?   s   "r@   rA   rA      s2      
& 	
  rB   c                <   \         P                  ! V 4      pVf   \        \        V4      4      pM\	        V4      pVe   \	        V4      p\        WR4      w  rg\        WgV\        V4      4      w  rgVf   Tp\        WbWR7      pV'       d   VP                  RR7      pV# )z9
Extract from a masked rec array and create the manager.
r5   Tdeep)	r   getdatar$   rI   r%   	to_arraysreorder_arraysrT   rW   )	rV   rP   r:   r5   rW   fdatarO   arr_columnsmgrs	   &&&&&    r@   rec_array_to_mgrrb      s     JJtE}c%j)U#w'#E3F )gs5zRF

<ChhDh!JrB   c               $    V ^8  d   QhRRRRRR/# )r9   r5   r;   rW   r<   r=   r3   r>   )r?   s   "r@   rA   rA      s)     U U#2U:>UUrB   c                   \        V \        \        \        34      '       * p\        V \        4      '       d   Vf%   V P                  e   \        V P                  .4      pVf   V P
                  pMV P                  V4      p \        V 4      '       g2   Ve.   \        V4      '       d   \        P                  ! R\        R7      p \        V RR 4      pR p\        V4      '       g   \        V4      '       d   \        V \        P                  \        34      '       dG   V P                  ^8  d6   \        V P                   ^,          4       Uu. uF  pV RV3,          NK  	  p pMV .p Vf   \        \        \        V 4      4      4      pM\#        V4      p\%        WWR7      # \        V\&        4      '       dK   \)        V RR7      p V'       d   V P+                  4       p V P                  ^8X  d   V P-                  R^4      p EM!\        V \        \        34      '       dp   V'       g-   Ve   \/        V P0                  V4      '       d   V P2                  pV'       d   V P4                  P+                  4       p MV P4                  p \7        V 4      p M\        V \        P                  \        34      '       de   V'       d;   Ve   \/        V P0                  V4      '       d   \        P8                  ! V RRR7      p M\        P:                  ! V 4      p \7        V 4      p M\=        WR7      p Ve"   V P0                  V8w  d   \?        V R VVRR	7      p \A        V P                   ^ ,          V P                   ^,          WR
7      w  r\C        WV4       V PD                  p VEf+   V'       Ed"   \G        V P0                  4      '       Ed   \I        V 4      p	V	 U
u. uF2  p
\J        PL                  ! V
RRR\        P0                  ! R4      R7      NK4  	  pp
\N        ;QJ d'    R \Q        WRR7       4       F  '       g   K   RM	  RM! R \Q        WRR7       4       4      '       d?   \S        V4       UUu. uF%  w  r\U        \W        V^4      \Y        V4      R7      NK'  	  pppEM\Y        \[        \        V4      4      4      p\U        WVR7      pV.pMVf   V P0                  P\                  R8X  d   \_        4       '       d   \a        \        Pb                  R7      p\I        V 4      p	\S        V	4       UUu. uFM  w  pp\e        VPg                  4       Pi                  VVR7      \Y        \[        VV^,           4      4      ^R7      NKO  	  pppM-\Y        \[        \        V4      4      4      p\U        WVR7      pV.p\        V4      ^ 8X  d   . p\k        WV.RR7      # u upi u up
i u uppi u uppi )NrY   r5   NNNTrD   F)rW   orderrW   )r5   rW   allow_2d)rP   r:   FM8[s]convert_numericconvert_non_numericconvert_to_nullable_dtypedtype_if_all_natc              3  ,   "   T F
  w  rWJx  K  	  R # 5iNr>   ).0rQ   ys   &  r@   	<genexpr>!ndarray_to_mgr.<locals>.<genexpr>4  s     T&Sdaqz&Ss   )strict)	placement)rw   rF   U)na_value)rM   )r6   )       )6rJ   r   r"   r   namerP   reindexrI   rK   emptyobjectgetattrr   rL   rM   rangeshaper%   rT   r   r   rW   reshaper	   r5   _references_values
_ensure_2dr   asarray_prep_ndarrayliker    	_get_axes!_check_values_indices_shape_matchTr   listr   maybe_convert_objectsanyzip	enumerater,   r*   r)   slicekindr   r   nanr+   construct_array_type_from_sequencer-   )valuesrP   r:   r5   rW   infer_objectvdtyperF   nobj_columnsrQ   maybe_datetimedvalblock_valuesbpnbirV   s   &&&&&             r@   ndarray_to_mgrr      s   
 "&9e^*LMML&)$$?{{&.=LLE^^E*F 6{{w2s7||XXfF3FVWd+FD6""&9%&@&@ frzz>:;;a v||A//A q!t/  F
 XF?E#f+./G"7+GVeAA	FN	+	+ vT:[[]F;;!^^B*F	FY.	/	/.u*M*M%%D^^((*F^^FF#	FRZZ8	9	9U]nV\\5&I&I XXf4s;FZZ'FF#
 #65V\\U2
 QaNE &fW=XXF
 }/&,,*G*G6l !
 ! %% !&$(*/!#'!2 ! 	 
 3Tc+d&ST333Tc+d&STTT  )88GA /a8NSTDUV8  L
  c'l 34Bf>B4L	6<<,,38J8L8LRVV,6l %[1
 24 **,;;D;NuQA/
 2 	 
 E#g,/0&T:t
7|q+& kR

s   	W8W+WAWc               (    V ^8  d   QhRRRRRRRR/# )r9   r   
np.ndarrayrP   r"   r:   r=   Noner>   )r?   s   "r@   rA   rA   X  s2     Y YY$Y/4Y	YrB   c                ^   V P                   ^,          \        V4      8w  g"   V P                   ^ ,          \        V4      8w  dk   V P                   ^ ,          ^ u;8X  d   \        V4      8  d   M M\        R4      hV P                   p\        V4      \        V4      3p\        RV RV 24      hR# )zP
Check that the shape implied by our axes matches the actual shape of the
data.
z)Empty data passed with indices specified.zShape of passed values is z, indices imply N)r   rI   rN   )r   rP   r:   passedimplieds   &&&  r@   r   r   X  s     ||A#g,&&,,q/SZ*G <<?a,#e*,HIIu:s7|,5fX=MgYWXX +HrB   rW   c               (    V ^8  d   QhRRRRRRRR/# )	r9   rV   dictr5   r;   rW   r<   r=   r3   r>   )r?   s   "r@   rA   rA   j  s>     UP UP
UP
 UP UP UPrB   c                  VEe   \        V4      pVe?   \        V\        P                  4      '       g   VP                  .\        V4      ,          pM!\        P                  .\        V4      ,          p\        4       p\        V P                  4       4      p\        V P                  4       4      p\        V4       FZ  w  r VP                  V
4      pY,          pYT	&   \        T4      '       g   K6  \!        T4      '       g   KI  TP                  T	4       K\  	  VfF   V'       d2   \#        \        V4       U	Uu. uF  w  rW9  g   K  VNK  	  upp	4      pM\#        V4      pM\        V4      pV'       dU   \%        V4      '       gD   V F=  p	\'        WY,          \        V4      Ve   TM\        P                  ! R4      4      pWV	&   K?  	  Mk\)        \        V P                  4       4      4      pV'       d   \+        V4      M
\-        ^ 4      pV Uu. uF  p\.        P0                  ! W,          4      NK!  	  ppV'       d   V Uu. uF  p\        V\2        4      '       d   VP5                  4       MZ\        V\*        4      '       g2   \        V\6        4      '       d.   \9        VP                  4      '       d   VP5                  RR7      MTNK  	  pp\;        WRWVR7      #   \         d    TP                  T	4        EK@  i ; iu upp	i u upi u upi )z
Segregate Series based on type and coerce into matrices.
Needs to handle a lot of exceptional cases.

Used in DataFrame.__init__
r   TrZ   )r5   r7   )r%   rJ   rK   r5   ry   rI   r   setkeysr   r   r   get_locKeyErroraddr   r   rG   r   r
   r'   r"   r$   commaybe_iterable_to_listr   rW   r   r   rT   )rV   rP   r:   r5   rW   rO   midxs	data_keysdata_valuesr   columnidxr   rR   r   krQ   s   &&&$$            r@   dict_to_mgrr   j  sw     w'Zrxx%@%@nn%G4FffXG,F -	4;;=)"7+IA''/  $E1IDKK		! , = &+4V+<O+<xqUU+<O 'v. 'E )%008IJ".EBHHX4F
  q	  'tDIIK'89!%%+=+;?CDt!#,,TW5tD  
  a00 
 #1e,,&q)449LQWW9U9U FFF%
 	  	 
  %$OOo  		! P* E

s+   K8
K?
K?
%LB
L
K<;K<c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r9   rV   r0   r:   Index | NonerP   r5   r;   r=   z$tuple[list[ArrayLike], Index, Index]r>   )r?   s   "r@   rA   rA     s:     " "
"" " 	"
 *"rB   c                0   \        V ^ ,          4      '       d!   Vf   \        V ^ ,          P                  4      p\        WVR7      w  rA\        V4      pVf>   \	        V ^ ,          \
        4      '       d   \        V 4      pM\        \        V 4      4      pWAV3# )z9
Convert a single sequence of arrays to multiple arrays.
rY   )	r   r%   _fieldsr]   rJ   r   _get_names_from_indexr$   rI   )rV   r:   rP   r5   rO   s   &&&& r@   nested_data_to_arraysr     sz     d1g7?tAw/U;OF7#G}d1gy)))$/E!#d),EE!!rB   c                   V ^8  d   QhRR/# )r9   r=   r<   r>   )r?   s   "r@   rA   rA     s     	 	T 	rB   c                    \        V 4      ^ 8  ;'       df    \        V ^ ,          4      ;'       dL    \        V ^ ,          R^4      ^8H  ;'       d-    \        V \        4      ;'       d    V P
                  ^8H  '       * # )z/
Check if we should use nested_data_to_arrays.
rM   )rI   r   r   rJ   r   rM   )rV   s   &r@   treat_as_nestedr     sx    
 	D	A 	F 	Fa!	F 	FDGVQ'1,	F 	F D.1DDdii1nE	rB   c                    V ^8  d   QhRRRR/# )r9   rW   r<   r=   r   r>   )r?   s   "r@   rA   rA     s     # #D #J #rB   c                l   \        V 4      ^ 8X  d   \        P                  ! R\        R7      # \	        V \
        4      '       d%   \        V 4      pVR\        P                  3,          # R p\        V ^ ,          4      '       d-   \        P                  ! V  Uu. uF
  qC! V4      NK  	  up4      p Ms\	        V ^ ,          \        P                  4      '       dE   V ^ ,          P                  ^ 8X  d-   \        P                  ! V  Uu. uF
  qC! V4      NK  	  up4      p MV! V 4      p \        V 4      # u upi u upi )rz   rY   .c                    \        V 4      '       d   \        V \        4      '       d   V # \        V R R7      p \	        V 4      pV# )TrD   )r   rJ   r   r   r   )vress   & r@   convert"_prep_ndarraylike.<locals>.convert  s9    A*Q"="=H!40$Q' 
rB   )rz   rz   )rI   rK   r   r   rJ   r   r   newaxisr   r   rL   rM   r   )r   rW   rR   r   r   s   &&   r@   r   r     s     6{a xxf--	FE	"	"v&3

?## F1Iv6v!71:v67	F1Irzz	*	*vay~~/Bv6v!71:v67f 7 7s   D,D1c                    V ^8  d   QhRRRR/# )r9   r   r   r=   r>   )r?   s   "r@   rA   rA     s      z j rB   c                    V P                   ^8X  d'   V P                  V P                  ^ ,          ^34      p V # V P                   ^8w  d   \        RV P                   24      hV # )z:
Reshape 1D values, raise on anything else other than 2D.
zMust pass 2-d input. shape=)rM   r   r   rN   )r   s   &r@   r   r     s\     {{aa! 45 M 
	6v||nEFFMrB   c               $    V ^8  d   QhRRRRRR/# )r9   rP   r"   r5   r;   r=   z!tuple[list[ArrayLike], list[Any]]r>   )r?   s   "r@   rA   rA     s$     ' ''.'&'rB   c                   R p. p. pV  EFh  p\        V\        \        34      '       du   Ve   VP                  V4      p\        V\        4      '       d"   VP                  VJd   VP                  V4      pVP                  VP                  4       VP                  pM\        V\        4      '       dy   Vf   VP                  R4      p\        V\        \        34      '       d   \        V4      pM\        V4      p\        P                  ! WcP                  \        P                   R7      p\#        WaVRR7      p\$        P&                  ! Wa4       VP                  R 4       VP                  V4       EKk  	  WE3# )NO)defaultFr5   rW   )rJ   r   r"   astyperP   r~   appendr   r   r   r!   r#   r   r   fast_multigetrK   r   r    r   require_length_match)rV   rP   r5   oindexhomogenizedrF   vals   &&&    r@   rH   rH     s(    FKDcIu-.. jj'#y))ciiu.D kk%(KK(++C#t$$ >"\\#.Fem^%DEE%c*C s)C''^^RVVL 5uEC$$S0KK3; > rB   c                   V ^8  d   QhRR/# r9   r=   r"   r>   )r?   s   "r@   rA   rA   F  s     7 7E 7rB   c                   \        V 4      ^ 8X  d   \        ^ 4      # \        4       p. pRpRpRpV  F  p\        V\        4      '       d    RpVP                  VP                  4       K8  \        V\        4      '       d-   RpVP                  \        VP                  4       4      4       Kz  \        V4      '       d1   \        VR^4      ^8X  d   RpVP                  \        V4      4       K  \        V\        P                  4      '       g   K  VP                  ^8  g   K  \!        R4      h	  V'       g   V'       g   \!        R4      hV'       d   \#        V4      pMV'       d   \#        VRR7      pV'       d   \        V4      ^8  d   \!        R4      hV'       d   \!        R4      hVP%                  4       pV'       d.   V\        X4      8w  d   R	V R
\        V4       2p	\!        V	4      hM\        V4      p\'        X4      # )zJ
Try to infer an Index from the passed data, raise ValueError on failure.
FTrM   z,Per-column arrays must each be 1-dimensionalz2If using all scalar values, you must pass an indexsortz%All arrays must be of the same lengthz<Mixing dicts with non-Series may lead to ambiguous ordering.zarray length z does not match index length )rI   r$   r   rJ   r   r   rP   r   r   r   r   r   r   rK   rL   rM   rN   r(   popr%   )
rV   raw_lengthsindexeshave_raw_arrayshave_series
have_dictsr   rP   
raw_lengthmsgs
   &         r@   rG   rG   F  s   
 4yA~Q%K,.GOKJc9%%KNN399%T""JNN4
+,#73#:a#?"OOOCH%RZZ((SXX\KLL  ;MNNg&	gE2{aDEEN  !__&
SZ'#J< 0!%j\+  !o% ( "*-ErB   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r9   rO   list[ArrayLike]r`   r"   r:   r   lengthintr=   tuple[list[ArrayLike], Index]r>   )r?   s   "r@   rA   rA     s4      */:FPS"rB   c                L   Ve   VP                  V4      '       g   . pVP                  V4      p\        V4       Fa  w  rgVR8X  d=   \        P                  ! V\
        R7      pVP                  \        P                  4       MW,          pVP                  V4       Kc  	  Tp TpW3# )z9
Preemptively (cheaply) reindex arrays with new columns.
rY   r|   )	equalsget_indexerr   rK   r   r   fillr   r   )	rO   r`   r:   r   
new_arraysindexerr   r   rR   s	   &&&&     r@   r^   r^     s     ~~k***,J!--g6G!'*7((68CHHRVV$ )C!!#& +  F!KrB   c                   V ^8  d   QhRR/# r   r>   )r?   s   "r@   rA   rA     s      5 rB   c                l   \         ;QJ d    R  V  4       F  '       g   K   RM	  RM! R  V  4       4      pV'       g   \        \        V 4      4      # \        \	        \        V 4      4      4      p^ p\        V 4       F,  w  rE\        VRR4      pVe   WbV&   K  RV 2W$&   V^,          pK.  	  \        V4      # )c              3  @   "   T F  p\        VR R4      RJx  K  	  R# 5i)r}   N)r   )rr   ss   & r@   rt   (_get_names_from_index.<locals>.<genexpr>  s     Kd640<ds   TFr}   NzUnnamed )r   r$   rI   r   r   r   r   r"   )rV   has_some_namerP   countr   r   r   s   &      r@   r   r     s    CKdKCCCKdKKMSY'' s4y!12EE$Avt$=!H!%)EHQJE   <rB   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	r9   Nr   KrP   r   r:   r=   ztuple[Index, Index]r>   )r?   s   "r@   rA   rA     s4      
'2>rB   c                x    Vf   \        V 4      pM\        V4      pVf   \        V4      pW#3# \        V4      pW#3# rq   )r$   r%   )r   r   rP   r:   s   &&&&r@   r   r     sJ     }a U#" > w'>rB   c                6    ^ RI Hp \        \        W4      4      # )as  
Converts a list of dataclass instances to a list of dictionaries.

Parameters
----------
data : List[Type[dataclass]]

Returns
--------
list_dict : List[dict]

Examples
--------
>>> from dataclasses import dataclass
>>> @dataclass
... class Point:
...     x: int
...     y: int

>>> dataclasses_to_dicts([Point(1, 2), Point(2, 3)])
[{'x': 1, 'y': 2}, {'x': 2, 'y': 3}]

)asdict)dataclassesr   r   map)rV   r   s   & r@   dataclasses_to_dictsr     s    0 #F!""rB   c               $    V ^8  d   QhRRRRRR/# )r9   r:   r   r5   r;   r=   r   r>   )r?   s   "r@   rA   rA     s$     6 66(76"6rB   c                6   \        V 4      '       g   \        V \        P                  4      '       d   V P                  P
                  e|   \        V P                  P
                  4      pV Uu. uF  q0V,          NK  	  pp\        V 4      ^ 8X  d3   \        V4       F#  w  rVVP                  ^8X  g   K  VR,          WE&   K%  	  WA3# . \        . 4      3# \        V \        P                  4      '       dV   V P                  P
                  e>   Vf    \        V P                  P
                  4      pV Uu. uF  qpV,          NK  	  ppWA3# \        V ^ ,          \        \        34      '       d   \        V 4      pM\        V ^ ,          \        P                  4      '       d   \        W4      w  raMP\        V ^ ,          \         4      '       d   \#        W4      w  raM%V  Uu. uF  p\        V4      NK  	  p p\        V 4      p\%        WaV4      w  rW3# u upi u upi u upi )z
Return list of arrays, columns.

Returns
-------
list[ArrayLike]
    These will become columns in a DataFrame.
Index
    This will become frame.columns.

Notes
-----
Ensures that len(result_arrays) == len(result_index).
)re   rz   )rI   rJ   rK   rL   r5   namesr%   r   rM   r"   r   tuple_list_to_arraysr   Mapping_list_of_dict_to_arraysr   _list_of_series_to_arrays_finalize_columns_and_data)
rV   r:   r5   r}   rO   r   rR   r   rQ   contents
   &&&       r@   r]   r]     s   $ t99dBJJ''zz+&tzz'7'78189t**9t9> #,F"388q=(+D	FI #4 &<###	D"**	%	%$***:*:*F?DJJ,,-G#*+7aq''7+$q'D%=))d#	DGS[[	)	).t=W	DGY	'	'0?W #''$Qa$'d#1#FG? :  , (s   -H1HHc                    V ^8  d   QhRRRR/# )r9   rV   zlist[tuple | list]r=   r   r>   )r?   s   "r@   rA   rA     s      ,  rB   c                    \        V ^ ,          \        4      '       d   \        P                  ! V 4      pV# \        P                  ! V 4      pV# )rz   )rJ   r  r   to_object_array_tuplesto_object_array)rV   r
  s   & r@   r  r    sC     $q'5!!,,T2 N %%d+NrB   c               $    V ^8  d   QhRRRRRR/# )r9   rV   r   r:   r   r=   tuple[np.ndarray, Index]r>   )r?   s   "r@   rA   rA   $  s&      
 rB   c                   Vf=   V  Uu. uF#  p\        V\        \        34      '       g   K!  VNK%  	  pp\        VRR7      p/ p. pV  F  p\	        VRR 4      pVf   \        \        V4      4      p\        V4      V9   d   V\        V4      ,          pMVP                  V4      ;q\        V4      &   \        VRR7      p	VP                  \        P                  ! W4      4       K  	  \        P                  ! V4      p
W3# u upi )NFr   rP   TrD   )rJ   r   r   r&   r   r$   rI   idr   r   r   r   take_ndrK   vstack)rV   r:   rQ   	pass_dataindexer_cachealigned_valuesr   rP   r   r   r
  s   &&         r@   r  r  $  s      $Q1
1y,6O(PQQ	Q(?+-MN7D)=!#a&)Ee9%#BuI.G161B1B71KKGBuI.q5j00AB  ii'G) Rs
   C?C?c               $    V ^8  d   QhRRRRRR/# )r9   rV   z
list[dict]r:   r   r=   r  r>   )r?   s   "r@   rA   rA   C  s&     " "
"" "rB   c                   Vfe   R V  4       p\         ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      '       * p\        P                  ! W#R7      p\        V4      pV  Uu. uF#  p\	        V4      \
        J d   TM
\        V4      NK%  	  p p\        P                  ! V \        V4      4      pWa3# u upi )a  
Convert list of dicts to numpy arrays

if `columns` is not passed, column names are inferred from the records
- for OrderedDict and dicts, the column names match
  the key insertion-order from the first record to the last.
- For other kinds of dict-likes, the keys are lexically sorted.

Parameters
----------
data : iterable
    collection of records (OrderedDict, dict)
columns: iterables or None

Returns
-------
content : np.ndarray[object, ndim=2]
columns : Index
c              3  T   "   T F  p\        VP                  4       4      x  K   	  R # 5irq   )r   r   )rr   rQ   s   & r@   rt   *_list_of_dict_to_arrays.<locals>.<genexpr>[  s     ,t!tAFFH~~ts   &(c              3  B   "   T F  p\        V\        4      x  K  	  R # 5irq   )rJ   r   )rr   ds   & r@   rt   r  \  s     9Dqz!T**D   TFr   )r   r   fast_unique_multiple_list_genr%   typer   dicts_to_arrayr   )rV   r:   genr   pre_colsr  r
  s   &&     r@   r  r  C  s    . ,t,39D93339D99944SDx( 8<<t!aDAd1g-tD<  tG}5G =s   -)B;c               (    V ^8  d   QhRRRRRRRR/# )	r9   r
  r   r:   r   r5   r;   r=   r   r>   )r?   s   "r@   rA   rA   h  s0        #	rB   c                    \        V P                  4      p \        W14      pT'       d3   T^ ,          P
                  \        P                  8X  d   \        Y2R7      pY13#   \         d   p\	        T4      ThRp?ii ; i)z?
Ensure we have valid columns, cast object dtypes if possible.
NrY   )	r   r   _validate_or_indexify_columnsAssertionErrorrN   r5   rK   object_convert_object_array)r
  r:   r5   contentserrs   &&&  r@   r	  r	  h  sk     GIIH'/B
 HQK%%3'>  'o3&'s   A A;*A66A;c               $    V ^8  d   QhRRRRRR/# )r9   r
  zlist[np.ndarray]r:   r   r=   r"   r>   )r?   s   "r@   rA   rA   ~  s$     4 44(44
4rB   c                   Vf   \        \        V 4      4      pV# \        V\        4      ;'       d5    \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      pV'       g=   \        V4      \        V 4      8w  d$   \        \        V4       R\        V 4       R24      hV'       d   \        V Uu0 uF  p\        V4      kK  	  up4      ^8  d   \        R4      hV'       dK   \        V^ ,          4      \        V 4      8w  d+   \        \        V^ ,          4       R\        V 4       R24      hV# u upi )ah  
If columns is None, make numbers as column names; Otherwise, validate that
columns have valid length.

Parameters
----------
content : list of np.ndarrays
columns : Index or None

Returns
-------
Index
    If columns is None, assign positional column index value as columns.

Raises
------
1. AssertionError when content is not composed of list of lists, and if
    length of columns is not equal to length of content.
2. ValueError when content is list of lists, but length of each sub-list
    is not equal
3. ValueError when content is list of lists, but length of sub-list is
    not equal to length of content
c              3  B   "   T F  p\        V\        4      x  K  	  R # 5irq   )rJ   r   )rr   cols   & r@   rt   0_validate_or_indexify_columns.<locals>.<genexpr>  s      7
-4cJsD!!Wr  FTz! columns passed, passed data had z columnsz<Length of columns passed for MultiIndex columns is different)r$   rI   rJ   r   allr'  rN   )r
  r:   
is_mi_listr/  s   &&  r@   r&  r&  ~  s    4 G-2 N-  . 
 
33 7
-47
333 7
-47
 4

 c'lc'l: w<. A#g,xX  0CH01A5 R 
 3wqz?c'l: 71:''H7|nH.  N 1s   <D;c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r9   r
  zlist[npt.NDArray[np.object_]]r5   r;   dtype_backendstrcoerce_floatr<   r=   r   r>   )r?   s   "r@   rA   rA     sA     N N*NN N 	N
 NrB   c                R   aaa VVV3R lpV  Uu. uF
  qT! V4      NK  	  ppV# u upi )a  
Internal function to convert object array.

Parameters
----------
content: List[np.ndarray]
dtype: np.dtype or ExtensionDtype
dtype_backend: Controls if nullable/pyarrow dtypes are returned.
coerce_float: Cast floats that are integers to int.

Returns
-------
List[ArrayLike]
c           	     r  < S\         P                  ! R 4      8w  Ed   SR8g  ;'       g    \        S\        4      p\        P
                  ! V SVR7      p SEf   V P                  \         P                  ! R 4      8X  d   SR8g  p\        P
                  ! V RRV\         P                  ! R4      R7      p V'       dR   V P                  \         P                  ! R 4      8X  d-   \        4       pVP                  4       pVP                  WR7      p V # SR8w  dI   \        V \         P                  4      '       d)   V P                  P                  R9   d   \        V RR	7      p V # \        S\        4      '       d'   SP                  4       pVP                  V SRR
7      p V # SP                  R9   d   \        V S4      p V # )r   numpy)	try_floatrn   FTrj   rk   rY   iufbrh   r   mM)rK   r5   rJ   r   r   r   r   r   r   rL   r   pd_arrayr   r   )	rR   to_nullablern   	new_dtypearr_clsclsr6  r5   r4  s	   &     r@   r   %convert_object_array.<locals>.convert  sy   BHHSM! (72XXj6XK++&*5C }99-0=0H-33 ).,02K)+'):C 1SYY"((3-5O$/M	"+"@"@"B%44S4J& 
% #g-*S"**2M2Myy~~/&s7  
 E>22 002((E(F 
 t# -S%8
rB   r>   )r
  r5   r4  r6  r   rR   rO   s   &fff   r@   r)  r)    s-    ,4l '..gsgclgF.M /s   $)Trq   )r9  F)b__doc__
__future__r   collectionsr   typingr   r   r9  rK   r   pandas._configr   pandas._libsr   pandas.core.dtypes.astyper	   pandas.core.dtypes.castr
   r   r   r   pandas.core.dtypes.commonr   r   r   r   r   r   pandas.core.dtypes.dtypesr   r   pandas.core.dtypes.genericr   r   pandas.core.dtypes.missingr   pandas.corer   r   r   pandas.core.arraysr   pandas.core.arrays.string_r   pandas.core.constructionr   r=  r   r   r    pandas.core.indexes.apir!   r"   r#   r$   r%   r&   r'   r(   pandas.core.internals.blocksr)   r*   r+   r,   pandas.core.internals.managersr-   r.   collections.abcr/   r0   pandas._typingr1   r2   r3   r4   rT   rb   r   r   r   r   r   r   r   rH   rG   r^   r   r   r   r]   r  r  r  r	  r&  r)  r>   rB   r@   <module>rX     sN  
 # 
   -  4   , . 2 	 	 	 
 
 8
 "8 "8 8vLUpY$UP
 "UP UPp"4	#L'T7t6$$#B6r>"J,4nN NrB   