+
    5ii                     X    R t ^ RIHt ^ RIHtHtHtHt ^ RItR.t	R t
 ! R R]4      tR# )z#Calculate the perimeter of a glyph.)BasePen)approximateQuadraticArcLengthCcalcQuadraticArcLengthCapproximateCubicArcLengthCcalcCubicArcLengthCNPerimeterPenc                     \         P                  ! V ^ ,          V^ ,          ,
          V ^,          V^,          ,
          4      # )    )mathhypot)p0p1s   &&a/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/fontTools/pens/perimeterPen.py	_distancer      s+    ::bebemRURU]33    c                   `   a  ] tR t^t o RR ltR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )r   Nc                    \         P                  ! W4       ^ V n        W n        VR8  d   V P                  MV P
                  V n        VR8  d   V P                  V n	        R# V P                  V n	        R# )r	   g~jtX?g~jtH?N)
r   __init__value	tolerance_addCubicQuadrature_addCubicRecursive	_addCubic_addQuadraticQuadrature_addQuadraticExact_addQuadratic)selfglyphsetr   s   &&&r   r   PerimeterPen.__init__   sm    (
" )2V(;D$$AXAX 	
 G# (( 	 (( 	r   c                    Wn         R # N)_PerimeterPen__startPointr   r   s   &&r   _moveToPerimeterPen._moveTo'   s    r   c                    V P                  4       pWP                  8w  d   V P                  V P                  4       R # R # r    )_getCurrentPointr!   _lineTor"   s   & r   
_closePathPerimeterPen._closePath*   s3    ""$"""LL**+ #r   c                j    V P                  4       pV ;P                  \        W!4      ,          un        R # r    )r&   r   r   )r   r   r   s   && r   r'   PerimeterPen._lineTo/   s#    ""$

i''
r   c                L    V ;P                   \        WV4      ,          un         R # r    )r   r   r   c0c1c2s   &&&&r   r   PerimeterPen._addQuadraticExact3   s    

-bb99
r   c                L    V ;P                   \        WV4      ,          un         R # r    )r   r   r-   s   &&&&r   r   $PerimeterPen._addQuadraticQuadrature6   s    

4RR@@
r   c                v    V P                  4       pV P                  \        V!  \        V!  \        V!  4       R # r    )r&   r   complex)r   r   p2r   s   &&& r   _qCurveToOnePerimeterPen._qCurveToOne9   s.    ""$7B<"w|Dr   c           	     b    V ;P                   \        WW4V P                  4      ,          un         R # r    )r   r   r   r   r.   r/   r0   c3s   &&&&&r   r   PerimeterPen._addCubicRecursive=   s    

)""$..II
r   c                L    V ;P                   \        WW44      ,          un         R # r    )r   r   r:   s   &&&&&r   r    PerimeterPen._addCubicQuadrature@   s    

0@@
r   c           	         V P                  4       pV P                  \        V!  \        V!  \        V!  \        V!  4       R # r    )r&   r   r5   )r   r   r6   p3r   s   &&&& r   _curveToOnePerimeterPen._curveToOneC   s2    ""$w|Wb\7B<"Nr   )__startPointr   r   r   r   )Ng{Gzt?)__name__
__module____qualname____firstlineno__r   r#   r(   r'   r   r   r7   r   r   rA   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sB     
",
(:AEJAO Or   )__doc__fontTools.pens.basePenr   fontTools.misc.bezierToolsr   r   r   r   r
   __all__r   r    r   r   <module>rP      s7    ) *   
40O7 0Or   