+
     ]i  c                   s
   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt R t]P.                  P1                  R] P                   ! R^^^ ^^4      ] P                   ! R^^^ ^^4      ] P                   ! R^^^^^4      .] P                   ! R^^^ ^^4      ] P                   ! R^^^^^4      .] P                   ! R^^^^^4      ] P                   ! R^^^^^4      ...4      ]P.                  P1                  R. RfO4      R 4       4       t]P.                  P1                  R. RfO4      R	 4       t]P.                  P1                  R
. RgO4      R 4       tR tR tR tR t]! R.4      R 4       t ]! R.4      R 4       t!]! R.4      R 4       t"]! R.4      R 4       t#R t$R t%]! R.4      R 4       t&R t'R t(]! R.4      R 4       t)R  t*R! t+]P.                  P1                  R"] PX                  ! RhR#7      ]-! R$R%^4       U u. uF  p R&V ,          NK  	  up 3] PX                  ! ^R'7      ]-! ^^ ^4       Uu. uF  pR(V,          NK  	  up3] PX                  ! ^R)7      ]-! ^ ^^4       Uu. uF  pR*V,          NK  	  up3] PX                  ! ^
R+7      ]-! ^ ^4       Uu. uF  pR,V,          NK  	  up3.4      R- 4       t.R. t/]%R/ 4       t0]%R0 4       t1R1 t2R2 t3]P.                  P1                  R3] PX                  ! R4R57      R63] PX                  ! ^R+7      R73] PX                  ! ^R)7      R83] PX                  ! ^R'7      R93] PX                  ! ^R#7      R:3] PX                  ! ^R#7      R;3] PX                  ! R<R#7      R;3.4      R= 4       t4R> t5R? t6R@ t7]P.                  P1                  R3] PX                  ! RhR#7      ]-! RARB^4       Uu. uF  pR&V3,          NK  	  up3] PX                  ! ^(R'7      . RiO3] PX                  ! ^(R)7      . RjO3] PX                  ! ^R57      . RkO3.4      RC 4       t8RD t9RE t:RF t;RG t<]! RH.4      RI 4       t=RJ t>RK t?RL t@RM tARN tB]P.                  P                  RO 4       tD]P.                  P                  RP 4       tERQ tFRR tGRS tH]P.                  P1                  RT^] PX                  ! ^R'7      3^RU.] PX                  ! ^R'7      ] PX                  ! RUR'7      .3.4      RV 4       tIRW tJRX tKRY tLRZ tMR[ tNR\ tOR] tP]P.                  P1                  R^Rl4      R_ 4       tQR` tRRa tS]P.                  P1                  RbRm4      Rc 4       tTRd tURe tVR# u up i u upi u upi u upi u upi )n    N)
rc_contextstyle)image_comparisonc                  sL   \         P                   ! R ^^4      p \        ^ ^4       Uu. uF   q\         P                  ! VR7      ,           NK"  	  pp\        P                  ! VRR7      p\        P                  ! . RO4      p\
        P                  ! R	R7      pVP                  ^^^4      pVP                  W$4      w  pVP                  W44      w  p\        P                  P                  VP                  RR7      VP                  RR7      4       \
        P                  ! R	R7      pVP                  ^^^4      pVP                  WB4      w  pVP                  WC4      w  p\        P                  P                  VP                  RR7      VP                  RR7      4       R# u upi )
  Zdaysdatetime64[ns]dtype)ZfigsizeF)ZorigN)        g       @      ?)i
      )datetimerange	timedeltanparraypltfigureadd_subplotplottestingassert_equalZ	get_xdataZ	get_ydata)	basextimeZtimenpZdatafigaxZhZhnp	            B/usr/lib64/python3.14/site-packages/matplotlib/tests/test_dates.pytest_date_numpyxr      s:   T1a(D7<Q{C{!8%%1---{DCXXd"23F88L!D
**W
%C	Aq	!B		BA776 DCJJAKKUK3S]]]5NO
**W
%C	Aq	!B		BA774 DCJJAKKUK3S]]]5NO Ds   &F!t0r   r   c                 s    \         P                  ! V 4      p\        P                  ! WR 7      p\         P                  ! V4      p\        P                  P                  W$4       R# )r   N)mdatesdate2numr   r   r   r   )r   r   r   tnpnptimes   &&   r   test_date_date2num_numpyr$   "   s@     ??2D
((2
#C__S!FJJD)    c                 s&   \         P                   ! R ^^^ ^^4      p\        P                  ! V4      \        P                  .p\        P
                  ! VR.V R7      p\        P                  ! V4      p\        P                  P                  W$4       R# )r   NaTr   N)r   r    r!   r   Znanr   r   assert_array_equal)r   r   tmplr"   r#   s   &    r   test_date2num_NaTr)   6   si    
 
		4Aq!Q	/BOOB(D
((B;e
,C__S!FJJ!!$/r%   unitsc                 s\    \         P                  ! \        P                  ! R V 4      4      pR# )r&   N)r    r!   r   
datetime64)r*   r(   s   & r   test_date2num_NaT_scalarr,   B   s    ??2==67Dr%   c            
      sb   \         P                   ! R ^^4      p \        P                  P                  \	        ^4       Uu. uF(  pV \         P
                  ! ^V,          R7      ,           NK*  	  up. ROR7      p\        P                  ! V4      p\        P                  P                  \        P                  P                  V4      R4       \         P                   ! R ^^\        P                  R7      p \        P                  P                  \	        ^4       Uu. uF(  pV \         P
                  ! ^V,          R7      ,           NK*  	  up. ROR7      p\        P                  ! V4      p\        P                  P                  \        P                  P                  V4      R4       R# u upi u upi )  r   )ZmasktzinfoN)r       r0   r    r    r    r0   )FTTFFFT)r   r   mar   r   r   r    r!   r   r'   ZgetmaskUTC)r   idatesZnpdates       r   test_date2num_maskedr6   H   sF   T2r*DEEKK"'(,"*Q  2 2Q @@@"*,2G  IEooe$GJJ!!"%%--"8#)*
 T2r&**=DEEKK"'(,"*Q  2 2Q @@@"*,2G  IEooe$GJJ!!"%%--"8#)*,,s   .F'.F,c            	      sb   \         P                  ! 4       w  rVP                  4        V P                  4        \        P
                  P                  VP                  4       \        P                  ! \        P                  ! R 4      4      \        P                  ! \        P                  ! R4      4      .4       \        P                  ! 4        \        P                  ! R4       \         P                  ! 4       w  rVP                  4        V P                  4        \        P
                  P                  VP                  4       \        P                  ! \        P                  ! R 4      4      \        P                  ! \        P                  ! R4      4      .4       \        P                  ! 4        R# )
1970-01-01z
1970-01-02
0000-12-31N)r   subplotsZ
xaxis_datedraw_without_renderingr   r   assert_allcloseget_xlimr    r!   r+   _reset_epoch_test_example	set_epochr   r        r   test_date_emptyrA   \   s    llnGCMMO JJr{{} &l0K L &l0K L NO $$&
\"llnGCMMO JJr{{} &l0K L &l0K L NO $$&r%   c                  s   \         P                  ! 4       p V P                  4       pVP                  ^2^F.^^.4       VP                  P                  4        \        P                  P                  VP                  4       ^2^F.4       R# )i2   N)
r   r   r   r   xaxisZ	axis_dater   r   r;   r<   r?   r@   r   test_date_not_emptyrC   r   s]    
**,C		BGGRHq!fHHJJr{{}r2h7r%   c            	      s   \         P                  ! 4       w  rVP                  R 4       VP                  \        P
                  ! R4      \        P
                  ! R4      .^^.4       \        P                  P                  VP                  4       \        P                  ! \        P
                  ! R4      4      \        P                  ! \        P
                  ! R4      4      .4       \        P                  ! 4        \        P                  ! R4       \         P                  ! 4       w  rVP                  R 4       VP                  \        P
                  ! R4      \        P
                  ! R4      .^^.4       \        P                  P                  VP                  4       \        P                  ! \        P
                  ! R4      4      \        P                  ! \        P
                  ! R4      4      .4       \        P                  ! 4        R# )      ?z
2016-01-01z
2016-01-02r8   N)r   r9   axhliner   r   r+   r   r;   r<   r    r!   r=   r>   r?   r@   r   test_axhlinerF   {   sD   llnGCJJsOGGR]]<("--*EFAOJJr{{} &l0K L &l0K L NO $$&
\"llnGCJJsOGGR]]<("--*EFAOJJr{{} &l0K L &l0K L NO $$&r%   zdate_axhspan.pngc                  st   \         P                   ! R ^^4      p \         P                   ! R ^^4      p\        P                  ! 4       w  r#VP                  WRRR7       VP	                  V \         P
                  ! ^R7      ,
          V\         P
                  ! ^R7      ,           4       VP                  RR7       R# )  blue      ?Z	facecolorZalphar   ZleftN)r   r   r9   Zaxhspanset_ylimr   subplots_adjustr   tfr   r   r5   r   test_date_axhspanrP      s     
		4B	'B			4B	'BllnGCJJrtJ4KKX''Q//X''Q//1T"r%   zdate_axvspan.pngc                  sp   \         P                   ! R ^^4      p \         P                   ! R^^4      p\        P                  ! 4       w  r#VP                  WRRR7       VP	                  V \         P
                  ! RR7      ,
          V\         P
                  ! RR7      ,           4       VP                  4        R# )    rH   rI   rJ   i  r   N)r   r   r9   Zaxvspanset_xlimr   autofmt_xdaterN   r5   r   test_date_axvspanrU      s     
		4B	'B			4B	'BllnGCJJrtJ4KKX''S11X''S113r%   zdate_axhline.pngc                  st   \         P                   ! R ^^4      p \         P                   ! R ^^4      p\        P                  ! 4       w  r#VP                  V R^R7       VP	                  V \         P
                  ! ^R7      ,
          V\         P
                  ! ^R7      ,           4       VP                  RR7       R# rG   rH   ZcolorZlwr   rI   rK   N)r   r   r9   rE   rL   r   rM   rN   r5   r   test_date_axhlinerX      s     
		4B	'B			4B	'BllnGCJJrAJ&KKX''Q//X''Q//1T"r%   zdate_axvline.pngc                  sp   \         P                   ! R ^^4      p \         P                   ! R ^^4      p\        P                  ! 4       w  r#VP                  V R^R7       VP	                  V \         P
                  ! ^R7      ,
          V\         P
                  ! ^R7      ,           4       VP                  4        R# )rQ   ZredrW   r   N)r   r   r9   ZaxvlinerS   r   rT   rN   r5   r   test_date_axvlinerY      s     
		4B	'B			4B	'BllnGCJJr1J%KKX''Q//X''Q//1r%   c                 s   V P                  R 4       \        P                  ! R^^4      p\        P                  ! R^^4      p\        P                  ! 4       w  r4\        P
                  ! \        4      ;_uu_ 4       pVP                  W3RR7       RRR4       VP                  . . 4       VP                  P                  \        P                  ! 4       4       VP                  P                  4       ! 4       pR#   + '       g   i     Lq; i)ZWARNINGrQ   T)autoN)Z	set_levelr   r   r9   pytestwarnsUserWarningrS   r   rB   set_major_locatorr    
DayLocatorZget_major_locator)Zcaplogr   rO   r   r   ZrecZvs   &      r   test_too_many_date_ticksr`      s     Y			4B	'B			4B	'BllnGC	k	"	"c
RH4( 
#
 GGBOHHv0023
""$&A 
#	"s   ;C99D		c                 sF   a  \         P                  ! S 4      V 3R  l4       pV# )c                  s   < \         P                  ! 4        \         P                  ! R 4       S ! 4        \         P                  ! 4        R# )
2000-01-01N)r    r=   r>   )thefuncs   r   wrapperZ%_new_epoch_decorator.<locals>.wrapper   s.    ((*&	((*r%   )	functoolsZwraps)rb   rc      f r   _new_epoch_decoratorrf      s%    __W+ +
 Nr%   zRRuleLocator_bounds.pngc                  s   ^ RI Hu Hp  V P                  4        \        P                  ! R^^4      p\        P                  ! R^^4      p\
        P                  ! 4       p\
        P                  ! 4       pVP                  R4       VP                  W.RR.RR7       \        P                  ! \        P                  P                  R	R
7      p\        P                  ! V4      pVP                   P#                  V4       VP                   P%                  \        P&                  ! V4      4       VP)                  4        VP+                  4        R# )r    Ni  ip  Tr	   r
   oZmarker  interval)matplotlib.testing.jpl_unitsr   	jpl_unitsregisterr   r   r   subplotset_autoscale_onr   r    rrulewrapperdateutilrruleZYEARLYRRuleLocatorrB   r^   set_major_formatterAutoDateFormatterautoscale_viewrT   )r*   r   rO   r   r   rs   locator          r   test_RRuleLocatorrz      s    00	NN 
		4A	&B			4A	&B
**,C	BGGRHsCjG- 5 5DE!!%(GHHw'HH  !9!9'!BCr%   c                  s    \         P                  ! 4       p \        P                  ! ^^^\         P                  R7      p\        P                  ! ^^^\         P                  R7      pV P	                  W4       R# )r0   )yearmonthdayr/   N)r    r_   r   r2   Ztick_values)locZx1Zy1      r   test_RRuleLocator_dayranger      sP    



C			&**	EB			6::	FBOOBr%   c                  s    \         P                  ! \        P                  P                  ^R7      p \         P
                  ! V 4      p\        P                  ! R^^R7      p\        P                  ! R^^^R7      pRR.pR# )   rj     r{   r|   r}   )r{   r|   r}   microsecond2020-01-01 00:00:00+00:00z 2020-01-01 00:00:00.000001+00:00N)r    rq   rr   rs   ZSECONDLYrt   r   )rs   r~   d1d2expected        r   test_RRuleLocator_close_minmaxr     sg      7 7!DE


e
$C			A1	5B			A1!	DB+24Hr%   z#DateFormatter_fractionalSeconds.pngc                  s   ^ RI Hu Hp  V P                  4        \        P                  ! R^^^ ^ ^ 4      p\        P                  ! R^^^ ^ ^4      p\
        P                  ! 4       p\
        P                  ! 4       pVP                  R4       VP                  W.RR.RR7       VP                  4        VP                  4        R# )r    Ni  Tr	   r
   rg   rh   )rl   r   rm   rn   r   r   r   ro   rp   r   rw   rT   )r*   r   rO   r   r   r   r   test_DateFormatterr     s    00	NN
 
		4Aq!Q	/B			4Aq!Q	/B
**,C	BGGRHsCjG- r%   c            	     s^   R\         P                  R&   \        P                  ! R^	^^^ 4      \        P                  ! R^	^^^;4      \        P                  ! R^	^^
^4      .p . ROp\         P                  ! 4       w  r#VP	                  W4       VP
                  P                  \        P                  ! R4      4       VP                  P                  4        VP                  4        Uu. uF  qDP                  4       NK  	  pp. R	OpVP
                  P                  \        P                  ! 4       4       VP
                  P                  \        P                  ! R
4      4       \        P                  ! R4      pVP
                  P!                  \        P"                  ! V4      4       VP
                  P                  \        P                  ! R4      4       VP                  P                  4        VP                  RR7       Uu. uF  qDP                  4       NK  	  pp. ROpR# u upi u upi )z\
Test if setting the locator only will update the AutoDateFormatter to use
the new locator.
z%d %H:%Mzdate.autoformatter.minutei  Zminor)ZwhichN)r      r0   )r    i   )z30 08:00z30 08:30z30 09:00z30 09:30z30 10:00z30 10:30)r   i7   )i   i   )i   i-   )z30 08:15z30 08:45z30 09:15z30 09:45z30 10:15)r   rcParamsr   r9   r   rB   r^   r    ZMinuteLocatorcanvasdrawZget_xticklabelsget_textmtickerZNullLocatorZset_minor_locatorZset_minor_formatterrv   )tr   r   r   ZtlZ
ticklabelsr   Z	decoy_loc           r   test_locator_set_formatterr   *  s   
 1;CLL,-			4B1	-			4B2	.			4BB	/	1A 	AllnGCGGAMHHv33G<=JJOO*,*<*<*>?*>B++-*>J?4H HHw2245HHv33G<=$$X.IHH  !9!9)!DEHHv33H=>JJOO*,*<*<7*<*KL*KB++-*KJLKH @ Ms   (H%H*c                  sr     ! R  R4      p R p\         P                  ! V ! 4       4      pWP                  R&   R# )c                   s&   a  ] tR tRt o R tRtV tR# ).test_date_formatter_callable.<locals>._LocatoriL  c                s    R# )i   i )self   &r   	_get_unitZ8test_date_formatter_callable.<locals>._Locator._get_unitM  s    CZr%   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell__)__classdict__s   @r   _Locatorr   L  s     ''r%   r   c                 sL    V  Uu. uF  q"P                  R 4      NK  	  up# u upi )z	%d-%m//%Y)Zstrftime)r4   Z_dt   && r   callable_formatting_functionZBtest_date_formatter_callable.<locals>.callable_formatting_functionO  s!    3895RK(5999   !Ni)r    rv   Zscaled)r   r   	formatterr   r   test_date_formatter_callabler   J  s3    ( (: ((4I8Sr%   zdelta, expectedZweeks  i{  z$\mathdefault{%d}$r   z $\mathdefault{1990{-}01{-}%02d}$Zhoursz$\mathdefault{01{-}01\;%02d}$minutesz$\mathdefault{01\;00{:}%02d}$c                 sx   \         P                  ! R 4       \        P                  ! R^^4      pW ,           p\        P                  ! RR7      pVP                  4        VP                  P                  \        P                  ! V4      \        P                  ! V4      4       \        P                  ! VRR7      pR# )Zdefaultr   Finterval_multiplesTZusetexN)
r   Zuser   r    AutoDateLocatorcreate_dummy_axisaxisset_view_intervalr!   rv   )deltar   r   r   rx   r      &&    r   test_date_formatter_usetexr   W  s     
IIi			4A	&B	B$$>GLL""6??2#68KL((>Ir%   c                 s   \         P                   ! R^^\        P                  R7      p \         P                   ! R^^\        P                  R7      p\         P                  ! ^R7      pV\         P                  ! ^R7      ,
          pV\         P                  ! ^R7      ,           p\         P                   ! R^^\        P                  R7      p\         P                  ! ^R7      p\        P                  ! WV4      pR# )z^
This test should check if drange works as expected, and if all the
rounding errors are fixed
  r.   r   ZmicrosecondsN)r   r    r2   r   Zdrange)startZendr   Z	dateranger5   r   test_dranger   o  s    
 dAq<E


D!Qvzz
:CQ'E ""2
2C
 ""2
2C 

D!Qvzz
:C Q'Ee%0Ir%   c                  s   R  p \         P                   ! R^^4      p\         P                  ! RR7      . RO.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! RR7      . RO.3pV F  w  r4W,           pV ! W4      pK  	  \        P                  ! R	R
7      p\        P                  ! \        P
                  P                  ^/R7      p\        P                  ! ^R7      pR# )c                     \         P                  ! R R7      pVP                  4        VP                  P                  ! \         P
                  ! W.4      !   V# )Fr   r    r   r   r   r   r!   date1date2rx   r   r   _create_auto_date_locatorZ9test_auto_date_locator.<locals>._create_auto_date_locator  s@    ((EB!!#&&(GHr%   r   r   r   r   r   seconds  r   Fr   )ZmaxticksN(  )
1990-01-01 00:00:00+00:00z2010-01-01 00:00:00+00:00z2030-01-01 00:00:00+00:00z2050-01-01 00:00:00+00:00z2070-01-01 00:00:00+00:00z2090-01-01 00:00:00+00:00z2110-01-01 00:00:00+00:00z2130-01-01 00:00:00+00:00z2150-01-01 00:00:00+00:00z2170-01-01 00:00:00+00:00)r   z1990-02-01 00:00:00+00:00z1990-03-01 00:00:00+00:00z1990-04-01 00:00:00+00:00z1990-05-01 00:00:00+00:00z1990-06-01 00:00:00+00:00z1990-07-01 00:00:00+00:00z1990-08-01 00:00:00+00:00z1990-09-01 00:00:00+00:00z1990-10-01 00:00:00+00:00z1990-11-01 00:00:00+00:00z1990-12-01 00:00:00+00:00)z1990-01-05 00:00:00+00:00z1990-01-26 00:00:00+00:00z1990-02-16 00:00:00+00:00z1990-03-09 00:00:00+00:00z1990-03-30 00:00:00+00:00z1990-04-20 00:00:00+00:00z1990-05-11 00:00:00+00:00)z1990-01-03 00:00:00+00:00z1990-01-10 00:00:00+00:00z1990-01-17 00:00:00+00:00z1990-01-24 00:00:00+00:00z1990-01-31 00:00:00+00:00z1990-02-07 00:00:00+00:00)r   z1990-01-01 04:00:00+00:00z1990-01-01 08:00:00+00:00z1990-01-01 12:00:00+00:00z1990-01-01 16:00:00+00:00z1990-01-01 20:00:00+00:00z1990-01-02 00:00:00+00:00z1990-01-02 04:00:00+00:00z1990-01-02 08:00:00+00:00z1990-01-02 12:00:00+00:00z1990-01-02 16:00:00+00:00)r   z1990-01-01 00:05:00+00:00z1990-01-01 00:10:00+00:00z1990-01-01 00:15:00+00:00z1990-01-01 00:20:00+00:00)	r   z1990-01-01 00:00:05+00:00z1990-01-01 00:00:10+00:00z1990-01-01 00:00:15+00:00z1990-01-01 00:00:20+00:00z1990-01-01 00:00:25+00:00z1990-01-01 00:00:30+00:00z1990-01-01 00:00:35+00:00z1990-01-01 00:00:40+00:00)z 1989-12-31 23:59:59.999500+00:00r   z 1990-01-01 00:00:00.000500+00:00z 1990-01-01 00:00:00.001000+00:00z 1990-01-01 00:00:00.001500+00:00z 1990-01-01 00:00:00.002000+00:00)r   r   r    r   rr   rs   ZMONTHLY)r   r   resultst_deltar   r   rx   ry   r   test_auto_date_locatorr     s\    
		4A	&B""2K "",K "",. ""+K
 "",. ""2..
 ""2.. ""55]6Gp %\+B3 %
 $$>G $$x~~/E/Eq.IJG $$a0Gr%   c                  s   R  p \         P                  ! R
R7      . RO.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! RR7      . RO.3p\         P                   ! R^^4      pV F  w  r4W#,           pV ! W%4      pK  	  R	# )c                 r   Tr   r   r   r   r   r   ZAtest_auto_date_locator_intmult.<locals>._create_auto_date_locator  s@    ((DA!!#&&(GHr%   r   r   r   r   r   r   r     Nr   z1980-01-01 00:00:00+00:00z2000-01-01 00:00:00+00:00r   z2040-01-01 00:00:00+00:00z2060-01-01 00:00:00+00:00z2080-01-01 00:00:00+00:00z2100-01-01 00:00:00+00:00z2120-01-01 00:00:00+00:00z2140-01-01 00:00:00+00:00z2160-01-01 00:00:00+00:00z2180-01-01 00:00:00+00:00z2200-01-01 00:00:00+00:00)1997-01-01 00:00:00+00:001997-02-01 00:00:00+00:001997-03-01 00:00:00+00:001997-04-01 00:00:00+00:001997-05-01 00:00:00+00:00z1997-06-01 00:00:00+00:00z1997-07-01 00:00:00+00:00z1997-08-01 00:00:00+00:00z1997-09-01 00:00:00+00:00z1997-10-01 00:00:00+00:00z1997-11-01 00:00:00+00:00z1997-12-01 00:00:00+00:00)
r   z1997-01-15 00:00:00+00:00r   z1997-02-15 00:00:00+00:00r   z1997-03-15 00:00:00+00:00r   z1997-04-15 00:00:00+00:00r   z1997-05-15 00:00:00+00:00)r   z1997-01-05 00:00:00+00:00z1997-01-09 00:00:00+00:00z1997-01-13 00:00:00+00:00z1997-01-17 00:00:00+00:00z1997-01-21 00:00:00+00:00z1997-01-25 00:00:00+00:00z1997-01-29 00:00:00+00:00r   z1997-02-05 00:00:00+00:00z1997-02-09 00:00:00+00:00)r   z1997-01-01 04:00:00+00:00z1997-01-01 08:00:00+00:00z1997-01-01 12:00:00+00:00z1997-01-01 16:00:00+00:00z1997-01-01 20:00:00+00:00z1997-01-02 00:00:00+00:00z1997-01-02 04:00:00+00:00z1997-01-02 08:00:00+00:00z1997-01-02 12:00:00+00:00z1997-01-02 16:00:00+00:00)r   z1997-01-01 00:05:00+00:00z1997-01-01 00:10:00+00:00z1997-01-01 00:15:00+00:00z1997-01-01 00:20:00+00:00)	r   z1997-01-01 00:00:05+00:00z1997-01-01 00:00:10+00:00z1997-01-01 00:00:15+00:00z1997-01-01 00:00:20+00:00z1997-01-01 00:00:25+00:00z1997-01-01 00:00:30+00:00z1997-01-01 00:00:35+00:00z1997-01-01 00:00:40+00:00)z 1996-12-31 23:59:59.999500+00:00r   z 1997-01-01 00:00:00.000500+00:00z 1997-01-01 00:00:00.001000+00:00z 1997-01-01 00:00:00.001500+00:00z 1997-01-01 00:00:00.002000+00:00r   r   )r   r   r   r   r   r   rx   ry   r   test_auto_date_locator_intmultr     s    ""2K "",K "",K ""+. "",. ""2..
 ""2.. ""55g;Gz 
		4A	&B$\+B3 %r%   c                  s    \         P                  ! R R7      p \         P                  ! V 4      pRpVP                  VVR\         P                  ,          ,           VR\         P                  ,          ,           .4      pR# )Tr   g    B@ri   i  N)r    r   ConciseDateFormatterZformat_ticksZMUSECONDS_PER_DAY)rx   r   Z	year_1996stringsr5   r    test_concise_formatter_subsecondr   +  se    $$=G++G4II$$C&2222C&2222&4 5Gr%   c                  sd   R  p \         P                   ! R^^4      p\         P                  ! R
R7      \        RR^4       Uu. uF  p\        V4      NK  	  up.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.3pV F  w  rEW,           pV ! W4      pK  	  R	# u upi )c                 s   \         P                  ! 4       w  r#\        P                  ! R R7      p\        P                  ! V4      pVP
                  P                  V4       VP
                  P                  V4       VP                  W4       VP                  P                  4        VP                  4        Uu. uF  qfP                  4       NK  	  ppV# u upi r   r   r9   r    r   r   yaxisr^   ru   rL   r   r   get_yticklabelsr   )r   r   r   r   rx   r   ststs   &&      r   r   Z9test_concise_formatter.<locals>._create_auto_date_locator7  s    ,,.((DA//8	
""7+
$$Y/
E!

')'9'9';<';{{}';<
 =s   8Cr   r       r   r   r   r   Nr   )1997FebMarAprMayJunJulAugSepOctNovDec)
Jan15r   r   r   r   r   r   r   r   )r   05091317212529r   r   r   )zJan-0104:0008:0012:0016:0020:00zJan-02r   r   r   r   )00:0000:0500:1000:1500:20)	r   r   10r   20r   303540)59.5r   00.501.001.502.002.5r   r   r   str)r   r   r   r   r   r   r   r   r   r   test_concise_formatterr
  6  s-   
 
		4A	&B""2!&tT2!67!6AQ!67 "",- "", ""+ "",? ""2.= ""2.I ""1-I3G: %\+B3 %9 8s   D-zt_delta, expectedg{Gz?r   z1997-Jan-01 00:00z1997-Jan-01 00:011997-Jan-011997-Jan-02z1997-Jan   c                 s   \         P                   ! R ^^4      pW ,           p\        P                  ! 4       w  rE\        P                  ! 4       p\        P
                  ! V4      pVP                  P                  V4       VP                  P                  V4       VP                  W#.^ ^ .4       VP                  P                  4        R# )r   N)r   r   r9   r    r   r   rB   r^   ru   r   r   r   )r   r   r   r   r   r   rx   r   r   r   "test_concise_formatter_show_offsetr  g  s     
		4A	&B	BllnGC$$&G++G4IHHw'HH  +GGRHq!fJJOOr%   c                  s   \         P                   ! R ^^4      p V \         P                  ! ^<R7      ,           p\        P                  ! 4       w  r#\        P
                  ! 4       p\        P                  ! V4      pVP                  P                  V4       VP                  P                  V4       VP                  4        VP                  W.^ ^ .4       VP                  P                  4        R# )r   r   N)r   r   r   r9   r    r   r   rB   r^   ru   Zinvert_xaxisr   r   r   )r   r   r   r   rx   r            r   +test_concise_formatter_show_offset_invertedr    s    			4A	&B	h  b)	)BllnGC$$&G++G4IHHw'HH  +OOGGRHq!fJJOOr%   c                  s   \         P                   ! R ^^4      \         P                   ! R^^4      .p ^ ^.p\        P                  ! 4       w  r#VP                  W4       \        P
                  ! 4       p\        P                  ! \        RR7      ;_uu_ 4        VP                  P                  V4       RRR4       VP                  ! V !   R#   + '       g   i     L"; i)rQ   r   zalready has a convertermatchN)r   r   r9   r   r    ZConciseDateConverterr[   r\   r]   rB   Zset_converterrS   )r   yr   r   Zconvr   r   test_concise_converter_staysr    s     
		4A	&(9(9$2(FGA	
AAllnGCGGAM&&(D	k)B	C	C
t$ 
D KKO 
D	Cs   CC	c                  sT   \         P                  ! 4       w  r\        P                  ! R ^^4      pV\        P                  ! RR7      ,           p\        P
                  ! 4       p\        P                  ! V4      pVP                  P                  V4       VP                  P                  V4       VP                  W#.^ ^ .4       V P                  4        VP                  W"\        P                  ! ^R7      ,           4       V P                  4        VP                  V\        P                  ! ^R7      ,           V\        P                  ! ^R7      ,           4       V P                  4        VP                  W"\        P                  ! RR7      ,           4       V P                  4        R# )r   r  r   N)r   r9   r   r   r    r   r   rB   r^   ru   r   r:   rS   )r   r   r   r   rx   r   r  r   test_offset_changesr    s'   llnGC			4A	&B	h  s+	+B$$&G++G4IHHw'HH  +GGRHq!f KK++!445 KKX''a00X''b113 KK++#667 r%   r   r   c                 sL   \         P                   ! R ^^4      pW ,           p\        P                  ! RR7      pVP                  4        VP                  P                  \        P                  ! V4      \        P                  ! V4      4       \        P                  ! VRR7      pR# )r   Tr   r   N)r   r    r   r   r   r   r!   r   )r   r   r   r   rx   r   r   r   test_concise_formatter_usetexr    ss    , 
		4A	&B	B$$=GLL""6??2#68KL++GDAIr%   c                  t  a . ROoV3R lp \         P                   ! R^^4      p\         P                  ! RR7      \        RR^4       Uu. uF  p\        V4      NK  	  up.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R	7      . RO.\         P                  ! ^R	7      . RO.3pV F  w  rEW,           pV ! W4      pK  	  R
# u upi )%Yc                   < \         P                  ! 4       w  r#\        P                  ! R R7      p\        P                  ! VSR7      pVP
                  P                  V4       VP
                  P                  V4       VP                  W4       VP                  P                  4        VP                  4        Uu. uF  qfP                  4       NK  	  ppV# u upi )Tr   )formatsr   )	r   r   r   r   rx   r   r   r   r  	   &&      r   r   ZAtest_concise_formatter_formats.<locals>._create_auto_date_locator  s    ,,.((DA//I	
""7+
$$Y/
E!

')'9'9';<';{{}';<
 =   ;Cr   r   r   r   r   r   r   r   N)r  z%m/%Yzday: %d%H hr %M minr  z	%S.%f secr   )r   02/199703/199704/199705/1997z06/1997z07/1997z08/1997z09/1997z10/1997z11/1997z12/1997)
01/1997day: 15r  r$  r   r$  r!  r$  r"  r$  )r#  day: 05day: 09zday: 13zday: 17zday: 21zday: 25zday: 29r  r%  r&  )zday: 0104 hr 00 min08 hr 00 min12 hr 00 min16 hr 00 minz20 hr 00 minzday: 02r'  r(  r)  r*  )00 hr 00 minz00 hr 05 minz00 hr 10 minz00 hr 15 minz00 hr 20 min)	r+  z05.000000 secz10.000000 secz15.000000 secz20.000000 secz25.000000 secz30.000000 secz35.000000 secz40.000000 sec)z59.500000 secr+  z00.500000 secz01.000000 secz01.500000 secz02.000000 secz02.500000 secr  )	r   r   r   r   r   r   r   r   r  	           @r   test_concise_formatter_formatsr-    sB   <G
 
		4A	&B			(	+eD	r? . ?c!f ? . 				"	% ( 	 
			% ( 	 
			$ ' 	 
		"	% ( 	
 
		B	' *9 	:			B	' * 	
 
		A	& ) 	7
G@ %\+B3 %?.   	D5c                  r  )r  c                 r  )Tr   )zero_formatsr   )	r   r   r   r   rx   r   r   r   r/  r  r   r   ZBtest_concise_formatter_zformats.<locals>._create_auto_date_locator  s    ,,.((DA//,0	
""7+
$$Y/
E!

')'9'9';<';{{}';<
 =r  r   r   r   r   r   r   r   r   N)r  z'%yz%Bz%m-%dz%Sz%S.%fr   )z'97r   r   r   r   r   r   r   r   r   r   r   )
Januaryr   Februaryr   ZMarchr   ZAprilr   r   r   )r0  r   r   r   r   r   r   r   r1  r   r   )z01-01r   r   r   r   r   z01-02r   r   r   r   )00r   r   r   r   )	r2  r   r   r   r   r   r   r   r  )r  z00.0r  r  r  r  r  r  )	r   r   r   r   r   r   r   r   r/  r,  r   test_concise_formatter_zformatsr3    s4   <L 
		4A	&B""2!&tT2!67!6AQ!67 "",> "",6 ""+8 "",A ""2.: ""2.F ""1-H3G: %\+B3 %9 8r.  c                  s   R  p \         P                   ! R^^4      P                  \         P                  P                  R7      p\         P                  ! ^(R7      . R
OR.\         P                  ! ^R7      . ROR.\         P                  ! ^(R7      . ROR.\         P                  ! ^R7      . ROR.3p\         P                  ! \         P                  ! ^R7      4      pV F  w  rEpW,           pV ! WV4      w  rK  	  R	# )c                 s   \         P                  ! 4       w  r4\        P                  ! R R7      p\        P                  ! WRR7      pVP
                  P                  V4       VP
                  P                  V4       VP                  W4       VP                  P                  4        VP                  4        Uu. uF  qwP                  4       NK  	  ppWP
                  P                  4       P                  4       3# u upi )Tr   tz)r   r9   r    r   r   r   r^   ru   rL   r   r   r   r   Zget_offset_text)	r   r   r5  r   r   rx   r   r   r   s	   &&&      r   r   Z<test_concise_formatter_tz.<locals>._create_auto_date_locatorN  s    ,,.((DA//?	
""7+
$$Y/
E!

')'9'9';<';{{}';<HH,,.77999 =s   9C<r   r.   r   r  r   r  r   z1997-Jan-01 03:00N)03:0007:0011:0015:0019:00z23:00r6  r7  r8  r9  r:  )r6  z03:05z03:10z03:15z03:20)	r6  r   r   r   r   r   r   r   r  )r  r6  r  r  r  r  r  )r   replacetimezoneZutcr   )
r   r   r   Znew_tzr   Zexpected_stringsZexpected_offsetr   r   Zoffsets
             r   test_concise_formatter_tzr=  M  s    
: 
		4A	&	.	.h6G6G6K6K	.	LB"",>
 ""2.= ""2.I# ""1-I#G& x11:;F6=2?\3BFC 7>r%   c                  s   R  p \         P                  ! RR7      . RO.\         P                  ! ^4R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^(R7      . RO.\         P                  ! ^R7      . RO.\         P                  ! ^(R7      . RO.3p\        P                  P	                  R4      p\         P                   ! R^^VR7      pV Fh  w  rE\        R	R
/4      ;_uu_ 4        W4,           pV ! W6V4      p\        \        \        \        P                  ! V! 4       VR7      4      4      pRRR4       Kj  	  R#   + '       g   i     K  ; i)c                 s    \         P                  ! R VR7      pVP                  4        VP                  P                  ! \         P
                  ! W.4      !   V# )Tr   r5  r   )r   r   r5  rx   s   &&& r   r   ZDtest_auto_date_locator_intmult_tz.<locals>._create_auto_date_locatorw  sB    ((DRH!!#&&(GHr%   r   r   r   r   r   zCanada/Pacificr   r.   z_internal.classic_modeFr4  Nr   )z1980-01-01 00:00:00-08:00z2000-01-01 00:00:00-08:00z2020-01-01 00:00:00-08:00z2040-01-01 00:00:00-08:00z2060-01-01 00:00:00-08:00z2080-01-01 00:00:00-08:00z2100-01-01 00:00:00-08:00z2120-01-01 00:00:00-08:00z2140-01-01 00:00:00-08:00z2160-01-01 00:00:00-08:00z2180-01-01 00:00:00-08:00z2200-01-01 00:00:00-08:00)1997-01-01 00:00:00-08:001997-02-01 00:00:00-08:001997-03-01 00:00:00-08:001997-04-01 00:00:00-08:001997-05-01 00:00:00-07:00z1997-06-01 00:00:00-07:00z1997-07-01 00:00:00-07:00z1997-08-01 00:00:00-07:00z1997-09-01 00:00:00-07:00z1997-10-01 00:00:00-07:00z1997-11-01 00:00:00-08:00z1997-12-01 00:00:00-08:00)
r?  z1997-01-15 00:00:00-08:00r@  z1997-02-15 00:00:00-08:00rA  z1997-03-15 00:00:00-08:00rB  z1997-04-15 00:00:00-07:00rC  z1997-05-15 00:00:00-07:00)r?  z1997-01-05 00:00:00-08:00z1997-01-09 00:00:00-08:00z1997-01-13 00:00:00-08:00z1997-01-17 00:00:00-08:00z1997-01-21 00:00:00-08:00z1997-01-25 00:00:00-08:00z1997-01-29 00:00:00-08:00r@  z1997-02-05 00:00:00-08:00z1997-02-09 00:00:00-08:00)r?  z1997-01-01 04:00:00-08:00z1997-01-01 08:00:00-08:00z1997-01-01 12:00:00-08:00z1997-01-01 16:00:00-08:00z1997-01-01 20:00:00-08:00z1997-01-02 00:00:00-08:00z1997-01-02 04:00:00-08:00z1997-01-02 08:00:00-08:00z1997-01-02 12:00:00-08:00z1997-01-02 16:00:00-08:00)r?  z1997-01-01 00:05:00-08:00z1997-01-01 00:10:00-08:00z1997-01-01 00:15:00-08:00z1997-01-01 00:20:00-08:00)	r?  z1997-01-01 00:00:05-08:00z1997-01-01 00:00:10-08:00z1997-01-01 00:00:15-08:00z1997-01-01 00:00:20-08:00z1997-01-01 00:00:25-08:00z1997-01-01 00:00:30-08:00z1997-01-01 00:00:35-08:00z1997-01-01 00:00:40-08:00)r   r   rr   r5  gettzr   listmapr	  r    num2date)	r   r   r5  r   r   r   r   rx   r   r   r   !test_auto_date_locator_intmult_tzrH  v  sW    ""0K "",K "",K ""+. "",. ""2..
 ""2..Y3Gj 
		+	,B			4Ab	1B$159::B/;Gc#vwyR@ABB ;: %:::s   AE%%E6zdate_inverted_limit.pngc                  s   \         P                   ! R ^^4      p \         P                   ! R ^^4      p\        P                  ! 4       w  r#VP                  V R^R7       VP	                  V \         P
                  ! ^R7      ,
          V\         P
                  ! ^R7      ,           4       VP                  4        VP                  RR7       R# rV   )r   r   r9   rE   rL   r   Zinvert_yaxisrM   rN   r5   r   test_date_inverted_limitrI    s     
		4B	'B			4B	'BllnGCJJrAJ&KKX''Q//X''Q//1OOT"r%   c           	      s   \         P                  P                  R 4      p\        P                  p\
        P
                  ! R^^^ ^ VR7      p\
        P                  ! ^!^-R7      pVP                  R,          p^pV ! WEVR7      pV! W4      p	R\        P                  ! \        P                  ! R4      4      ,           p
\        V4       Uu. uF  qW,          ,           NK  	  pp\        \        P                  ! V	4      4      pR# u upi )	zEurope/Brusselsi  r.   )r   r   iQ )r   freqperiodsg    p&Ar8   N)rr   r5  rD  r    r2   r   r   r   r!   r   r+   r   rE  )
date_range
tz_convertZBRUSSELSr2   dtstartrk   Zinterval_daysZNZdt_utcZdt_bxlr   r3   Zexpected_ordinalfZactual_ordinalfs   &&            r   _test_date2num_dstrO    s     {{  !23H
**C aQ#>G!!"b9H$$u,M	Aga@F)F	FOOBMM,$?@	@B;@8D8aq0118D6??623O Es   	Dc                  sb   a  ! R  R\         P                   4      oV3R lp R p\        W4       R# )c                   s^   a a ] tR tRt oRtV 3R ltV 3R ltV 3R lt]R 4       t	Rt
VtV ;t# )%test_date2num_dst.<locals>.dt_tzawarei  z
This bug specifically occurs because of the normalization behavior of
pandas Timestamp objects, so in order to replicate it, we need a
datetime-like object that applies timezone normalization after
subtraction.
c                s   < \         SV `  V4      p\        VR R4      pVe#   \        VRR4      pVe   VP                  V4      p\	        V\
        P
                  4      '       d   V P                  V4      pV# )r/   N	normalize)super__sub__getattrrQ  Z
isinstancer   
mk_tzaware)r   otherZrr/   Z	localizer	__class__s   &&   r   rS  Z-test_date2num_dst.<locals>.dt_tzaware.__sub__  so    &AQ$/F!#FK>	(((+A!X..//OOA&Hr%   c                s@   < V P                  \        SV `	  V4      4      # N)rU  rR  __add__)r   rV  rW  s   &&r   rY  Z-test_date2num_dst.<locals>.dt_tzaware.__add__  s    ??57?5#9::r%   c                sD   < \         SV `  V4      pV P                  V4      # rX  )rR  
astimezonerU  )r   r/   r   rW  s   && r   rZ  Z0test_date2num_dst.<locals>.dt_tzaware.astimezone  s!    #F+B??2&&r%   c                sX    / pRpV F  p\        WR4      pVf   K  WRV&   K  	  V ! R/ VB # )r{   N)r{   r|   r}   hourZminuteZsecondr   r/   r   )rT  )ZclsZdatetime_objkwargsZattrsZattrvalr   r   rU  Z0test_date2num_dst.<locals>.dt_tzaware.mk_tzaware   s@    FE l$7?#&4L 
 == r%   r   )r   r   r   r   Z__doc__rS  rY  rZ  ZclassmethodrU  r   r   Z__classcell__)rW  r   s   @@r   
dt_tzawarerP    s2     			;	' 
	! 
	! 	!r%   r^  c                 s~   < SP                  V 4      p\        V4       Uu. uF  qCWA,          ,           NK  	  up# u upi rX  )rU  r   )r   rJ  rK  rN  r3   r^  s   &&&  r   rL  Z%test_date2num_dst.<locals>.date_range  s7    ''..3Gn=n18$$n===s   :c                 sL    V  Uu. uF  q"P                  V4      NK  	  up# u upi rX  )rZ  )Zdt_listr/   Zdr   r   rM  Z%test_date2num_dst.<locals>.tz_convert  s!    .56gV$g666r   N)r   rO  )rL  rM  r^  s     @r   test_date2num_dstr_    s*    .!X&& .!b>7 z.r%   c                 s@   a  V 3R  lp\        S P                  V4       R# )c                  s^   < SP                   P                  ! V !  P                  \        4      # rX  )ZDatetimeIndexrM  astypeZobject)Zargspds   *r   rM  Z,test_date2num_dst_pandas.<locals>.tz_convert$  s%    **D188@@r%   N)rO  rL  )ra  rM  re   r   test_date2num_dst_pandasrb     s    A r}}j1r%   c           	      s   V! R 4      pV ! \         P                   ! R^^^ 4      V4      pV ! \         P                   ! R^^^ 4      V4      p\        P                  ! \        P                  P
                  VR7      pVP                  W44      p\         P                   ! R^^^\        P                  P                  4       R7      \         P                   ! R^^^\        P                  P                  4       R7      .pR# )Australia/Sydneyr   )rJ  rN  r.   N)	r   r    rq   rr   rs   DAILYZbetweenr5  Ztzutc)	attach_tzZget_tzSYDrN  dtendruleZactZexpr   r   _test_rrulewrapperri  *  s    
#
$C))$1a8#>Gh''aA6<EHNN$8$8'JD
,,w
&CT1aHKK4E4E4GHT1aHKK4E4E4GHJCr%   c                  sX   R  p \        V \        P                  P                  4       \        P                  P                  R4      p\        P                  ! R^^^ 4      p\        P                  ! R^^^ 4      p\
        P                  ! \        P                  P                  VWR7      pR# )c                 s&    V P                  VR 7      # )r.   )r;  r   Zzi   &&r   re  Z$test_rrulewrapper.<locals>.attach_tz:  s    zzz$$r%   rc  r   )rJ  rN  r/   ZuntilN)	ri  rr   r5  rD  r   r    rq   rs   rd  )re  rf  rN  rg  rh  r   r   test_rrulewrapperrl  9  s    % y(++"3"34
++

.
/CaA.GdAq!,EHNN$8$8'&)8Dr%   c                  sb    \         P                  ! R 4      p R p\        WP                  4       R# )pytzc                 s$    VP                  V 4      # rX  )localizerj  rk  r   re  Z)test_rrulewrapper_pytz.<locals>.attach_tzS  s    {{2r%   N)r[   importorskipri  r<  )rm  re  r@   r   test_rrulewrapper_pytzrp  N  s'     v&D y--0r%   c            
      sl   \         P                  ! R 4      p V P                  R4      p\        R4       Uu. uFE  pVP	                  \
        P
                  ! R^^4      4      \
        P                  ! V4      ,           NKG  	  pp\        P                  ! RVR7      pVP                  4        VP                  P                  \        P                  ! V^ ,          4      R,
          \        P                  ! VR
,          4      R,           4       \        P                  ! . RO4      pV\        P                  ! \        P                  ! R4      4      ,           p\        P                   P#                  WT! 4       4       . ROp\%        \'        \(        \        P*                  ! V! 4       VR7      4      4      pR	# u upi )rm  zAmerica/New_YorkrQ   rR   Tr>  r
   r8   r4  N)g{ja&Ag{jd&Ag{jtg&Ag{jNj&Ag{j*m&Ag{jp&Ag{jr&A)z2009-01-01 00:00:00-05:00z2010-01-01 00:00:00-05:00z2011-01-01 00:00:00-05:00z2012-01-01 00:00:00-05:00z2013-01-01 00:00:00-05:00z2014-01-01 00:00:00-05:00z2015-01-01 00:00:00-05:00)r[   ro  r<  r   rn  r   r   r    r   r   r   r   r!   r   r   r+   r   r;   rE  rF  r	  rG  )rm  r5  r3   r   rx   r   r   r   r   r   test_yearlocator_pytzrr  Y  sD   v&D	)	*B*/+	7*5Q 
X&&tQ2	3a 
! 
!*5  	7$$DGLL""6??1Q4#8#<#)??1R5#9##=?
 N 	OA 	
FOOBMM,788AJJq'),JH 
c#vwyR89	:B	7s   AF1c            	      s@   R  p \         P                   ! R^^4      p\         P                  ! R	R7      R^R^R^/. R
O.\         P                  ! R	R7      R^R^R^/. RO.\         P                  ! RR7      R^R^	R^/RR..3pV F  w  r4pW,           pV ! W3/ VB pK  	  R# )c                 s    \         P                  ! R/ VB pVP                  4        VP                  P	                  \         P
                  ! V 4      \         P
                  ! V4      4       V# )Nr   )r    ZYearLocatorr   r   r   r!   )r   r   r\  rx   s   &&, r   _create_year_locatorZ.test_YearLocator.<locals>._create_year_locator{  sO    $$.v.!!#&&vu'='-u'=	?r%   r   r   r   r|   r}   z1980-09-25 00:00:00+00:00z2000-09-25 00:00:00+00:00Nr   r   )z1980-05-16 00:00:00+00:00z2000-05-16 00:00:00+00:00z2020-05-16 00:00:00+00:00z2040-05-16 00:00:00+00:00z2060-05-16 00:00:00+00:00z2080-05-16 00:00:00+00:00z2100-05-16 00:00:00+00:00z2120-05-16 00:00:00+00:00z2140-05-16 00:00:00+00:00z2160-05-16 00:00:00+00:00z2180-05-16 00:00:00+00:00z2200-05-16 00:00:00+00:00i  r   )rs  r   r   r   Z	argumentsr   r   rx   r   r   test_YearLocatorrt  z  s     
		4A	&B""2Wa2K ""2Wa3K ""0Wa3,.IJ%G0 '."(Z&r;; '.r%   c                  s   \         P                  ! \        4      ;_uu_ 4        \        P                  ! RR7       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! RR7       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! ^ R7       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! RR7       RRR4       \        P                  ! RR7       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lb; i)r0   rj   Ng?r
   rq  g      )r[   raises
ValueErrorr    r_   r   r%   r   test_DayLocatorrw    s    	z	"	"2& 
#	z	"	"4( 
#	z	"	"1% 
#	z	"	"3' 
#
s# 
#	"	"	"	"	"	"	"s/   D"%D5'E)E"D2	5E	E	E+	c                  sV    \         P                   ! R ^^\        P                  R7      p R# )i  r.   N)r   r    r2   r       r   test_tz_utcrz    s    			4Afjj	9Br%   z	x, tdeltarD   c                 s2    \         P                  ! V 4      pR # rX  )r    Znum2timedelta)r   Ztdeltar   r   r   test_num2timedeltar{    s    
 
		a	 Br%   c                  sV   \         P                  ! R 4      \         P                  ! R4      .p \        P                  ! V 4      p\         P                  ! RR.4      \        P                  ! \         P                  ! R4      4      ,           p\         P
                  P                  W4       R# )ra   z
2001-01-01    H&Ag    J&Ar8   N)r   r+   r    r!   r   r   r   )r   Zdnr   r   r   test_datetime64_in_listr}    sk    
--
%r}}\'B	CB		B	7W%	&	|4	5
6AJJB"r%   c                  s   \         P                  ! R 4      p \        P                  ! 4        \        P                  ! 4        \
        P                  ! \        4      ;_uu_ 4        \        P                  ! R4       RRR4       \        P                  ! 4        \        P                  ! R4       V \         P                  ! R4      ,
          P                  R4      pVP                  R4      p\         P                  P                  \        P                  ! V 4      \        V4      4       \        P                  ! 4        \        P                  ! R4       \         P                  P                  \        P                  ! V 4      R4       \        P                  ! 4        \        P                  ! R4       \         P                  P                  \        P                  ! V 4      VR,
          4       \        P                  ! 4        \        P                  ! R	4       \         P                  P                  \        P                  ! \         P                  ! R
4      4      R4       R#   + '       g   i     EL; i)ra   z
0000-01-01Nr7   datetime64[D]Zintr8   r|  z1970-01-01T01:00:00z1970-01-01T00:00:00z1970-01-01T12:00:00g      ?gUUUUUU?)r   r+   r    r=   Z	get_epochr[   ru  ZRuntimeErrorr>   r`  r   r   r!   Zfloatr;   )dater   r@   r   test_change_epochr    s|   ==&D $$&
	|	$	$ 	& 
%
 $$&
\"
|,
,	4	4_	EB	5	BJJFOOD159=
$$&
\"JJFOOD18<
$$&
*+JJvt4b6kB
$$&
*+JJ&;<=) 
%	$	$s   #I!!I2	c                  s   \         P                  ! R RRR7      p \        P                  ! RR7      p^.VP                  ^&   VP                  4        VP                  P                  \        P                  ! V ^ ,          4      \        P                  ! V R	,          4      4       \        P                  ! \        RR7      ;_uu_ 4        V! 4       pRRR4       R#   + '       g   i     R# ; i)
z
2001-01-10z
2001-03-04r~  r   Fr   zAutoDateLocator was unabler  Nrq  )r   aranger    r   Z	intervaldr   r   r   r!   r[   r\   r]   )r4   rx   Zlocsr   r   test_warn_notintervalsr    s    IIlLHE$$>G3GaLL""6??58#<#)??59#=?	k)E	F	Fy 
G	F	F	Fs   CC*	c                  s   R \         P                  R&   \        P                  ! RRRR7      p \         P                  ! 4       w  rVP                  V \        P                  ! \        V 4      4      4       VP                  P                  4        R\         P                  R&   \         P                  ! 4       w  rVP                  V \        P                  ! \        V 4      4      4       VP                  P                  4        \        P                  ! \        4      ;_uu_ 4        R\         P                  R&   RRR4       R#   + '       g   i     R# ; i)	Zconcisezdate.converterz
2020-01-01
2020-05-01r~  r   rZ   ZbooN)r   r   r   r  r9   r   lenr   r   r[   ru  rv  r4   r   r   r   r   test_change_converterr    s    %.CLL!"IIlLHEllnGCGGE299SZ()JJOO &,CLL!"llnGCGGE299SZ()JJOO 
z	"	").%& 
#	"	"	"s   "E  E	c                  s   R \         P                  R&   \        P                  ! RRRR7      p \         P                  ! 4       w  rVP                  V \        P                  ! \        V 4      4      4       VP                  P                  4        R\         P                  R&   \         P                  ! 4       w  rVP                  V \        P                  ! \        V 4      4      4       VP                  P                  4        R# )Fzdate.interval_multiplesz
2020-01-10r  r~  r   ZTrueN)	r   r   r   r  r9   r   r  r   r   r  r   r   test_change_interval_multiplesr    s    .3CLL*+IIlLHEllnGCGGE299SZ()JJOO /5CLL*+llnGCGGE299SZ()JJOOr%   c                  s   \         P                  ! 4       p V P                  4        R p\        P                  P                  V4      pV P                  R 4       V P                  4        V P                  P                  ! \         P                  ! RR.4      !   V\        P                  R&   \         P                  ! 4       p \        P                  ! \        RR7      ;_uu_ 4        \         P                  ! RR7       RRR4       \        P                  ! \        R	R7      ;_uu_ 4        \         P                  ! ^R7       RRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)
ZIcelandz
2022-01-10z
2022-01-08r<  z Aiceland is not a valid timezoner  ZAicelandr4  Nz%tz must be string or tzinfo subclass.)r    ZDateLocatorr   rr   r5  rD  
set_tzinfor   Zset_data_intervalr!   r   r   r[   ru  rv  Z	TypeError)rx   Ztz_strZ
iceland_tzr   r   test_DateLocatorr    s     "G  F""6*J y! LL""FOO\5A5C %D E  &CLL   "G
 
z)K	L	Lj) 
M	yD
F 
Fa 
F 
F 
M	L
F 
F 
Fs   $E
(E
E	E.	c                  s8    \         P                  ! R ^^
R7      p R# )r-   r   N)r   r  rx  ry  r   test_datestr2numr  E  s    	Dr	2Br%   kwargc                 s    \         P                  ! 4       pV R R./pV  R2p\        P                  ! \        VR7      ;_uu_ 4        \         P
                  ! V3/ VB  RRR4       R#   + '       g   i     R# ; i)r  r  z argument must be a listr  N)r    r   r[   ru  rv  r   )r  rx   r\  r  s   &   r   !test_concise_formatter_exceptionsr  Q  s`     $$&Gb$Z Fg-.E	z	/	/##G6v6 
0	/	/	/s   A''A8	c                  s\    \         P                  ! 4       p \         P                  ! V 4      pR # rX  )r    r   r   )rx   r   r@   r   test_concise_formatter_callr  [  s     $$&G++G4Ir%   c            
      s\   \         P                  ! \        ^^4       U u. uF  p \        P                  ! R^V 4      NK  	  up 4      p\         P                  ! . RO4      p\         P                  P                  V^ 4      p\        P                  ! 4       w  rEVP                  W4       R# u up i )r0   r   N)r0   r   r   i   r   )	r   r   r   r   r1   Zmasked_greaterr   r9   r   )Znr   r  Zmr   r   r  r   test_datetime_maskedr  b  sx     	q!EA(##D!Q/EFA
!A
Q"AllnGCGGAM Fs   !B)r]  c                 s    \         P                  ! \        R V  R2R7      ;_uu_ 4        \        P                  ! V 4       RRR4       R#   + '       g   i     R# ; i)zDate ordinal z	 convertsr  N)r[   ru  rv  r    rG  )r]  r   r   test_num2date_errorr  n  s8    	z=Y)G	H	H 
I	H	H	Hs   A

A	c                  s    R # rX  r   r   r%   r   test_num2date_roundoffr  t  s    r%   c                  s    \         P                  ! \        P                  ! R ^^^ ^ \         P                  R7      4      p \         P                  ! R4      pVP                  R4       R# )r   r.   z%Y-%b-%d %H:%MzPacific/KiritimatiN)r    r!   r   r2   ZDateFormatterr  )r   r   r@   r   test_DateFormatter_settzr  |  sR    ??8,,T1aA4:JJ@ AD$$%56I
 -.r%   )zdatetime64[s]zdatetime64[us]zdatetime64[ms]r   )ZsZmsZusZnsr   )r   $\mathdefault{05}$$\mathdefault{09}$z$\mathdefault{13}$z$\mathdefault{17}$z$\mathdefault{21}$z$\mathdefault{25}$z$\mathdefault{29}$r   r  r  )zJan$\mathdefault{{-}01}$$\mathdefault{04{:}00}$$\mathdefault{08{:}00}$$\mathdefault{12{:}00}$$\mathdefault{16{:}00}$z$\mathdefault{20{:}00}$zJan$\mathdefault{{-}02}$r  r  r  r  )z$\mathdefault{59.5}$z$\mathdefault{00{:}00}$z$\mathdefault{00.5}$z$\mathdefault{01.0}$z$\mathdefault{01.5}$z$\mathdefault{02.0}$z$\mathdefault{02.5}$)r  r/  Zoffset_formats)ii )Wr   Zdateutil.tzrr   Zdateutil.rrulerd   Znumpyr   r[   Z
matplotlibr   r   Zmatplotlib.datesr4   r    Zmatplotlib.pyplotZpyplotr   Zmatplotlib.testing.decoratorsr   Zmatplotlib.tickerZtickerr   r   ZmarkZparametrizer$   r)   r,   r6   rA   rC   rF   rP   rU   rX   rY   r`   rf   rz   r   r   r   r   r   r   r   r   r   r   r   r   r
  r  r  r  r  r  r-  r3  r=  rH  rI  rO  r_  rb  ri  rl  rm  rp  rr  rt  rw  rz  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  )r{   r}   r[  Zminur   s   00000r   <module>r     s         ( !  : #P$  1 1$1aA F!)!2!24Aq!Q!G!)!2!24Aq!Q!G!I #+"3"3D!Q1a"H"*"3"3D!Q1a"H"J"*"3"3D!Q1a"H"*"3"3D!Q1a"H"J!K L M  #5 6*	6M*  #5 60	60 "9: ;
*(',8'( %&'# (# %&' ( %&'# (# %&' (#8 ,-. /.	P 89: ;0"@
K *h'/4T4/DE/Dtd""/DEGR ;@B?K?C)C//?KMb!:?2q/J/$&--/JL#:?2,G,$&--,GI	- 	=	=;@ LJ LJ^ HF HFV6.#b ,%':;"$78a -0Q/a *-b!2&c"B'/ ..0",.(4 ,h'-24r-BC-Bqe##-BCER 45
 b!"# " / *	9+*	94#n1#h&)RC"L ,-.	# /	#0,>/B2* 1 1  @$FN	$ 
 h00a89s8h&8&8a&@&.&8&8c&B&D EFG	G
#@/*?&+!\	L FH7H7I	#  45 6
=	2G! FKJGH Ds   U#U(7U-)U2U7