+
    5i                    d   R t ^ RIHt ^ RIHtHtHtHt ^ RIt^ RI	H
t
 ^ RIHt ^ RIt^ RIt]P                  ! ]4      t. ROt. RNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRHNRINRJNRKNRLNRMNRNNRONRPNRQNRRNRSNRTNRUNRVNRWNRXNRYNRZNR[NR\NR]NR^NR_NR`NRaNRbNRcNRdNReNRfNRgNRhNRiNRjNRkNRlNRmNRnNRoNRpNRqNRrNRsNRtNRuNRvNRwNRxNRyNRzNR{NR|NR}NR~NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNtR R lt]P*                  ! R4      tR	 R
 lt]! ]4      w  tt]! ]4      w  tt ! R R]4      tRtRtRt R]: R] : R]: R2t!]P*                  ! ]!4      t"]P*                  ! R4      t#]P*                  ! R4      t$]P*                  ! R4      t%]P*                  ! R4      t&R R lt' ! R R4      t(R t)]R8X  d6   ^ RI*t*^ RI+t+]*PX                  ! ]+PZ                  ! 4       P\                  4       R# R# )zSttLib.tables.ttProgram.py -- Assembler/disassembler for TrueType bytecode programs.)annotations)
num2binary
binary2numreadHexstrjoinN)StringIO)Listc               $    V ^8  d   QhRRRRRR/# )   valueintbitsreturnstr )formats   "f/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/fontTools/ttLib/tables/ttProgram.py__annotate__r      s!      3 c c     c                n    R p\        V4       F#  pRV ^,          ,          V,           pV ^,	          p K%  	  V# ) 01)range)r   r   sis   &&  r   bitReprr      s8    
A4[!
  Hr   z[A-Z][A-Z0-9]*$c                    V ^8  d   QhRRRR/# )r
   instructionListz)list[tuple[int, str, int, str, int, int]]r   ztuple[dict, dict]r   )r   s   "r   r   r      s     $ $>$$r   c                    / p/ pV  Fd  w  r4rVrx\         P                  V4      '       g   Q hW5V3W$&   V'       d+   Tp	\        ^V,          4       F  p
WEW3WV
,           &   K  	  K\  V^ ^ V3W&   Kf  	  W3# )   )_mnemonicPatmatchr   )r   
opcodeDictmnemonicDictopmnemonicargBitsnamepopspushes	argoffsetr   s   &          r   	_makeDictr+      s     JL5D1gT!!(++++!#d!2I1<(%-	%G
6" ) &q!T1JN 6E ##r   c                  .    ] tR t^tR R ltR R ltRtR# )tt_instructions_errorc                    V ^8  d   QhRRRR/# )r
   errorr   r   Noner   )r   s   "r   r   "tt_instructions_error.__annotate__   s      c d r   c                	    Wn         R # Nr/   )selfr/   s   &&r   __init__tt_instructions_error.__init__   s    
r   c                   V ^8  d   QhRR/# )r
   r   r   r   )r   s   "r   r   r1      s     > > >r   c                	:    R \        V P                  4      ,          # )zTT instructions error: %s)reprr/   r5   s   &r   __str__tt_instructions_error.__str__   s    *T$**-===r   r4   N)__name__
__module____qualname____firstlineno__r6   r<   __static_attributes__r   r   r   r-   r-      s    > >r   r-   z	/\*.*?\*/z([A-Z][A-Z0-9]*)\s*\[(.*?)\]z-?[0-9]+(z)|()z\s*z-[A-Z][A-Z0-9]*\s*\[.*?\]\s*/\* ([0-9]+).*?\*/z^FDEF|IF|ELSE\[ \]\t.+z^ELSE|ENDF|EIF\[ \]\t.+c               $    V ^8  d   QhRRRRRR/# )r
   datar   posr   r   r   )r   s   "r   r   r      s!      S s s r   c                t    \         P                  W4      pVP                  ^ ,          ^,          pW18  g   Q hV# )    )_whiteREr!   regs)rF   rG   mnewPoss   &&  r   
_skipWhiterN      s0    t!AVVAYq\F==Mr   c                      ] tR t^tR R ltR R ltR R ltR R ltRR	 R
 lltR R lt	R R lt
R R ltRR R lltR R lt]tR R ltR R ltRtR# )Programc                   V ^8  d   QhRR/# r
   r   r0   r   )r   s   "r   r   Program.__annotate__   s      $ r   c                	    R # r3   r   r;   s   &r   r6   Program.__init__   s    r   c                    V ^8  d   QhRRRR/# )r
   bytecodebytesr   r0   r   )r   s   "r   r   rS      s      U t r   c                	j    \         P                   ! R V4      V n        \        V R4      '       d   V =R# R# )BassemblyN)arrayrW   hasattrr[   )r5   rW   s   &&r   fromBytecodeProgram.fromBytecode   s+    C24$$ %r   c                    V ^8  d   QhRRRR/# )r
   r[   zlist[str] | strr   r0   r   )r   s   "r   r   rS      s      _  r   c                	   \        V\        4      '       d   Wn        MM\        V\        4      '       d   VP	                  4       V n        M!\        R \        V4      P                   24      h\        V R4      '       d   V =	R# R# )zexpected str or List[str], got rW   N)

isinstancelistr[   r   
splitlines	TypeErrortyper>   r]   rW   )r5   r[   s   &&r   fromAssemblyProgram.fromAssembly   sf    h%%$M#&&$//1DM=d8n>U>U=VWXX4$$ %r   c                   V ^8  d   QhRR/# )r
   r   rX   r   )r   s   "r   r   rS      s     ' 'U 'r   c                	z    \        V R 4      '       g   V P                  4        V P                  P                  4       # )rW   )r]   	_assemblerW   tobytesr;   s   &r   getBytecodeProgram.getBytecode   s,    tZ((NN}}$$&&r   c                   V ^8  d   QhRR/# )r
   r   z	List[str]r   )r   s   "r   r   rS      s      I r   c                	b    \        V R 4      '       g   V P                  VR7       V P                  # )r[   preserve)r]   _disassembler[   )r5   rr   s   &&r   getAssemblyProgram.getAssembly   s*    tZ((x0}}r   c                   V ^8  d   QhRR/# rR   r   )r   s   "r   r   rS      s     B Bt Br   c                	   \        VR 4      '       d   VP                  '       EdP    V P                  4       pV'       g   R# VP                  R4       VP	                  4        ^ p^ p\        V4      pWF8  Ed   W4,          p\        P                  V4      '       d
   V^,          pVP                  VP                  V,          4       VP                  V4       VP	                  4        \        P                  V4      pV^,           pV'       Ed   \        VP                  ^4      4      p	. p
^ p\        V	4       F  pV'       dd   V^,          '       gU   VP                  VP                  V,          4       VP                  RP                  V
4      4       VP	                  4        . p
V
P                  W4V,           ,          4       K  	  VP                  VP                  V,          4       VP                  RP                  V
4      4       VP	                  4        WK,           ^,           p\         P                  V4      '       g   EK  V^,          pEK  VP#                  R4       VP	                  4        R# V P7                  4       pV'       g   R# VP                  R4       VP	                  4        VP5                  V4       VP#                  R4       VP	                  4        R#    ^ RIp\'        4       pTP)                  TR7       RpYP+                  4       ,          p\,        P/                  T4       TP                  R4       TP	                  4        TP1                  TP3                  4       4       TP	                  4        TP5                  T P7                  4       4       TP#                  R4       TP	                  4         R# ; i)disassembleInstructionsNr[    )filezBAn exception occurred during the decompilation of glyph program:

rW   )r]   rx   rt   begintagnewlinelen_unindentREr!   writeindentwhite_pushCountPatr   groupr   joinappend	_indentREendtag	tracebackr   	print_excgetvaluelogr/   commentstripdumphexrm   )r5   writerttFontr[   r   indentnInstrinstrrL   nValueslinejr   tmpmsgrW   s   &&&             r   toXMLProgram.toXML   s    9::---4!++-"  
+ Xj$KE"((//!LL!3!3f!<=LL'NN$%++E2AAAq"%aggaj/*,!&wA !b&& &V-?-?&-H I &SXXd^ < & 0') KKQ8 "0 V%7%7&%@ASXXd^4(EAI u--!j) '')HOOJ'NNNN8$MM*%NNw! j###-\||~%		#
+ syy{+ t//12j) s   K$ $COc                   V ^8  d   QhRR/# rR   r   )r   s   "r   r   rS   >  s     0 0t 0r   c                	    VR 8X  d/   V P                  \        V4      4       V P                  4        V =R# VR8X  g   Q hV P	                  \        V4      4       R# )r[   rW   N)rg   r   rk   r[   r^   r   )r5   r'   attrscontentr   s   &&&&&r   fromXMLProgram.fromXML>  sM    :gg./NN:%%%gg./r   c                   V ^8  d   QhRR/# rR   r   )r   s   "r   r   rS   G  s     O3 O34 O3r   c                	
   R P                  \        V R. 4      4      p. pVP                  p\        V4      p\	        V^ 4      pWT8  Ed   \
        P                  W4      pVf#   \        RW^,
          V^,            ,          4      hVP                  4       w  rxrpVP                  ^ ,          ^,          pV'       d   \	        W4      pK  V	P                  4       p	VP                  R4      '       d   \        VR,          4      pV! V4       EMVR9  db   \        V,          w  rp\        V	4      V8w  d   \        RV: RV	: R24      hV	'       d   \        V	4      p	V! W,           4       EMV! V4       EM. p\	        W4      pWT8  d   \
        P                  W4      pVf   \        RWV^,            ,          4      hVP                  4       w  pprpV
f   Vf   MGVP                  ^ ,          ^,          p\	        W4      pVe   K  VP                  \        V
4      4       K  \        V4      pVR8X  Ed   ^ pV'       Ed   VV8  d+   V^8  d$   ^ VV,          u;8:  d   ^8:  g   M V^,          pK1  ^ pVV,           V8  d3   V^8  d,   ^ VVV,           ,          u;8:  d   ^8:  d   M MV^,          pK@  V^8  d(   VV,           ^8  d   VV,           V8w  d   VV,          pK  V'       d   V^8:  d*   \        R
,          w  rpVV,           ^,
          pV! V4       M \        R,          w  rpV! V4       V! V4       VRV  FG  pRTu;8:  d   R8  g   M Q RV,          4       hV! V^,	          ^,          4       V! V^,          4       KI  	  V'       dm    V^8:  d*   \        R	,          w  rpVV,           ^,
          pV! V4       M \        R,          w  rpV! V4       V! V4       VVVV,             F  pV! V4       K  	  VV,           pVVR pVV,          p^ pEK  MVR,          R8H  p\        V,          w  rpV^ ,          R8w  d(   V^8:  g   Q V4       hVV,           ^,
          pV! V4       MVR8  g   Q hV! V4       V! V4       V'       dO   V FG  pRTu;8:  d   R8  g   M Q RV,          4       hV! V^,	          ^,          4       V! V^,          4       KI  	  M0V F*  p^ Tu;8:  d   R8  g   M Q RV,          4       hV! V4       K,  	  \	        W4      pEK  V'       d#   \!        V4      R8  d   \#        V4      ^ 8  g   Q h\$        P$                  ! RV4      V n        R# )ry   r[   NzSyntax error in TT program (%s)INSTR:   NNPUSHNPUSHBNPUSHWPUSHBPUSHWz#Incorrect number of argument bits ([z])   zPUSH value out of range %dWN   zPUSHW value out of range %dzPUSHB value out of range %drZ   )r   r   r   r   r   i )r   getattrr   r}   rN   _tokenREr!   r-   groupsrK   r   
startswithr   r#   r   streamMnemonicDictmaxminr\   rW   )r5   r[   rW   pushlenAssemblyrG   rL   dummyr%   argnumberr   r$   r&   r'   args	_mnemonicnArgsnWordsnBytesr   nTotalwordss   &                      r   rk   Program._assembleG  s   88GD*b9: (m1%x-Ay+5q3QS88TT  56HHJ1ES'&&)A,C /))+C""7++"&R!OO$0$:!Ts8w&/HPRUV  $S/CNH /' x5Ay3=sUWx@XX  >?XXZ:E9c7~'/&&)A,C$X3C* KKF,D	v%F%"UN &%&$v,%=#%="aKF!""VOe3 & !T&6/%: Ac A"aKF"QJ &# 5 &5 8 #f,F$ "%{4Fw4O 1T%'&[1_ $R4Fx4P 1T $R $V)-gv'-'>'> !"$@5$H!"'> !%eqjD%8 9 $UT\ 2 *7 " %{4Fw4O 1T%'&[1_ $R4Fx4P 1T $R $V)-fv)G $U *H "(&#FG}!"s  x %RLC/E(:8(D%B{c)$z050z%Z!^R$s{*{RU%)E#)U#:U#:  = E#: !%1*!45 . &* &*E#$#3#3  = E#3 !K	 &* X+Cx=3&3x=A+===C2r   c                   V ^8  d   QhRR/# rR   r   )r   s   "r   r   rS     s     ?! ?!d ?!r   c                	   . p^ p\        V R. 4      p\        V4      pW58  d~   WC,          p \        V,          w  rxrV'       d3   VP                  VR\	        Wi,
          V4      : RV
: R2,           4       MVP                  VRV
,          ,           4       V^,           pK  W n
        R#   \
         Ed    T\        9   Ed   . pYC,          \        9   Ed   YC,          p\        T,          w  rxrTR,          R8H  pT'       d   Yi,
          ^,           pMT^,           pYC,          pT^,           pT^ 8  g   Q hT'       g?   \        T4       F.  pYC,          pTP                  \        T4      4       T^,           pK0  	  Mh\        T4       FY  pYC,          ^,          YC^,           ,          ,          pTR8  d
   TR,
          pTP                  \        T4      4       T^,           pK[  	  T'       g   EK*   T'       g   R	p\        T4      pT^8X  d   TP                  R
X,          4       MTP                  X: RT: R24       TP                  T4        EK3  TP                  RT,          4       T^,           p EKX  i ; i)rI   rW   r   z]	/* z */z[ ]	/* %s */r   r   i   r   z%s[ ]	/* 1 value pushed */z[ ]	/* z values pushed */z
INSTR%d[ ]Nr   )r   r}   r"   r   r   KeyErrorstreamOpcodeDictr   r:   extendr[   )r5   rr   r[   r   rW   numBytecoder$   r%   r&   r*   r'   valuesr   r   r   r   s   &&              r   rs   Program._disassemble  s   4R0(moB75?^29^ OO -7-PRVWX
 OOH~/D$DEE m  ,))F #+)99%[=Mb=Q:9 ( 3"&(nq&8G !AA&.kGE&{*{$%*7^(0 &d5k :$%E &4
 &+7^)1)9X!e_(L#(F?,1GOE &d5k :$%E &4 $8!##)!&kG!| (Dx(OP >FP OOF++OOL2$56AAY,s,   B( (BI6;B+I6,I65AI6!I65I6c                   V ^8  d   QhRR/# r
   r   boolr   )r   s   "r   r   rS     s     
 
$ 
r   c                    \        V R4      ;'       d!    \        V P                  4      ^ 8  ;'       g-    \        V R4      ;'       d    \        V P                  4      ^ 8  # )a  
>>> p = Program()
>>> bool(p)
False
>>> bc = array.array("B", [0])
>>> p.fromBytecode(bc)
>>> bool(p)
True
>>> p.bytecode.pop()
0
>>> bool(p)
False

>>> p = Program()
>>> asm = ['SVTCA[0]']
>>> p.fromAssembly(asm)
>>> bool(p)
True
>>> p.assembly.pop()
'SVTCA[0]'
>>> bool(p)
False
r[   rW   )r]   r}   r[   rW   r;   s   &r   __bool__Program.__bool__  sS    0 j)DDc$--.@1.D 
 
D*%@@#dmm*<q*@	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rS   7  s     / /t /r   c                	r    \        V 4      \        V4      8w  d   \        # V P                  VP                  8H  # r3   )rf   NotImplemented__dict__)r5   others   &&r   __eq__Program.__eq__7  s+    :e$!!}}..r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rS   <  s     B Bt Br   c                	J    V P                  V4      pV\        J d   V# V'       * # r3   )r   r   )r5   r   results   && r   __ne__Program.__ne__<  s$    U#>1vA6zAr   )r[   rW   N)T)F)r>   r?   r@   rA   r6   r^   rg   rm   rt   r   r   rk   rs   r   __nonzero__r   r   rB   r   r   r   rP   rP      sQ    
'

BH0O3b?!B
8 K/
B Br   rP   c                     Rp \        4       pVP                  V 4       VP                  RR7      pVP                  V4       \	        WP                  4       8H  4       R# )z
>>> _test()
True
s  @;:9876543210/.-,+*)('&%$#"! 
	 ,CXEjC`F#D# FNM/ !#3Y-,CX+ KPX @8Y+!#3Y-,CXN%! M E%%#Jad(RX!#%! YY-,CX!!%%I%%Ja dPX!!!%%I PX PX8!8!Y RX8!8!YYYY-,CX+ KPX  8Y+!#3Y-,NFCD  F   8  <(+% <-, /M -,CX+   8+!#3Y-,CXEdj#EdiCd``F#D# F/ !!  RX3!!YY-,
C#Ce
-, 
C#C-, F#pF>F#pFE: -,+%E%Ej@`%#D!!!-,+%E%Ej`%#D!!!-, +!!!-, +!!!-,CCe
-, i@a  , b`+d#da\XaY-, %EhTKPZX%E%E`h %#D%#D% Eh #D%Eh`%#DY-,% Eh #D%Edhe`%`#D-,	CX!CXE+G#DGzEi G#D QX+G#DGz!GzYYY-, E#Eh`D-,EjB-,/-,CX%%Id#Edi@a bj%%aC`F#D!F!!!!!Y-,CX%E%Ed`j%Eja %Ej e%#D%#D!! EjD EjDY-, E UCZXEh#Ei@a bj #a %e%#D%#D!!!!+Y-,Ed#EdadB-,%%+CX%%%+%C@T%C TZX% E@aDY%C T%C@TZX% E@`DYY!!!!-,KRXC%E#aD!!Y-,KRXC%E#`D!!Y-,KRXED!!Y-, %#I@` c  RX#%8#%e8 c8!!!!!Y-,KPXED!!Y-,%#  `#-,%#  a#-,% -,F#F`F# F`ab# #KKpE`  PXaFY`h:-, E%FRX%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-, CC-,-,CX! F RX88YY-,  UX c%Ed%Eda SX@aY%EiSXED!!Y!%E%Ead(QXED!!YY-,!!d#d@ b-,!QXd#d  b @/+Y`-,!QXd#dUb /+Y`-,d#d@ b`#!-,KSX%%Id#Edi@a bj%%aF#D!F!!# 9/Y-,%%IdTX88!!Y-,CXY-,CXY-,
+# <+-,%8(+# #+CX<Y  -,KS#KQZX8!!Y-,%# <-, %I8-,KS#KQZX E`D!!Y-, 9/-Trq   N)rP   r^   rt   rg   printrm   )bcpasms      r   _testr   A  sJ     
K>B	ANN2
---
&CNN3	"
 r   __main__))@   r   rI   
PushNBytesrI   r   )A   r   rI   
PushNWordsrI   r   )   r      	PushBytesrI   r   )   r   r   	PushWordsrI   r   )   AArI   AdjustAngler   rI   )d   ABSrI   Absoluter   r   )`   ADDrI   Addr
   r   )'   ALIGNPTSrI   AlignPtsr
   rI   )<   ALIGNRPrI   AlignRelativePtr   rI   )Z   ANDrI   
LogicalAndr
   r   )+   CALLrI   CallFunctionr   rI   )g   CEILINGrI   Ceilingr   r   )%   CINDEXrI   CopyXToTopStackr   r   )"   CLEARrI   
ClearStackr   rI   )O   DEBUGrI   	DebugCallr   rI   )s   DELTAC1rI   DeltaExceptionC1r   rI   )t   DELTAC2rI   DeltaExceptionC2r   rI   )u   DELTAC3rI   DeltaExceptionC3r   rI   )]   DELTAP1rI   DeltaExceptionP1r   rI   )q   DELTAP2rI   DeltaExceptionP2r   rI   )r   DELTAP3rI   DeltaExceptionP3r   rI   )$   DEPTHrI   GetDepthStackrI   r   )b   DIVrI   Divider
   r   )    DUPrI   DuplicateTopStackr   r
   )Y   EIFrI   EndIfrI   rI   )   ELSErI   ElserI   rI   )-   ENDFrI   EndFunctionDefinitionrI   rI   )T   EQrI   Equalr
   r   )W   EVENrI   Evenr   r   ),   FDEFrI   FunctionDefinitionr   rI   )N   FLIPOFFrI   SetAutoFlipOffrI   rI   )M   FLIPONrI   SetAutoFlipOnrI   rI   )   FLIPPTrI   	FlipPointr   rI   )   	FLIPRGOFFrI   FlipRangeOffr
   rI   )   FLIPRGONrI   FlipRangeOnr
   rI   )f   FLOORrI   Floorr   r   )F   GCr   GetCoordOnPVectorr   r   )   GETINFOrI   GetInfor   r   )   GETVARIATIONrI   GetVariationrI   r   )   GFVrI   
GetFVectorrI   r
   )   GPVrI   
GetPVectorrI   r
   )R   GTrI   GreaterThanr
   r   )S   GTEQrI   GreaterThanOrEqualr
   r   )   IDEFrI   InstructionDefinitionr   rI   )X   IFrI   Ifr   rI   )   INSTCTRLrI   SetInstrExecControlr
   rI   )9   IPrI   InterpolatePtsr   rI   )   ISECTrI   MovePtToIntersectr   rI   )0   IUPr   InterpolateUntPtsrI   rI   )   JMPRrI   Jumpr   rI   )y   JROFrI   JumpRelativeOnFalser
   rI   )x   JROTrI   JumpRelativeOnTruer
   rI   )*   LOOPCALLrI   LoopAndCallFunctionr
   rI   )P   LTrI   LessThanr
   r   )Q   LTEQrI   LessThenOrEqualr
   r   )   MAXrI   Maximumr
   r   )I   MDr   MeasureDistancer
   r   ).   MDAPr   MoveDirectAbsPtr   rI   )   MDRPr   MoveDirectRelPtr   rI   )>   MIAPr   MoveIndirectAbsPtr
   rI   )   MINrI   Minimumr
   r   )&   MINDEXrI   MoveXToTopStackr   r   )   MIRPr   MoveIndirectRelPtr
   rI   )K   MPPEMrI   MeasurePixelPerEmrI   r   )L   MPSrI   MeasurePointSizerI   r   ):   MSIRPr   MoveStackIndirRelPtr
   rI   )c   MULrI   Multiplyr
   r   )e   NEGrI   Negater   r   )U   NEQrI   NotEqualr
   r   )\   NOTrI   
LogicalNotr   r   )l   NROUNDr
   NoRoundr   r   )V   ODDrI   Oddr   r   )[   ORrI   	LogicalOrr
   r   )!   POPrI   PopTopStackr   rI   )E   RCVTrI   ReadCVTr   r   )}   RDTGrI   RoundDownToGridrI   rI   )z   ROFFrI   RoundOffrI   rI   )   ROLLrI   RollTopThreeStackr   r   )h   ROUNDr
   Roundr   r   )C   RSrI   	ReadStorer   r   )=   RTDGrI   RoundToDoubleGridrI   rI   )   RTGrI   RoundToGridrI   rI   )   RTHGrI   RoundToHalfGridrI   rI   )|   RUTGrI   RoundUpToGridrI   rI   )w   S45ROUNDrI   SuperRound45Degreesr   rI   )~   SANGWrI   SetAngleWeightr   rI   )   SCANCTRLrI   ScanConversionControlr   rI   )   SCANTYPErI   ScanTyper   rI   )H   SCFSrI   SetCoordFromStackFPr
   rI   )   SCVTCIrI   SetCVTCutInr   rI   )^   SDBrI   SetDeltaBaseInGStater   rI   )   SDPVTLr   SetDualPVectorToLiner
   rI   )_   SDSrI   SetDeltaShiftInGStater   rI   )   SFVFSrI   SetFVectorFromStackr
   rI   )   SFVTCAr   SetFVectorToAxisrI   rI   )   SFVTLr   SetFVectorToLiner
   rI   )   SFVTPVrI   SetFVectorToPVectorrI   rI   )4   SHCr   ShiftContourByLastPtr   rI   )2   SHPr   ShiftPointByLastPointr   rI   )8   SHPIXrI   ShiftZoneByPixelr   rI   )6   SHZr   ShiftZoneByLastPointr   rI   )   SLOOPrI   SetLoopVariabler   rI   )   SMDrI   SetMinimumDistancer   rI   )
   SPVFSrI   SetPVectorFromStackr
   rI   )r
   SPVTCAr   SetPVectorToAxisrI   rI   )   SPVTLr   SetPVectorToLiner
   rI   )v   SROUNDrI   
SuperRoundr   rI   )   SRP0rI   SetRefPoint0r   rI   )   SRP1rI   SetRefPoint1r   rI   )   SRP2rI   SetRefPoint2r   rI   )   SSWrI   SetSingleWidthr   rI   )   SSWCIrI   SetSingleWidthCutInr   rI   )a   SUBrI   Subtractr
   r   )rI   SVTCAr   SetFPVectorToAxisrI   rI   )#   SWAPrI   SwapTopStackr
   r
   )   SZP0rI   SetZonePointer0r   rI   )   SZP1rI   SetZonePointer1r   rI   )   SZP2rI   SetZonePointer2r   rI   )   SZPSrI   SetZonePointerSr   rI   ))   UTPrI   	UnTouchPtr   rI   )p   WCVTFrI   WriteCVTInFUnitsr
   rI   )D   WCVTPrI   WriteCVTInPixelsr
   rI   )B   WSrI   
WriteStorer
   rI   )/__doc__
__future__r   fontTools.misc.textToolsr   r   r   r   r\   ior   typingr   relogging	getLoggerr>   r   streamInstructionsinstructionsr   compiler    r+   r   r   r"   r#   	Exceptionr-   _comment_instruction_number_tokenr   rJ   r   r   r~   rN   rP   r   sysdoctestexittestmodfailedr   r   r   <module>rf     s   Y " M M    	  ! { D	{
 D{ D{ D{ D{ D{ D{ D{ D{ D{ D{ D{  D!{" D#{$ D%{& D'{( D){* D+{, D-{. D/{0 D1{2 D3{4 D5{6 D7{8 D9{: D;{< D={> D?{@ DA{B DC{D DE{F DG{H DI{J DK{L DM{N DO{P DQ{R DS{T DU{V DW{X DY{Z D[{\ D]{^ D_{` Da{b Dc{d De{f Dg{h Di{j Dk{l Dm{n Do{p Dq{r Ds{t Du{v Dw{x Dy{z D{{| D}{~ D{@ DA{B DC{D DE{F DG{H DI{J DK{L DM{N DO{P DQ{R DS{T DU{V DW{X DY{Z D[{\ D]{^ D_{` Da{b Dc{d De{f Dg{h Di{j Dk{l Dm{n Do{p Dq{r Ds{t Du{v Dw{x Dy{z D{{| D}{~ D{@ DA{B DC{D DE{F DG{H DI{J DK{L DM{N DO{P DQ{R DS{T DU{V DW{X DY{Z D[{\ D]{^ D_{` Da{b Dc{d De{f Dg{h Di{j Dk{l Dm{n Do{p Dq{r Ds{t Du{@ zz,-$" (11C'D $ $$\2 
L>I > .
)7H	=::f::f

KLJJ01	jj34aB aBH! zHHW__%%&	 r   