+
    oi                     2    R t ^ RIt^ RIHt ^ RItR R ltR# )zUtility functions.N)OptionParserc                    V ^8  d   QhRR/# )   returnN )formats   "k/Users/tonyclaw/.openclaw/workspace/scripts/youtube-playlists/venv/lib/python3.14/site-packages/rsa/util.py__annotate__r	      s     J3 J34 J3    c                     \        RRR7      p V P                  RRRRRR	7       V P                  R
RRRRR	7       V P                  RRRR!RR7       V P                  RRRR!RR7       V P                  \        P                  4      w  rVP
                  '       dq   \        RVP
                  : RVP                  : R2\        P                  R7       \        VP
                  R4      ;_uu_ 4       pVP                  4       pRRR4       MY\        RVP                  ,          \        P                  R7       \        P                  P                  4       P                  R4      p\        X4      \        8X  g   Q \        V4      4       h\        P                   P"                  P%                  WAP                  4      p\        P                   P'                  VP(                  VP*                  4      pVP-                  VP.                  4      pVP0                  '       ds   \        RVP0                  : RVP.                  : R2\        P                  R7       \        VP0                  R4      ;_uu_ 4       pVP3                  V4       RRR4       R# \        R VP.                  ,          \        P                  R7       \        P4                  P3                  VP7                  R4      4       R#   + '       g   i     EL; i  + '       g   i     R# ; i)"z=Reads a private key and outputs the corresponding public key.zusage: %prog [options]zReads a private key and outputs the corresponding public key. Both private and public keys use the format described in PKCS#1 v1.5)usagedescriptionz-iz--input
infilenamestringz1Input filename. Reads from stdin if not specified)desttypehelpz-oz--outputoutfilenamez2Output filename. Writes to stdout of not specifiedz--informinformz!key format of input - default PEMPEM)r   r   choicesdefaultz	--outformoutformz"key format of output - default PEMzReading private key from z in z format)filerbNz+Reading private key from stdin in %s formatasciizWriting public key to wbz)Writing public key to stdout in %s format)r   DER)r   
add_option
parse_argssysargvr   printr   stderropenreadstdinencoder   bytesrsakey
PrivateKey
load_pkcs1	PublicKeyne
save_pkcs1r   r   writestdoutdecode)	parserclicli_argsinfilein_datapriv_keypub_keyout_dataoutfiles	            r   private_to_publicr=      sR    &.F @   A   0   1   ''1OS ~~~:=..#**U	
 #..$''6kkmG (' 	;cjjHszzZ)).."))'2=E!04=0! ww!!,,WjjAHgg

HJJ7G !!#++.H
7:T	
 #//4((GMM(# )( 	9CKKGcjjY

121 (''( )((s   /K(0K<(K9	<L	)__doc__r    optparser   rsa.keyr)   r=   r   r
   r   <module>rA      s     
 ! J3r
   