ó
    Ñ]jj  ã                  ó4  • S r SSKJr  SSKJrJr  SSKJr  SSKrSSK	r
SSKJr  SSKJr  SSKJr  SS	KJrJr  SS
KJr  SSKJs  Jr  SSKJr  \(       a  SSKJrJr  SSKJ r   SSK!J"r"  SSK#J$r$    SS jr%      SS jr&SS jr'SS jr(\(S 5       r)S r*S r+g)z!
Core eval alignment algorithms.
é    )Úannotations)ÚpartialÚwraps)ÚTYPE_CHECKINGN)Ú
get_option)ÚPerformanceWarning)Úfind_stack_level)ÚABCDataFrameÚ	ABCSeries)ÚPandasObject)Úresult_type_many)ÚCallableÚSequence)ÚF)ÚNDFrame)ÚIndexc                óZ  • S n[        U R                  [        R                  5      (       a/  [	        [        R
                  U R                  R                  S9nX!4$ [        U R                  5      n[        U R                  S5      (       a  [        X R                  R                  5      nX!4$ )N)ÚdtypeÚaxes)Ú
isinstanceÚvalueÚnpÚndarrayr   Ú
asanyarrayr   ÚtypeÚhasattrÚ_zip_axes_from_typer   )Útermr   Útyps      ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pandas/core/computation/align.pyÚ_align_core_single_unary_opr!   *   s}   € ð %)€Dä�$—*‘*œbŸj™j×)Ñ)Ü”b—m‘m¨4¯:©:×+;Ñ+;Ñ<ˆð ˆ9Ðô	 �4—:‘:ÓˆÜ�4—:‘:˜v×&Ñ&Ü& s¯J©J¯O©OÓ<ˆDàˆ9Ðó    c                óh   • [        U R                  5       VVs0 s H
  u  p#X1U   _M     snn$ s  snnf ©N)Ú	enumerateÚ_AXIS_ORDERS)r   Únew_axesÚiÚnames       r    r   r   :   s2   € ô .7°s×7GÑ7GÔ-HÔIÒ-H¡' !ˆD˜1‘+ÒÑ-HÒIÐIùÓIs   ™.c                ó&   • [        S U  5       5      $ )z:
Check a sequence of terms for instances of PandasObject.
c              3  óV   #   • U  H  n[        UR                  [        5      v •  M!     g 7fr$   )r   r   r   ©Ú.0r   s     r    Ú	<genexpr>Ú&_any_pandas_objects.<locals>.<genexpr>D   s   é € ÐFÂ¸Œz˜$Ÿ*™*¤l×3Ð3Âùs   ‚'))Úany)Útermss    r    Ú_any_pandas_objectsr2   @   s   € ô ÑFÁÓFÓFÐFr"   c                ó0   ^ • [        T 5      U 4S j5       nU$ )Nc                ó”   >• [        U 5      S:X  a  [        U S   5      $ S U  5       n[        U 5      (       d
  [        U6 S 4$ T" U 5      $ )Né   r   c              3  ó8   #   • U  H  oR                   v •  M     g 7fr$   ©r   r,   s     r    r.   Ú9_filter_special_cases.<locals>.wrapper.<locals>.<genexpr>N   s   é € Ð4ªe d—z–zªeùó   ‚)Úlenr!   r2   r   )r1   Úterm_valuesÚfs     €r    ÚwrapperÚ&_filter_special_cases.<locals>.wrapperH   sO   ø€ ô ˆu‹:˜‹?Ü.¨u°Q©xÓ8Ð8á4©eÓ4ˆô # 5×)Ñ)Ü# [Ð1°4Ð7Ð7á�‹xˆr"   )r   )r<   r=   s   ` r    Ú_filter_special_casesr?   G   s    ø€ Ü
ˆ1ƒXôó ðð €Nr"   c                ó   ^ • [        T 5       VVs/ s H$  u  p[        UR                  S5      (       d  M"  UPM&     nnnU Vs/ s H  nT U   R                  R                  PM     nnSSKJn  U" [        [        X4SS95      5      nT UR                  5          R                  nUR                  nUR                  n	[        U	5      n
U
S:„  nU 4S jU 5        HŒ  n[        U[        5      nU=(       a    Un[        UR                  5       HU  u  nnU(       a  U
S-
  UR                  nnOUUnnU	U   R                  U5      (       a  M>  U	U   R!                  U5      U	U'   MW     MŽ     UR#                  5        GHl  u  nn[        [%        U5      U	SS9 GH!  u  nnT U   R                  n[        US	5      (       d  M)  [        U[        5      =(       a    U
S:„  nU(       a  XšS-
     OUn[        UR                  U   5      n[        U5      n[&        R(                  " [+        S[-        UU-
  5      5      5      n[/        S
5      (       aI  US:¼  aC  US:¼  a=  SU ST U   R0                  < SUS S3n[2        R4                  " U[6        [9        5       S9  UR;                  UUS9nT U   R=                  U5        GM$     T U   R=                  T U   R                  R>                  5        GMo     U[A        X‰5      4$ s  snnf s  snf )Nr   r   )ÚSeriesT)Ústrictr5   c              3  óB   >#   • U  H  nTU   R                   v •  M     g 7fr$   r7   )r-   r(   r1   s     €r    r.   Ú_align_core.<locals>.<genexpr>i   s   øé € Ð5ª* Q�%˜‘(—.–.ª*ùs   ƒFÚreindexÚperformance_warningsi'  zAlignment difference on axis z. is larger than an order of magnitude on term z, by more than z.4gz; performance may suffer.)ÚcategoryÚ
stacklevel)Úaxis)!r%   r   r   ÚndimÚpandasrA   ÚdictÚzipÚidxmaxÚ_constructorr   r:   r   r   ÚindexÚis_ÚunionÚitemsÚranger   Úlog10ÚmaxÚabsr   r)   ÚwarningsÚwarnr   r	   rE   ÚupdateÚvaluesr   )r1   r(   r   Ú
term_indexÚ	term_dimsrA   ÚndimsÚbiggestr   r   ÚnaxesÚgt_than_one_axisr   Ú	is_seriesÚis_series_and_gt_one_axisrI   rS   ÚaxÚitmrJ   ÚtiÚ	transposeÚ	reindexerÚterm_axis_sizeÚreindexer_sizeÚordmÚwÚobjs   `                           r    Ú_align_corern   Y   s¤  ø€ ä#,¨UÔ#3ÔSÒ#3™˜´w¸t¿z¹zÈ6×7R—!Ñ#3€JÑSÙ.8Ó9ªj¨��q‘—‘×$Ô$©j€IÐ9åá”4œ˜J¸$Ñ?Ó@ÓA€Eð �E—L‘L“NÑ#×)Ñ)€GØ
×
Ñ
€CØ�<‰<€DÜ�‹I€EØ˜q‘yÐä5©*Ö5ˆÜ˜u¤iÓ0ˆ	Ø$-×$BÐ2BÐ!ä$ U§Z¡ZÖ0‰KˆD�%Þ(Ø !™) U§[¡[�C��Cà �C�à˜‘8—<‘< ×$Ó$Ø ™8Ÿ>™>¨#Ó.��R“ó 1ñ	 6ð —;‘;—=‰ˆˆ4Üœu T›{¨D¸Õ?‰KˆD�%Ø�q‘—‘ˆBä�r˜9×%Ó%Ü& r¬9Ó5×C¸%À!¹)�	Þ/8˜D¨¡šO¸e�	ä!$ R§W¡W¨T¡]Ó!3�Ü!$ Y£�ä—x’x¤ A¤s¨>¸NÑ+JÓ'KÓ LÓM�äÐ5×6Ñ6Ø ›	Ø&¨%Ó/ð 8¸°vð >>Ø>CÀA¹h¿m¹mÑ=Nð O(Ø(,¨S zÐ1JðLð ô
 —M’MØÔ$6ÔCSÓCUòð —j‘j °�jÐ6�Ø�a‘—‘ ×$ñ5 @ð8 	ˆa‰�‰˜˜a™Ÿ™×-Ñ-×.ñ; !ð> Ô# CÓ.Ð.Ð.ùóu TùÚ9s   �!K5µK5Á#K;c                ó4  •  [        [        R                  " U 5      5      n [        S U  5       5      (       a  [        S U  5       6 R                  SS4$ U  Vs1 s H:  n[	        UR
                  [        5      (       d  M$  UR
                  R                  iM<     nn[!        U5      S:X  a  UR#                  5       OSn[%        U 5      u  pXU4$ ! [         a»    [	        U R
                  [        [        45      (       ap  [        U R
                  5      n[	        U R
                  [        5      (       a  U R
                  R                  OSnU[        XR
                  R                  5      U4s $ [        R                  " U R                  5      SS4s $ f = fs  snf )z
Align a set of terms.
Nc              3  ó8   #   • U  H  oR                   v •  M     g 7fr$   )Ú	is_scalarr,   s     r    r.   Úalign_terms.<locals>.<genexpr>¨   s   é € Ð
,¢e˜d�>Ž>¢eùr9   c              3  ó8   #   • U  H  oR                   v •  M     g 7fr$   r7   r,   s     r    r.   rr   ©   s   é € Ð!?º°§*¦*ºùr9   r5   )ÚlistÚcomÚflattenÚ	TypeErrorr   r   r   r
   r   r)   r   r   r   Úresult_typeÚallr   r:   Úpoprn   )r1   r   r)   r   Únamesr   s         r    Úalign_termsr|   ˜   s9  € ð	6ä”S—[’[ Ó'Ó(ˆô Ñ
,¡eÓ
,×,Ñ,ÜÑ!?¹Ó!?Ð@×EÑEÀtÈTÐQÐQñ */ÓTª ´*¸T¿Z¹ZÌ×2S‹_ˆT�Z‰Z�_Œ_©€EÐTÜ˜e›*¨›/ˆ5�9‰9Œ;¨t€Dô ˜EÓ"�I€CØ�dˆ?Ðøô% ó 6ä�e—k‘k¤I¬|Ð#<×=Ñ=Ü�u—{‘{Ó#ˆCÜ'1°%·+±+¼y×'IÑ'I�5—;‘;×#Ò#ÈtˆDØÔ+¨C·±×1AÑ1AÓBÀDÐHÒHÜ�~Š~˜eŸj™jÓ)¨4°Ð5Ò5ð6üò Us$   ‚C Á#FÁ?FÃBFÅ,#FÆFc                óž  •  U R                   n [        R                  " UR                  U5      n[        U [        5      (       d.  [        U [        5      (       a  Uc  U " U4SU0UD6$ U " U4XTS.UD6$ [        US5      (       a;  U [        R                  :X  a'  U[        R                  :w  a  UR                  U5      nU$ UR                  U5      n[        UR                  5      S:X  aT  [        U5      S:X  aE  [        U[        R                  5      (       d&  [        R                  " U/5      R                  U5      nU$ ! [         a     GN=f = f)ap  
Reconstruct an object given its type, raw value, and possibly empty
(None) axes.

Parameters
----------
typ : object
    A type
obj : object
    The value to use in the type constructor
axes : dict
    The axes to use to construct the resulting pandas object

Returns
-------
ret : typ
    An object of type ``typ`` with the value `obj` and possible axes
    `axes`.
r   )r   r)   r   r5   )r   ÚAttributeErrorr   rx   r   r   r   Ú
issubclassr   r   Úbool_r:   Úshaper   ÚarrayÚastype)r   rm   r   r   r)   Úres_tÚ	ret_values          r    Úreconstruct_objectr†   ´   s  € ð(Ø�h‰hˆô �NŠN˜3Ÿ9™9 eÓ,€Eä�cœ7×#Ñ#¬
°3¼×(EÑ(EØ‰<Ù�sÑ0 %Ð0¨4Ñ0Ð0Ù�3Ð7˜eÑ7°$Ñ7Ð7ô ˆu�f×Ñ #¬¯©£/°e¼r¿x¹xÓ6GØ—J‘J˜s“Oˆ	ð Ðð —J‘J˜s“Oˆ	ô
 �—	‘	‹N˜aÓÜ�C“˜A“Ü˜y¬"¯*©*×5Ñ5äŸš ) Ó-×4Ñ4°UÓ;ˆIàÐøô3 ó Úðús   ‚D> Ä>
EÅE)Úreturnz7tuple[partial | type[NDFrame], dict[str, Index] | None])r   ztype[NDFrame]r'   zSequence[Index]r‡   zdict[str, Index])r‡   Úbool)r‡   zCallable[[F], F]),Ú__doc__Ú
__future__r   Ú	functoolsr   r   Útypingr   rX   Únumpyr   Úpandas._config.configr   Úpandas.errorsr   Úpandas.util._exceptionsr	   Úpandas.core.dtypes.genericr
   r   Úpandas.core.baser   Úpandas.core.commonÚcoreÚcommonru   Úpandas.core.computation.commonr   Úcollections.abcr   r   Úpandas._typingr   Úpandas.core.genericr   Úpandas.core.indexes.apir   r!   r   r2   r?   rn   r|   r†   © r"   r    Ú<module>rœ      s¦   ðñõ #÷õ !Û ã å ,å ,Ý 4÷õ
 *ß  Ð  Ý ;æ÷õ
 !å+Ý-ðà<ôð JØ	ðJØ"1ðJàôJôGôð$ ñ;/ó ð;/ò|ó8/r"   