ó
    ®œ‘hR>  ã                   ó\	  • S SK rS SKrS SKJrJrJrJrJr  S SK	J
r  S SKJrJr  S SKJrJrJr  S SKJr  S rS rS rS	 r\R2                  R5                  S
S\SSSSSSSSS\R8                  /
0 4S\R:                  SSSSSSSSS\R8                  /
0 4S\R<                  SSSSSSSSS\R8                  /
0 4S\R>                  SSSSSSSSS\R8                  /
SS04S\R@                  SSSS S!S"SSS#\R8                  /
SS04S$\RB                  SSSSSSSSS%\R8                  /
0 4/5      S& 5       r"S' r#\R2                  R5                  S(S)SSSS*SS+SS\R8                  \R8                  /
4S,SSSS-S.S/SS\R8                  \R8                  /
4/5      S0 5       r$\R2                  R5                  S1S2/ S3Q/S4/ S5Q//5      S6 5       r%S7 r&S8 r'S9 r(\R2                  R5                  S:S/ S;Q4S</ S=Q4/5      \R2                  R5                  S>S$/ 4S?S#/4/5      S@ 5       5       r)\R2                  R5                  SA\\\/5      \R2                  R5                  SB/ SCQ5      \R2                  R5                  SDSS/S S/SE.SSF/S S/SE.S/SG-  \R8                  SSF\R8                  /\*" \+" SHSG5      5      -   SE./5      SI 5       5       5       r,\R2                  R5                  SJSSS /S/4SSFS S/SSF/4SFSS /S/4SFSFS S/SFSF/4SKSL\+" SL5      \*" \+" SKSL5      5      SL/SK-  -   4SLSK\+" SK5      SK/SK-  4S S \RZ                  " / 5      \RZ                  " / 5      4SS \RZ                  " / 5      \RZ                  " / 5      4S SS /S /4/	5      SM 5       r.\R2                  R5                  SN\" / SOQ/ SPQSQ.5      SF\" / SRQ\R^                  " / SPQ\+" SS5      /STS/SU9SV\R`                  SW94\" \R8                  SSF\R8                  /\*" \+" SHSX5      5      -   S/SY-  SF/SZ-  -   \+" SX5      S[.5      SL\" / S\Q\R^                  " S/SY-  SF/SZ-  -   \+" SX5      /STS/SU9SV\R`                  SW94/5      S] 5       r1\R2                  R5                  S^/ S_Q5      \R2                  R5                  SB/ S`Q5      Sa 5       5       r2Sb r3Sc r4g)dé    N)Ú	DataFrameÚ
MultiIndexÚSeriesÚconcatÚ
date_range)ÚBaseIndexerÚFixedForwardWindowIndexer)ÚExpandingIndexerÚFixedWindowIndexerÚVariableOffsetWindowIndexer)ÚBusinessDayc                  óÜ   •  " S S[         5      n U " 5       n[        R                  " [        SS9   [	        [        S5      5      R                  U5        S S S 5        g ! , (       d  f       g = f)Nc                   ó   • \ rS rSrS rSrg)Ú8test_bad_get_window_bounds_signature.<locals>.BadIndexeré   c                 ó   • g ©N© )Úselfs    ÚiC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pandas/tests/window/test_base_indexer.pyÚget_window_boundsÚJtest_bad_get_window_bounds_signature.<locals>.BadIndexer.get_window_bounds   s   € Øó    r   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__r   r   r   Ú
BadIndexerr      s   † õ	r   r    zBadIndexer does not implement©Úmatché   )r   ÚpytestÚraisesÚ
ValueErrorr   ÚrangeÚrolling)r    Úindexers     r   Ú$test_bad_get_window_bounds_signaturer*      sJ   € ô”[ô ñ ‹l€GÜ	�Š”zÐ)HÓ	IÜŒu�Q‹xÓ× Ñ  Ô)÷ 
J×	IÖ	Iús   °$AÁ
A+c                  óæ   • [        [        S5      5      n [        5       nU R                  U5      R	                  5       nU R                  5       R	                  5       n[        R                  " X#5        g )Né
   )r   r'   r
   r(   ÚmeanÚ	expandingÚtmÚassert_series_equal)Úsr)   ÚresultÚexpecteds       r   Útest_expanding_indexerr4   #   sQ   € ÜŒu�R‹yÓ€AÜÓ €GØ�Y‰Y�wÓ×$Ñ$Ó&€FØ�{‰{‹}×!Ñ!Ó#€HÜ×Ò˜6Õ,r   c                  óì   • / SQn [        S[        S5      05      n " S S[        5      nU" SU S9nUR                  U5      R	                  5       n[        S/ SQ05      n[
        R                  " XE5        g )	N©TFTFTÚvaluesr#   c                   ó   • \ rS rSrS rSrg)Ú3test_indexer_constructor_arg.<locals>.CustomIndexeré0   c                 ó"  • [         R                  " U[         R                  S9n[         R                  " U[         R                  S9n[        U5       H8  nU R                  U   (       a  SXh'   US-   Xx'   M$  X†U'   X€R
                  -   Xx'   M:     Xg4$ ©N©Údtyper   é   )ÚnpÚemptyÚint64r'   Úuse_expandingÚwindow_size©	r   Ú
num_valuesÚmin_periodsÚcenterÚclosedÚstepÚstartÚendÚis	            r   r   ÚEtest_indexer_constructor_arg.<locals>.CustomIndexer.get_window_bounds1   sz   € Ü—H’H˜Z¬r¯x©xÑ8ˆEÜ—(’(˜:¬R¯X©XÑ6ˆCÜ˜:Ö&�Ø×%Ñ% a×(Ø �E‘HØ ™U�C“Fà ˜!‘HØ×!1Ñ!1Ñ1�C“Fñ 'ð �:Ðr   r   Nr   r   r   r   ÚCustomIndexerr9   0   s   † õ
	r   rO   r?   ©rD   rC   )ç        ç      ð?ç      @rS   ç      $@©r   r'   r   r(   Úsumr/   Úassert_frame_equal)rC   ÚdfrO   r)   r2   r3   s         r   Útest_indexer_constructor_argrY   +   si   € â4€MÜ	�Hœe A›hÐ'Ó	(€Bôœô ñ ¨¸ÑG€GØ�Z‰Z˜Ó ×$Ñ$Ó&€FÜ˜(Ò$>Ð?Ó@€HÜ×Ò˜&Õ+r   c                  óæ   • [        S[        S5      05      n  " S S[        5      nU" SS9nU R                  USSSSS	9R	                  5       n[        S/ S
Q05      n[
        R                  " X45        g )Nr7   r#   c                   ó   • \ rS rSrS rSrg)Ú8test_indexer_accepts_rolling_args.<locals>.CustomIndexeréF   c                 ó2  • [         R                  " U[         R                  S9n[         R                  " U[         R                  S9n[        U5       H@  nU(       a"  US:X  a  US:X  a  US:X  a  US:X  a
  SXh'   XU'   M,  X†U'   X€R                  -   Xx'   MB     Xg4$ )Nr=   r?   Úbothé   r   )r@   rA   rB   r'   rD   rE   s	            r   r   ÚJtest_indexer_accepts_rolling_args.<locals>.CustomIndexer.get_window_boundsG   s‰   € Ü—H’H˜Z¬r¯x©xÑ8ˆEÜ—(’(˜:¬R¯X©XÑ6ˆCÜ˜:Ö&�æØ# qÓ(Ø &Ó(Ø ›	Ø˜Q›à �E‘HØ'˜“Fà ˜!‘HØ×!1Ñ!1Ñ1�C“Fñ 'ð �:Ðr   r   Nr   r   r   r   rO   r\   F   s   † õ	r   rO   r?   ©rD   Tr_   )rH   rG   rI   rJ   )rQ   rR   rT   rS   ç      @rU   )rX   rO   r)   r2   r3   s        r   Ú!test_indexer_accepts_rolling_argsrd   C   su   € Ü	�Hœe A›hÐ'Ó	(€Bôœô ñ& ¨Ñ*€GØ�Z‰ZØ˜¨!°FÀð ð ç	�cƒeð ô ˜(Ò$>Ð?Ó@€HÜ×Ò˜&Õ+r   zfunc,np_func,expected,np_kwargsÚcountrS   ç       @ÚminrQ   rR   rc   ç      @ç      @ç       @Úmaxç      Y@ç      "@Ústdg–Ã»·ÛK@gþDéû¾mK@gµ!µ?þJ@gß'Üež æ?Úddofr?   Úvarg[{Ÿªª@¨@g[{Ÿªª‚§@g[{ŸªªÄ¦@g      à?Úmediang      !@c                 óz  ^^• [         R                  " S5      nSUS'   [        SS9nSn[        R                  " [
        US9   U " U5      R                  USS	9n	[        X‘5      " 5         S S S 5        S
n[        R                  " [
        US9   U " U5      R                  USS9n	[        X‘5      " 5         S S S 5        U " U5      R                  USUS9n	[        X‘5      " 5       n
U " U5      S S U2   n[        R                  " X£5        U " U	R                  UU4S j5      5      n[        R                  " X«5        US:X  a  SOS nU " U5      R                  X|S9n[        XÑ5      " 5       nU " UR                  UU4S j5      5      n[        R                  " Xï5        g ! , (       d  f       GN8= f! , (       d  f       Nÿ= f)NrT   rl   r#   é   rb   z.Forward-looking windows can't have center=Truer!   T)ÚwindowrH   zAForward-looking windows don't support setting the closed argumentÚright)rt   rI   r`   ©rt   rG   rJ   c                 ó   >• T" U 40 TD6$ r   r   ©ÚxÚnp_funcÚ	np_kwargss    €€r   Ú<lambda>Ú-test_rolling_forward_window.<locals>.<lambda>²   s   ø€ ¹ÀÑ8OÀYÒ8Or   re   r   ©rt   rG   c                 ó   >• T" U 40 TD6$ r   r   rx   s    €€r   r|   r}   ¼   s   ø€ ¹ÀÑ9PÀiÒ9Pr   )r@   Úaranger	   r$   r%   r&   r(   Úgetattrr/   Úassert_equalÚapply)Úframe_or_seriesÚfuncrz   r3   r{   rJ   r7   r)   r"   r(   r2   Ú	expected2rG   Úrolling3Úresult3Ú	expected3s     ` `           r   Útest_rolling_forward_windowrŠ   a   sx  ù€ ôr �YŠY�t‹_€FØ€Fˆ1�Iä'°AÑ6€Gà<€EÜ	�Š”z¨Ó	/Ù! &Ó)×1Ñ1¸ÈÐ1ÐNˆÜ�ÔÔ ÷ 
0ð P€EÜ	�Š”z¨Ó	/Ù! &Ó)×1Ñ1¸ÈÐ1ÐQˆÜ�ÔÔ ÷ 
0ñ ˜fÓ%×-Ñ-°WÈ!ÐRVÐ-ÐW€GÜ�WÔ#Ó%€Fñ ˜xÓ(©¨4¨Ñ0€HÜ‡O‚O�FÔ%ñ   §¡Õ.OÓ PÓQ€IÜ‡O‚O�FÔ&ð ˜w“‘!¨D€KÙ˜vÓ&×.Ñ.°gÐ.ÐW€HÜ�hÔ%Ó'€GÙ §¡Õ/PÓ QÓR€IÜ‡O‚O�GÕ'÷; 
0Ö	/ú÷
 
0Õ	/ús   Á'FÂ'F,Æ
F)Æ,
F:c                 ó.  • [         R                  " S5      nSUS'   [        SS9nU " U5      R                  USUS9nUR	                  5       nU " SSS	S
SSSS[         R
                  [         R
                  /
5      S S U2   n[        R                  " XV5        g )NrT   rl   r#   rb   rs   rv   rQ   gÅoòÛ@gê\QJÖ@gúòì£Ó@g§v†©-Õ@gA€Û@)r@   r€   r	   r(   ÚskewÚnanr/   r‚   )r„   rJ   r7   r)   r(   r2   r3   s          r   Útest_rolling_forward_skewnessrŽ   À   s›   € Ü�YŠY�t‹_€FØ€Fˆ1�Iä'°AÑ6€GÙ˜fÓ%×-Ñ-°WÈ!ÐRVÐ-ÐW€GØ�\‰\‹^€FáàØØØØØØØÜ�F‰FÜ�F‰Fð	
óñ ˆ€fñ€Hô ‡O‚O�FÕ%r   zfunc,expectedÚcovg     @X@g     @WÀÚcorrgîá°óÚë?g¥hÆ"¥ª’?g¡´1=�ë¿c                 óÄ  • [         R                  " S5      R                  SS5      nUS-  nSUS'   [         R                  " X#/SS9n[	        SS	9n[        U5      R                  USS
9n[        X`5      " 5       R                  [        S 5      S4S4   nUR                  SS9n[        U5      R                  SS9nUR                  Ul        [        R                  " Xq5        g )Nr,   éÿÿÿÿr?   r`   éd   )r#   r   )Úaxisrs   rb   r~   r   T)Údrop)r@   r€   ÚreshapeÚconcatenater	   r   r(   r�   ÚlocÚsliceÚreset_indexr   Únamer/   r‚   )r…   r3   Úvalues1Úvalues2r7   r)   r(   r2   s           r   Útest_rolling_forward_cov_corrrž   Ù   sÏ   € ô, �iŠi˜‹m×#Ñ# B¨Ó*€GØ˜‰k€GØ€GˆD�MÜ�^Š^˜WÐ.°QÑ7€Fä'°AÑ6€GÜ˜Ó×'Ñ'¨wÀAÐ'ÐF€Gä�WÔ#Ó%×)Ñ)¬5°«;¸Ð*:¸AÐ*=Ñ>€FØ×Ñ TÐÐ*€FÜ�hÓ×+Ñ+°Ð+Ð6€HØ—K‘K€H„MÜ‡O‚O�FÕ%r   zclosed,expected_dataru   )
rQ   rR   rf   rS   ri   ç      (@rh   ri   rj   rm   Úleft)
rQ   rQ   rR   rf   ç      @rm   r¡   rh   ri   rj   c                 óÞ   • [        SSS9n[        [        S5      US9n[        S5      n[	        X$S9nUR                  XPS9R                  5       n[        XS9n[        R                  " Xg5        g )NÚ2020r,   ©Úperiods)Úindexr?   ©r¦   Úoffset)rI   )	r   r   r'   r   r   r(   rV   r/   rW   )rI   Úexpected_datar¦   rX   r¨   r)   r2   r3   s           r   Ú&test_non_fixed_variable_window_indexerrª   þ   sd   € ô �v rÑ*€EÜ	”5˜“9 EÑ	*€BÜ˜‹^€FÜ)°ÑE€GØ�Z‰Z˜ˆZÐ/×3Ñ3Ó5€FÜ˜Ñ4€HÜ×Ò˜&Õ+r   c                  ó�   • [         R                  " [        SS9   [        S[	        S5      S9  S S S 5        g ! , (       d  f       g = f)Nzindex must be a DatetimeIndex.r!   Úfoor?   r§   )r$   r%   r&   r   r   r   r   r   Ú(test_variableoffsetwindowindexer_not_dtir­     s,   € ä	�Š”zÐ)IÓ	JÜ#¨%¼ÀA»ÒG÷ 
K×	JÖ	Jús	   š7·
Ac                  ó’   • [        SSS9n [        R                  " [        SS9   [	        U SS9  S S S 5        g ! , (       d  f       g = f)Nr£   r,   r¤   z(offset must be a DateOffset-like object.r!   r¬   r§   )r   r$   r%   r&   r   )Úidxs    r   Ú+test_variableoffsetwindowindexer_not_offsetr°     s4   € ä
�V RÑ
(€CÜ	�Š”zÐ)SÓ	TÜ#¨#°eÒ<÷ 
U×	TÖ	Tús	   ¤8¸
Ac                 óÈ   • [        S/ SQ05      n[        SS9nUR                  USU S9R                  5       n[        S/ SQ05      S S U 2   n[        R
                  " X45        g )NÚb)NNNé   r`   rb   r   rv   )rQ   rQ   rR   rR   )r   r	   r(   re   r/   rW   )rJ   rX   r)   r2   r3   s        r   Ú test_fixed_forward_indexer_countr´     s`   € ä	�CÒ.Ð/Ó	0€BÜ'°AÑ6€GØ�Z‰Z˜w°A¸DˆZÐA×GÑGÓI€FÜ˜#Ò3Ð4Ó5±f¸°fÑ=€HÜ×Ò˜&Õ+r   )Ú	end_valuer7   )rQ   r?   r?   rs   r`   r’   )rQ   r?   r   rs   r?   )r…   ÚargsÚquantilec                 óî   ^ •  " U 4S jS[         5      n/ SQn[        S[        S5      05      nU" SUS9n[        UR	                  U5      U5      " U6 n[        SU05      n	[
        R                  " X‰5        g )Nc                   ó"   >• \ rS rSrU 4S jrSrg)Ú0test_indexer_quantile_sum.<locals>.CustomIndexeri+  c                 ó8  >• [         R                  " U[         R                  S9n[         R                  " U[         R                  S9n[        U5       HB  nU R                  U   (       a  SXh'   [        UT	-   S5      Xx'   M.  X†U'   X€R                  -   Xx'   MD     Xg4$ r<   )r@   rA   rB   r'   rC   rk   rD   )
r   rF   rG   rH   rI   rJ   rK   rL   rM   rµ   s
            €r   r   ÚBtest_indexer_quantile_sum.<locals>.CustomIndexer.get_window_bounds,  s‚   ø€ Ü—H’H˜Z¬r¯x©xÑ8ˆEÜ—(’(˜:¬R¯X©XÑ6ˆCÜ˜:Ö&�Ø×%Ñ% a×(Ø �E‘HÜ   Y¡°Ó2�C“Fà ˜!‘HØ×!1Ñ!1Ñ1�C“Fñ 'ð �:Ðr   r   Nr   )rµ   s   €r   rO   rº   +  s   ø† ÷
	ð 
	r   rO   r6   r7   r#   r?   rP   )r   r   r'   r�   r(   r/   rW   )
rµ   r7   r…   r¶   rO   rC   rX   r)   r2   r3   s
   `         r   Útest_indexer_quantile_sumr½   %  sl   ø€ ÷œô ò 5€MÜ	�Hœe A›hÐ'Ó	(€Bá¨¸ÑG€GÜ�R—Z‘Z Ó(¨$Ô/°Ð6€FÜ˜( FÐ+Ó,€HÜ×Ò˜&Õ+r   Úindexer_classrD   )r?   r`   é   Údf_data)Úar²   r`   é   é   c                 óê   • [        U5      nSnU " US9nUR                  n[        U5       HE  nUR                  S5      S   R	                  USS9R                  5         UR                  U:X  a  ME   e   g )Nrs   rb   rÁ   r²   r?   r~   )r   rD   r'   Úgroupbyr(   r-   )r¾   rD   rÀ   rX   Ú
num_trialsr)   Úoriginal_window_sizerM   s           r   Ú0test_indexers_are_reusable_after_groupby_rollingrÈ   A  sv   € ô  
�7Ó	€BØ€JÙ¨Ñ4€GØ"×.Ñ.ÐÜ�:ÖˆØ
�
‰
�3‹˜Ñ×$Ñ$¨GÀÐ$ÐC×HÑHÔJØ×"Ñ"Ð&:Õ:Ð:Ð:ò r   z5window_size, num_values, expected_start, expected_endr#   r¿   c           	      ó,  • [        U S9nUR                  XS9u  pg[        R                  " U[        R
                  " US S U2   5      SS9  [        R                  " U[        R
                  " US S U2   5      SS9  [        U5      [        U5      :X  d   eg )Nrb   )rF   rJ   F)Úcheck_dtype)r	   r   r/   Úassert_numpy_array_equalr@   ÚarrayÚlen)rD   rF   Úexpected_startÚexpected_endrJ   r)   rK   rL   s           r   Ú!test_fixed_forward_indexer_boundsrÐ   Z  s‡   € ô$ (°KÑ@€GØ×*Ñ*°jÐ*ÐL�J€Eä×ÒØŒr�xŠx˜¡v¨ vÑ.Ó/¸Uòô ×Ò ¤R§X¢X¨l¹6¸T¸6Ñ.BÓ%CÐQVÒWÜˆu‹:œ˜S›Ó!Ð!Ñ!r   zdf, window_size, expected)r   r?   r`   )r?   r`   r`   )r²   rÁ   )r   g      ø?rf   rs   rÁ   )Únamesr²   )r¦   r›   r>   é   r³   é   )r²   rÁ   Úc)çÍÌÌÌÌÌ@rÕ   g      @r¡   r¡   g      @rh   rŸ   g      )@g      *@g      +@g      ,@g      -@g      .@g      /@g      0@g     €0@g      1@c                 ó¢   • [        US9nU R                  S5      S   R                  USS9R                  5       n[        R
                  " XB5        g )Nrb   rÁ   r²   r?   r~   )r	   rÅ   r(   r-   r/   r0   )rX   rD   r3   r)   r2   s        r   Ú0test_rolling_groupby_with_fixed_forward_specificr×   v  sH   € ôl (°KÑ@€GØ�Z‰Z˜‹_˜SÑ!×)Ñ)°ÀaÐ)ÐH×MÑMÓO€FÜ×Ò˜6Õ,r   Ú
group_keys)	)r?   )r?   r`   )r`   r?   )r?   r?   r`   )r?   r`   r?   )r?   r?   r`   r`   )r?   r`   rs   r`   rs   )r?   r?   r`   r?   r?   r`   r?   r?   r`   r?   r?   r`   )r?   r`   rs   r?   r`   rs   r?   r`   rs   r?   r`   rs   r?   r`   rs   )r?   r`   rs   rÃ   r#   é   é   c                 ó   • [        [        R                  " [        U 5      5      [        R                  " [        U 5      [        R                  S9S-   [        R                  " [        U 5      [        R                  S9S.5      n[        US9nUR                  S5      S   R                  USS9R                  5       nSS	/UR                  l        UR                  S5      / SQ   n[        U VVVs/ s HV  u  pgUR                  [!        [        U5      5       Vs/ s H$  nUS   R"                  XˆU-    R                  SS
9PM&     snS9PMX     snnn5      n	U	R%                  SS	/5      S   n	[&        R(                  " XI5        g s  snf s  snnnf )Nr=   é   )rÁ   r²   rÔ   rb   rÁ   r²   r?   r~   rÔ   )Ú	min_count)r²   )r   r@   rÌ   Úlistr€   rÍ   Úfloat64rB   r	   rÅ   r(   rV   r¦   rÑ   r   Úassignr'   ÚilocÚ	set_indexr/   r0   )
rØ   rD   rX   r)   r2   ÚgroupsÚ_ÚgrM   Úmanuals
             r   Ú,test_rolling_groupby_with_fixed_forward_manyrç   ±  s`  € ô" 
ä—’œ$˜zÓ*Ó+Ü—’œ3˜z›?´"·*±*Ñ=ÀÑBÜ—’œ3˜z›?´"·(±(Ñ;ñ	
ó
€Bô (°KÑ@€GØ�Z‰Z˜‹_˜SÑ!×)Ñ)°ÀaÐ)ÐH×LÑLÓN€FØ˜s˜€F‡L�LÔà�Z‰Z˜‹_š_Ñ-€FÜñ õ	
ò ‘�ð �H‰Hô #¤3 q£6œ]óâ*˜ð �c‘F—K‘K ¨¡OÐ4×8Ñ8À1Ð8ÓEÙ*ñð ó ñ ó	
ó
€Fð ×Ñ˜s C˜jÓ)¨#Ñ.€Fä×Ò˜6Õ*ùòùô	
s   Ã1)F	Ä+FÅ	F	ÆF	c                  ó„  •  " S S[         5      n U " 5       n[        S5      R                  U5      nSn[        R                  " [
        US9   UR                  5         S S S 5        [        R                  " [
        US9   [        [        U5      5        S S S 5        [        R                  " [
        US9   UR                  SS9  S S S 5        [        R                  " [
        US9   UR                  SS9  S S S 5        g ! , (       d  f       N§= f! , (       d  f       N‚= f! , (       d  f       Nb= f! , (       d  f       g = f)Nc                   ó   • \ rS rSrS rSrg)Ú4test_unequal_start_end_bounds.<locals>.CustomIndexerià  c                 ó`   • [         R                  " S/5      [         R                  " SS/5      4$ ©Nr?   r`   ©r@   rÌ   ©r   rF   rG   rH   rI   rJ   s         r   r   ÚFtest_unequal_start_end_bounds.<locals>.CustomIndexer.get_window_boundsá  s$   € Ü—8’8˜Q˜C“=¤"§(¢(¨A¨q¨6Ó"2Ð2Ð2r   r   Nr   r   r   r   rO   rê   à  s   † õ	3r   rO   r?   rK   r!   T©Úpairwise©r   r   r(   r$   r%   r&   r-   ÚnextÚiterr�   r�   ©rO   r)   Úrollr"   s       r   Útest_unequal_start_end_boundsr÷   ß  sÚ   € ô3œô 3ñ ‹o€GÜ�!‹9×Ñ˜WÓ%€DØ€EÜ	�Š”z¨Ó	/Ø�	‰	Œ÷ 
0ô 
�Š”z¨Ó	/ÜŒT�$‹ZÔ÷ 
0ô 
�Š”z¨Ó	/Ø�	‰	˜4ˆ	Ñ ÷ 
0ô 
�Š”z¨Ó	/Ø�‰˜$ˆÑ÷ 
0Ð	/÷ 
0Õ	/ú÷ 
0Õ	/ú÷ 
0Õ	/ú÷ 
0Õ	/ús0   ÁC>Á>DÂ4D Ã%D1Ã>
DÄ
DÄ 
D.Ä1
D?c                  óˆ  •  " S S[         5      n U " 5       n[        SS/5      R                  U5      nSn[        R                  " [
        US9   UR                  5         S S S 5        [        R                  " [
        US9   [        [        U5      5        S S S 5        [        R                  " [
        US9   UR                  SS9  S S S 5        [        R                  " [
        US9   UR                  SS9  S S S 5        g ! , (       d  f       N§= f! , (       d  f       N‚= f! , (       d  f       Nb= f! , (       d  f       g = f)Nc                   ó   • \ rS rSrS rSrg)Ú4test_unequal_bounds_to_object.<locals>.CustomIndexeriö  c                 ó^   • [         R                  " S/5      [         R                  " S/5      4$ rì   rí   rî   s         r   r   ÚFtest_unequal_bounds_to_object.<locals>.CustomIndexer.get_window_bounds÷  s!   € Ü—8’8˜Q˜C“=¤"§(¢(¨A¨3£-Ð/Ð/r   r   Nr   r   r   r   rO   rú   ö  s   † õ	0r   rO   r?   zstart and endr!   Trð   rò   rõ   s       r   Útest_unequal_bounds_to_objectrý   ô  sÞ   € ô0œô 0ñ ‹o€GÜ�1�a�&‹>×!Ñ! 'Ó*€DØ€EÜ	�Š”z¨Ó	/Ø�	‰	Œ÷ 
0ô 
�Š”z¨Ó	/ÜŒT�$‹ZÔ÷ 
0ô 
�Š”z¨Ó	/Ø�	‰	˜4ˆ	Ñ ÷ 
0ô 
�Š”z¨Ó	/Ø�‰˜$ˆÑ÷ 
0Ð	/÷ 
0Õ	/ú÷ 
0Õ	/ú÷ 
0Õ	/ú÷ 
0Õ	/ús0   ÁD Â DÂ6D"Ã'D3Ä 
DÄ
DÄ"
D0Ä3
E)5Únumpyr@   r$   Úpandasr   r   r   r   r   Úpandas._testingÚ_testingr/   Úpandas.api.indexersr   r	   Úpandas.core.indexers.objectsr
   r   r   Úpandas.tseries.offsetsr   r*   r4   rY   rd   ÚmarkÚparametrizerÍ   r�   rg   rk   rn   rp   rq   rŠ   rŽ   rž   rª   r­   r°   r´   r½   rÞ   r'   rÈ   rÌ   rÐ   Úfrom_arraysrß   r×   rç   r÷   rý   r   r   r   Ú<module>r     sû  ðÛ Û ÷õ õ ÷÷ñ õ /ò*ò-ò,ò0,ð< ‡�×ÑØ%à	�#˜˜S # s¨C°°c¸3ÀÀRÇVÁVÐLÈbÐQØ	�—‘˜˜c 3¨¨S°#°s¸CÀÀbÇfÁfÐMÈrÐRàØ�F‰FØ�#�s˜E 5¨%°°c¸3ÀÇÁÐGØð		
ð Ø�F‰FàØØØØØØØØØ—‘ðð �QˆKð	
ð$ Ø�F‰FàØØØØØØØØØ—‘ðð �QˆKð	
ð$ Ø�I‰IØ�#�s˜C  c¨3°°S¸"¿&¹&ÐAØð		
ðW1ó4ñj'(ók4ðj'(òT&ð2 ‡�×ÑØà	��c˜3  c¨5°#°s¸B¿F¹FÀBÇFÁFÐKÐLààØØØ"Ø$Ø"ØØØ—‘Ø—‘ðð	
ðóñ*&ó+ð*&ð  ‡�×ÑØà	ÒEÐFØ	ÒCÐDðóñ,óð,òHò=ò,ð ‡�×ÑØ˜qÒ"3Ð4°rÒ;LÐ6MÐNóð ‡�×ÑÐ)¨X°r¨N¸ZÈ#ÈÐ<OÐ+PÓQñ,ó Róð,ð0 ‡�×ÑØÐ(Ð*CÐEUÐVóð ‡�×Ñ˜ª
Ó3Ø‡�×ÑØà�!ˆf˜A˜q˜6Ñ"Ø�!ˆf˜A˜q˜6Ñ"Øˆc�B‰h˜bŸf™f a¨¨B¯F©FÐ3±d¹5ÀÀB»<Ó6HÑHÑIðóñ
;óó 4óð
;ð ‡�×ÑØ;à	
ˆA�ˆs�Q�CÐØ	
ˆA��1ˆv˜˜1�vÐØ	
ˆA�ˆs�Q�CÐØ	
ˆA��1ˆv˜˜1�vÐØ	
ˆB‘�b“	™4¡ a¨£Ó-°°°q±Ñ8Ð9Ø	ˆQ‘�a“˜1˜# ™'Ð"Ø	
ˆAˆr�xŠx˜‹|˜RŸXšX b›\Ð*Ø	
ˆAˆr�xŠx˜‹|˜RŸXšX b›\Ð*Ø	
ˆA�ˆs�Q�CÐð
óñ"óð"ð ‡�×ÑØñ šIªIÑ6Ó7ØÙÚØ ×,Ò,ªi¹¸q»Ð-BÈ3ÐPTÈ+ÑVØØ—j‘jñ	ð		
ñ àŸ&™& ! Q¨¯©Ð/±$±u¸QÀ³|Ó2DÑDØ˜˜q™ A 3¨¡8Ñ+Ù˜r›ñóð Ùòð( !×,Ò,Ø�S˜1‘W ˜s R™xÑ'©¨r«Ð3¸CÀ¸;ñð Ø—j‘jñ3ð$	
ð0ó3ñh-ói3ðh-ð ‡�×ÑØò
óð ‡�×Ñ˜Ò(>Ó?ñ+ó @óð+ò> ó* r   