+
     ]i  c                   s>   R t ^ RIt^ RIHt ^ RIHt  ! R R4      t ! R R]4      t ! R R	]4      t	 ! R
 R]4      t
 ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t]]	]
]]]]].tR tRR ltR# )z/Contains classes for generating hatch patterns.N)_api)Pathc                   s    ] tR t^	tRtRtR# )HatchPatternBasez#The base class for a hatch pattern. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       7/usr/lib64/python3.14/site-packages/matplotlib/hatch.pyr   r   	   s    -r
   r   c                   s,   a  ] tR t^t o R tR tRtV tR# )HorizontalHatchc                    \        VP                  R 4      VP                  R4      ,           V,          4      V n        V P                  ^,          V n        R# )Z-+Nintcount	num_linesnum_verticesselfhatchdensity   &&&r   __init__ZHorizontalHatch.__init__   ;    ekk#.S1AAWLM NNQ.r
   c                s    \         P                  ! R RV P                  RRR7      w  r4W4R,          ,          pR VR	&   W1R
&   RVR&   W1R&   \        P                  VR&   \        P
                  VR&   R#               ?FT)Zretstepg       @    N      Nr    Nr   r   r   r"   r!   r   r!   r"   nplinspacer   r   MOVETOLINETOr   verticescodesstepsZstepsize   &&&  r   set_vertices_and_codesZ&HorizontalHatch.set_vertices_and_codes   sk    ++c3.24B!!kkdkkdr
   r   r   Nr   r   r   r   r   r1   r	   __classdictcell____classdict__   @r   r   r           /	" 	"r
   r   c                   s,   a  ] tR t^t o R tR tRtV tR# )VerticalHatchc                r   )Z|r   Nr   r   r   r   r   ZVerticalHatch.__init__    r   r
   c                s    \         P                  ! R RV P                  RRR7      w  r4W4R,          ,          pW1R	&   R VR
&   W1R&   RVR&   \        P                  VR&   \        P
                  VR&   R# r   r'   r,   r0   r   r1   Z$VerticalHatch.set_vertices_and_codes$   sk    ++c3.24B!!kkdkkdr
   r2   Nr3   r5   r7   r   r9   r9      r8   r
   r9   c                   s,   a  ] tR t^0t o R tR tRtV tR# )NorthEastHatchc                   \        VP                  R 4      VP                  R4      ,           VP                  R4      ,           V,          4      V n        V P                  '       d"   V P                  ^,           ^,          V n        R# ^ V n        R# )Z/xXNr   r   r   r   r   ZNorthEastHatch.__init__1   sc    [[C 005;;s3CCwNP>>>!%!!3q 8D !Dr
   c                s   \         P                  ! RR V P                  ^,           4      pRV,           VR&   RV,
          VR&   RV,           VR	&   RV,
          VR
&   \        P                  VR&   \        P
                  VR&   R# g      ?r   r   r   r!   Ng      r#   r$   r%   r&   r'   r   r-   r.   r/      &&& r   r1   Z%NorthEastHatch.set_vertices_and_codes9   o    D#t~~'9:%K%K%K%Kkkdkkdr
   r2   Nr3   r5   r7   r   r:   r:   0   s     "" "r
   r:   c                   s,   a  ] tR t^Ct o R tR tRtV tR# )SouthEastHatchc                r;   )Z\r<   r=   Nr   r   r   r   r   ZSouthEastHatch.__init__D   sg    [[S!11EKK4DD >>>!%!!3q 8D !Dr
   c                s   \         P                  ! RR V P                  ^,           4      pRV,           VR&   RV,           VR&   RV,           VR	&   RV,           VR
&   \        P                  VR&   \        P
                  VR&   R# r>   r'   r?   r@   r   r1   Z%SouthEastHatch.set_vertices_and_codesM   rA   r
   r2   Nr3   r5   r7   r   rB   rB   C   s     "" "r
   rB   c                   s0   a  ] tR t^Wt o RtR tR tRtV tR# )ShapesFc                s   V P                   ^ 8X  d   ^ V n        ^ V n        R# V P                   ^,          ^,           V P                   ^,           ,          V P                   ^,          V P                   ,          ,           V n        V P                  \        V P                  4      ,          V P
                  '       d   ^M^,          V n        R# )r   N)num_rows
num_shapesr   lenshape_verticesfilledr   r   r   r   ZShapes.__init__Z   s    ==ADO !D $ 2Q 64==1;LM $ 2dmmC DDO!%!$T%8%8!9":'+{{{!";Dr
   c                s,   R V P                   ,          pV P                  V,          V P                  ,          pV P                  pV P                  '       g@   \
        P                  ! WDRRR1,          R,          .4      p\
        P                  ! WU.4      p. p. p\        V P                   ^,           4       F  pV^,          ^ 8X  d+   \
        P                  ! ^ ^V P                   ^,           4      p	M7\
        P                  ! V^,          ^V^,          ,
          V P                   4      p	W,          p
V	 F-  pVP                  WKV
.,           4       VP                  V4       K/  	  K  	  \
        P                  ! WaR7       \
        P                  ! WrR7       R# )r   Ng?)Zouti)
rD   rG   sizeshape_codesrH   r(   ZconcatenateZranger)   Zappend)r   r-   r.   ZoffsetrG   rJ   Zvertices_partsZcodes_partsZrowZcolsZrow_posZcol_poss   &&&         r   r1   ZShapes.set_vertices_and_codese   s)   t}}$,,v5		A&&{{{^^"!5!;<>N..+)CDK*+CQw!|{{1a):;{{6A:q6A:~t}}MlG%%n7I&IJ"";/   , 	~4
{.r
   )rE   r   N)	r   r   r   r   rH   r   r1   r	   r4   r5   r7   r   rC   rC   W   s     F	</ /r
   rC   c                   s2   a a ] tR t^|t oV 3R ltRtVtV ;t# )Circlesc                s   < \         P                  ! 4       pVP                  V n        VP                  V n        \        SV `  W4       R # )N)r   Zunit_circler-   rG   r.   rJ   superr   r   r   r   Zpath	__class__   &&& r   r   ZCircles.__init__}   s6    !"mm::(r
   )rJ   rG   )r   r   r   r   r   r	   r4   __classcell__rN   r6      @@r   rK   rK   |   s     ) )r
   rK   c                   s6   a a ] tR t^t oRtV 3R ltRtVtV ;t# )SmallCirclesg?c                `   < VP                  R 4      V,          V n        \        SV `  W4       R# )ZoNr   rD   rL   r   r   r   r   rN      &&&r   r   ZSmallCircles.__init__   %    S)W4(r
   rD   	r   r   r   r   rI   r   r	   r4   rP   rQ   rR   r   rS   rS      s     D) )r
   rS   c                   s6   a a ] tR t^t oRtV 3R ltRtVtV ;t# )LargeCirclesgffffff?c                rT   )ZONrU   rV   rW   r   r   ZLargeCircles.__init__   rX   r
   rY   rZ   rQ   rR   r   r[   r[      s     D) )r
   r[   c                   s:   a a ] tR t^t oRtRtV 3R ltRtVtV ;t	# )SmallFilledCirclesg?Tc                rT   )Z.NrU   rV   rW   r   r   ZSmallFilledCircles.__init__   rX   r
   rY   
r   r   r   r   rI   rH   r   r	   r4   rP   rQ   rR   r   r\   r\      s     DF) )r
   r\   c                   s:   a a ] tR t^t oRtRtV 3R ltRtVtV ;t	# )StarsTc                s  < VP                  R 4      V,          V n        \        P                  ! ^4      pVP                  V n        \        P                  ! \        V P
                  4      \        P                  \        P                  R7      V n        \        P                  V P                  ^ &   \        SV `9  W4       R# )Z*)ZdtypeN)r   rD   r   Zunit_regular_starr-   rG   r(   ZfullrF   r+   	code_typerJ   r*   rL   r   rM   rO   r   r   ZStars.__init__   s    S)W4%%a("mm773t':':#;T[[)-9"kk(r
   )rD   rJ   rG   gUUUUUU?r]   rQ   rR   r   r^   r^      s     DF) )r
   r^   c           	      s   \        R 4      pV e{   \        V 4      P                  V4      pV'       dW   RP                  \        V4      4      pRP                  \        V4      4      p\        P
                  ! RRRV RV R2R7       R# R# R# )	z-+|/\xXoO.*NZ 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.)ZremovalZmessage)ZsetZ
differenceZjoinZsortedr    Zwarn_deprecated)r   Zvalid_hatch_patternsZinvalidsZvalids   &   r   _validate_hatch_patternr`      s    ~.u:(()=>GGF#789Ewwvh/0H  =eW E$: &SS  r
   c                sX   \        V4      p\         Uu. uF  pV! W4      NK  	  pp\        V Uu. uF  qDP                  NK  	  up4      pV^ 8X  d    \	        \
        P                  ! R4      4      # \
        P                  ! V^34      p\
        P                  ! V\        P                  4      p^ pV Fa  pVP                  ^ 8w  g   K  WhWP                  ,            p	WxWP                  ,            p
VP                  W4       WP                  ,          pKc  	  \	        Wg4      # u upi u upi )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   _hatch_typesZsumr   r   r(   Zemptyr_   r1   )Zhatchpatternr   Z
hatch_typeZpatternsZpatternr   r-   r.   ZcursorZvertices_chunkZcodes_chunks   &&         r   get_pathrb      s    'lG #/0".J <1".  0HEH,,HEFLqBHHV$%%xxq)*HHH\4>>2EF1$%V6J6J-JKNv0D0D'DEK**>G***F    %0Es
   D"D')i   )r   Znumpyr(   Z
matplotlibr    Zmatplotlib.pathr   r   r   r9   r:   rB   rC   rK   rS   r[   r\   r^   ra   r`   rb   r   r
   r   <module>rc      s    5    	 	
"& """$ """% "&"% "("/ "/J)f ))7 ))7 )) ))F ) 		"!r
   