ó
    “’¤jÛž  ã                   ó.  • S SK r S SKrS SKrS SKJr  S SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKJr  S SKrS SKJr  S SKrS SKJrJr  S SKJrJrJrJr  S SKJr  S SKJrJr  S S	KJ r   S S
K!J"r"  S SK#J$r$  S SK%J&r&  \RN                  " \(5      r)Sr*S r+Sr,S\,-  r-Sr.S\.-  r/S r0S r1S r2S r3S r4 " S S\55      r6 " S S5      r7\Rp                  " S5      S 5       r9 " S S\5      r: " S S \5      r;\r<\Rz                   " S! S"\5      5       r> " S# S$5      r?g)%é    N)ÚBytesIO)ÚTemporaryDirectory)ÚImage)ÚcbookÚfont_manager)Ú_BackendÚFigureCanvasBaseÚFigureManagerBaseÚRendererBase)ÚMixedModeRenderer)Ú_create_pdf_info_dictÚ_datetime_to_pdf)ÚPath)ÚFigure)ÚFontProperties)ÚGcfz\documentclass{article}c                  óN  • S n [        [        R                  S   S9R                  5       nSR	                  SSSSU-  S	S
USU-  4-  SS[        R                  S   /	[        R                  S   (       a  SS/U " 5       QSPO/ Q[        R
                  R                  SSS9P5      $ )z=Prepare a LaTeX preamble based on the rcParams configuration.c               3   ó(  #   • S Hˆ  u  p[         R                  " U5      n[        R                  " U5      nSU < SUR                  < SUR
                  R                  5       < SUR                  S:X  a  SUR                  S 3OS	< S
3	v •  MŠ     g 7f)N))ÚsetmainfontÚserif)Úsetsansfontzsans\-serif)ÚsetmonofontÚ	monospacez  \Ú{z}[Path=\detokenize{z/}z.ttcz,FontIndex=ÚdÚ Ú])	ÚfmÚfindfontÚpathlibr   ÚnameÚparentÚas_posixÚsuffixÚ
face_index)ÚcommandÚfamilyÚ	font_pathÚpaths       Ú­C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\matplotlib/backends/backend_pgf.pyÚ_to_fontspecÚ#_get_preamble.<locals>._to_fontspec)   sy   é € ó >‰OˆGô Ÿš FÓ+ˆIÜ—<’< 	Ó*‰Dã˜Ÿœ D§K¡K×$8Ñ$8Ö$:Ø:>¿+¹+ÈÓ:O�+˜i×2Ñ2°1Ð5Ñ6ÐUWÒWðYô Yò >ùs   ‚BBz	font.size)ÚsizeÚ
z\def\mathdefault#1{#1}z4\everymath=\expandafter{\the\everymath\displaystyle}z\IfFileExists{scrextend.sty}{z'  \usepackage[fontsize=%fpt]{scrextend}z}{z:  \renewcommand{\normalsize}{\fontsize{%f}{%f}\selectfont}ç333333ó?z  \normalsizeÚ}zpgf.preambleúpgf.rcfontsz1\ifdefined\pdftexversion\else  % non-pdftex case.z  \usepackage{fontspec}z\fiÚ
underscoreÚstrings)Úoption)r   ÚmplÚrcParamsÚget_size_in_pointsÚjoinÚ
texmanagerÚ_usepackage_if_not_loaded)r+   Úfont_size_pts     r*   Ú_get_preambler<   '   sÕ   € òYô "¤s§|¡|°KÑ'@ÑA×TÑTÓV€LØ�9‰9ð 	"à?ð
 	)Ø2°\ÑAØØEØ˜˜|Ñ+Ð
,ñ	-àØä�‰�^Ñ$ð%ô. —|‘| M×2ð AØ&ðñ ‹^ðð ñ	ð 9;ð/ô2 	�‰×0Ñ0°ÀiÐ0ÐPð3ó ð ó    gRh�¸’VŒ?ç      ð?gÇqÇqŒ?c                 ó&   • U R                  SS5      $ )z\
Do some necessary and/or useful substitutions for texts to be included in
LaTeX documents.
u   âˆ’z\ensuremath{-})Úreplace)Útexts    r*   Ú_tex_escaperB   Y   s   € ð
 �<‰<Ð(Ð*;Ó<Ð<r=   c                 óH   • U R                  U5        U R                  S5        g )Nz%
)Úwrite)ÚfhÚlines     r*   Ú_writelnrG   a   s   € ð ‡H�HˆT„NØ‡H�HˆU…Or=   c                 óä  ^• / nSSSSS.nUR                  5       S   mTU;   a  UR                  UT   5        O‡[        R                  S   (       d  UR                  S5        O][	        U4S j[
        R                  R                   5       5      (       a  UR                  S	T-  5        O[        R                  S
T5        UR                  5       nUR                  SXDS-  4-  5        SSSS.nUR                  XQR                  5          5        / SQnUR                  5       U;   a  UR                  S5        UR                  S5        SSR                  U5      -   S-   S-   [        U 5      -   S-   $ )zw
Generate a TeX string that renders string *s* with font properties *prop*,
also applying any required escapes to *s*.
z	\rmfamilyz	\sffamilyz	\ttfamily)r   Úsansz
sans-serifr   r   r1   z\fontfamily{\familydefault}c              3   ó@   >#   • U  H  oR                   T:H  v •  M     g 7f©N)r!   )Ú.0Úfontr'   s     €r*   Ú	<genexpr>Ú*_escape_and_apply_props.<locals>.<genexpr>v   s   øé € ÐDÒ-C T�Y‰Y˜&Ö Ò-Cùs   ƒz9\ifdefined\pdftexversion\else\setmainfont{%s}\rmfamily\fizIgnoring unknown font: %sz\fontsize{%f}{%f}r/   r   z\itshapez\slshape)ÚnormalÚitalicÚoblique)ÚsemiboldÚdemiboldÚdemiÚboldÚheavyz
extra boldÚblackz	\bfseriesz\selectfontr   z1\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}z\catcode`\%=\active\def%{\%}r0   )Ú
get_familyÚappendr5   r6   Úanyr   ÚfontManagerÚttflistÚ_logÚwarningr7   Ú	get_styleÚ
get_weightr8   rB   )ÚsÚpropÚcommandsÚfamiliesr-   ÚstylesÚ
boldstylesr'   s          @r*   Ú_escape_and_apply_propsrh   h   sZ  ø€ ð
 €Hà%¨|Ø*¸ñG€Hà�_‰_Ó˜qÑ!€FØ�ÓØ�‰˜ Ñ(Õ)Ü�\‰\˜-×(Ø�‰Ð6Õ7Ü	ÔD¬R¯^©^×-CÒ-CÓD×	DÑ	DØ�‰ØHÈ6ÑQõ	Sô 	�‰Ð0°&Ô9à×"Ñ"Ó$€DØ‡O�OÐ(¨D¸±*Ð+=Ñ=Ô>à {¸{ÑK€FØ‡O�O�FŸ>™>Ó+Ñ,Ô-ò)€Jà‡�Ó˜JÓ&Ø�‰˜Ô%à‡O�O�NÔ#àØ
�'‰'�(Ó
ñ	à
>ñ	?ð *ñ	*ô �a‹.ñ	ð ñ	ð
r=   c           	      ó.  ^ ^• [        T[        R                  5      (       a  [        T5      mO-T S:X  a  TR                  R	                  S5      mO[        T5      mSn[        U U4S jU 5       5      (       a  [        ST < ST< SU S35      eT  S	T S
3$ )z;Convert metadata key/value to a form that hyperref accepts.ÚTrappedÚasciiz\{}[]()c              3   ó2   >#   • U  H  oTT-   ;   v •  M     g 7frK   © )rL   ÚcÚkeyÚvalues     €€r*   rN   Ú#_metadata_to_str.<locals>.<genexpr>¡   s   øé € Ð
3¢] �˜‘Ö¢]ùs   ƒzInvalid metadata value for z: z'. The value must not contain the chars Ú.z={r0   )Ú
isinstanceÚdatetimer   r!   ÚdecodeÚstrr[   Ú
ValueError)ro   rp   Úinvalid_charss   `` r*   Ú_metadata_to_strry   •   s    ù€ ä�%œ×*Ñ*×+Ñ+Ü  Ó'‰Ø	�	Ó	Ø—
‘
×!Ñ! 'Ó*‰ä�E“
ˆð €MÜ
Õ
3¡]Ó
3×3Ñ3ÜØ)¨#©°°5±)ð <4Ø4A°?À!ðEóFð 	Fð ˆU�#�e�W˜BÐÐr=   c                  óð   ^ •  [         R                  " S5        S $ ! [         R                   a     Of = f [         R                  " S5      m U 4S j$ ! [         R                   a     Of = f[        S5      e)z9Return a function that converts a pdf file to a png file.Ú
pdftocairoc                 óž   • [         R                  " SSSSSSU-  U [        R                  R	                  U5      S   /[         R
                  S9$ )	Nr{   z-singlefilez-transpz-pngz-rz%dr   ©Ústderr)Ú
subprocessÚcheck_outputÚosr)   ÚsplitextÚSTDOUT)ÚpdffileÚpngfileÚdpis      r*   Ú<lambda>Ú+make_pdf_to_png_converter.<locals>.<lambda>°   sG   € ¬Z×-DÒ-DØ˜=¨)°V¸TÀ4È#Á:Ø”b—g‘g×&Ñ& wÓ/°Ñ2ð4ä×$Ñ$ò.&r=   Úgsc                 ó†   >• [         R                  " TR                  SSSSSSSSS	S
SU-  SU-  U /[         R                  S9$ )Nz-dQUIETz-dSAFERz-dBATCHz	-dNOPAUSEz
-dNOPROMPTz-dUseCIEColorz-dTextAlphaBits=4z-dGraphicsAlphaBits=4z-dDOINTERPOLATEz-sDEVICE=pngalphaz-sOutputFile=%sz-r%dr}   )r   r€   Ú
executablerƒ   )r„   r…   r†   Úgs_infos      €r*   r‡   rˆ   ¹   sT   ø€ ¬Z×-DÒ-DØ×ÑØ˜	 9¨k¸<ØÐ1Ø$Ð&7Ø Ð"3°gÑ"=Ø�c‰\˜7ð$ô ×$Ñ$ò.&r=   z&No suitable pdf to png renderer found.)r5   Ú_get_executable_infoÚExecutableNotFoundErrorÚRuntimeError)rŒ   s   @r*   Úmake_pdf_to_png_converterr�   ©   s�   ø€ ð&Ü× Ò  Ô.ñ&ð 	&øô ×&Ñ&ó Ùðúð&Ü×*Ò*¨4Ó0ˆô&ð 	&øô ×&Ñ&ó Ùðúô Ð?Ó
@Ð@s   ƒ œ3²3·A ÁA*Á)A*c                   ó2   ^ • \ rS rSrSU 4S jjrS rSrU =r$ )Ú
LatexErroréÄ   c                 ó0   >• [         TU ]  U5        X l        g rK   )ÚsuperÚ__init__Úlatex_output)ÚselfÚmessager—   Ú	__class__s      €r*   r–   ÚLatexError.__init__Å   s   ø€ Ü‰Ñ˜Ô!Ø(Õr=   c                 óh   • U R                   u  nU R                  (       a  USU R                  -   -  nU$ ©Nr.   )Úargsr—   ©r˜   rb   s     r*   Ú__str__ÚLatexError.__str__É   s0   € Ø�Y‰Y‰ˆØ××Ø�˜×)Ñ)Ñ)Ñ)ˆAØˆr=   )r—   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r–   r    Ú__static_attributes__Ú__classcell__©rš   s   @r*   r’   r’   Ä   s   ø† ÷)÷ð r=   r’   c                   ó¤   • \ rS rSrSr\S 5       r\S 5       r\\	R                  " S5      S 5       5       rS rS rS	 rS
 rSS.S jrS rS rSrg)ÚLatexManageréÐ   zË
The LatexManager opens an instance of the LaTeX application for
determining the metrics of text elements. The LaTeX environment can be
modified by setting fonts and/or a custom preamble in `.rcParams`.
c                  ót   • [         S[        R                  S    3S[        5       SS/n SR	                  U 5      $ )Nz% !TeX program = úpgf.texsystemz\usepackage{graphicx}ú\begin{document}z!\typeout{pgf_backend_query_start}r.   )Ú_DOCUMENTCLASSr5   r6   r<   r8   )Úlatex_headers    r*   Ú_build_latex_headerÚ LatexManager._build_latex_header×   sC   € ô ð !¤§¡¨oÑ!>Ð ?Ð@à$Ü‹OØØ0ð

ˆð �y‰y˜Ó&Ð&r=   c                 ó@   • U R                  U R                  5       5      $ )zl
Return the previous LatexManager if the header and tex system did not
change, or a new instance otherwise.
)Ú_get_cached_or_new_implr±   )Úclss    r*   Ú_get_cached_or_newÚLatexManager._get_cached_or_newæ   s   € ð ×*Ñ*¨3×+BÑ+BÓ+DÓEÐEr=   é   c                 ó   • U " 5       $ rK   rm   )rµ   Úheaders     r*   r´   Ú$LatexManager._get_cached_or_new_implî   s   € ñ ‹uˆr=   c                 ó  • U R                   c  U R                  5         U R                   R                  R                  U5        U R                   R                  R                  S5        U R                   R                  R	                  5         g r�   )ÚlatexÚ_setup_latex_processÚstdinrD   ÚflushrŸ   s     r*   Ú_stdin_writelnÚLatexManager._stdin_writelnó   s^   € Ø�:‰:ÑØ×%Ñ%Ô'Ø�
‰
×Ñ×Ñ˜qÔ!Ø�
‰
×Ñ×Ñ˜tÔ$Ø�
‰
×Ñ×ÑÕ r=   c                 ó^  • [        U5      n/ n U R                  R                  R                  S5      nUR	                  U5        U[        U5      * S  U:X  a  OEU(       d<  U R                  R                  5         S U l        [        SSR                  U5      5      eM�  SR                  U5      $ )Nr¸   zLaTeX process haltedr   )	Úlistr½   ÚstdoutÚreadrZ   ÚlenÚkillr’   r8   )r˜   rb   Úcharsrn   s       r*   Ú_expectÚLatexManager._expectú   s’   € Ü�‹GˆØˆØØ—
‘
×!Ñ!×&Ñ& qÓ)ˆAØ�L‰L˜ŒOØ”c˜!“f�W�Xˆ !Ó#ØÞØ—
‘
—‘Ô!Ø!�”
Ü Ð!7¸¿¹À»ÓHÐHñ ð �w‰w�u‹~Ðr=   c                 ó$   • U R                  S5      $ )Nz
*)rÊ   ©r˜   s    r*   Ú_expect_promptÚLatexManager._expect_prompt  s   € Ø�|‰|˜EÓ"Ð"r=   c                 óÔ  • [        5       U l        U R                  R                  U l        [        R
                  " X R                  R                  5      U l        U R                  SS9  U R                  R                  S5      u  pU R                  R                  S:w  a  [        SU R                  5        3U5      eS U l	        [        R                  " U R                   5      U l        g )NF©Úexpect_replyz
\makeatletter\@@end
r   zaLaTeX errored (probably missing font or error in preamble) while processing the following input:
)r   Ú_tmpdirr!   ÚtmpdirÚweakrefÚfinalizeÚcleanupÚ_finalize_tmpdirr¾   r½   ÚcommunicateÚ
returncoder’   r±   Ú	functoolsÚ	lru_cacheÚ_get_box_metrics)r˜   rÅ   r~   s      r*   r–   ÚLatexManager.__init__  sÃ   € ä)Ó+ˆŒØ—l‘l×'Ñ'ˆŒÜ '× 0Ò 0°·|±|×7KÑ7KÓ LˆÔð 	×!Ñ!¨uÐ!Ñ5ØŸ™×/Ñ/Ð0KÓL‰ˆØ�:‰:× Ñ  AÓ%Üð:à×+Ñ+Ó-Ð.ð0ð ó	ð ð
 ˆŒ
ä )× 3Ò 3°D×4IÑ4IÓ JˆÕr=   TrÑ   c                óX  •  [         R                  " [        R                  S   SS/[         R                  [         R                  SU R
                  S9U l        S n[        R                  " XU R                  5      U l        U R                  U R                  5       5        U(       a"  U R                  S	5        U R!                  5         g g ! [         a&  n[        [        R                  S   < S35      UeS nAf[         a&  n[        S[        R                  S   < 35      UeS nAff = f)
Nr­   ú-halt-on-errorú-no-shell-escapeúutf-8)r¿   rÅ   ÚencodingÚcwdz] not found; install it or change rcParams['pgf.texsystem'] to an available TeX implementationzError starting c                 ó†   • U R                  5          U R                  5         g ! [         a    U R                  5          g f = frK   )rÈ   rÙ   r�   Úwait)r½   s    r*   Úfinalize_latexÚ9LatexManager._setup_latex_process.<locals>.finalize_latex2  s4   € Ø�J‰JŒLðØ×!Ñ!Õ#øÜó Ø—
‘
–ðús   ’# £A ¿A z*pgf_backend_query_start)r   ÚPopenr5   r6   ÚPIPErÔ   r½   ÚFileNotFoundErrorr�   ÚOSErrorrÕ   rÖ   Ú_finalize_latexrÁ   r±   rÊ   rÎ   )r˜   rÒ   Úerrrç   s       r*   r¾   Ú!LatexManager._setup_latex_process  s  € ð	NÜ#×)Ò)Ü—‘˜oÑ.Ð0@ÐBTÐUÜ —o‘o¬j¯o©oØ  d§k¡kñ3ˆDŒJò	ô  '×/Ò/Ø $§*¡*ó .ˆÔð 	×Ñ˜D×4Ñ4Ó6Ô7ÞØ�L‰LÐ3Ô4Ø×ÑÕ!ð øô) !ó 	ÜÜ—<‘< Ñ0Ñ3ð 4Oð Póð ðûô ó 	NÜØ!¤#§,¡,¨Ñ"?Ñ!BÐCóEØJMðNûð	Nús$   ‚AC Ã
D)Ã!C6Ã6D)Ä!D$Ä$D)c                 ó6   • U R                  [        X5      5      $ )zo
Get the width, total height, and descent (in TeX points) for a text
typeset by the current LaTeX environment.
)rÝ   rh   )r˜   rA   rc   s      r*   Úget_width_height_descentÚ%LatexManager.get_width_height_descentA  s   € ð
 ×$Ñ$Ô%<¸TÓ%HÓIÐIr=   c                 óÀ  • U R                  SU-  5         U R                  5       n UR                  5       S   R                  S5      u  pEn[        USS 5      [        USS 5      [        USS 5      p˜nXxU	-   U	4$ ! [         a*  n[        SR	                  XR
                  5      5      UeSnAff = f! [         a   n[        SR	                  X5      5      UeSnAff = f)zv
Get the width, total height and descent (in TeX points) for a TeX
command's output in the current LaTeX environment.
zW{\catcode`\^=\active\catcode`\%%=\active\sbox0{%s}\typeout{\the\wd0,\the\ht0,\the\dp0}}z#Error measuring {}
LaTeX Output:
{}NéýÿÿÿÚ,éþÿÿÿ)
rÁ   rÎ   r’   rw   Úformatr—   Ú
splitlinesÚsplitÚ	ExceptionÚfloat)
r˜   ÚtexÚanswerrî   ÚwidthÚheightÚoffsetÚwÚhÚos
             r*   rÝ   ÚLatexManager._get_box_metricsH  s  € ð 	×Ñð5àñô	ð	FØ×(Ñ(Ó*ˆFð	<ð %+×$5Ñ$5Ó$7¸Ñ$;×$AÑ$AÀ#Ó$FÑ!ˆE˜6ô ˜˜c˜r˜
Ó#¤U¨6°#°2¨;Ó%7¼¸vÀcÀr¸{Ó9Kˆaˆð �a‘%˜ˆ{Ðøô ó 	Fô ÐDß$™f S×*:Ñ*:Ó;ó=ØBEðFûð	Fûô ó 	<ÜÐDß$™f SÓ1ó3Ø8;ð<ûð	<ús.   –A< §%B3 Á<
B0Â%B+Â+B0Â3
CÂ=CÃC)rí   rØ   rÝ   rÓ   r½   rÔ   N)r¢   r£   r¤   r¥   Ú__doc__Ústaticmethodr±   Úclassmethodr¶   rÛ   rÜ   r´   rÁ   rÊ   rÎ   r–   r¾   rñ   rÝ   r¦   rm   r=   r*   rª   rª   Ð   sƒ   † ñð ñ'ó ð'ð ñFó ðFð Ø×Ò˜Óñó ó ðò!òò#òKð& 48õ !"òFJõr=   rª   r¸   c                  ó  • [         R                  5       n U R                  S[        R                  " S5      R                  5       -  5         U R                  5         g! [         a!    [         R                  R                  5          gf = f)Nz&\includegraphics[interpolate=true]{%s}zimages/matplotlib.pngz\includegraphicsz	\pgfimage)
rª   r¶   rÁ   r   Ú_get_data_pathr#   rÎ   r’   r´   Úcache_clear)Úmans    r*   Ú_get_image_inclusion_commandr  h  sx   € ä
×
)Ñ
)Ó
+€CØ×ÑØ1ä
×
Ò
Ð6Ó
7×
@Ñ
@Ó
Bñ	CôDðØ×ÑÔØ"øÜó ä×,Ñ,×8Ñ8Ô:Ùðús   ÁA Á(BÂBc                   ó¤   ^ • \ rS rSrU 4S jr SS jrSS jrS rS rSS jr	SS	 jr
S
 rS rSS jrSS.S jrSS jrS rS rS rS rSrU =r$ )ÚRendererPgfix  c                 ój   >• [         TU ]  5         UR                  U l        X l        Xl        SU l        g)aN  
Create a new PGF renderer that translates any drawing instruction
into text commands to be interpreted in a latex pgfpicture environment.

Attributes
----------
figure : `~matplotlib.figure.Figure`
    Matplotlib figure to initialize height, width and dpi from.
fh : file-like
    File handle for the output of the drawing commands.
r   N)r•   r–   r†   rE   ÚfigureÚimage_counter)r˜   r  rE   rš   s      €r*   r–   ÚRendererPgf.__init__z  s-   ø€ ô 	‰ÑÔØ—:‘:ˆŒØŒØŒØˆÕr=   Nc                 ó>  • [        U R                  S5        SU R                  -  nU R                  U5        U R	                  X5        UR                  U5      R                  5       u  p‰US   U-  US   U-  U	S   U-  U	S   U-  4n
[        U R                  SU
-  5        U R                  S X#5        U R                  UR                  5       S:g  US LS9  [        U R                  S5        S	U R                  -  nU* U* X»4nUR                  US
US9 Hr  u  pÞUS   U-  US   U-  nn[        U R                  S5        [        U R                  SUU4-  5        [        U R                  S5        [        U R                  S5        Mt     [        U R                  S5        g )Nú\begin{pgfscope}r>   r   r¸   zQ\pgfsys@defobject{currentmarker}{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}{ç        ©ÚstrokeÚfillr0   ç†B^!Vl@F)ÚsimplifyÚclipú"\pgfsys@transformshift{%fin}{%fin}z"\pgfsys@useobject{currentmarker}{}ú\end{pgfscope})rG   rE   r†   Ú_print_pgf_clipÚ_print_pgf_path_stylesÚget_extentsÚ
get_pointsÚ_print_pgf_pathÚ_pgf_path_drawÚget_linewidthÚiter_segments)r˜   ÚgcÚmarker_pathÚmarker_transr)   ÚtransÚrgbFaceÚfÚblÚtrÚcoordsÚmaxcoordr  ÚpointÚcodeÚxÚys                    r*   Údraw_markersÚRendererPgf.draw_markers�  s¦  € ô 	�—‘Ð-Ô.ð �—‘‰Mˆð 	×Ñ˜RÔ Ø×#Ñ# BÔ0ð ×(Ñ(¨Ó6×AÑAÓC‰ˆØ�A‘˜‘˜B˜q™E A™I r¨!¡u¨q¡y°"°Q±%¸!±)Ð;ˆÜ�—‘ðFØHNñOô	Pð 	×Ñ˜T ;Ô=Ø×Ñ 2×#3Ñ#3Ó#5¸Ñ#<Ø!(°Ð!4ð 	ñ 	6ä�—‘˜$Ôà  4§8¡8Ñ+ˆØ�	˜H˜9 hÐ9ˆð  ×-Ñ-¨e¸eØ37ð .ó 9‰KˆEà˜‘8˜a‘<  q¡¨A¡ˆqˆAÜ�T—W‘WÐ1Ô2Ü�T—W‘WÐCÀqÈ!ÀfÑLÔMÜ�T—W‘WÐCÔDÜ�T—W‘WÐ/Ö0ñ9ô 	�—‘Ð+Õ,r=   c                 ó:  • [        U R                  S5        U R                  U5        U R                  X5        U R	                  XX45        U R                  UR                  5       S:g  US LS9  [        U R                  S5        UR                  5       (       Ga  [        U R                  S5        U R                  X5        U R                  U5        U R	                  XX45        [        U R                  S5        [        U R                  S5        [        U R                  S5        UR                  5       [        -  [        -  nUR                  5       n[        U R                  SU-  5        [        U R                  SUS S	 -  5        [        U R                  S
5        [        U R                  SUS	   -  5        [        U R                  S5        [        U R                  S5        [        R                  R                  5       R                  U R                   5      nU R	                  S UR#                  5       U5        U R                  SS9  [        U R                  S5        [        U R                  S5        SU R                   -  nUR%                  U5      R'                  5       u  u  pšu  p¼X‰-  X‹-  p¹XŠ-  XŒ-  pÊ[(        R*                  " X¹-
  5      [(        R*                  " XÊ-
  5      pí[        U R                  SXš4-  5        [-        U5       Hp  n[-        U5       H/  n[        U R                  S5        [        U R                  S5        M1     [        U R                  SU-  5        [        U R                  S5        Mr     [        U R                  S5        g g )Nr  r  r  r  ú\pgfusepath{clip}zN\pgfsys@defobject{currentpattern}{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}{ú\pgfsetlinewidth{%fpt}z)\definecolor{currenthatch}{rgb}{%f,%f,%f}é   z \pgfsetstrokecolor{currenthatch}ú\pgfsetstrokeopacity{%f}z=\pgfpathrectangle{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}T)r  r0   r>   r  z#\pgfsys@useobject{currentpattern}{}z \pgfsys@transformshift{1in}{0in}z"\pgfsys@transformshift{-%din}{0in}z \pgfsys@transformshift{0in}{1in})rG   rE   r  r  r"  r#  r$  Ú	get_hatchÚget_hatch_linewidthÚmpl_pt_to_inÚlatex_in_to_ptÚget_hatch_colorr5   Ú
transformsÚAffine2DÚscaler†   Úget_hatch_pathr   r!  ÚmathÚceilÚrange)r˜   r&  r)   Ú	transformr*  ÚlwÚ
hatch_rgbarB  r+  ÚxminÚyminÚxmaxÚymaxÚrepxÚrepyÚiyÚixs                    r*   Ú	draw_pathÚRendererPgf.draw_path³  sÿ  € ä�—‘Ð-Ô.à×Ñ˜RÔ Ø×#Ñ# BÔ0Ø×Ñ˜R yÔ:Ø×Ñ 2×#3Ñ#3Ó#5¸Ñ#<Ø!(°Ð!4ð 	ñ 	6ä�—‘Ð+Ô,ð �<‰<�>Š>Ü�T—W‘WÐ1Ô2Ø×'Ñ'¨Ô4ð × Ñ  Ô$Ø× Ñ  ¨9Ô>Ü�T—W‘WÐ2Ô3ô �T—W‘WðFôGô �T—W‘WÐ1Ô2ð ×'Ñ'Ó)¬LÑ8¼>ÑIˆBØ×+Ñ+Ó-ˆJÜ�T—W‘WÐ7¸"Ñ<Ô=Ü�T—W‘WØAØ! " 1�~ñ&ô'ô �T—W‘WÐAÔBÜ�T—W‘WÐ9¸JÀq¹MÑIÔJä�T—W‘WðEôFô �T—W‘WÐ2Ô3Ü—N‘N×+Ñ+Ó-×3Ñ3°D·H±HÓ=ˆEØ× Ñ   r×'8Ñ'8Ó':¸EÔBØ×Ñ tÐÑ,Ü�T—W‘WÐ/Ô0Ü�T—W‘W˜dÔ#à�T—X‘X‘ˆAà× Ñ  Ó+×6Ñ6Ó8ñ '‰LˆT™,˜4à™ 1¡8�$Ø™ 1¡8�$ÜŸš 4¡;Ó/´·²¸4¹;Ó1G�$Ü�T—W‘WØ:¸d¸\ÑIôKä˜D–k�Ü ž+�BÜ˜TŸW™WÐ&LÔMÜ˜TŸW™WÐ&IÖJñ &ô ˜Ÿ™Ð"GÈ$Ñ"NÔOÜ˜Ÿ™Ð"EÖFñ "ô �T—W‘WÐ/Õ0ðe r=   c                 ó†  • SU R                   -  nUR                  5       nU(       a]  UR                  5       u  pEXT-
  u  pgUS   U-  US   U-  Xb-  Xr-  4n[        U R                  SU-  5        [        U R                  S5        UR                  5       u  pšU	b)  U R                  XU
5        [        U R                  S5        g g )Nr>   r   r¸   zA\pgfpathrectangle{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}r7  )r†   Úget_clip_rectangler!  rG   rE   Úget_clip_pathr"  )r˜   r&  r+  ÚbboxÚp1Úp2r  r  r.  ÚclippathÚclippath_transs              r*   r  ÚRendererPgf._print_pgf_clipó  sÃ   € Ø�—‘‰Mˆà×$Ñ$Ó&ˆÞØ—_‘_Ó&‰FˆBØ‘7‰DˆAØ˜‘U˜Q‘Y  1¡¨¡	¨1©5°!±%Ð7ˆFÜ�T—W‘WðIàñôô �T—W‘WÐ2Ô3ð $&×#3Ñ#3Ó#5Ñ ˆØÑØ× Ñ  ¨~Ô>Ü�T—W‘WÐ2Õ3ð  r=   c           	      ó$  • SSSS.n[        U R                  X1R                  5          5        SSSS.n[        U R                  XAR                  5          5        US LnUR	                  5       (       a  UR                  5       =pgO0UR                  5       S	   nU(       a  [        U5      S	:”  a  US	   OS
nU(       a;  [        U R                  S[        US S	 5      -  5        [        U R                  S5        U(       a  US
:w  a  [        U R                  SU-  5        UR                  5       [        -  [        -  nUR                  5       n	[        U R                  SU-  5        [        U R                  SU	S S	 -  5        [        U R                  S5        US
:w  a  [        U R                  SU-  5        UR                  5       u  p«Uc  [        U R                  S5        g [        U R                  SSR                  S U 5       5      U
4-  5        g )Nz\pgfsetbuttcapz\pgfsetroundcapz\pgfsetrectcap)ÚbuttÚroundÚ
projectingz\pgfsetmiterjoinz\pgfsetroundjoinz\pgfsetbeveljoin)Úmiterr_  Úbevelr9  r>   z(\definecolor{currentfill}{rgb}{%f,%f,%f}z\pgfsetfillcolor{currentfill}ú\pgfsetfillopacity{%f}r8  z*\definecolor{currentstroke}{rgb}{%f,%f,%f}z!\pgfsetstrokecolor{currentstroke}r:  z\pgfsetdash{}{0pt}z\pgfsetdash{%s}{%fpt}r   c              3   ó,   #   • U  H
  nS U-  v •  M     g7f)z{%fpt}Nrm   )rL   Údashs     r*   rN   Ú5RendererPgf._print_pgf_path_styles.<locals>.<genexpr>7  s   é € ÐGºY°T 	¨DÖ 0ºYùs   ‚)rG   rE   Úget_capstyleÚget_joinstyleÚget_forced_alphaÚ	get_alphaÚget_rgbrÇ   Útupler$  r=  r>  Ú
get_dashesr8   )r˜   r&  r*  Ú	capstylesÚ
joinstylesÚhas_fillÚfillopacityÚstrokeopacityrH  Ústroke_rgbaÚdash_offsetÚ	dash_lists               r*   r  Ú"RendererPgf._print_pgf_path_styles  sÜ  € à.Ø0Ø#4ñ6ˆ	ô 	�—‘˜)§O¡OÓ$5Ñ6Ô7ð  3Ø2Ø2ñ4ˆ
ô 	�—‘˜*×%5Ñ%5Ó%7Ñ8Ô9ð  $Ð&ˆà×Ñ× Ñ Ø*,¯,©,«.Ð8ˆK˜-àŸJ™J›L¨™OˆMÞ(0´S¸³\ÀAÓ5E˜' !š*È3ˆKæÜ�T—W‘WØ@Ü˜W R a˜[Ó)ñ*ô+ô �T—W‘WÐ>Ô?Þ˜ sÓ*Ü�T—W‘WÐ7¸+ÑEÔFð ×ÑÓ¤,Ñ.´Ñ?ˆØ—j‘j“lˆÜ�—‘Ð3°bÑ8Ô9Ü�—‘Ø>Ø˜r �?ñ#ô	$ô 	�—‘Ð>Ô?Ø˜CÓÜ�T—W‘WÐ9¸MÑIÔJð "$§¡£ÑˆØÑÜ�T—W‘WÐ3Õ4ä�T—W‘WØ-ØŸ™ÑG¹YÓGÓGØ#ð%ñ%õ&r=   c                 ó–  • SU R                   -  nU(       a  UR                  5       OS nSU R                   -  nU(       aR  UcO  UR                  5       u  p‰[        US   U* 5      [        US   U* 5      [	        U	S   U5      [	        U	S   U5      4n
OU* U* Xw4n
UR                  X:S9 GHc  u  p¼U[        R                  :X  a.  [        U5      u  pÞ[        U R                  SX]-  X^-  4-  5        MH  U[        R                  :X  a  [        U R                  S5        Mt  U[        R                  :X  a.  [        U5      u  pÞ[        U R                  SX]-  X^-  4-  5        M¶  U[        R                  :X  a=  [        U5      u  nnnnXõ-  UU-  UU-  UU-  4n[        U R                  S	U-  5        GM  U[        R                  :X  d  GM  [        U5      u  nnnnnnUU-  UU-  UU-  UU-  UU-  UU-  4n[        U R                  S
U-  5        GMf     U(       a  UR                  5       OS nUbŸ  Uu  nnnUb•  US-  nUS-  n[        U R                  S5        [        U R                  S5        [        U R                  SUU-  S SUU-  S S35        [        U R                  S[!        U5       S35        [        U R                  S5        g g g )Nr>   r  r   r¸   )r  z&\pgfpathmoveto{\pgfqpoint{%fin}{%fin}}z\pgfpathclosez&\pgfpathlineto{\pgfqpoint{%fin}{%fin}}zH\pgfpathquadraticcurveto{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}zW\pgfpathcurveto{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}g      à?é   z\usepgfmodule{decorations}z(\usepgflibrary{decorations.pathmorphing}z/\pgfkeys{/pgf/decoration/.cd, segment length = r+  zin, amplitude = zin}z\pgfmathsetseed{r0   z%\pgfdecoratecurrentpath{random steps})r†   rU  r!  ÚmaxÚminr%  r   ÚMOVETOrl  rG   rE   Ú	CLOSEPOLYÚLINETOÚCURVE3ÚCURVE4Úget_sketch_paramsÚint)r˜   r&  r)   rG  r*  r+  rW  r/  rX  rY  r  Úpointsr1  r2  r3  ÚcxÚcyÚpxÚpyr.  Úc1xÚc1yÚc2xÚc2yÚsketch_paramsrB  ÚlengthÚ
randomnesss                               r*   r"  ÚRendererPgf._print_pgf_path:  sÎ  € Ø�—‘‰Mˆæ*,ˆr×$Ñ$Ô&°$ˆØ  4§8¡8Ñ+ˆÞ�W‘_Ø—_‘_Ó&‰FˆBÜ˜˜1™ ˜yÓ)¬3¨r°!©u°x°iÓ+@Ü˜˜1™˜xÓ(¬#¨b°©e°XÓ*>ð@‰Dð �I ˜y¨(Ð=ˆDà ×.Ñ.¨yÐ.ÔD‰LˆFØ”t—{‘{Ó"Ü˜V“}‘�Ü˜Ÿ™ØBØ™% ¡˜ñ(ö)ð œŸ™Ó'Ü˜Ÿ™Ð"2Ö3ØœŸ™Ó$Ü˜V“}‘�Ü˜Ÿ™ØBØ™% ¡˜ñ(ö)ð œŸ™Ó$Ü!& v£‘��B˜˜BØ™  a¡¨¨a©°°a±Ð7�Ü˜Ÿ™ðMà!ñ"÷#ð œŸ™Ö$Ü-2°6«]Ñ*��S˜#˜s B¨Ø˜q™ #¨¡'¨3°©7°C¸!±G¸RÀ!¹VÀRÈ!ÁVÐK�Ü˜Ÿ™ð5ð "ñ	"÷#ñ/ Eö> 35˜×,Ñ,Ô.¸$ˆØÑ$ð )6Ñ%ˆE�6˜:ØÑ à˜#‘�Ø˜‘
�ä˜Ÿ™Ð"?Ô@Ü˜Ÿ™Ð"MÔNÜ˜Ÿ™ð #-Ø.4°q©j¸!Ð,<ð =(Ø).°©°A °dð#<ô =ô ˜Ÿ™Ð$6´s¸:³Ð6GÀrÐ"JÔKÜ˜Ÿ™Ð"JÕKð !ð %r=   c                 ó¸   • / nU(       a  UR                  S5        U(       a  UR                  S5        [        U R                  SSR                  U5      -  5        g )Nr  r  z\pgfusepath{%s}rõ   )rZ   rG   rE   r8   )r˜   r  r  Úactionss       r*   r#  ÚRendererPgf._pgf_path_draw|  sB   € ØˆÞØ�N‰N˜8Ô$ÞØ�N‰N˜6Ô"Ü�—‘Ð,¨s¯x©x¸Ó/@Ñ@ÕAr=   c                 ó   • g)NTrm   rÍ   s    r*   Úoption_scale_imageÚRendererPgf.option_scale_image„  s   € àr=   c                 ó2   • [         R                  S   (       + $ )Nzimage.composite_image)r5   r6   rÍ   s    r*   Úoption_image_nocompositeÚ$RendererPgf.option_image_nocompositeˆ  s   € ä—<‘<Ð 7Ñ8Ô8Ð8r=   c                 ó  • UR                   S S u  pgUS:X  d  US:X  a  g [        R                  R                  [	        U R
                  SS5      5      (       d  [        S5      e[        R                  " U R
                  R                  5      nSUR                  U R                  4-  n	[        R                  " US S S2   5      R                  UR                  U	-  5        U =R                  S-  sl        [!        U R
                  S	5        U R#                  U5        S
U R$                  -  n
Uc'  [!        U R
                  SX*-  X:-  4-  5        Xz-  Xj-  pgOXUR'                  5       R)                  5       u  p¼pÞnn[!        U R
                  SXº-  XÊ-  XÚ-  Xê-  Xò-   U
-  UU-   U
-  4-  5        S=pv[+        US L 5      R-                  5       n[!        U R
                  S[/        5       UXvU	4-  5        [!        U R
                  S5        g )Nrx  r   r!   r   zXstreamed pgf-code does not support raster graphics, consider using the pgf-to-pdf optionz%s-img%d.pngéÿÿÿÿr¸   r  r>   r  z/\pgfsys@transformcm{%f}{%f}{%f}{%f}{%fin}{%fin}zD\pgftext[left,bottom]{%s[interpolate=%s,width=%fin,height=%fin]{%s}}r  )Úshaper�   r)   ÚexistsÚgetattrrE   rw   r    r   r!   Ústemr  r   Ú	fromarrayÚsaver"   rG   r  r†   ÚfrozenÚ	to_valuesrv   Úlowerr  )r˜   r&  r2  r3  ÚimrG  r  r  r)   Ú	fname_imgr+  Útr1Útr2Útr3Útr4Útr5Útr6Úinterps                     r*   Ú
draw_imageÚRendererPgf.draw_imageŒ  sÙ  € ð �x‰x˜˜ˆ|‰ˆØ�‹6�Q˜!“VØä�w‰w�~‰~œg d§g¡g¨v°rÓ:×;Ñ;Üð.ó/ð /ô
 �|Š|˜DŸG™GŸL™LÓ)ˆØ" d§i¡i°×1CÑ1CÐ%DÑDˆ	Ü�Š˜™4˜R˜4™Ó!×&Ñ& t§{¡{°YÑ'>Ô?Ø×Ò˜aÑÕô 	�—‘Ð-Ô.Ø×Ñ˜RÔ Ø�—‘‰MˆØÑÜ�T—W‘WØ:¸a¹eÀQÁU¸^ÑKôMà‘5˜!™%‰qà+4×+;Ñ+;Ó+=×+GÑ+GÓ+IÑ(ˆC�c  SÜ�T—W‘WØGØ‘g˜s™w¨©°±Ø‘w !‘m c¨A¡g°¡]ð4ñ4ô5ð ˆIˆAÜ�Y $Ð&Ó'×-Ñ-Ó/ˆÜ�—‘ðDä.Ó0Ø˜! 	ð+ñ+ô	,ô
 	�—‘Ð+Õ,r=   )Úmtextc                ó*   • U R                  XX4XVSUS9  g )NÚTeX)Úismathr®  )Ú	draw_text)r˜   r&  r2  r3  rb   rc   Úangler®  s           r*   Údraw_texÚRendererPgf.draw_texµ  s   € à�‰�r˜a D¸ÀUˆÒKr=   c	                 óZ  • [        XE5      n[        U R                  S5        U R                  U5        UR	                  5       n	U	S:w  a2  [        U R                  SU	-  5        [        U R                  SU	-  5        [        UR                  5       5      S S n
[        U R                  SU
-  5        [        U R                  S5        [        U R                  S5        S	U-   nU R                  R                  n/ nU(       a°  US
:X  d  UR                  5       S:X  a–  UR                  5       S:w  a‚  UR                  5       nUR                  5       R                  U5      u  p#SSSS.nSSSSS.nUR                  SX+-  S S3SX;-  S S3XèR                  5          XøR                  5          /5        OUR!                  SX+-  S SX;-  S S35        US
:w  a  UR!                  SU-  5        [        U R                  SSR#                  U5      < SU< S35        [        U R                  S 5        g )!Nr  r>   rc  r:  r9  z&\definecolor{textcolor}{rgb}{%f,%f,%f}z\pgfsetstrokecolor{textcolor}z\pgfsetfillcolor{textcolor}z\color{textcolor}r   ÚanchorÚcenter_baselineÚleftÚrightr   )r¹  rº  ÚcenterÚtopÚbottomÚbase)r¼  r½  Úbaseliner»  zx=r+  Úinzy=zin, y=zin, left, basez	rotate=%fz	\pgftext[rõ   z]{r0   r  )rh   rG   rE   r  rj  rl  rk  r  r†   Úget_rotation_modeÚget_verticalalignmentÚget_unitless_positionÚget_transformrG  ÚextendÚget_horizontalalignmentrZ   r8   )r˜   r&  r2  r3  rb   rc   r³  r±  r®  ÚalphaÚrgbr†   Ú	text_argsÚposÚhalignÚvaligns                   r*   r²  ÚRendererPgf.draw_text¹  sü  € ô $ AÓ,ˆä�—‘Ð-Ô.Ø×Ñ˜RÔ à—‘“ˆØ�C‹<Ü�T—W‘WÐ7¸%Ñ?Ô@Ü�T—W‘WÐ9¸EÑAÔBÜ�B—J‘J“LÓ! " 1Ð%ˆÜ�—‘ÐCÀcÑIÔJÜ�—‘Ð:Ô;Ü�—‘Ð8Ô9Ø  1Ñ$ˆà�k‰k�o‰oˆØˆ	ÞØ˜!“Ø×(Ñ(Ó*¨hÓ6Ø×+Ñ+Ó-Ð1BÓBð ×-Ñ-Ó/ˆCØ×&Ñ&Ó(×2Ñ2°3Ó7‰DˆAØ$¨wÀ"ÑEˆFØ"¨hØ"(°Bñ8ˆFà×ÑØ�Q‘U˜1�I˜RÐ Ø�Q‘U˜1�I˜RÐ Ø×4Ñ4Ó6Ñ7Ø×2Ñ2Ó4Ñ5ð	õ ð ×Ñ˜r !¡%¨ ¨&°±°q°	¸ÐHÔIà�A‹:Ø×Ñ˜[¨5Ñ0Ô1ä�—’°·±¸)Ö1DÃaÐHÔIÜ�—‘Ð+Õ,r=   c                 óŠ   • [         R                  5       R                  X5      u  pEn[        U R                  -  nXG-  XW-  Xg-  4$ rK   )rª   r¶   rñ   r=  r†   )r˜   rb   rc   r±  r  r  r   r+  s           r*   Úget_text_width_height_descentÚ)RendererPgf.get_text_width_height_descenté  sG   € ô  ×2Ñ2Ó4ß,Ñ,¨QÓ5ñ 	ˆˆaô
 ˜4Ÿ8™8Ñ#ˆØ‰u�a‘e˜Q™UÐ"Ð"r=   c                 ó   • g)NFrm   rÍ   s    r*   ÚflipyÚRendererPgf.flipyô  s   € àr=   c                 óž   • U R                   R                  5       U R                  -  U R                   R                  5       U R                  -  4$ rK   )r  Úget_figwidthr†   Úget_figheightrÍ   s    r*   Úget_canvas_width_heightÚ#RendererPgf.get_canvas_width_heightø  s>   € à—‘×(Ñ(Ó*¨T¯X©XÑ5Ø—‘×)Ñ)Ó+¨d¯h©hÑ6ð8ð 	8r=   c                 ó.   • U[         -  U R                  -  $ rK   )r=  r†   )r˜   r‚  s     r*   Úpoints_to_pixelsÚRendererPgf.points_to_pixelsý  s   € àœÑ$ t§x¡xÑ/Ð/r=   )r†   rE   r  r  rK   )TF)FN)r¢   r£   r¤   r¥   r–   r4  rR  r  r  r"  r#  r“  r–  r¬  r´  r²  rÏ  rÒ  r×  rÚ  r¦   r§   r¨   s   @r*   r  r  x  sl   ø† õð( "ô$-ôL>1ò@4ò(1&ôf@LôDBòò9ô'-ðR ;?õ Lô.-ò`	#òò8÷
0ð 0r=   r  c                   óh   ^ • \ rS rSrSSSS.rS rSS.S	 jrS
 rSS.S jrS r	S r
U 4S jrSrU =r$ )ÚFigureCanvasPgfi  zLaTeX PGF picturezLaTeX compiled PGF picturezPortable Network Graphics)ÚpgfÚpdfÚpngc                 ó   • g)Nrß  rm   rÍ   s    r*   Úget_default_filetypeÚ$FigureCanvasPgf.get_default_filetype  s   € Ør=   N©Úbbox_inches_restorec          
      ó  • SnS/n[        5       R                  5        H  nUR                  SU-   5        M     UR                  S5        SR                  U5      nU R                  R                  5       U R                  R                  5       pvU R                  R                  nUR                  U5        UR                  U5        UR                  S5        [        US5        [        US5        [        US5        [        US	Xg4-  5        [        US
5        [        U R                  XgU[        U R                  U5      US9n	U R                  R                  U	5        [        US5        [        US5        [        US5        g )NaÉ  %% Creator: Matplotlib, PGF backend
%%
%% To include the figure in your LaTeX document, write
%%   \input{<filename>.pgf}
%%
%% Make sure the required packages are loaded in your preamble
%%   \usepackage{pgf}
%%
%% Also ensure that all the required font packages are loaded; for instance,
%% the lmodern package is sometimes necessary when using math font.
%%   \usepackage{lmodern}
%%
%% Figures using additional raster images can only be included by \input if
%% they are in the same directory as the main LaTeX file. For loading figures
%% from other directories you can use the `import` package
%%   \usepackage{import}
%%
%% and then include the figures with
%%   \import{<path to file>}{<filename>.pgf}
%%
z)%% Matplotlib used the following preamblez%%   z%%r.   z\begingroupz\makeatletterz\begin{pgfpicture}z:\pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{%fin}{%fin}}z&\pgfusepath{use as bounding box, clip}rä  z\end{pgfpicture}z\makeatotherz	\endgroup)r<   rø   rZ   r8   r  rÕ  rÖ  r†   rD   rG   r   r  Údraw)
r˜   rE   rå  Úheader_textÚheader_info_preamblerF   r  r  r†   Úrenderers
             r*   Ú_print_pgf_to_fhÚ FigureCanvasPgf._print_pgf_to_fh
  sO  € ðˆð. !LÐLÐÜ!“O×.Ñ.Ö0ˆDØ ×'Ñ'¨°$©Ö7ñ 1à×#Ñ# DÔ)Ø#Ÿy™yÐ)=Ó>Ðð �{‰{×'Ñ'Ó)¨4¯;©;×+DÑ+DÓ+Fˆ1Ø�k‰k�o‰oˆð 	�‰�ÔØ
�‰Ð%Ô&Ø
�‰�ŒÜ��^Ô$Ü�Ð%Ô&Ü�Ð*Ô+Ü�ØNØ�6ñô	ô 	�Ð>Ô?Ü$ T§[¡[°!¸Ü%0°·±¸bÓ%AØ9LñNˆð 	�‰×Ñ˜Ô"ô 	�Ð(Ô)Ü��_Ô%Ü��\Õ"r=   c                 óø   • [         R                  " USSS9 n[         R                  " U5      (       d  [        R                  " S5      " U5      nU R
                  " U40 UD6  SSS5        g! , (       d  f       g= f)za
Output pgf macros for drawing the figure so it can be included and
rendered in latex documents.
r  râ   ©rã   N)r   Úopen_file_cmÚfile_requires_unicodeÚcodecsÚ	getwriterrë  )r˜   Úfname_or_fhÚkwargsÚfiles       r*   Ú	print_pgfÚFigureCanvasPgf.print_pgfB  s^   € ô
 ×Ò ¨S¸7ÒCÀtÜ×.Ò.¨t×4Ñ4Ü×'Ò'¨Ô0°Ó6�Ø×!Ò! $Ñ1¨&Ò1÷ D×CÖCús   —AA+Á+
A9©Úmetadatac                ó  • U R                   R                  5       u  pE[        SU=(       d    0 5      nSR                  S UR	                  5        5       5      n[        5        n[        R                  " U5      n	U R                  " U	S-  40 UD6  U	S-  R                  SR                  [        SU-  SXE4-  S	[        5       S
SSS/	5      SS9  [        R                  S   n
[        R                  " U
SSSS/[         US9  U	S-  R#                  S5       n[        R$                  " US5       n[&        R(                  " X¼5        SSS5        SSS5        SSS5        g! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g= f)z3Use LaTeX to compile a pgf generated figure to pdf.rÞ  rõ   c              3   ó<   #   • U  H  u  p[        X5      v •  M     g 7frK   ©ry   ©rL   ÚkÚvs      r*   rN   Ú,FigureCanvasPgf.print_pdf.<locals>.<genexpr>Q  s    é € ð BÚ/@¡t qÔ˜Q×"Ð"Ò/@ùó   ‚z
figure.pgfz
figure.texr.   ú#\usepackage[pdfinfo={%s}]{hyperref}ú8\usepackage[papersize={%fin,%fin}, margin=0in]{geometry}ú\usepackage{pgf}r®   z
\centeringz\input{figure.pgf}z\end{document}râ   rî  r­   ú-interaction=nonstopmoderà   rá   ©rä   ú
figure.pdfÚrbÚwbN)r  Úget_size_inchesr   r8   Úitemsr   r    r   rö  Ú
write_textr¯   r<   r5   r6   r   Ú_check_and_log_subprocessr^   Úopenrï  ÚshutilÚcopyfileobj)r˜   ró  rù  rô  r  r  Ú	info_dictÚpdfinforÔ   ÚtmppathÚ
texcommandÚorigÚdests                r*   Ú	print_pdfÚFigureCanvasPgf.print_pdfL  sn  € à�{‰{×*Ñ*Ó,‰ˆä)¨%°·¸RÓ@ˆ	Ø—(‘(ñ BØ/8¯©Ô/@óBó Bˆô  Ô! VÜ—l’l 6Ó*ˆGØ�NŠN˜7 \Ñ1Ñ<°VÒ<Ø�|Ñ#×/Ñ/Ø—	‘	Ü"Ø:¸WÑDØOØ�fñà'Ü!“OØ'Ø!Ø)Ø%ðó ð %ð 0ñ &ô Ÿ™ oÑ6ˆJÜ×+Ò+ØÐ7Ð9IØ# \ð3Ü48¸fòFð ˜\Ñ)×/Ñ/°Ô5¸Ü×$Ò$ [°$Ô7¸4Ü×"Ò" 4Ô.÷ 8÷ 6÷) "Ð!÷* 8Õ7ú÷ 6Õ5ú÷) "Õ!ús=   Á"B1E=ÄE,Ä+EÅE,Å
E=Å
E)Å%E,Å,
E:	Å6E=Å=
Fc                 óà  • [        5       n[        5        n[        R                  " U5      nUS-  nUS-  nU R                  " U40 UD6  U" XgU R
                  R                  S9  UR                  S5       n[        R                  " US5       n	[        R                  " X‰5        SSS5        SSS5        SSS5        g! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g= f)z?Use LaTeX to compile a pgf figure to pdf and convert it to png.r  z
figure.png)r†   r  r	  N)r�   r   r    r   r  r  r†   r  r   rï  r  r  )
r˜   ró  rô  Ú	converterrÔ   r  Úpdf_pathÚpng_pathr  r  s
             r*   Ú	print_pngÚFigureCanvasPgf.print_pngm  s²   € ä-Ó/ˆ	ÜÔ! VÜ—l’l 6Ó*ˆGØ Ñ-ˆHØ Ñ-ˆHØ�NŠN˜8Ñ. vÒ.Ù�h¨d¯k©k¯o©oÒ>Ø—-‘- Ô%¨Ü×$Ò$ [°$Ô7¸4Ü×"Ò" 4Ô.÷ 8÷ &÷ "Ð!÷ 8Õ7ú÷ &Õ%ú÷ "Õ!ús<   •A CÁ5CÂB=Â$CÂ,CÂ=
CÃCÃ
C	ÃCÃ
C-c                 ó.   • [        U R                  S 5      $ rK   )r  r  rÍ   s    r*   Úget_rendererÚFigureCanvasPgf.get_rendererz  s   € Ü˜4Ÿ;™;¨Ó-Ð-r=   c                 óT   >• U R                   R                  5         [        TU ]  5       $ rK   )r  Údraw_without_renderingr•   rç  )r˜   rš   s    €r*   rç  ÚFigureCanvasPgf.draw}  s   ø€ Ø�‰×*Ñ*Ô,Ü‰w‰|‹~Ðr=   rm   )r¢   r£   r¤   r¥   Ú	filetypesrâ  rë  rö  r  r  r   rç  r¦   r§   r¨   s   @r*   rÝ  rÝ    sG   ø† Ø+Ø4Ø3ñ7€Iòð ;?õ 6#òp2ð 26õ /òB/ò.÷ó r=   rÝ  c                   ó   • \ rS rSr\rSrg)Ú_BackendPgfi…  rm   N)r¢   r£   r¤   r¥   rÝ  ÚFigureCanvasr¦   rm   r=   r*   r'  r'  …  s   † à"ƒLr=   r'  c                   óT   • \ rS rSrSrSS.S jrS rS rS rS	 r	S
 r
SS jrS rSrg)ÚPdfPagesiŠ  am  
A multi-page PDF file using the pgf backend

Examples
--------
>>> import matplotlib.pyplot as plt
>>> # Initialize:
>>> with PdfPages('foo.pdf') as pdf:
...     # As many times as you like, create a figure fig and save it:
...     fig = plt.figure()
...     pdf.savefig(fig)
...     # When no figure is specified the current figure is saved
...     pdf.savefig()
Nrø  c                ó®   • Xl         SU l        U=(       d    0 R                  5       U l        [	        SU R                  5      U l        [        5       U l        g)a!  
Create a new PdfPages object.

Parameters
----------
filename : str or path-like
    Plots using `PdfPages.savefig` will be written to a file at this
    location. Any older file with the same name is overwritten.

metadata : dict, optional
    Information dictionary object (see PDF reference section 10.2.1
    'Document Information Dictionary'), e.g.:
    ``{'Creator': 'My software', 'Author': 'Me', 'Title': 'Awesome'}``.

    The standard keys are 'Title', 'Author', 'Subject', 'Keywords',
    'Creator', 'Producer', 'CreationDate', 'ModDate', and
    'Trapped'. Values have been predefined for 'Creator', 'Producer'
    and 'CreationDate'. They can be removed by setting them to `None`.

    Note that some versions of LaTeX engines may ignore the 'Producer'
    key and set it to themselves.
r   rÞ  N)Ú_output_nameÚ
_n_figuresÚcopyÚ	_metadatar   Ú
_info_dictr   Ú_file)r˜   Úfilenamerù  s      r*   r–   ÚPdfPages.__init__š  s@   € ð. %ÔØˆŒØ"Ÿ. b×.Ñ.Ó0ˆŒÜ/°°t·~±~ÓFˆŒÜ“Yˆ�
r=   c           	      ó  • SR                  S U R                  R                  5        5       5      nSR                  [        SU-  SX4-  S[	        5       SS/5      nU R
                  R                  UR                  S	5      5        g )
Nrõ   c              3   ó<   #   • U  H  u  p[        X5      v •  M     g 7frK   rü  rý  s      r*   rN   Ú)PdfPages._write_header.<locals>.<genexpr>¸  s    é € ð HÚ/F¡t qÔ˜Q×"Ð"Ò/Fùr  r.   r  r  r  z\setlength{\parindent}{0pt}z\begin{document}%râ   )r8   r0  r  r¯   r<   r1  rD   Úencode)r˜   Úwidth_inchesÚheight_inchesr  r°   s        r*   Ú_write_headerÚPdfPages._write_header·  s†   € Ø—(‘(ñ HØ/3¯©×/DÑ/DÔ/FóHó Hˆà—y‘yÜØ2°WÑ<ØGØÐ+ñ,àÜ‹OØ*Ø ð	"
ó 	ˆð 	�
‰
×Ñ˜×,Ñ,¨WÓ5Õ6r=   c                 ó   • U $ rK   rm   rÍ   s    r*   Ú	__enter__ÚPdfPages.__enter__Æ  s   € Øˆr=   c                 ó$   • U R                  5         g rK   )Úclose)r˜   Úexc_typeÚexc_valÚexc_tbs       r*   Ú__exit__ÚPdfPages.__exit__É  s   € Ø�
‰
�r=   c                 ó®   • U R                   R                  S5        U R                  S:”  a  U R                  5         U R                   R	                  5         g)zk
Finalize this object, running LaTeX in a temporary directory
and moving the final pdf file to *filename*.
s   \end{document}\nr   N)r1  rD   r-  Ú
_run_latexr@  rÍ   s    r*   r@  ÚPdfPages.closeÌ  s=   € ð
 	�
‰
×ÑÐ-Ô.Ø�?‰?˜QÓØ�O‰OÔØ�
‰
×ÑÕr=   c                 ó�  • [         R                  S   n[        5        n[        R                  " US5      nUR                  U R                  R                  5       5        [        R                  " USSSU/[        US9  [        R                  " UR                  S5      U R                  5        S S S 5        g ! , (       d  f       g = f)Nr­   zpdf_pages.texr  rà   rá   r  z.pdf)r5   r6   r   r    r   Úwrite_bytesr1  Úgetvaluer   r  r^   r  ÚmoveÚwith_suffixr,  )r˜   r  rÔ   Ú
tex_sources       r*   rG  ÚPdfPages._run_latexÖ  s–   € Ü—\‘\ /Ñ2ˆ
ÜÔ! VÜ Ÿš f¨oÓ>ˆJØ×"Ñ" 4§:¡:×#6Ñ#6Ó#8Ô9Ü×+Ò+ØÐ7Ð9IØ# Zð1ä˜&ò"ô �KŠK˜
×.Ñ.¨vÓ6¸×8IÑ8IÔJ÷ "×!Ö!ús   žBB7Â7
Cc                 óê  • [        U[        5      (       dV  Uc  [        R                  " 5       nO[        R                  " U5      nUc  [        SU 35      eUR                  R                  nUR                  5       u  pEU R                  S:X  a  U R                  XE5        OU R                  R                  SXE4-  5        UR                  " U R                  4SSS.UD6  U =R                  S-  sl	        g)zý
Save a `.Figure` to this file as a new page.

Any other keyword arguments are passed to `~.Figure.savefig`.

Parameters
----------
figure : `.Figure` or int, default: the active figure
    The figure, or index of the figure, that is saved to the file.
Nz
No figure r   s„   \newpage\ifdefined\pdfpagewidth\pdfpagewidth\else\pagewidth\fi=%fin\ifdefined\pdfpageheight\pdfpageheight\else\pageheight\fi=%fin%%
rÞ  )r÷   Úbackendr¸   )rs   r   r   Ú
get_activeÚget_fig_managerrw   Úcanvasr  r
  r-  r:  r1  rD   Úsavefig)r˜   r  rô  Úmanagerrþ   rÿ   s         r*   rU  ÚPdfPages.savefigá  sÓ   € ô ˜&¤&×)Ñ)Ø‰~ÜŸ.š.Ó*‘ä×-Ò-¨fÓ5�Ø‰Ü  :¨f¨XÐ!6Ó7Ð7Ø—^‘^×*Ñ*ˆFà×.Ñ.Ó0‰ˆØ�?‰?˜aÓØ×Ñ˜uÕ-ð
 �J‰J×Ñðð !˜/ñ*ôð 	�Š�t—z‘zÐI¨%¸ÑIÀ&ÒIØ�Š˜1ÑŽr=   c                 ó   • U R                   $ )z=Return the current number of pages in the multipage pdf file.)r-  rÍ   s    r*   Úget_pagecountÚPdfPages.get_pagecount  s   € à�‰Ðr=   )r1  r0  r/  r-  r,  rK   )r¢   r£   r¤   r¥   r  r–   r:  r=  rD  r@  rG  rU  rY  r¦   rm   r=   r*   r*  r*  Š  s6   † ñð .2õ ò:7òòòò	Kô"õHr=   r*  )@rñ  rt   rÛ   Úior   ÚloggingrD  r�   r    r  r   Útempfiler   rÕ   ÚPILr   Ú
matplotlibr5   r   r   r   Úmatplotlib.backend_basesr   r	   r
   r   Ú!matplotlib.backends.backend_mixedr   Úmatplotlib.backends.backend_pdfr   r   Úmatplotlib.pathr   Úmatplotlib.figurer   Úmatplotlib.font_managerr   Úmatplotlib._pylab_helpersr   Ú	getLoggerr¢   r^   r¯   r<   Úlatex_pt_to_inr>  r=  Úmpl_in_to_ptrB   rG   rh   ry   r�   rú   r’   rª   rÜ   r  r  rÝ  ÚFigureManagerPgfÚexportr'  r*  rm   r=   r*   Ú<module>rl     s5  ðÛ Û Û Ý Û Û Û 	Û Û Û Ý 'Û å ã ß 0÷ó õ @÷-å  Ý $Ý 2Ý )à×Ò˜Ó"€ð ,€ò'ðX €Ø�nÑ$€Ø€Ø�LÑ €ò=òò*òZ ò(Aô6	�ô 	÷Uñ Uðp ×Ò�QÓñó ðôG0�,ô G0ôT}Ð&ô }ð@ %Ð ð 
‡�ô#�(ó #ó ð#÷}ò }r=   