Ë
    u™ãjåã ã                   óN  — d dl Z d dlZd dlZd dlmc mZ d dlZ	d dl
mZ d dlmZ  G d„ d«      Zej                   j#                  dd ej$                  d ej&                  d«      ¬	«      g«      ej                   j#                  d
ddidddœg«      ej                   j#                  dddgddgg«      ej                   j)                  d«      d„ «       «       «       «       Zd„ Zej                   j#                  d
dddœdddœdddœg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zej                   j#                  d d! ej$                  d" ej&                  d«      ¬	«       ej$                  d# ej&                  d«      ¬	«      g«      d$„ «       Z ej&                  d«      d%„ «       Zd&„ Zd'„ Z y)(é    N)Ú
MergeErrorc                   óÐ  — e Zd ZdXd„Zej
                  d„ «       Zej
                  d„ «       Zej
                  d„ «       Zej
                  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ej4                  j7                  dddg«      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)ej4                  j7                  d' e*jV                  d(«       e,jZ                  d)¬*«      gd+d,g¬-«      d.„ «       Z.d/„ Z/d0„ Z0d1„ Z1d2„ Z2d3„ Z3d4„ Z4d5„ Z5d6„ Z6d7„ Z7d8„ Z8d9„ Z9d:„ Z:d;„ Z;d<„ Z<d=„ Z=d>„ Z>d?„ Z?d@„ Z@dA„ ZAdB„ ZBdC„ ZCdD„ ZDdE„ ZEej4                  j7                  dFdG„ e*jŒ                  gdHdIg¬-«      ej4                  j7                  dJdKdLg«      dM„ «       «       ZGdN„ ZHdO„ ZIdP„ ZJej4                  j7                  dg dQ¢«      dR„ «       ZKdS„ ZLdT„ ZMdU„ ZNdV„ ZOyW)YÚTestAsOfMergec                 óœ   — |r%|j                  ddgd¬«      j                  d¬«      }t        j                  |j                  «      |_        |S )NÚtimeÚtickerÚlast)ÚkeepT©Údrop)Údrop_duplicatesÚreset_indexÚpdÚto_datetimer   )ÚselfÚdfÚdedupes      úu/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/reshape/merge/test_merge_asof.pyÚ	prep_datazTestAsOfMerge.prep_data   sN   € ÙØ×#Ñ# V¨XÐ$6¸VÐ#ÓD×PÑPØð Qó ˆBô —.‘. §¡Ó)ˆŒØˆ	ó    c                 ón  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gdj                  d«      ¬«      }|d   j                  d«      |d<   |d   j                  d«      |d<   | j	                  |«      S ) N©ú20160525 13:30:00.023ÚMSFTú51.9500Ú75ÚNASDAQ©ú20160525 13:30:00.038r   r   Ú155r   ©ú20160525 13:30:00.048ÚGOOGz720.7700Ú100r   ©r"   r#   z720.9200r$   r   ©r"   r#   ú720.9300Ú200r   ©r"   r#   r'   Ú300r   ©r"   r#   r'   Ú600r   ©r"   r#   r'   Ú44r   ©ú20160525 13:30:00.074ÚAAPLú98.6700Ú478343r   ©ú20160525 13:30:00.075r1   r2   r3   r   ©r5   r1   z98.6600Ú6r   ©r5   r1   ú98.6500Ú30r   ©r5   r1   r9   r   r   ©r5   r1   r9   Ú20r   ©r5   r1   r9   Ú35r   ©r5   r1   r9   Ú10r   ©r5   r1   ú98.5500r7   ÚARCA©ú20160525 13:30:00.076r1   ú98.5600Ú1000rD   ©rF   r1   rG   r(   rD   ©rF   r1   rG   r*   rD   ©rF   r1   rG   Ú400rD   ©rF   r1   rG   r,   rD   ©ú20160525 13:30:00.078r   r   Ú783r   ©rO   r   r   r$   r   ú'time,ticker,price,quantity,marketCenterú,©ÚcolumnsÚpriceÚfloat64ÚquantityÚint64©r   Ú	DataFrameÚsplitÚastyper   ©r   r   s     r   ÚtradeszTestAsOfMerge.trades   s¸   € ä�\‰\âLÚMÚNÚNÚNÚNÚNÚMÚPÚPÚKÚLÚLÚLÚLÚLÚIÚIÚLÚKÚKÚKÚKÚKÚMÚMÚMð7ð: >×CÑCÀCÓHô=
ˆð@ ˜‘k×(Ñ(¨Ó3ˆˆ7‰Ø˜J™×.Ñ.¨wÓ7ˆˆ:‰Ø�~‰~˜bÓ!Ð!r   c                 ó0  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢gd
j                  d«      ¬«      }|d   j                  d«      |d<   |d   j                  d«      |d<   | j	                  |d¬«      S )N©r   r#   ú720.50ú720.93©r   r   ú51.95re   ©ú20160525 13:30:00.041r   re   re   ©r"   r#   rb   rc   ©ú20160525 13:30:00.072r#   rb   z720.88©r5   r1   ú98.55ú98.56©rF   r1   rl   rm   ©rO   r   re   re   ©rO   r   ú51.92re   útime,ticker,bid,askrS   rT   ÚbidrW   ÚaskT©r   rZ   r^   s     r   ÚquoteszTestAsOfMerge.quotes<   sš   € ä�\‰\âEÚCÚCÚEÚEÚEÚEÚEÚCÚCÚCÚCÚCÚCÚCÚCð!ð$ *×/Ñ/°Ó4ô'
ˆð* �u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�~‰~˜b¨ˆ~Ó.Ð.r   c                 ó  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢d	d
dddt        j                  t        j                  gg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gdj	                  d«      ¬«      }|d    j                  d!«      |d <   |d"   j                  d#«      |d"<   |d$   j                  d!«      |d$<   |d%   j                  d!«      |d%<   | j                  |«      S ©&N©r   r   re   r   r   re   re   ©r   r   re   r    r   re   re   ©r"   r#   z720.77r$   r   ú720.5rc   ©r"   r#   z720.92r$   r   r|   rc   ©r"   r#   rc   r(   r   r|   rc   ©r"   r#   rc   r*   r   r|   rc   ©r"   r#   rc   r,   r   r|   rc   ©r"   r#   rc   r.   r   r|   rc   r0   r1   ú98.67r3   r   ©r5   r1   r‚   r3   r   rl   rm   ©r5   r1   ú98.66r7   r   rl   rm   ©r5   r1   ú98.65r:   r   rl   rm   ©r5   r1   r‡   r   r   rl   rm   ©r5   r1   r‡   r=   r   rl   rm   ©r5   r1   r‡   r?   r   rl   rm   ©r5   r1   r‡   rA   r   rl   rm   ©r5   r1   rl   r7   rD   rl   rm   ©rF   r1   rm   rH   rD   rl   rm   ©rF   r1   rm   r(   rD   rl   rm   ©rF   r1   rm   r*   rD   rl   rm   ©rF   r1   rm   rL   rD   rl   rm   ©rF   r1   rm   r,   rD   rl   rm   ©rO   r   re   rP   r   rq   re   ©rO   r   re   r$   r   rq   re   ú/time,ticker,price,quantity,marketCenter,bid,askrS   rT   rV   rW   rX   rY   rs   rt   ©r   r[   ÚnpÚnanr\   r]   r   r^   s     r   ÚasofzTestAsOfMerge.asofW   óC  € ä�\‰\òòòòòòòòð ,ØØØØÜ—F‘FÜ—F‘FðòòòòòòòòòòòòòòòòòòðWtðj F×KÑKÈCÓPômw
ˆðp ˜‘k×(Ñ(¨Ó3ˆˆ7‰Ø˜J™×.Ñ.¨wÓ7ˆˆ:‰Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�~‰~˜bÓ!Ð!r   c                 ó  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢d	d
dddt        j                  t        j                  gg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gdj	                  d«      ¬«      }|d    j                  d!«      |d <   |d"   j                  d#«      |d"<   |d$   j                  d!«      |d$<   |d%   j                  d!«      |d%<   | j                  |«      S rx   r•   r^   s     r   Ú	tolerancezTestAsOfMerge.toleranceW  r™   r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  ||d¬	«      }t        j                  ||«       y
)údoc-string examples©é   é   é
   ©ÚaÚbÚc©r£   Úleft_val©rŸ   é   é   é   é   ©r£   Ú	right_val©rŸ   rª   r¬   ©r£   r§   r®   r£   ©ÚonN©r   r[   Ú
merge_asofÚtmÚassert_frame_equal©r   ÚleftÚrightÚexpectedÚresults        r   Útest_examples1zTestAsOfMerge.test_examples1W  sd   € ä�|‰|¢*º/ÑJÓKˆÜ—‘¢?ÂÑQÓRˆä—<‘<Úª/Ê	ÑRó
ˆô —‘˜t U¨sÔ3ˆÜ
×Ñ˜f hÕ/r   c                 ó  — |dk(  rt        j                  d«       t        j                  t        j                  g d¢«      j                  d|› d�«      g d¢g d¢g d¢d	œg d	¢¬
«      }t        j                  t        j                  g d¢«      j                  d|› d�«      g d¢g d¢g d¢dœg d¢¬
«      }t        j                  ||dd¬«       t        j                  ||ddt        j                  d«      ¬«       t        j                  t        j                  g d¢«      j                  d|› d�«      g d¢g d¢g d¢t        j                  dt        j                  t        j                  t        j                  gt        j                  dt        j                  t        j                  t        j                  gdœg d¢¬
«      }t        j                  ||ddt        j                  d«      d¬«      }t        j                  ||«       y)r�   ÚszNThis test is invalid for unit='s' because that would round the trades['time']])r   r   r"   r"   r"   úM8[ú]©r   r   r#   r#   r1   ©çš™™™™ùI@rÃ   g\�Âõ(††@ç�Âõ(\‡†@g     €X@©éK   é›   éd   rÈ   rÈ   )r   r   rV   rX   rT   )r   r   ú20160525 13:30:00.030rg   r"   ú20160525 13:30:00.049rj   r5   )r#   r   r   r   r#   r1   r#   r   )ç     „†@rÃ   ç\�Âõ(üI@ç…ëQ¸þI@rË   ç�Âõ(\X@rË   gáz®GJ@)ç=
×£p‡†@ç{®GáúI@ç=
×£pýI@ç      J@rÏ   çq=
×£€X@g×£p=
‡†@g¤p=
×J@)r   r   rs   rt   r   r   ©r²   ÚbyÚ2ms©r²   rÕ   r›   rÌ   rÑ   )r   r   rV   rX   rs   rt   Ú10msF©r²   rÕ   r›   Úallow_exact_matchesN)ÚpytestÚskipr   r[   r   r]   r´   Ú	Timedeltar–   r—   rµ   r¶   )r   Úunitr_   rv   rº   r»   s         r   Útest_examples2zTestAsOfMerge.test_examples2c  s¥  € à�3Š;Ü�K‰Kð,ôô —‘äŸ™òó÷ ‘&˜3˜t˜f A˜Ó'ÚBÚ>Ú4ñò <ô
ˆô$ —‘äŸ™ò	ó÷ ‘&˜3˜t˜f A˜Ó'ò	ò SÚRñ1ò4 5ô7
ˆô< 	�‰�f˜f¨°HÕ=ä
�‰Ø�F˜v¨(¼b¿l¹lÈ5Ó>Qõ	
ô —<‘<äŸ™òó÷ ‘&˜3˜t˜f A˜Ó'ÚBÚ>Ú4ÜŸ™ ¤r§v¡v¬r¯v©v´r·v±vÐ>ÜŸ™ ¤r§v¡v¬r¯v©v´r·v±vÐ>ñò  Jô#
ˆô( —‘ØØØØÜ—l‘l 6Ó*Ø %ô
ˆô 	×Ñ˜f hÕ/r   c                 ó.  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢ddt        j                  gdœ«      }t        j                  ||d	d
¬«      }t        j                  ||«       y)r�   rž   r¢   r¦   r¨   r­   rŸ   r«   r°   r£   Úforward©r²   Ú	directionN©r   r[   r–   r—   r´   rµ   r¶   r·   s        r   Útest_examples3zTestAsOfMerge.test_examples3¾  sr   € ô �|‰|¢*º/ÑJÓKˆÜ—‘¢?ÂÑQÓRˆä—<‘<Úª/ÈÈAÌrÏvÉvÈÑWó
ˆô —‘˜t U¨s¸iÔHˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  ||dd	¬
«      }t        j                  ||«       y)r�   rž   r¢   r¦   r¨   r­   )rŸ   r«   r¬   r°   r£   Únearestrâ   Nr³   r·   s        r   Útest_examples4zTestAsOfMerge.test_examples4Ì  sh   € ô �|‰|¢*º/ÑJÓKˆÜ—‘¢?ÂÑQÓRˆä—<‘<Úª/Ê	ÑRó
ˆô —‘˜t U¨s¸iÔHˆÜ
×Ñ˜f hÕ/r   c                 óf   — |}t        j                  ||dd¬«      }t        j                  ||«       y )Nr   r   rÔ   ©r   r´   rµ   r¶   ©r   r_   r˜   rv   rº   r»   s         r   Ú
test_basiczTestAsOfMerge.test_basicÚ  s+   € Øˆä—‘˜v v°&¸XÔFˆÜ
×Ñ˜f hÕ/r   c                 ó&  — |}|j                   j                  d«      |_         |j                   j                  d«      |_         |j                   j                  d«      |_         t        j                  ||dd¬«      }t	        j
                  ||«       y )NÚcategoryr   r   rÔ   )r   r]   r   r´   rµ   r¶   rë   s         r   Útest_basic_categoricalz$TestAsOfMerge.test_basic_categoricalà  sm   € ØˆØŸ™×,Ñ,¨ZÓ8ˆŒØŸ™×,Ñ,¨ZÓ8ˆŒØ"Ÿ/™/×0Ñ0°Ó<ˆŒä—‘˜v v°&¸XÔFˆÜ
×Ñ˜f hÕ/r   c                 óÊ   — |}|j                  d«      }t        j                  ||ddd¬«      }|j                  |_        ||j                     }t        j                  ||«       y )Nr   Tr   )Ú
left_indexÚright_onrÕ   )Ú	set_indexr   r´   ÚindexrU   rµ   r¶   rë   s         r   Útest_basic_left_indexz#TestAsOfMerge.test_basic_left_indexé  s[   € àˆØ×!Ñ! &Ó)ˆä—‘Ø�F t°fÀô
ˆð  Ÿ™ˆŒà˜FŸN™NÑ+ˆÜ
×Ñ˜f hÕ/r   c                 óŠ   — |}|j                  d«      }t        j                  ||ddd¬«      }t        j                  ||«       y )Nr   Tr   )Úleft_onÚright_indexrÕ   ©ró   r   r´   rµ   r¶   rë   s         r   Útest_basic_right_indexz$TestAsOfMerge.test_basic_right_index÷  sB   € ØˆØ×!Ñ! &Ó)ˆä—‘Ø�F F¸Àô
ˆô 	×Ñ˜f hÕ/r   c                 óÊ   — |j                  d«      }|j                  d«      }|j                  d«      }t        j                  ||ddd¬«      }t        j                  ||«       y )Nr   Tr   ©rñ   rø   rÕ   rù   rë   s         r   Ú!test_basic_left_index_right_indexz/TestAsOfMerge.test_basic_left_index_right_index   s[   € Ø—>‘> &Ó)ˆØ×!Ñ! &Ó)ˆØ×!Ñ! &Ó)ˆä—‘Ø�F t¸À(ô
ˆô 	×Ñ˜f hÕ/r   c                 óÞ   — |j                  ddg«      }|j                  d«      }t        j                  t        d¬«      5  t	        j
                  ||dd¬«       d d d «       y # 1 sw Y   y xY w)Nr   rV   zleft can only have one index©ÚmatchT©rñ   rø   ©ró   rÛ   Úraisesr   r   r´   ©r   r_   rv   s      r   Útest_multi_index_leftz#TestAsOfMerge.test_multi_index_left
  sa   € à×!Ñ! 6¨7Ð"3Ó4ˆØ×!Ñ! &Ó)ˆÜ�]‰]œ:Ð-KÔLñ 	MÜ�M‰M˜& &°TÀtÕL÷	M÷ 	Mñ 	Múó   Á A#Á#A,c                 óÞ   — |j                  d«      }|j                  ddg«      }t        j                  t        d¬«      5  t	        j
                  ||dd¬«       d d d «       y # 1 sw Y   y xY w)Nr   rs   zright can only have one indexrÿ   Tr  r  r  s      r   Útest_multi_index_rightz$TestAsOfMerge.test_multi_index_right  s`   € à×!Ñ! &Ó)ˆØ×!Ñ! 6¨5 /Ó2ˆÜ�]‰]œ:Ð-LÔMñ 	MÜ�M‰M˜& &°TÀtÕL÷	M÷ 	Mñ 	Múr  c                 óà   — |j                  d«      }|j                  d«      }d}t        j                  t        |¬«      5  t	        j
                  ||ddd¬«       d d d «       y # 1 sw Y   y xY w)Nr   z:Can only pass argument "left_on" OR "left_index" not both.rÿ   rV   T)r÷   rñ   rø   r  ©r   r_   rv   Úmsgs       r   Útest_on_and_index_left_onz'TestAsOfMerge.test_on_and_index_left_on  sa   € à×!Ñ! &Ó)ˆØ×!Ñ! &Ó)ˆØJˆÜ�]‰]œ:¨SÔ1ñ 	Ü�M‰MØ˜¨¸DÈdõ÷	÷ 	ñ 	úó   Á A$Á$A-c                 óà   — |j                  d«      }|j                  d«      }d}t        j                  t        |¬«      5  t	        j
                  ||ddd¬«       d d d «       y # 1 sw Y   y xY w)Nr   z<Can only pass argument "right_on" OR "right_index" not both.rÿ   rs   T)rò   rñ   rø   r  r
  s       r   Útest_on_and_index_right_onz(TestAsOfMerge.test_on_and_index_right_on"  sa   € Ø×!Ñ! &Ó)ˆØ×!Ñ! &Ó)ˆØLˆÜ�]‰]œ:¨SÔ1ñ 	Ü�M‰MØ˜¨¸4ÈTõ÷	÷ 	ñ 	úr  c                 óh   — |}t        j                  ||ddd¬«      }t        j                  ||«       y )Nr   r   )r²   Úleft_byÚright_byrê   rë   s         r   Útest_basic_left_by_right_byz)TestAsOfMerge.test_basic_left_by_right_by+  s2   € àˆä—‘Ø�F˜v¨xÀ(ô
ˆô 	×Ñ˜f hÕ/r   c                 óæ   — |}||j                   dk7     }t        j                  ||dd¬«      }t        j                  |j
                  |j                   dk(  ddgf<   t        j                  ||«       y )Nr   r   r   rÔ   rs   rt   )r   r   r´   r–   r—   Úlocrµ   r¶   )r   r_   r˜   rv   rº   Úqr»   s          r   Útest_missing_right_byz#TestAsOfMerge.test_missing_right_by4  sb   € Øˆà�6—=‘= FÑ*Ñ+ˆÜ—‘˜v q¨V¸ÔAˆÜBDÇ&Á&ˆ�‰�X—_‘_¨Ñ.°¸°Ð>Ñ?Ü
×Ñ˜f hÕ/r   c                 óV  — t        j                  t        j                  g d¢«      g d¢g d¢g d¢g d¢dœg d¢¬«      }t        j                  t        j                  g d¢«      g d	¢g d
¢g d¢g d¢dœg d¢¬«      }t        j                  t        j                  g d¢«      g d¢g d¢g d¢g d¢t        j                  dddt        j                  gt        j                  dddt        j                  gdœg d¢¬«      }t        j
                  ||dddg¬«      }t        j                  ||«       y )N©r   r   z20160525 13:30:00.046r"   ú20160525 13:30:00.050rÁ   ©rD   ÚNSDQr  ÚBATSr  rÂ   rÅ   ©r   r   ÚexchrV   rX   rT   ©r   r   rÉ   rg   z20160525 13:30:00.045rÊ   )r#   r   r   r   r#   r1   ©r  r  rD   rD   r  rD   ©ç®Gáz„†@rÃ   rÌ   rÍ   rË   rÎ   ©rÄ   rÐ   rÑ   rÒ   rÏ   rÓ   ©r   r   r  rs   rt   rÃ   rË   r#  rÐ   rÏ   rÄ   ©r   r   r  rV   rX   rs   rt   r   r   r  rÔ   )r   r[   r   r–   r—   r´   rµ   r¶   )r   r_   rv   rº   r»   s        r   Útest_multibyzTestAsOfMerge.test_multiby<  s  € ä—‘äŸ™òóò CÚ@Ú>Ú4ñò Dô!
ˆô& —‘äŸ™òó	ò KÚHÚCÚCñò  =ô#
ˆô( —<‘<äŸ™òóò CÚ@Ú>Ú4ÜŸ™  v¨v´r·v±vÐ>ÜŸ™  v¨v´r·v±vÐ>ñò" Rô%
ˆô* —‘˜v v°&¸hÈÐ=OÔPˆÜ
×Ñ˜f hÕ/r   ÚdtypeÚobjectÚstringc                 óÎ  — t        j                  t        j                  g d¢«      g d¢g d¢g d¢g d¢dœg d¢¬«      }|j                  ||dœ«      }t        j                  t        j                  g d	¢«      g d
¢g d¢g d¢g d¢dœg d¢¬«      }|j                  ||dœ«      }t        j                  t        j                  g d¢«      g d¢g d¢g d¢g d¢t        j
                  dddt        j
                  gt        j
                  dddt        j
                  gdœg d¢¬«      }|j                  ||dœ«      }t        j                  ||dddg¬«      }t        j                  ||«       y )Nr  )r   r   rŸ   rŸ   r©   r  rÂ   rÅ   r  rT   )r   r  r   )rŸ   r   r   r   rŸ   r©   r!  r"  r$  r%  rÃ   rË   r#  rÐ   rÏ   rÄ   r&  r   r   r  rÔ   )	r   r[   r   r]   r–   r—   r´   rµ   r¶   )r   r(  r_   rv   rº   r»   s         r   Ú test_multiby_heterogeneous_typesz.TestAsOfMerge.test_multiby_heterogeneous_types}  s?  € ô —‘äŸ™òóò *Ú@Ú>Ú4ñò Dô!
ˆð$ —‘¨%¸Ñ?Ó@ˆä—‘äŸ™òó	ò -ÚHÚCÚCñò  =ô#
ˆð& —‘¨%¸Ñ?Ó@ˆä—<‘<äŸ™òóò *Ú@Ú>Ú4ÜŸ™  v¨v´r·v±vÐ>ÜŸ™  v¨v´r·v±vÐ>ñò" Rô%
ˆð( —?‘?¨e¸UÑ#CÓDˆä—‘˜v v°&¸hÈÐ=OÔPˆÜ
×Ñ˜f hÕ/r   c           	      ó  — t        j                  t        j                  d«      ddgt        j                  d«      ddgt        j                  d«      ddgt        j                  d«      ddggg d¢¬«      j                  d	«      }|j                  t        j
                  d
«      z
  |_        t        j                  t        j                  d«      dddgt        j                  d«      dddgt        j                  d«      dddgt        j                  d«      dddggg d¢¬«      j                  d	«      }d}t        j                  t        |¬«      5  t        j                  ||ddddg¬«       d d d «       y # 1 sw Y   y xY w)NÚ20160602rŸ   r£   r©   Ú20160603r¤   ©r   Úk1Úk2rT   r   r   Ú20160502ç      ð?ç       @Ú20160503ç      @ç      @©r   r1  r2  Úvaluezincompatible merge keysrÿ   Tr1  r2  rü   )
r   r[   r   ró   rô   Ú	TimestamprÛ   r  r   r´   ©r   r¸   r¹   r  s       r   Útest_mismatched_index_dtypez)TestAsOfMerge.test_mismatched_index_dtypeÂ  sO  € ä�|‰|ä—‘ 
Ó+¨Q°Ð4Ü—‘ 
Ó+¨Q°Ð4Ü—‘ 
Ó+¨Q°Ð4Ü—‘ 
Ó+¨Q°Ð4ð	ò )ô
÷ ‰)�FÓ
ð 	ð —Z‘Z¤"§,¡,¨q£/Ñ1ˆŒ
ä—‘ä—‘ 
Ó+¨Q°°SÐ9Ü—‘ 
Ó+¨Q°°SÐ9Ü—‘ 
Ó+¨Q°°SÐ9Ü—‘ 
Ó+¨Q°°SÐ9ð	ò 2ô
÷ ‰)�FÓ
ð 	ð (ˆÜ�]‰]œ:¨SÔ1ñ 	Ü�M‰MØ�e¨¸$ÀDÈ$À<õ÷	÷ 	ñ 	ús   ÅE7Å7F c           	      ó,  — t        j                  t        j                  d«      ddgt        j                  d«      ddgt        j                  d«      ddgt        j                  d«      ddggg d¢¬«      j                  d	«      }t        j                  t        j                  d
«      dddgt        j                  d
«      dddgt        j                  d«      dddgt        j                  d«      dddggg d¢¬«      j                  d	«      }t        j                  t        j                  d«      dddgt        j                  d«      dddgt        j                  d«      dddgt        j                  d«      dddggg d¢¬«      j                  d	«      }t        j                  ||ddddg¬«      }t        j                  ||«       t        j                  t        d¬«      5  t        j                  ||ddddgdg¬«       d d d «       y # 1 sw Y   y xY w)Nr.  rŸ   r£   r©   r/  r¤   r0  rT   r   r3  r4  r5  r6  r7  r8  r9  Tr1  r2  rü   z,left_by and right_by must be the same lengthrÿ   )rñ   rø   r  r  )
r   r[   r   ró   r´   rµ   r¶   rÛ   r  r   r·   s        r   Útest_multiby_indexedz"TestAsOfMerge.test_multiby_indexedà  sí  € ä�|‰|ä—‘ 
Ó+¨Q°Ð4Ü—‘ 
Ó+¨Q°Ð4Ü—‘ 
Ó+¨Q°Ð4Ü—‘ 
Ó+¨Q°Ð4ð	ò )ô
÷ ‰)�FÓ
ð 	ô —‘ä—‘ 
Ó+¨Q°°SÐ9Ü—‘ 
Ó+¨Q°°SÐ9Ü—‘ 
Ó+¨Q°°SÐ9Ü—‘ 
Ó+¨Q°°SÐ9ð	ò 2ô
÷ ‰)�FÓ
ð 	ô —<‘<ä—‘ 
Ó+¨Q°°SÐ9Ü—‘ 
Ó+¨Q°°SÐ9Ü—‘ 
Ó+¨Q°°SÐ9Ü—‘ 
Ó+¨Q°°SÐ9ð	ò 2ô
÷ ‰)�FÓ
ð 	ô —‘Ø�% D°dÀÀd¸|ô
ˆô 	×Ñ˜h¨Ô/ä�]‰]ÜÐLô
ñ 
	ô �M‰MØØØØ Ø˜t˜Ø˜õ÷
	÷ 
	ñ 
	ús   Ç"H
È
Hc           
      óò	  — t        j                  g g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘d	d
dddt        j                  t        j                  g‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d ¢‘g d!¢‘g d"¢‘g d"¢‘g d#¢‘g d#¢‘g d$¢‘g d%¢‘g d&¢‘g d'¢‘g d(¢‘g d)¢‘g d*¢‘g d+¢‘g d,¢‘g d-¢‘g d.¢‘g d/¢‘g d0¢‘g d1¢‘g d2¢‘g d2¢‘g d3¢‘g d4¢‘g d5¢‘g d6¢‘g d7¢‘g d8¢‘g d9¢‘g d:¢‘g d;¢‘g d;¢‘g d<¢‘g d=¢‘g d>¢‘g d?¢‘g d@¢‘g dA¢‘g dB¢‘g dC¢‘g dD¢‘g dE¢‘g dF¢‘g dG¢‘g dH¢‘g dI¢‘g dI¢‘dJj	                  dK«      ¬L«      }|dM   j                  dN«      |dM<   |dO   j                  dP«      |dO<   |dQ   j                  dN«      |dQ<   |dR   j                  dN«      |dR<   | j                  |«      }t        j                  g g dS¢‘g dT¢‘g dU¢‘g dV¢‘g dW¢‘g dX¢‘g dY¢‘g dZ¢‘g d[¢‘g d\¢‘g d]¢‘g d^¢‘g d_¢‘g d`¢‘g da¢‘g db¢‘g dc¢‘g dc¢‘g dd¢‘g de¢‘g df¢‘g dg¢‘g dh¢‘g de¢‘g di¢‘g dj¢‘g dj¢‘g dk¢‘g dl¢‘g dm¢‘g dn¢‘g do¢‘g dp¢‘g dp¢‘g dq¢‘g dq¢‘g dr¢‘g ds¢‘g dt¢‘g du¢‘g dv¢‘g dw¢‘g dx¢‘g dy¢‘g dz¢‘g d{¢‘g d|¢‘g d}¢‘g d~¢‘g d¢‘g d€¢‘g d€¢‘g d�¢‘g d‚¢‘g dƒ¢‘g d„¢‘g d…¢‘g d†¢‘g d‡¢‘g dˆ¢‘g d‰¢‘g d‰¢‘g dŠ¢‘g d‹¢‘g dŒ¢‘g d�¢‘g dŽ¢‘g d�¢‘g d�¢‘g d‘¢‘g d’¢‘g d“¢‘g d”¢‘g d•¢‘g d–¢‘g d—¢‘g d—¢‘d˜j	                  dK«      ¬L«      }|dM   j                  dN«      |dM<   |dO   j                  dP«      |dO<   | j                  |«      }t        j                  g g d™¢‘g dš¢‘g d›¢‘g dœ¢‘g dœ¢‘g dœ¢‘g dœ¢‘g d�¢‘g dž¢‘g dŸ¢‘g dŸ¢‘g dŸ¢‘g d ¢‘g d ¢‘g d ¢‘g d¡¢‘g d¢¢‘g d£¢‘g d¤¢‘g d¥¢‘g d¦¢‘g d§¢‘g d¨¢‘g d¨¢‘g d¨¢‘g d¨¢‘g d©¢‘g dª¢‘g d«¢‘g d¬¢‘g d¬¢‘g d­¢‘g d®¢‘g d®¢‘g d¯¢‘g d°¢‘g d¯¢‘g d¯¢‘g d°¢‘g d±¢‘g d±¢‘g d²¢‘g d³¢‘g d³¢‘g d´¢‘g dµ¢‘g d¶¢‘g d¶¢‘g d·¢‘g d·¢‘g d¸¢‘g d¹¢‘g d¹¢‘g dº¢‘g d¹¢‘g dº¢‘d»j	                  dK«      ¬L«      }|dQ   j                  dN«      |dQ<   |dR   j                  dN«      |dR<   | j                  |d¼¬½«      }t        j                  ||d¾d¿¬À«      }t        j                  ||«       y )ÁNry   rz   r{   r}   r~   r   r€   r�   r0   r1   r‚   r3   r   rƒ   r„   r†   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   )ú20160525 13:30:00.084r1   z98.64Ú40r   rl   rm   )rA  r1   rl   Ú149ÚEDGXrl   rm   )ú20160525 13:30:00.086r1   rm   Ú500rD   rl   ú98.63)ú20160525 13:30:00.104r1   rG  Ú647rD  ú98.62rG  )rH  r1   rG  r*   rD  rJ  rG  )rH  r1   rG  Ú50r   rJ  rG  )rH  r1   rG  Ú70r   rJ  rG  )rH  r1   rG  Ú1r   rJ  rG  )rH  r1   rG  Ú62r   rJ  rG  )rH  r1   rG  rA   r   rJ  rG  )rH  r1   rG  r$   rD   rJ  rG  )ú20160525 13:30:00.105r1   rG  r$   rD   rJ  rG  )rO  r1   rG  Ú700rD   rJ  rG  )ú20160525 13:30:00.106r1   rG  Ú61rD  rJ  rG  )ú20160525 13:30:00.107r1   rG  r$   rD   rJ  rG  )rS  r1   rG  Ú53rD   rJ  rG  )ú20160525 13:30:00.108r1   rG  r$   rD   rJ  rG  )rU  r1   rG  Ú839rD   rJ  rG  )ú20160525 13:30:00.115r1   rG  Ú5rD  rJ  rG  )ú20160525 13:30:00.118r1   rG  Ú295rD  rJ  rG  )rY  r1   rG  rX  rD  rJ  rG  )ú20160525 13:30:00.128r1   rG  r$   r   rJ  rG  )r[  r   rq   r$   rD   rq   re   )ú20160525 13:30:00.129r1   rJ  r$   r   ú98.61rG  )r\  r1   rJ  rA   r   r]  rG  )r\  r1   rJ  Ú59r   r]  rG  )r\  r1   rJ  Ú31r   r]  rG  )r\  r1   rJ  Ú69r   r]  rG  )r\  r1   rJ  Ú12r   r]  rG  )r\  r1   rJ  ra  rD  r]  rG  )r\  r1   rJ  r$   rD   r]  rG  )ú20160525 13:30:00.130r   re   Ú317rD   ú51.93re   )rb  r   re   Ú283rD   rd  re   )ú20160525 13:30:00.135r   rd  r$   rD  rq   re   )rf  r1   rJ  r$   rD   r]  rJ  )ú20160525 13:30:00.144r1   rJ  ra  r   r]  rJ  )rg  r1   rJ  Ú88r   r]  rJ  )rg  r1   rJ  Ú162r   r]  rJ  )rg  r1   r]  r$   r  r]  rJ  )rg  r1   rJ  rR  rD   r]  rJ  )rg  r1   rJ  Ú25rD   r]  rJ  )rg  r1   rJ  Ú14rD   r]  rJ  )ú20160525 13:30:00.145r1   rJ  ra  rD   ú98.6rG  )rl  r1   rJ  r$   rD   rm  rG  )rl  r1   rG  r$   r   rm  rG  r”   rS   rT   rV   rW   rX   rY   rs   rt   r   r   r!   r%   r&   r)   r+   r-   r/   r4   r6   r8   r;   r<   r>   r@   rB   rE   rI   rJ   rK   rM   rN   rQ   )rA  r1   z98.6400rB  r   )rA  r1   rC   rC  rD  )rE  r1   rG   rF  rD   )rH  r1   ú98.6300rI  rD  )rH  r1   rn  r*   rD  )rH  r1   rn  rK  r   )rH  r1   rn  rL  r   )rH  r1   rn  rM  r   )rH  r1   rn  rN  r   )rH  r1   rn  rA   r   )rH  r1   rn  r$   rD   )rO  r1   rn  r$   rD   )rO  r1   rn  rP  rD   )rQ  r1   rn  rR  rD  )rS  r1   rn  r$   rD   )rS  r1   rn  rT  rD   )rU  r1   rn  r$   rD   )rU  r1   rn  rV  rD   )rW  r1   rn  rX  rD  )rY  r1   rn  rZ  rD  )rY  r1   rn  rX  rD  )r[  r1   rn  r$   r   )r[  r   z51.9200r$   rD   )r\  r1   ú98.6200r$   r   )r\  r1   ro  rA   r   )r\  r1   ro  r^  r   )r\  r1   ro  r_  r   )r\  r1   ro  r`  r   )r\  r1   ro  ra  r   )r\  r1   ro  ra  rD  )r\  r1   ro  r$   rD   )rb  r   r   rc  rD   )rb  r   r   re  rD   )rf  r   z51.9300r$   rD  )rf  r1   ro  r$   rD   )rg  r1   ro  ra  r   )rg  r1   ro  rh  r   )rg  r1   ro  ri  r   )rg  r1   z98.6100r$   r  )rg  r1   ro  rR  rD   )rg  r1   ro  rj  rD   )rg  r1   ro  rk  rD   )rl  r1   ro  ra  rD   )rl  r1   ro  r$   rD   )rl  r1   rn  r$   r   rR   ra   rd   rf   rh   ri   rk   rn   ro   rp   )z20160525 13:30:00.079r   rq   re   )z20160525 13:30:00.080r1   rl   rm   )rA  r1   rl   rm   )rE  r1   rl   rG  )z20160525 13:30:00.088r1   r‡   rG  )z20160525 13:30:00.089r1   rG  rG  )rH  r1   rG  rG  )rH  r1   rJ  rG  )rO  r1   rJ  rG  )rS  r1   rJ  rG  )rW  r1   rJ  rG  )rY  r1   rJ  rG  )r[  r1   rJ  rG  )r\  r1   rJ  rG  )r\  r1   r]  rG  )rb  r   rd  re   )rb  r1   r]  rG  )z20160525 13:30:00.131r1   r]  rJ  )rf  r   rq   re   )rf  r1   r]  rJ  )z20160525 13:30:00.136r1   r]  rJ  )rg  r1   r]  rJ  )rl  r1   r]  rJ  )rl  r1   r]  rG  )rl  r1   z98.60rG  rr   Tru   r   r   rÔ   )
r   r[   r–   r—   r\   r]   r   r´   rµ   r¶   )r   Údatapathrº   r_   rv   r»   s         r   Útest_basic2zTestAsOfMerge.test_basic2  s  € Ü—<‘<ðv
òðv
òðv
ò&ð'v
ò8ð9v
òJðKv
ò\ð]v
ònðov
ò@ðAv
ðT ,ØØØØÜ—F‘FÜ—F‘FððSv
òdðev
òvðwv
òHðIv
òZð[v
òlðmv
ò~ðv
òPðQv
òbðcv
òtðuv
òFðGv
òXðYv
òjðkv
ò|ð}v
òNðOv
ò`ðav
òrðsv
òDðEv
òVðWv
òhðiv
òzð{v
òLðMv
ò^ð_v
òpðqv
òB	ðC	v
òT	ðU	v
òf	ðg	v
òx	ðy	v
òJ
ðK
v
ò\
ð]
v
òn
ðo
v
ò@ðAv
òRðSv
òdðev
òvðwv
òHðIv
òZð[v
òlðmv
ò~ðv
òPðQv
òbðcv
òtðuv
òFðGv
òXðYv
òjðkv
ò|ð}v
òNðOv
ò`ðav
òrðsv
òDðEv
òVðWv
òhðiv
òzð{v
òLðMv
ò^ð_v
òpðqv
òBðCv
òTðUv
òfðgv
òxðyv
òJðKv
ò\ð]v
ònðov
ò@ðAv
òRðSv
òdðev
òvðwv
òHðIv
òZð[v
ðn F×KÑKÈCÓPôqy

ˆðt % WÑ-×4Ñ4°YÓ?ˆ�ÑØ'¨
Ñ3×:Ñ:¸7ÓCˆ�ÑØ" 5™/×0Ñ0°Ó;ˆ�‰Ø" 5™/×0Ñ0°Ó;ˆ�‰Ø—>‘> (Ó+ˆä—‘ðNÚLðNâMðNò OðNò Oð	Nò
 OðNò OðNò OðNò NðNò QðNò QðNò LðNò MðNò MðNò MðNò MðNò  Mð!Nò" Jð#Nò$ Jð%Nò& Mð'Nò( Lð)Nò* Lð+Nò, Lð-Nò. Lð/Nò0 Lð1Nò2 Nð3Nò4 Nð5Nò6 Nð7Nò8 Mð9Nò: Lð;Nò< Lð=Nò> Lð?Nò@ LðANòB MðCNòD MðENòF MðGNòH MðINòJ LðKNòL MðMNòN MðONòP LðQNòR LðSNòT LðUNòV KðWNòX LðYNòZ Kð[Nò\ Lð]Nò^ Lð_Nò` JðaNòb LðcNòd JðeNòf NðgNòh NðiNòj LðkNòl NðmNòn MðoNòp MðqNòr MðsNòt MðuNòv MðwNòx KðyNòz Lð{Nò| Lð}Nò~ LðNò@ LðANòB LðCNòD LðENòF MðGNòH MðINòJ NðKNòL LðMNòN KðONòP KðQNòR KðSNòT KðUNòV LðWNòX NðYNòZ Nð[Nð^ >×CÑCÀCÓHôaQ
ˆðd ! ™/×0Ñ0°Ó;ˆˆw‰Ø# JÑ/×6Ñ6°wÓ?ˆˆzÑØ—‘ Ó'ˆä—‘ð9ÚEð9âCð9ò Dð9ò Fð	9ò
 Fð9ò Fð9ò Fð9ò Fð9ò Dð9ò Dð9ò Dð9ò Dð9ò Dð9ò Dð9ò Dð9ò  Dð!9ò" Dð#9ò$ Dð%9ò& Dð'9ò( Dð)9ò* Dð+9ò, Dð-9ò. Dð/9ò0 Dð19ò2 Dð39ò4 Dð59ò6 Dð79ò8 Dð99ò: Dð;9ò< Dð=9ò> Dð?9ò@ DðA9òB DðC9òD DðE9òF DðG9òH DðI9òJ DðK9òL DðM9òN DðO9òP DðQ9òR DðS9òT DðU9òV DðW9òX DðY9òZ Dð[9ò\ Dð]9ò^ Dð_9ò` Dða9òb Dðc9òd Dðe9òf Dðg9òh Dði9òj Dðk9òl Dðm9òn Dðo9òp Dðq9ðt *×/Ñ/°Ó4ôw<
ˆðz ˜u™×,Ñ,¨YÓ7ˆˆu‰Ø˜u™×,Ñ,¨YÓ7ˆˆu‰Ø—‘ ¨t�Ó4ˆä—‘˜v v°&¸XÔFˆÜ
×Ñ˜f hÕ/r   c                 ó–   — d„ } ||«      } ||«      } ||«      }t        j                  ||d¬«      }t        j                  ||«       y )Nc                 óh   — | | j                   dk(     j                  dd¬«      j                  d¬«      S )Nr   r   rŸ   )ÚaxisTr   )r   r   r   ©Úxs    r   ú<lambda>z0TestAsOfMerge.test_basic_no_by.<locals>.<lambda>n  s6   € Øˆa�h‰h˜&Ñ Ñ!×&Ñ& x°aÐ&Ó8×DÑDÈ$ÐDÓOð r   r   r±   rê   )r   r_   r˜   rv   Úfrº   r»   s          r   Útest_basic_no_byzTestAsOfMerge.test_basic_no_bym  sH   € ñ
ˆñ
 �T“7ˆÙ�6“ˆÙ�6“ˆä—‘˜v v°&Ô9ˆÜ
×Ñ˜f hÕ/r   c                 óÂ  — d}t        j                  t        |¬«      5  t        j                  ||ddd¬«       d d d «       t        j                  t        d¬«      5  t        j                  ||ddgd¬«       d d d «       t        j                  t        d¬«      5  t        j                  ||d¬	«       d d d «       y # 1 sw Y   Œ…xY w# 1 sw Y   ŒRxY w# 1 sw Y   y xY w)
Nz6incompatible merge keys \[1\] .* must be the same typerÿ   r   rs   r   )r÷   rò   rÕ   zcan only asof on a key for leftrÔ   )rÕ   ©rÛ   r  r   r   r´   r
  s       r   Útest_valid_join_keysz"TestAsOfMerge.test_valid_join_keysz  s¾   € ØGˆä�]‰]œ:¨SÔ1ñ 	WÜ�M‰M˜& &°&À5ÈXÕV÷	Wô �]‰]œ:Ð-NÔOñ 	NÜ�M‰M˜& &¨f°hÐ-?ÀHÕM÷	Nô �]‰]œ:Ð-NÔOñ 	7Ü�M‰M˜& &¨XÕ6÷	7ð 	7÷	Wð 	Wú÷	Nð 	Nú÷	7ð 	7ús#   žB=ÁC	ÂCÂ=CÃ	CÃCc                 ó<  — t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢t        j                  g d¢«      g d¢dœ«      }d}t        j                  t
        |¬«      5  t        j                  ||dd	¬
«       d d d «       y # 1 sw Y   y xY w)N©rŸ   r©   rª   r¢   )r   ÚkÚlv)é   r    r«   )r   r  Úrvz6incompatible merge keys \[0\] .* must be the same typerÿ   r   r  rÔ   ©r   r[   ÚCategoricalrÛ   r  r   r´   r<  s       r   Ú*test_valid_join_keys_one_sided_categoricalz8TestAsOfMerge.test_valid_join_keys_one_sided_categorical†  s{   € ô �|‰|¢Y²_ÊIÑVÓWˆÜ—‘â!Ü—^‘^¢OÓ4Úñó
ˆð HˆÜ�]‰]œ:¨SÔ1ñ 	:Ü�M‰M˜$ ¨&°SÕ9÷	:÷ 	:ñ 	:ús   Á/BÂBc                 óô   — t        j                  ||g«      j                  ddg«      j                  d¬«      }t        j                  ||dd¬«      }| j                  |«      }t        j                  ||«       y )Nr   r   Tr   rÔ   )r   ÚconcatÚsort_valuesr   r´   r   rµ   r¶   )r   rp  r_   rv   r˜   r  r»   rº   s           r   Útest_with_duplicatesz"TestAsOfMerge.test_with_duplicates•  sg   € ä�I‰I�v˜vÐ&Ó'ß‰[˜& (Ð+Ó,ß‰[˜dˆ[Ó#ð 	
ô
 —‘˜v q¨V¸ÔAˆØ—>‘> $Ó'ˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  ||d¬«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  ||«       y )	N)rŸ   rŸ   rª   r~  )Úkeyr§   )rŸ   r©   r©   )r‹  r®   r‹  r±   )r‹  r§   r®   r³   ©r   Údf1Údf2r»   rº   s        r   Útest_with_duplicates_no_onz(TestAsOfMerge.test_with_duplicates_no_onŸ  sd   € Ü�l‰l¢9º)ÑDÓEˆÜ�l‰l¢9º9ÑEÓFˆÜ—‘˜s C¨EÔ2ˆÜ—<‘<Úª9Â9ÑMó
ˆô 	×Ñ˜f hÕ/r   c                 óœ   — d}t        j                  t        |¬«      5  t        j                  ||ddd¬«       d d d «       y # 1 sw Y   y xY w)Nz/allow_exact_matches must be boolean, passed foorÿ   r   r   Úfoo©r²   rÕ   rÚ   r{  r
  s       r   Útest_valid_allow_exact_matchesz,TestAsOfMerge.test_valid_allow_exact_matches¨  sA   € Ø?ˆä�]‰]œ:¨SÔ1ñ 	Ü�M‰MØ˜ 6¨hÈEõ÷	÷ 	ñ 	ús   žAÁAc           
      ó¼  — t        j                  ||ddt        j                  d«      ¬«       t        j                  |j                  «       |j                  «       ddd¬«       d}t	        j
                  t        |¬«      5  t        j                  ||ddd¬«       d d d «       t	        j
                  t        |¬«      5  t        j                  |j                  «       |j                  «       ddd	¬«       d d d «       d
}t	        j
                  t        |¬«      5  t        j                  ||ddt        j                  d«       ¬«       d d d «       t	        j
                  t        |¬«      5  t        j                  |j                  «       |j                  «       ddd¬«       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒÅxY w# 1 sw Y   Œ}xY w# 1 sw Y   y xY w)Nr   r   Ú1sr×   rô   rŸ   z6incompatible tolerance .*, must be compat with type .*rÿ   r4  útolerance must be non-negativeéÿÿÿÿ)r   r´   rÝ   r   rÛ   r  r   r
  s       r   Útest_valid_tolerancez"TestAsOfMerge.test_valid_tolerance°  s�  € ä
�‰Ø�F˜v¨(¼b¿l¹lÈ4Ó>Põ	
ô
 	�‰Ø×ÑÓ Ø×ÑÓ ØØØõ	
ð Hˆô �]‰]œ:¨SÔ1ñ 	OÜ�M‰M˜& &¨V¸ÈAÕN÷	Oô �]‰]œ:¨SÔ1ñ 	Ü�M‰MØ×"Ñ"Ó$Ø×"Ñ"Ó$ØØØõ÷	ð /ˆô �]‰]œ:¨SÔ1ñ 	Ü�M‰MØ˜ 6¨hÄ2Ç<Á<ÐPTÓCUÐBUõ÷	ô
 �]‰]œ:¨SÔ1ñ 	Ü�M‰MØ×"Ñ"Ó$Ø×"Ñ"Ó$ØØØõ÷	ð 	÷+	Oñ 	Oú÷	ð 	ú÷	ð 	ú÷
	ð 	ús0   ÂF-Â?7F:Ä/GÅ-7GÆ-F7Æ:GÇGÇGc           
      óÂ   — d}t        j                  t        |¬«      5  t        j                  ||ddt        j
                  d«      ¬«       d d d «       y # 1 sw Y   y xY w)Nr–  rÿ   r   r   r—  r×   )rÛ   r  r   r   r´   rÝ   r
  s       r   Ú&test_tolerance_negative_one_nanosecondz4TestAsOfMerge.test_tolerance_negative_one_nanosecondà  sJ   € à.ˆä�]‰]œ:¨SÔ1ñ 	Ü�M‰MØ˜ 6¨hÄ"Ç,Á,ÈrÓBRõ÷	÷ 	ñ 	ús   ž.AÁAc                 óî  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  ||dd¬	«      }t        j                  g d¢g d¢d
t        j                  dgdœ«      }t        j                  ||«       t        j                  t        j                  ddg«      ddgdœ«      }t        j                  t        j                  ddg«      d
dgdœ«      }t        j                  ||dt        j                  d«      ¬	«      }t        j                  t        j                  ddg«      ddgd
t        j                  gdœ«      }t        j                  ||«       y )Nrž   r¢   r¦   )rŸ   r«   r¡   )ÚAÚBÚCr­   r£   r   ©r²   r›   rœ  rž  r°   z2016-05-25 13:30:00z2016-05-25 13:30:01r¤   )r   r§   z2016-05-25 13:30:02r�  )r   r®   r   )r   r§   r®   )	r   r[   r´   r–   r—   rµ   r¶   r   rÝ   ©r   r¸   r¹   r»   rº   s        r   Útest_tolerance_zeroz!TestAsOfMerge.test_tolerance_zeroé  s9  € ä�|‰|¢*º/ÑJÓKˆÜ—‘¢:ºOÑLÓMˆä—‘˜t U¨s¸aÔ@ˆÜ—<‘<âÚ+Ø!¤2§6¡6¨3Ð/ñó
ˆô 	×Ñ˜f hÔ/ä�|‰|äŸ™Ð(=Ð?TÐ'UÓVØ  #˜Jñó
ˆô —‘äŸ™Ð(=Ð?TÐ'UÓVØ! 3˜Zñó
ˆô —‘˜t U¨vÄÇÁÈaÃÔQˆÜ—<‘<äŸ™Ð(=Ð?TÐ'UÓVØ  #˜JØ!¤2§6¡6˜]ñó
ˆô 	×Ñ˜f hÕ/r   c                 ó
  — |j                  dd¬«      }|j                  dd¬«      }|j                  j                  rJ ‚|j                  j                  rJ ‚t        j                  t
        d¬«      5  t        j                  ||dd¬«       d d d «       |j                  d«      }|j                  j                  sJ ‚|j                  j                  rJ ‚t        j                  t
        d¬«      5  t        j                  ||dd¬«       d d d «       |j                  d«      }|j                  j                  sJ ‚|j                  j                  sJ ‚t        j                  ||dd¬«       y # 1 sw Y   ŒâxY w# 1 sw Y   ŒpxY w)	Nr   F)Ú	ascendingzleft keys must be sortedrÿ   r   rÔ   zright keys must be sorted)rˆ  r   Úis_monotonic_increasingrÛ   r  Ú
ValueErrorr   r´   r  s      r   Útest_non_sortedzTestAsOfMerge.test_non_sorted  sL  € Ø×#Ñ# F°eÐ#Ó<ˆØ×#Ñ# F°eÐ#Ó<ˆð —;‘;×6Ò6Ð6Ð6Ø—;‘;×6Ò6Ð6Ð6Ü�]‰]œ:Ð-GÔHñ 	BÜ�M‰M˜& &¨V¸ÕA÷	Bð ×#Ñ# FÓ+ˆØ�{‰{×2Ò2Ð2Ð2Ø—;‘;×6Ò6Ð6Ð6Ü�]‰]œ:Ð-HÔIñ 	BÜ�M‰M˜& &¨V¸ÕA÷	Bð ×#Ñ# FÓ+ˆØ�{‰{×2Ò2Ð2Ð2Ø�{‰{×2Ò2Ð2Ð2ô 	�‰�f˜f¨°HÖ=÷	Bð 	Bú÷	Bð 	Bús   Á2E-Ã0E9Å-E6Å9FÚtolerance_tsÚ1dayrŸ   )ÚdaysrÝ   zdatetime.timedelta)Úidsc                 óh   — t        j                  ||dd|¬«      }|}t        j                  ||«       y )Nr   r   r×   rê   )r   r§  r_   rv   r›   r»   rº   s          r   Útest_tolerancezTestAsOfMerge.test_tolerance&  s4   € ô —‘Ø�F˜v¨(¸lô
ˆð ˆÜ
×Ñ˜f hÕ/r   c                 ó0  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dt        j                  dgdœ«      }t        j                  ||d	d
d¬«      }t        j                  ||«       y )Nrž   r¢   r¦   ©rŸ   r©   rª   r¬   é   r­   rŸ   r¯  r°   r£   rá   ©r²   rã   r›   rä   r·   s        r   Útest_tolerance_forwardz$TestAsOfMerge.test_tolerance_forward2  óx   € ô �|‰|¢*º/ÑJÓKˆÜ—‘Ò#3ÒBRÑSÓTˆä—<‘<Úª/ÈÌBÏFÉFÐTVÈÑXó
ˆô —‘˜t U¨s¸iÐSTÔUˆÜ
×Ñ˜f hÕ/r   c                 ó0  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dt        j                  dgdœ«      }t        j                  ||d	d
d¬«      }t        j                  ||«       y )Nrž   r¢   r¦   r®  r­   rŸ   r¯  r°   r£   rç   r°  rä   r·   s        r   Útest_tolerance_nearestz$TestAsOfMerge.test_tolerance_nearest?  r²  r   c           	      óà  — t        j                  t        j                  t        j                  d«      ddt        j
                  |¬«      t        j                  d«      dœ«      }t        j                  t        j                  t        j                  d«      ddt        j
                  |¬«      t        d«      dœ«      }t        j                  ||d	t        j                  d
«      ¬«      }t        j                  t        j                  t        j                  d«      ddt        j
                  |¬«      t        j                  d«      t        d«      dœ«      }t        j                  ||«       y )Nz
2016-01-02ÚDr    )ÚstartÚfreqÚperiodsÚtzrÞ   )ÚdateÚvalue1z
2016-01-01ÚABCDE)r»  Úvalue2r»  z1 dayrŸ  ÚBCDEE)r»  r¼  r¾  )r   r[   Ú
date_ranger   ÚdatetimeÚUTCr–   ÚarangeÚlistr´   rÝ   rµ   r¶   )r   rÞ   r¸   r¹   r»   rº   s         r   Útest_tolerance_tzzTestAsOfMerge.test_tolerance_tzL  s  € ä�|‰|äŸ™ÜŸ.™.¨Ó6ØØÜ—|‘|Øôô Ÿ)™) A›,ñ	ó
ˆô —‘äŸ™ÜŸ.™.¨Ó6ØØÜ—|‘|Øôô ˜w›-ñ	ó
ˆô —‘˜t U¨vÄÇÁÈgÓAVÔWˆä—<‘<äŸ™ÜŸ.™.¨Ó6ØØÜ—|‘|Øôô Ÿ)™) A›,Ü˜w›-ñ
ó
ˆô 	×Ñ˜f hÕ/r   c                 ó0  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢ddt        j                  gdœ«      }t        j                  ||d	d
d¬«      }t        j                  ||«       y )N)çš™™™™™ñ?g      @gÍÌÌÌÌÌ%@r¢   r¦   )r4  ç      @çffffff
@g      @g      '@r­   rŸ   rÉ  r°   r£   rç   ç      à?r°  rä   r·   s        r   Útest_tolerance_floatz"TestAsOfMerge.test_tolerance_floatw  s   € ä�|‰|Ò"2ÂÑPÓQˆÜ—‘Ú,Ò;UÑVó
ˆô —<‘<â%Ú+Ø ¤b§f¡fÐ-ñó
ˆô —‘˜t U¨s¸iÐSVÔWˆÜ
×Ñ˜f hÕ/r   c           
      óò   — |j                  d«      }|j                  d«      }|j                  d«      }t        j                  ||dddt        j                  d«      ¬«      }t	        j
                  ||«       y )Nr   Tr   r¨  )rñ   rø   rÕ   r›   )ró   r   r´   rÝ   rµ   r¶   )r   r_   rv   r›   rº   r»   s         r   Útest_index_tolerancez"TestAsOfMerge.test_index_tolerance‰  sm   € à×&Ñ& vÓ.ˆØ×!Ñ! &Ó)ˆØ×!Ñ! &Ó)ˆä—‘ØØØØØÜ—l‘l 6Ó*ô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        j                  ||ddd¬«      }t        j                  ddddd	t        j                  t        j                  gg d
¢g d¢g d¢g d¢g d¢g d¢g d¢ddddd	t        j                  t        j                  gddddd	t        j                  t        j                  gddddd	t        j                  t        j                  gddddd	t        j                  t        j                  gddddd	t        j                  t        j                  gddddd	t        j                  t        j                  gddddd	t        j                  t        j                  gddddd	t        j                  t        j                  gdddddt        j                  t        j                  gdddddt        j                  t        j                  gg d¢g d ¢g d!¢g d"¢g d#¢g d ¢g d$¢g d%¢g d%¢gd&j                  d'«      ¬(«      }|d)   j                  d*«      |d)<   |d+   j                  d,«      |d+<   |d-   j                  d*«      |d-<   |d.   j                  d*«      |d.<   | j                  |«      }t        j                  ||«       y )/Nr   r   Fr’  r   r   re   r   r   rz   r{   r}   r~   r   r€   r�   r0   r1   r‚   r3   r5   r…   r7   r‡   r:   r=   r?   rA   rl   rD   r�   rŽ   r�   r�   r‘   ©rO   r   re   rP   r   re   re   ©rO   r   re   r$   r   re   re   r”   rS   rT   rV   rW   rX   rY   rs   rt   )
r   r´   r[   r–   r—   r\   r]   r   rµ   r¶   ©r   r_   rv   r»   r   rº   s         r   Útest_allow_exact_matchesz&TestAsOfMerge.test_allow_exact_matches™  s—  € Ü—‘Ø�F˜v¨(Èô
ˆô �\‰\ð ,ØØØØÜ—F‘FÜ—F‘Fðòòòòòòòð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð )¨&°'¸3ÀÌÏÉÔPR×PVÑPVÐWØ(¨&°'¸3ÀÌÏÉÔPR×PVÑPVÐWòòòòòòòòòðwdðJ F×KÑKÈCÓPôMg
ˆðP ˜‘k×(Ñ(¨Ó3ˆˆ7‰Ø˜J™×.Ñ.¨wÓ7ˆˆ:‰Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø—>‘> "Ó%ˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  ||dd	d
¬«      }t        j                  ||«       y )Nrž   r¢   r¦   r®  r­   )r©   r¬   r¯  r°   r£   rá   F©r²   rã   rÚ   r³   r·   s        r   Ú test_allow_exact_matches_forwardz.TestAsOfMerge.test_allow_exact_matches_forwardŒ	  óq   € ô �|‰|¢*º/ÑJÓKˆÜ—‘Ò#3ÒBRÑSÓTˆä—<‘<Úª/Ê
ÑSó
ˆô —‘Ø�%˜C¨9È%ô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  ||dd	d
¬«      }t        j                  ||«       y )Nrž   r¢   r¦   r®  r­   )r©   rª   r¯  r°   r£   rç   FrÔ  r³   r·   s        r   Ú test_allow_exact_matches_nearestz.TestAsOfMerge.test_allow_exact_matches_nearest›	  rÖ  r   c                 ó*  — t        j                  ||ddt        j                  d«      d¬«      }t        j                  dddd	d
t        j
                  t        j
                  gg d¢g d¢g d¢g d¢g d¢g d¢g d¢ddddd
t        j
                  t        j
                  gddddd
t        j
                  t        j
                  gddddd
t        j
                  t        j
                  gddddd
t        j
                  t        j
                  gdddd	d
t        j
                  t        j
                  gddddd
t        j
                  t        j
                  gddddd
t        j
                  t        j
                  gddddd
t        j
                  t        j
                  gdddddt        j
                  t        j
                  gdddddt        j
                  t        j
                  gg d ¢g d!¢g d"¢g d#¢g d$¢g d!¢g d%¢g d&¢g d&¢gd'j                  d(«      ¬)«      }|d*   j                  d+«      |d*<   |d,   j                  d-«      |d,<   |d.   j                  d+«      |d.<   |d/   j                  d+«      |d/<   | j                  |«      }t        j                  ||«       y )0Nr   r   Ú100msFrÙ   r   r   re   r   r   rz   r{   r}   r~   r   r€   r�   r0   r1   r‚   r3   r5   r…   r7   r‡   r:   r=   r?   rA   rl   rD   r�   rŽ   r�   r�   r‘   rÏ  rÐ  r”   rS   rT   rV   rW   rX   rY   rs   rt   )r   r´   rÝ   r[   r–   r—   r\   r]   r   rµ   r¶   rÑ  s         r   Ú&test_allow_exact_matches_and_tolerancez4TestAsOfMerge.test_allow_exact_matches_and_toleranceª	  s§  € Ü—‘ØØØØÜ—l‘l 7Ó+Ø %ô
ˆô �\‰\ð ,ØØØØÜ—F‘FÜ—F‘Fðòòòòòòòð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð ,ØØØØÜ—F‘FÜ—F‘Fðð )¨&°'¸3ÀÌÏÉÔPR×PVÑPVÐWØ(¨&°'¸3ÀÌÏÉÔPR×PVÑPVÐWòòòòòòòòòðwdðJ F×KÑKÈCÓPôMg
ˆðP ˜‘k×(Ñ(¨Ó3ˆˆ7‰Ø˜J™×.Ñ.¨wÓ7ˆˆ:‰Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø�u‘I×$Ñ$ YÓ/ˆˆ5‰	Ø—>‘> "Ó%ˆÜ
×Ñ˜f hÕ/r   c           	      ó2  — t        j                  t        j                  dg«      dgdœ«      }t        j                  t        j                  ddg«      ddgdœ«      }t        j                  ||d¬	«      }t        j                  t        j                  dg«      dgdgd
œ«      }t	        j
                  ||«       t        j                  ||dd¬«      }t        j                  t        j                  dg«      dgdgd
œ«      }t	        j
                  ||«       t        j                  ||ddt        j                  d«      ¬«      }t        j                  t        j                  dg«      dgt        j                  gd
œ«      }t	        j
                  ||«       y )Nú2016-07-15 13:30:00.030Úbob©r   Úusernameú2016-07-15 13:30:00.000rŸ   r©   ©r   Úversionr   r±   ©r   rà  rã  F)r²   rÚ   rØ   ©r²   rÚ   r›   )	r   r[   r   r´   rµ   r¶   rÝ   r–   r—   rŒ  s        r   Ú'test_allow_exact_matches_and_tolerance2z5TestAsOfMerge.test_allow_exact_matches_and_tolerance2¢
  sk  € ä�l‰lÜ—^‘^Ð%>Ð$?Ó@ÈuÈgÑVó
ˆô �l‰läŸ™Ø.Ð0IÐJóð ˜q˜6ñ	ó
ˆô —‘˜s C¨FÔ3ˆÜ—<‘<äŸ™Ð(AÐ'BÓCØ"˜GØ˜3ñó
ˆô 	×Ñ˜f hÔ/ä—‘˜s C¨FÈÔNˆÜ—<‘<äŸ™Ð(AÐ'BÓCØ"˜GØ˜3ñó
ˆô 	×Ñ˜f hÔ/ä—‘ØØØØ %Ü—l‘l 6Ó*ô
ˆô —<‘<äŸ™Ð(AÐ'BÓCØ"˜GÜŸF™F˜8ñó
ˆô 	×Ñ˜f hÕ/r   c           	      óâ  — t        j                  t        j                  ddg«      ddgdœ«      }t        j                  t        j                  ddg«      ddgdœ«      }t        j                  ||d	d
t        j                  d«      ¬«      }t        j                  t        j                  ddg«      ddgt
        j                  t
        j                  gdœ«      }t        j                  ||«       y )NrÝ  rÞ  Úcharlierß  rá  rŸ   r©   râ  r   FrØ   rå  rä  )	r   r[   r   r´   rÝ   r–   r—   rµ   r¶   rŒ  s        r   Ú'test_allow_exact_matches_and_tolerance3z5TestAsOfMerge.test_allow_exact_matches_and_tolerance3Ô
  så   € ä�l‰läŸ™Ø.Ð0IÐJóð # IÐ.ñ	ó
ˆô �l‰läŸ™Ø.Ð0IÐJóð ˜q˜6ñ	ó
ˆô —‘ØØØØ %Ü—l‘l 6Ó*ô
ˆô —<‘<äŸ™Ø.Ð0IÐJóð # IÐ.ÜŸF™F¤B§F¡FÐ+ñó
ˆô 	×Ñ˜f hÕ/r   c                 ó2  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢t        j                  ddgdœ«      }t        j                  ||d	d
dd¬«      }t        j                  ||«       y )Nrž   r¢   r¦   ©rŸ   rª   r�  r«   r¯  r­   r«   r¯  r°   r£   rá   FrŸ   ©r²   rã   rÚ   r›   rä   r·   s        r   Ú.test_allow_exact_matches_and_tolerance_forwardz<TestAsOfMerge.test_allow_exact_matches_and_tolerance_forwardù
  ó„   € ô �|‰|¢*º/ÑJÓKˆÜ—‘Ò#3ÒBRÑSÓTˆä—<‘<Úª/ÌÏÉÐQRÐTVÈÑXó
ˆô —‘ØØØØØ %Øô
ˆô 	×Ñ˜f hÕ/r   c                 ó2  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢t        j                  ddgd	œ«      }t        j                  ||d
ddd¬«      }t        j                  ||«       y )Nrž   r¢   r¦   rë  )rŸ   rª   r�  r¬   r¯  r­   r�  r¯  r°   r£   rç   FrŸ   rì  rä   r·   s        r   Ú.test_allow_exact_matches_and_tolerance_nearestz<TestAsOfMerge.test_allow_exact_matches_and_tolerance_nearest  rî  r   c           
      óF  — t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dt        j                  d	d
dgdœ«      }t        j                  ||ddd¬«      }t        j                  ||«       y )N©rŸ   r    r¡   é   é   )ÚXrõ  ÚYÚZrö  ©r£   r¤   r¥   ÚdÚe©r£   r¤   r§   ©rŸ   r«   r¯  rô  é   )rõ  r÷  rö  r÷  rö  ©r£   r¤   r®   rŸ   r¯  rô  rý  ©r£   r¤   r§   r®   r£   r¤   rá   ©r²   rÕ   rã   rä   r·   s        r   Útest_forward_byzTestAsOfMerge.test_forward_by!  s–   € ô �|‰|â'Ú.Ú5ñó
ˆô —‘â'Ú.Ú/ñó
ˆô —<‘<â'Ú.Ú5Ø¤§¡¨¨R°Ð4ñ	ó
ˆô —‘˜t U¨s°sÀiÔPˆÜ
×Ñ˜f hÕ/r   c                 ó$  — t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢g d¢d	œ«      }t        j                  ||d
dd¬«      }t        j                  ||«       y )Nrò  )rõ  rõ  r÷  r÷  rö  rø  rû  rü  )rõ  r÷  r÷  r÷  rö  rþ  )rŸ   rŸ   r¯  r¯  rý  rÿ  r£   r¤   rç   r   r³   r·   s        r   Útest_nearest_byzTestAsOfMerge.test_nearest_by?  s‡   € ô �|‰|â'Ú.Ú5ñó
ˆô —‘â'Ú.Ú/ñó
ˆô —<‘<â'Ú.Ú5Ú/ñ	ó
ˆô —‘˜t U¨s°sÀiÔPˆÜ
×Ñ˜f hÕ/r   c                 ó¬  — t        j                  t        j                  g d¢«      g d¢g d¢dœg d¢¬«      }t        j                  t        j                  g d¢«      g d¢g d¢d	œg d	¢¬«      }t        j                  ||d
d¬«      }t        j                  t        j                  g d¢«      g d¢g d¢g d¢dœg d¢¬«      }t	        j
                  ||«       y )N)ú20160525 13:30:00.020rÉ   ú20160525 13:30:00.040r  ú20160525 13:30:00.060)rŸ   r©   rŸ   rª   r©   )rÇ  g333333ó?gÍÌÌÌÌÌô?gffffffö?g      ø?)r   r‹  r¼  rT   )z20160525 13:30:00.015r  z20160525 13:30:00.025z20160525 13:30:00.035r  z20160525 13:30:00.055r  z20160525 13:30:00.065)r©   rŸ   rŸ   rª   r©   rŸ   r©   rª   )çÍÌÌÌÌÌ @çš™™™™™@çffffff@ç333333@rÈ  gÍÌÌÌÌÌ@çš™™™™™@gffffff@)r   r‹  r¾  r   r‹  rÔ   )r	  r  r
  r  r  )r   r‹  r¼  r¾  )r   r[   r   r´   rµ   r¶   rŒ  s        r   Útest_by_intzTestAsOfMerge.test_by_int]  sÂ   € ä�l‰läŸ™òóò 'Ú3ñò .ô
ˆô" �l‰läŸ™ò	óò 0ÚBñò  .ô#
ˆô( —‘˜s C¨F°uÔ=ˆä—<‘<äŸ™òóò 'Ú3Ú3ñò 8ô
ˆô$ 	×Ñ˜f hÕ/r   c                 ó„  — t        j                  g d¢t        d«      dœddg¬«      }t        j                  g d¢g d¢d	œdd
g¬«      }|j                  d«      j	                  d¬«      }t        j
                  ||d¬«      }t        j                  t        d«      g d¢g d¢dœg d¢¬«      }t        j                  ||«       y )N)ç
×£p=
@çHPüs×b?çáz®G!9@çÍÌÌÌÌ@u@çHáz®Ç>@çš™™™™C�@çÞqŠŽäò?ÚABCDEFG)rV   Úsymbolr  rV   rT   )ç        r4  ç      Y@)ç-Cëâ6?ç{®Gáz„?çš™™™™™©?)rV   Úmpvr  Tr   r±   ÚBGACEDF)r  r  r  r  r  r  r  )r  r  r  r  r  r  r  )r  rV   r  ©r   r[   rÄ  rˆ  r   r´   rµ   r¶   rŒ  s        r   Útest_on_floatzTestAsOfMerge.test_on_floatš  s±   € ä�l‰lâNÜ˜y›/ñð ˜wÐ'ô
ˆô �l‰lÚ'Ò0DÑEØ˜eÐ$ô
ˆð
 �o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆä—‘˜s C¨GÔ4ˆä—<‘<ä˜y›/ÚNÚEñò
 /ô
ˆô 	×Ñ˜f hÕ/r   c                 óh  — t        j                  |«      j                  }t        j                  g d¢t        d«      dœddg¬«      } ||j                  «      |_        t        j                  g d¢t        d«      d	œdd
g¬«      } ||j                  «      |_        |j                  d«      j                  d¬«      }t        j                  ||d¬«      }t        j                  t        d«      g d¢t        d«      dœg d¢¬«      } ||j                  «      |_        t        j                  ||«       y )N©r    r©   é   rÈ   éN   éx   éO   r  )r:  r  r  r:  rT   ©r   éP   r%  é}   Úxyzw)r:  r»   r»   Tr   r±   ÚBACEGDF©r©   r    r#  r$  r&  rÈ   r%  Úxxxxxyz)r  r:  r»   )r–   r(  Útyper   r[   rÄ  r:  rˆ  r   r´   rµ   r¶   ©r   Úany_real_numpy_dtyper(  r�  rŽ  r»   rº   s          r   Útest_on_specialized_typez&TestAsOfMerge.test_on_specialized_type¸  sø   € ä—‘Ð-Ó.×3Ñ3ˆä�l‰lÚ2¼dÀ9»oÑNØ˜wÐ'ô
ˆñ ˜#Ÿ)™)Ó$ˆŒ	ä�l‰lÚ'´4¸³<Ñ@Ø˜hÐ'ô
ˆñ ˜#Ÿ)™)Ó$ˆŒ	à�o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆÜ—‘˜s C¨GÔ4ˆä—<‘<ä˜y›/Ú5Ü˜y›/ñò
 2ô
ˆñ ˜xŸ~™~Ó.ˆŒä
×Ñ˜f hÕ/r   c                 óè  — t        j                  |«      j                  }t        j                  g d¢g d¢t        d«      dœg d¢¬«      } ||j                  «      |_        t        j                  g d¢g d¢t        d	«      d
œg d
¢¬«      } ||j                  «      |_        |j                  d«      j                  d¬«      }t        j                  ||dd¬«      }t        j                  t        d«      g d¢g d¢t         j                  dt         j                  t         j                  t         j                  ddgdœg d¢¬«      } ||j                  «      |_        t        j                  ||«       y )Nr"  )rŸ   r©   rª   r©   rª   rŸ   r©   r  )r:  r‹  r  )r  r‹  r:  rT   r'  )rŸ   r©   r©   rª   r*  )r:  r‹  r»   r:  Tr   r‹  rÔ   r+  )r©   rŸ   rª   rª   r©   r©   rŸ   r,  rv  Úy)r  r‹  r:  r»   )r–   r(  r.  r   r[   rÄ  r:  rˆ  r   r´   r—   rµ   r¶   r/  s          r   Útest_on_specialized_type_by_intz-TestAsOfMerge.test_on_specialized_type_by_int×  s  € ä—‘Ð-Ó.×3Ñ3ˆä�l‰lâ5Ú,Ü˜y›/ñò
 /ô
ˆñ ˜#Ÿ)™)Ó$ˆŒ	ä�l‰lÚ'²ÌÈVËÑUÚ.ô
ˆñ ˜#Ÿ)™)Ó$ˆŒ	à�o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆÜ—‘˜s C¨G¸Ô>ˆä—<‘<ä˜y›/Ú,Ú5ÜŸ6™6 3¬¯©´·±¼¿¹ÀÀSÐIñ	ò 9ô
ˆñ ˜xŸ~™~Ó.ˆŒä
×Ñ˜f hÕ/r   c                 óÚ  — t        j                  t        d«      g d¢g d¢dœg d¢¬«      }t        j                  g d¢g d¢g d¢d	œg d	¢¬«      }|j                  d
«      j	                  d¬«      }|j                  d
«      j	                  d¬«      }t        j
                  ||d
d¬«      }t        j                  t        d«      g d¢g d¢g d¢dœg d¢¬«      }t        j                  ||«       y )NÚ	AAABBBCCC)	rŸ   r©   rª   rŸ   r©   rª   rŸ   r©   rª   )	ç®Gáz
@çÜ×�sF
@ç£¼
@ç)\�Âõ()@ç®Gáz.)@ç      )@çfffff¢w@ç33333£w@ç     ¤w@)r  r  rV   rT   )	rŸ   rŸ   rŸ   r©   r©   r©   rª   rª   rª   )	r  r4  r  r  ç      @r  r  r@  g     @�@)	r  r  r  r  r  çš™™™™™¹?r  ç      Ð?r4  )r  rV   r  rV   Tr   r  rÔ   )	rª   r©   rŸ   rª   rŸ   r©   rŸ   r©   rª   )	r9  r8  r7  r<  r:  r;  r=  r>  r?  )	r  r  r  rB  r  r  r  rA  rB  )r  r  rV   r  r  rŒ  s        r   Útest_on_float_by_intz"TestAsOfMerge.test_on_float_by_intû  sÛ   € ä�l‰lä˜{Ó+Ú3ò
ñò 0ô!
ˆô& �l‰lâ3ÚMÚQñò
 -ô
ˆð �o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆØ�o‰o˜gÓ&×2Ñ2¸Ð2Ó=ˆä—‘˜s C¨G¸Ô?ˆä—<‘<ä˜{Ó+Ú3ò
ò Qñò  7ô#
ˆô( 	×Ñ˜f hÕ/r   c                 ó  — d}t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        j                  t        |¬«      5  t        j
                  ||d¬	«       d d d «       y # 1 sw Y   y xY w)
Nú@Incompatible merge dtype, .*, both sides must have numeric dtyperž   r¢   ©r§   r£   r¨   ©r®   r£   rÿ   r£   r±   ©r   r[   rÛ   r  r   r´   ©r   r  r¸   r¹   s       r   Ú test_merge_datatype_error_raisesz.TestAsOfMerge.test_merge_datatype_error_raises4  s`   € ØQˆä�|‰|ªº/ÑJÓKˆÜ—‘ª?ÂÑQÓRˆä�]‰]œ:¨SÔ1ñ 	/Ü�M‰M˜$ ¨#Õ.÷	/÷ 	/ñ 	/ús   ÁA8Á8Bc                 óT  — d}t        j                  g d¢t        j                  g d¢«      dœ«      }t        j                  g d¢t        j                  g d¢«      dœ«      }t        j                  t
        |¬«      5  t        j                  ||d	¬
«       d d d «       y # 1 sw Y   y xY w)NzHincompatible merge keys \[0\] .* both sides category, but not equal onesrž   r¢   rF  r¨   )r£   rõ  r¥   rõ  r¤   rG  rÿ   r£   r±   rƒ  rI  s       r   Ú,test_merge_datatype_categorical_error_raisesz:TestAsOfMerge.test_merge_datatype_categorical_error_raises=  s‡   € ð!ð 	ô
 �|‰|Ú#¬"¯.©.ºÓ*IÑJó
ˆô —‘â,Ü—^‘^Ò$=Ó>ñó
ˆô �]‰]œ:¨SÔ1ñ 	/Ü�M‰M˜$ ¨#Õ.÷	/÷ 	/ñ 	/ús   Á<BÂB'c                 ó"  — t        j                  dgdgt        j                  dg«      dœ«      }t        j                  ||dddg¬«      }t        j                  dgdgt        j                  dg«      dœ«      }t	        j
                  ||«       y )Nr   ©rv  r3  Úzrv  r3  rO  rÔ   )r   r[   r„  r´   rµ   r¶   )r   r   r»   rº   s       r   Ú:test_merge_groupby_multiple_column_with_categorical_columnzHTestAsOfMerge.test_merge_groupby_multiple_column_with_categorical_columnP  sr   € ä�\‰\  ¨1¨#´B·N±NÀAÀ3Ó4GÑHÓIˆÜ—‘˜r 2¨#°3¸°*Ô=ˆÜ—<‘< q c°°¼"¿.¹.È!ÈÓ:MÑ NÓOˆÜ
×Ñ˜f hÕ/r   Úfuncc                 ó   — | S )N© ru  s    r   rw  zTestAsOfMerge.<lambda>X  s   € ˜1€ r   ÚnumericrÁ  Úsider¸   r¹   c                 óŠ  — d|› d�} |ddt         j                  g«      } |g d¢«      }t        j                  |g d¢dœ«      }t        j                  |g d¢d	œ«      }t	        j
                  t        |¬
«      5  |dk(  rt        j                  ||d¬«       nt        j                  ||d¬«       d d d «       y # 1 sw Y   y xY w)Nz"Merge keys contain null values on z sider4  r@  )r4  r@  g      $@r¢   r¦   )rŸ   r«   r¯  r­   rÿ   r¸   r£   r±   )r–   r—   r   r[   rÛ   r  r¥  r´   )r   rQ  rU  r  ÚnullsÚ	non_nullsÚdf_nullr   s           r   Útest_merge_on_nansz TestAsOfMerge.test_merge_on_nansW  s¢   € ð 3°4°&¸Ð>ˆÙ�c˜3¤§¡Ð'Ó(ˆÙÒ)Ó*ˆ	Ü—,‘, UºÑHÓIˆÜ�\‰\ 	º
ÑCÓDˆä�]‰]œ:¨SÔ1ñ 	3Ø�vŠ~Ü—‘˜g r¨cÖ2ä—‘˜b '¨cÕ2÷		3÷ 	3ñ 	3ús   Á97B9Â9Cc                 óF  — t        j                  t         j                  ddg|¬«      }|j                  j                  dv r4t        j                  |j                  j                  «      j                  }n3t        j                  |j                  j                  «      j                  }||d<   t        j                  |g d¢g d¢g d¢d	œ«      }t        j                  |g d
¢g d¢g d¢d	œ«      }t        j                  ||ddgd¬«      }t        j                  |g d¢g d¢g d¢dœ«      }t        j                  t
        j                  t
        j                  t
        j                  gt        ¬«      |d<   |r|d   j                  d«      |d<   t        j                   ||«       y )Nr   rŸ   ©r(  )ÚiÚur©   )ÚHELLOÚToÚYou)r©   r�  r«   )r£   r¥   rú  ©Úby_col1Úby_col2Úon_colr:  )ÚWORLDÚWideÚWeb)rŸ   r©   r«   )r¤   rù  rx  rc  rd  re  ©rÕ   r²   ©rc  rd  re  Úvalue_xÚvalue_yÚstr)r   ÚarrayÚNAr(  Úkindr–   ÚiinfoÚnumpy_dtypeÚmaxÚfinfor[   r´   r—   r)  r]   rµ   r¶   )	r   Úany_numeric_ea_dtypeÚusing_infer_stringÚarrÚmax_valr¸   r¹   r»   rº   s	            r   Útest_by_nullablezTestAsOfMerge.test_by_nullablei  sG  € ô �h‰hœŸ™˜q !�}Ð,@ÔAˆØ�9‰9�>‰>˜ZÑ'Ü—h‘h˜sŸy™y×4Ñ4Ó5×9Ñ9‰Gä—h‘h˜sŸy™y×4Ñ4Ó5×9Ñ9ˆGð ˆˆA‰ä�|‰|àÚ1Ú#Ú(ñ	ó
ˆô —‘àÚ3Ú#Ú(ñ	ó
ˆô —‘˜t U°	¸9Ð/EÈ(ÔSˆÜ—<‘<àÚ1Ú#Ú*ñ	ó
ˆô !Ÿh™h¬¯©´·±¼¿¹Ð'?ÄvÔNˆ�ÑÙØ"*¨9Ñ"5×"<Ñ"<¸UÓ"CˆH�YÑÜ
×Ñ˜f hÕ/r   c                 óÀ  — t        j                  t        j                  dg«      j                  d«      dgdgdœ«      }t        j                  t        j                  dg«      j                  d«      dgdgdœ«      }t        j                  ||dd	¬
«      }t        j                  t        j
                  dd¬«      dddggg d¢¬«      }t        j                  ||«       y )Nú
2018-01-01rÂ  r©   r£   )Úby_colre  ÚvaluesrŸ   r¤   r|  re  ri  ©rº  )r|  re  Úvalues_xÚvalues_yrT   )r   r[   ÚDatetimeIndexÚtz_localizer´   r;  rµ   r¶   r   s        r   Útest_merge_by_col_tz_awarez(TestAsOfMerge.test_merge_by_col_tz_aware—  sÇ   € ä�|‰|ä×*Ñ*¨L¨>Ó:×FÑFÀuÓMØ˜#Ø˜%ñó
ˆô —‘ä×*Ñ*¨L¨>Ó:×FÑFÀuÓMØ˜#Ø˜%ñó
ˆô —‘˜t U¨x¸HÔEˆÜ—<‘<Ü�l‰l˜<¨EÔ2°A°s¸CÐ@ÐAÚ@ô
ˆô 	×Ñ˜f hÕ/r   c                 óX  — t        j                  t        j                  dg«      j                  d«      dgdgdgdœ«      }t        j                  t        j                  dg«      j                  d«      dgdgd	gdœ«      }t        j                  ||d
dgd¬«      }t        j                  t        j
                  dd¬«      dddggg d¢¬«      }t        j                  t        j                  gt        ¬«      |d<   |r|d   j                  d«      |d<   t        j                  ||«       y )Nr{  rÂ  r_  r©   r£   rb  rf  rŸ   r¤   rc  rd  re  ri  r~  rj  rT   r\  rl  rm  )r   r[   r�  r‚  r´   r;  r–   rn  r—   r)  r]   rµ   r¶   )r   rv  r¸   r¹   r»   rº   s         r   Útest_by_mixed_tz_awarez$TestAsOfMerge.test_by_mixed_tz_aware®  s  € ä�|‰|ä×+Ñ+¨\¨NÓ;×GÑGÈÓNØ#˜9Ø˜#Ø˜ñ	ó
ˆô —‘ä×+Ñ+¨\¨NÓ;×GÑGÈÓNØ#˜9Ø˜#Ø˜ñ	ó
ˆô —‘˜t U°	¸9Ð/EÈ(ÔSˆÜ—<‘<Ü�l‰l˜<¨EÔ2°G¸QÀÐDÐEÚ?ô
ˆô !Ÿh™h¬¯© x´vÔ>ˆ�ÑÙØ"*¨9Ñ"5×"<Ñ"<¸UÓ"CˆH�YÑÜ
×Ñ˜f hÕ/r   )rW   Úint16zm8[ns]zM8[us]c                 óŒ  — t        j                  t        j                  dg|¬«      dgdgdœ«      }t        j                  t        j                  dg|¬«      dgdgdœ«      }t        j                  ||dd¬	«      }t        j                  t        j                  dg|¬«      dgdgdgd
œ«      }t        j                  ||«       y )NrŸ   r\  r©   r£   )r|  re  r:  r¤   r|  re  ri  )r|  re  rk  rl  )r   r[   r–   rn  r´   rµ   r¶   )r   r(  r¸   r¹   r»   rº   s         r   Útest_by_dtypezTestAsOfMerge.test_by_dtypeÊ  sº   € ô �|‰|äŸ(™( A 3¨eÔ4Ø˜#Ø˜ñó
ˆô —‘äŸ(™( A 3¨eÔ4Ø˜#Ø˜ñó
ˆô —‘˜t U¨x¸HÔEˆÜ—<‘<äŸ(™( A 3¨eÔ4Ø˜#Ø˜5Ø˜5ñ	ó
ˆô 	×Ñ˜f hÕ/r   c                 óf  — |dk(  rt        j                  d«       t        j                  t	        t        g d¢g d¢d¬«      «      ddg¬	«      }t        j                  |d   d
«      j                  d|› d�«      |d<   t        j                  t	        t        g d¢g d¢d¬«      «      ddg¬	«      }t        j                  |d   d
«      j                  d|› d�«      |d<   t        j                  t	        t        g d¢g d¢dt        j                  ddt        j                  t        j                  gd¬«      «      g d¢¬	«      }t        j                  |d   d
«      j                  d|› d�«      |d<   t        j                  ||dt        j                  d«      d¬«      }t        j                  ||«       y )Nr¾   zHThis test is invalid with unit='s' because that would round left['time'])r   r    r¡   rô  é   r#  )r   rŸ   r©   rª   r�  r    T)Ústrictr   r¸   rT   Úmszm8[rÀ   )r   rª   é	   ró  rô  é   r¹   r   r©   r�  )r   r¸   r¹   Ú1msrç   )r²   r›   rã   )rÛ   rÜ   r   r[   rÄ  ÚzipÚto_timedeltar]   r–   r—   r´   rÝ   rµ   r¶   )r   rÞ   r¸   r¹   rº   r»   s         r   Ú test_timedelta_tolerance_nearestz.TestAsOfMerge.test_timedelta_tolerance_nearestæ  su  € à�3Š;Ü�K‰Kð%ôô
 �|‰|Ü”Ò+Ò-?ÈÔMÓNØ˜VÐ$ô
ˆô
 —‘ t¨F¡|°TÓ:×AÑAÀCÈÀvÈQÀ-ÓPˆˆV‰ä—‘Ü”Ò*Ò,>ÀtÔLÓMØ˜WÐ%ô
ˆô
 Ÿ™¨¨f©°tÓ<×CÑCÀcÈ$ÈÈqÀMÓRˆˆf‰ä—<‘<ÜÜÚ*Ú&ØœŸ™  1¤b§f¡f¬b¯f©fÐ5Øô	óò .ô

ˆô Ÿ?™?¨8°FÑ+;¸TÓB×IÑIÈCÐPTÈvÐUVÈ-ÓXˆ�Ñä—‘Ø�%˜F¬b¯l©l¸5Ó.AÈYô
ˆô 	×Ñ˜f hÕ/r   c                 ó¸  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }|d   j                  |«      |d<   |d   j                  |«      |d<   t        j                  g d¢g d¢t        j                  ddgd	œ«      }|d   j                  |«      |d<   t        j
                  ||dd
¬«      }t        j                  ||«       y )N)r   r¡   rŠ  r~  r¦   )r    rô  r#  r­   r£   r4  r5  r°   r¡   rŸ  )r   r[   r]   r–   r—   r´   rµ   r¶   )r   Úany_int_dtyper¸   r¹   rº   r»   s         r   Útest_int_type_tolerancez%TestAsOfMerge.test_int_type_tolerance  s¼   € ô �|‰|¢+º9ÑEÓFˆÜ—‘¢;ºYÑGÓHˆØ˜‘I×$Ñ$ ]Ó3ˆˆS‰	Ø˜3‘Z×&Ñ& }Ó5ˆˆc‰
ä—<‘<Úª9ÄBÇFÁFÈCÐQTÐCUÑVó
ˆð ! ™×,Ñ,¨]Ó;ˆ�‰ä—‘˜t U¨s¸bÔAˆÜ
×Ñ˜f hÕ/r   c           	      ó†  — t        j                  dddd¬«      }t        j                  g d¢dg|dd  ¬	«      }t        j                  |d
gdz  dgz   dœ«      }t        j                  ||ddg¬«      }t        j                  g d¢|dd  d
gdz  dgz   dœt        j                  dddd¬«      ¬«      }t	        j
                  ||«       t        j                  ||ddg¬«      }t        j                  |d
gdz  dgz   t        j                  ddddgdœt        j                  g d¢«      ¬«      }t	        j
                  ||«       y )Nz
2019-10-01Ú30minr    rÂ  )r¸  r¹  rº  )çÍÌÌÌÌÌì?çš™™™™™é?çffffffæ?ç333333ã?ÚxyzrŸ   )rU   rô   g®Gáz®@r�  g…ëQ¸…@)Ú	from_dateÚabcTr�  )r¸   r¹   rñ   rò   rª   )rœ  r�  rž  z2019-10-01 00:30:00©rô   )r¸   r¹   rø   r÷   r˜  r™  rš  r›  )r�  rž  rœ  )r   rŸ   r©   rª   r�  )	r   rÀ  r[   r´   rµ   r¶   r–   r—   ÚIndex)r   rô   r¸   r¹   r»   rº   s         r   Útest_merge_index_column_tzz(TestAsOfMerge.test_merge_index_column_tz   s7  € ä—‘˜l°À!ÈÔNˆÜ�|‰|Ò0¸5¸'ÈÈqÈrÈÔSˆÜ—‘¨5¸$¸À!¹ÀtÀfÑ9LÑMÓNˆÜ—‘Ø˜U¨t¸{¸mô
ˆô —<‘<â+Ø" 1 2˜YØ�v ‘z T FÑ*ñô
 —-‘-Ø%¨G¸QÀ5ôô	
ˆô 	×Ñ˜f hÔ/ä—‘Ø˜d°¸{¸mô
ˆô —<‘<à"Ø�v ‘z T FÑ*ÜŸ™  S¨#¨sÐ3ñô
 —(‘(š?Ó+ô
ˆô 	×Ñ˜f hÕ/r   c           	      óx  — |dk(  rt        j                  d«       t        j                  ddd|¬«      t        j                  d¬«      j                  |«      z   }t        j                  dd	|¬
«      }t        j                  ddit        j                  |«      ¬«      }t        j                  ddit        j                  |«      ¬«      }t        j                  dddœt        j                  |«      ¬«      }t        j                  ||ddt        j                  d¬«      ¬«      }t        j                  ||«       y )Nr¾   z?This test is invalid with unit='s' because that would round dr1z1/1/2020z	1/20/2020Ú2D)r·  Úendr¸  rÞ   gš™™™™™Ù?)Úsecondsz2/1/2020)r·  r¤  rÞ   Úval1r‘  rŸ  Úval2Úbar)r¦  r§  TrÊ  )rñ   rø   r›   )rÛ   rÜ   r   rÀ  rÝ   Úas_unitr[   r�  r´   rµ   r¶   )r   rÞ   Údr1Údr2r�  rŽ  rº   r»   s           r   Ú%test_left_index_right_index_tolerancez3TestAsOfMerge.test_left_index_right_index_toleranceA  sü   € à�3Š;Ü�K‰KØQôô �m‰mØ +°D¸tô
ä�L‰L Ô%×-Ñ-¨dÓ3ñ4ˆô �m‰m *°*À4ÔHˆä�l‰l˜F E˜?´"×2BÑ2BÀ3Ó2GÔHˆÜ�l‰l˜F E˜?´"×2BÑ2BÀ3Ó2GÔHˆä—<‘<Ø EÑ*´"×2BÑ2BÀ3Ó2Gô
ˆô —‘ØØØØÜ—l‘l¨3Ô/ô
ˆô 	×Ñ˜f hÕ/r   N)F)PÚ__name__Ú
__module__Ú__qualname__r   rÛ   Úfixturer_   rv   r˜   r›   r¼   rß   rå   rè   rì   rï   rõ   rú   rý   r  r  r  r  r  r  r'  ÚmarkÚparametrizer,  r=  r?  rq  ry  r|  r…  r‰  r�  r“  r˜  rš  r¡  r¦  r   rÝ   rÁ  Ú	timedeltar¬  r±  r´  rÅ  rË  rÍ  rÒ  rÕ  rØ  rÛ  ræ  ré  rí  rð  r  r  r  r   r1  r4  rC  rJ  rL  rP  r   rZ  ry  rƒ  r…  rˆ  r’  r•  r¡  r¬  rS  r   r   r   r      s²  „ óð ‡^�^ñ#"ó ð#"ðJ ‡^�^ñ/ó ð/ð4 ‡^�^ñ}"ó ð}"ð~ ‡^�^ñ}"ó ð}"ò~
0òY0òv0ò0ò0ò0ò0ò0ò0òMòMòòò0ò0ò?0ðB ‡[�[×Ñ˜W x°Ð&:Ó;ñB0ó <ðB0òHò<0òdY0òv0ò
7ò:ò0ò0òò.ò`ò$0òL>ð. ‡[�[×ÑØØ	ˆ�‰�fÓ	Ð1˜x×1Ñ1°qÔ9Ð:ØÐ.Ð/ð ó ñ
0óð
0ò0ò0ò)0òV0ò$0ò q0òf0ò0òv0òp00òd#0òJ0ò(0ò(0ò<0ò<;0òz0ò<0ò>"0òH70òr/ò/ò&0ð ‡[�[×ÑØ‘˜bŸn™nÐ-°I¸zÐ3Jð ó ð ‡[�[×Ñ˜V f¨gÐ%6Ó7ñ3ó 8óð3ò,0ò\0ò.0ð8 ‡[�[×Ñ˜WÒ&NÓOñ0ó Pð0ò6(0òT0ò 0óB0r   r   Úinfer_stringFTÚpyarrow)ÚmarksÚkwargsr²   rv  r  Údataz2019-06-01 00:09:12z2019-06-01 00:10:29r4  zDignore:The 'future.infer_string' option:pandas.errors.Pandas4Warningc                 óL  — t        j                  d|«      5  t        j                  d|i|¬«      }t        j                  d|i|¬«      }t        j                  t
        d¬«      5  t        j                  ||fi | ¤Ž d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nzfuture.infer_stringrv  rŸ  rE  rÿ   )r   Úoption_contextr[   rÛ   r  r   r´   )r·  r¸  r´  r¸   r¹   s        r   Ú#test_merge_asof_non_numerical_dtyper»  ]  s“   € ô 
×	Ñ	Ð0°,Ó	?ñ 1Ü�|‰|˜S $˜K¨tÔ4ˆÜ—‘˜c 4˜[°Ô5ˆÜ�]‰]ÜØUô
ñ 	1ô �M‰M˜$ Ñ0¨Ò0÷		1÷1ð 1÷	1ð 	1ú÷1ð 1ús$   —ABÁ%BÁ=BÂB	ÂBÂB#c            	      ó
  — t        j                  g d¢g d¢dœ«      } t        j                  g d¢g d¢dœ«      }t        j                  t        d¬«      5  t        j
                  | |dd	d	d
¬«       d d d «       y # 1 sw Y   y xY w)N)ra  Ú13Ú15r¢   )r£   Ú	left_val1)rù  rú  rx  r¦   rE  rÿ   r¿  r£   r§   )r÷   rò   r  r  rH  ©r¸   r¹   s     r   Ú*test_merge_asof_non_numerical_dtype_objectrÁ  v  sp   € ä�<‰<Ò0ºÑOÓP€DÜ�L‰LšºOÑLÓM€EÜ	�‰ÜØQô
ñ 
ô 	�‰ØØØØØØõ	
÷	
÷ 
ñ 
ús   ÁA9Á9B)rø   rñ   Ú	left_time)r÷   rø   r¹   )rñ   rò   c                 óH  — t        j                  g d¢d¬«      }t        j                  g d¢g d¢dœ|¬«      }t        j                  dg d	¢ig d	¢¬«      }t        j                  ||fi | ¤Ž}t        j                  g d¢g d¢g d
¢dœ|¬«      }t	        j
                  ||«       y )Nrž   Útest©Únamer¢   )rŸ   r�  r¡   )r¸   rÂ  rŸ  r¹   r¨   r¯   )r¸   rÂ  r¹   )r   r   r[   r´   rµ   r¶   )r·  rô   r¸   r¹   r»   rº   s         r   Útest_merge_asof_index_behaviorrÇ  ˆ  s�   € ô �H‰H’Z fÔ-€EÜ�<‰<¢ºzÑJÐRWÔX€DÜ�L‰L˜'¢?Ð3º?ÔK€EÜ�]‰]˜4 Ñ1¨&Ñ1€Fä�|‰|Ú ªzÂIÑNØô€Hô ×Ñ˜& (Õ+r   c                  óh  — t        j                  dg d¢it        j                  g d¢d¬«      ¬«      } t        j                  dg d¢it        j                  g d	¢d¬«      ¬«      }t        j                  | |dd¬
«      }t        j                  g d¢g d¢g d¢dœ«      }t	        j
                  ||«       y )Nr¤   ©r¡   r¯  ró  r~  r£   rÅ  rŸ  r¥   ©rŠ  é   é   )r   r©   rª   ©r÷   rò   r¢   )r   r[   r   r´   rµ   r¶   ©r¸   r¹   r»   rº   s       r   Ú'test_merge_asof_numeric_column_in_indexrÏ  ž  s{   € ä�<‰<˜šlÐ+´2·8±8ºIÈCÔ3PÔQ€DÜ�L‰L˜#š|Ð,´B·H±HºYÈSÔ4QÔR€Eä�]‰]˜4 °¸cÔB€FÜ�|‰|¢)²,Â\ÑRÓS€HÜ×Ñ˜& (Õ+r   c                  ó¨  — t        j                  dg d¢it         j                  j                  g d¢g d¢gddg¬«      ¬«      } t        j                  d	g d
¢it         j                  j                  g d¢g d¢gddg¬«      ¬«      }t        j                  | |dd¬«      }t        j                  g d¢g d¢g d
¢dœ«      }t        j                  ||«       y )Nr¤   rÉ  r~  r¢   r£   rO  )ÚnamesrŸ  r¥   rÊ  rN  r3  rÍ  )r   r[   Ú
MultiIndexÚfrom_arraysr´   rµ   r¶   rÎ  s       r   Ú,test_merge_asof_numeric_column_in_multiindexrÔ  ¨  s­   € ä�<‰<Ø	ŠlÐÜ�m‰m×'Ñ'ª²OÐ(DÈSÐRUÈJÐ'ÓWô€Dô �L‰LØ	ŠlÐÜ�m‰m×'Ñ'ª²OÐ(DÈSÐRUÈJÐ'ÓWô€Eô
 �]‰]˜4 °¸cÔB€FÜ�|‰|¢)²,Â\ÑRÓS€HÜ×Ñ˜& (Õ+r   c                  ót  — t        j                  dg d¢it        j                  g d¢d¬«      ¬«      } t        j                  dg d¢it        j                  g d	¢d¬«      ¬«      }t        j                  t
        d
¬«      5  t        j                  | |dd¬«       d d d «       | j                  «       j                  ddg«      } |j                  «       j                  ddg«      }t        j                  t
        d
¬«      5  t        j                  | |dd¬«       d d d «       y # 1 sw Y   Œ‰xY w# 1 sw Y   y xY w)Nr¤   rÉ  )rM  Ú2Ú3r£   rÅ  rŸ  r¥   rÊ  )ÚmÚnÚorE  rÿ   rÍ  )	r   r[   r   rÛ   r  r   r´   r   ró   rÀ  s     r   Ú3test_merge_asof_numeri_column_in_index_object_dtyperÛ  ¸  sû   € ä�<‰<˜šlÐ+´2·8±8ºOÐRUÔ3VÔW€DÜ�L‰L˜#š|Ð,´B·H±Hº_ÐSVÔ4WÔX€Eä	�‰ÜØQô
ñ >ô 	�‰�d˜E¨3¸Õ=÷	>ð ×ÑÓ×'Ñ'¨¨c¨
Ó3€DØ×ÑÓ×)Ñ)¨3°¨*Ó5€Eä	�‰ÜØQô
ñ >ô 	�‰�d˜E¨3¸Õ=÷	>ð >÷>ð >ú÷>ð >ús   Â D"Ã?D.Ä"D+Ä.D7c                 óR  — t        j                  ddgd| › d�¬«      }t        j                  ddg|dœ«      }t        j                  t        j                  d	«      d
d| ¬«      }t        j                  dg d¢i«      }t        j
                  |||ddd¬«      }t        j                  g d¢t        j                  ddg|dœ«      }t        j                  ||«       t        j
                  ||d|dd¬«      }t        j                  ddg|ddgdœ«      }t        j                  ||«       y )Nz2021/01/01 00:37z2021/01/01 01:40r¿   rÀ   r\  r©   r«   )r£   Útsz2021/01/01 00:00rª   Ú1h)r·  r¹  r¸  rÞ   r¤   )r�  é   r¬   rÝ  FÚbackward)r÷   rò   rÚ   rã   )r¤   r£   rÝ  r�  rß  )r£   rÝ  r¤   )
r   r�  r[   rÀ  r;  r´   r–   r—   rµ   r¶   )rÞ   Údtir¹   Úts_merger¸   r»   rº   s          r   Útest_merge_asof_array_as_onrã  Í  s%  € ä
×
Ñ
Ø	Ð/Ð0¸#¸d¸VÀ1¸ô€Cô �L‰Là�Q�Øñ	
ó€Eô �}‰}Ü�l‰lÐ-Ó.¸ÀÈ4ô€Hô �<‰<˜šiÐ(Ó)€DÜ�]‰]ØØØØØ!Øô€Fô �|‰|¢)´2·6±6¸1¸a°.ÈÑQÓR€HÜ×Ñ˜& (Ô+ä�]‰]ØØØØØ!Øô€Fô �|‰|à�Q�ØØ�Q�ñ	
ó€Hô ×Ñ˜& (Õ+r   c                  ó(  — t        j                  g d¢gg d¢¬«      } t        j                  g d¢gg d¢¬«      }t        j                  t        d¬«      5  t        j
                  | |d¬	«       d d d «       t        j                  t        d¬«      5  t        j
                  | |dd
¬«       d d d «       t        j                  t        d¬«      5  t        j
                  | |dd¬«       d d d «       y # 1 sw Y   Œ„xY w# 1 sw Y   ŒSxY w# 1 sw Y   y xY w)N)rŸ   r©   r£   )r£   r£   r§   rT   )rŸ   rŸ   rŸ   )r£   r£   r®   zcolumn label 'a'rÿ   r£   r±   r®   rÍ  r§   )r   r[   rÛ   r  r¥  r´   rÀ  s     r   Ú+test_merge_asof_raise_for_duplicate_columnsrå  ù  sÚ   € ä�<‰<š˜Ò/EÔF€DÜ�L‰Lš)˜Ò.EÔF€Eä	�‰”zÐ);Ô	<ñ +Ü
�‰�d˜E cÕ*÷+ô 
�‰”zÐ);Ô	<ñ FÜ
�‰�d˜E¨3¸ÕE÷Fô 
�‰”zÐ);Ô	<ñ EÜ
�‰�d˜E¨:ÀÕD÷Eð E÷+ð +ú÷Fð Fú÷Eð Eús$   ÁC0ÂC<ÃDÃ0C9Ã<DÄDr(  ÚInt64zint64[pyarrow]ztimestamp[s][pyarrow]c                 óž  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }|j                  d| i«      }|j                  d| i«      }t        j                  ||d¬«      }t        j                  g d¢g d¢t        j
                  dd	gd
œ«      }|j                  d| i«      }t        j                  ||«       y )N)rŸ   rª   r    r~  )Újoin_colr§   )r©   rª   r�  )rè  r®   rè  r±   r5  r7  )rè  r§   r®   )r   r[   r]   r´   r–   r—   rµ   r¶   )r(  r¸   r¹   r»   rº   s        r   Útest_merge_asof_extension_dtyperé    s¾   € ô �<‰<â!Ú!ñ	
ó€Dô �L‰Lâ!Ú"ñ	
ó€Eð �;‰;˜
 EÐ*Ó+€DØ�L‰L˜* eÐ,Ó-€EÜ�]‰]˜4 ¨:Ô6€FÜ�|‰|â!Ú!ÜŸ&™& # sÐ+ñ	
ó€Hð �‰ 
¨EÐ2Ó3€HÜ×Ñ˜& (Õ+r   c                  óJ  — t        j                  t        j                  ddd«      gd¬«      } t        j                  | dgdœ«      }t        j                  ||dt        j
                  d«      ¬«      }t        j                  | dgdgd	œ«      }t        j                  ||«       y )
Niç  rŸ   ztimestamp[us, UTC][pyarrow]r\  )Ú	timestampr:  rë  r•  rŸ  )rë  rk  rl  )r   ÚSeriesrÁ  r[   r´   rÝ   rµ   r¶   )Úserr   r»   rº   s       r   Ú$test_merge_asof_pyarrow_td_tolerancerî  ,  s˜   € ô �)‰)Ü	×	Ñ	˜4  AÓ	&Ð'Ð/Lô€Cô 
�‰àØ�Sñ	
ó
€Bô �]‰]˜2˜r k¼R¿\¹\È$Ó=OÔP€FÜ�|‰|àØ�sØ�sñ	
ó€Hô ×Ñ˜& (Õ+r   c                  ó˜  — t        j                  dgdgd¬«      } t        j                  dgdgd¬«      }d| j                  j                  j                  _        d|j                  j                  j                  _        t        j                  | |dd¬«      }t        j                  dgdgd	œdg¬
«      }t        j                  ||«       y )Nr©   r¸   )rô   rÆ  rŸ   r¹   FTr  rÀ  rŸ  )
r   rì  rô   r}  ÚflagsÚ	writeabler´   r[   rµ   r¶   rÎ  s       r   Ú!test_merge_asof_read_only_ndarrayrò  C  s�   € ä�9‰9�a�S  ¨&Ô1€DÜ�I‰I�q�c ! ¨7Ô3€Eà(-€D‡J�J×Ñ×ÑÔ%Ø).€E‡K�K×Ñ×ÑÔ&Ü�]‰]˜4 °4ÀTÔJ€FÜ�|‰| a S°A°3Ñ7À¸sÔC€HÜ×Ñ˜& (Õ+r   c            
      óD  — t        j                  t        j                  g d¢ddg¬«      dgdz  dgdz  t        d«      dœ«      } t        j                  t        j                  ddgddg¬«      dgd	z  dd	gt        d	«      dœ«      }t        j                  | |d
dgddddg¬«      }t        j                  t        j                  g d¢ddg¬«      dgdz  dgdz  t        d«      t
        j                  t
        j                  ddgdœ«      }t        j                  ||«       y )N)r£   r£   r¤   r¤   r£   r¤   )Ú
categoriesrv  r�  rŸ   )Úc1Úc2ÚtÚvr©   rõ  rö  r÷  rá   Ú_leftÚ_right)rÕ   r²   rã   Úsuffixesr  )rõ  rö  r÷  Úv_leftÚv_right)	r   r[   r„  Úranger´   r–   r—   rµ   r¶   rÎ  s       r   Ú(test_merge_asof_multiby_with_categoricalrÿ  O  s  € ä�<‰<ä—.‘.Ò!5À3ÈÀ*ÔMØ�%˜!‘)Ø��q‘Ü�q“ñ		
ó€Dô �L‰Lä—.‘. # s ¸¸c¸
ÔCØ�%˜!‘)Ø�Q�Ü�q“ñ		
ó€Eô �]‰]ØØØ�$ˆ<ØØØ˜8Ð$ô€Fô �|‰|ä—.‘.Ò!5À3ÈÀ*ÔMØ�%˜!‘)Ø��q‘Ü˜A“hÜŸ™¤§¡¨¨SÐ1ñ	
ó€Hô ×Ñ˜& (Õ+r   )!rÁ  Únumpyr–   rÛ   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   Úpandas._testingÚ_testingrµ   Úpandas.core.reshape.merger   r   r±  r²  ÚparamÚ
skip_if_noÚfilterwarningsr»  rÁ  rÇ  rÏ  rÔ  rÛ  rã  rå  ré  rî  rò  rÿ  rS  r   r   ú<module>r     sÚ  ðÛ ã Û ç )Ð )ã Ý Ý 0÷M50ñ M50ð`j ‡�×ÑØ�U˜L˜FŸL™L¨°]°R·]±]À9Ó5MÔNÐOóð ‡�×ÑØ��cˆ{¨4ÀÑEÐFóð ‡�×ÑØ
ØÐ2Ð3°cÐ;PÐ5QÐRóð ‡�×ÑØJóñ	1óó	óóð	1ò
ð$ ‡�×ÑØà¨DÑ1Ø°Ñ5Ø¨Ñ1ðóñ,óð,ò,ò,ò >ò*),òXEð ‡�×ÑØàØˆ�‰Ð%¨]¨R¯]©]¸9Ó-EÔFØˆ�‰Ð,°M°B·M±MÀ)Ó4LÔMðóñ,óð,ð8 €‡�ˆyÓñ,ó ð,ò,	,ó#,r   