Ë
    âQ(hø?  ã                   óh   — d Z ddlZddlmZ ddlmZmZ eej                  fZ
d„ Z G d„ d«      Zd	„ Zy)
z0Indexing mixin for sparse array/matrix classes.
é    Né   )Ú	isintlike)ÚsparrayÚissparsec                 óÐ   — t        j                  | |«      \  }}| j                  j                  |j                  _        |j                  j                  |j                  _        ||fS )a   
    Same as np.broadcast_arrays(a, b) but old writeability rules.

    NumPy >= 1.17.0 transitions broadcast_arrays to return
    read-only arrays. Set writeability explicitly to avoid warnings.
    Retain the old writeability rules, as our Cython code assumes
    the old behavior.
    )ÚnpÚbroadcast_arraysÚflagsÚ	writeable)ÚaÚbÚxÚys       úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/sparse/_index.pyÚ_broadcast_arraysr   
   sO   € ô ×Ñ˜q !Ó$�D€A€qØŸ™×)Ñ)€A‡G�GÔØŸ™×)Ñ)€A‡G�GÔØˆaˆ4€Kó    c                   ó    — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
IndexMixinzS
    This class provides common dispatching and validation logic for indexing.
    c                 ó˜	  — | j                  |«      \  }}t        |«      dk(  �r%|d   }t        |t        j                  «      r|j
                  dk(  r|j                  «       }t        |t        «      r| j                  |«      }n3t        |t        «      r| j                  |«      }n| j                  |«      }t        | t        «      s|S |j
                  dk(  r`|dk7  r[t        |«      dk(  r| j                  |g|| j                  ¬«      S t        |«      dk(  r | j                  |gg|| j                  ¬«      S |j                  |«      S |\  }}t        |t        «      r™t        |t        «      r| j!                  ||«      }�n`t        |t        «      r| j#                  ||«      }�n<|j$                  dk(  r| j'                  ||«      }�n|j$                  dk(  r| j'                  ||«      }�nöt)        d«      ‚t        |t        «      r›t        |t        «      r| j+                  ||«      }�n·t        |t        «      r9|t        d «      k(  r||k(  r| j-                  «       }�n‚| j/                  ||«      }�nn|j$                  dk(  r| j1                  ||«      }�nKt)        d«      ‚t        |t        «      r| j3                  ||«      }�nt        |t        «      r| j5                  ||«      }nù|j$                  dk(  r[|j
                  d   dk(  rI|j$                  dk(  s|j
                  d   dk(  r(| j7                  |d d …df   |j9                  «       «      }n�t;        ||«      \  }}|j
                  |j
                  k7  rt)        d«      ‚|j<                  dk(  r;| j                  t        j>                  |«      j
                  | j                  ¬«      }n| jA                  ||«      }t        | t        «      sY|dk(  st        |«      dk(  r|j$                  dk7  r|S t        |«      dk(  rd	|z   }||j
                  k(  r|S |j                  |«      S |j
                  |k7  rp| jB                  d
k(  rPt        |«      dk7  rB|j
                  dk(  r| jE                  |g|¬«      S |jG                  «       j                  |«      S |j                  |«      S |S )Nr   r   © )ÚshapeÚdtypeé   zindex results in >2 dimensionsú'number of row and column indices differ©r   )r   Úlil©r   )$Ú_validate_indicesÚlenÚ
isinstancer   Úndarrayr   ÚitemÚ	INT_TYPESÚ_get_intÚsliceÚ
_get_sliceÚ
_get_arrayr   Ú	__class__r   ÚreshapeÚ_get_intXintÚ_get_intXsliceÚndimÚ_get_intXarrayÚ
IndexErrorÚ_get_sliceXintÚcopyÚ_get_sliceXsliceÚ_get_sliceXarrayÚ_get_arrayXintÚ_get_arrayXsliceÚ_get_columnXarrayÚravelr   ÚsizeÚ
atleast_2dÚ_get_arrayXarrayÚformatÚ_coo_containerÚtocoo)ÚselfÚkeyÚindexÚ	new_shapeÚidxÚresÚrowÚcols           r   Ú__getitem__zIndexMixin.__getitem__   sþ  € Ø×1Ñ1°#Ó6Ñˆˆyô ˆu‹:˜‹?Ø˜‘(ˆCÜ˜#œrŸz™zÔ*Ø—9‘9 ’?ØŸ(™(›*�CÜ˜#œyÔ)Ø—m‘m CÓ(‘Ü˜C¤Ô'Ø—o‘o cÓ*‘à—o‘o cÓ*�ô ˜d¤GÔ,Ø�
à�y‰y˜BŠ 9°¢?Ü�y“> QÒ&ØŸ>™>¨3¨%°yÈÏ
É
˜>ÓSÐSÜ�y“> QÒ&ØŸ>™>¨C¨5¨'¸È$Ï*É*˜>ÓUÐUØ—;‘;˜yÓ)Ð)ð ‰ˆˆSô �cœ9Ô%Ü˜#œyÔ)Ø×'Ñ'¨¨SÓ1’Ü˜C¤Ô'Ø×)Ñ)¨#¨sÓ3’Ø—‘˜Q’Ø×)Ñ)¨#¨sÓ3’Ø—‘˜Q’Ø×)Ñ)¨#¨sÓ3’ä Ð!AÓBÐBÜ˜œUÔ#Ü˜#œyÔ)Ø×)Ñ)¨#¨sÓ3’Ü˜C¤Ô'Øœ% ›+Ò%¨#°ª*ØŸ)™)›+’Cà×/Ñ/°°SÓ9’CØ—‘˜Q’Ø×+Ñ+¨C°Ó5’ä Ð!AÓBÐBä˜#œyÔ)Ø×)Ñ)¨#¨sÓ3’Ü˜C¤Ô'Ø×+Ñ+¨C°Ó5‘à—(‘(˜a’- C§I¡I¨a¡L°AÒ$5Ø—X‘X ’] c§i¡i°¡l°aÒ&7à×,Ñ,¨S²°A°©Y¸¿	¹	»ÓD‘ô -¨S°#Ó6‘��SØ—9‘9 §	¡	Ò)Ü$Ð%NÓOÐOØ—8‘8˜q’=ØŸ.™.¬¯©°sÓ);×)AÑ)AÈÏÉ˜.ÓT‘Cà×/Ñ/°°SÓ9�Cô ˜$¤Ô(Ø˜BŠ¤3 y£>°QÒ#6¸3¿8¹8Àqº=à�
Ü�9‹~ Ò"à  9Ñ,�	à# s§y¡yÒ0�3ÐL°c·k±kÀ)Ó6LÐLð �9‰9˜	Ò!à�{‰{˜eÒ#¬¨I«¸!Ò(;Ø—9‘9 ’?Ø×.Ñ.°¨u¸iÐ.ÓHÐHØ—y‘y“{×*Ñ*¨9Ó5Ð5Ø—;‘;˜yÓ)Ð)Øˆ
r   c                 ó^
  — | j                  |«      \  }}t        |«      dk(  �r¶|d   }t        |«      r|j                  «       }n!t	        j
                  || j                  ¬«      }t        |t        «      r:|j                  dk7  rt        d«      ‚| j                  ||j                  d   «       y t        |t        «      r¡t        |j                  | j                   d   «      Ž }t        |«      }|dk(  r2|j                  dk(  r#| j                  |d   |j                  d   «       y t	        j"                  |j                  | j                   d   «      Ž }|j                   }n|j%                  «       j                   }|j%                  «       j                   |k7  r t	        j&                  ||j                   «      }|j                  dk7  r| j)                  ||«       y |\  }	}
t        |	t        «      rlt        |
t        «      r\t	        j
                  || j                  ¬«      }|j                  dk7  rt        d«      ‚| j+                  |	|
|j                  d   «       y t        |	t        «      r6t	        j"                  |	j                  | j                   d   «      Ž d d …d f   }	nt	        j,                  |	«      }	t        |
t        «      rNt	        j"                  |
j                  | j                   d   «      Ž d d d …f   }
|	j.                  dk(  r|	d d …d f   }	nt	        j,                  |
«      }
t1        |	|
«      \  }}|j                   |j                   k7  rt3        d«      ‚t        |«      �rd|j                   v ry |j.                  dk(  r
|d    }|d    }|j5                  d¬«      j7                  |j8                  d¬«      }|j                   d   dk(  xr |j                   d   dk7  }|j                   d   dk(  xr |j                   d   dk7  }|s|j                   d   |j                   d   k(  r!|s*|j                   d   |j                   d   k(  st        d	«      ‚|j;                  «        | j=                  |||«       y t	        j
                  || j                  ¬«      }|j%                  «       j                   |j%                  «       j                   k7  r t	        j&                  ||j                   «      }|j                  dk(  ry |j7                  |j                   «      }| j?                  |||«       y )
Nr   r   r   z&Trying to assign a sequence to an itemr   F)r0   Tzshape mismatch in assignment) r   r   r   Útoarrayr   Úasarrayr   r    r#   r7   Ú
ValueErrorÚ_set_intÚflatr%   ÚrangeÚindicesr   ÚarangeÚsqueezeÚbroadcast_toÚ
_set_arrayÚ_set_intXintÚ
atleast_1dr,   r   r.   r<   r)   Ú_shape_as_2dÚsum_duplicatesÚ_set_arrayXarray_sparseÚ_set_arrayXarray)r=   r>   r   r?   Ú_rA   Ú	idx_rangeÚNÚ	idx_shaperC   rD   ÚiÚjÚbroadcast_rowÚbroadcast_cols                  r   Ú__setitem__zIndexMixin.__setitem__|   s  € Ø×)Ñ)¨#Ó.‰ˆˆqô ˆu‹:˜‹?Ø˜‘(ˆCä˜Œ{Ø—I‘I“K‘ä—J‘J˜q¨¯
©
Ô3�ä˜#œyÔ)Ø—6‘6˜Q’;Ü$Ð%MÓNÐNØ—‘˜c 1§6¡6¨!¡9Ô-Øä˜#œuÔ%ô " 3§;¡;¨t¯z©z¸!©}Ó#=Ð>�	Ü˜	“N�Ø˜’6˜aŸf™f¨škØ—M‘M )¨A¡,°·±°q±	Ô:ØÜ—i‘i §¡¨T¯Z©Z¸©]Ó!;Ð<�ØŸI™I‘	àŸK™K›M×/Ñ/�	à�y‰y‹{× Ñ  IÒ-Ü—O‘O A s§y¡yÓ1�Ø�v‰v˜Š{Ø—‘  QÔ'Øð ‰ˆˆSä�cœ9Ô%¬*°S¼)Ô*DÜ—
‘
˜1 D§J¡JÔ/ˆAØ�v‰v˜Š{Ü Ð!IÓJÐJØ×Ñ˜c 3¨¯©¨q©	Ô2Øä�cœ5Ô!Ü—)‘)˜SŸ[™[¨¯©°A©Ó7Ð8º¸D¸ÑA‰Cä—-‘- Ó$ˆCä�cœ5Ô!Ü—)‘)˜SŸ[™[¨¯©°A©Ó7Ð8¸ºq¸ÑAˆCØ�x‰x˜1Š}Øš!˜T˜'‘l‘ä—-‘- Ó$ˆCä   cÓ*‰ˆˆ1Ø�7‰7�a—g‘gÒÜÐFÓGÐGä�A�;Ø�A—G‘G‰|ØØ�v‰v˜Š{à�d‘G�Ø�d‘G�Ø—‘˜U�Ó#×+Ñ+¨A¯N©NÀÐ+ÓFˆAØŸG™G A™J¨!™OÒ?°·±¸±
¸a±ˆMØŸG™G A™J¨!™OÒ?°·±¸±
¸a±ˆMÙ" a§g¡g¨a¡j°A·G±G¸A±JÒ&>Ù" a§g¡g¨a¡j°A·G±G¸A±JÒ&>Ü Ð!?Ó@Ð@Ø×ÑÔØ×(Ñ(¨¨A¨qÕ1ô —
‘
˜1 D§J¡JÔ/ˆAØ�y‰y‹{× Ñ  A§I¡I£K×$5Ñ$5Ò5Ü—O‘O A q§w¡wÓ/�Ø�v‰v˜Š{ØØ—	‘	˜!Ÿ'™'Ó"ˆAØ×!Ñ! ! Q¨Õ*r   c           	      óØ  ‡‡— |t         u r%t        d«      f| j                  z  | j                  fS t	        |t
        «      s|g}d}g }d}t        |«      D ]Û  \  }}|t         u r|�t        d«      ‚|}Œ|€|j                  |«       Œ2t	        |t        «      st        |«      r|j                  |«       |dz  }Œdt        || j                  «      x}�!|j                  |«       ||j                  z  }Œ�t        |«      rt        d«      ‚|j                  t        j                  |«      «       |dz  }ŒÝ | j                  |z
  t        d«      gz  }|r"|€|j                  |«       n|d| |z   ||d z   }g }	d}
g Šg }t        |«      D �]Ð  \  }}|€|	j                  d«       Œt	        |t        «      rW‰j                  |«       | j                  |
   }t!        t#        |j%                  |«      Ž «      }|	j                  |«       |
dz  }
Œ‚t        |«      rX| j                  |
   }| |cxk  r|k  sn t        d|› d�«      ‚t'        |dk  r||z   n|«      }‰j                  |«       |
dz  }
Œå|j(                  j*                  dk(  r‹|}|
|j                  z   }| j                  |
| }|j                  |k7  rt        d	|› d
|› d|j                  › �«      ‚‰j                  |j-                  «       «       |j                  t#        |
|«      «       |}
�Œ‰| j                  |
   }| j/                  ||«      }‰j                  |«       |j                  |
«       |
dz  }
�ŒÓ |
| j                  kD  rt        d| j                  › d|
› d�«      ‚t!        |«      dkD  rlt1        ˆfd„|D «       Ž Št3        ˆfd„‰dd D «       «      r(dj5                  d„ ‰D «       «      }d|› �}t        |«      ‚t7        ‰d   j                  «      |	z   }	n9t!        |«      dk(  r+|d   }t7        ‰|   j                  «      }|	d| |z   |	|d z   }	t!        |	«      x}dkD  rt        d|› d�«      ‚t        ‰«      t        |	«      fS )z8Returns two tuples: (index tuple, requested shape tuple)Nr   z(an index can only have a single ellipsisr   zoIndexing with sparse matrices is not supported except boolean indexing where matrix and index are equal shapes.zindex (z) out of ranger   zbool index z has shape z instead of zinvalid index ndim. Array is zD. Index needs ÚDc              3   ó(   •K  — | ]	  }‰|   –— Œ y ­w©Nr   )Ú.0r\   r?   s     €r   ú	<genexpr>z/IndexMixin._validate_indices.<locals>.<genexpr>)  s   øè ø€ Ò,M¸!¨U°1­XÑ,Mùs   ƒc              3   óV   •K  — | ]   }‰d    j                   |j                   k7  –— Œ" y­w)r   Nr   )re   ÚixÚ
idx_arrayss     €r   rf   z/IndexMixin._validate_indices.<locals>.<genexpr>*  s$   øè ø€ ÒL°r�:˜a‘=×&Ñ&¨"¯(©(Õ2ÑLùs   ƒ&)ú c              3   óF   K  — | ]  }t        |j                  «      –— Œ y ­wrd   )Ústrr   )re   rh   s     r   rf   z/IndexMixin._validate_indices.<locals>.<genexpr>+  s   è ø€ Ò!E°B¤# b§h¡h§-Ñ!Eùs   ‚!zLshape mismatch: indexing arrays could not be broadcast together with shapes r   z*Only 1D or 2D arrays allowed. Index makes )ÚEllipsisr%   r,   r   r    ÚtupleÚ	enumerater.   Úappendr   Ú_compatible_boolean_indexr   r   rH   ÚextendÚ_shaper   rL   rM   Úintr   ÚkindÚnonzeroÚ
_asindicesr   ÚanyÚjoinÚlist)r=   r>   Ú	ellps_posÚ	index_1stÚprelim_ndimr\   rA   rh   Úellip_slicesr[   Ú
index_ndimÚarray_indicesÚMsÚ	len_slicerZ   Útmp_ndimÚ	mid_shapeÚshapesÚmsgÚ	arr_indexÚ	arr_shaper,   ri   r?   s                         @@r   r   zIndexMixin._validate_indicesÔ   sq  ù€ ð ”(‰?Ü˜$“K�> D§I¡IÑ-¨t¯z©zÐ9Ð9ä˜#œuÔ%Ø�%ˆCàˆ	Øˆ	ØˆÜ “nò 	!‰FˆAˆsØ”h‰ØÐ(Ü$Ð%OÓPÐPØ‘	Ø�Ø× Ñ  Õ%Ü˜C¤Ô'¬9°S¬>Ø× Ñ  Ô%Ø˜qÑ ‘Ü1°#°t·y±yÓAÐA�"ÐNØ× Ñ  Ô$Ø˜rŸw™wÑ&‘Ü˜#”ä ð(ó)ð )ð
 × Ñ ¤§¡¨C£Ô1Ø˜qÑ ‘ð+	!ð, Ÿ	™	 KÑ/´E¸$³K°=Ñ@ˆÙØÐ Ø× Ñ  Õ.à% j yÐ1°LÑ@À9ÈYÈZÐCXÑX�	ð ˆ	Øˆ
ØˆØˆÜ 	Ó*ó !	 ‰FˆAˆsØˆ{Ø× Ñ  Õ#Ü˜C¤Ô'Ø—‘˜SÔ!Ø—[‘[ Ñ,�Ü¤ s§{¡{°2£Ð 7Ó8�	Ø× Ñ  Ô+Ø˜a‘‘
Ü˜3”Ø—K‘K 
Ñ+�Ø˜˜cœ AœÜ$ w¨s¨e°>Ð%BÓCÐCÜ S¨1¢W˜# š'°#Ó6�Ø—‘˜SÔ!Ø˜a‘‘
à—‘—‘ 3Ò&Ø�Ø%¨¯©Ñ/�Ø ŸK™K¨
°8Ð<�	Ø—8‘8˜yÒ(Ü$Ø% a S¨°I°;¸lÈ2Ï8É8È*ÐUóð ð —‘˜RŸZ™Z›\Ô*Ø×$Ñ$¤U¨:°xÓ%@ÔAØ%’
à—K‘K 
Ñ+�Ø—o‘o c¨1Ó-�Ø—‘˜SÔ!Ø×$Ñ$ ZÔ0Ø˜a‘’
ðC!	 ðD ˜Ÿ	™	Ò!ÜØ/°·	±	¨{¸/È*ÈÐUVÐWóð ô ˆ}Ó Ò!Ü*Ó,M¸}Ô,MÐNˆJÜÓL¸ZÈÈ¸^ÔLÔLØŸ™Ñ!E¸*Ô!EÓE�ð/Ø/5¨hð8�ä  “oÐ%ä˜Z¨™]×0Ñ0Ó1°IÑ=‰IÜ�Ó 1Ò$Ø% aÑ(ˆIÜ˜U 9Ñ-×3Ñ3Ó4ˆIØ! * 9Ð-°	Ñ9¸IÀiÀjÐ<QÑQˆIÜ˜	“NÐ"ˆD aÒ'ÜÐIÈ$ÈÈqÐQÓRÐRÜ�U‹|œU 9Ó-Ð-Ð-r   c                 óâ  — 	 t        j                  |«      }|j                  dvrt        d«      ‚|j                  dk(  r|S |j                  «       }||k\  rt        d|z  «      ‚|j                  «       }|dk  rN|| k  rt        d|z  «      ‚||u s|j                  j                  s|j                  «       }||dk  xx   |z  cc<   |S # t        t        t        f$ r}t        d«      |‚d}~ww xY w)z“Convert `idx` to a valid index for an axis with a given length.

        Subclasses that need special validation can override this method.
        zinvalid indexN)r   r   zIndex dimension must be 1 or 2r   úindex (%d) out of range)r   rH   rI   Ú	TypeErrorÚMemoryErrorr.   r,   r7   ÚmaxÚminr
   Úowndatar0   )r=   rA   Úlengthr   ÚeÚmax_indxÚmin_indxs          r   rw   zIndexMixin._asindices9  sê   € ð
	5Ü—
‘
˜3“ˆAð �6‰6˜ÑÜÐ=Ó>Ð>à�6‰6�QŠ;ØˆHð —5‘5“7ˆØ�vÒÜÐ6¸ÑAÓBÐBà—5‘5“7ˆØ�aŠ<Ø˜6˜'Ò!Ü Ð!:¸XÑ!EÓFÐFØ�C‰x˜qŸw™wŸšØ—F‘F“H�Øˆa�!‰e‹H˜Ñ‹HØˆøô+ œI¤{Ð3ò 	5Ü˜_Ó-°1Ð4ûð	5ús   ‚C	 Ã	C.ÃC)Ã)C.c                 ó²   — | j                   \  }}t        |«      }|| k  s||k\  rt        d|z  «      ‚|dk  r||z  }| j                  |t	        d«      «      S )zGReturn a copy of row i of the matrix, as a (1 x n) row vector.
        rŠ   r   N)r   rt   r.   r+   r%   ©r=   r\   ÚMrZ   s       r   Ú_getrowzIndexMixin._getrowW  sa   € ð �z‰z‰ˆˆ1Ü�‹FˆØ�ˆrŠ6�Q˜!’VÜÐ6¸Ñ:Ó;Ð;ØˆqŠ5Ø�‰FˆAØ×"Ñ" 1¤e¨D£kÓ2Ð2r   c                 ó²   — | j                   \  }}t        |«      }|| k  s||k\  rt        d|z  «      ‚|dk  r||z  }| j                  t	        d«      |«      S )zMReturn a copy of column i of the matrix, as a (m x 1) column vector.
        rŠ   r   N)r   rt   r.   r/   r%   r•   s       r   Ú_getcolzIndexMixin._getcolb  sa   € ð �z‰z‰ˆˆ1Ü�‹FˆØ�ˆrŠ6�Q˜!’VÜÐ6¸Ñ:Ó;Ð;ØˆqŠ5Ø�‰FˆAØ×"Ñ"¤5¨£;°Ó2Ð2r   c                 ó   — t        «       ‚rd   ©ÚNotImplementedError©r=   rA   s     r   r$   zIndexMixin._get_intm  ó   € Ü!Ó#Ð#r   c                 ó   — t        «       ‚rd   r›   r�   s     r   r&   zIndexMixin._get_slicep  rž   r   c                 ó   — t        «       ‚rd   r›   r�   s     r   r'   zIndexMixin._get_arrays  rž   r   c                 ó   — t        «       ‚rd   r›   ©r=   rC   rD   s      r   r*   zIndexMixin._get_intXintv  rž   r   c                 ó   — t        «       ‚rd   r›   r¢   s      r   r-   zIndexMixin._get_intXarrayy  rž   r   c                 ó   — t        «       ‚rd   r›   r¢   s      r   r+   zIndexMixin._get_intXslice|  rž   r   c                 ó   — t        «       ‚rd   r›   r¢   s      r   r/   zIndexMixin._get_sliceXint  rž   r   c                 ó   — t        «       ‚rd   r›   r¢   s      r   r1   zIndexMixin._get_sliceXslice‚  rž   r   c                 ó   — t        «       ‚rd   r›   r¢   s      r   r2   zIndexMixin._get_sliceXarray…  rž   r   c                 ó   — t        «       ‚rd   r›   r¢   s      r   r3   zIndexMixin._get_arrayXintˆ  rž   r   c                 ó   — t        «       ‚rd   r›   r¢   s      r   r4   zIndexMixin._get_arrayXslice‹  rž   r   c                 ó   — t        «       ‚rd   r›   r¢   s      r   r5   zIndexMixin._get_columnXarrayŽ  rž   r   c                 ó   — t        «       ‚rd   r›   r¢   s      r   r9   zIndexMixin._get_arrayXarray‘  rž   r   c                 ó   — t        «       ‚rd   r›   ©r=   rA   r   s      r   rJ   zIndexMixin._set_int”  rž   r   c                 ó   — t        «       ‚rd   r›   r­   s      r   rQ   zIndexMixin._set_array—  rž   r   c                 ó   — t        «       ‚rd   r›   ©r=   rC   rD   r   s       r   rR   zIndexMixin._set_intXintš  rž   r   c                 ó   — t        «       ‚rd   r›   r°   s       r   rW   zIndexMixin._set_arrayXarray�  rž   r   c                 ó¦   — t        j                  |j                  «       | j                  ¬«      }t	        ||«      \  }}| j                  |||«       y )Nr   )r   rH   rG   r   r   rW   )r=   rC   rD   r   rX   s        r   rV   z"IndexMixin._set_arrayXarray_sparse   s>   € ä�J‰J�q—y‘y“{¨$¯*©*Ô5ˆÜ   CÓ(‰ˆˆ1Ø×Ñ˜c 3¨Õ*r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rE   r`   r   rw   r—   r™   r$   r&   r'   r*   r-   r+   r/   r1   r2   r3   r4   r5   r9   rJ   rQ   rR   rW   rV   r   r   r   r   r      s…   „ ñò]ò~V+òpc.òJò<	3ò	3ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ò$ó+r   r   c                 ó8  — t        | d«      sd	 t        t        | «      d«      }t        |«      D ])  }t	        |t
        «      r nt        t        |«      d«      }Œ+ y	 t        j                  | «      } | j                  j                  dk(  r| S y# t        $ r Y yw xY w)zICheck for boolean array or array-like. peek before asarray for array-liker,   Nr   )ÚhasattrÚnextÚiterrL   r    Úboolr‹   r   Ú
asanyarrayr   ru   )rA   Údesired_ndimrh   rX   s       r   rq   rq   §  sš   € ô �3˜Ôð		Ü”d˜3“i Ó&ˆBÜ˜<Ó(ò �Ü˜b¤$Ô'ÙÜœ$˜r›( DÓ)‘ðð
 ð ô �m‰m˜CÓ ˆà
‡y�y‡~�~˜ÒØˆ
Øøô ò 	Ùð	ús   ŽAB Â	BÂB)r¶   Únumpyr   Ú_sputilsr   Ú_baser   r   rt   Úintegerr#   r   r   rq   r   r   r   ú<module>rÂ      s8   ðñã Ý ß $à�"—*‘*Ð€	ò÷K+ñ K+ó\r   