ó
    {ñ:iË  ã            
       óD  • S 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
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rSSKrSSKrSSKrSSKJrJrJrJr  SSKJr  SSKJ r J!r!J"r"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.  SSK/J0r0  SSK1J2r2  SSK3J4r4  SSK5J6r6  \
Rn                  " \85      r9Sr:0 SS_SS_SS_SS_SS_SS_S S!_S"S#_S$S%_S&S'_S(S)_S*S+_S,S-_S.S/_S0S1_S2S3_S4S5_S6S7S8S9S:S;S<S=S>.Er;S?S@.SA jr<SB r=SC r>SD r?SE r@SF rASG rBSH rCSI rDSJ rE " SK SL\6RŒ                  5      rG " SM SN\5      rH " SO SP\!5      rISQ rJSR rKS]SS jrLS]ST jrM\Rœ                  " SU5      S^SV j5       rOSW rPSX rQS_SY jrR\"rS/ SZQrT\ Rª                   " S[ S\\ 5      5       rVg)`zG
A PostScript backend, which can produce both PostScript .ps and .eps.
é    N)ÚEnum)ÚStringIO)ÚTemporaryDirectory)Ú_apiÚcbookÚ_pathÚ_text_helpers)ÚAFM)Ú_BackendÚFigureCanvasBaseÚFigureManagerBaseÚRendererBase)Úis_writable_file_likeÚfile_requires_unicode)Úget_font)Ú	LoadFlags)Ú	uni2type1)ÚPath)Ú
TexManager)ÚAffine2D)ÚMixedModeRendereré   )Ú_backend_pdf_psFÚletter)ç      !@é   Úlegal)r   é   Úledger)r   é   Úa0)ç®GázŽ@@gHáz®gG@Úa1)ç¤p=
×c7@r"   Úa2)ç
×£p=Š0@r$   Úa3)çáz®Ga'@r&   Úa4)ç
×£p=Š @r(   Úa5)çR¸…ëQ@r*   Úa6)ç…ëQ¸…@r,   Úa7)çHáz®G@r.   Úa8)çffffff @r0   Úa9)ç\�Âõ(\÷?r2   Úa10)gR¸…ëQð?r4   Úb0)çfffffFD@g)\�Âõ¨L@Úb1)ç)\�Âõ¨<@r7   Úb2)ç…ëQ¸E4@r9   )ç)\�Âõ¨,@r;   )ç¸…ëQ8$@r<   )ç¤p=
×£@r=   )ç)\�Âõ(@r>   )ç¤p=
×£@r?   )ç®Gáz@r@   )ç)\�Âõ(ü?rA   )g)\�Âõ(ô?rB   )Úb3Úb4Úb5Úb6Úb7Úb8Úb9Úb10Ú )Úsepc                 ó2   • U R                  S U 5       5      $ )Nc              3   ód   #   • U  H&  oS  R                  S5      R                  S5      v •  M(     g7f)ú1.3fÚ0Ú.N)Úrstrip)Ú.0Úargs     Úa/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/matplotlib/backends/backend_ps.pyÚ	<genexpr>Ú_nums_to_str.<locals>.<genexpr>I   s+   é € ÐJÂT¸c˜4�j×(Ñ(¨Ó-×4Ñ4°S×9Ð9ÂTùs   ‚.0)Újoin)rL   Úargss     rU   Ú_nums_to_strrZ   H   s   € Ø�8‰8ÑJÁTÓJÓJÐJó    c                 ó  • [        U5      (       aH  [        U5      (       a
  [        U SS9O[        U S5      nU   [        R                  " X!5        SSS5        g[        R
                  " X[        R                  S9  g! , (       d  f       g= f)z|
Move the contents of file at *src* to path-or-filelike *dst*.

If *dst* is a path, the metadata of *src* are *not* copied.
úlatin-1©ÚencodingÚrbN)Úcopy_function)r   r   ÚopenÚshutilÚcopyfileobjÚmoveÚcopyfile)ÚsrcÚdstÚfhs      rU   Ú_move_path_to_path_or_streamrj   L   sj   € ô ˜S×!Ñ!ä& s×+Ñ+ô �3 Ò+ä˜˜T“?ð 	ò Ü×Ò˜rÔ'÷ ˆRô 	�Š�C¬F¯O©OÓ<÷ �Rús   ¹A=Á=
Bc                 ó0  ^
• [        U SS9m
U Vs/ s H  nT
R                  U5      PM     nnSR                  T
R                  ST
R                  -  SR                  [        [        T
R                  5      5      SR                  U
4S jU 5       5      [        U5      S-   S9nSn/ nU HÏ  nT
R                  U[        R                  5      nT
R                  5       u  p’UR                  ST
R                  U5      SR                  [        [        UR                   S	/UR                  Q5      5      S
.-  ["        R$                  " ['        U	S-  U5      SSSSS	/ SQS5      R)                  S5      -   S-   5        MÑ     USR                  U5      -   U-   $ s  snf )aU  
Subset *chars* from the font at *font_path* into a Type 3 font.

Parameters
----------
font_path : path-like
    Path to the font to be subsetted.
chars : str
    The characters to include in the subsetted font.

Returns
-------
str
    The string representation of a Type 3 font, which can be included
    verbatim into a PostScript file.
r   )Úhinting_factoraM  %!PS-Adobe-3.0 Resource-Font
%%Creator: Converted from TrueType to Type 3 by Matplotlib.
10 dict begin
/FontName /{font_name} def
/PaintType 0 def
/FontMatrix [{inv_units_per_em} 0 0 {inv_units_per_em} 0 0] def
/FontBBox [{bbox}] def
/FontType 3 def
/Encoding [{encoding}] def
/CharStrings {num_glyphs} dict dup begin
/.notdef 0 def
rK   c              3   óL   >#   • U  H  nS TR                  U5       3v •  M     g7f)Ú/N)Úget_glyph_name)rS   Úglyph_idÚfonts     €rU   rV   Ú$_font_to_ps_type3.<locals>.<genexpr>   s+   øé € ð 8Ú-6 ð  ! ×!4Ñ!4°XÓ!>Ð ?Õ@Ú-6ùs   ƒ!$)Ú	font_nameÚinv_units_per_emÚbboxr_   Ú
num_glyphszÿ
end readonly def

/BuildGlyph {
 exch begin
 CharStrings exch
 2 copy known not {pop /.notdef} if
 true 3 1 roll get exec
 end
} _d

/BuildChar {
 1 index /Encoding get exch get
 1 index /BuildGlyph get exec
} _d

FontName currentdict end definefont pop
z/%(name)s{%(bbox)s sc
r   )Únameru   é@   NF)ó   mó   lr[   ó   cr[   TÚasciizce} _dÚ
)r   Úget_char_indexÚformatÚpostscript_nameÚunits_per_EMrX   ÚmapÚstrru   ÚlenÚ
load_glyphr   ÚNO_SCALEÚget_pathÚappendro   ÚhoriAdvancer   Úconvert_to_stringr   Údecode)Ú	font_pathÚcharsÚcÚ	glyph_idsÚpreambleÚ	postambleÚentriesrp   ÚgÚvrq   s             @rU   Ú_font_to_ps_type3r•   \   s�  ø€ ô" �I¨aÑ0€DÙ16Ó7²¨A�×$Ñ$ QÖ'±€IÐ7ð÷ �F�T×)Ñ)Ø × 1Ñ 1Ñ1Ø—‘œœS $§)¡)Ó,Ó-Ø—H‘Hô 8Ù-6ó8ó 8ä˜)“n qÑ(ð ð *ð ð$€Ið& €GÛˆØ�O‰O˜H¤i×&8Ñ&8Ó9ˆØ�}‰}‹‰ˆØ�‰Ø%Ø×+Ñ+¨HÓ5ØŸ™¤¤S¨1¯=©=¸!Ð*E¸a¿f¹fÐ*EÓ!FÓGñ)ñ ô ×%Ò%ô �Q˜‘V˜Q“  t¨U°D¸!ò
 -¨dó4÷ 5;±F¸7³OñDð ñö	
ñ ð( �d—i‘i Ó(Ñ(¨9Ñ4Ð4ùòy 8s   �Fc           
      ó¸  • SR                  S U 5       5      n[        R                  SX5         0 nU R                  S5      (       a  SUS'   [        R
                  R                  " U 40 UD6 n[        R                  " X5       n[        R                  " U5      R                  5       n[        R                  SU [        R                  " U 5      R                  [        U5      5        UR                  [!        XVU5      5        SSS5        SSS5        g! , (       d  f       N= f! , (       d  f       g= f! ["         a    [        R%                  S	U 5        e f = f)
a
  
Subset *chars* from the font at *font_path* into a Type 42 font at *fh*.

Parameters
----------
font_path : path-like
    Path to the font to be subsetted.
chars : str
    The characters to include in the subsetted font.
fh : file-like
    Where to write the font.
Ú c              3   ó8   #   • U  H  n[        U5      v •  M     g 7f©N)Úchr)rS   rŽ   s     rU   rV   Ú%_font_to_ps_type42.<locals>.<genexpr>º   s   é € Ð/ª Aœ˜QŸ˜ªùs   ‚zSUBSET %s characters: %sz.ttcr   Ú
fontNumberzSUBSET %s %d -> %dNzIThe PostScript backend does not currently support the selected font (%s).)rX   Ú_logÚdebugÚendswithÚ	fontToolsÚttLibÚTTFontr   Úget_glyphs_subsetÚfont_as_fileÚgetvalueÚosÚstatÚst_sizer„   ÚwriteÚ_serialize_type42ÚRuntimeErrorÚwarning)rŒ   r�   ri   Ú
subset_strÚkwrq   ÚsubsetÚfontdatas           rU   Ú_font_to_ps_type42r±   ­   s  € ð —‘Ñ/©Ó/Ó/€JÜ‡J�JÐ)¨9ÔAðØˆð ×Ñ˜f×%Ñ%Ø ˆBˆ|ÑÜ�o‰o×$Ò$ YÑ5°"Ò5¸Ü×/Ò/°	ÔFÈ&Ü&×3Ò3°FÓ;×DÑDÓFˆHÜ�J‰JØ$ i´·²¸Ó1C×1KÑ1KÜ�H“ôð �H‰HÔ& t°XÓ>Ô?÷ G÷ 6Ð5ßFÕFú÷ 6Õ5ûô ó Ü�‰ØWØô	ð 	ð	úsB   °>D7 Á.D&ÂA?DÄD&ÄD7 Ä
D#	ÄD&Ä&
D4Ä0D7 Ä4D7 Ä7"Ec                 ó   • [        U R                  S5      U5      u  p4U S   nU S   n[        U5      n[        X!U5      n[        R
                  " SUS    SUS    SU S	   R                  S
 SUR                  S5       SUR                  S5       SUR                  S5       SUR                  S5       SUR                   SUR                  (       a  SOS SUR                   SUR                   S[        [        U 5      6  SU SU S35      $ )a?  
Output a PostScript Type-42 format representation of font

Parameters
----------
font : fontTools.ttLib.ttFont.TTFont
    The original font object
subset : fontTools.ttLib.ttFont.TTFont
    The subset font object
fontdata : bytes
    The raw font data in TTF format

Returns
-------
str
    The Type-42 formatted font
ÚlocaÚpostrw   z
        %%!PS-TrueTypeFont-r   rQ   r   Ú-Úheadz.7fzi
        10 dict begin
        /FontType 42 def
        /FontMatrix [1 0 0 1 0 0] def
        /FontName /é   z; def
        /FontInfo 7 dict dup begin
        /FullName (é   z) def
        /FamilyName (z) def
        /Version (é   z) def
        /ItalicAngle z def
        /isFixedPitch ÚtrueÚfalsez  def
        /UnderlinePosition z! def
        /UnderlineThickness zX def
        end readonly def
        /Encoding StandardEncoding def
        /FontBBox [z=] def
        /PaintType 0 def
        /CIDMap 0 def
        z	
        z9
        FontName currentdict end definefont pop
        )Ú_version_and_breakpointsÚgetÚ_generate_charstringsÚ_generate_sfntsÚtextwrapÚdedentÚfontRevisionÚgetDebugNameÚitalicAngleÚisFixedPitchÚunderlinePositionÚunderlineThicknessrZ   Ú_bounds)	rq   r¯   r°   ÚversionÚbreakpointsr´   rw   r�   Úsfntss	            rU   rª   rª   Ñ   s[  € ô$ 4°D·H±H¸VÓ4DÀhÓOÑ€GØ�‰<€DØ�‰<€DÜ! &Ó)€EÜ˜H¨kÓ:€EÜ�?Š?ð  Ø# A™J˜< q¨°©¨°A°d¸6±l×6OÑ6OÐPSÐ5Tð Uð ×%Ñ% aÓ(Ð)ð *à×%Ñ% aÓ(Ð)ð *Ø×'Ñ'¨Ó*Ð+ð ,Ø×$Ñ$ QÓ'Ð(ð )Ø×&Ñ&Ð'ð (Ø!%×!2×!2‘v¸Ð@ð AØ ×2Ñ2Ð3ð 4Ø!×4Ñ4Ð5ð 6ô !¤'¨$£-Ð0Ð1ð 2	ð 
ˆð 	Ø	ˆð 	ð)ó ð r[   c           	      ó¬  • [         R                  " SUSS 5      u  p#nX#4n0 n[        U5       HB  n[         R                  " SUSUS-  -   SUS-   S-  -    5      u  p‰p©X¦UR                  S5      '   MD     U b%  U R                  SS	  V
s1 s H
  o¦S
   U
-   iM     nn
O
[        5       n[        1 UR                  5       kUk[        U5      i5      nX\4$ s  sn
f )aT  
Read the version number of the font and determine sfnts breakpoints.

When a TrueType font file is written as a Type 42 font, it has to be
broken into substrings of at most 65535 bytes. These substrings must
begin at font table boundaries or glyph boundaries in the glyf table.
This function determines all possible breakpoints and it is the caller's
responsibility to do the splitting.

Helper function for _font_to_ps_type42.

Parameters
----------
loca : fontTools.ttLib._l_o_c_a.table__l_o_c_a or None
    The loca table of the font if available
fontdata : bytes
    The raw data of the font

Returns
-------
version : tuple[int, int]
    A 2-tuple of the major version number and minor version number.
breakpoints : list[int]
    The breakpoints is a sorted list of offsets into fontdata; if loca is not
    available, just the table boundaries.
z>3hNr·   z>4sIIIé   é   r   r|   éÿÿÿÿÚglyf)	ÚstructÚunpackÚranger‹   Ú	locationsÚsetÚsortedÚvaluesr„   )r³   r°   Úv1Úv2Ú	numTablesrÉ   ÚtablesÚiÚtagÚ_ÚoffsetÚglyf_breakpointsrÊ   s                rU   r¼   r¼     sî   € ô6 Ÿš e¨X°b°q¨\Ó:Ñ€BˆIØˆh€Gà€FÜ�9ÖˆÜ"ŸMšM¨(°H¸RÀ!ÀBÁ$¹YÀrÈQÈqÉSÐRTÉHÁ}Ð4UÓVÑˆ�Ø&,ˆs�z‰z˜'Ó"Ó#ñ ð ÑØBFÇ.Á.ÐQTÐRTÑBUÓVÒBU¸ 6™N¨VÔ3ÑBUÐÐVÐä›5ÐÜÐM˜6Ÿ=™=›?ÐMÐ-=ÐM¼sÀ8»}ÐMÓN€KàÐÐùò Ws   ÂCc                 óô   • U R                  S5      n[        R                  R                  R	                  U5      nUR                  5        H  nX   R                  U5        M     UR                  =(       d    S$ )a?  
Compute the font bounding box, as if all glyphs were written
at the same start position.

Helper function for _font_to_ps_type42.

Parameters
----------
font : fontTools.ttLib.ttFont.TTFont
    The font

Returns
-------
tuple
    (xMin, yMin, xMax, yMax) of the combined bounding box
    of all the glyphs in the font
F)r   r   r   r   )ÚgetGlyphSetr    ÚpensÚ	boundsPenÚ	BoundsPenÚkeysÚdrawÚbounds)rq   ÚgsÚpenrw   s       rU   rÈ   rÈ   ,  s[   € ð$ 
×	Ñ	˜%Ó	 €BÜ
�.‰.×
"Ñ
"×
,Ñ
,¨RÓ
0€CØ—‘–	ˆØ
‰�‰�cÖñ à�:‰:×%˜Ð%r[   c                 óŽ   • U R                  5       nS[        U5       S3n[        U5       H  u  p4USU SU S3-  nM     US-  nU$ )zì
Transform font glyphs into CharStrings

Helper function for _font_to_ps_type42.

Parameters
----------
font : fontTools.ttLib.ttFont.TTFont
    The font

Returns
-------
str
    A definition of the CharStrings dictionary in PostScript
z/CharStrings z dict dup begin
rn   rK   z def
zend readonly def)ÚgetGlyphOrderr„   Ú	enumerate)rq   ÚgoÚsrÜ   rw   s        rU   r¾   r¾   E  s^   € ð  
×	Ñ	Ó	€BØ
œ˜B›�yÐ 1Ð2€AÜ˜R–=‰ˆØ	ˆq���a˜�s˜&Ð!Ñ!Šñ !àÐ	Ñ€AØ€Hr[   c           	      ó>  ^• SmSnU[        U 5      :  aV  [        R                  " X#S-   5      nX$S-
     nXS::  a  US   nTSXU R                  5        S3-  mUnU[        U 5      :  a  MV  TS-  mS	R	                  U4S
 j[        S[        T5      S5       5       5      $ )aŸ  
Transform font data into PostScript sfnts format.

Helper function for _font_to_ps_type42.

Parameters
----------
fontdata : bytes
    The raw data of the font
font : fontTools.ttLib.ttFont.TTFont
    The fontTools font object
breakpoints : list
    Sorted offsets of possible breakpoints

Returns
-------
str
    The sfnts array for the font definition, consisting
    of hex-encoded strings in PostScript format
z/sfnts[r   iþÿ  r   rÏ   Ú<z00>z]defr}   c              3   ó2   >#   • U  H  nTXS -    v •  M     g7f)éd   N© )rS   rÜ   rï   s     €rU   rV   Ú"_generate_sfnts.<locals>.<genexpr>}  s   øé € Ð?Ò)> A�Q�q˜3™•ZÒ)>ùs   ƒró   )r„   ÚbisectÚbisect_leftÚhexrX   rÓ   )r°   rq   rÊ   ÚposrÜ   Únewposrï   s         @rU   r¿   r¿   ]  s«   ø€ ð* 	€AØ
€CØ
”�H“Ó
Ü×Ò˜{°%©KÓ8ˆØ˜q™SÑ!ˆØ‹=à  ‘_ˆFØ	ˆq�˜fÐ%×)Ñ)Ó+Ð,¨CÐ0Ñ0ˆØˆð ”�H“Õ
ð ˆ�K€AØ�9‰9Ô?¬¨q´#°a³&¸#Ô)>Ó?Ó?Ð?r[   c                 óF   ^ • [         R                  " T 5      U 4S j5       nU$ )zq
Wrap `RendererPS` method *meth* to emit a PS comment with the method name,
if the global flag `debugPS` is set.
c                 ó„   >• [         (       a)  U R                  R                  STR                   S35        T" U /UQ70 UD6$ )Nz% r}   )ÚdebugPSÚ	_pswriterr©   Ú__name__)ÚselfrY   ÚkwargsÚmeths      €rU   ÚwrapperÚ!_log_if_debug_on.<locals>.wrapper…  s<   ø€ çŠ7Ø�N‰N× Ñ  2 d§m¡m _°BÐ!7Ô8Ù�DÐ*˜4Ò* 6Ñ*Ð*r[   )Ú	functoolsÚwraps)r  r  s   ` rU   Ú_log_if_debug_onr  €  s'   ø€ ô
 ‡_‚_�TÓô+ó ð+ð
 €Nr[   c                   ó€  ^ • \ rS rSrSr\R                  " S5      rSrS!U 4S jjr	S r
S"S jrS"S	 jr\S
 5       rS"S jr\S 5       rS"S jrS"S jrS"S jrS rS rS#S jrS r\S$S j5       r\S$S j5       r\ S$S j5       r\S 5       r\SS.S j5       r\S#S j5       r\S 5       r\S 5       r SSS.S jr!S r"U =r#$ )%Ú
RendererPSiŽ  zt
The renderer handles all the drawing primitives using a graphics
context instance that controls the colors/styles.
z	fonts/afmú	ps.useafmc                 ó®  >• [         TU ]  X5        X0l        [        R                  S   (       a  SU l        / U l        X@l        S U l        S U l	        S U l
        S U l        S U l        S U l        S U l        0 U l        US-  U l        0 U l        SU l        [&        R(                  " 5       U l        [,        R.                  " [0        R2                  5      U l        g )Nútext.usetexr   éH   )ÚsuperÚ__init__rþ   ÚmplÚrcParamsÚtextcntÚpsfragÚimagedpiÚcolorÚ	linewidthÚlinejoinÚlinecapÚlinedashÚfontnameÚfontsizeÚ_hatchesÚimage_magnificationÚ_clip_pathsÚ_path_collection_idr   ÚCharacterTrackerÚ_character_trackerr  Úcacher�   r¬   Ú_logwarn_once)r   ÚwidthÚheightÚpswriterr  Ú	__class__s        €rU   r  ÚRendererPS.__init__—  s²   ø€ ô 	‰Ñ˜Ô'Ø!ŒÜ�<‰<˜×&ØˆDŒLØˆDŒKØ Œð ˆŒ
ØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØ#+¨b¡=ˆÔ ØˆÔØ#$ˆÔ ä"1×"BÒ"BÓ"DˆÔÜ&Ÿ_š_¬T¯\©\Ó:ˆÕr[   c                 ót   • Uc  g[        U5      S:X  a%  US   S:X  a  gUS   S:w  a  U R                  S5        gg)NTr¸   é   r   r   zlThe PostScript backend does not support transparency; partially transparent artists will be rendered opaque.F)r„   r#  )r   Úrgb_or_rgbas     rU   Ú_is_transparentÚRendererPS._is_transparent²  sP   € ØÑØÜ�Ó Ó"Ø˜1‰~ Ó"ØØ˜1‰~ Ó"Ø×"Ñ"ðMôNð àr[   Tc                 óÖ   • XU4U R                   :w  aW  U R                  R                  Xs=:X  a  U:X  a  O  O[        U5       S3O[        XU5       S35        U(       a
  XU4U l         g g g )Nz	 setgray
z setrgbcolor
)r  rþ   r©   rZ   )r   Úrr“   ÚbÚstores        rU   Ú	set_colorÚRendererPS.set_colorÀ  sk   € Ø�!ˆ9˜Ÿ
™
Ó"Ø�N‰N× Ñ Ø$%¥K¨a¦Kô %1°£OÐ#4°JÑ!?ä$0°°qÓ$9Ð#:¸.Ð!IôKö Ø A˜Y�•
ð ð	 #r[   c                 ó¤   • [        U5      nXR                  :w  a6  U R                  R                  [	        U5       S35        U(       a  Xl        g g g )Nú setlinewidth
)Úfloatr  rþ   r©   rZ   )r   r  r1  s      rU   Úset_linewidthÚRendererPS.set_linewidthÈ  sG   € Ü˜)Ó$ˆ	ØŸ™Ó&Ø�N‰N× Ñ ¤L°Ó$;Ð#<¸OÐ!LÔMÞØ!*•ð ð 'r[   c                 ó&   • SSSSSSS.U    n U S S3$ )Nr   r   é   )ÚmiterÚroundÚbevelr   r   r:  Údz setlinejoin
rô   )r  s    rU   Ú_linejoin_cmdÚRendererPS._linejoin_cmdÏ  s-   € ð ¨°Q¸1ÀÀqÑIØñˆà˜1�˜^Ð,Ð,r[   c                 ó”   • XR                   :w  a9  U R                  R                  U R                  U5      5        U(       a  Xl         g g g r™   )r  rþ   r©   r?  )r   r  r1  s      rU   Úset_linejoinÚRendererPS.set_linejoinÖ  s;   € Ø—}‘}Ó$Ø�N‰N× Ñ  ×!3Ñ!3°HÓ!=Ô>ÞØ (•ð ð %r[   c                 ó&   • SSSSSSS.U    n U S S3$ )Nr   r   r:  )Úbuttr<  Ú
projectingr   r   r:  r>  z setlinecap
rô   )r  s    rU   Ú_linecap_cmdÚRendererPS._linecap_cmdÜ  s-   € ð  q¸¸aÀAÈ!ÑLØñˆà˜!�˜MÐ*Ð*r[   c                 ó”   • XR                   :w  a9  U R                  R                  U R                  U5      5        U(       a  Xl         g g g r™   )r  rþ   r©   rG  )r   r  r1  s      rU   Úset_linecapÚRendererPS.set_linecapã  s;   € Ø—l‘lÓ"Ø�N‰N× Ñ  ×!2Ñ!2°7Ó!;Ô<ÞØ&•ð ð #r[   c                 ó(  • U R                   b/  U R                   u  pE[        R                  " X%5      (       a  XA:X  a  g U R                  R	                  Ub(  [        U5      (       a  S[        U6  S[        U5       S3OS5        U(       a	  X4U l         g g )NÚ[z] z	 setdash
z[] 0 setdash
)r  ÚnpÚarray_equalrþ   r©   r„   rZ   )r   rß   Úseqr1  ÚoldoÚoldseqs         rU   Úset_linedashÚRendererPS.set_linedashé  s‚   € Ø�=‰=Ñ$ØŸ=™=‰LˆDÜ�~Š~˜c×*Ñ*¨t«~Øà�‰×ÑØ #¡´C¸·H±Hð  !¤¨sÐ!3Ð 4°B´|ÀFÓ7KÐ6LÈJÑWà-ô	/ö Ø#˜MˆD�Mð r[   c                 ó®   • X4U R                   U R                  4:w  a8  U R                  R                  SU SUS S35        U(       a  Xl         X l        g g g )Nrn   rK   rO   ú selectfont
)r  r  rþ   r©   )r   r  r  r1  s       rU   Úset_fontÚRendererPS.set_fontõ  sU   € ØÐ D§M¡M°4·=±=Ð#AÓAØ�N‰N× Ñ  1 X J¨a°¸¨¸mÐ!LÔMÞØ (”Ø (•ð ð Br[   c                 ó˜  • SnXR                   ;   a  U R                   U   $ S[        U R                   5      -  nU R                  S-  nU R                  R	                  SUS SUS SUS SUS SUS	 S
U R                  [        R                  " U5      [        5       R                  U5      SS9 SUS	 SU S35        X@R                   U'   U$ )Nr  zH%dzH  << /PatternType 1
     /PaintType 2
     /TilingType 2
     /BBox[0 0 r>  rK   z]
     /XStep z
     /YStep z(

     /PaintProc {
        pop
        r“   r5  F©Úsimplifyz]
        gsave
        fill
        grestore
        stroke
     } bind
   >>
   matrix
   0 z translate
   makepattern
   /z
 exch def
)
r  r„   r%  rþ   r©   Ú_convert_pathr   Úhatchr   Úscale)r   r]  r  Úsidelenrw   Ú
pageheights         rU   Úcreate_hatchÚRendererPS.create_hatchü  sø   € ØˆØ—M‘MÓ!Ø—=‘= Ñ'Ð'Ø”s˜4Ÿ=™=Ó)Ñ)ˆØ—[‘[ 2Ñ%ˆ
Ø�‰×Ñð "ð ˜ˆ{˜!˜G A˜;ð 'Ø�QˆKð Ø�QˆKð 	ð 
�1ˆð Ø×Ñ”D—J’J˜uÓ%¤x£z×'7Ñ'7¸Ó'@È5ÐÐQÐ Rð Sð �€^ð à	€Fð ð+ô 	ð.  $�‰�eÑØˆr[   c                 ó   • U R                   $ )z�
Get the factor by which to magnify images passed to draw_image.
Allows a backend to have images at a different resolution to other
artists.
)r  ©r   s    rU   Úget_image_magnificationÚ"RendererPS.get_image_magnification  s   € ð ×'Ñ'Ð'r[   Nc           
      ó®   • U(       a!  SSU R                   S-  U R                  S-  4nOS n[        R                  " XX4S S/ SQS5      R	                  S5      $ )Ng        g      R@r·   )ry   rz   r[   r{   s   clTr|   )r$  r%  r   rŠ   r‹   )r   ÚpathÚ	transformÚclipr[  s        rU   r\  ÚRendererPS._convert_path$  sV   € ÞØ˜˜dŸj™j¨4Ñ/°·±¸tÑ1CÐD‰DàˆDÜ×&Ò&Ø˜T¨TØÒ-¨tó5ç5;±V¸G³_ð	Er[   c                 ó  • / nUR                  5       nUb3  UR                  [        / UR                  QUR                  Q76  S35        UR                  5       u  pEUb•  U[        U5      4nU R                  R                  U5      nUcV  S[        U R                  5      -  nU R                  R                  SU SU R                  XESS9 S35        XpR                  U'   UR                  U S35        S	R                  U5      $ )
Nú
 rectclip
zc%drn   z {
FrZ  z
clip
newpath
} bind def
r}   r—   )Úget_clip_rectanglerˆ   rZ   Úp0ÚsizeÚget_clip_pathÚidr  r½   r„   rþ   r©   r\  rX   )r   Úgcrj  Úrectrh  ÚtrfÚkeyÚcustom_clip_cmds           rU   Ú_get_clip_cmdÚRendererPS._get_clip_cmd-  s  € ØˆØ×$Ñ$Ó&ˆØÑØ�K‰Kœ<Ð=¨¯©Ð=°4·9±9Ò=Ð>¸kÐJÔKØ×$Ñ$Ó&‰	ˆØÑØœ˜C›�/ˆCØ"×.Ñ.×2Ñ2°3Ó7ˆOØÑ&Ø"'¬#¨d×.>Ñ.>Ó*?Ñ"?�Ø—‘×$Ñ$ð *ØÐð Ø×Ñ�D¨ÐÐ.Ð /ð 0ð&ô ð )8× Ñ  Ñ%Ø�K‰K˜?Ð+¨2Ð.Ô/Ø�w‰w�t‹}Ðr[   c                 ó  • UR                   S S u  pgSnUS S S2S S 2S S24   n	U	R                  5       R                  SS5      n
Uc  SnXpR                  -  nX`R                  -  nO?SR	                  [        [        UR                  5       R                  5       5      5      nS	nS	nU R                  R                  S
U R                  U5       SUS SUS SU SUS SUS SUS SUS SUS SUS SUS SUS SU SU
 S35        g )Nr:  zfalse 3 colorimagerÏ   r*  r}   éÀÿÿÿz1 0 0 1 0 0rK   g      ð?úgsave
r“   z translate
[z	] concat
z scale
/DataString r>  z string def
z 8 [ z 0 0 -z 0 z5 ]
{
currentfile DataString readhexstring pop
} bind ú

grestore
)ÚshapeÚtobytesrø   r  rX   r‚   rƒ   ÚfrozenÚ	to_valuesrþ   r©   rx  )r   rs  ÚxÚyÚimri  ÚhÚwÚimagecmdÚdataÚhexdataÚmatrixÚxscaleÚyscales                 rU   Ú
draw_imageÚRendererPS.draw_imageC  sS  € ð �x‰x˜˜ˆ|‰ˆØ'ˆØ‘$�B�$š˜2˜A˜2�+‰ˆØ—,‘,“.×$Ñ$ T¨3Ó/ˆàÑØ"ˆFØ×1Ñ1Ñ1ˆFØ×1Ñ1Ñ1‰Fà—X‘Xœc¤# y×'7Ñ'7Ó'9×'CÑ'CÓ'EÓFÓGˆFØˆFØˆFà�‰×Ñð "à×Ñ�BÓÐ ð Ø€1€€Q€qˆ€eð Ø€ð 
Øˆ€
ˆ!ˆF�1ˆ:ð ØˆqˆEð Ø€1€€Q€qˆ€eˆ5��1��V˜A˜a˜5  A a 5ð )	ð 
ˆ
ð Ø€	ð 
ðõ 	r[   c                 ó¬   • US L =(       a    UR                  5       S L nUR                  =(       a    UnU R                  X#XVS9nU R                  XqU5        g )N©rj  r[  )Úget_hatch_pathÚshould_simplifyr\  Ú_draw_ps)r   rs  rh  ri  ÚrgbFacerj  r[  Úpss           rU   Ú	draw_pathÚRendererPS.draw_pathd  sS   € ð ˜$ˆ×> 2×#4Ñ#4Ó#6¸$Ð#>ˆØ×'Ñ'×0¨DˆØ×Ñ °dÐÐNˆØ�‰�b˜gÕ&r[   c                 óÖ  • U R                  U5      (       a  S O7US   US   s=:X  a	  US   :X  a  O  O[        US   5       S3O[        US S 6  S3n/ SQnUR                  5       n	UR                  5       (       d  [	        UR                  5       5      S:X  a  UR                  5       OUR                  5       S   n
U	S:„  =(       a    U
S:„  nU(       ap  UR                  SU	-  5        UR                  U R                  UR                  5       5      5        UR                  U R                  UR                  5       5      5        UR                  U R                  X#S	S
95        U(       aJ  U(       a  UR                  S5        U(       a  UR                  US/5        U(       a  UR                  S5        U(       a  UR                  S5        UR                  SS/5        UR                  USSU R                  S-  U R                   S-  4S	S9 H7  u  pÍ[	        U5      (       d  M  USS  u  pïUR                  US SUS S35        M9     SR#                  U5      nU R%                  UXS	S	S9  g )Nr   r   r:  z setgrayr*  z setrgbcolor)z/o {ÚgsaveÚnewpathÚ	translatez%.1f setlinewidthFrZ  r™  ÚfillÚgrestoreÚstrokez
} bind defr  r�  éþÿÿÿr“   rK   z or}   ©rœ  rž  )r,  rZ   Úget_linewidthÚget_forced_alphar„   Úget_rgbÚ	get_alpharˆ   r?  Úget_joinstylerG  Úget_capstyler\  ÚextendÚiter_segmentsr$  r%  rX   r“  )r   rs  Úmarker_pathÚmarker_transrh  Útransr”  Úps_colorÚps_cmdÚlwÚalpharž  ÚverticesÚcoder‚  rƒ  r•  s                    rU   Údraw_markersÚRendererPS.draw_markersl  s1  € ð ×#Ñ# G×,Ñ,ñ ð �q‰z˜W Q™ZÕ5¨7°1©:Ö5ô ! ¨¡Ó,Ð-¨XÑ6ä  '¨"¨1 +Ð.Ð/¨|Ð<ð 	ò ;ˆà×ÑÓˆà×'Ñ'×)Ñ)¬S°·±³Ó->À!Ó-Cð —‘”à—j‘j“l 1‘oð 	ð �a‘×%˜E A™IˆÞØ�M‰MÐ-°Ñ2Ô3Ø�M‰M˜$×,Ñ,¨R×-=Ñ-=Ó-?Ó@ÔAØ�M‰M˜$×+Ñ+¨B¯O©OÓ,=Ó>Ô?à�‰�d×(Ñ(¨Ø27ð )ð 9ô 	:ö ÞØ—‘˜gÔ&ÞØ—‘˜x¨Ð0Ô1ÞØ—‘˜jÔ)æØ�M‰M˜(Ô#Ø�‰�z <Ð0Ô1à"×0Ñ0ØØ˜˜DŸJ™J r™M¨4¯;©;°r©>Ð:Øð 1ó  ‰NˆHô �8�}‹}Ø  �}‘�Ø—‘  1  Q q¨ e¨2Ð.Ö/ñ ð �Y‰Y�vÓˆØ�‰�b˜"¨E¸%ˆÒ@r[   c                 óš  • [        U5      S:”  a  [        US   R                  5      OSnU R                  X4XWU5      nUSU-  -   S-   US-   U-  :  nU(       d  [        R                  " XX#UXVXxXšX¼U5      $ / n[        U R                  X#U5      5       H^  u  nu  nnSU R                  U4-  nU R                  UUSS9nU R                  R                  SU SU S	35        UR                  U5        M`     U R                  UUXVXxXšX¼U5       H(  u  nnnnnUS
 SUS
 SU 3nU R                  UUU5        M*     U =R                  S-  sl        g )Nr   r*  r:  zp%d_%dFrZ  rn   z {
newpath
translate
z
} bind def
r“   rK   r   )r„   r°  Ú_iter_collection_uses_per_pathr   Údraw_path_collectionrí   Ú_iter_collection_raw_pathsr  r\  rþ   r©   rˆ   Ú_iter_collectionr“  )r   rs  Úmaster_transformÚpathsÚall_transformsÚoffsetsÚoffset_transÚ
facecolorsÚ
edgecolorsÚ
linewidthsÚ
linestylesÚantialiasedsÚurlsÚoffset_positionÚlen_pathÚuses_per_pathÚshould_do_optimizationÚ
path_codesrÜ   rh  ri  rw   Ú
path_bytesÚxoÚyoÚpath_idÚgc0r”  r•  s                                rU   r¶  ÚRendererPS.draw_path_collection¡  s   € ô .1°«Z¸!«^”3�u˜Q‘x×(Ñ(Ô)ÀˆØ×;Ñ;Ø 7¸
óDˆð �q˜=Ñ(Ñ(¨1Ñ,°¸1±ÀÑ/MÑMð 	æ%Ü×4Ò4ØÐ*°>Ø zØ¨Øó	!ð !ð ˆ
Ü$-¨d×.MÑ.MØ ¨ó/9ö %:Ñ ˆAÑ ��ià˜t×7Ñ7¸Ð;Ñ;ˆDØ×+Ñ+¨D°)ÀeÐ+ÐLˆJØ�N‰N× Ñ ð &Ø€ð ð €ð ð	"ô ð ×Ñ˜dÖ#ñ%:ð .2×-BÑ-BØ�J Ø¨
Ø Oö.5Ñ)ˆB��G˜S 'ð �q�6˜˜2˜a˜&  ' Ð+ˆBØ�M‰M˜"˜c 7Ö+ñ.5ð 	× Ò  AÑ%Ö r[   )Úmtextc          
      ó,  • U R                  UR                  5       5      (       a  g [        U S5      (       d'  U R                  S5        U R	                  XX4XVSU5        g U R                  XESS9u  p‰n
UR                  5       nSU R                  -  n[        UR                  5       S S SS	06nS
SS.R                  [        R                  S   S   S5      nXä-  nSU< SU< 3n[        R                  " US-   5      n[        X*[        R                  " U5      -  -
  X:[        R                  " U5      -  -
  5      nU R                   R#                  SXÆX»S-  U4-  5        U R$                  R'                  SU SU S35        U =R                  S-  sl        g )Nr  zÆThe PS backend determines usetex status solely based on rcParams['text.usetex'] and does not support having usetex=True only for some elements; this element will thus be rendered as if usetex=False.FÚTeX)Úismathz
psmarker%dr*  rL   Ú,z{\sffamily %s}z{\ttfamily %s})z
sans-serifÚ	monospacezfont.familyr   z{\rmfamily %s}z\color[rgb]{z} éZ   z/\psfrag{%s}[bl][bl][1][%f]{\fontsize{%f}{%f}%s}g      ô?r|  z	 moveto
(z)
show
grestore
r   )r,  r£  Úhasattrr#  Ú	draw_textÚget_text_width_height_descentÚget_size_in_pointsr  rZ   r½   r  r  rN  ÚradiansÚcosÚsinr  rˆ   rþ   r©   )r   rs  r‚  rƒ  rï   ÚpropÚanglerÏ  r†  r…  Úblr  Úthetextr  ÚfontcmdÚtexÚranglerù   s                     rU   Údraw_texÚRendererPS.draw_texÎ  s—  € ð ×Ñ §
¡
£×-Ñ-Øä�t˜X×&Ñ&Ø×Ñð2ô3ð
 �N‰N˜2 !¨°U¸EÔBØà×5Ñ5°aÀeÐ5ÐL‰ˆˆbØ×*Ñ*Ó,ˆØ §¡Ñ-ˆÜ˜bŸj™j›l¨2¨AÐ.Ð8°CÑ8ˆØ!2Ø 1ñ3ß36±3Ü—|‘| MÑ2°1Ñ5Ð7Hó4Jð 	ð ‰K‰Û',ªaÐ0ˆô —’˜E B™JÓ'ˆÜ˜1¤B§F¢F¨6£NÑ2Ñ2°A¼R¿VºVÀF»^Ñ8KÑ4KÓLˆØ�‰×ÑØ>Ø °4©-¸ðB>ñ >ô	?ð 	�‰×Ñð "à€ð Ø	€ð ðô 	ð 	�Š˜ÑŽr[   c	                 óÀ  • U R                  UR                  5       5      (       a  g US:X  a  U R                  XX4XV5      $ U(       a  U R                  XX4XV5      $ / n	[        R
                  S   (       aÓ  U R                  U5      n
U
R                  R                  SS5      R                  S5      nSUR                  5       -  nSnS nU Hy  n[        R                  " [        U5      S[        U5      S 35      n U
R                  U5      nU
R#                  UU5      nUnUUU-  -  nU	R%                  X½U45        UUU-  -  nM{     OÁU R'                  U5      n
U R(                  R+                  X¤5        [,        R.                  " XJ5       H{  nUR0                  R                  R                  SS5      R                  S5      nUR0                  R3                  UR4                  5      nU	R%                  UUR6                  U45        M}     U R8                  " UR                  5       6   [:        R<                  " U	S 5       H{  u  nnU R?                  XµR                  5       S5        SRA                  S U 5       5      nU RB                  RE                  SU RG                  U5       SUS SUS SUS SU S35        M}     g ! [         a    S	nU
R!                  S
5      n GNÒf = f)NrÑ  r
  r|   Úreplacegü©ñÒMbP?r   ÚuniÚ04XÚquestionÚ?c                 ó   • U S   $ )Nr   rô   )Úentrys    rU   Ú<lambda>Ú&RendererPS.draw_text.<locals>.<lambda>&  s   € ¨e°Aªhr[   Fr}   c              3   ó<   #   • U  H  u  pnUS  SUS S3v •  M     g7f)r“   z 0 m /rï   z
 glyphshowNrô   )rS   rÞ   r‚  rw   s       rU   rV   Ú'RendererPS.draw_text.<locals>.<genexpr>(  s,   é € ð  9Ú27¡J A¨$ð $% Q % v¨d°1¨X°ZÕ @Ú27ùs   ‚r|  r“   rK   ú translate
ú rotate
r}  )$r,  r£  rä  Údraw_mathtextr  r  Ú_get_font_afmr€   Úencoder‹   rÙ  r   r½   ÚordÚget_width_from_char_nameÚKeyErrorÚget_width_charÚget_kern_dist_from_namerˆ   Ú_get_font_ttfr!  Útrackr	   ÚlayoutÚ	ft_objectro   Ú	glyph_idxr‚  r2  Ú	itertoolsÚgroupbyrW  rX   rþ   r©   rx  )r   rs  r‚  rƒ  rï   rÝ  rÞ  rÒ  rÏ  Ústreamrq   Úps_namer^  ÚthisxÚ	last_namerŽ   rw   r$  ÚkernÚitemÚ
glyph_nameÚgrouprà  s                          rU   r×  ÚRendererPS.draw_textø  s³  € ð ×Ñ §
¡
£×-Ñ-Øà�U‹?Ø—=‘= ¨¨dÓ:Ð:æØ×%Ñ% b¨Q°4Ó?Ð?àˆä�<‰<˜×$Ø×%Ñ% dÓ+ˆDØ×+Ñ+×2Ñ2°7¸IÓFß™ ›ð à˜D×3Ñ3Ó5Ñ5ˆEØˆEØˆIÛ�Ü —}’}¤S¨£V¨s´3°q³6¸#°,Ð-?Ó@�ð5Ø ×9Ñ9¸$Ó?�Eð ×3Ñ3°I¸tÓD�Ø �	Ø˜ ™Ñ%�Ø—‘˜w¨tÐ4Ô5Ø˜ ™Ñ&’ò ð ×%Ñ% dÓ+ˆDØ×#Ñ#×)Ñ)¨$Ô2Ü%×,Ò,¨QÖ5�ØŸ>™>×9Ñ9ß"™F 7¨IÓ6·v±v¸g³ð à!Ÿ^™^×:Ñ:¸4¿>¹>ÓJ�
Ø—‘˜w¨¯©°
Ð;Ö<ñ	 6ð
 	�Š˜Ÿ
™
›Ñ%ä'ß‘ðØÑ 6ö8‰NˆG�Uà�M‰M˜'×#:Ñ#:Ó#<¸eÔDØ—i‘iñ  9Ù27ó 9ó 9ˆGà�N‰N× Ñ ð &à×Ñ�BÓÐ ð Ø€1€€Q€qˆ€eð Ø€q€	ð 
Ø€	ð 
ð"ö ò8øô'  ó 5Ø%�DØ ×/Ñ/°Ó4“Eð5ús   Ã9J<Ê<KËKc                 ó\  • U R                   R                  R                  USU5      u  pxpšnU R                  " UR	                  5       6   U R
                  R                  SUS SUS SUS S35        SnU
 Hä  u  pÞnnnU R                  R                  Xß5        UR                  U4U:w  a:  UR                  U4nU R
                  R                  SUR                   SU S	35        [        U[        5      (       a  UR                  [        U5      5      OUR                  UR                  U5      5      nU R
                  R                  US SUS S
U S35        Mæ     U H/  u  nnnnU R
                  R                  U SU SU SU S35        M1     U R
                  R                  S5        g)z-Draw the math text using matplotlib.mathtext.r  r|  r“   rK   rò  ró  Nrn   rV  z	 moveto
/z glyphshow
z
 rectfill
ú	grestore
)Ú
_text2pathÚmathtext_parserÚparser2  r£  rþ   r©   r!  Útrack_glyphr€   Ú
isinstancer
   Úget_name_charrš   ro   r~   )r   rs  r‚  rƒ  rï   rÝ  rÞ  r$  r%  ÚdescentÚglyphsÚrectsÚlastfontrq   r  ÚnumÚoxÚoyr	  r†  r…  s                        rU   rô  ÚRendererPS.draw_mathtext3  s±  € ð �O‰O×+Ñ+×1Ñ1°!°R¸Ó>ñ 	.ˆ�w¨à�Š˜Ÿ
™
›Ñ%Ø�‰×ÑØØ�ˆe�1�Q�q�E˜Ø�Qˆi�yð"ô	#ð ˆÛ+1Ñ'ˆD˜C  RØ×#Ñ#×/Ñ/°Ô:Ø×$Ñ$ hÐ/°8Ó;Ø×/Ñ/°Ð9�Ø—‘×$Ñ$Ø˜×,Ñ,Ð-¨Q¨x¨j¸ÐFôHô 1;¸4Ä×0EÑ0E�×"Ñ"¤3 s£8Ô,Ø×#Ñ# D×$7Ñ$7¸Ó$<Ó=ð ð �N‰N× Ñ Ø�a�&˜˜"˜Q˜ð  Ø�<˜|ð-ö.ñ ,2ó "‰LˆB��A�qØ�N‰N× Ñ  B 4 q¨¨¨A¨a¨S°°!°°KÐ!@ÖAñ "à�‰×Ñ˜\Õ*r[   c                 ó¶  • [        U5      [        U5      :X  d   e[        U5      S:X  a  g UR                  S:X  d   eUR                  S   S:X  d   eUR                  S   S:X  d   eUR                  S:X  d   eUR                  S   S:X  d   eUR                  S   S:X  d   eUR                  nUR                  US   US   -  S45      nUR	                  U5      nUR                  US   US   -  S45      n[
        R                  " USS9S-
  n[
        R                  " USS9S-   n	[
        R                  " SX˜-
  -  5      n
Uu  p¼U	u  pÞ[
        R                  " US   US   -  / S	QS
9nSUS'   Xh-
  U
-  US'   US S 2S S24   S-  US'   UR                  5       R                  SS5      nU R                  R                  SUS SUS SUS SUS SU S35        g )Nr   r*  r   r:  r¸   )Úaxisi   l   ÿÿ ))ÚflagsÚu1)Úpointsz2>u4)ÚcolorsÚ3u1)Údtyper  r   g     ào@r!  r}   r{  z–gsave
<< /ShadingType 4
   /ColorSpace [/DeviceRGB]
   /BitsPerCoordinate 32
   /BitsPerComponent 8
   /BitsPerFlag 8
   /AntiAlias true
   /Decode [ r“   rK   z  0 1 0 1 0 1 ]
   /DataSource <
z
>
>>
shfill
grestore
)r„   Úndimr~  Úreshaperi  rN  ÚminÚmaxÚceilÚemptyr  rø   rþ   r©   )r   rs  r   r!  r«  r~  Úflat_pointsÚflat_colorsÚ
points_minÚ
points_maxÚfactorÚxminÚyminÚxmaxÚymaxrˆ  r‰  s                    rU   Údraw_gouraud_trianglesÚ!RendererPS.draw_gouraud_trianglesN  s  € ä�6‹{œc &›kÓ)Ð)Ð)Üˆv‹;˜!ÓØØ�{‰{˜aÓÐÐØ�|‰|˜A‰ !Ó#Ð#Ð#Ø�|‰|˜A‰ !Ó#Ð#Ð#Ø�{‰{˜aÓÐÐØ�|‰|˜A‰ !Ó#Ð#Ð#Ø�|‰|˜A‰ !Ó#Ð#Ð#à—‘ˆØ—n‘n e¨A¡h°°q±Ñ&9¸1Ð%=Ó>ˆØ—o‘o kÓ2ˆØ—n‘n e¨A¡h°°q±Ñ&9¸1Ð%=Ó>ˆÜ—V’V˜K¨aÑ0°GÑ<ˆ
Ü—V’V˜K¨aÑ0°GÑ<ˆ
Ü—’˜+¨*Ñ*AÑBÓCˆà‰
ˆØ‰
ˆä�xŠxØ�!‰H�u˜Q‘xÑÚJñLˆð ˆˆW‰Ø%Ñ2°fÑ<ˆˆX‰Ø$¢Q¨¨¨ UÑ+¨eÑ3ˆˆX‰Ø—,‘,“.×$Ñ$ T¨3Ó/ˆà�‰×Ñð "ð �1ˆX�Q�t˜A�h˜a  Q˜x q¨¨a¨ð 1à€	ð 
ðõ 	r[   r   c                óf  • U R                   R                  nUR                  5       S:„  =(       a$    U R                  UR	                  5       5      (       + nU(       d  SnU R                  U5      (       a  SnUR                  5       nU(       az  U R                  UR                  5       5        U R                  UR                  5       5        U R                  UR                  5       5        U R                  " UR                  5       6   U(       d  U(       a   U R                  " UR	                  5       SS 6   U" S5        U" U R                  U5      5        U" UR                  5       5        U" S5        U(       aI  U(       d  U(       a  U" S5        U R                  " USS SS06  U" S5        U(       d  U(       a  U" S	5        U(       aR  U R!                  X‚R#                  5       5      n	U" S5        U" [%        UR'                  5       SS 6 5        U" S
U	 S35        U(       a  U" S5        U" S	5        g)aD  
Emit the PostScript snippet *ps* with all the attributes from *gc*
applied.  *ps* must consist of PostScript commands to construct a path.

The *fill* and/or *stroke* kwargs can be set to False if the *ps*
string already includes filling and/or stroking, in which case
`_draw_ps` is just supplying properties and clipping.
r   FNr*  r|  r}   r1  zfill
r  rK   z setpattern fill grestore
zstroke
)rþ   r©   r¡  r,  r£  Ú	get_hatchr7  rB  r¥  rJ  r¦  rS  Ú
get_dashesr2  rx  Ústripra  Úget_hatch_linewidthrZ   Úget_hatch_color)
r   r•  rs  r”  rœ  rž  r©   Úmightstroker]  Ú
hatch_names
             rU   r“  ÚRendererPS._draw_ps~  s¸  € ð —‘×$Ñ$ˆØ×'Ñ'Ó)¨AÑ-÷ BØ#×3Ñ3°B·J±J³LÓAÔAð 	æØˆFØ×Ñ ×(Ñ(ØˆDØ—‘“ˆæØ×Ñ˜r×/Ñ/Ó1Ô2Ø×Ñ˜b×.Ñ.Ó0Ô1Ø×Ñ˜RŸ_™_Ó.Ô/Ø×Ò˜rŸ}™}›Ñ/Þž%Ø�NŠN˜BŸJ™J›L¨¨!Ð,Ñ-ÙˆiÔáˆd× Ñ  Ó$Ô%áˆb�h‰h‹jÔÙˆdŒæÞžÙ�iÔ Ø�NŠN˜G B Q˜KÐ5¨uÒ5Ù�(ŒOÞžÙ�lÔ#æØ×*Ñ*¨5×2HÑ2HÓ2JÓKˆJÙ�)ÔÙ”, × 2Ñ 2Ó 4°R°aÐ 8Ð9Ô:Ù�A�j�\Ð!<Ð=Ô>æÙ�*ÔáˆlÕr[   )r!  r  r  r#  r  rþ   r  r  r  r  r  r  r  r  r  r  r  )r  )T)FNr™   )$rÿ   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú_get_data_pathÚ_afm_font_dirÚ_use_afm_rc_namer  r,  r2  r7  Ústaticmethodr?  rB  rG  rJ  rS  rW  ra  re  r\  rx  r  r�  r–  r²  r¶  rä  r×  rô  r3  r“  Ú__static_attributes__Ú__classcell__©r'  s   @rU   r	  r	  Ž  sE  ø† ñð
 ×(Ò(¨Ó5€MØ"Ð÷;ò6ô'ô+ð ñ-ó ð-ô)ð ñ+ó ð+ô'ô
*ô)òò@(ôEòð, óó ðð@ ó'ó ð'ð àFJó2Aó ð2Aðh ñ*&ó ð*&ðX Ø:>ô 'ó ð'ðR ó8ó ð8ðt ñ+ó ð+ð4 ñ-ó ð-ð^ 15¸T÷ 1ó 1r[   r	  c                   ó0   • \ rS rSr\" S5      u  rrS rSrg)Ú_Orientationi²  r:  c                 ó6   • U R                   S:X  a  US S S2   $ U$ )NÚ	landscaperÏ   )rw   )r   r~  s     rU   Úswap_if_landscapeÚ_Orientation.swap_if_landscapeµ  s    € Ø"Ÿi™i¨;Ó6ˆu‘T�r�T‰{ÐA¸EÐAr[   rô   N)	rÿ   r>  r?  r@  rÓ   ÚportraitrL  rM  rF  rô   r[   rU   rJ  rJ  ²  s   † Ù ›(Ñ€HˆiõBr[   rJ  c                   ó¸   ^ • \ rS rSrSrSSS.rS rSSSSS	.S
 jrSS.S jrSS.S jr	\
R                  " \S5      r\
R                  " \S5      rU 4S jrSrU =r$ )ÚFigureCanvasPSi¹  r  Ú
PostscriptzEncapsulated Postscript)r•  Úepsc                 ó   • g)Nr•  rô   rd  s    rU   Úget_default_filetypeÚ#FigureCanvasPS.get_default_filetype¾  s   € Ør[   NrO  )ÚmetadataÚ	papertypeÚorientationÚbbox_inches_restorec          	      ó*  • U R                   R                  nSU R                   l        0 n	[        U[        [        R
                  45      (       aD  [        R                  " U5      R                  n
U
R                  SS5      R                  S5      U	S'   U=(       d    0 R                  SS[        R                   S35      U	S'   [        R                  " S5      nU(       aP  [        R                  R!                  [#        U5      [        R$                  R&                  5      R)                  S	5      O[*        R,                  " 5       U	S
'   SR/                  S U	R1                  5        5       5      n	Uc  [        R2                  S   nUR5                  5       n[6        R8                  " S/[:        QUS9  [6        R<                  " [>        UR5                  5       S9n[        R2                  S   (       a  U R@                  OU RB                  nU" X4X‰XTUS.UD6  g )Nr  r|   rç  ÚTitleÚCreatorzMatplotlib vz, https://matplotlib.org/ÚSOURCE_DATE_EPOCHz%a %b %d %H:%M:%S %YÚCreationDater}   c              3   ó6   #   • U  H  u  pS U SU 3v •  M     g7f)z%%z: Nrô   )rS   Úkr”   s      rU   rV   Ú+FigureCanvasPS._print_ps.<locals>.<genexpr>Ù  s"   é € ð !<Ú&:™d˜aˆb���2�a�S�MÒ&:ùs   ‚zps.papersizeÚfigure)rX  )rY  r  )ÚdpiÚdsc_commentsrY  rX  rZ  )"rc  rd  r  rƒ   r¦   ÚPathLikeÚpathlibr   rw   rö  r‹   r½   r  Ú__version__ÚgetenvÚdatetimeÚfromtimestampÚintÚtimezoneÚutcÚstrftimeÚtimeÚctimerX   Úitemsr  Úlowerr   Úcheck_in_listÚ	papersizeÚcheck_getitemrJ  Ú_print_figure_texÚ_print_figure)r   ÚfmtÚoutfilerW  rX  rY  rZ  r  rd  re  ÚfilenameÚsource_date_epochÚprinters                rU   Ú	_print_psÚFigureCanvasPS._print_psÁ  sÉ  € ð
 �k‰k�o‰oˆØˆ�‰ŒàˆÜ�g¤¤R§[¡[Ð1×2Ñ2Ü—|’| GÓ,×1Ñ1ˆHà—‘ ¨Ó3×:Ñ:¸7ÓCð ˜Ñ!à#+§>¨r×"6Ñ"6ØØœ3Ÿ?™?Ð+Ð+DÐEó#Gˆ�YÑô ŸIšIÐ&9Ó:Ðö
 !ô ×Ñ×+Ñ+ÜÐ%Ó&Ü×!Ñ!×%Ñ%ó'ç'/¡xÐ0FÔ'Gä—’“ð 	�^Ñ$ð —y‘yñ !<Ø&2×&8Ñ&8Ô&:ó!<ó <ˆð ÑÜŸ™ ^Ñ4ˆIØ—O‘OÓ%ˆ	Ü×Ò˜HÐ1¤yÐ1¸YÒGä×(Ò(Ü k×&7Ñ&7Ó&9ñ;ˆô —l‘l =×1ð ×)Ò)à×%Ñ%ð 	ñ 	�ð 	C #Ø'Ø$7ñ	Cà;Aó	Cr[   ©rZ  c                ó¬  ^ ^^^^^^^^^^^• US:H  m[        U[        [        R                  45      (       d  [	        U5      (       d  [        S5      eT R                  R                  5       u  mmT(       d  TS:X  a  TTp˜OTR                  [        T   5      u  p‰SUT-
  -  mSU	T-
  -  mTn
TnU
T R                  R                  R                  -   nUT R                  R                  R                  -   nSmT[        R                  L a  XºXÜ4u  p«pÍSU	-  T-
  TsmmSmX«XÍ4m[        5       T l        [#        TTT R                   US9m[%        T R                  TTUTUS	9nT R                  R'                  U5        UUUUUUUUU UUU4S
 jn[(        R*                  S   (       a­  [-        5        n[        R.                  R1                  US5      n[3        USSS9 nU" U5        SSS5        [(        R*                  S   S:X  a  [5        [6        UTTTS9  O([(        R*                  S   S:X  a  [5        [8        UTTTS9  [;        UU5        SSS5        g[<        R>                  " USSS9 n[A        U5      (       d  [B        RD                  " S5      " U5      nU" U5        SSS5        g! , (       d  f       NÈ= f! , (       d  f       g= f! , (       d  f       g= f)zÿ
Render the figure to a filesystem path or a file-like object.

Parameters are as for `.print_figure`, except that *dsc_comments* is a
string containing Document Structuring Convention comments,
generated from the *metadata* parameter to `.print_figure`.
rS  z,outfile must be a path or a file-like objectrc  g      B@r   r  rÕ  ©r  r€  c           
      óÔ  >• T(       a  [        SU S9  O'[        SU S9  T
S:w  a  [        ST
 3U S9  [        SU S9  [        ST ST	R                   S	[        T5       S
3SU S9  [        [        5      n[        SU S9  [
        R                  S   (       d"  U[        TR                  R                  5      -  n[        SU-  U S9  [        SU S9  [        S	R                  [        5      U S9  [
        R                  S   (       d˜  TR                  R                  R                  5        Hp  u  p#U(       d  M  [
        R                  S   n[        U5      S:”  a  SnU R                  5         US:X  a  U R                  [        X#5      5        Md  [        X#U 5        Mr     [        SU S9  [        SU S9  T(       d
  [        SU S9  [        SU S9  [        S[        TT5      -  U S9  T(       a  [        ST-  U S9  [        S[        TS-  TS-  5       S3U S9  [        TR                   R#                  5       U S9  [        SU S9  [        SU S9  T(       d
  [        SU S9  U R                  5         g )Nz%!PS-Adobe-3.0 EPSF-3.0)Úfilez%!PS-Adobe-3.0rc  z%%DocumentPaperSizes: z
%%Pages: 1z%%LanguageLevel: 3
z
%%Orientation: r}   z
%%EndComments
r—   )Úendr„  z%%BeginPrologr
  z/mpldict %d dict defzmpldict beginzps.fonttypeéÿ   é*   r*  r…  z%%EndPrologz%%Page: 1 1z%s translatez	%d rotatez0 0 r  z	 rectclipÚshowpagez%%EOF)Úprintrw   Ú_get_bbox_headerr„   Ú_psDefsr  r  r!  ÚusedrX   rr  Úflushr©   r•   r±   rZ   rþ   r¥   )ri   ÚNdictrŒ   r�   Úfonttyperu   re  r%  Úis_epsrY  rX  Úps_rendererÚrotationr   r$  rÊ  rË  s        €€€€€€€€€€€€rU   Úprint_figure_implÚ7FigureCanvasPS._print_figure.<locals>.print_figure_impl  s'  ø€ æÜÐ/°bÓ9äÐ&¨RÒ0Ø Ó(ÜÐ2°9°+Ð>ÀRÒHÜ�l¨Ò,ÜÐ(Ø!�Nð #$Ø$/×$4Ñ$4Ð#5°RÜ% dÓ+Ð,ð -$ð%ð
 ˜rò#ô œ“LˆEÜ�/¨Ò+Ü—<‘< ×,Øœ˜[×;Ñ;×@Ñ@ÓAÑA�ÜÐ(¨5Ñ0°rÒ:Ü�/¨Ò+Ü�$—)‘)œGÓ$¨2Ò.Ü—<‘< ×,à&×9Ñ9×>Ñ>×DÑDÖFñ %�Iæ Ù Ü"Ÿ|™|¨MÑ:�Hä˜5“z CÓ'Ø#%˜Ø—H‘H”JØ 1“}ØŸ™Ô!2°9Ó!DÖEä*¨9¸RÖ@ñ Gô �%˜bÒ!Ü�- bÒ)æÜ�m¨"Ò-Ü�/¨Ò+ä�.¤<°°BÓ#7Ñ7¸bÒAÞÜ�k HÑ,°2Ò6Ü�Dœ e¨B¡h°°r±	Ó:Ð;¸9ÐEÈBÒOô �$—.‘.×)Ñ)Ó+°"Ò5ô �%˜bÒ!Ü�* 2Ò&ÞÜ�g BÒ'Ø�H‰H�Jr[   úps.usedistillerútmp.psr†  r]   r^   NÚghostscript)Úptyperu   Úxpdf)#r  rƒ   r¦   rf  r   Ú
ValueErrorrc  Úget_size_inchesrM  ru  ru   r$  r%  rJ  rL  r   rþ   r	  r   rç   r  r  r   rh  rX   rb   Ú_try_distillÚ
gs_distillÚxpdf_distillrj   r   Úopen_file_cmr   ÚcodecsÚ	getwriter)r   ry  rz  rd  re  rY  rX  rZ  Úpaper_widthÚpaper_heightÚllxÚllyÚurxÚuryÚrendererr“  ÚtmpdirÚtmpfileri   r„  ru   r%  r�  r‘  r’  r$  rÊ  rË  s   `   ```             @@@@@@@@rU   rx  ÚFigureCanvasPS._print_figureë  sŒ  ÿû€ ð ˜‘ˆÜ˜7¤S¬"¯+©+Ð$6×7Ñ7Ü(¨×1Ñ1ÜÐKÓLÐLð Ÿ™×3Ñ3Ó5‰ˆˆvÞ�Y (Ó*Ø(-¨v™à(3×(EÑ(EÜ˜)Ñ$ó)&Ñ%ˆKð ˜ uÑ,Ñ-ˆØ˜¨Ñ.Ñ/ˆàˆØˆØ�D—K‘K×$Ñ$×*Ñ*Ñ*ˆØ�D—K‘K×$Ñ$×+Ñ+Ñ+ˆØˆØœ,×0Ñ0Ò0Ø!$¨3Ð!3ÑˆC�cØ˜,Ñ&¨Ñ+¨RˆFˆB�ØˆHØ˜#Ð#ˆä!›ˆŒô ! ¨°·±ÈÑMˆÜ$Ø�K‰K˜ ¨¨[Ø 3ñ5ˆð 	�‰×Ñ˜Ô"÷9	÷ 9	ð 9	ôv �<‰<Ð)×*ô $Ô%¨ÜŸ'™'Ÿ,™, v¨xÓ8�Ü˜' 3°Ò;¸rÙ% bÔ)÷ <ä—<‘<Ð 1Ñ2°mÓCÜ ¤Ø!(¨&¸	ÈóNä—\‘\Ð"3Ñ4¸Ó>Ü ¤Ø!(¨&¸	ÈòNä,¨W°gÔ>÷ &Ð%ô ×#Ò# G¨S¸9ÒEÈÜ,¨T×2Ñ2Ü!×+Ò+¨IÔ6°tÓ<�DÙ! $Ô'÷ FÐE÷ <Õ;ú÷ &Õ%ú÷ FÕEús1   Æ,,J4Ç	J#Ç!A%J4É%5KÊ#
J1	Ê-J4Ê4
KË
Kc                óú  • US:H  nU R                   R                  5       u  pšSnSnUnUnXÐR                   R                  R                  -   nXàR                   R                  R                  -   nXÞUU4n[        5       U l        [        XšU R                  US9n[        U R                   XšUUUS9nU R                   R                  U5        [        5        n[        R                  " US5      nUR                  SU S[        U5       S[        [         5       S	S
R#                  [         5       S[%        X¼5       S[%        U	S-  U
S-  5       SU R                  R'                  5        S3SS9  U[(        R*                  L a  X©p©XíUU4nU(       d  US:X  a-  UR-                  U R                   R                  5       5      u  nnO[.        U   u  nn[1        UUR2                  UUUR4                  5      n[6        R8                  S   S:X  d  [6        R8                  S   (       a  [;        [<        UX†UUS9  O([6        R8                  S   S:X  a  [;        [>        UX†UUS9  [A        UU5        SSS5        g! , (       d  f       g= f)a   
If :rc:`text.usetex` is True, a temporary pair of tex/eps files
are created to allow tex to manage the text layout via the PSFrags
package. These files are processed to yield the final ps or eps file.

The rest of the behavior is as for `._print_figure`.
rS  r   r‚  r€  r–  z+%!PS-Adobe-3.0 EPSF-3.0
%%LanguageLevel: 3
r}   z&
%%EndComments
%%BeginProlog
/mpldict z dict def
mpldict begin
r—   z
end
%%EndProlog
mpldict begin
z translate
0 0 r  rm  z
end
showpage
r]   r^   rc  r•  r—  r  )r˜  ru   Úrotatedr™  N)!rc  r›  ru   r$  r%  r   rþ   r	  r   rç   r   rg  r   Ú
write_textrŠ  r„   r‹  rX   rZ   r¥   rJ  rL  rM  ru  Ú_convert_psfragsr  rw   r  r  rœ  r�  rž  rj   )r   ry  rz  rd  re  rY  rX  rZ  r�  r$  r%  rÊ  rË  r¤  r¥  r¦  r§  ru   r‘  r¨  r©  Útmppathr¢  r£  Úpsfrag_rotateds                            rU   rw  Ú FigureCanvasPS._print_figure_texl  sw  € ð ˜‘ˆàŸ™×3Ñ3Ó5‰ˆØˆØˆàˆØˆØ—K‘K×$Ñ$×*Ñ*Ñ*ˆØ—K‘K×$Ñ$×+Ñ+Ñ+ˆØ˜#˜sÐ#ˆä!›ˆŒô ! °·±ÈÑMˆÜ$ T§[¡[Ø%*°C¸Ø9LñNˆð 	�‰×Ñ˜Ô"ô  Ô! VÜ—l’l 6¨8Ó4ˆGØ×Ñðð €ð Ü�$ÓÐ ð 
ô Œg‹,ˆð à‡�ŒÓÐ ð ô ˆbÓÐ ð Ü�%˜‘(˜F 2™IÓ&Ð'ð (Ø‡�×ÑÓÐ ð ðð& #ð) ñ $ð, œl×4Ñ4Ò4Ø &�vØ # sÐ+�ö
 ˜ hÓ.Ø,7×,IÑ,IØ—K‘K×/Ñ/Ó1ó-3Ñ)�™\ô -6°iÑ,@Ñ)�˜\ä-Ø˜×+Ñ+¨[¸,Ø× Ñ ó"ˆNô —‘Ð.Ñ/°=Ó@Ü—|‘| M×2ÜœZØ$ fÀDØ%3ó5ô —‘Ð/Ñ0°FÓ:Üœ\Ø$ fÀDØ%3ò5ô )¨°'Ô:÷g "×!Ö!ús   ÃFI,É,
I:r•  rS  c                 óT   >• U R                   R                  5         [        TU ]  5       $ r™   )rc  Údraw_without_renderingr  rç   )r   r'  s    €rU   rç   ÚFigureCanvasPS.drawÆ  s   ø€ Ø�‰×*Ñ*Ô,Ü‰w‰|‹~Ðr[   )rþ   )rÿ   r>  r?  r@  Ú	fixed_dpiÚ	filetypesrU  r~  rx  rw  r  ÚpartialmethodÚprint_psÚ	print_epsrç   rF  rG  rH  s   @rU   rQ  rQ  ¹  su   ø† Ø€IØ#Ø1ñ3€Iòð
  T°zØ $õ(CðZ !%õ(ðH !%õU;ðn ×&Ò& y°$Ó7€HØ×'Ò'¨	°5Ó9€I÷ó r[   rQ  c           	      ój  • [         R                  " S[         R                  S   [         R                  R	                  S5      -   [         R                  R	                  S5      -   [         R                  R	                  S5      -   SX#S.-  -   05         [        5       R                  SSR                  U5      US	:X  a  S
OSU R                  5       R                  5       S.-  SS9nSSS5        [        5        n[        R                  R                  US5      n[        R                  " SSSSUW/[        5        [         R"                  " Xp5        SSS5        [%        U 5       nSUR'                  S5      ;   n	SSS5        U	$ ! , (       d  f       N¢= f! , (       d  f       NI= f! , (       d  f       W	$ = f)aR  
When we want to use the LaTeX backend with postscript, we write PSFrag tags
to a temporary postscript file, each one marking a position for LaTeX to
render some text. convert_psfrags generates a LaTeX document containing the
commands to convert those tags to text. LaTeX/dvips produces the postscript
file that includes the actual text.
ztext.latex.preambler  Úgraphicxr  z:\geometry{papersize={%(width)sin,%(height)sin},margin=0in})r$  r%  zt
\begin{figure}
  \centering\leavevmode
  %(psfrags)s
  \includegraphics*[angle=%(angle)s]{%(epsfile)s}
\end{figure}r}   rL  rÕ  r   )ÚpsfragsrÞ  Úepsfileé
   )r  Nr–  Údvipsz-qz-R0z-oÚ	Landscapeiè  )r  Ú
rc_contextr  Ú
texmanagerÚ_usepackage_if_not_loadedr   Úmake_dvirX   ÚresolveÚas_posixr   r¦   rh  r   Ú_check_and_log_subprocessr�   rc   re   rb   Úread)
r°  r½  r¢  r£  rY  Údvifiler©  Úpsfileri   r±  s
             rU   r¯  r¯  Ë  s}  € ô 
�ŠØ!Ü�L‰LÐ.Ñ/Ü�N‰N×4Ñ4°WÓ=ñ>ä�N‰N×4Ñ4°ZÓ@ñAô �N‰N×4Ñ4°XÓ>ñ?ð JØ#Ñ<ñ=ñ	=ðõ 
ô “,×'Ñ'ðð  Ÿ9™9 WÓ-Ø*¨kÓ9™¸qØ"Ÿ?™?Ó,×5Ñ5Ó7ññ
ð ð (ð ˆ÷
ô. 
Ô	 Ü—‘—‘˜f hÓ/ˆÜ×'Ò'Ø�d˜E 4¨°Ð9¼4ô	Aä�Š�FÔ$÷	 
ô 
ˆgŒ˜"Ø$¨¯©°«Ñ5ˆ÷ 
àÐ÷M
õ 
ú÷. 
Õ	ú÷ 
ŒàÐús&   ÂAFÃ7AFÅ"F#Æ
FÆ
F Æ#
F2c                 óž   •  U " [        U5      /UQ70 UD6  g ! [        R                   a   n[        R	                  SU5         S nAg S nAff = f)Nz%s.  Distillation step skipped.)rƒ   r  ÚExecutableNotFoundErrorr�   r¬   )Úfuncr°  rY   r  Úexcs        rU   rœ  rœ  ü  sE   € ð=ÙŒS�‹\Ð+˜DÒ+ FÓ+øÜ×&Ñ&ó =Ü�‰Ð6¸×<Ñ<ûð=ús   ‚ ˜A¬AÁAc                 ó”  • U(       a  S/nOUS:X  a  SUS    3SUS    3/nOSU 3/nU S-   n[         R                  S	   n[        R                  " [         R                  " S
5      R
                  SSSU-  S/UQSU 3PU P[        5        [        R                  " U 5        [        R                  " X`5        U(       a  [        XUS9  gg)zÄ
Use ghostscript's pswrite or epswrite device to distill a file.
This yields smaller files without illegal encapsulated postscript
operators. The output is low-level, converting text to outlines.
ú	-dEPSCroprc  z-dDEVICEWIDTHPOINTS=r:  z-dDEVICEHEIGHTPOINTS=r*  z-sPAPERSIZE=z.pszps.distiller.resré   z-dBATCHz	-dNOPAUSEz-r%dz-sDEVICE=ps2writez-sOutputFile=)r­  N)r  r  r   rÈ  Ú_get_executable_infoÚ
executabler�   r¦   Úremoverc   re   Úpstoeps)rª  rS  r˜  ru   r­  Úpaper_optionrË  rd  s           rU   r�  r�    sí   € ö Ø#�}‰Ø	�(Ó	ð /¨t°A©w¨iÐ8Ø/°°Q±¨yÐ9ð;‰ð ' u gÐ.Ð/ˆà�u‰_€FÜ
�,‰,Ð)Ñ
*€Cä	×#Ò#Ü	×	!Ò	! $Ó	'×	2Ñ	2Ø	�K ¨#¡Ð/Bð	;à
ð	;à'¨ xÐ0ð	;à29ð	;ô 	ô	ô ‡I‚IˆgÔÜ
‡K‚K�Ô ö ô 	� wÓ/ð r[   c           	      ó0  • [         R                  " S5        [         R                  " S5        U(       a  S/nOUS:X  a  SUS    3SUS    3/nOS	U 3/n[        5        n[        R                  " US
5      n[        R                  " US5      n[
        R                  " SSSSSS/UQU PUP[        5        [
        R                  " SSSSXx/[        5        [        R                  " X€5        SSS5        U(       a  [        U 5        gg! , (       d  f       N"= f)zö
Use ghostscript's ps2pdf and xpdf's/poppler's pdftops to distill a file.
This yields smaller files without illegal encapsulated postscript
operators. This distiller is preferred, generating high-level postscript
output that treats text as text.
ré   ÚpdftopsrÑ  rc  z-dDEVICEWIDTHPOINTS#r:  z-dDEVICEHEIGHTPOINTS#r*  z-sPAPERSIZE#ztmp.pdfr–  Úps2pdfz-dAutoFilterColorImages#falsez-dAutoFilterGrayImages#falsez-sAutoRotatePages#Nonez-sGrayImageFilter#FlateEncodez-sColorImageFilter#FlateEncodez-paperÚmatchz-level3N)r  rÒ  r   rg  r   r   rÈ  r�   rc   re   rÕ  )	rª  rS  r˜  ru   r­  rÖ  r©  ÚtmppdfÚtmppss	            rU   rž  rž  *  s'  € ô ×Ò˜TÔ"Ü×Ò˜YÔ'æ
Ø#�}‰Ø	�(Ó	ð /¨t°A©w¨iÐ8Ø/°°Q±¨yÐ9ð;‰ð ' u gÐ.Ð/ˆä	Ô	 Ü—’˜f iÓ0ˆÜ—’˜V XÓ.ˆô 	×'Ò'ØØ,Ø+Ø%Ø,Ø-ðð ðð ðð ðô  $ô	%ô 	×'Ò'Ø˜ '¨9°fÐDÄdô	Lä�Š�EÔ#÷! 
ö" Ü�Õð ÷# 
Õ	ús   ÁBDÄ
Dz3.9c                 óB   • [        U 5      U(       a  [        U 5      4$ S4$ )zl
Return a postscript header string for the given bbox lbrt=(l, b, r, t).
Optionally, return rotate command.
r—   )rŠ  Ú_get_rotate_command)Úlbrtr­  s     rU   Úget_bbox_headerrà  S  s$   € ô ˜DÓ!ÆÔ$7¸Ó$=ÐQÐQÈbÐQÐQr[   c                 ó¼   • U u  pp4S[        U5       S[        U5       S[        R                  " U5       S[        R                  " U5       SUS SUS SUS SUS 3$ )zGReturn a PostScript header string for bounding box *lbrt*=(l, b, r, t).z%%BoundingBox: rK   z
%%HiResBoundingBox: z.6f)rl  Úmathr(  ©rß  Úlr0  r/  Úts        rU   rŠ  rŠ  \  sm   € à�J€Aˆ!Øœc !›f˜X Q¤s¨1£v h¨a´·	²	¸!³¨~¸Q¼t¿yºyÈ»|¸nð M#Ø#$ S '¨¨1¨S¨'°°1°S°'¸¸1¸S¸'ðCð Dr[   c                 ó$   • U u  pp4X-   S SSS S3$ )uO   Return a PostScript 90Â° rotation command for bounding box *lbrt*=(l, b, r, t).z.2frK   r   z translate
90 rotaterô   rã  s        rU   rÞ  rÞ  c  s%   € à�J€Aˆ!Ø‰c�#ˆY�a˜˜#�wÐ3Ð4Ð4r[   c                 óD  • U S-   n[        US5       n[        U S5       nUR                  nU HÈ  nUR                  S5      (       a6  U" S5        U(       a%  U" [        U5      R	                  S5      S-   5        MM  MO  UR                  S5      (       a<  U" U5        U" S	5        U(       a#  U" [        U5      R	                  S5      S-   5          O+U(       a  UR                  S
5      (       a  MÀ  U" U5        MÊ     U HC  nUR                  S5      (       a
  U" S5        M#  UR                  S5      (       a  M;  U" U5        ME     SSS5        SSS5        [        R                  " U 5        [        R                  " X05        g! , (       d  f       NC= f! , (       d  f       NL= f)z¤
Convert the postscript to encapsulated postscript.  The bbox of
the eps file will be replaced with the given *bbox* argument. If
None, original bbox will be used.
z.epsÚwbr`   s   %!PSs   %!PS-Adobe-3.0 EPSF-3.0
r|   ó   
s   %%EndCommentssp   %%BeginProlog
save
countdictstack
mark
newpath
/showpage {} def
/setpagedevice {pop} def
%%EndProlog
%%Page 1 1
)s   %%Bounds   %%HiResBounds   %%DocumentMedias   %%Pagess   %%EOFsJ   cleartomark
countdictstack
exch sub { end } repeat
restore
showpage
%%EOF
s   %%PageBoundingBoxN)
rb   r©   Ú
startswithrŠ  rö  rÞ  r¦   rÔ  rc   re   )rª  ru   r­  r¾  ÚepshÚtmphr©   Úlines           rU   rÕ  rÕ  i  s]  € ð ˜Ñ€GÜ	ˆg�tÔ	 ¤d¨7°DÔ&9¸TØ—
‘
ˆãˆDØ�‰˜w×'Ñ'ÙÐ2Ô3ÞÙÔ*¨4Ó0×7Ñ7¸Ó@À5ÑHÖIñ à—‘Ð!1×2Ñ2Ù�d”Ùð &ô 'ö ÙÔ-¨dÓ3×:Ñ:¸7ÓCÀeÑKÔLÙÞ˜$Ÿ/™/ð +K÷ Lñ Láá�d–ñ/ ó6 ˆDØ�‰˜x×(Ñ(Ùð !ö "ð —‘Ð!5×6Ñ6Ùá�d–ñ ÷= ':×	ôV ‡I‚IˆgÔÜ
‡K‚K�Õ!÷Y ':Õ&9ú×	Õ	ús#   ’FŸD$F ÅFÆ 
F	Æ
FÆ
F)z/_d { bind def } bind defz/m { moveto } _dz/l { lineto } _dz/r { rlineto } _dz/c { curveto } _dz/cl { closepath } _dz/ce { closepath eofill } _dz/sc { setcachedevice } _dc                   ó   • \ rS rSrSr\rSrg)Ú
_BackendPSiÆ  zLevel IIrô   N)rÿ   r>  r?  r@  Úbackend_versionrQ  ÚFigureCanvasrF  rô   r[   rU   rï  rï  Æ  s   † à €OØ!ƒLr[   rï  )Fr   NF)F)NF)WrA  rö   r   rj  Úenumr   r  Úior   r  Úloggingrâ  r¦   rg  rc   rÑ   Útempfiler   rÀ   rp  r    ÚnumpyrN  Ú
matplotlibr  r   r   r   r	   Úmatplotlib._afmr
   Úmatplotlib.backend_basesr   r   r   r   Úmatplotlib.cbookr   r   Úmatplotlib.font_managerr   Úmatplotlib.ft2fontr   Úmatplotlib._mathtext_datar   Úmatplotlib.pathr   Úmatplotlib.texmanagerr   Úmatplotlib.transformsr   Ú!matplotlib.backends.backend_mixedr   r—   r   Ú	getLoggerrÿ   r�   rý   ru  rZ   rj   r•   r±   rª   r¼   rÈ   r¾   r¿   r  ÚRendererPDFPSBaser	  rJ  rQ  r¯  rœ  r�  rž  Ú
deprecatedrà  rŠ  rÞ  rÕ  ÚFigureManagerPSr‹  Úexportrï  rô   r[   rU   Ú<module>r     s]  ðñó Û Û Ý Û Ý Û Û Û Û 	Û Û Û Ý 'Û Û ã Û ã ß 8Ó 8Ý ÷Aó Aç IÝ ,Ý (Ý /Ý  Ý ,Ý *Ý ?Ý ð ×Ò˜Ó"€Ø
€ð"ˆX�yð "Ø�ið"à�xð"ð �>ð"ð �>ð	"ð
 �>ð"ð �>ð"ð �=ð"ð �<ð"ð �<ð"ð �<ð"ð �<ð"ð �<ð"ð �Lð"ð �>ð"ð �>ð"ð  �>ð!"ð" "Ø!Ø ØØØØØ ò1"€	ð6  õ Kò=ò N5òb!òH-ò`( òV&ò2ò0 @òFôa�×2Ñ2ô aôHB�4ô BôOÐ%ô Oòd.òb=ô$0ôN&ðR ‡‚�ÓóRó ðRòDò5ô4"ðn $€ò€ð. 
‡�ô"�ó "ó ñ"r[   