§
    †Ûg\  ã                   óB   — d Z ddlmZ ddlmZ ddlZddlmZ ddœd„ZdS )zœ
Internal debugging utilities, that are not expected to be used in the rest of
the codebase.

WARNING: Code in this module may change without prior notice!
é    )ÚStringIO)ÚPathN)ÚTransformNode)Ú	highlightc                ó~  ‡‡‡— ‰€| gŠt          ¦   «         Šˆˆˆfd„Št          ¦   «         }|                     d¦  «          ‰| |¦  «         |                     d¦  «         t          j        ddt          |¦  «        j        dd…         d|g|                     ¦   «                              d	¦  «        d
¬¦  «         dS )aÔ  
    Generate a graphical representation of the transform tree for *transform*
    using the :program:`dot` program (which this function depends on).  The
    output format (png, dot, etc.) is determined from the suffix of *dest*.

    Parameters
    ----------
    transform : `~matplotlib.transform.Transform`
        The represented transform.
    dest : str
        Output filename.  The extension must be one of the formats supported
        by :program:`dot`, e.g. png, svg, dot, ...
        (see https://www.graphviz.org/doc/info/output.html).
    highlight : list of `~matplotlib.transform.Transform` or None
        The transforms in the tree to be drawn in bold.
        If *None*, *transform* is highlighted.
    Nc           
      óÖ  •— t          | ¦  «        ‰v rd S ‰                     t          | ¦  «        ¦  «         i }t          | ¦  «        j        }| j        rd|› d�}| ‰v rd|d<   d|d<   d|z  |d<   d	                     t          d
j        |                     ¦   «         ¦  «        ¦  «        }| 	                    t          | ¦  «        › d|› d�¦  «         t          | ¦  «                             ¦   «         D ]u\  }}t          |t          ¦  «        r[t          | ¦  «        |j        v rE| 	                    dt          | ¦  «        › dt          |¦  «        › d|› d�¦  «          ‰||¦  «         Œvd S )Nú[ú]ÚboldÚstyleÚboxÚshapez"%s"Úlabelú z{0[0]}={0[1]}z [z];
ú"z" -> "z
" [label="z", fontsize=10];
)ÚidÚaddÚtypeÚ__name__Ú_invalidÚjoinÚmapÚformatÚitemsÚwriteÚvarsÚ
isinstancer   Ú_parents)	ÚrootÚbufÚpropsr   ÚkeyÚvalr   ÚrecurseÚseens	         €€€úP/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/_internal_utils.pyr$   z(graphviz_dump_transform.<locals>.recurse&   s‹  ø€ Ýˆd‰8Œ8�tÐÐØˆFØ�Š•�D‘”ÑÔÐØˆÝ�T‘
”
Ô#ˆØŒ=ð 	!Ø ˜�L�L�LˆEØ�9ÐÐØ#ˆE�'‰NØˆˆg‰Ø %™ˆˆg‰Ø—’�˜_Ô3°U·[²[±]´]ÑCÔCÑDÔDˆØ�	Š	•R˜‘X”XÐ,Ð, Ð,Ð,Ð,Ñ-Ô-Ð-Ý˜T™
œ
×(Ò(Ñ*Ô*ð 	"ð 	"‰HˆC�Ý˜#�}Ñ-Ô-ð "µ"°T±(´(¸c¼lÐ2JÐ2JØ—	’	ð =�b ™hœhð =ð =­b°©g¬gð =ð =Ø%(ð=ð =ð =ñ >ô >ð >à�˜˜SÑ!Ô!Ð!øð		"ð 	"ó    zdigraph G {
z}
Údotz-Té   z-ozutf-8T)ÚinputÚcheck)	Úsetr   r   Ú
subprocessÚrunr   ÚsuffixÚgetvalueÚencode)Ú	transformÚdestr   r    r$   r%   s     ` @@r&   Úgraphviz_dump_transformr4      sß   øøø€ ð& ÐØ�Kˆ	Ý‰5Œ5€Dð"ð "ð "ð "ð "ð "ð "õ( ‰*Œ*€CØ‡I‚IˆoÑÔÐØ€GˆI�sÑÔÐØ‡I‚IˆeÑÔÐÝ„NØ	�•d˜4‘j”jÔ'¨¨¨Ô+¨T°4Ð8Ø�lŠl‰nŒn×#Ò# GÑ,Ô,°Dð:ñ :ô :ð :ð :ð :r'   )	Ú__doc__Úior   Úpathlibr   r-   Úmatplotlib.transformsr   r4   © r'   r&   ú<module>r:      s{   ððð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð à /Ð /Ð /Ð /Ð /Ð /ð ;?ð 1:ð 1:ð 1:ð 1:ð 1:ð 1:ð 1:r'   