Ë
    ¨eh  ã                   ó:  — d Z ddlZddlmZ ddlmZ  G d„ d«      Z G d„ de«      Z G d	„ d
e«      Z	 G d„ de«      Z
 G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zee	e
eeeeegZd„ Zdd„Zy)z/Contains classes for generating hatch patterns.é    N)Ú_api)ÚPathc                   ó   — e Zd ZdZy)ÚHatchPatternBasez#The base class for a hatch pattern.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úN/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/hatch.pyr   r   	   s   „ Ù-Ør   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚHorizontalHatchc                 ó”   — t        |j                  d«      |j                  d«      z   |z  «      | _        | j                  dz  | _        y )Nú-ú+é   ©ÚintÚcountÚ	num_linesÚnum_vertices©ÚselfÚhatchÚdensitys      r   Ú__init__zHorizontalHatch.__init__   ó;   € Ü˜eŸk™k¨#Ó.°·±¸SÓ1AÑAÀWÑLÓMˆŒØ ŸN™N¨QÑ.ˆÕr   c                 ó
  — t        j                  dd| j                  dd¬«      \  }}||dz  z  }d|dd d…df<   ||dd d…d	f<   d|d	d d…df<   ||d	d d…d	f<   t        j                  |dd d…<   t        j
                  |d	d d…<   y ©
Nç        ç      ð?FT)Úretstepg       @r   r   é   ©ÚnpÚlinspacer   r   ÚMOVETOÚLINETO©r   ÚverticesÚcodesÚstepsÚstepsizes        r   Úset_vertices_and_codesz&HorizontalHatch.set_vertices_and_codes   s§   € ÜŸ+™+ c¨3°·±ÀØ.2ô4‰ˆˆxà�˜B‘ÑˆØˆ���A��q�ÑØ!ˆ���A��q�ÑØˆ���A��q�ÑØ!ˆ���A��q�ÑÜ—k‘kˆˆaˆd�ˆd‰Ü—k‘kˆˆaˆd�ˆdŠr   N©r   r   r	   r   r/   r   r   r   r   r      ó   „ ò/ó	"r   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚVerticalHatchc                 ó”   — t        |j                  d«      |j                  d«      z   |z  «      | _        | j                  dz  | _        y )Nú|r   r   r   r   s      r   r   zVerticalHatch.__init__    r   r   c                 ó
  — t        j                  dd| j                  dd¬«      \  }}||dz  z  }||dd d…df<   d|dd d…d	f<   ||d	d d…df<   d|d	d d…d	f<   t        j                  |dd d…<   t        j
                  |d	d d…<   y r    r%   r*   s        r   r/   z$VerticalHatch.set_vertices_and_codes$   s§   € ÜŸ+™+ c¨3°·±ÀØ.2ô4‰ˆˆxà�˜B‘ÑˆØ!ˆ���A��q�ÑØˆ���A��q�ÑØ!ˆ���A��q�ÑØˆ���A��q�ÑÜ—k‘kˆˆaˆd�ˆd‰Ü—k‘kˆˆaˆd�ˆdŠr   Nr0   r   r   r   r3   r3      r1   r   r3   c                   ó   — e Zd Zd„ Zd„ Zy)ÚNorthEastHatchc                 óæ   — t        |j                  d«      |j                  d«      z   |j                  d«      z   |z  «      | _        | j                  r| j                  dz   dz  | _        y d| _        y )Nú/ÚxÚXr$   r   r   r   r   s      r   r   zNorthEastHatch.__init__1   sa   € ÜØ�[‰[˜Ó §¡¨CÓ 0Ñ0°5·;±;¸sÓ3CÑCÀwÑNóPˆŒà�>Š>Ø!%§¡°!Ñ!3°qÑ 8ˆDÕà !ˆDÕr   c                 ó  — t        j                  dd| j                  dz   «      }d|z   |dd d…df<   d|z
  |dd d…df<   d|z   |dd d…df<   d|z
  |dd d…df<   t        j                  |dd d…<   t        j
                  |dd d…<   y ©Ng      à¿g      à?r$   r!   r   r   r"   r%   ©r   r+   r,   r-   s       r   r/   z%NorthEastHatch.set_vertices_and_codes9   ó£   € Ü—‘˜D # t§~¡~¸Ñ'9Ó:ˆØ %™Kˆ���A��q�ÑØ %™Kˆ���A��q�ÑØ %™Kˆ���A��q�ÑØ %™Kˆ���A��q�ÑÜ—k‘kˆˆaˆd�ˆd‰Ü—k‘kˆˆaˆd�ˆdŠr   Nr0   r   r   r   r8   r8   0   s   „ ò"ó"r   r8   c                   ó   — e Zd Zd„ Zd„ Zy)ÚSouthEastHatchc                 óæ   — t        |j                  d«      |j                  d«      z   |j                  d«      z   |z  «      | _        | j                  r| j                  dz   dz  | _        y d| _        y )Nú\r;   r<   r$   r   r   r   r   s      r   r   zSouthEastHatch.__init__D   se   € ÜØ�[‰[˜Ó §¡¨SÓ!1Ñ1°E·K±KÀÓ4DÑDØñóˆŒð �>Š>Ø!%§¡°!Ñ!3°qÑ 8ˆDÕà !ˆDÕr   c                 ó  — t        j                  dd| j                  dz   «      }d|z   |dd d…df<   d|z   |dd d…df<   d|z   |dd d…df<   d|z   |dd d…df<   t        j                  |dd d…<   t        j
                  |dd d…<   y r>   r%   r?   s       r   r/   z%SouthEastHatch.set_vertices_and_codesM   r@   r   Nr0   r   r   r   rB   rB   C   s   „ ò"ó"r   rB   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚShapesFc                 ó8  — | j                   dk(  rd| _        d| _        y | j                   dz  dz   | j                   dz   z  | j                   dz  | j                   z  z   | _        | j                  t        | j                  «      z  | j
                  rdndz  | _        y )Nr   r   r$   )Únum_rowsÚ
num_shapesr   ÚlenÚshape_verticesÚfilledr   s      r   r   zShapes.__init__Z   sŠ   € Ø�=‰=˜AÒØˆDŒOØ !ˆDÕà $§¡°Ñ 2°QÑ 6¸4¿=¹=È1Ñ;LÑMØ $§¡°Ñ 2°d·m±mÑCñ DˆDŒOà!%§¡Ü!$ T×%8Ñ%8Ó!9ñ":à'+§{¢{¡!¸ñ";ˆDÕr   c                 óª  — d| j                   z  }| j                  |z  | j                  z  }| j                  }| j                  s7t        j                  ||d d d…   dz  g«      }t        j                  ||g«      }g }g }t        | j                   dz   «      D ]Œ  }|dz  dk(  r%t        j                  dd| j                   dz   «      }	n*t        j                  |dz  d|dz  z
  | j                   «      }	||z  }
|	D ])  }|j                  |||
gz   «       |j                  |«       Œ+ ŒŽ t        j                  ||¬«       t        j                  ||¬«       y )Nr"   éÿÿÿÿgÍÌÌÌÌÌì?r$   r   r   )Úout)
rI   rL   ÚsizeÚshape_codesrM   r&   ÚconcatenateÚranger'   Úappend)r   r+   r,   ÚoffsetrL   rR   Úvertices_partsÚcodes_partsÚrowÚcolsÚrow_posÚcol_poss               r   r/   zShapes.set_vertices_and_codese   s=  € Ø�t—}‘}Ñ$ˆØ×,Ñ,¨vÑ5¸¿	¹	ÑAˆØ×&Ñ&ˆØ�{Š{ÜŸ^™^Ø ±°"°Ñ!5¸Ñ!;Ð<ó>ˆNäŸ.™.¨+°{Ð)CÓDˆKØˆØˆÜ˜Ÿ™¨Ñ*Ó+ò 	0ˆCØ�Q‰w˜!Š|Ü—{‘{ 1 a¨¯©¸Ñ):Ó;‘ä—{‘{ 6¨A¡:¨q°6¸A±:©~¸t¿}¹}ÓM�Ø˜F‘lˆGØò 0�Ø×%Ñ% n¸ÀÐ7IÑ&IÔJØ×"Ñ" ;Õ/ñ0ð	0ô 	�‰�~¨8Õ4Ü
�‰�{¨Ö.r   N)r   r   r	   rM   r   r/   r   r   r   rG   rG   W   s   „ Ø€Fò	<ó/r   rG   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚCirclesc                 ó’   •— t        j                  «       }|j                  | _        |j                  | _        t        ‰| �  ||«       y )N)r   Úunit_circler+   rL   r,   rR   Úsuperr   ©r   r   r   ÚpathÚ	__class__s       €r   r   zCircles.__init__}   s8   ø€ Ü×ÑÓ!ˆØ"Ÿm™mˆÔØŸ:™:ˆÔÜ‰Ñ˜ Õ(r   )r   r   r	   r   Ú__classcell__©rd   s   @r   r^   r^   |   s   ø„ ÷)ð )r   r^   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚSmallCirclesgš™™™™™É?c                 óX   •— |j                  d«      |z  | _        t        ‰| �  ||«       y )NÚo©r   rI   ra   r   ©r   r   r   rd   s      €r   r   zSmallCircles.__init__‡   ó'   ø€ ØŸ™ SÓ)¨WÑ4ˆŒÜ‰Ñ˜ Õ(r   ©r   r   r	   rQ   r   re   rf   s   @r   rh   rh   „   s   ø„ Ø€D÷)ð )r   rh   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚLargeCirclesgffffffÖ?c                 óX   •— |j                  d«      |z  | _        t        ‰| �  ||«       y )NÚOrk   rl   s      €r   r   zLargeCircles.__init__�   rm   r   rn   rf   s   @r   rp   rp   Œ   s   ø„ Ø€D÷)ð )r   rp   c                   ó&   ‡ — e Zd ZdZdZˆ fd„Zˆ xZS )ÚSmallFilledCirclesgš™™™™™¹?Tc                 óX   •— |j                  d«      |z  | _        t        ‰| �  ||«       y )Nú.rk   rl   s      €r   r   zSmallFilledCircles.__init__˜   rm   r   ©r   r   r	   rQ   rM   r   re   rf   s   @r   rt   rt   ”   s   ø„ Ø€DØ€F÷)ð )r   rt   c                   ó&   ‡ — e Zd ZdZdZˆ fd„Zˆ xZS )ÚStarsgUUUUUUÕ?Tc                 óv  •— |j                  d«      |z  | _        t        j                  d«      }|j                  | _        t        j                  t        | j
                  «      t        j                  t        j                  ¬«      | _        t        j                  | j                  d<   t        ‰| �9  ||«       y )NÚ*é   )Údtyper   )r   rI   r   Úunit_regular_starr+   rL   r&   ÚfullrK   r)   Ú	code_typerR   r(   ra   r   rb   s       €r   r   zStars.__init__¡   s‚   ø€ ØŸ™ SÓ)¨WÑ4ˆŒÜ×%Ñ% aÓ(ˆØ"Ÿm™mˆÔÜŸ7™7¤3 t×':Ñ':Ó#;¼T¿[¹[Ü)-¯©ô9ˆÔä"Ÿk™kˆ×Ñ˜ÑÜ‰Ñ˜ Õ(r   rw   rf   s   @r   ry   ry   �   s   ø„ Ø€DØ€F÷)ð )r   ry   c           	      ó   — t        d«      }| �qt        | «      j                  |«      }|rTdj                  t        |«      «      }dj                  t        |«      «      }t	        j
                  ddd|› d|› d�¬«       y y y )	Nz-+|/\xXoO.*Ú z3.4z3.11z#hatch must consist of a string of "z3" or None, but found the following invalid values "z`". Passing invalid values is deprecated since %(since)s and will become an error in %(removal)s.)ÚremovalÚmessage)ÚsetÚ
differenceÚjoinÚsortedr   Úwarn_deprecated)r   Úvalid_hatch_patternsÚinvalidsÚvalids       r   Ú_validate_hatch_patternr�   ¶   sŽ   € Ü˜~Ó.ÐØÐÜ�u“:×(Ñ(Ð)=Ó>ˆÙØ—G‘GœFÐ#7Ó8Ó9ˆEØ—w‘wœv hÓ/Ó0ˆHÜ× Ñ ØØØ=¸e¸Wð Eà$˜:ð &SðSöð ð r   c                 ó6  — t        |«      }t        D �cg c]  } || |«      ‘Œ }}t        |D �cg c]  }|j                  ‘Œ c}«      }|dk(  rt	        t        j                  d«      «      S t        j                  |df«      }t        j                  |t        j                  «      }d}|D ]W  }|j                  dk7  sŒ||||j                  z    }	||||j                  z    }
|j                  |	|
«       ||j                  z  }ŒY t	        ||«      S c c}w c c}w )z¢
    Given a hatch specifier, *hatchpattern*, generates Path to render
    the hatch in a unit square.  *density* is the number of lines per
    unit square.
    r   )r   r   r   )	r   Ú_hatch_typesÚsumr   r   r&   Úemptyr€   r/   )Úhatchpatternr   Ú
hatch_typeÚpatternsÚpatternr   r+   r,   ÚcursorÚvertices_chunkÚcodes_chunks              r   Úget_pathr™   Ç   s  € ô �'‹l€Gô #/ö0Øñ ˜<¨Õ1ð 0€Hð 0ä¸HÖE°˜×,Ó,ÒEÓF€Là�qÒÜ”B—H‘H˜VÓ$Ó%Ð%ä�x‰x˜ qÐ)Ó*€HÜ�H‰H�\¤4§>¡>Ó2€Eà€FØò +ˆØ×Ñ 1Ó$Ø% f¨V°g×6JÑ6JÑ-JÐKˆNØ  v°×0DÑ0DÑ'DÐEˆKØ×*Ñ*¨>¸;ÔGØ�g×*Ñ*Ñ*‰Fð+ô �˜%Ó Ð ùò%0ùâEs
   ”D¯D)é   )r
   Únumpyr&   Ú
matplotlibr   Úmatplotlib.pathr   r   r   r3   r8   rB   rG   r^   rh   rp   rt   ry   r�   r�   r™   r   r   r   ú<module>rž      sÄ   ðÙ 5ã å Ý  ÷	ñ 	ô
"Ð&ô "ô""Ð$ô "ô""Ð%ô "ô&"Ð%ô "ô("/Ðô "/ôJ)ˆfô )ô)�7ô )ô)�7ô )ô)˜ô )ô)ˆFô )ð ØØØØØØØ	ð	€òô"!r   