Ë
    ¨eh
9  ã                   ó@  — d dl Z d dlZd dlZd dlZd dlmZ d dlZd dlZd dl	Z
d dl	mZmZmZ d dlmZ d dlmZ d dlmZmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZm Z  d dl!m"Z"  e dg«      d„ «       Z#ejH                  jK                  dddg«      ejH                  jK                  dddg«      d„ «       «       Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0e"d„ «       Z1d „ Z2 e d!g«      d"„ «       Z3 e d#g«      d$„ «       Z4e
jj                  jm                  d%«       ed&d'g¬(«      d)„ «       «       Z7e"d*„ «       Z8d+„ Z9 e d,g«      d-„ «       Z:d.„ Z; e d/gd0¬1«      d2„ «       Z< e d3gd4¬1«      d5„ «       Z=ejH                  jK                  d6d7d8g«      d9„ «       Z> e d:g«      d;„ «       Z?y)<é    N)ÚPath)ÚpyplotÚrcParamsÚfont_manager)Ú_get_data_path)ÚFT2Font)ÚfindfontÚFontProperties)Úget_glyphs_subsetÚfont_as_file)ÚPdfPages)Ú	Rectangle)Úcheck_figures_equalÚimage_comparison)Úneeds_usetexzpdf_use14corefonts.pdfc                  ó  — dt         d<   dt         d<   dt         d<   dgt         d<   d	t         d
<   d} t        j                  «       \  }}|j                  d«       |j	                  dd| ddd¬«       |j                  dd¬«       y )NTzpdf.use14corefontsz
sans-serifzfont.familyé   z	font.sizeÚ	Helveticazfont.sans-serifr   úpdf.compressionu�   A three-line text positioned just above a blue line
and containing some French characters and the euro symbol:
"Merci pÃ©pÃ© pour les 10 â‚¬"z0Test PDF backend with option use14corefonts=Trueg      à?ÚcenterÚbottomé   )ÚhorizontalalignmentÚverticalalignmentÚfontsize)Ú	linewidth)r   ÚpltÚsubplotsÚ	set_titleÚtextÚaxhline)r    ÚfigÚaxs      ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_backend_pdf.pyÚtest_use14corefontsr%      s�   € à%)„HÐ!Ñ"Ø*„Hˆ]ÑØ„Hˆ[ÑØ#. -„HÐÑØ"#„HÐÑð"€Dô �l‰l‹n�G€CˆØ‡L�LÐCÔDØ‡G�GˆC��d°Ø&Øð ô ð ‡J�Jˆs˜c€JÕ"ó    zfontname, fontfile)úDejaVu SanszDejaVuSans.ttf)úWenQuanYi Zen Heiúwqy-zenhei.ttcÚfonttypeé   é*   c                 ód  — t        t        t        | g¬«      «      «      j                  |k7  rt	        j
                  d| ›d�«       |t        d<   t        j                  «       \  }}|j                  g d¢«       |j                  d| ¬«       |j                  t        j                  «       d¬	«       y )
N©ÚfamilyúFont ú may be missingúpdf.fonttype©é   é   r+   z
Axes Title)ÚfontÚpdf©Úformat)r   r	   r
   ÚnameÚpytestÚskipr   r   r   Úplotr   ÚsavefigÚioÚBytesIO)ÚfontnameÚfontfiler*   r"   r#   s        r$   Útest_embed_fontsrC   ,   sƒ   € ô ŒH”^¨H¨:Ô6Ó7Ó8×=Ñ=ÀÒIÜ�‰�e˜H˜< Ð7Ô8à'„Hˆ^ÑÜ�l‰l‹n�G€CˆØ‡G�GŠIÔØ‡L�L� H€LÔ-Ø‡K�K”—
‘
“ U€KÕ+r&   c                  ó‚  — t        t        j                  «       «      5 } | j                  «       dk(  sJ ‚t	        j
                  «       \  }}|j                  g d¢«       |j                  | d¬«       | j                  «       dk(  sJ ‚| j                  «        | j                  «       dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   r3   r7   r8   r4   r5   )r   r?   r@   Úget_pagecountr   r   r=   r>   )r7   r"   r#   s      r$   Útest_multipage_pagecountrF   <   s    € Ü	”"—*‘*“,Ó	ð ( 3Ø× Ñ Ó" aÒ'Ð'Ð'Ü—,‘,“.‰ˆˆRØ
�‰’	ÔØ�‰�C ˆÔ&Ø× Ñ Ó" aÒ'Ð'Ð'Ø�‰ŒØ× Ñ Ó" aÒ'Ð'Ñ'÷(÷ (ñ (ús   žBB5Â5B>c                  óp  — t        j                  «       } t        | «      5 }t        d«      D ]=  }t	        j
                  «       \  }}|j                  d«       |j                  |d¬«       Œ? 	 d d d «       | j                  «       }|j                  d«      dk(  sJ ‚t        |«      dk  sJ ‚y # 1 sw Y   Œ@xY w)Né
   zThis is a long titler7   r8   s	   startxrefr4   i@œ  )r?   r@   r   Úranger   r   r   r>   ÚgetvalueÚcountÚlen)Úpdfior7   Úir"   r#   Úss         r$   Útest_multipage_properfinalizerP   G   sŸ   € Ü�J‰J‹L€EÜ	�%‹ð +˜CÜ�r“ò 	+ˆAÜ—l‘l“n‰GˆC�Ø�L‰LÐ/Ô0Ø�K‰K˜ EˆKÕ*ñ	+÷+ð
 	�‰Ó€AØ�7‰7�<Ó  AÒ%Ð%Ð%Üˆq‹6�EŠ>Ð‰>÷+ð +ús    AB,Â,B5c                 ó(  — | dz  }t        |«      5 }	 d d d «       |j                  «       rJ ‚| dz  }t        |«      5 }|j                  t        j                  «       «       d d d «       |j                  «       sJ ‚y # 1 sw Y   ŒjxY w# 1 sw Y   Œ(xY w)Nza.pdfzb.pdf)r   Úexistsr>   r   Úfigure)Útmp_pathÚfnr7   s      r$   Útest_multipage_keep_emptyrV   S   s…   € à	�GÑ	€BÜ	�"‹ð ˜Ø÷à�y‰yŒ{Ðˆ?ð 
�GÑ	€BÜ	�"‹ð "˜Ø�‰”C—J‘J“LÔ!÷"à�9‰9Œ;Ð‰;÷ð ú÷"ð "ús   ‘A<½$BÁ<BÂBc                  ó`  — t        j                  t        j                  ddd«      t        j                  ddd«      «      \  } }t        j                  |dz  «      }t	        j
                  «       \  }}|j                  dd«       |j                  |g d¢¬«       |j                  |d d d	…   g d
¢¬«       dt        j                  d<   t        t        j                  «       «      5 }|j                  |d¬«       t        |j                  j                  «      dk(  sJ ‚	 d d d «       dt        j                  d<   t        t        j                  «       «      5 }|j                  |d¬«       t        |j                  j                  «      dk(  sJ ‚	 d d d «       y # 1 sw Y   Œ{xY w# 1 sw Y   y xY w)Néûÿÿÿé   r4   r5   r   r+   )r   r4   r   r4   )Úextentéÿÿÿÿ)r5   r+   r   r4   Tzimage.composite_imager7   r8   F)ÚnpÚmeshgridÚarangeÚsinr   r   Úset_xlimÚimshowr   r   r?   r@   r>   rL   Ú_fileÚ_images)ÚXÚYÚZr"   r#   r7   s         r$   Útest_composite_imagerg   a   sQ  € ô �;‰;”r—y‘y  Q¨Ó*¬B¯I©I°b¸!¸QÓ,?Ó@�D€A€qÜ
�‰ˆq�A‰v‹€AÜ�l‰l‹n�G€CˆØ‡K�K��1ÔØ‡I�Iˆaš€IÔ%Ø‡I�Iˆa‘�"�‰gšl€IÔ+Ø,0„C‡L�LÐ(Ñ)Ü	”"—*‘*“,Ó	ð + 3Ø�‰�C ˆÔ&Ü�3—9‘9×$Ñ$Ó%¨Ò*Ð*Ñ*÷+ð -2„C‡L�LÐ(Ñ)Ü	”"—*‘*“,Ó	ð + 3Ø�‰�C ˆÔ&Ü�3—9‘9×$Ñ$Ó%¨Ò*Ð*Ñ*÷+ð +÷	+ð +ú÷+ð +ús   Ã%8FÅ8F$ÆF!Æ$F-c                  óü  — t        j                  d«      } t        j                  dt        j                  ¬«      }t        j
                  d«      |d d …ddf<   dt        d<   t        j                  «       }|j                  |d¬«       t        j                  «       }|j                  |d	d
¬«       | j                  j                  |«      5 }|j                  \  }|j                   j#                  «       \  }| j%                  |«      }|j&                  sJ ‚|j)                  «       }t        j*                  |j-                  d«      «      }	d d d «       t        j.                  j1                  |	«       y # 1 sw Y   Œ*xY w)NÚpikepdf)é   r4   r+   )Údtyperj   r   Tr   )Úresizer7   rS   )r9   ÚdpiÚRGB)r;   Úimportorskipr\   ÚzerosÚuint8r^   r   r   rS   Úfigimager?   r@   r>   ÚPdfÚopenÚpagesÚimagesÚvaluesÚPdfImageÚindexedÚas_pil_imageÚasarrayÚconvertÚtestingÚassert_array_equal)
ri   Údatar"   Úbufr7   ÚpageÚimageÚ	pdf_imageÚ	pil_imageÚrgbs
             r$   Útest_indexed_imager†   t   s$  € ä×!Ñ! )Ó,€Gä�8‰8�K¤r§x¡xÔ0€DÜ—I‘I˜c“N€DŠˆAˆqˆ�Mà"&„HÐÑÜ
�*‰*‹,€CØ‡L�L�˜d€LÔ#Ü
�*‰*‹,€CØ‡K�K�˜E x€KÔ0à	�‰×	Ñ	˜#Ó	ð 3 #Ø—	‘	‰ˆØ—‘×#Ñ#Ó%‰ˆØ×$Ñ$ UÓ+ˆ	Ø× Ò Ð Ð Ø×*Ñ*Ó,ˆ	Ü�j‰j˜×*Ñ*¨5Ó1Ó2ˆ÷3ô ‡J�J×!Ñ! $¨Õ,÷3ð 3ús   ÃA>E2Å2E;c                 óÐ  — t        j                  d«      }| j                  dd«       t        j                  «       \  }}|j                  t        d«      «       ddddt        j                  d	d
dt        j                  t        j                  d«      «      ¬«      ddœ}t        j                  «       }|j                  ||d¬«       |j                  j                  |«      5 }|j                  j!                  «       D ��ci c]  \  }}|t#        |«      “Œ }	}}d d d «       	dddt$        j&                  › d�dddt$        j&                  › �ddddœ	k(  sJ ‚y c c}}w # 1 sw Y   ŒDxY w)Nri   ÚSOURCE_DATE_EPOCHÚ0rY   ÚmeúMultipage PDFú	Test pageútest,pdf,multipageé°  r   r4   r   ©ÚtzinfoÚTrue©ÚAuthorÚTitleÚSubjectÚKeywordsÚModDateÚTrappedr7   )Úmetadatar9   úD:19700101000000ZúMatplotlib vú, https://matplotlib.orgúD:19680801000000ZúMatplotlib pdf backend vú/True©	z/Authorz/CreationDatez/Creatorz	/Keywordsz/ModDatez	/Producerz/Subjectz/Titlez/Trapped)r;   ro   Úsetenvr   r   r=   rI   ÚdatetimeÚtimezoneÚ	timedeltar?   r@   r>   rs   rt   ÚdocinfoÚitemsÚstrÚmplÚ__version__©
Úmonkeypatchri   r"   r#   Úmdr€   r7   ÚkÚvÚinfos
             r$   Útest_savefig_metadatar°   Œ   sP  € Ü×!Ñ! )Ó,€GØ×ÑÐ*¨CÔ0ä�l‰l‹n�G€CˆØ‡G�GŒE�!‹HÔð Ø ØØ(Ü×$Ñ$Ø�!�Qœx×0Ñ0´×1CÑ1CÀAÓ1FÓGôIàñ
€Bô �*‰*‹,€CØ‡K�K�˜b¨€KÔ/à	�‰×	Ñ	˜#Ó	ð ; #Ø&)§k¡k×&7Ñ&7Ó&9×:™d˜a �”3�q“6‘	Ð:ˆÑ:÷;ð ØØ,Ø"¤3§?¡?Ð"3Ð3KÐLØ)Ø'Ø/´·±Ð/@ÐAØØ!Øñ
ò 
ð 
ñ 
ùó ;÷;ð ;ús   Ã"EÄ EÄEÅEÅE%c                  óò  — t        j                  «       \  } }t        j                  t        d¬«      5  | j                  t        j                  «       dddi¬«       d d d «       t        j                  t        d¬«      5  | j                  t        j                  «       ddd	i¬«       d d d «       t        j                  t        d
¬«      5  | j                  t        j                  «       dddi¬«       d d d «       t        j                  t        d¬«      5  | j                  t        j                  «       dddi¬«       d d d «       y # 1 sw Y   ŒîxY w# 1 sw Y   Œ®xY w# 1 sw Y   ŒnxY w# 1 sw Y   y xY w)Nz#Unknown infodict keyword: 'foobar'.)Úmatchr7   ÚfoobarÚinvalid)r9   r™   z%not an instance of datetime.datetime.r—   z
1968-08-01z'not one of {"True", "False", "Unknown"}r˜   Úfooznot an instance of str.r”   iÒ  )r   r   r;   ÚwarnsÚUserWarningr>   r?   r@   ©r"   r#   s     r$   Útest_invalid_metadatar¹   ¯   s;  € Ü�l‰l‹n�G€Cˆä	�‰”kØAô
Cñ Pà�‰”B—J‘J“L¨¸(ÀIÐ9NˆÔO÷Pô 
�‰”kØCô
Eñ 8à�‰”B—J‘J“L¨Ø'¨Ð6ð 	ô 	8÷8ô
 
�‰”kØEô
Gñ Mà�‰”B—J‘J“L¨¸)ÀUÐ9KˆÔL÷Mô 
�‰”kÐ)BÔ	Cñ JØ�‰”B—J‘J“L¨¸'À4¸ˆÔI÷Jð J÷Pð Pú÷8ð 8ú÷
Mð Mú÷Jð Jús/   ³)E	Á?)EÃ)E!Ä)E-Å	EÅEÅ!E*Å-E6c                 ó0  — t        j                  d«      }| j                  dd«       t        j                  «       \  }}|j                  t        d«      «       ddddt        j                  d	d
dt        j                  t        j                  d«      «      ¬«      ddœ}t        j                  «       }t        ||¬«      5 }|j                  |«       |j                  |«       d d d «       |j                  j                  |«      5 }|j                   j#                  «       D ��ci c]  \  }}|t%        |«      “Œ }	}}d d d «       	dddt&        j(                  › d�dddt&        j(                  › �ddddœ	k(  sJ ‚y # 1 sw Y   Œ˜xY wc c}}w # 1 sw Y   ŒPxY w)Nri   rˆ   r‰   rY   rŠ   r‹   rŒ   r�   rŽ   r   r4   r   r�   r‘   r’   )r™   rš   r›   rœ   r�   rž   rŸ   r    )r;   ro   r¡   r   r   r=   rI   r¢   r£   r¤   r?   r@   r   r>   rs   rt   r¥   r¦   r§   r¨   r©   rª   s
             r$   Útest_multipage_metadatar»   Ã   sx  € Ü×!Ñ! )Ó,€GØ×ÑÐ*¨CÔ0ä�l‰l‹n�G€CˆØ‡G�GŒE�!‹HÔð Ø ØØ(Ü×$Ñ$Ø�!�Qœx×0Ñ0´×1CÑ1CÀAÓ1FÓGôIàñ
€Bô �*‰*‹,€CÜ	�# Ô	#ð  sØ�‰�CÔØ�‰�CÔ÷ð 
�‰×	Ñ	˜#Ó	ð ; #Ø&)§k¡k×&7Ñ&7Ó&9×:™d˜a �”3�q“6‘	Ð:ˆÑ:÷;ð ØØ,Ø"¤3§?¡?Ð"3Ð3KÐLØ)Ø'Ø/´·±Ð/@ÐAØØ!Øñ
ò 
ð 
ñ 
÷ð üó
 ;÷;ð ;ús*   Ã #E:ÄFÄ$FÄ:FÅ:FÆFÆFc                  óˆ  ‡‡— t        j                  d«      } dŠt        j                  d¬«      }|j	                  ddd‰› d�¬«       |j	                  dd	d
‰› d�¬«       t        j                  «       5 }|j                  |d¬«       | j                  j                  |«      5 }|j                  d   j                  }dD ]X  \  }Št        ˆˆfd„|D «       d «      }|€J ‚t        |dd «      �J ‚|j                  d   t        j                   |«      dz  k(  rŒXJ ‚ 	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nri   ú&https://test_text_urls.matplotlib.org/©r5   r4   ©Úfigsizeçš™™™™™¹?ztest plain 123Úplain)Úurlgš™™™™™Ù?ztest mathtext $123$Úmathtextr7   r8   r   ))z0.1rÂ   )z0.4rÄ   c              3   ó^   •K  — | ]$  }|j                   j                  ‰› ‰› �k(  sŒ!|–— Œ& y ­w©N©ÚAÚURI)Ú.0ÚaÚfragmentÚtest_urls     €€r$   ú	<genexpr>z!test_text_urls.<locals>.<genexpr>û   s)   øè ø€ ÒM˜1¨!¯#©#¯'©'¸°zÀ(ÀÐ5LÓ*L”QÑMùs   ƒ"-¦-Ú
QuadPointsr4   éH   )r;   ro   r   rS   r    r?   r@   r>   rs   rt   ru   ÚAnnotsÚnextÚgetattrÚRectÚdecimalÚDecimal)	ri   r"   Úfdr7   ÚannotsÚyÚannotrÌ   rÍ   s	          @@r$   Útest_text_urlsrÛ   è   sL  ù€ Ü×!Ñ! )Ó,€Gà7€Hä
�*‰*˜VÔ
$€CØ‡H�HˆS�#Ð'°¨z¸Ð-?€HÔ@Ø‡H�HˆS�#Ð,°X°J¸hÐ2G€HÔHä	�‰‹ð @˜Ø�‰�B˜uˆÔ%à�[‰[×Ñ˜bÓ!ð 	@ SØ—Y‘Y˜q‘\×(Ñ(ˆFð  Gò @‘��8ÜÜM ÔMØó�ð Ð(Ð(Ð(Ü˜u l°DÓ9ÐAÐAÐAà—z‘z !‘}¬¯©¸Ó(:¸RÑ(?Ó?Ð?Ð?ñ@÷	@÷@ð @÷	@ð 	@ú÷@ð @ús+   Á4/D8Â#A3D,ÄD,ÄD8Ä,D5	Ä1D8Ä8Ec                  óX  ‡— t        j                  d«      } dŠt        j                  d¬«      }|j	                  dddd‰› ¬«       t        j                  «       5 }|j                  |d	¬
«       | j                  j                  |«      5 }|j                  d   j                  }t        ˆfd„|D «       d «      }|€J ‚t        |dd «      €J ‚|j                  d   |j                  d   t!        j"                  d«      z
  k(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nri   r½   )r4   r4   r¿   rÁ   ÚNé-   )ÚrotationrÃ   r7   r8   r   c              3   óX   •K  — | ]!  }|j                   j                  ‰› k(  sŒ|–— Œ# y ­wrÆ   rÇ   ©rÊ   rË   rÍ   s     €r$   rÎ   z)test_text_rotated_urls.<locals>.<genexpr>  s"   øè ø€ Ò?�q a§c¡c§g¡g°H°:Ó&>”Ñ?ùs   ƒ*£*rÏ   é   z0.00001)r;   ro   r   rS   r    r?   r@   r>   rs   rt   ru   rÑ   rÒ   rÓ   rÔ   rÏ   rÕ   rÖ   ©ri   r"   r×   r7   rØ   rÚ   rÍ   s         @r$   Útest_text_rotated_urlsrä     s+  ø€ Ü×!Ñ! )Ó,€Gà7€Hä
�*‰*˜VÔ
$€CØ‡H�HˆS�#�s R°¨z€HÔ;ä	�‰‹ð @˜Ø�‰�B˜uˆÔ%à�[‰[×Ñ˜bÓ!ð 	@ SØ—Y‘Y˜q‘\×(Ñ(ˆFô Û?˜FÔ?ØóˆEð Ð$Ð$Ð$Ü˜5 ,°Ó5ÐAÐAÐAà—:‘:˜a‘=Ø×Ñ Ñ"¤W§_¡_°YÓ%?Ñ?ò@ð @ñ @÷	@÷@ð @÷	@ð 	@ú÷@ð @ús%   Á/D Â	A9DÄD ÄD	ÄD Ä D)c                  ó$  ‡— t        j                  d«      } dŠt        j                  d¬«      }|j	                  dddd‰› d	�¬
«       t        j                  «       5 }|j                  |d¬«       | j                  j                  |«      5 }|j                  d   j                  }t        ˆfd„|D «       d «      }|€J ‚|j                  d   t        j                  d«      dz  k(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nri   r½   r¾   r¿   rÁ   gffffffæ?ztest tex $123$TÚtex)ÚusetexrÃ   r7   r8   r   c              3   ó\   •K  — | ]#  }|j                   j                  ‰› d �k(  sŒ |–— Œ% y­w)ræ   NrÇ   rá   s     €r$   rÎ   z%test_text_urls_tex.<locals>.<genexpr>/  s'   øè ø€ ÒB�q a§c¡c§g¡g°H°:¸SÐ1AÓ&A”ÑBùs   ƒ!,¥,r4   z0.7rÐ   )r;   ro   r   rS   r    r?   r@   r>   rs   rt   ru   rÑ   rÒ   rÔ   rÕ   rÖ   rã   s         @r$   Útest_text_urls_texré     s  ø€ ä×!Ñ! )Ó,€Gà7€Hä
�*‰*˜VÔ
$€CØ‡H�HˆS�#Ð'°¸X¸JÀcÐ:J€HÔKä	�‰‹ð @˜Ø�‰�B˜uˆÔ%à�[‰[×Ñ˜bÓ!ð 
	@ SØ—Y‘Y˜q‘\×(Ñ(ˆFô ÛB˜FÔBØóˆEð Ð$Ð$Ð$à—:‘:˜a‘=¤G§O¡O°EÓ$:¸RÑ$?Ò?Ð?Ñ?÷
	@÷@ð @÷
	@ð 
	@ú÷@ð @ús%   Á/DÂAC:Ã)DÃ:D	Ã?DÄDc                  ó¸   — t        t        t        j                  «      «      5 } | j	                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wrÆ   )r   r   ÚosÚdevnullr>   r   rS   )r7   s    r$   Útest_pdfpages_fspathrí   6  s<   € Ü	”$”r—z‘zÓ"Ó	#ð " sØ�‰”C—J‘J“LÔ!÷"÷ "ñ "ús   £$AÁAzhatching_legend.pdfc                  ó¨   — t        j                  d¬«      } t        ddgdddd¬«      }t        ddgdddd¬«      }| j                  ||||gg d¢«       y	)
z.Test for correct hatching on patches in legend)r4   r5   r¿   r   ÚgreenÚXXXX)Ú	facecolorÚhatchÚblue)Ú rô   rô   rô   N)r   rS   r   Úlegend)r"   rË   Úbs      r$   Útest_hatching_legendr÷   ;  sU   € ô �*‰*˜VÔ
$€Cä�1�a�&˜!˜Q¨'¸Ô@€AÜ�1�a�&˜!˜Q¨&¸Ô?€Aà‡J�J��1�a˜ˆ|Ò-Õ.r&   zgrayscale_alpha.pdfc                  óD  — t         j                  ddd…ddd…f   \  } }t        j                  | dz  |dz  z    «      }t         j                  ||dk  <   t	        j
                  «       \  }}|j                  |dd¬«       |j                  g «       |j                  g «       y)z9Masking images with NaN did not work for grayscale imageséþÿÿÿr5   rÁ   ÚnoneÚgray_r)ÚinterpolationÚcmapN)	r\   ÚogridÚexpÚnanr   r   ra   Ú
set_xticksÚ
set_yticks)ÚxrÙ   Úddr"   r#   s        r$   Útest_grayscale_alphar  F  s�   € ô �8‰8�B�q˜�G˜R  "˜WÐ$Ñ%�D€A€qÜ	�‰�!�Q‘$˜˜A™‘+�Ó	€BÜ—&‘&€B€rˆB�w�KÜ�l‰l‹n�G€CˆØ‡I�Iˆb ¨X€IÔ6Ø‡M�M�"ÔØ‡M�M�"Õr&   Údefaultr7   Úeps)Ú
extensionsc           	      óü   — | j                  «       }|j                  «        |j                  t        j                  t        j
                  ddd«      «      dd¬«       |j                  «       }|j                  «        y )NrX   rY   éd   r®   rú   )Úc)Úadd_subplotÚset_axis_offr=   r\   r_   Úlinspace)Úfig_testÚfig_refÚax_testÚax_refs       r$   Ú'test_pdf_eps_savefig_when_color_is_noner  R  s`   € ð ×"Ñ"Ó$€GØ×ÑÔØ‡L�L”—‘œŸ™ B¨¨3Ó/Ó0°#¸€LÔ@Ø× Ñ Ó"€FØ
×ÑÕr&   c                  óà   — t        j                  dd¬«       t        j                  t        «      5  t        j
                  t        j                  «       d¬«       ddd«       y# 1 sw Y   yxY w)z"Test failing latex subprocess callz$22_2_2$T)rç   r7   r8   N)r   Úxlabelr;   ÚraisesÚRuntimeErrorr>   r?   r@   © r&   r$   Útest_failing_latexr  \  sG   € ô ‡J�Jˆz $Õ'Ü	�‰”|Ó	$ñ 0Ü�‰”B—J‘J“L¨Õ/÷0÷ 0ñ 0ús   ±*A$Á$A-c                  ó¤   — t        j                  «       \  } }|j                  g g d¬«       | j                  t	        j
                  «       d¬«       y )NT)Ú
rasterizedr7   r8   )r   r   r=   r>   r?   r@   r¸   s     r$   Útest_empty_rasterizedr  d  s9   € ä�l‰l‹n�G€CˆØ‡G�GˆB�˜t€GÔ$Ø‡K�K”—
‘
“ U€KÕ+r&   zkerning.pdfc                  ó„   — t        j                  «       } d}| j                  dd|d¬«       | j                  dd|d¬«       y )Nu   AVAVAVAVAVAVAVAVâ‚¬AAVVr   g      Ð?rY   )Úsizeg      è?é   )r   rS   r    )r"   rO   s     r$   Útest_kerningr   k  s:   € ä
�*‰*‹,€CØ!€AØ‡H�HˆQ��Q˜Q€HÔØ‡H�HˆQ��Q˜R€HÕ r&   c                  óö  — t        t        d«      «      } d}t        | «      }|j                  |«       t	        | |«      5 }t        t        |«      «      }d d d «       j                  |«       |j                  «       }|j                  «       }h |£|D �ch c]  }t        |«      ’Œ c}k(  sJ ‚t        |«      t        |«      k  sJ ‚|j                  «       |j                  «       k(  sJ ‚y # 1 sw Y   Œ—xY wc c}w )Nzfonts/ttf/DejaVuSerif.ttfz%these should be subsetted! 1234567890)
r§   r   r   Úset_textr   r   Úget_charmapÚchrrL   Úget_num_glyphs)ÚfpathÚcharsÚ	nosubfontÚsubsetÚsubfontÚ	nosubcmapÚsubcmapÚkeys           r$   Útest_glyphs_subsetr.  s  sí   € Ü”Ð:Ó;Ó<€EØ3€Eô ˜“€IØ×Ñ�uÔô 
˜5 %Ó	(ð 0¨FÜœ, vÓ.Ó/ˆ÷0à×Ñ�UÔà×%Ñ%Ó'€IØ×!Ñ!Ó#€Gð ˆUˆ8¨GÖ4 Sœ˜C�Ò4Ò4Ð4Ð4ô ˆw‹<œ#˜i›.Ò(Ð(Ð(ð ×!Ñ!Ó# y×'?Ñ'?Ó'AÒAÐAÑA÷0ð 0üò 5s   ¿C*ÂC6Ã*C3zmulti_font_type3.pdfgffffff@)Útolc                  ób  — t        j                  dg¬«      } t        t        j                  | «      «      j                  dk7  rt        j                  d«       t        j                  dddgd¬«       t        j                  d	d
¬«       t        j                  «       }|j                  ddd«       y )Nr(   r.   r)   úFont may be missingr6   r'   é   ©r/   r  r7   r+   ©r*   ç333333Ã?çffffffÞ?õ"   There are å‡ ä¸ªæ±‰å­— in between!©Úfmr
   r   r	   r:   r;   r<   r   ÚrcrS   r    ©Úfpr"   s     r$   Útest_multi_font_type3r=  �  s   € ä	×	Ñ	Ð#6Ð"7Ô	8€BÜŒB�K‰K˜‹OÓ×!Ñ!Ð%5Ò5Ü�‰Ð)Ô*ä‡F�Fˆ6˜=Ð*=Ð>ÀRÕHÜ‡F�Fˆ5˜1Õä
�*‰*‹,€CØ‡H�HˆT�5Ð>Õ?r&   zmulti_font_type42.pdfgš™™™™™@c                  ób  — t        j                  dg¬«      } t        t        j                  | «      «      j                  dk7  rt        j                  d«       t        j                  dddgd¬«       t        j                  d	d
¬«       t        j                  «       }|j                  ddd«       y )Nr(   r.   r)   r1  r6   r'   r2  r3  r7   r,   r4  r5  r6  r7  r8  r;  s     r$   Útest_multi_font_type42r?  š  s   € ä	×	Ñ	Ð#6Ð"7Ô	8€BÜŒB�K‰K˜‹OÓ×!Ñ!Ð%5Ò5Ü�‰Ð)Ô*ä‡F�Fˆ6˜=Ð*=Ð>ÀRÕHÜ‡F�Fˆ5˜2Õä
�*‰*‹,€CØ‡H�HˆT�5Ð>Õ?r&   zfamily_name, file_name)z	Noto SanszNotoSans-Regular.otf)ÚFreeMonozFreeMono.otfc                 ó„  — t        j                  | g¬«      }t        t        j                  |«      «      j                  |k7  rt        j                  d| › d�«       t        j                  d| gd¬«       t        j                  «       }|j                  ddd	«       |j                  t        j                  «       d
¬«       y )Nr.   r0   r1   r6   r2  r3  r5  r6  u   ÐŸÑ€Ð¸Ð²ÐµÑ‚ Ð¼Ð¸Ñ€!r7   r8   )r9  r
   r   r	   r:   r;   r<   r   r:  rS   r    r>   r?   r@   )Úfamily_nameÚ	file_namer<  r"   s       r$   Útest_otf_font_smokerD  §  sŠ   € ô
 
×	Ñ	 ; -Ô	0€BÜŒB�K‰K˜‹OÓ×!Ñ! YÒ.Ü�‰�e˜K˜=¨Ð8Ô9ä‡F�Fˆ6˜;˜-¨bÕ1ä
�*‰*‹,€CØ‡H�HˆT�5Ð0Ô1Ø‡K�K”—
‘
“ U€KÕ+r&   ztruetype-conversion.pdfc                 ó   — dt         j                  d<   t        j                  «       \  }}|j	                  dddt        t        «      j                  d«      d¬«       |j                  g «       |j                  g «       y )Nr+   r2   r   ÚABCDEzmpltest.ttféP   )r6   r   )
r¨   r   r   r   r    r   Ú__file__Ú	with_namer  r  )Úrecwarnr"   r#   s      r$   Útest_truetype_conversionrK  ·  se   € ð $%„C‡L�L�Ñ Ü�l‰l‹n�G€CˆØ‡G�GˆAˆq�'Ü”h“×)Ñ)¨-Ó8À2ð ô Gà‡M�M�"ÔØ‡M�M�"Õr&   )@r¢   rÕ   r?   rë   Úpathlibr   Únumpyr\   r;   Ú
matplotlibr¨   r   r   r   r   r9  Úmatplotlib.cbookr   Úmatplotlib.ft2fontr   Úmatplotlib.font_managerr	   r
   Ú#matplotlib.backends._backend_pdf_psr   r   Úmatplotlib.backends.backend_pdfr   Úmatplotlib.patchesr   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.testing._markersr   r%   ÚmarkÚparametrizerC   rF   rP   rV   rg   r†   r°   r¹   r»   rÛ   rä   ré   rí   r÷   r  ÚstyleÚcontextr  r  r  r   r.  r=  r?  rD  rK  r  r&   r$   ú<module>r[     s8  ðÛ Û Û 	Û 	Ý ã Û ã ÷ñ õ ,Ý &ß <ß OÝ 4Ý (ß OÝ 4ñ Ð+Ð,Ó-ñ#ó .ð#ð& ‡�×ÑÐ-Ø%Ø+ð0ó ð ‡�×Ñ˜ a¨ WÓ-ñ,ó .ó	ð
,ò(ò	òò+ò&-ò0 òFJò("òJ@ò6@ð4 ñ@ó ð@ò0"ñ
 Ð(Ð)Ó*ñ/ó +ð/ñ Ð(Ð)Ó*ñó +ðð ‡�×Ñ�9ÓÙ ¨ Ô/ñó 0ó ðð ñ0ó ð0ò,ñ �=�/Ó"ñ!ó #ð!òBñ4 Ð)Ð*°Ô4ñ	@ó 5ð	@ñ Ð*Ð+°Ô5ñ	@ó 6ð	@ð ‡�×ÑÐ1Ø?Ø6ð8ó9ñ
,ó9ð
,ñ Ð,Ð-Ó.ñó /ñr&   