+
    f7i  c                   sF    ^ RI Ht ^ RIHt RR.t ! R R]4      tRR ltR# )	i    )pairwise)ContourFilterPenreversedContourReverseContourPenc                   s@   a a ] tR t^t oRtRV 3R lltR tRtVtV ;t	# )r   zFilter pen that passes outline data to another pen, but reversing
the winding direction of all contours. Components are simply passed
through unchanged.

Closed contours are reversed in such a way that the first point remains
the first point.
c                s2   < \         SV `  V4       W n        R # N)Zsuper__init__outputImpliedClosingLine)selfZoutPenr   	__class__s   &&&G/usr/lib64/python3.14/site-packages/fontTools/pens/reverseContourPen.pyr   ZReverseContourPen.__init__   s     (@%    c                s,    \        WP                  4      # r   )r   r   )r   contours   &&r	   filterContourZReverseContourPen.filterContour   s    w(E(EFFr
   )r   F)
Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   Z__static_attributes__Z__classdictcell__Z__classcell__)r   Z__classdict__s   @@r	   r   r      s     AG Gr
   c           	   #  s  "   V '       g   R# \        V 4      ^8  g   Q R4       hV P                  4       ^ ,          pVR9   g   Q hVR8H  pV P                  ^ 4      w  rEVR9   g   Q RV,          4       hVR,          pVR8X  dH   Ve   Q R4       hV '       d   Q R	4       hV^ ,          3\        \        V^R 4      4      ,           R,           pV '       g   VR8X  d   R
pMRpWE3x  EMV R,          w  rxVR,          p	V'       d   WE3x  Wi8w  d#   RV	33x  V\        VRR 4      V3,           3V R&   \        V 4      ^8  d   V ^ ,          w  rMYxrV'       g3   V
R8X  d,   W[8w  d&   V ^  V '       d   V\        VRR 4      V,           3V R&   M!WI33x  V\        VRR 4      V3,           3V R&   \	        V RR7       F4  w  w  rw  rV\        \        VRR 4      4      VR,          3,           3x  K6  	  V'       d   RMRR3x  R# 5i)zwGenerator that takes a list of pen's (operator, operands) tuples,
and yields them with the winding direction reversed.
Nzinvalid contourendPath	closePathmoveToqCurveToz invalid initial segment type: %rz)off-curve only paths must end with 'None'z,only one qCurveTo allowed per off-curve pathFTZlineTo)Zreverse)r   r   )r   r   ir    )ZlenZpopZtupleZreversedr    )r   r   ZcontourTypeZclosedZ	firstTypeZfirstPtsZfirstOnCurveZlastTypeZlastPtsZlastOnCurveZ
secondTypeZ	secondPtsZcurTypeZcurPtsZ_ZnextPtss   &&              r	   r   r      s(      w<!... ++-"K2222K'F!++a.I.. *Y6. B<LJ#P%PP#JJJ{QK>E(8Ab>*B$CCgM FF!!#BKbk%%*..'ws|)<)NO7|a(/
%
I )1I+
 )h.C
'/ws|1Dy1P&Q ^++#U73B<%8L?%JKGBK
 08/N+W|5&"+!6772;.HHH 0O  +Y
22s&   BG=;G=BG=G=*BG=3
G=Nr   )ZfontTools.misc.arrayToolsr    ZfontTools.pens.filterPenr   Z__all__r   r   r   r
   r	   <module>r      s-    . 5 1
2G( G"G3r
   