L i:d ddlmZmZ ddlZejZdgZ GddeZ e dk(r-ddl m Z mZmZeddd e fd efd e d zfd e ezfded zfgyy#eef$r ddlmZY\wxYw))BasePenOpenContourErrorN)cython MomentsPenc>5eZdZddZdZdZdZejejejejejejejej ejej ejej ejej ejej ejejejejejejejejejejejejejejejejdZ ejejejejejejejej ejej ejej ejej ejej ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejej ejej!ejej"ejej#ejej$ejej%ejej&ejej'ejej(ejej)ejej*ejej+ejej,ejej-ejej.ejej/ejej0ejej1ejej2ejej3ejej4ejej5ejej6ejej7ejej8ejej9ejej:ejej;ejej<ejej=ejej>ejejejejejejejejej?d@Z ejejejejejejejej ejej ejej ejej ejej ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejej ejej!ejej"ejej#ejej$ejej%ejej&ejej'ejej(ejej)ejej*ejej+ejej,ejej-ejej.ejej/ejej0ejej1ejej2ejej3ejej4ejej5ejej6ejej7ejej8ejej9ejej:ejej;ejej<ejej=ejej>ejejAejejBejejCejejDejejEejejFejejGejejHejejIejejJejejKejejLejejMejejNejejOejejPejejQejejRejejSejejTejejUejejVejejWejejXejejYejejZejej[ejej\ejej]ejej^ejej_ejej`ejejaejejbejejcejejdejejeejejfejejgejejhejejiejejjejejkejejlejejmejejnejejoejejpejejqejejrejejsejejtejejuejejvejejwejejxejejyejejzejej{ejej|ejej}ejej~ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejej?ejejejdZ y)rNctj||d|_d|_d|_d|_d|_d|_y)Nr)r__init__areamomentXmomentYmomentXXmomentXYmomentYY)selfglyphsets _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/pens/momentsPen.pyr zMomentsPen.__init__s<x(      c||_yN) _startPointrp0s r_moveTozMomentsPen._moveTos rcz|j}||jk7r|j|jyyr)_getCurrentPointr_lineTors r _closePathzMomentsPen._closePaths5  " " $ !! ! LL)) * "rcX|j}||jk7r tdy)Nz1Glyph statistics is not defined on open contours.)rrrrs r_endPathzMomentsPen._endPath"s/  " " $ !! !"#VW W "r)r0)r1)r2)r3)r4)r5)r6)r7)r8)r9)r10)r11)r12)x0y0)x1y1c|j\}}|\}}||z}||z}|dz}||z} ||z } | |z} |dz} d|z} |dz}|dz}|dz}|dz}|dz}|xj| dz |dz z |||zzdz zz c_|xj| |zdz | dz z | |zdz z | | |zzdz zz c_|xj| |zdz ||zdz z ||zdz z |||z||zzzdz zz c_|xj| |zdz ||zdz z || zdz z | | z|zdz z |dzd|z|zzdz zz c_|xj | |zdz ||zdz z | | zdz z | | |zd|zz|zzdz z||z||z zdz z z c_|xj | |zdz ||zdz z ||zdz z ||zdz z |||z||zz||zzzdz zz c_y)N rr r r r rr)rp1r-r.r/r0r r!r"r#r$r%r&r'r(r)r*r+r,s rrzMomentsPen._lineTo's &&(BB "W "W U "W "W "W U V U U!e!e!e bS1WrAv%b2g(:::  b1 rAv-R! ;bBGnq>PPP  C"HqL27Q; &b1 4rR"WrBw=N7ORS7S S  D2INBhl 2gl 2glR !eq2v{#b(  )  C"HrM2gk 2gl BGa"f$r)*R/ 02gb!B&  '  C"HrM2gl Bhm Bhm C#IR'"r'12R7  8 r)r13)r14)r15)r16)r17)r18)r19)r20)r21)r22)r23)r24)r25)r26)r27)r28)r29)r30)r31)r32)r33)r34)r35)r36)r37)r38)r39)r40)r41)r42)r43)r44)r45)r46)r47)r48)r49)r50)r51)r52)r53)x2y2c |j\}}|\}}|\}}d|z} | |z} ||z} d| z} d|z} d|z}|dz}|dz}d|z}d|z}d|z}| |z}|dz}d|z}| |z}||z}d|z}| |z| z}| |z}|dz}d|z}|dz}||z}d|z} |dz}!||z}"d|!z}#|dz}$|dz}%d|z}&d|z}'d|z|z}(d|z})d|z}*d|z}+||z},| d |,zz}-d|z}.d |z}/d |z|z}0|)|z}1d |z}2d |z}3d|z}4d |z}5d|z}6d|z}7d|z}8d |z|z| z}9d |dzz}:|dz};|dz}|xj| dz | dz z || |z|zzdz z||zdz z|| |zzdz z z c_|xj| | |zzdz |||z|zzdz z||zd z z||zdz z ||zdz z |||z ||zz |zzdz z||d|zz|zzdz z z c_|xj| dz ||zdz z | dz z |!||zzdz z || |z|z|z|"z|#z||zzzdz z||z||zzd z z|| |zzdz z z c_|xj|| d|zz |+|zz |-z||zzzd z d|$z|zdz z|%|&zd z z |%|zdz z |(| d|zz zd z z ||z| |)z zdz z |dz|'d|zz|zzdz z|| |z||.zz| |.zz |*|zz |/|zz|0z |1z ||zzzd z z |d |$zd|%zz|(z|*|zzzd z z z c_|xj |||zd|zzd|!zz|2|zz|3z|7|zzzdz ||z|4|5z zdz z ||zd z z |!|/|6|zzd|zzzdz z |2|z|zdz z |3|zdz z ||z|)|zzdz z|| |z||"zz|z||8zz|!|+zz |#|zz |,|7zz|9zzd z z||| z|'|zz|,|6zz|0z|1zzd z z z c_|xj | |3zd z ||&zd z z |!||-z|=|zzzd z z |:|zd z z |;|zdz z |<|8|zzdz z |||7z||zz||=zz|!|&zz|"|>zz|#|zz|3|zz|:zd|;zzd|zz|| zz |9zzd z z z c_y)Nr2r3r6 r4r5r8<iiTH#r9)?rr:p2r-r.r/r0rdrer r!r"r#r$r%r&r'r(r)r*r+r,r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcs? r _qCurveToOnezMomentsPen._qCurveToOnecsut&&(BBB V "W "W V V V U U V "W"f2g!e2g2g2g"f2gl2g!e#g!eBh#g!e2g#g!e!e2g"f2gl"f2g2g2g28m2g2g"frkBh2g3h#g3h2g2g"f#glS "a%i!e!e2g2g C!G1f BGbL!A% &2gk BGnq  !  DSD2I  #S2X]#b( )2gl 2gl 2gl   C#Ib(3./"4  5 C!b&L2%&+  ,  D2IBhm Bh S2X# $BGcMC'#-3b2g=>C  D 2gr"R'  ( BHo"  #  2C<#(*S027: ;c A#glS  !Ci#o Bhl R!b&[!C'  ( 2gc"S(  ) !esR"W}r)*R/  0R)s(((     r'   &AGa#g%+cBh67#=' > , 38a#g%c 1C"H| dz}?|?| z}@|dz}Ad|Az}B|dz}Cd |z}Dd|z}E|| z}F|3| z}Gd|dz z |@dz z |B|d| zzzdz z |C|D|Ez| zzdz z ||/|z|4|zz|8| zzd|zd|Az| zz|L|ozzzd!z z z c_y)6Nr4rgr3r2-rl rnr5rhrmriiv~?*izZ6rjrpr88ii$i rqroFr6ii0H,iii iQrkir9)rr:rsp3r-r.r/r0rdrerrr r!r"r#r$r%r&r'r(r)r*r+r,r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs r _curveToOnezMomentsPen._curveToOne6s3T&&(BBBB V "W "W "W V V V V V U2gBh!eBhBh"f2gBh!e#g!e2g"f2g"fBhm"f2gdRi"s(""f2g2g3h#g2gBh2gBh"f2g"fBh2g3h2gCi#("2gBh!e3hBh!eBh!e#g!e2g"fBhBh#g2g"fBh2g3h#g!e!eBhBh!eBh2gBhBhc!Bh2g3h2g2g2g3h2gCi#)#2gBhBh2gBh3h2gCiCiBhBhmBh3hBh2gBwRxRx"s("S3Y^3cCi?SyBwbyBwRxbyBwCxSyCxBwRxczBH$BwCxRxRxRxBwRxRxCx"}sRx'"s(2S3Y^C1u1u1u1uRxby39$SyBw C"H2g BGnr! "BGb2g%*+b0 1"fR 2%  & "frkB   BGbL!B&  '  #IAg Ag cTBY#% &R!b&[!C'  ( R#XR'",-3  4 cTCZ#%&,  -BHsNS()C/ 0S((  (  ( r'   *C#(NS2X-3c9BGCDsJ+ K 0 C39  #Ag Ci Ag R!b&[!C'  ( S3Y^$s*  + b((s()     s(     (C"HrCx'#-3b2g=>D) E*2gr"R'+ (,C"HsRx'#(2S83>rIJSP- Q 2 D3J3$) $t +#gsS2X-34t; <b(((  (  ( )   c s(((s(  s(      6BHrMBH,rCx7#=>E7 F8#glS 9 !:Ci$; <Bhl= >Bh3$)$t+? ,@#gs#d*A +B!esSy38+b01C7C! 8Ds *s(R-  )  ( ((( ( ( ( c' (( (!"s(#$(R-% ,-E8 rc )(s(s(  )   )(R- (   sF H R ECK% Ci!m #glR #gR"s(2R#X=CGH4O Pt )t)     s(*     $QWrCx'"r'12U:% ;&S3Y_s*S0367%?' @(BHsRx'"s(2S83>?%G) H*#gs#c)+ *,"frkS1r6\*S0- 1.bt)b.!*t))  t)  t) t)*t) t)  (R-  ( () )!")#$(R-% &('(s(R-) *)b.+!23/0 bs )*t)  )  s( )  c< zT ))s(  (  ( ()b.!s( r'B, s( s(  !{M O ` EDL4 Sj4 Ri"n $h#)$t+ ,cCi"n%+  , D2I$rDy028;rs<& ?? .Q  Q  h z::  N N A  Q  A    {  $&%&sA A+*A+