+
    i-                     <   ^ RI H t HtHt ^ RIt^ RIHt ^ RIHt ^ RI	H
t
Ht ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIt^ RIt ! R R4      t]P6                  R	 4       t]! R
.R]P:                  ! 4       R8X  d   ^ MRR7      R 4       t]! R.RR]P:                  ! 4       R8X  d   ^ MRR7      R 4       tR t ]! R.R^x/RR7      R 4       t!]! R.R^x/RR7      R 4       t"R t#R t$R t%R t&]
! R .R!7      R" 4       t'R# t(R$ t)R% t*R& t+R' t, ! R( R)4      t-R* t.R+ t/R# ),    )datetimetimezone	timedeltaN)	MagicMock)check_figures_equalimage_comparison)StrCategoryConverterUnitData)DateConverterc                   D   a  ] tR t^t o R tR tR tR tR tR t	Rt
V tR# )	Quantityc                    Wn         W n        R # N	magnitudeunits)selfdatar   s   &&&{/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/matplotlib/tests/test_units.py__init__Quantity.__init__   s    
    c                    RRRRR^<RRR^R	R
/pV P                   V8w  d1   W P                   V3,          p\        W0P                  ,          V4      # \        V P                  V P                   4      # )hoursi  )r   seconds)minutesr   g?)r   r   )feetmilesg0(?)r   inches)r   r   i  )r   r   r   )r   	new_unitsfactorsmults   &&  r   toQuantity.to   sp    '/CV)2/@)%r+>	K ::"::y01DD>>19==DNNDJJ77r   c                B    \        V P                  V P                  4      # r   )r   r   r   r   s   &r   __copy__Quantity.__copy__   s    

33r   c                .    \        V P                  V4      # r   )getattrr   )r   attrs   &&r   __getattr__Quantity.__getattr__"   s    t~~t,,r   c                    \         P                  ! V P                  4      '       d(   \        V P                  V,          V P                  4      # \        V P                  V P                  4      # r   )npiterabler   r   r   )r   items   &&r   __getitem__Quantity.__getitem__%   sD    ;;t~~&&DNN40$**==DNNDJJ77r   c                B    \         P                  ! V P                  4      # r   )r/   asarrayr   r&   s   &r   	__array__Quantity.__array__+   s    zz$..))r   r   N)__name__
__module____qualname____firstlineno__r   r#   r'   r,   r2   r6   __static_attributes____classdictcell____classdict__s   @r   r   r      s(     84-8* *r   r   c                      \         P                  ! 4       p R  pR p\        VR7      V n        \        R R7      V n        \        VR7      V n        V # )c           	      
   \        V R 4      '       d   V P                  V4      P                  # \        P                  ! V 4      '       d,    V  Uu. uF  q3P                  V4      P                  NK  	  up# \        WP                  4       4      P                  V4      P                  # u upi   \
         dL    T  Uu. uF5  p\        Y2P                  4       4      P                  T4      P                  NK7  	  Mu upi upu # i ; i)r   )hasattrr#   r   r/   r0   AttributeErrorr   	get_units)valueunitaxisvs   &&& r   convert#quantity_converter.<locals>.convert5   s    5'""88D>+++[[(6;<eT
,,e<<
 E>>#3477=GGG =! (!&(!&A !NN$4588>HH!&( ((s0   B, #B'2B, 'B, ,D;;C76	DDc                     \        V R 4      '       d   V P                  # \        P                  ! V 4      '       d,   V  F#  p\        VR 4      '       g   K  VP                  u # 	  R# R# )r   N)rB   r   r/   r0   )rE   rG   rH   s   && r   default_units)quantity_converter.<locals>.default_unitsA   sR    5'"";;[[1g&&77N  	  r   )side_effectc                 2    \         P                  ! V RR7      # )r   )labeldefault_limitsr   d   )munitsAxisInfo)uas   &&r   <lambda>$quantity_converter.<locals>.<lambda>K   s    "OO!HMr   )rT   ConversionInterfacer   rI   axisinforL   )qcrI   rL   s      r   quantity_converterr]   /   sP     
	#	#	%B
H w/BJ )N OBK ];BIr   zplot_pint.pngmpl20x86_64gQ?)styletolc                    R\         P                  R&   V \        P                  \        &   \	        \
        P                  ! ^ ^4      R4      p\	        \
        P                  ! ^ ^4      R4      p\         P                  ! 4       w  r4VP                  RR7       VP                  W!R4       VP                  \	        RR4      R	R
7       VP                  \	        ^xR4      RR
7       VP                  P                  R4       VP                  P                  R4       V P                  P                   '       g   Q hV P"                  P                   '       g   Q hV P$                  P                   '       g   Q hR# )   zaxes.formatter.limitsr   r   g333333?leftztab:bluei g  r   ztab:red)colorr   z	tab:greenr   r   N)irc   )pltrcParamsrT   registryr   r/   linspacesubplotssubplots_adjustplotaxhlineaxvlineyaxis	set_unitsxaxisrI   calledr[   rL   )r]   yxfigaxs   &    r   test_numpy_facaderx   S   s    -2CLL() !3FOOH 	Q#W-AQ"G,AllnGCT"GGA*JJxv&iJ8JJxY'{J;HHx HHy!%%,,,,,&&-----++22222r   zplot_masked_units.pngTg{Gz?)remove_textr`   ra   c                      \         P                  ! R^4      p \         P                  P                  W R8  V ^8  ,          R7      p\	        VR4      p\
        P                  ! 4       w  r4VP                  V4       R# )   )maskmetersN)r/   rj   maarrayr   rg   rk   rm   )r   data_maskeddata_masked_unitsrv   rw   s        r   test_plot_masked_unitsr   n   s\     ;;r1D%%++d)q)A+BK h7llnGCGGr   c                     V \         P                  \        &   \        P                  ! 4       w  rVP                  \        RR4      \        ^R4      4       VP                  \        RR4      \        ^R4      4       R# )   r}   r   N)rT   ri   r   rg   rk   set_xlimset_ylim)r]   rv   rw   s   &  r    test_empty_set_limits_with_unitsr   y   sU     2FOOHllnGCKKX&H(=>KKW%xG'<=r   zjpl_bar_units.pngdpi)savefig_kwargr`   c                     ^ RI Hu Hp  V P                  4        V P	                  RR4      p^ V P
                  ,          ^V P
                  ,          ^V P
                  ,          .p^V,          ^V,          ^V,          .pV P                  R\        R^^4      R7      p\        P                  ! 4       w  rVVP                  W#VR7       VP                  V^V,          ,
          WCR,          ,           RV,          ,           .4       R# )	r   NET  dt)bottomjt?     @r   )matplotlib.testing.jpl_unitstesting	jpl_unitsregisterDurationkmEpochr   rg   rk   barr   r   dayru   wbrv   rw   s          r   test_jpl_bar_unitsr      s     10	NN
..1
2C	
UXXq588|Q\2A	
S!c'1s7#ADXdAr23AllnGCFF1FKKQWaB%i5C-789r   zjpl_barh_units.pngc                     ^ RI Hu Hp  V P                  4        V P	                  RR4      p^ V P
                  ,          ^V P
                  ,          ^V P
                  ,          .p^V,          ^V,          ^V,          .pV P                  R\        R^^4      R7      p\        P                  ! 4       w  rVVP                  W#VR7       VP                  V^V,          ,
          WCR,          ,           RV,          ,           .4       R# )	r   Nr   r   r   rd   r   r   r   )r   r   r   r   r   r   r   r   rg   rk   barhr   r   s          r   test_jpl_barh_unitsr      s     10	NN
..1
2C	
UXXq588|Q\2A	
S!c'1s7#ADXdAr23AllnGCGGAqGKKQWaB%i5C-789r   c                  H   ^ RI Hu Hp  V P                  4        \	        R^^4      pV P                  RVR7      p\        P                  P                  V4      P                  VRR4      p\        P                  P                  V4      P                  VRR4      pW48X  g   Q hR# )r   Nr   r   r   )
r   r   r   r   r   r   rT   ri   get_converterrI   )r   r   jpldt_convjpl_convs        r   "test_jpl_datetime_units_consistentr      s    00	NN	$2	B
++dr+
"Coo++B/77D$GG,,S199#tTJHr   c                      \         P                  ! \        P                  ! . R R7      \        P                  ! . 4      4       R# )zdatetime64[ns]dtypeN)rg   scatterr/   r    r   r   test_empty_arraysr      s$    KK#34bhhrlCr   c                  ,   \         P                  ! R RRR7      p \         P                  ! \        V 4      \        R7      p\         P                  V^ &   \
        P                  ! 4       w  r#VP                  W4       VP                  P                  4        R# )z2005-02z2005-03zdatetime64[D]r   N)
r/   arangelenfloatnanrg   rk   r   canvasdraw)timesrt   rv   rw   s       r   test_scatter_element0_maskedr      s\    IIi/BE
		#e*E*A66AaDllnGCJJuJJOOr   c            	      *   \         P                  ! ^
4      p V  Uu. uF  p\        R^V^,          ^,           4      NK   	  pp\        P                  ! 4       w  r4VP                  W\        RR7      4       VP                  P                  4        R# u upi )
     g      ?)daysN)	r/   r   r   rg   rk   errorbarr   r   r   )ru   irt   rv   rw   s        r   test_errorbar_mixed_unitsr      sg    
		"A/01q!$1q519	%qA1llnGCKKiS)*JJOO 	2s   $Bpng)
extensionsc                      ! R  R\         4      pV P                  4       P                  V! R^^4      ^ R4       VP                  4       P                  \        R^^4      ^ R4       R# )c                       ] tR t^tRtR# )test_subclass.<locals>.subdater   N)r8   r9   r:   r;   r<   r   r   r   subdater      s    r   r   i  oN)r   rk   rm   )fig_testfig_refr   s   && r   test_subclassr      sX    (  WT1a0!S9HT1a0!S9r   c                    V \         P                  \        &   \        \        P                  ! ^ ^^
4      R4      p\        \        P                  ! ^^^
4      R4      p\        \        P                  ! ^^^
4      R4      p\
        P                  ! ^^RRR7      w  pw  rVVP                  W4       VP                  W4       VP                  P                  4       VP                  P                  4       u;8X  d	   R8X  g   Q h Q hVP                  P                  4       VP                  P                  4       u;8X  d	   R8X  g   Q h Q hVP                  P                  R4       VP                  P                  R4       VP                  P                  4       VP                  P                  4       u;8X  d	   R8X  g   Q h Q hVP                  P                  4       VP                  P                  4       u;8X  d	   R8X  g   Q h Q hR# )r   r   r   allsharexshareyr   r   N)rT   ri   r   r/   rj   rg   rk   rm   rr   rD   rp   rq   )r]   ru   y1y2rv   ax1ax2s   &      r   test_shared_axis_quantityr      s{    2FOOHQ2&0A	"++aB'	0B	"++aB'	0Bll1aeDOC#HHQOHHQO99 CII$7$7$9DWDDDDD99 CII$7$7$9CVCCCCCII	"II!99 CII$7$7$9FYFFFFF99 CII$7$7$9EXEEEEEr   c            
      .   \        ^^4       U u. uF   p \        RV ^\        P                  R7      NK"  	  pp \        ^^4       U u. uF   p \        RV ^\        P                  R7      NK"  	  pp \        P
                  ! ^^RR7      w  pw  rEVP                  V4       VP                  V4       VP                  P                  \        \        ^R7      4      4       VP                  P                  \        \        ^R7      4      8X  g   Q hR# u up i u up i )r   r   )tzinfoi  T)r   )r   N)ranger   r   utcrg   rk   rm   rp   rq   r   r   )r   r   r   rv   r   r   s         r   test_shared_axis_datetimer      s    =B1b\	J\(4Ahll
3\B	J=B1b\	J\(4Ahll
3\B	Jll1a5OC#HHRLHHRLII!34599??hyq'9:::: 
K	Js   &D&Dc                     R ^R^/p R ^R^/p\         P                  ! ^^RRR7      w  pw  r4VP                  V P                  4       V P	                  4       4       VP                  VP                  4       VP	                  4       4       VP
                  P                  \        RR.4      4       RVP
                  P                  4       P                  P                  4       9   g   Q hR# )rW   r   Tr   cdN)
rg   rk   rm   keysvaluesrr   rq   r
   rD   _mapping)d1d2rv   r   r   s        r   test_shared_axis_categoricalr      s    
q#q	B
q#q	Bll1aTBOC#HHRWWY		$HHRWWY		$II#s,-#))%%'00557777r   c                  n   R ^R^/p \        4       p\        4       p\        4       p\        P                  ! 4       w  rEVP                  P                  V4       VP                  P                  4       V8X  g   Q hVP                  V P                  4       V P                  4       4       VP                  P                  4       V8X  g   Q hVP                  P                  V4       \        P                  ! \        4      ;_uu_ 4        VP                  P                  V4       RRR4       \        P                  ! 4       w  rgVP                  V P                  4       V P                  4       4       VP                  P                  V4       \        P                  ! 4       w  rV	P                  V P                  4       V P                  4       4       \        P                  ! 4       ;_uu_ 4        V	P                  P                  V4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)rW   r   N)r	   r   rg   rk   rr   set_converterr   rm   r   r   pytestraisesRuntimeErrorwarns)
r   str_cat_converterstr_cat_converter_2date_converterfig1r   fig2r   fig3ax3s
             r   test_explicit_converterr      su   
q#q	B,..0"_N IDII-.99""$(9999HHRWWY		$99""$(9999II-.	|	$	$		 34 
% IDHHRWWY		$ II-.IDHHRWWY		$ 
		/ 
 
%	$ 
s   H*H#H 	#H4	c           
         V \         P                  \        &   \        P                  ! 4       w  rVP
                  P                  \        ^
.R4      4       VP                  4        VP                  4       R8X  g   Q hVP                  P                  \        ^
.R4      4       VP                  4        VP                  4       R8X  g   Q h\        P                  ! 4       w  rVP                  ^4       VP                  \        \        P                  ! ^ ^4      R4      \        \        P                  ! ^ ^^4      R4      4       VP                  4        VP                  4       R8X  g   Q hVP                  4       R8X  g   Q h\        P                  ! 4       w  rVP                  ^4       VP                  \        \        P                  ! ^ ^4      R4      \        \        P                  ! ^ ^^4      R4      4       VP                  4        VP                  4       R8X  g   Q hVP                  4       R8X  g   Q h\        P                  ! 4       w  rVP
                  P                  \        ^
.R4      4       VP                  ^4       VP                  4        VP                  4       R8X  g   Q hVP                  4       R8X  g   Q h\        P                  ! 4       w  rVP                  P                  \        ^
.R4      4       VP                  ^4       VP                  4        VP                  4       R8X  g   Q hVP                  4       R8X  g   Q hR# )	r   r   r   NrR   )r      )r      )r      )g     <@g     ?@)rT   ri   r   rg   rk   rr   update_unitsdraw_without_renderingget_xlimrp   get_ylimrn   rm   r/   r   ro   )r]   rv   r   rw   s   &   r   test_empty_default_limitsr     se    2FOOH||~HCII8RD'23 <<>X%%%II8RD'23 <<>X%%%llnGCJJrNGGHRYYq!_g.RYYq!Q'02 ;;=F""";;=G###llnGCJJrNGGHRYYq!_g.RYYq!Q'02 ;;=G###;;=F"""llnGCHH(B412JJrN ;;=H$$$;;=L(((llnGCHH(B412JJrN ;;=H$$$;;=L(((r   c                   @   a  ] tR tRt o R tRR lt]R 4       tRtV t	R# )Kerneli<  c                <    \         P                  ! V4      V n        R # r   )r/   
asanyarray_array)r   r   s   &&r   r   Kernel.__init__=  s    mmE*r   Nc                &   VeM   WP                   P                  8w  d3   Ve/   V'       g'   \        RV P                   P                   RV R24      h\        P                  ! V P                   VR7      pV'       g   V# \        P
                  ! V4      # )NzConverting array from z to z requires a copyr   )r   r   
ValueErrorr/   r5   copy)r   r   r  arrs   &&& r   r6   Kernel.__array__@  sx    ++*;*;!; ,T[[->->,?tg-/ 
 jjE22RWWS\2r   c                .    V P                   P                  # r   )r   shaper&   s   &r   r  Kernel.shapeK  s    {{   r   )r   )NN)
r8   r9   r:   r;   r   r6   propertyr  r<   r=   r>   s   @r   r   r   <  s#     +	3 ! !r   r   c                  L    \        . RO4      p \        P                  ! V 4       R# )r   N)r   r      r   r{   )r   rg   rm   )kernels    r   test_plot_kernelr  P  s    O$FHHVr   c           	      *   \         P                  ! ^RR7      w  pw  r#V P                  R4      pVP                  V4       RpVP	                  V4       \
        P                  ! V^ 3^ V3RRW#R7      pVP                  V4       VP                  4        R# )r   )nrowsfigsizez2017-01-01T12z	test testr   )coordsAcoordsBaxesAaxesBN)r   r{   )	rg   rk   	Timestampro   rn   mpatchesConnectionPatch
add_artistr   )pdrv   r   r   ru   rt   r  s   &      r   test_connection_patch_unitsr  V  s    llG<OC#
_%AKKNAKKN

"
"Aq6Aq6+16),9C NN3 r   )0r   r   r   platformunittest.mockr   matplotlib.pyplotpyplotrg   matplotlib.testing.decoratorsr   r   matplotlib.patchespatchesr  matplotlib.unitsr   rT   matplotlib.categoryr	   r
   matplotlib.datesr   numpyr/   r   r   fixturer]   machinerx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   <module>r'     sr   2 2  #  O % ! > *  * *>  F ?#7#++-9atE3E32 *+W#++-9atEE> &'!&G=
:=
: '(!&G=:=:D
 (: ):F ;80B&)T! !(!r   