§
    ‡ÛgZ$  ã                   óF  — d dl m Z mZmZ d dlZd dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZ d dlZd dlZ G d„ d¦  «        Zej        d„ ¦   «         Z ed	gd
 ej        ¦   «         dk    rd nd¬¦  «        d„ ¦   «         Z edgdd
 ej        ¦   «         dk    rd nd¬¦  «        d„ ¦   «         Zd„ Z edgddid
¬¦  «        d„ ¦   «         Z edgddid
¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Z e
dg¬¦  «        d „ ¦   «         Z d!„ Z!d"„ Z"d#„ Z#d$„ Z$ G d%„ d&¦  «        Z%d'„ Z&dS )(é    )ÚdatetimeÚtimezoneÚ	timedeltaN)Ú	MagicMock)Úcheck_figures_equalÚimage_comparison)ÚUnitDatac                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚQuantityc                 ó"   — || _         || _        d S ©N)Ú	magnitudeÚunits)ÚselfÚdatar   s      úQ/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_units.pyÚ__init__zQuantity.__init__   s   € ØˆŒØˆŒ
ˆ
ˆ
ó    c                 ó¬   — dddddddœ}| j         |k    r'|| j         |f         }t          || j        z  |¦  «        S t          | j        | j         ¦  «        S )Ni  g‘?é<   gÓ0�Ó(?é   i€÷  ))ÚhoursÚseconds)Úminutesr   )r   r   )ÚfeetÚmiles)r   Úinches)r   r   )r   r   r   )r   Ú	new_unitsÚfactorsÚmults       r   ÚtozQuantity.to   sj   € Ø)-ÀVØ+-À)Ø')À	ðKð Kˆð Œ:˜Ò"Ð"Ø˜4œ: yÐ0Ô1ˆDÝ˜D 4¤>Ñ1°9Ñ=Ô=Ð=å˜DœN¨D¬JÑ7Ô7Ð7r   c                 ó6   — t          | j        | j        ¦  «        S r   )r   r   r   ©r   s    r   Ú__copy__zQuantity.__copy__   s   € Ý˜œ¨¬
Ñ3Ô3Ð3r   c                 ó,   — t          | j        |¦  «        S r   )Úgetattrr   )r   Úattrs     r   Ú__getattr__zQuantity.__getattr__    s   € Ý�t”~ tÑ,Ô,Ð,r   c                 ó¨   — t          j        | j        ¦  «        r t          | j        |         | j        ¦  «        S t          | j        | j        ¦  «        S r   )ÚnpÚiterabler   r   r   )r   Úitems     r   Ú__getitem__zQuantity.__getitem__#   sC   € ÝŒ;�t”~Ñ&Ô&ð 	8Ý˜DœN¨4Ô0°$´*Ñ=Ô=Ð=å˜DœN¨D¬JÑ7Ô7Ð7r   c                 ó4   — t          j        | j        ¦  «        S r   )r*   Úasarrayr   r#   s    r   Ú	__array__zQuantity.__array__)   s   € ÝŒz˜$œ.Ñ)Ô)Ð)r   N)	Ú__name__Ú
__module__Ú__qualname__r   r!   r$   r(   r-   r0   © r   r   r   r      sn   € € € € € ðð ð ð8ð 8ð 8ð4ð 4ð 4ð-ð -ð -ð8ð 8ð 8ð*ð *ð *ð *ð *r   r   c                  ó¸   — t          j        ¦   «         } d„ }d„ }t          |¬¦  «        | _        t          d„ ¬¦  «        | _        t          |¬¦  «        | _        | S )Nc                 óR  ‡‡— t          | d¦  «        r|                      ‰¦  «        j        S t          j        | ¦  «        r.	 ˆfd„| D ¦   «         S # t
          $ r ˆˆfd„| D ¦   «         cY S w xY wt          | ‰                     ¦   «         ¦  «                             ‰¦  «        j        S )Nr   c                 óD   •— g | ]}|                      ‰¦  «        j        ‘ŒS r4   )r!   r   )Ú.0ÚvÚunits     €r   ú
<listcomp>z7quantity_converter.<locals>.convert.<locals>.<listcomp>8   s&   ø€ Ð<Ð<Ð<°˜Ÿš˜T™
œ
Ô,Ð<Ð<Ð<r   c                 ó„   •— g | ]<}t          |‰                     ¦   «         ¦  «                             ‰¦  «        j        ‘Œ=S r4   )r   Ú	get_unitsr!   r   )r8   r9   Úaxisr:   s     €€r   r;   z7quantity_converter.<locals>.convert.<locals>.<listcomp>:   sN   ø€ ð (ð (ð (Øõ !  D§N¢NÑ$4Ô$4Ñ5Ô5×8Ò8¸Ñ>Ô>ÔHð (ð (ð (r   )Úhasattrr!   r   r*   r+   ÚAttributeErrorr   r=   )Úvaluer:   r>   s    ``r   Úconvertz#quantity_converter.<locals>.convert3   sÞ   øø€ Ý�5˜'Ñ"Ô"ð 		HØ—8’8˜D‘>”>Ô+Ð+ÝŒ[˜ÑÔð 	Hð(Ø<Ð<Ð<Ð<°eÐ<Ñ<Ô<Ð<øÝ!ð (ð (ð (ð(ð (ð (ð (ð (Ø!&ð(ñ (ô (ð (ð (ð (ð(øøøõ ˜E 4§>¢>Ñ#3Ô#3Ñ4Ô4×7Ò7¸Ñ=Ô=ÔGÐGs   ÁA ÁA,Á+A,c                 óœ   — t          | d¦  «        r| j        S t          j        | ¦  «        r | D ]}t          |d¦  «        r	|j        c S Œd S d S )Nr   )r?   r   r*   r+   )rA   r>   r9   s      r   Údefault_unitsz)quantity_converter.<locals>.default_units?   sn   € Ý�5˜'Ñ"Ô"ð 	Ø”;ÐÝŒ[˜ÑÔð 	Øð #ð #�Ý˜1˜gÑ&Ô&ð #Øœ7�N�N�Nð#à�4ð		ð 	r   )Úside_effectc                 ó.   — t          j        | d¬¦  «        S )N©r   éd   )ÚlabelÚdefault_limits)ÚmunitsÚAxisInfo)ÚuÚas     r   ú<lambda>z$quantity_converter.<locals>.<lambda>I   s   € Ý"œO°!ÀHÐMÑMÔMð r   )rK   ÚConversionInterfacer   rB   ÚaxisinforD   )ÚqcrB   rD   s      r   Úquantity_converterrS   -   s„   € õ 
Ô	#Ñ	%Ô	%€Bð
Hð 
Hð 
Hðð ð õ  wÐ/Ñ/Ô/€B„JÝð )Nð )Nð Oñ Oô O€B„Kå ¨]Ð;Ñ;Ô;€BÔØ€Ir   zplot_pint.pngÚmpl20Úx86_64g{®Gáz„?)ÚstyleÚtolc                 ó®  — dt           j        d<   | t          j        t          <   t	          t          j        dd¦  «        d¦  «        }t	          t          j        dd¦  «        d¦  «        }t          j        ¦   «         \  }}|                     d¬	¦  «         | 	                    ||d
¦  «         | 
                    t	          dd¦  «        d¬¦  «         |                     t	          dd¦  «        d¬¦  «         |j                             d¦  «         |j                             d¦  «         | j        j        sJ ‚| j        j        sJ ‚| j        j        sJ ‚d S )N)iùÿÿÿé   zaxes.formatter.limitsr   é   r   é   r   g333333Ã?©Úleftztab:bluei g  r   ztab:red)Úcoloréx   r   z	tab:greenr   r   )ÚpltÚrcParamsrK   Úregistryr   r*   ÚlinspaceÚsubplotsÚsubplots_adjustÚplotÚaxhlineÚaxvlineÚyaxisÚ	set_unitsÚxaxisrB   ÚcalledrQ   rD   )rS   ÚyÚxÚfigÚaxs        r   Útest_numpy_facaderq   Q   s;  € ð -2…C„LÐ(Ñ)ð !3…F„O•HÑõ 	•”˜Q Ñ#Ô# WÑ-Ô-€AÝ•”˜Q Ñ"Ô" GÑ,Ô,€AåŒl‰nŒn�G€CˆØ×Ò˜TÐÑ"Ô"Ð"Ø‡G‚GˆAˆq�*ÑÔÐØ‡J‚J�x˜˜vÑ&Ô&¨i€JÑ8Ô8Ð8Ø‡J‚J�x˜˜YÑ'Ô'¨{€JÑ;Ô;Ð;Ø„H×Ò�xÑ Ô Ð Ø„H×Ò�yÑ!Ô!Ð!àÔ%Ô,Ð,Ð,Ð,ØÔ&Ô-Ð-Ð-Ð-ØÔ+Ô2Ð2Ð2Ð2Ð2Ð2r   zplot_masked_units.pngT)Úremove_textrV   rW   c                  óþ   — t          j        dd¦  «        } t           j                             | | dk    | dk     z  ¬¦  «        }t	          |d¦  «        }t          j        ¦   «         \  }}|                     |¦  «         d S )Néûÿÿÿr[   éþÿÿÿé   )ÚmaskÚmeters)r*   rc   ÚmaÚarrayr   r`   rd   rf   )r   Údata_maskedÚdata_masked_unitsro   rp   s        r   Útest_plot_masked_unitsr}   l   sq   € õ Œ;�r˜1ÑÔ€DÝ”%—+’+˜d¨$°ª)¸¸qºÑ)A�+ÑBÔB€KÝ  ¨hÑ7Ô7ÐåŒl‰nŒn�G€CˆØ‡G‚GÐÑÔÐÐÐr   c                 ó"  — | t           j        t          <   t          j        ¦   «         \  }}|                     t          dd¦  «        t          dd¦  «        ¦  «         |                     t          dd¦  «        t          dd¦  «        ¦  «         d S )Néÿÿÿÿrx   é   r   é   )rK   rb   r   r`   rd   Úset_xlimÚset_ylim)rS   ro   rp   s      r   Ú test_empty_set_limits_with_unitsr„   w   ss   € à 2…F„O•HÑåŒl‰nŒn�G€CˆØ‡K‚K•˜˜XÑ&Ô&­°°HÑ(=Ô(=Ñ>Ô>Ð>Ø‡K‚K•˜˜WÑ%Ô%¥x°°GÑ'<Ô'<Ñ=Ô=Ð=Ð=Ð=r   zjpl_bar_units.pngÚdpir_   )Úsavefig_kwargrV   c                  óÂ  — dd l mc m}  |                      ¦   «          |                      dd¦  «        }d| j        z  d| j        z  d| j        z  g}d|z  d|z  d|z  g}|                      dt          ddd	¦  «        ¬
¦  «        }t          j	        ¦   «         \  }}| 
                    |||¬¦  «         |                     |d|z  z
  ||d         z   d|z  z   g¦  «         d S )Nr   ÚETç     õ@é   rv   é   éÙ  é   é   ©Údt)Úbottomr   çj¼t“ð?)Úmatplotlib.testing.jpl_unitsÚtestingÚ	jpl_unitsÚregisterÚDurationÚkmÚEpochr   r`   rd   Úbarrƒ   ©r   Údayrn   ÚwÚbro   rp   s          r   Útest_jpl_bar_unitsrŸ   €   s÷   € ð 1Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø	‡N‚NÑÔÐà
�.Š.˜Ð1Ñ
2Ô
2€CØ	
ˆUŒX‰�q˜5œ8‘| Q¨¬¡\Ð2€AØ	
ˆS‰�!�c‘'˜1˜s™7Ð#€AØ�Š�D�X d¨A¨rÑ2Ô2ˆÑ3Ô3€AÝŒl‰nŒn�G€CˆØ‡F‚Fˆ1ˆa˜€FÑÔÐØ‡K‚K��Q˜‘W‘˜a ! B¤%™i¨5°C©-Ñ7Ð8Ñ9Ô9Ð9Ð9Ð9r   zjpl_barh_units.pngc                  óÂ  — dd l mc m}  |                      ¦   «          |                      dd¦  «        }d| j        z  d| j        z  d| j        z  g}d|z  d|z  d|z  g}|                      dt          ddd	¦  «        ¬
¦  «        }t          j	        ¦   «         \  }}| 
                    |||¬¦  «         |                     |d|z  z
  ||d         z   d|z  z   g¦  «         d S )Nr   rˆ   r‰   rŠ   rv   r‹   rŒ   r�   rŽ   r�   r\   r   r’   )r“   r”   r•   r–   r—   r˜   r™   r   r`   rd   Úbarhr‚   r›   s          r   Útest_jpl_barh_unitsr¢   �   s÷   € ð 1Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø	‡N‚NÑÔÐà
�.Š.˜Ð1Ñ
2Ô
2€CØ	
ˆUŒX‰�q˜5œ8‘| Q¨¬¡\Ð2€AØ	
ˆS‰�!�c‘'˜1˜s™7Ð#€AØ�Š�D�X d¨A¨rÑ2Ô2ˆÑ3Ô3€AåŒl‰nŒn�G€CˆØ‡G‚GˆAˆq�q€GÑÔÐØ‡K‚K��Q˜‘W‘˜a ! B¤%™i¨5°C©-Ñ7Ð8Ñ9Ô9Ð9Ð9Ð9r   c                  ó|   — t          j        t          j        g d¬¦  «        t          j        g ¦  «        ¦  «         d S )Nzdatetime64[ns]©Údtype)r`   Úscatterr*   rz   r4   r   r   Útest_empty_arraysr§   Ÿ   s2   € å„K•”˜Ð#3Ð4Ñ4Ô4µb´h¸r±l´lÑCÔCÐCÐCÐCr   c                  ó,  — t          j        ddd¬¦  «        } t          j        t          | ¦  «        t          ¬¦  «        }t           j        |d<   t          j        ¦   «         \  }}|                     | |¦  «         |j         	                    ¦   «          d S )Nz2005-02z2005-03zdatetime64[D]r¤   r   )
r*   ÚarangeÚlenÚfloatÚnanr`   rd   r¦   ÚcanvasÚdraw)Útimesrm   ro   rp   s       r   Útest_scatter_element0_maskedr°   ¤   sx   € ÝŒI�i °/ÐBÑBÔB€EÝ
Œ	•#�e‘*”*¥EÐ*Ñ*Ô*€AÝŒ6€A€a�DÝŒl‰nŒn�G€CˆØ‡J‚Jˆu�aÑÔÐØ„J‡O‚OÑÔÐÐÐr   c                  óî   — t          j        d¦  «        } d„ | D ¦   «         }t          j        ¦   «         \  }}|                     | |t          d¬¦  «        ¦  «         |j                             ¦   «          d S )Né
   c                 ó<   — g | ]}t          d d|dz  dz   ¦  «        ‘ŒS )éä  r[   rv   rŠ   )r   ©r8   Úis     r   r;   z-test_errorbar_mixed_units.<locals>.<listcomp>¯   s,   € Ð1Ð1Ð1¨!��$˜˜1˜q™5 1™9Ñ	%Ô	%Ð1Ð1Ð1r   g      à?)Údays)r*   r©   r`   rd   Úerrorbarr   r­   r®   )rn   rm   ro   rp   s       r   Útest_errorbar_mixed_unitsr¹   ­   sj   € Ý
Œ	�"‰Œ€AØ1Ð1¨qÐ1Ñ1Ô1€AÝŒl‰nŒn�G€CˆØ‡K‚K��1•i SÐ)Ñ)Ô)Ñ*Ô*Ð*Ø„J‡O‚OÑÔÐÐÐr   Úpng)Ú
extensionsc                 ó  —  G d„ dt           ¦  «        }|                      ¦   «                               |ddd¦  «        dd¦  «         |                     ¦   «                              t          ddd¦  «        dd¦  «         d S )Nc                   ó   — e Zd ZdS )útest_subclass.<locals>.subdateN)r1   r2   r3   r4   r   r   Úsubdater¾   ·   s   € € € € € Øˆr   r¿   iÐ  rŠ   r   Úo)r   rd   rf   )Úfig_testÚfig_refr¿   s      r   Útest_subclassrÃ   µ   s–   € ðð ð ð ð •(ñ ô ð ð ×ÒÑÔ×Ò˜W˜W T¨1¨aÑ0Ô0°!°SÑ9Ô9Ð9Ø×ÒÑÔ×Ò�H T¨1¨aÑ0Ô0°!°SÑ9Ô9Ð9Ð9Ð9r   c                 óú  — | t           j        t          <   t          t          j        ddd¦  «        d¦  «        }t          t          j        ddd¦  «        d¦  «        }t          t          j        ddd¦  «        d¦  «        }t          j        ddd	d	¬
¦  «        \  }\  }}|                     ||¦  «         |                     ||¦  «         |j         	                    ¦   «         |j         	                    ¦   «         cxk    rdk    sn J ‚|j
         	                    ¦   «         |j
         	                    ¦   «         cxk    rdk    sn J ‚|j                             d¦  «         |j
                             d¦  «         |j         	                    ¦   «         |j         	                    ¦   «         cxk    rdk    sn J ‚|j
         	                    ¦   «         |j
         	                    ¦   «         cxk    rdk    sn J ‚d S )Nr   rŠ   r²   r   rv   r   r‹   r�   Úall©ÚsharexÚshareyr   r   )rK   rb   r   r*   rc   r`   rd   rf   rk   r=   ri   rj   )rS   rn   Úy1Úy2ro   Úax1Úax2s          r   Útest_shared_axis_quantityrÍ   ¾   sÝ  € Ø 2…F„O•HÑÝ•”˜Q  2Ñ&Ô&¨Ñ0Ô0€AÝ	•"”+˜a  BÑ'Ô'¨Ñ	0Ô	0€BÝ	•"”+˜a  BÑ'Ô'¨Ñ	0Ô	0€BÝ”l 1 a°¸eÐDÑDÔD�O€C‰ˆ#ˆsØ‡H‚HˆQ��O„O€OØ‡H‚HˆQ��O„O€OØŒ9×ÒÑ Ô  C¤I×$7Ò$7Ñ$9Ô$9ÐDÐDÒDÐD¸WÒDÐDÐDÐDÐDÐDØŒ9×ÒÑ Ô  C¤I×$7Ò$7Ñ$9Ô$9ÐCÐCÒCÐC¸VÒCÐCÐCÐCÐCÐCØ„I×Ò˜	Ñ"Ô"Ð"Ø„I×Ò˜Ñ!Ô!Ð!ØŒ9×ÒÑ Ô  C¤I×$7Ò$7Ñ$9Ô$9ÐFÐFÒFÐF¸YÒFÐFÐFÐFÐFÐFØŒ9×ÒÑ Ô  C¤I×$7Ò$7Ñ$9Ô$9ÐEÐEÒEÐE¸XÒEÐEÐEÐEÐEÐEÐEÐEr   c                  óÀ  — d„ t          dd¦  «        D ¦   «         } d„ t          dd¦  «        D ¦   «         }t          j        ddd¬¦  «        \  }\  }}|                     | ¦  «         |                     |¦  «         |j                             t          t          d¬	¦  «        ¦  «        ¦  «         |j        j        t          t          d¬	¦  «        ¦  «        k    sJ ‚d S )
Nc                 óH   — g | ]}t          d |dt          j        ¬¦  «        ‘Œ S )r´   rŠ   ©Útzinfo©r   r   Úutcrµ   s     r   r;   z-test_shared_axis_datetime.<locals>.<listcomp>Ð   ó+   € Ð	JÐ	JÐ	J¸�(�4˜˜A¥h¤lÐ
3Ñ
3Ô
3Ð	JÐ	JÐ	Jr   rŠ   é   c                 óH   — g | ]}t          d |dt          j        ¬¦  «        ‘Œ S )iå  rŠ   rÐ   rÒ   rµ   s     r   r;   z-test_shared_axis_datetime.<locals>.<listcomp>Ñ   rÔ   r   rv   T)rÈ   r[   )r   )	Úranger`   rd   rf   ri   rj   r   r   r   )rÉ   rÊ   ro   rË   rÌ   s        r   Útest_shared_axis_datetimerØ   Î   sË   € à	JÐ	J½UÀ1Àb¹\¼\Ð	JÑ	JÔ	J€BØ	JÐ	J½UÀ1Àb¹\¼\Ð	JÑ	JÔ	J€BÝ”l 1 a°Ð5Ñ5Ô5�O€C‰ˆ#ˆsØ‡H‚HˆR�L„L€LØ‡H‚HˆR�L„L€LØ„I×Ò�¥°Ð!3Ñ!3Ô!3Ñ4Ô4Ñ5Ô5Ð5ØŒ9Œ?�h¥y°qÐ'9Ñ'9Ô'9Ñ:Ô:Ò:Ð:Ð:Ð:Ð:Ð:r   c                  óø  — dddœ} dddœ}t          j        dddd¬¦  «        \  }\  }}|                     |                      ¦   «         |                      ¦   «         ¦  «         |                     |                     ¦   «         |                     ¦   «         ¦  «         |j                             t          dd	g¦  «        ¦  «         d|j                             ¦   «         j	                             ¦   «         v sJ ‚d S )
NrŠ   rv   )rN   rž   r‹   r�   TrÆ   ÚcÚd)
r`   rd   rf   ÚkeysÚvaluesrk   rj   r	   r=   Ú_mapping)Úd1Úd2ro   rË   rÌ   s        r   Útest_shared_axis_categoricalrá   Ù   sÚ   € à�qÐ	Ð	€BØ�qÐ	Ð	€BÝ”l 1 a°¸TÐBÑBÔB�O€C‰ˆ#ˆsØ‡H‚HˆR�WŠW‰YŒY˜Ÿ	š	™œÑ$Ô$Ð$Ø‡H‚HˆR�WŠW‰YŒY˜Ÿ	š	™œÑ$Ô$Ð$Ø„I×Ò� # s Ñ,Ô,Ñ-Ô-Ð-Ø�#”)×%Ò%Ñ'Ô'Ô0×5Ò5Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7r   c           
      óV  — | t           j        t          <   t          j        ¦   «         \  }}|j                             t          dgd¦  «        ¦  «         |                     ¦   «          |                     ¦   «         dk    sJ ‚|j	                             t          dgd¦  «        ¦  «         |                     ¦   «          | 
                    ¦   «         dk    sJ ‚t          j        ¦   «         \  }}|                     d¦  «         |                     t          t          j        dd¦  «        d¦  «        t          t          j        ddd¦  «        d	¦  «        ¦  «         |                     ¦   «          |                     ¦   «         d
k    sJ ‚| 
                    ¦   «         dk    sJ ‚t          j        ¦   «         \  }}|                     d¦  «         |                     t          t          j        dd¦  «        d¦  «        t          t          j        ddd¦  «        d	¦  «        ¦  «         |                     ¦   «          |                     ¦   «         dk    sJ ‚| 
                    ¦   «         dk    sJ ‚t          j        ¦   «         \  }}|j                             t          dgd¦  «        ¦  «         |                     d¦  «         |                     ¦   «          |                     ¦   «         dk    sJ ‚| 
                    ¦   «         dk    sJ ‚t          j        ¦   «         \  }}|j	                             t          dgd¦  «        ¦  «         |                     d¦  «         |                     ¦   «          | 
                    ¦   «         dk    sJ ‚|                     ¦   «         dk    sJ ‚d S )Nr²   r   rG   rZ   r   r‹   r€   rv   r   )r   rv   )r   rZ   )r   r�   )g     €<@g     €?@)rK   rb   r   r`   rd   rk   Úupdate_unitsÚdraw_without_renderingÚget_xlimri   Úget_ylimrg   rf   r*   r©   rh   )rS   ro   rË   rp   s       r   Útest_empty_default_limitsrç   ä   s  € Ø 2…F„O•HÑÝŒ|‰~Œ~�H€CˆØ„I×Ò�8 R D¨'Ñ2Ô2Ñ3Ô3Ð3Ø×ÒÑ Ô Ð Ø�<Š<‰>Œ>˜XÒ%Ð%Ð%Ð%Ø„I×Ò�8 R D¨'Ñ2Ô2Ñ3Ô3Ð3Ø×ÒÑ Ô Ð Ø�<Š<‰>Œ>˜XÒ%Ð%Ð%Ð%åŒl‰nŒn�G€CˆØ‡J‚Jˆr�N„N€NØ‡G‚G�H•R”Y˜q !‘_”_ gÑ.Ô.Ý•R”Y˜q ! QÑ'Ô'¨Ñ0Ô0ñ2ô 2ð 2à×ÒÑ Ô Ð Ø�;Š;‰=Œ=˜FÒ"Ð"Ð"Ð"Ø�;Š;‰=Œ=˜GÒ#Ð#Ð#Ð#åŒl‰nŒn�G€CˆØ‡J‚Jˆr�N„N€NØ‡G‚G�H•R”Y˜q !‘_”_ gÑ.Ô.Ý•R”Y˜q ! QÑ'Ô'¨Ñ0Ô0ñ2ô 2ð 2à×ÒÑ Ô Ð Ø�;Š;‰=Œ=˜GÒ#Ð#Ð#Ð#Ø�;Š;‰=Œ=˜FÒ"Ð"Ð"Ð"åŒl‰nŒn�G€CˆØ„H×Ò�( B 4¨Ñ1Ô1Ñ2Ô2Ð2Ø‡J‚Jˆr�N„N€NØ×ÒÑ Ô Ð Ø�;Š;‰=Œ=˜HÒ$Ð$Ð$Ð$Ø�;Š;‰=Œ=˜LÒ(Ð(Ð(Ð(åŒl‰nŒn�G€CˆØ„H×Ò�( B 4¨Ñ1Ô1Ñ2Ô2Ð2Ø‡J‚Jˆr�N„N€NØ×ÒÑ Ô Ð Ø�;Š;‰=Œ=˜HÒ$Ð$Ð$Ð$Ø�;Š;‰=Œ=˜LÒ(Ð(Ð(Ð(Ð(Ð(r   c                   ó0   — e Zd Zd„ Zd„ Zed„ ¦   «         ZdS )ÚKernelc                 ó8   — t          j        |¦  «        | _        d S r   )r*   Ú
asanyarrayÚ_array)r   rz   s     r   r   zKernel.__init__  s   € Ý”m EÑ*Ô*ˆŒˆˆr   c                 ó   — | j         S r   )rì   r#   s    r   r0   zKernel.__array__  s
   € ØŒ{Ðr   c                 ó   — | j         j        S r   )rì   Úshaper#   s    r   rï   zKernel.shape  s   € àŒ{Ô Ð r   N)r1   r2   r3   r   r0   Úpropertyrï   r4   r   r   ré   ré     sM   € € € € € ð+ð +ð +ðð ð ð ð!ð !ñ „Xð!ð !ð !r   ré   c                  óP   — t          g d¢¦  «        } t          j        | ¦  «         d S )N)rŠ   rv   r‹   r�   r[   )ré   r`   rf   )Úkernels    r   Útest_plot_kernelró     s)   € å�O�O�OÑ$Ô$€FÝ„HˆVÑÔÐÐÐr   )'r   r   r   ÚplatformÚunittest.mockr   Úmatplotlib.pyplotÚpyplotr`   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.unitsr   rK   Úmatplotlib.categoryr	   Únumpyr*   Úpytestr   ÚfixturerS   Úmachinerq   r}   r„   rŸ   r¢   r§   r°   r¹   rÃ   rÍ   rØ   rá   rç   ré   ró   r4   r   r   ú<module>rÿ      s  ðØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #à Ð Ð Ð Ð Ð Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ !Ð !Ð !Ð !Ð !Ð !Ø (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ø €€€ð*ð *ð *ð *ð *ñ *ô *ð *ð> „ðð ñ „ððF Ð�?Ð#¨7Ø+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸tðEñ Eô Eð3ð 3ñEô Eð3ð2 ÐÐ*Ð+¸ÀWØ+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸tðEñ Eô Eðð ñEô Eðð>ð >ð >ð ÐÐ&Ð'Ø!&¨ °Gð=ñ =ô =ð
:ð 
:ñ=ô =ð
:ð ÐÐ'Ð(Ø!&¨ °Gð=ñ =ô =ð:ð :ñ=ô =ð:ðDð Dð Dð
ð ð ðð ð ð Ð  Ð(Ñ(Ô(ð:ð :ñ )Ô(ð:ðFð Fð Fð ;ð ;ð ;ð8ð 8ð 8ð&)ð &)ð &)ðT	!ð 	!ð 	!ð 	!ð 	!ñ 	!ô 	!ð 	!ðð ð ð ð r   