
    -Sh"k                        d Z ddlmZmZ ddlZddlZddlZddlZddlZddlm	Z	 d e
ej        j        dz             z   Zd Z G d d	          Zej        fd
Zd Zd Zedk    r eej        dd                    dS dS )z'Usage: unparse.py <path to source file>    )print_functionunicode_literalsN)StringIO1e   c                     t          |          }	  |t          |                     |D ]} |               ||           dS # t          $ r Y dS w xY w)z<Call f on each item in seq, calling inter() in between.
    N)iternextStopIteration)interfseqxs       Y/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/astunparse/unparser.py
interleaver      s     s))C	$s))  	 	AEGGGAaDDDD	 	    s   A 
AAc                      e Zd ZdZej        fdZd{dZd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d  Z#d! Z$d" Z%d# Z&d$ Z'd% Z(d& Z)d' Z*d( Z+d) Z,d* Z-d+ Z.d, Z/d- Z0d|d/Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<d; Z=d< Z>d= Z?d> Z@d? ZAd@ ZBdA ZCdB ZDdC ZEdD ZFdE ZGdF ZHdG ZIdH ZJdI ZKdJdKdLdMdNZLdO ZMdLdMdPdQdRdSdTdUdVdWdXdYdZd[ZNd\ ZOd]d^d_d`dadbdcdddedfdg
ZPdh ZQeRjS        dieRjT        djiZUdk ZVdl ZWdm ZXdn ZYdo ZZdp Z[dq Z\dr Z]ds Z^dt Z_du Z`dv Zadw Zbdx Zcdy ZddzS )}UnparserzMethods in this class recursively traverse an AST and
    output source code for the abstract syntax; original formatting
    is disregarded. c                     || _         g | _        d| _        |                     |           t	          d| j                    | j                                          dS )zTUnparser(tree, file=sys.stdout) -> None.
         Print the source for tree to file.r    fileN)r   future_imports_indentdispatchprintflush)selftreer   s      r   __init__zUnparser.__init__    sT      dbtv    r   c                 V    | j                             dd| j        z  z   |z              dS )zBIndent a piece of text, according to the current indentation level
z    N)r   writer   r   texts     r   fillzUnparser.fill*   s-    T&--455555r    c                 ^    | j                             t          j        |                     dS )z+Append a piece of text to the current line.N)r   r#   six	text_typer$   s     r   r#   zUnparser.write.   s&    S]4(()))))r    c                 P    |                      d           | xj        dz  c_        dS )z(Print ':', and increase the indentation.:r   N)r#   r   r   s    r   enterzUnparser.enter2   s%    

3r    c                 &    | xj         dz  c_         dS )zDecrease the indentation level.r   N)r   r,   s    r   leavezUnparser.leave7   s    r    c                     t          |t                    r|D ]}|                     |           dS t          | d|j        j        z             } ||           dS )z:Dispatcher function, dispatching tree type T to method _T.N_)
isinstancelistr   getattr	__class____name__)r   r   tmeths       r   r   zUnparser.dispatch;   sg    dD!! 	 ! !a    FtS!8899T




r    c                 D    |j         D ]}|                     |           d S Nbodyr   r   r   stmts      r   _ModulezUnparser._ModuleL   2    I 	  	 DMM$	  	 r    c                 D    |j         D ]}|                     |           d S r:   r;   r=   s      r   _InteractivezUnparser._InteractiveP   r@   r    c                 :    |                      |j                   d S r:   )r   r<   r   r   s     r   _ExpressionzUnparser._ExpressionT   s    di     r    c                 b    |                                   |                     |j                   d S r:   )r&   r   valuerD   s     r   _ExprzUnparser._ExprX   s)    		dj!!!!!r    c                     |                      d           |                     |j                   |                      d           |                     |j                   |                      d           d S )N(z := ))r#   r   targetrG   rD   s     r   
_NamedExprzUnparser._NamedExpr\   s^    

3dk"""

6dj!!!

3r    c                 n                           d           t           fd j        |j                   d S )Nzimport c                  .                          d          S N, r#   r,   s   r   <lambda>z"Unparser._Import.<locals>.<lambda>e       4::d++ r    )r&   r   r   namesr   r7   s   ` r   _ImportzUnparser._Importc   s;    		)++++T]AGDDDDDr    c                     |j         r4|j         dk    r) j                            d |j        D                                             d                                d|j        z             |j         r                     |j                                         d           t           fd j        |j                   d S )N
__future__c              3   $   K   | ]}|j         V  d S r:   )name.0ns     r   	<genexpr>z'Unparser._ImportFrom.<locals>.<genexpr>j   s$      &?&?!qv&?&?&?&?&?&?r    zfrom .z import c                  .                          d          S rP   rR   r,   s   r   rS   z&Unparser._ImportFrom.<locals>.<lambda>q   rT   r    )	moduler   extendrU   r&   r#   levelr   r   rV   s   ` r   _ImportFromzUnparser._ImportFromg   s    8 	@L00&&&?&?qw&?&?&????		'

3=!!!8 	!JJqx   

:++++T]AGDDDDDr    c                     |                                   |j        D ],}|                     |           |                     d           -|                     |j                   d S )N = )r&   targetsr   r#   rG   )r   r7   rL   s      r   _AssignzUnparser._Assigns   sa    		i 	 	FMM&!!!JJuagr    c                     |                                   |                     |j                   |                     d| j        |j        j        j                 z   dz              |                     |j                   d S )N z= )	r&   r   rL   r#   binopopr5   r6   rG   rV   s     r   
_AugAssignzUnparser._AugAssignz   sg    		ah

3tz!$."9::4?@@@agr    c                    |                                   |j        s4t          |j        t          j                  r|                     d           |                     |j                   |j        s4t          |j        t          j                  r|                     d           |                     d           |                     |j                   |j	        r1|                     d           |                     |j	                   d S d S )NrJ   rK   : rg   )
r&   simpler2   rL   astNamer#   r   
annotationrG   rV   s     r   
_AnnAssignzUnparser._AnnAssign   s    		x 	Jqx:: 	JJsOOOahx 	Jqx:: 	JJsOOO

4al###7 	#JJuMM!'"""""	# 	#r    c                     |                      d           |j        r1|                     d           |                     |j                   d S d S )Nreturnrk   )r&   rG   r#   r   rV   s     r   _ReturnzUnparser._Return   sQ    		(7 	#JJsOOOMM!'"""""	# 	#r    c                 0    |                      d           d S )Npassr&   rV   s     r   _PasszUnparser._Pass   s    		&r    c                 0    |                      d           d S )Nbreakr{   rV   s     r   _BreakzUnparser._Break   s    		'r    c                 0    |                      d           d S )Ncontinuer{   rV   s     r   	_ContinuezUnparser._Continue   s    		*r    c                 n                           d           t           fd j        |j                   d S )Nzdel c                  .                          d          S rP   rR   r,   s   r   rS   z"Unparser._Delete.<locals>.<lambda>   rT   r    )r&   r   r   rh   rV   s   ` r   _DeletezUnparser._Delete   s;    		&++++T]AIFFFFFr    c                     |                      d           |                     |j                   |j        r1|                     d           |                     |j                   d S d S )Nzassert rQ   )r&   r   testmsgr#   rV   s     r   _AssertzUnparser._Assert   sh    		)af5 	!JJtMM!%     	! 	!r    c                 @   |                      d           |                     |j                   |j        r/|                     d           |                     |j                   |j        r1|                     d           |                     |j                   d S d S )Nzexec  in rQ   )r&   r   r<   globalsr#   localsrV   s     r   _ExeczUnparser._Exec   s    		'af9 	%JJvMM!)$$$8 	$JJtMM!(#####	$ 	$r    c                 R   |                      d           d}|j        r1|                     d           |                     |j                   d}|j        D ]1}|r|                     d           nd}|                     |           2|j        s|                     d           d S d S )Nzprint F>>TrQ   ,)r&   destr#   r   valuesnl)r   r7   do_commaes       r   _PrintzUnparser._Print   s    		(6 	JJtMM!&!!!H 	 	A 

4((((MM!t 	JJsOOOOO	 	r    c                 n                           d           t           fd j        |j                   d S )Nzglobal c                  .                          d          S rP   rR   r,   s   r   rS   z"Unparser._Global.<locals>.<lambda>   rT   r    r&   r   r#   rU   rV   s   ` r   _GlobalzUnparser._Global   s;    		)++++TZAAAAAr    c                 n                           d           t           fd j        |j                   d S )Nz	nonlocal c                  .                          d          S rP   rR   r,   s   r   rS   z$Unparser._Nonlocal.<locals>.<lambda>   rT   r    r   rV   s   ` r   	_NonlocalzUnparser._Nonlocal   s;    		+++++TZAAAAAr    c                     |                      d           |                      d           |j        r/|                      d           |                     |j                   |                      d           d S )NrJ   awaitrk   rK   r#   rG   r   rV   s     r   _AwaitzUnparser._Await   c    

3

77 	#JJsOOOMM!'"""

3r    c                     |                      d           |                      d           |j        r/|                      d           |                     |j                   |                      d           d S )NrJ   yieldrk   rK   r   rV   s     r   _YieldzUnparser._Yield   r   r    c                     |                      d           |                      d           |j        r/|                      d           |                     |j                   |                      d           d S )NrJ   z
yield fromrk   rK   r   rV   s     r   
_YieldFromzUnparser._YieldFrom   sc    

3

<   7 	#JJsOOOMM!'"""

3r    c                    |                      d           t          j        r{|j        s|j        rJ d S |                     d           |                     |j                   |j        r1|                     d           |                     |j                   d S d S |                     d           |j        r|                     |j                   |j        r/|                     d           |                     |j                   |j	        r1|                     d           |                     |j	                   d S d S )Nraiserk   z from rQ   )
r&   r(   PY3exccauser#   r   typeinsttbackrV   s     r   _RaisezUnparser._Raise   s<   		'7 	'5 7""{JJsOOOMM!%   w '

8$$$ag&&&&&' ' JJsOOOv &af%%%v &

4   af%%%w '

4   ag&&&&&' 'r    c                 n   |                      d           |                                  |                     |j                   |                                  |j        D ]}|                     |           |j        rW|                      d           |                                  |                     |j                   |                                  |j        rY|                      d           |                                  |                     |j                   |                                  d S d S )Ntryelsefinally)r&   r-   r   r<   r/   handlersorelse	finalbodyr   r7   exs      r   _TryzUnparser._Try   s
   		%

af

* 	 	BMM"8 	IIfJJLLLMM!(###JJLLL; 	IIi   JJLLLMM!+&&&JJLLLLL		 	r    c                    |                      d           |                                  |                     |j                   |                                  |j        D ]}|                     |           |j        rY|                      d           |                                  |                     |j                   |                                  d S d S )Nr   r   )r&   r-   r   r<   r/   r   r   r   s      r   
_TryExceptzUnparser._TryExcept  s    		%

af

* 	 	BMM"8 	IIfJJLLLMM!(###JJLLLLL		 	r    c                    t          |j                  dk    r@t          |j        d         t          j                  r|                     |j                   nW|                     d           |                                  |                     |j                   |                                  |                     d           |                                  |                     |j	                   |                                  d S )Nr   r   r   r   )
lenr<   r2   rr   	TryExceptr   r&   r-   r/   r   rV   s     r   _TryFinallyzUnparser._TryFinally  s    qv;;!
16!9cm D DMM!&!!!!IIeJJLLLMM!&!!!JJLLL		)

ak"""

r    c                    |                      d           |j        r/|                     d           |                     |j                   |j        rV|                     d           t
          j        r|                     |j                   n|                     |j                   |                                  |                     |j                   | 	                                 d S )Nexceptrk    as )
r&   r   r#   r   r[   r(   r   r-   r<   r/   rV   s     r   _ExceptHandlerzUnparser._ExceptHandler$  s    		(6 	"JJsOOOMM!&!!!6 	&JJvw &

16""""af%%%

af

r    c                    |                      d           |j        D ],}|                     d           |                     |           -|                     d|j        z              t
          j        rW|                      d           d}|j        D ]1}|r|                      d           nd}|                     |           2|j        D ]1}|r|                      d           nd}|                     |           2t          j
        d d         d	k     r|j        rI|r|                      d           nd}|                      d
           |                     |j                   |j        rI|r|                      d           nd}|                      d           |                     |j                   |                      d           ne|j        r^|                      d           |j        D ],}|                     |           |                      d           -|                      d           |                                  |                     |j                   |                                  d S )Nr"   @zclass rJ   FrQ   T         ***rK   )r#   decorator_listr&   r   r[   r(   r   baseskeywordssysversion_infostarargskwargsr-   r<   r/   )r   r7   decocommar   as         r   	_ClassDefzUnparser._ClassDef3  sg   

4$ 	  	 DIIcNNNMM$		(16/"""7 	 JJsOOOEW ! ! #$**T****"ea    Z ! ! #$**T****"ea    #f,,: . 'djj...."&%JJsOOOMM!*---8 , 'djj...."&%JJt$$$MM!(+++JJsOOOOW 	 

3 % %AMM!$$$JJt$$$$

3

af

r    c                 2    |                      |d           d S )Ndef_Unparser__FunctionDef_helperrV   s     r   _FunctionDefzUnparser._FunctionDefZ  s    !!!U+++++r    c                 2    |                      |d           d S )Nz	async defr   rV   s     r   _AsyncFunctionDefzUnparser._AsyncFunctionDef]  s    !!![11111r    c                 D   |                      d           |j        D ],}|                     d           |                     |           -|dz   |j        z   dz   }|                     |           |                     |j                   |                      d           t          |dd          r/|                      d           |                     |j                   |                                  |                     |j	                   | 
                                 d S )	Nr"   r   rk   rJ   rK   returnsFz -> )r#   r   r&   r   r[   argsr4   r   r-   r<   r/   )r   r7   fill_suffixr   def_strs        r   __FunctionDef_helperzUnparser.__FunctionDef_helper`  s    

4$ 	  	 DIIcNNNMM$c/!&(3.		'af

31i'' 	%JJvMM!)$$$

af

r    c                 2    |                      d|           d S )Nzfor _Unparser__For_helperrV   s     r   _ForzUnparser._Forp  s    &!$$$$$r    c                 2    |                      d|           d S )Nz
async for r   rV   s     r   	_AsyncForzUnparser._AsyncFors  s    ,*****r    c                    |                      |           |                     |j                   |                     d           |                     |j                   |                                  |                     |j                   |                                  |j        rY|                      d           |                                  |                     |j                   |                                  d S d S )Nr   r   )	r&   r   rL   r#   r	   r-   r<   r/   r   )r   r&   r7   s      r   __For_helperzUnparser.__For_helperv  s    		$ah

6af

af

8 	IIfJJLLLMM!(###JJLLLLL		 	r    c                    |                      d           |                     |j                   |                                  |                     |j                   |                                  |j        rt          |j                  dk    rt          |j        d         t          j
                  r|j        d         }|                      d           |                     |j                   |                                  |                     |j                   |                                  |j        r=t          |j                  dk    r%t          |j        d         t          j
                  |j        rY|                      d           |                                  |                     |j                   |                                  d S d S )Nzif r   r   zelif r   )r&   r   r   r-   r<   r/   r   r   r2   rr   IfrV   s     r   _IfzUnparser._If  s}   		%af

af

x 	CMMQ..!(1+sv.. /AIIgMM!&!!!JJLLLMM!&!!!JJLLL x 	CMMQ..!(1+sv.. / 8 	IIfJJLLLMM!(###JJLLLLL		 	r    c                    |                      d           |                     |j                   |                                  |                     |j                   |                                  |j        rY|                      d           |                                  |                     |j                   |                                  d S d S )Nzwhile r   )r&   r   r   r-   r<   r/   r   rV   s     r   _WhilezUnparser._While  s    		(af

af

8 	IIfJJLLLMM!(###JJLLLLL		 	r    Fc                                           |rdnd           t          |d          rt           fd j        |j                   nP                     |j                   |j        r/                     d                                |j                                                                          |j	                    
                                 d S )Nzasync with zwith itemsc                  .                          d          S rP   rR   r,   s   r   rS   z(Unparser._generic_With.<locals>.<lambda>      tzz$// r    r   )r&   hasattrr   r   r   context_exproptional_varsr#   r-   r<   r/   )r   r7   async_s   `  r   _generic_WithzUnparser._generic_With  s    		66--w7771g 	/////HHHHMM!.))) /

6"""ao...

af

r    c                 0    |                      |           d S r:   r   rV   s     r   _WithzUnparser._With  s    1r    c                 4    |                      |d           d S )NT)r   r   rV   s     r   
_AsyncWithzUnparser._AsyncWith  s!    1T*****r    c                 T    |                      t          |j                             d S r:   )r#   reprsrV   s     r   _ByteszUnparser._Bytes  s"    

499r    c                    t           j        r)|                     t          |j                             d S d| j        vr)|                     t          |j                             d S t          |j        t                    r,|                     dt          |j                  z              d S t          |j        t                    r<|                     t          |j                  	                    d                     d S J d            )Nr   buFzshouldn't get here)
r(   r   r#   r  r  r   r2   strunicodelstriprD   s     r   _StrzUnparser._Str  s    7 	3JJtDF||$$$$$
 ")<<<

4<<(((((DFC(( 3

3df-.....DFG,, 3

4<<..s33444442222ur    c                 X   |                      d           t                      }|                     ||j                    |                                }d|v sd|v rddg}ng d}|D ]}||vrd                    ||          } n t          |          }|                      |           d S )	Nr   r"   '''""")'"r  r  z{quote_type}{v}{quote_type})
quote_typev)r#   r   _fstring_JoinedStrgetvalueformatr  )r   r7   stringr  quote_typesr  s         r   
_JoinedStrzUnparser._JoinedStr  s    

36<000 OO199		 %.KK222K% 	 	J""188JRS8TT # QA

1r    c                     |                      d           t                      }|                     ||j                    |                      t          |                                                     d S )Nr   )r#   r   r  r  r  )r   r7   r  s      r   _FormattedValuezUnparser._FormattedValue  s\    

36<000

4))**+++++r    c                 |    |j         D ]3}t          | dt          |          j        z             } |||           4d S )N	_fstring_)r   r4   r   r6   )r   r7   r#   rG   r8   s        r   r  zUnparser._fstring_JoinedStr  sO    X 	 	E4tE{{/C!CDDDD	 	r    c                 z    |j                             dd                              dd          } ||           d S N{z{{}z}})r  replacer   r7   r#   rG   s       r   _fstring_StrzUnparser._fstring_Str  s8    C&&..sD99er    c                     t          |j        t                    sJ |j                            dd                              dd          } ||           d S r  )r2   rG   r  r"  r#  s       r   _fstring_ConstantzUnparser._fstring_Constant  sP    !'3'''''T**223==er    c                 >    |d           t                      }t          |j        |           |                                                    d          }|                    d          r |d            ||           |j        dk    r9t          |j                  }|dv sJ  |d                    |                     |j	        rF |d           t          | d	t          |j	                  j        z             } ||j	        |            |d
           d S )Nr   r"   rk   sraz!{conversion})
conversionr+   r  r!  )r   r   rG   r  rstrip
startswithr*  chrr  format_specr4   r   r6   )r   r7   r#   exprr*  r8   s         r   _fstring_FormattedValuez Unparser._fstring_FormattedValue  s   c


zz$}}%%d++??3 	E#JJJd<2Q\**J&&&&E/((J(??@@@= 	'E#JJJ4tAM/B/B/K!KLLDD&&&c




r    c                 :    |                      |j                   d S r:   )r#   idrV   s     r   _NamezUnparser._Name  s    

14r    c                 T    |                      t          |j                             d S r:   )r#   r  rG   rV   s     r   _NameConstantzUnparser._NameConstant  s"    

4==!!!!!r    c                     |                      d           |                     |j                   |                      d           d S )N`r#   r   rG   rV   s     r   _ReprzUnparser._Repr  s8    

3ag

3r    c                     t          |t          t          f          r=|                     t	          |                              dt                               d S |                     t	          |                     d S )Ninf)r2   floatcomplexr#   r  r"  INFSTR)r   rG   s     r   _write_constantzUnparser._write_constant  se    eeW-.. 	$JJtE{{**5&99:::::JJtE{{#####r    c                     |j         }t          |t                    r                     d           t	          |          dk    r1                     |d                                         d           nt           fd j        |                                d           d S |t          u r                     d           d S |j        dk    r                     d                                |j                    d S )	NrJ   r   r   r   c                  .                          d          S rP   rR   r,   s   r   rS   z$Unparser._Constant.<locals>.<lambda>"  s    4::d#3#3 r    rK   ...r  )	rG   r2   tupler#   r   r?  r   Ellipsiskind)r   r7   rG   s   `  r   	_ConstantzUnparser._Constant  s    eU## 	*JJsOOO5zzQ$$U1X...

33333T5I5QQQJJsOOOOOhJJuv}}

3  )))))r    c                    t          |j                  }t          j        r0|                     |                    dt                               d S |                    d          r|                     d           d|v r+|                    d          r|                    dd          }|                     |                    dt                               |                    d          r|                     d           d S d S )Nr;  -rJ   z*jjrK   )	r  r^   r(   r   r#   r"  r>  r,  endswith)r   r7   repr_ns      r   _NumzUnparser._Num+  s    ac7 	 JJv~~eV4455555   %%  

36??4#8#8c22JJv~~eV44555  %%  

3   r    c                                            d           t           fd j        |j                                         d           d S )N[c                  .                          d          S rP   rR   r,   s   r   rS   z Unparser._List.<locals>.<lambda><  rT   r    ])r#   r   r   eltsrV   s   ` r   _ListzUnparser._List:  sE    

3++++T]AFCCC

3r    c                     |                      d           |                     |j                   |j        D ]}|                     |           |                      d           d S NrN  rP  r#   r   elt
generatorsr   r7   gens      r   	_ListCompzUnparser._ListComp?  ^    

3ae< 	 	CMM#

3r    c                     |                      d           |                     |j                   |j        D ]}|                     |           |                      d           d S )NrJ   rK   rU  rX  s      r   _GeneratorExpzUnparser._GeneratorExpF  r[  r    c                     |                      d           |                     |j                   |j        D ]}|                     |           |                      d           d S )Nr   r!  rU  rX  s      r   _SetCompzUnparser._SetCompM  r[  r    c                 *   |                      d           |                     |j                   |                      d           |                     |j                   |j        D ]}|                     |           |                      d           d S )Nr   rp   r!  )r#   r   keyrG   rW  rX  s      r   	_DictCompzUnparser._DictCompT  s    

3ae

4ag< 	 	CMM#

3r    c                 x   t          |dd          r|                     d           n|                     d           |                     |j                   |                     d           |                     |j                   |j        D ],}|                     d           |                     |           -d S )Nis_asyncFz async for z for r    if )r4   r#   r   rL   r	   ifs)r   r7   	if_clauses      r   _comprehensionzUnparser._comprehension]  s    1j%(( 	 JJ}%%%%JJwah

6af 	% 	%IJJvMM)$$$$	% 	%r    c                 J   |                      d           |                     |j                   |                      d           |                     |j                   |                      d           |                     |j                   |                      d           d S )NrJ   re  z else rK   )r#   r   r<   r   r   rV   s     r   _IfExpzUnparser._IfExpi  s    

3af

6af

8ah

3r    c                      |j         sJ                      d           t           fd j        |j                                         d           d S )Nr   c                  .                          d          S rP   rR   r,   s   r   rS   zUnparser._Set.<locals>.<lambda>u  rT   r    r!  )rQ  r#   r   r   rV   s   ` r   _SetzUnparser._Setr  sP    vv

3++++T]AFCCC

3r    c                                            d            fd fd}t           fd|t          |j        |j                                                   d           d S )Nr   c                                          |                                d                                |           d S Nrp   )r   r#   )kr  r   s     r   write_key_value_pairz,Unparser._Dict.<locals>.write_key_value_pairz  s?    MM!JJtMM!r    c                     | \  }}|,                     d                               |           d S  ||           d S )Nr   )r#   r   )itemrq  r  r   rr  s      r   
write_itemz"Unparser._Dict.<locals>.write_item  sV    DAqy 

4   a     $$Q*****r    c                  .                          d          S rP   rR   r,   s   r   rS   z Unparser._Dict.<locals>.<lambda>  rT   r    r!  )r#   r   zipkeysr   )r   r7   ru  rr  s   `  @r   _DictzUnparser._Dictx  s    

3	 	 	 	 	
	+ 	+ 	+ 	+ 	+ 	+ 	++++ZQVQX9N9NOOO

3r    c                 8                          d           t          |j                  dk    r8|j        d         }                     |                                 d           nt	           fd j        |j                                         d           d S )NrJ   r   r   r   c                  .                          d          S rP   rR   r,   s   r   rS   z!Unparser._Tuple.<locals>.<lambda>  r   r    rK   )r#   r   rQ  r   r   )r   r7   rV  s   `  r   _TuplezUnparser._Tuple  s    

3qv;;!&)CMM#JJsOOOO////GGG

3r    ~not+rH  )InvertNotUAddUSubc                 4   |                      d           |                      | j        |j        j        j                            |                      d           t
          j        rt          |j        t          j	                  rdt          |j
        t          j                  rE|                      d           |                     |j
                   |                      d           n|                     |j
                   |                      d           d S NrJ   rk   rK   )r#   unoprm   r5   r6   r(   PY2r2   rr   r  operandNumr   rV   s     r   _UnaryOpzUnparser._UnaryOp  s    

3

49QT^45666

37 
	%z!$11 
	%jCG6T6T 
	% JJsOOOMM!)$$$JJsOOOOMM!)$$$

3r    r   r   /%z<<r   |^&z//r   )AddSubMultMatMultDivModLShiftRShiftBitOrBitXorBitAndFloorDivPowc                 ,   |                      d           |                     |j                   |                      d| j        |j        j        j                 z   dz              |                     |j                   |                      d           d S r  )r#   r   leftrl   rm   r5   r6   rightrV   s     r   _BinOpzUnparser._BinOp  sv    

3af

3ADN$;<<sBCCCag

3r    z==z!=<z<=>z>=iszis notinznot in)
EqNotEqLtLtEGtGtEIsIsNotInNotInc                 X   |                      d           |                     |j                   t          |j        |j                  D ]J\  }}|                      d| j        |j        j                 z   dz              |                     |           K|                      d           d S r  )	r#   r   r  rw  opscomparatorscmpopsr5   r6   )r   r7   or   s       r   _ComparezUnparser._Compare  s    

3afq}-- 	 	DAqJJsT[)=>>DEEEMM!

3r    andorc                                            d           d j        |j        j                 z  t	           fd j        |j                                         d           d S )NrJ   z %s c                  .                                    S r:   rR   )r  r   s   r   rS   z"Unparser._BoolOp.<locals>.<lambda>  s    4::a== r    rK   )r#   boolopsrm   r5   r   r   r   )r   r7   r  s   ` @r   _BoolOpzUnparser._BoolOp  s^    

3T\!$.11((((($-BBB

3r    c                 z   |                      |j                   t          |j        t          t          dt          t          dd                               r4t          |j        j        t                    r|                     d           |                     d           |                     |j                   d S )NConstantr  rk   r`   )	r   rG   r2   r4   rr   r^   intr#   attrrV   s     r   
_AttributezUnparser._Attribute  s    ag agwsJUD8Q8QRRSS 	XbcdcjclnqXrXr 	JJsOOO

3

16r    c                    |                      |j                   |                     d           d}|j        D ]1}|r|                     d           nd}|                      |           2|j        D ]1}|r|                     d           nd}|                      |           2t
          j        d d         dk     r|j        rI|r|                     d           nd}|                     d           |                      |j                   |j        rI|r|                     d           nd}|                     d           |                      |j                   |                     d	           d S )
NrJ   FrQ   Tr   r   r   r   rK   )	r   funcr#   r   r   r   r   r   r   )r   r7   r   r   s       r   _CallzUnparser._Call  s   af

3 	 	A djj&&&&%MM! 	 	A djj&&&&%MM!BQB&((z * #$**T****"e

3aj)))x ( #$**T****"e

4   ah'''

3r    c                     |                      |j                   |                     d           |                      |j                   |                     d           d S rT  )r   rG   r#   slicerV   s     r   
_SubscriptzUnparser._Subscript  sL    ag

3ag

3r    c                 d    |                      d           |                     |j                   d S )Nr   r8  rV   s     r   _StarredzUnparser._Starred  s+    

3agr    c                 0    |                      d           d S )NrB  rR   rV   s     r   	_EllipsiszUnparser._Ellipsis  s    

5r    c                 :    |                      |j                   d S r:   )r   rG   rV   s     r   _IndexzUnparser._Index  s    agr    c                 $   |j         r|                     |j                    |                     d           |j        r|                     |j                   |j        r1|                     d           |                     |j                   d S d S )Nr+   )lowerr   r#   uppersteprV   s     r   _SlicezUnparser._Slice  s    7 	#MM!'"""

37 	#MM!'"""6 	"JJsOOOMM!&!!!!!	" 	"r    c                 D     t           fd j        |j                   d S )Nc                  .                          d          S rP   rR   r,   s   r   rS   z$Unparser._ExtSlice.<locals>.<lambda>  rT   r    )r   r   dimsrV   s   ` r   	_ExtSlicezUnparser._ExtSlice   s)    ++++T]AFCCCCCr    c                     |                      |j                   |j        r1|                      d           |                     |j                   d S d S rp  )r#   argrt   r   rV   s     r   _argzUnparser._arg  sV    

15< 	(JJtMM!,'''''	( 	(r    c           	      b   d}t          |dg           |j        z   }d gt          |          t          |j                  z
  z  |j        z   }t	          t          ||          d          D ]\  }}|\  }}|rd}n|                     d           |                     |           |r*|                     d           |                     |           |t          t          |dd                    k    r|                     d           |j        st          |d	d          r|rd}n|                     d           |                     d
           |j        rt          |j        d          r`|                     |j        j
                   |j        j        r4|                     d           |                     |j        j                   nZ|                     |j                   t          |dd           r/|                     d           |                     |j                   t          |d	d          r|t          |j        |j                  D ]a\  }}|rd}n|                     d           |                     |          f |r*|                     d           |                     |           b|j        r|rd}n|                     d           t          |j        d          rf|                     d|j        j
        z              |j        j        r6|                     d           |                     |j        j                   d S d S |                     d|j        z              t          |dd           r3|                     d           |                     |j                   d S d S d S )NTposonlyargsr   FrQ   = z, /
kwonlyargsr   r  rp   varargannotationr   kwargannotation)r4   r   r   defaults	enumeraterw  r#   r   varargr   r  rt   r  r  kw_defaultskwargr  )	r   r7   firstall_argsr  indexelementsr   ds	            r   
_argumentszUnparser._arguments  s   1mR001696S]]S__<=
J(Xx)@)@!DD 		" 		"OE8DAq #UUU**T"""MM! !

3a   GA}b99::::

5!!! 8 	:wq,66 	: #UUU**T"""JJsOOOx 
:18U++ 	:JJqx|,,,x* ;

4(((ah&9:::JJqx(((q"4d;; :

4(((a&8999 1lE** 	%AL!-88 % %1 'jj&&&a  !! %JJsOOOMM!$$$ 7 	5 #UUU**T"""qw&& 	5

4+,,,7% 6JJt$$$MM!'"4555556 6 

4<(((1/66 5JJt$$$MM!"344444	5 	55 5r    c                     |j         |                     d           n/|                     |j                    |                     d           |                     |j                   d S )Nr   r  )r  r#   r   rG   rV   s     r   _keywordzUnparser._keywordE  s[    5=JJtJJquJJsOOOagr    c                    |                      d           |                      d           |                     |j                   |                      d           |                     |j                   |                      d           d S )NrJ   zlambda rp   rK   )r#   r   r   r<   rV   s     r   _LambdazUnparser._LambdaN  sp    

3

9af

4af

3r    c                     |                      |j                   |j        r|                      d|j        z              d S d S Nr   )r#   r[   asnamerV   s     r   _aliaszUnparser._aliasV  sH    

168 	(JJvah'''''	( 	(r    c                     |                      |j                   |j        r1|                     d           |                      |j                   d S d S r  )r   r   r   r#   rV   s     r   	_withitemzUnparser._withitem[  sV    an%%%? 	+JJvMM!/*****	+ 	+r    N)r   )F)er6   
__module____qualname____doc__r   stdoutr   r&   r#   r-   r/   r   r?   rB   rE   rH   rM   rW   re   ri   rn   ru   rx   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r$  r&  r0  r3  r5  r9  r?  rF  rL  rR  rZ  r]  r_  rb  rh  rj  rm  ry  r|  r  r  rl   r  r  r  rr   AndOrr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r    r   r   r      s         %(J    6 6 6 6* * *  
    "          ! ! !" " "  E E E
E 
E 
E    # # ## # #      G G G! ! !$ $ $  B B BB B B      ' ' ',  $      % % %N, , ,2 2 2   % % %+ + +    ,
 
 
     + + +  3 3 3   (, , ,  
    
  $  " " "  
$ $ $* * *"       
        
% 
% 
%      &   s3??D  " s3#SPS!D#VY#D2 2E   Ct#T!8$R RF   wsvt,G      2    
    " " "D D D( ( (85 85 85t    ( ( (
+ + + + +r    r   c                    t           j        rt          | d          5 }t          j        |j                  d         }d d d            n# 1 swxY w Y   t          | d|          5 }|                                }d d d            n# 1 swxY w Y   n<t          | d          5 }|                                }d d d            n# 1 swxY w Y   t          || dt          j	        d          }t          ||           d S )Nrbr   r)encodingexecT)dont_inherit)r(   r   opentokenizedetect_encodingreadlinereadcompilerr   PyCF_ONLY_ASTr   )filenameoutputpyfiler  sourcer   s         r   	roundtripr  a  s   
w #(D!! 	DV/@@CH	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D(C(333 	#v[[]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# (C   	#F[[]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#68VS->TRRRDT6s5    A		AA&BBB#CCCc                 V   	 d t          j        |           D             }|D ]}t           j                            | |          }t           j                            |          rht                      }t          d|z             	 t          ||           s# t          $ r)}t          dt          |          z             Y d }~d }~ww xY wt           j        
                    |          rt          |           d S # t          $ r" t          d| z  t          j                   Y d S w xY w)Nc                 <    g | ]}|                     d           |S )z.py)rJ  r\   s     r   
<listcomp>ztestdir.<locals>.<listcomp>q  s)    ???qQZZ->->????r    z
Testing %sz$  Failed to compile, exception is %szDirectory not readable: %sr   )oslistdirpathjoinisfiler   r   r  	Exceptionr  isdirtestdirOSErrorr   stderr)r   rU   r^   fullnamer  r   s         r   r  r  o  sS   "??BJqMM???  
	" 
	"Aw||Aq))Hw~~h'' "!lX-...Lh////  L L L@477JKKKKKKKKLx(( "!!!
	" 
	"  A A A*Q.SZ@@@@@@@As)   C< B
CCC<(D('D(c                     | d         dk    r| dd          D ]}t          |           d S | D ]}t          |           d S )Nr   z	--testdirr   )r  r  )r   r   s     r   mainr    sg    Aw+abb 	 	AAJJJJ	 	  	 	AaLLLL	 	r    __main__)r  rY   r   r   r(   r   rr   r  r  r   r  
float_info
max_10_expr>  r   r   r  r  r  r  r6   argvr  r    r   <module>r      s0   ) ) 7 7 7 7 7 7 7 7 



 



 



 				        
S^.233	3  D+ D+ D+ D+ D+ D+ D+ D+L  #z 
 
 
 
" " "$   ZD!"" r    