Ë
    ¨2Úi-N  ã                  ó  — d dl mZ d dlmZ d dlZd dlmZmZmZ d dl	m
Z d dlmZ d dlZd dlmZmZ d dlmZmZ d dlmZmZ d dlmZmZ d d	lmZ erd d
lm Z  d dl!m"Z" d dl#m$Z$ d dl%m&Z'  G d„ de«      Z( G d„ de(«      Z) G d„ de(«      Z*y)é    )Úannotations)ÚSequenceN)ÚTYPE_CHECKINGÚAnyÚcast)ÚFillTypeÚLineType)Úconvert_filledÚconvert_lines)Úas_fill_typeÚas_line_type)Úfilled_to_mpl_pathsÚlines_to_mpl_paths)ÚRenderer)ÚAxes)ÚFigure)Ú	ArrayLikec                  ót  — e Zd ZU dZded<   ded<   ded<   	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd	„Zdd
„Zdd„Zdd„Z	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z		 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z
	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 d 	 	 	 	 	 	 	 	 	 	 	 d!d„Zd"d#d„Zd$d„Zdd„Zd%d&d„Z	 	 	 	 d'	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d(d„Zy))ÚMplRenderera£  Utility renderer using Matplotlib to render a grid of plots over the same (x, y) range.

    Args:
        nrows (int, optional): Number of rows of plots, default ``1``.
        ncols (int, optional): Number of columns of plots, default ``1``.
        figsize (tuple(float, float), optional): Figure size in inches, default ``(9, 9)``.
        show_frame (bool, optional): Whether to show frame and axes ticks, default ``True``.
        backend (str, optional): Matplotlib backend to use or ``None`` for default backend.
            Default ``None``.
        gridspec_kw (dict, optional): Gridspec keyword arguments to pass to ``plt.subplots``,
            default None.
    zSequence[Axes]Ú_axesr   Ú_figÚboolÚ_want_tightNc                ó<  — |�dd l }|j                  |«       t        |ddd¬«      }|�||d<   nt        d¬«      |d<   t        j                  ||fi |¤Ž\  | _        }	|	j                  «       | _        |s"| j                  D ]  }
|
j                  d	«       Œ d| _	        y )
Nr   FT)ÚfigsizeÚsqueezeÚsharexÚshareyÚgridspec_kwÚequal)ÚaspectÚ
subplot_kwÚoff)
Ú
matplotlibÚuseÚdictÚpltÚsubplotsr   Úflattenr   Úaxisr   )ÚselfÚnrowsÚncolsr   Ú
show_frameÚbackendr   r$   ÚkwargsÚaxesÚaxs              úR/var/www/html/acx/venv/lib/python3.12/site-packages/contourpy/util/mpl_renderer.pyÚ__init__zMplRenderer.__init__*   sœ   € ð ÐÛØ�N‰N˜7Ô#ä!%¨g¸uÈTÐZ^Ô!_ˆØÐ"Ø$/ˆF�=Ò!ä#'¨wÔ#7ˆF�<Ñ äŸ,™, u¨eÑ>°vÑ>‰ˆŒ	�4Ø—\‘\“^ˆŒ
ÙØ—j‘jò �Ø—‘˜•ðð  ˆÕó    c                ó\   — t        | d«      r t        j                  | j                  «       y y )Nr   )Úhasattrr'   Úcloser   ©r+   s    r3   Ú__del__zMplRenderer.__del__E   s!   € Ü�4˜Ô Ü�I‰I�d—i‘iÕ ð !r5   c                óô   — | j                   D ])  }t        |dd«      sŒ|j                  d¬«       d|_        Œ+ | j                  r4t        | j                   «      dkD  r| j                  j                  «        y y y )NÚ_need_autoscaleFT)Útighté   )r   ÚgetattrÚautoscale_viewr<   r   Úlenr   Útight_layout©r+   r2   s     r3   Ú
_autoscalezMplRenderer._autoscaleI   so   € ð —*‘*ò 	+ˆBÜ�rÐ,¨eÕ4Ø×!Ñ!¨Ð!Ô-Ø%*�Õ"ð	+ð ×Ò¤ D§J¡J£°!Ò 3Ø�I‰I×"Ñ"Õ$ð !4Ðr5   c                óD   — t        |t        «      r| j                  |   }|S ©N)Ú
isinstanceÚintr   rC   s     r3   Ú_get_axzMplRenderer._get_axT   s   € Ü�bœ#ÔØ—‘˜B‘ˆBØˆ	r5   c                ó¸   — t        |«      }| j                  |«      }t        ||«      }t        j                  ||dd|¬«      }|j                  |«       d|_        y)a  Plot filled contours on a single Axes.

        Args:
            filled (sequence of arrays): Filled contour data as returned by
                :func:`~contourpy.ContourGenerator.filled`.
            fill_type (FillType or str): Type of ``filled`` data as returned by
                :attr:`~contourpy.ContourGenerator.fill_type`, or string equivalent
            ax (int or Maplotlib Axes, optional): Which axes to plot on, default ``0``.
            color (str, optional): Color to plot with. May be a string color or the letter ``"C"``
                followed by an integer in the range ``"C0"`` to ``"C9"`` to use a color from the
                ``tab10`` colormap. Default ``"C0"``.
            alpha (float, optional): Opacity to plot with, default ``0.7``.
        Únoner   ©Ú
facecolorsÚ
edgecolorsÚlwÚalphaTN)r   rI   r   ÚmcollectionsÚPathCollectionÚadd_collectionr<   )r+   ÚfilledÚ	fill_typer2   ÚcolorrP   ÚpathsÚ
collections           r3   rT   zMplRenderer.filledY   sZ   € ô* ! Ó+ˆ	Ø�\‰\˜"ÓˆÜ# F¨IÓ6ˆÜ!×0Ñ0Ø˜e°¸1ÀEôKˆ
à
×Ñ˜*Ô%Ø!ˆÕr5   c                óÀ  — | j                  |«      }| j                  ||«      \  }}t        ||¬«      } |j                  |||j                  |j                  fi |¤Ž |dkD  �r[d|dd…dd…f   |dd…dd…f   z   |dd…dd…f   z   |dd…dd…f   z   z  }	d|dd…dd…f   |dd…dd…f   z   |dd…dd…f   z   |dd…dd…f   z   z  }
||d<    |j                  t        j                  |dd…dd…f   |	|dd…dd…f   f«      j                  d«      t        j                  |dd…dd…f   |
|dd…dd…f   f«      j                  d«      t        j                  |dd…dd…f   |	|dd…dd…f   f«      j                  d«      t        j                  |dd…dd…f   |
|dd…dd…f   f«      j                  d«      fi |¤Ž |�|j                  ||||d	d¬
«       d|_        y)aü  Plot quad grid lines on a single Axes.

        Args:
            x (array-like of shape (ny, nx) or (nx,)): The x-coordinates of the grid points.
            y (array-like of shape (ny, nx) or (ny,)): The y-coordinates of the grid points.
            ax (int or Matplotlib Axes, optional): Which Axes to plot on, default ``0``.
            color (str, optional): Color to plot grid lines, default ``"black"``.
            alpha (float, optional): Opacity to plot lines with, default ``0.1``.
            point_color (str, optional): Color to plot grid points or ``None`` if grid points
                should not be plotted, default ``None``.
            quad_as_tri_alpha (float, optional): Opacity to plot ``quad_as_tri`` grid, default 0.

        Colors may be a string color or the letter ``"C"`` followed by an integer in the range
        ``"C0"`` to ``"C9"`` to use a color from the ``tab10`` colormap.

        Warning:
            ``quad_as_tri_alpha > 0`` plots all quads as though they are unmasked.
        )rV   rP   r   g      Ð?Néÿÿÿÿr>   rP   )é   rZ   Úo)rV   rP   ÚmarkerrO   T)	rI   Ú_grid_as_2dr&   ÚplotÚTÚnpÚstackÚreshaper<   )r+   ÚxÚyr2   rV   rP   Úpoint_colorÚquad_as_tri_alphar0   ÚxmidÚymids              r3   ÚgridzMplRenderer.gridv   s0  € ð8 �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ü!%¨E¸Ô!?ˆØˆ�‰��1�a—c‘c˜1Ÿ3™3Ñ) &Ò)Ø˜qÓ à˜˜3˜B˜3   ˜8™ q¨©¨S¨b¨S¨¡zÑ1°A°c°r°c¸1¹2°g±JÑ>ÀÀ1Á2ÀqÁrÀ6ÁÑJÑKˆDØ˜˜3˜B˜3   ˜8™ q¨©¨S¨b¨S¨¡zÑ1°A°c°r°c¸1¹2°g±JÑ>ÀÀ1Á2ÀqÁrÀ6ÁÑJÑKˆDØ/ˆF�7‰OØˆB�G‰GÜ—‘˜!˜C˜R˜C  " ˜H™+ t¨Q¨q©r°1±2¨v©YÐ7Ó8×@Ñ@ÀÓIÜ—‘˜!˜C˜R˜C  " ˜H™+ t¨Q¨q©r°1±2¨v©YÐ7Ó8×@Ñ@ÀÓIÜ—‘˜!˜A™B   ˜G™* d¨A¨c¨r¨c°1±2¨g©JÐ7Ó8×@Ñ@ÀÓIÜ—‘˜!˜A™B   ˜G™* d¨A¨c¨r¨c°1±2¨g©JÐ7Ó8×@Ñ@ÀÓIñ	ð
 òð Ð"Ø�G‰G�A�q °5ÀÈˆGÔKØ!ˆÕr5   c                ó¸   — t        |«      }| j                  |«      }t        ||«      }t        j                  |d|||¬«      }|j                  |«       d|_        y)aR  Plot contour lines on a single Axes.

        Args:
            lines (sequence of arrays): Contour line data as returned by
                :func:`~contourpy.ContourGenerator.lines`.
            line_type (LineType or str): Type of ``lines`` data as returned by
                :attr:`~contourpy.ContourGenerator.line_type`, or string equivalent.
            ax (int or Matplotlib Axes, optional): Which Axes to plot on, default ``0``.
            color (str, optional): Color to plot lines. May be a string color or the letter ``"C"``
                followed by an integer in the range ``"C0"`` to ``"C9"`` to use a color from the
                ``tab10`` colormap. Default ``"C0"``.
            alpha (float, optional): Opacity to plot lines with, default ``1.0``.
            linewidth (float, optional): Width of lines, default ``1``.
        rK   rL   TN)r   rI   r   rQ   rR   rS   r<   )	r+   ÚlinesÚ	line_typer2   rV   rP   Ú	linewidthrW   rX   s	            r3   rl   zMplRenderer.lines¥   sZ   € ô. ! Ó+ˆ	Ø�\‰\˜"ÓˆÜ" 5¨)Ó4ˆÜ!×0Ñ0Ø˜f°¸9ÈEôSˆ
à
×Ñ˜*Ô%Ø!ˆÕr5   c                óþ   — t         j                  j                  |«      }|t         j                  j                  u ry| j	                  |«      }| j                  ||«      \  }}|j                  ||   ||   d|¬«       y)aâ  Plot masked out grid points as circles on a single Axes.

        Args:
            x (array-like of shape (ny, nx) or (nx,)): The x-coordinates of the grid points.
            y (array-like of shape (ny, nx) or (ny,)): The y-coordinates of the grid points.
            z (masked array of shape (ny, nx): z-values.
            ax (int or Matplotlib Axes, optional): Which Axes to plot on, default ``0``.
            color (str, optional): Circle color, default ``"black"``.
        Nr\   )Úc)ra   ÚmaÚgetmaskÚnomaskrI   r^   r_   )r+   rd   re   Úzr2   rV   Úmasks          r3   ru   zMplRenderer.maskÄ   si   € ô" �u‰u�}‰}˜QÓˆØ”2—5‘5—<‘<ÑØØ�\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ø
�‰��$‘˜˜4™ #¨ˆÕ/r5   c                ó^   — | j                  «        | j                  j                  ||¬«       y)zÞSave plots to SVG or PNG file.

        Args:
            filename (str): Filename to save to.
            transparent (bool, optional): Whether background should be transparent, default
                ``False``.
        )ÚtransparentN)rD   r   Úsavefig)r+   Úfilenamerw   s      r3   ÚsavezMplRenderer.saveÜ   s%   € ð 	�‰ÔØ�	‰	×Ñ˜(°ÐÕ<r5   c                óª   — | j                  «        t        j                  «       }| j                  j	                  |d¬«       |j                  d«       |S )zhSave plots to an ``io.BytesIO`` buffer.

        Return:
            BytesIO: PNG image buffer.
        Úpng)Úformatr   )rD   ÚioÚBytesIOr   rx   Úseek)r+   Úbufs     r3   Úsave_to_bufferzMplRenderer.save_to_bufferç   s@   € ð 	�‰ÔÜ�j‰j‹lˆØ�	‰	×Ñ˜# eÐÔ,Ø�‰�ŒØˆ
r5   c                óL   — | j                  «        t        j                  «        y)zMShow plots in an interactive window, in the usual Matplotlib manner.
        N)rD   r'   Úshowr9   s    r3   r„   zMplRenderer.showó   s   € ð 	�‰ÔÜ�‰�
r5   c                óŽ   — |r#| j                  |«      j                  ||¬«       y| j                  |«      j                  |«       y)a  Set the title of a single Axes.

        Args:
            title (str): Title text.
            ax (int or Matplotlib Axes, optional): Which Axes to set the title of, default ``0``.
            color (str, optional): Color to set title. May be a string color or the letter ``"C"``
                followed by an integer in the range ``"C0"`` to ``"C9"`` to use a color from the
                ``tab10`` colormap. Default is ``None`` which uses Matplotlib's default title color
                that depends on the stylesheet in use.
        )rV   N)rI   Ú	set_title)r+   Útitler2   rV   s       r3   r‡   zMplRenderer.titleù   s:   € ñ Ø�L‰L˜Ó×&Ñ& u°EÐ&Õ:à�L‰L˜Ó×&Ñ& uÕ-r5   c                ó”  — | j                  |«      }| j                  ||«      \  }}t        j                  |«      }|j                  \  }}	t        |«      D ]>  }
t        |	«      D ].  }|j                  ||
|f   ||
|f   ||
|f   |› d�›dd|d¬«       Œ0 Œ@ |r°t        |dz
  «      D ]ž  }
t        |	dz
  «      D ]‹  }t        j                  ||
|
dz   …||dz   …f   «      }t        j                  ||
|
dz   …||dz   …f   «      }t        j                  ||
|
dz   …||dz   …f   «      }|j                  ||||› d�›dd|d¬«       Œ� Œ  yy)a°  Show ``z`` values on a single Axes.

        Args:
            x (array-like of shape (ny, nx) or (nx,)): The x-coordinates of the grid points.
            y (array-like of shape (ny, nx) or (ny,)): The y-coordinates of the grid points.
            z (array-like of shape (ny, nx): z-values.
            ax (int or Matplotlib Axes, optional): Which Axes to plot on, default ``0``.
            color (str, optional): Color of added text. May be a string color or the letter ``"C"``
                followed by an integer in the range ``"C0"`` to ``"C9"`` to use a color from the
                ``tab10`` colormap. Default ``"green"``.
            fmt (str, optional): Format to display z-values, default ``".1f"``.
            quad_as_tri (bool, optional): Whether to show z-values at the ``quad_as_tri`` centers
                of quads.

        Warning:
            ``quad_as_tri=True`` shows z-values for all quads, even if masked.
        Ú ÚcenterT©ÚhaÚvarV   Úclip_onr>   é   N)rI   r^   ra   ÚasarrayÚshapeÚrangeÚtextÚmean)r+   rd   re   rt   r2   rV   ÚfmtÚquad_as_triÚnyÚnxÚjÚiÚxxÚyyÚzzs                  r3   Úz_valueszMplRenderer.z_values	  s  € ð6 �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ü�J‰J�q‹MˆØ—‘‰ˆˆBÜ�r“ò 	3ˆAÜ˜2“Yò 3�Ø—‘˜˜!˜Q˜$™  1 a 4¡¨Q¨q°!¨t©W°c°U¸ °F¨OÀÈhØ#¨Tð õ 3ñ3ð	3ñ Ü˜2˜a™4“[ò *�Ü˜r !™t›ò *�AÜŸ™  1 Q q¡S 5¨!¨A¨a©C¨% <¡Ó1�BÜŸ™  1 Q q¡S 5¨!¨A¨a©C¨% <¡Ó1�BÜŸ™  1 Q q¡S 5¨!¨A¨a©C¨% <¡Ó1�BØ—G‘G˜B  r¨3¨%¨p¨ j°hÀ8ÐSXØ$(ð õ *ñ	*ñ*ð r5   )r>   r>   ©é	   r    TNN)r,   rH   r-   rH   r   útuple[float, float]r.   r   r/   ú
str | Noner   zdict[str, Any] | NoneÚreturnÚNone)r£   r¤   )r2   ú
Axes | intr£   r   )r   ÚC0çffffffæ?)rT   úcpy.FillReturnrU   úFillType | strr2   r¥   rV   ÚstrrP   Úfloatr£   r¤   )r   Úblackçš™™™™™¹?Nr   )rd   r   re   r   r2   r¥   rV   rª   rP   r«   rf   r¢   rg   r«   r£   r¤   )r   r¦   ç      ð?r>   )rl   úcpy.LineReturnrm   úLineType | strr2   r¥   rV   rª   rP   r«   rn   r«   r£   r¤   )r   r¬   )rd   r   re   r   rt   z'ArrayLike | np.ma.MaskedArray[Any, Any]r2   r¥   rV   rª   r£   r¤   )F)ry   rª   rw   r   r£   r¤   )r£   z
io.BytesIO)r   N)r‡   rª   r2   r¥   rV   r¢   r£   r¤   )r   Úgreenz.1fF)rd   r   re   r   rt   r   r2   r¥   rV   rª   r•   rª   r–   r   r£   r¤   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r4   r:   rD   rI   rT   rj   rl   ru   rz   r‚   r„   r‡   rž   © r5   r3   r   r      sJ  … ñð ÓØ
ƒLØÓð ØØ'-ØØ"Ø-1ð àð ð ð ð %ð	 ð
 ð ð ð ð +ð ð 
ó ó6!ó	%óð ØØð"àð"ð "ð"ð ð	"ð
 ð"ð ð"ð 
ó"ðB ØØØ"&Ø#$ð-"àð-"ð ð-"ð ð	-"ð
 ð-"ð ð-"ð  ð-"ð !ð-"ð 
ó-"ðf ØØØð"àð"ð "ð"ð ð	"ð
 ð"ð ð"ð ð"ð 
ó"ðH Øð0àð0ð ð0ð 3ð	0ð
 ð0ð ð0ð 
ó0ô0	=ó
óô.ð* ØØØ!ð**àð**ð ð**ð ð	**ð
 ð**ð ð**ð ð**ð ð**ð 
ô**r5   r   c                  ó:   ‡ — e Zd ZdZ	 	 	 d	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚMplTestRendererz¾Test renderer implemented using Matplotlib.

    No whitespace around plots and no spines/ticks displayed.
    Uses Agg backend, so can only save to file/buffer, cannot call ``show()``.
    c                óú   •— dddddddœ}t         ‰| �  |||dd|¬«       | j                  D ]F  }|j                  d«       |j	                  d«       |j                  g «       |j                  g «       ŒH d| _        y )	Ng{®Gáz„?g®Gáz®ï?)ÚleftÚrightÚtopÚbottomÚwspaceÚhspaceTÚAgg)r.   r/   r   ç        F)Úsuperr4   r   Úset_xmarginÚset_ymarginÚ
set_xticksÚ
set_yticksr   )r+   r,   r-   r   Úgridspecr2   Ú	__class__s         €r3   r4   zMplTestRenderer.__init__<  sŽ   ø€ ð ØØØØØñ
ˆô 	‰ÑØ�5˜'¨d¸EÈxð 	ô 	
ð —*‘*ò 	ˆBØ�N‰N˜3ÔØ�N‰N˜3ÔØ�M‰M˜"ÔØ�M‰M˜"Õð		ð !ˆÕr5   )r>   r>   rŸ   )r,   rH   r-   rH   r   r¡   r£   r¤   )r²   r³   r´   rµ   r4   Ú__classcell__©rÉ   s   @r3   r¹   r¹   6  sC   ø„ ñð ØØ'-ð	!àð!ð ð!ð %ð	!ð
 
÷!ñ !r5   r¹   c                  ód  ‡ — e Zd ZdZ	 	 	 	 d		 	 	 	 	 	 	 	 	 d
ˆ fd„Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Z	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Z	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z		 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z
ˆ xZS )ÚMplDebugRendererz¤Debug renderer implemented using Matplotlib.

    Extends ``MplRenderer`` to add extra information to help in debugging such as markers, arrows,
    text, etc.
    c                ó*   •— t         ‰| �  ||||«       y rF   )rÃ   r4   )r+   r,   r-   r   r.   rÉ   s        €r3   r4   zMplDebugRenderer.__init__]  s   ø€ ô 	‰Ñ˜  w°
Õ;r5   c                ól  — d||z   z  }||z
  }|t        j                  t        j                  ||«      «      z  }t        j                  |d   |d    f«      }	t        j                  ||dz  |	z
  |z  z
  ||dz  |z  z   ||dz  |	z   |z  z
  f«      }
|j                  |
d d …df   |
d d …df   d||¬«       y )Ng      à?r>   r   ú-©rp   rP   )ra   ÚsqrtÚdotr�   rb   r_   )r+   r2   Ú
line_startÚline_endrV   rP   Ú
arrow_sizeÚmidÚalongr¼   Úarrows              r3   Ú_arrowzMplDebugRenderer._arrowf  sÐ   € ð �: Ñ(Ñ)ˆØ˜:Ñ%ˆØ”—‘œŸ™  uÓ-Ó.Ñ.ˆÜ—
‘
˜E !™H u¨Q¡x iÐ0Ó1ˆÜ—‘Ø�5˜‘9˜uÑ$ jÑ0Ñ0Ø�%˜‘)˜JÑ&Ñ&Ø�5˜‘9˜uÑ$ jÑ0Ñ0ð
ó ˆð
 	�‰�’a˜�d‘˜U¢1 a 4™[¨#°¸eˆÕDr5   c                ó  •— t        |«      }t        ‰| �	  |||||«       |€|€y | j                  |«      }t	        ||t
        j                  «      }|�˜t        |Ž D ]�  \  }}|€Œ	t        |d d |dd  «      D ]p  \  }}||| }|j                  |d d …df   |d d …df   ||¬«       |
dkD  sŒ4t        |«      }t        |dz
  «      D ]!  }| j                  |||   ||dz      |||
«       Œ# Œr Œ� |� t        |Ž D ]”  \  }}|€Œ	t        j                  |d   t        ¬«      }d||dd  dz
  <   |	�
|d d }d||<   |j                  |d d …df   |   |d d …df   |   d||¬«       |	€Œk|j                  |d d …df      |d d …df   |   d|	|¬«       Œ– y y )	NrZ   r>   r   rÑ   rÂ   )ÚdtypeFr\   )r   rÃ   rT   rI   r
   r   ÚChunkCombinedOffsetÚzipr_   rA   r’   rÚ   ra   Úonesr   )r+   rT   rU   r2   rV   rP   Ú
line_colorÚ
line_alpharf   Ústart_point_colorrÖ   ÚpointsÚoffsetsÚstartÚendÚxysÚnrš   ru   Ústart_indicesrÉ   s                       €r3   rT   zMplDebugRenderer.filledz  s
  ø€ ô ! Ó+ˆ	Ü‰‰�v˜y¨"¨e°UÔ;àÐ +Ð"5Øà�\‰\˜"ÓˆÜ ¨	´8×3OÑ3OÓPˆð Ð!Ü#&¨ <ò 
b‘�˜Ø�>ØÜ"% g¨c¨r l°G¸A¸B°KÓ"@ò b‘J�E˜3Ø   sÐ+�CØ—G‘G˜C¢ 1 ™I sª1¨a¨4¡y°JÀj�GÔQà! CÓ'Ü ›H˜Ü!& q¨¡s£ò b˜AØ ŸK™K¨¨C°©F°C¸¸!¹±H¸jÈ*ÐV`Õañbñbð
bð Ð"Ü#&¨ <ò C‘�˜Ø�>ØÜ—w‘w˜w r™{´$Ô7�Ø&+��W˜Q˜R�[ ‘]Ñ#Ø$Ð0Ø$+¨C¨R L�MØ*/�D˜Ñ'Ø—‘Øš1˜a˜4‘L Ñ&¨ªq°!¨t©°TÑ(:¸CÀ;ÐV`ð ô bð %Ñ0Ø—G‘G˜F¢1 a 4™L¨Ñ7¸ÂÀ1À¹ÀmÑ9TÐVYØ/°zð õ CñCð #r5   c
           
     ó~  •— t        |«      }t        ‰| �	  ||||||«       |	dk(  r|€y | j                  |«      }t	        ||t
        j                  «      }
t        rt        t        j                  |
«      }
|	dkD  rB|
D ]=  }t        t        |«      dz
  «      D ]!  }| j                  |||   ||dz      |||	«       Œ# Œ? |�€|
D ]z  }d}t        |«      }|�E|j                  |d   |d   d||¬«       d}|d   d   |d   d   k(  r|d   d   |d   d   k(  r|dz  }|j                  |||…df   |||…df   d||¬«       Œ| y y )	NrÂ   r>   r   )r   r   )r   r>   r\   rÑ   rZ   )r   rÃ   rl   rI   r   r	   ÚSeparater   r   ÚcpyÚLineReturn_Separater’   rA   rÚ   r_   )r+   rl   rm   r2   rV   rP   rn   rf   râ   rÖ   Úseparate_linesÚlinerš   Ústart_indexÚ	end_indexrÉ   s                  €r3   rl   zMplDebugRenderer.lines¯  sŽ  ø€ ô ! Ó+ˆ	Ü‰‰�e˜Y¨¨E°5¸)ÔDà˜Ò Ð!4Øà�\‰\˜"ÓˆÜ& u¨i¼×9JÑ9JÓKˆÝÜ!¤#×"9Ñ"9¸>ÓJˆNà˜ÒØ&ò R�Üœs 4›y¨™{Ó+ò R�AØ—K‘K  D¨¡G¨T°!°A±#©Y¸¸uÀjÕQñRðRð Ð"Ø&ò 	.�Ø�Ü ›I�	Ø$Ð0Ø—G‘G˜D ™J¨¨T©
°CÐ;LÐTY�GÔZØ"#�KØ˜A‘w˜q‘z T¨"¡X¨a¡[Ò0°T¸!±W¸Q±ZÀ4ÈÁ8ÈAÁ;Ò5NØ! Q™˜	Ø—‘˜˜[¨Ð2°AÐ5Ñ6¸¸[ÈÐ=RÐTUÐ=UÑ8VÐX[Ø uð õ .ñ	.ð #r5   c                ó>  — | j                  |«      }| j                  ||«      \  }}t        j                  |«      }|j                  \  }}t        |«      D ]E  }t        |«      D ]5  }	|	||z  z   }
|j                  |||	f   |||	f   t        |
«      dd|d¬«       Œ7 ŒG y )Nr¼   r½   Tr‹   ©rI   r^   ra   r�   r‘   r’   r“   rª   )r+   rd   re   rt   r2   rV   r—   r˜   r™   rš   Úquads              r3   Úpoint_numberszMplDebugRenderer.point_numbers×  sª   € ð �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ü�J‰J�q‹MˆØ—‘‰ˆˆBÜ�r“ò 	&ˆAÜ˜2“Yò &�Ø˜1˜R™4‘x�Ø—‘˜˜!˜Q˜$™  1 a 4¡¬#¨d«)¸ÀEÐQVØ $ð õ &ñ&ñ	&r5   c                óÂ  — | j                  |«      }| j                  ||«      \  }}t        j                  |«      }|j                  \  }}t        d|«      D ]†  }t        d|«      D ]u  }	|	||z  z   }
||dz
  |dz   …|	dz
  |	dz   …f   j                  «       }||dz
  |dz   …|	dz
  |	dz   …f   j                  «       }|j                  ||t        |
«      dd|d¬«       Œw Œˆ y )Nr>   rŠ   Tr‹   )	rI   r^   ra   r�   r‘   r’   r”   r“   rª   )r+   rd   re   rt   r2   rV   r—   r˜   r™   rš   rô   rh   ri   s                r3   Úquad_numberszMplDebugRenderer.quad_numbersé  sü   € ð �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ü�J‰J�q‹MˆØ—‘‰ˆˆBÜ�q˜"“ò 	dˆAÜ˜1˜b“\ò d�Ø˜1˜R™4‘x�Ø˜˜1™˜Q˜q™S˜ ! A¡# a¨¡c 'Ð)Ñ*×/Ñ/Ó1�Ø˜˜1™˜Q˜q™S˜ ! A¡# a¨¡c 'Ð)Ñ*×/Ñ/Ó1�Ø—‘˜˜d¤C¨£I°(¸xÈuÐ^b�Õcñ	dñ	dr5   c                ód  — | j                  |«      }| j                  ||«      \  }}t        j                  |«      }|j                  \  }}	t        |«      D ]X  }
t        |	«      D ]H  }||
|f   }|�||kD  rd}n
||kD  rd}nd}|j                  ||
|f   ||
|f   t        |«      dd|d¬«       ŒJ ŒZ y )Nr�   r>   r   r»   r¾   Tr‹   ró   )r+   rd   re   rt   Úlower_levelÚupper_levelr2   rV   r—   r˜   r™   rš   r�   Úz_levels                 r3   Úz_levelszMplDebugRenderer.z_levelsü  sÎ   € ð �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ü�J‰J�q‹MˆØ—‘‰ˆˆBÜ�r“ò 
	&ˆAÜ˜2“Yò 	&�Ø�q˜!�t‘W�ØÐ*¨r°KÒ/?Ø‘GØ˜+Ò%Ø‘Gà�GØ—‘˜˜!˜Q˜$™  1 a 4¡¬#¨g«,¸6ÀhÐV[Ø $ð õ &ñ	&ñ
	&r5   )r>   r>   rŸ   T)
r,   rH   r-   rH   r   r¡   r.   r   r£   r¤   )r2   r   rÔ   úcpy.CoordinateArrayrÕ   rý   rV   rª   rP   r«   rÖ   r«   r£   r¤   )r   ÚC1r§   r¦   r§   r¦   Úredr­   )rT   r¨   rU   r©   r2   r¥   rV   rª   rP   r«   rà   rª   rá   r«   rf   rª   râ   rª   rÖ   r«   r£   r¤   )r   r¦   r®   r>   r¦   rÿ   r­   )rl   r¯   rm   r°   r2   r¥   rV   rª   rP   r«   rn   r«   rf   rª   râ   rª   rÖ   r«   r£   r¤   )r   rÿ   )rd   r   re   r   rt   r   r2   r¥   rV   rª   r£   r¤   )r   Úblue)Nr   r±   )rd   r   re   r   rt   r   rù   r«   rú   zfloat | Noner2   r¥   rV   rª   r£   r¤   )r²   r³   r´   rµ   r4   rÚ   rT   rl   rõ   r÷   rü   rÊ   rË   s   @r3   rÍ   rÍ   W  s¦  ø„ ñð ØØ'-Øð<àð<ð ð<ð %ð	<ð
 ð<ð 
õ<ðEàðEð (ðEð &ð	Eð
 ðEð ðEð ðEð 
óEð0 ØØØØØØ!&Øð3Càð3Cð "ð3Cð ð	3Cð
 ð3Cð ð3Cð ð3Cð ð3Cð ð3Cð ð3Cð ð3Cð 
õ3Cðr ØØØØØ!&Øð&.àð&.ð "ð&.ð ð	&.ð
 ð&.ð ð&.ð ð&.ð ð&.ð ð&.ð ð&.ð 
õ&.ðZ Øð&àð&ð ð&ð ð	&ð
 ð&ð ð&ð 
ó&ð. Øðdàðdð ðdð ð	dð
 ðdð ðdð 
ódð2 %)ØØð&àð&ð ð&ð ð	&ð
 ð&ð "ð&ð ð&ð ð&ð 
÷&r5   rÍ   )+Ú
__future__r   Úcollections.abcr   r~   Útypingr   r   r   Úmatplotlib.collectionsÚcollectionsrQ   Úmatplotlib.pyplotÚpyplotr'   Únumpyra   Ú	contourpyr   r	   Úcontourpy.convertr
   r   Úcontourpy.enum_utilr   r   Úcontourpy.util.mpl_utilr   r   Úcontourpy.util.rendererr   Úmatplotlib.axesr   Úmatplotlib.figurer   Únumpy.typingr   Úcontourpy._contourpyÚ
_contourpyrì   r   r¹   rÍ   r·   r5   r3   ú<module>r     se   ðÝ "å $Û 	ß +Ñ +å -Ý Û ç (ß ;ß :ß KÝ ,áÝ$Ý(Ý&å&ôZ*�(ô Z*ôz!�kô !ôB}&�{õ }&r5   