b374k
m1n1 1.01
Apache/2.2.15 (CentOS)
Linux obd60-6c49958d75-2q7cw 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64
uid=48(apache) gid=48(apache) groups=48(apache)
server ip : 104.21.65.202 | your ip : 10.244.126.0
safemode OFF
 >  / usr / lib64 / python2.6 / compiler /
Filename/usr/lib64/python2.6/compiler/pycodegen.pyo
Size53.99 kb
Permissionrw-r--r--
Ownerapache
Create time23-Dec-2025 17:41
Last modified20-Jun-2019 19:45
Last accessed22-Apr-2026 13:07
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
Ñò
§ÚêLc@söddkZddkZddkZddkZddkZddklZddklZl Z l
Z
l Z ddkl Z l
Z
lZlZddklZlZlZlZddklZlZlZlZlZlZlZlZlZddklZyei dZ!Wne"j
o
d Z!nXhd
ddf6d d df6d dd f6d
d d f6Z#d Z$dZ%dZ&dZ'dd�Z(e)e)d�Z*dfd��YZ+de+fd��YZ,de+fd��YZ-de+fd��YZ.dfd��YZ/d�Z0dfd��YZ1d fd!��YZ2d"e2e1fd#��YZ3d$e2e1fd%��YZ4d&e2e1fd'��YZ5d(fd)��YZ6d*e2e6e1fd+��YZ7d,e2e6e1fd-��YZ8d.fd/��YZ9d0e2e9e1fd1��YZ:d2�Z;d3�Z<d4fd5��YZ=d6fd7��YZ>d8e>fd9��YZ?d:e>fd;��YZ@d<e>fd=��YZAd>e>fd?��YZBhe?eiC6e@eiD6eAeiE6eBeiF6ZGd@�ZHeIdAjo&xeiJd D]ZKe(eK�qÚWndS(BiÿÿÿÿN(tStringIO(tasttparsetwalktsyntax(tpyassemtmisctfuturetsymbols(tSC_LOCALt SC_GLOBALtSC_FREEtSC_CELL( t
CO_VARARGStCO_VARKEYWORDSt CO_NEWLOCALSt CO_NESTEDt CO_GENERATORtCO_FUTURE_DIVISIONtCO_FUTURE_ABSIMPORTtCO_FUTURE_WITH_STATEMENTtCO_FUTURE_PRINT_FUNCTION(tTupleArgiit
CALL_FUNCTIONtCALL_FUNCTION_VARtCALL_FUNCTION_KWtCALL_FUNCTION_VAR_KWiiicCs�t|d�}|i�}|i�t||�}y|i|�Wntj
o
�n,Xt|dd�}|i|�|i�dS(NtUtctwb(topentreadtclosetModuletcompilet SyntaxErrortdump(tfilenametdisplaytftbuftmod((s*/usr/lib64/python2.6/compiler/pycodegen.pyt compileFile$s 

cCs¤|dj p
|dj o
td�n|djot||�}nM|djot||�}n-|djot||�}n
td��|i�|iS(s*Replacement for builtin compile() functionsnot implemented yettsingletexectevals6compile() 3rd arg must be 'exec' or 'eval' or 'single'N(tNonet RuntimeErrort InteractiveR!t
Expressiont
ValueErrorR"tcode(tsourceR%tmodetflagst dont_inherittgen((s*/usr/lib64/python2.6/compiler/pycodegen.pyR"2s



 
tAbstractCompileModecBs2eZdZd�Zd�Zd�Zd�ZRS(cCs||_||_d|_dS(N(R4R%R.R3(tselfR4R%((s*/usr/lib64/python2.6/compiler/pycodegen.pyt__init__Gs  cCs9t|i|i�}ti|i|�ti|�|S(N(RR4R5Rt set_filenameR%Rtcheck(R:ttree((s*/usr/lib64/python2.6/compiler/pycodegen.pyt _get_treeLs
cCsdS(N((R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR"RscCs|iS(N(R3(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pytgetCodeUsN(t__name__t
__module__R.R5R;R?R"R@(((s*/usr/lib64/python2.6/compiler/pycodegen.pyR9Cs
   R1cBseZdZd�ZRS(R-cCs+|i�}t|�}|i�|_dS(N(R?tExpressionCodeGeneratorR@R3(R:R>R8((s*/usr/lib64/python2.6/compiler/pycodegen.pyR"\s  (RARBR5R"(((s*/usr/lib64/python2.6/compiler/pycodegen.pyR1XsR0cBseZdZd�ZRS(R+cCs+|i�}t|�}|i�|_dS(N(R?tInteractiveCodeGeneratorR@R3(R:R>R8((s*/usr/lib64/python2.6/compiler/pycodegen.pyR"es  (RARBR5R"(((s*/usr/lib64/python2.6/compiler/pycodegen.pyR0asR!cBs8eZdZdd�Zd�Zei�Zd�ZRS(R,icCsP|i�}t|�}|oddk}|i|�GHn|i�|_dS(Niÿÿÿÿ(R?tModuleCodeGeneratortpprintR@R3(R:R&R>R8RF((s*/usr/lib64/python2.6/compiler/pycodegen.pyR"ns    cCs*|i|i��ti|i|�dS(N(twritet getPycHeadertmarshalR$R3(R:R'((s*/usr/lib64/python2.6/compiler/pycodegen.pyR$vscCs2tii|i�}tid|�}|i|S(Ns<i(tostpathtgetmtimeR%tstructtpacktMAGIC(R:tmtime((s*/usr/lib64/python2.6/compiler/pycodegen.pyRH|s( RARBR5R"R$timpt get_magicRORH(((s*/usr/lib64/python2.6/compiler/pycodegen.pyR!js
   tLocalNameFindercBskeZdZd d�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Z d
�Z RS( sFind local names in scopecCsCti�|_ti�|_x|D]}|ii|�q%WdS(N(RtSettnamestglobalstadd(R:RUtname((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;�s
cCsHx>|ii�D]-}|ii|�o|ii|�qqW|iS(N(RVtelementsRUthas_elttremove(R:telt((s*/usr/lib64/python2.6/compiler/pycodegen.pyt getLocals�s
cCsdS(N((R:tnode((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitDict�scCs(x!|iD]}|ii|�q
WdS(N(RURVRW(R:R^RX((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitGlobal�s
cCs|ii|i�dS(N(RURWRX(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitFunction�scCsdS(N((R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitLambda�scCs5x.|iD]#\}}|ii|p|�q
WdS(N(RURW(R:R^RXtalias((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitImport¢s
cCs5x.|iD]#\}}|ii|p|�q
WdS(N(RURW(R:R^RXRc((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitFrom¦s
cCs|ii|i�dS(N(RURWRX(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitClassªscCs|ii|i�dS(N(RURWRX(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitAssName­s((
RARBt__doc__R;R]R_R`RaRbRdReRfRg(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRS�s         cCs*t|ti�o|ipdSndS(Nii(t
isinstanceRtConsttvalue(R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytis_constant_false°s
 t
CodeGeneratorcBsBeZdZdZdZdZd�Zd�Zd�Z d�Z
d�Z d�Z d�Z
d �Zd
�Zd �Zd �Zd
�Zd�Zd�Zed�ZeZdZdZd�Zd�Zd�Zd�Zdd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd�Z(d�Z)d �Z*dZ+d!�Z,d"�Z-d#�Z.d$�Z/d%�Z0d&�Z1d'�Z2d(�Z3d)�Z4d*�Z5d+�Z6d,�Z7dZ8d-�Z9d.�Z:d/�Z;d0�Z<d1�Z=d2�Z>d3�Z?d4�Z@d5�ZAd6�ZBd7�ZCd8�ZDd9�ZEd:�ZFd;d<�ZGeHd=joeGZIeGZJnd>�ZId?�ZJd@�ZKh dAdB6dCdD6dEdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6ZLdY�ZMdZ�ZNd[�ZOd\�ZPd]�ZQd^�ZRdd_�ZSd`�ZTda�ZUdb�ZVddc�ZWddd�ZXde�ZYdf�ZZdg�Z[dh�Z\di�Z]dj�Z^dk�Z_dl�Z`dm�Zadn�Zbdo�Zcdp�Zddq�Zedr�Zfds�Zgdt�Zhdu�Zidv�Zjdw�Zkdx�Zldy�Zmdz�Znd{�Zod|�Zpd}�Zqd~�ZrRS(�síDefines basic code generator for Python bytecode

This class is an abstract base class. Concrete subclasses must
define an __init__() that defines self.graph and then calls the
__init__() defined in this class.

The concrete class must also define the class attributes
NameFinder, FunctionGen, and ClassGen. These attributes can be
defined in the initClass() method, which is a hook for
initializing these methods after all the classes have been
defined.
icCs|idjo|i�d|i_n|i�ti�|_ti�|_d|_ |i
�d|_ |i �i
}x�|D]�}|djo|iit�d|_ q�|djo|iit�q�|djo|iit�q�|djo|iit�q�q�WdS(Nit
BINARY_DIVIDEtdivisiontBINARY_TRUE_DIVIDEtabsolute_importtwith_statementtprint_function(t_CodeGenerator__initializedR.t initClasst __class__t
checkClassRtStacktlocalstsetupst last_linenot_setupGraphDelegationt_div_opt
get_moduletfuturestgraphtsetFlagRRRR(R:Rtfeature((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;Ès*

 
 




cCsdS(s)This method is called once for each classN((R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyRuàscCs9yWn.tj
o"}d|ii}t|�nXdS(s*Verify that class is constructed correctlysBad class construction for %sN(tAssertionErrorRvRA(R:tmsgtintro((s*/usr/lib64/python2.6/compiler/pycodegen.pyRwãs
cCsO|ii|_|ii|_|ii|_|ii|_|ii|_dS(N(R�temittnewBlockt
startBlockt nextBlockt setDocstring(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR|îs
cCs
|ii�S(sReturn a code object(R�R@(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR@õscCs,|idj oti||i�S|SdS(N(t
class_nameR.Rtmangle(R:RX((s*/usr/lib64/python2.6/compiler/pycodegen.pyR�ùscCs ti�}t||�|iS(N(Rt
SymbolVisitorRtscopes(R:R>ts((s*/usr/lib64/python2.6/compiler/pycodegen.pyt parseSymbolsÿs 
cCs
td�dS(Ns#should be implemented by subclasses(R/(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR~scCs|ii�i|�S(N(RyttopRZ(R:RX((s*/usr/lib64/python2.6/compiler/pycodegen.pyt isLocalName scCs|id|�dS(NtSTORE(t_nameOp(R:RX((s*/usr/lib64/python2.6/compiler/pycodegen.pyt storeName scCs|id|�dS(NtLOAD(R�(R:RX((s*/usr/lib64/python2.6/compiler/pycodegen.pytloadNamescCs|id|�dS(NtDELETE(R�(R:RX((s*/usr/lib64/python2.6/compiler/pycodegen.pytdelNamescCsø|i|�}|ii|�}|tjo:|ip|i|d|�qô|i|d|�n�|tjo:|ip|i|d|�qô|i|d|�nF|tjp
|tjo|i|d|�nt d||f�dS(Nt_NAMEt_FASTt_GLOBALt_DEREFs unsupported scope for var %s: %d(
R�tscopet
check_nameR t optimizedR�R
R R R/(R:tprefixRXR�((s*/usr/lib64/python2.6/compiler/pycodegen.pyR�s



cCs:|io|i|d|�n|i|d|�dS(sûEmit name ops for names generated implicitly by for loops

The interpreter generates names that start with a period or
dollar sign. The symbol table ignores these names because
they aren't present in the program text.
R�R�N(R R�(R:R¡RX((s*/usr/lib64/python2.6/compiler/pycodegen.pyt_implicitNameOp(s
cCsXt|dd�}|dj o5||ijp|o|id|�||_tStS(søEmit SET_LINENO if necessary.

The instruction is considered necessary if the node has a
lineno attribute and it is different than the last lineno
emitted.

Returns true if SET_LINENO was emitted.

There are no rules for when an AST node should have a lineno
attribute. The transformer and AST code need to be reviewed
and a consistent policy implemented and documented. Until
then, this method works around missing line numbers.
tlinenot
SET_LINENON(tgetattrR.R{R�tTruetFalse(R:R^tforceR£((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
set_lineno9s cCsÅ|i|�|_|i||_|idd�|io$|id|i�|id�nt|i|i�dd�}|i i
|i ��|i |i�|idd�|id�dS(NR¤it
LOAD_CONSTRhtverboset RETURN_VALUE(R�R�R�R�tdocR�RR^t
NameFinderRytpushR]tvisitR.(R:R^tlnf((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitModuleWs
cCsP|i|�|i|�|_|i||_|i|i�|id�dS(NR¬(R©R�R�R�R°R^R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitExpressionds

cCsE|i|dd�|io|i|i�n|i|i�dS(NtisLambdai(t_visitFuncOrLambdaR­R�R�RX(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyRaks
cCs|i|dd�dS(NR´i(Rµ(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyRbqscCs| oD|io:x!|iiD]}|i|�qWt|ii�}nd}|i||i||i|i��}t|i |�|i
�|i |�x|i D]}|i|�qªW|i
|t|i ��x$t|�D]}|idd�qçWdS(NiRi(t
decoratorstnodesR°tlent FunctionGenR�R�R~RR3tfinishR©tdefaultst _makeClosuretrangeR�(R:R^R´t decoratort ndecoratorsR8tdefaultti((s*/usr/lib64/python2.6/compiler/pycodegen.pyRµts$




cCsÓ|i||i|i��}t|i|�|i�|i|�|id|i�x|i D]}|i
|�qbW|idt |i ��|i |d�|idd�|id�|i
|i�dS(NRªt BUILD_TUPLEiRt BUILD_CLASS(tClassGenR�R~RR3RºR©R�RXtbasesR°R¸R¼R�(R:R^R8tbase((s*/usr/lib64/python2.6/compiler/pycodegen.pyRf�s



cCs |i�}t|i�}x¿t|�D]±}|i|\}}t|�oq(n|i|�|i|�|i�}|id|�|i�|id�|i|�|id|�|i |�|id�q(W|i
o|i|i
�n|i|�dS(Nt
JUMP_IF_FALSEtPOP_TOPt JUMP_FORWARD( R�R¸ttestsR½RlR©R°R�R�R�telse_(R:R^tendtnumtestsRÁttesttsuitetnextTest((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitIf�s( 



 




cCs8|i|�|i�}|i�}|i�}|id|�|i|�|iit|f�|i|dt�|i|i �|id|p|�|i�|id�|i|i
�|id|�|i |�|id�|id�|ii �|i
o|i|i
�n|i|�dS(Nt
SETUP_LOOPR¨RÇRÈt
JUMP_ABSOLUTEt POP_BLOCK(R©R�R�R�RzR¯tLOOPR¦R°RÎtbodyR�tpopRË(R:R^tloopRËtafter((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitWhile°s*
   







cCs*|i�}|i�}|i�}|iit|f�|i|�|id|�|i|i�|id�|i|�|i|dd�|id|�|i|i �|i|i
�|id|�|i|�|id�|ii �|i o|i|i �n|i|�dS(NRÒtGET_ITERR¨itFOR_ITERRÓRÔ(
R�RzR¯RÕR©R�R°tlistR�tassignRÖR×RË(R:R^tstarttanchorRÙ((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitForÍs(   






cCsE|iptd|i|if�n|i|�|id�dS(Ns'break' outside loop (%s, %d)t
BREAK_LOOP(RzR#R%R£R©R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitBreakås


cCsj|iptd|i|if�n|ii�\}}|tjo+|i|�|id|�|i�nó|t jp
|t
jo¨|i|�t |i�}xA|djo3|d}|i|\}}|tjoPq­q­W|tjotd|i|if�n|id|�|i�n1|t jo#d}t||i|if�ndS(Ns 'continue' outside loop (%s, %d)RÓiit
CONTINUE_LOOPs7'continue' not allowed inside 'finally' clause (%s, %d)(
RzR#R%R£R�RÕR©R�R�tEXCEPTt TRY_FINALLYR¸t END_FINALLY(R:R^tkindtblockR�t
loop_blockR�((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitContinueìs2









cCs}|i�}xI|id D]:}|i|�|i||�|i�|id�qW|i|id�|i|�dS(NiÿÿÿÿRÈ(R�R·R°R�R�(R:R^tjumpRÌtchild((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitTests 

cCs|i|d�dS(NRÇ(Rî(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitAndscCs|i|d�dS(Nt JUMP_IF_TRUE(Rî(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitOrscCs |i�}|i�}|i|i�|id|�|id�|i|i�|id|�|i|�|id�|i|i�|i|�dS(NRÇRÈRÉ(R�R°RÎR�tthenR�RË(R:R^tendblockt elseblock((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitIfExps  


cCsD|i|i�|i�}xy|id D]j\}}|i|�|id�|id�|id|�|id|�|i�|id�q*W|io4|id\}}|i|�|id|�nt|i�djoT|i�}|id|�|i|�|id �|id�|i|�ndS(
NiÿÿÿÿtDUP_TOPt ROT_THREEt
COMPARE_OPRÇRÈiRÉtROT_TWO(R°texprR�topsR�R�R¸R�(R:R^tcleanuptopR3RÌ((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitCompare$s,  





 


c CsÚ|i|�d|i}|id|_|idd�|id�|id|�g}x¤ttt|i��|i�D]�\}}|i|�\}}d}x>|i
D]3} |djo|i �}n|i| |�q°W|i d|||f�qW|id|�|i|i
�|id�x�|D]z\}}}|oG|i �}
|id |
�|i|�|id
�|i|
�n|id |�|i|�q8W|id |�|id|_dS(
Ns$list%dit
BUILD_LISTiRöR�R�t LIST_APPENDRÉRÈRÓR�(R©t_CodeGenerator__list_countR�R¢tzipR½R¸tqualsR°R.tifsR�tinsertRúR�R�( R:R^ttmpnametstackRÁtfor_RßRàtconttif_tskip_one((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitListComp?s@


" 


 

cCs�|i�}|i�}|i|i�|id�|i|�|i|dt�|id|�|i�|i|i�||fS(NRÛR¨RÜ(R�R°RÝR�R�R©R¦RÞ(R:R^RßRà((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitListCompForcs  


cCsN|i|dt�|i|i�|id|�|i�|id�dS(NR¨RÇRÈ(R©R¦R°RÎR�R�(R:R^tbranch((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitListCompIfps

cCs�|ii�}|o[x|D]}|id|�qW|idt|��|id|�|id|�n!|id|�|id|�dS(Nt LOAD_CLOSURERÂRªt MAKE_CLOSUREt
MAKE_FUNCTION(R�t
get_free_varsR�R¸(R:R8targstfreesRX((s*/usr/lib64/python2.6/compiler/pycodegen.pyR¼wscCs�t||i|i|i��}t|i|�|i�|i|�|i|d�|i |ii
di �|i d�|i dd�dS(NiRÛRi(
tGenExprCodeGeneratorR�R�R~RR3RºR©R¼R°RtiterR�(R:R^R8((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitGenExpr�s


c Cs­|i|�g}xªttt|i��|i�D]�\}}|i|�\}}}d}x>|iD]3} |djo|i�}n|i| |�qiW|i d||||f�q5W|i|i
�|i d�|i d�x¬|D]¤\}}}}|oG|i�}
|i d|
�|i |�|i d�|i
|
�n|i d|�|i |�|i d�|ii�|i |�qñW|i dd�dS(Nit YIELD_VALUERÈRÉRÓRÔRª(R©RR½R¸RR°R.RR�RRúR�R�R�RzR×( R:R^RRÁRRßRàRÌR R
R ((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitGenExprInner�s:
" 

 

 




cCsÙ|i�}|i�}|i�}|iit|f�|id|�|io|id�n|i|i�|id�|i |�|i
|dt �|id|�|i �|i|i �|||fS(NRÒs.0RÛR¨RÜ(
R�RzR¯RÕR�t
is_outmostR�R°RR�R©R¦RÞ(R:R^RßRàRÌ((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitGenExprFor°s   



cCsN|i|dt�|i|i�|id|�|i�|id�dS(NR¨RÇRÈ(R©R¦R°RÎR�R�(R:R^R((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitGenExprIfÅs

cCsdS(N((R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitAssertÎscCs�|i|�d}|io|i|i�|d}n|io|i|i�|d}n|io|i|i�|d}n|id|�dS(Niit
RAISE_VARARGS(R©texpr1R°texpr2texpr3R�(R:R^tn((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitRaiseås



c Csh|i�}|i�}|i�}|io|i�}n|}|i|�|id|�|i|�|iit|f�|i|i �|id�|ii
�|id|�|i |�t |i
�d}x>tt |i
��D]'}|i
|\}} }|i|�|oa|id�|i|�|idd�|i�}
|id|
�|i�|id �n|id �| o|i| �n|id �|id �|i|�|id|�|o|i|
�n |i�|o|id �qôqôW|id
�|io!|i|�|i|i�n|i|�dS( Nt SETUP_EXCEPTRÔRÉiRöRøsexception matchRÇRÈRç(R�RËR©R�R�RzR¯RåR°RÖR×R�R¸thandlersR½( R:R^RÖR&RÌtlElsetlastRÁRúttargettnext((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitTryExceptósZ   








 








cCsã|i�}|i�}|i|�|id|�|i|�|iit|f�|i|i�|id�|ii �|idd�|i|�|iit |f�|i|i �|id�|ii �dS(Nt
SETUP_FINALLYRÔRªRç(
R�R©R�R�RzR¯RæR°RÖR×R.Rçtfinal(R:R^RÖR-((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitTryFinally%s  





cCsÚ|i�}|i�}d|i}|id7_|i|�|i|i�|id�|idd�|id�|idd�|idd �|idjo|id
�n|id |�|id |�|i |�|i
i t |f�|idj o4|id
|�|id|�|i|i�n|i|i
�|id�|i
i�|idd�|i |�|i
i t|f�|id�|id�|i
i�|id8_dS(Ns$value%diRöt LOAD_ATTRt__exit__Rùt __enter__RiRÈR�R,R�R�RÔRªt WITH_CLEANUPRç(R�t_CodeGenerator__with_countR©R°RúR�tvarsR.R¢R�RzR¯RæRÖR×Rç(R:R^RÖR-tvaluevar((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitWith8s>  










cCs.|i|�|i|i�|id�dS(NRÈ(R©R°RúR�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitDiscard\s
cCs|id|i�dS(NRª(R�Rk(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitConstascCs'|id|i�|i|i�dS(NRª(R�RXR°Rú(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitKeyworddscCsdS(N((R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyR`hscCs!|i|�|i|i�dS(N(R©R�RX(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitNamels
cCs|i|�dS(N(R©(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitPasspscCsÑ|i|�|iit�odnd}x�|iD]�\}}tdjo$|id|�|idd�n|id|�|id�d}|o|i |�|i
|�q7|i
|�q7WdS(NiiÿÿÿÿiRªt IMPORT_NAMEt.( R©R�t checkFlagRRUtVERSIONR�R.tsplitt _resolveDotsR�(R:R^tlevelRXRcR)((s*/usr/lib64/python2.6/compiler/pycodegen.pyRdss
 


cCsC|i|�|i}|djo|iit� o
d}ntd�|iD��}tdjo$|id|�|id|�n|id|i �x�|iD]�\}}tdjo]|djod|_
|id�dS|id |�|i |�|i |p|�q¨|id |�q¨W|id
�dS( Niiÿÿÿÿcssx|]\}}|VqWdS(N((t.0RXRc((s*/usr/lib64/python2.6/compiler/pycodegen.pys <genexpr>�s iRªR<t*t IMPORT_STARt IMPORT_FROMRÈ(
R©RBR�R>RttupleRUR?R�tmodnamet namespaceRAR�(R:R^RBtfromlistRXRc((s*/usr/lib64/python2.6/compiler/pycodegen.pyRe�s*
 !




 

cCsP|id�}t|�djodSx"|dD]}|id|�q2WdS(NR=iR/(R@R¸R�(R:RXteltsR\((s*/usr/lib64/python2.6/compiler/pycodegen.pyRA�s  cCs0|i|i�|id|i|i��dS(NR/(R°RúR�R�tattrname(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitGetattr£scCs£|i|�|i|i�t|i�d}xltt|i��D]U}|i|}||jo|id�nt|ti �o|i|�qFqFWdS(NiRö(
R©R°RúR¸R·R½R�RiRtNode(R:R^tdupsRÁR\((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitAssign©s


cCse|idjo|i|i�n>|idjo!|i|�|i|i�n
dG|iGHdS(Nt OP_ASSIGNt OP_DELETEtoops(R6R�RXR©R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyRg´s 
cCs�|i|i�|idjo |id|i|i��nB|idjo |id|i|i��ndG|iGH|GHdS(NRQt
STORE_ATTRRRt DELETE_ATTRswarning: unexpected flags:(R°RúR6R�R�RL(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitAssAttr½s   tUNPACK_SEQUENCEcCsUt|�djo|i|t|i��nx|iD]}|i|�q:WdS(NRR(tfindOpR�R¸R·R°(R:R^RýRí((s*/usr/lib64/python2.6/compiler/pycodegen.pyt_visitAssSequenceÇs

icCs|i|d�dS(Nt UNPACK_TUPLE(RY(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitAssTupleÑscCs|i|d�dS(Nt UNPACK_LIST(RY(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitAssListÔscCsg|i|�t|i�}|i|d�|i|i�|i|i|i�|i|d�dS(Ntloadtstore(R©twrap_augR^R°RúR�t_augmented_opcodeRý(R:R^taug_node((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitAugAssignÙs 
t INPLACE_ADDs+=tINPLACE_SUBTRACTs-=tINPLACE_MULTIPLYs*=tINPLACE_DIVIDEs/=tINPLACE_FLOOR_DIVIDEs//=tINPLACE_MODULOs%=t
INPLACE_POWERs**=tINPLACE_RSHIFTs>>=tINPLACE_LSHIFTs<<=t INPLACE_ANDs&=t INPLACE_XORs^=t
INPLACE_ORs|=cCsF|djo|i|i�n"|djo|i|i�ndS(NR^R_(R�RXR�(R:R^R5((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitAugNameðs

cCs�|djo=|i|i�|id�|id|i|i��n;|djo-|id�|id|i|i��ndS(NR^RöR/R_RùRT(R°RúR�R�RL(R:R^R5((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitAugGetattrös

 

cCsÆ|djo|i|d�n¢|djo�d}|io|dB}n|io|dB}n|djo|id�n,|djo|id�n|id �|id
|�ndS( NR^iR_iiRùitROT_FOURR÷sSTORE_SLICE+%d(t
visitSlicetlowertupperR�(R:R^R5tslice((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitAugSliceÿs






cCsP|djo|i|d�n,|djo|id�|id�ndS(NR^iR_R÷t STORE_SUBSCR(tvisitSubscriptR�(R:R^R5((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitAugSubscripts



cCs�|i|i�|idjo|idd�n|i|i�|idjo|id�n|i|i�|id�dS(NRªRöt EXEC_STMT(R°RúRyR.R�RV(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitExecscCsd}d}|i|�|i|i�xI|iD]>}|i|�t|ti�o|d}q3|d}q3W|idj o|i|i�n|i dj o|i|i �n|idj }|i dj }t
||f}|i ||d>|B�dS(Niii( R©R°R^RRiRtKeywordt star_argsR.t
dstar_argstcallfunc_opcode_infoR�(R:R^tpostkwtargt have_start
have_dstartopcode((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitCallFunc#s$


cCsÃ|i|�|io|i|i�nxn|iD]c}|io|id�n|i|�|io|id�|id�q5|id�q5W|io| o|id�ndS(NRöRùt
PRINT_ITEM_TOt
PRINT_ITEMRÈ(R©tdestR°R·R�(R:R^tnewlineRí((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitPrint7s






cCs?|i|dd�|io|id�n|id�dS(NR�itPRINT_NEWLINE_TOt
PRINT_NEWLINE(R�R�R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitPrintnlGs
cCs.|i|�|i|i�|id�dS(NR¬(R©R°RkR�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitReturnNs
cCs.|i|�|i|i�|id�dS(NR(R©R°RkR�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitYieldSs
cCsB|i|i�d}|io|i|i�|dB}n|io|i|i�|dB}n|oS|djo|id�qÀ|djo|idd�qÀ|idd�n|idjo|id|�nZ|id jo|id
|�n5|id jo|id |�nd
G|iGH�dS(NiiiRöitDUP_TOPXtOP_APPLYsSLICE+%dRQsSTORE_SLICE+%dRRsDELETE_SLICE+%ds weird slice(R°RúRtRuR�R6(R:R^taug_flagRv((s*/usr/lib64/python2.6/compiler/pycodegen.pyRsZs,



 cCsæ|i|i�x|iD]}|i|�qWt|i�djo|idt|i��n|o|idd�n|idjo|id�nC|idjo|id�n"|id jo|id
�ndS( NiRÂR�iR�t
BINARY_SUBSCRRQRxRRt
DELETE_SUBSCR(R°RútsubsR¸R�R6(R:R^R�tsub((s*/usr/lib64/python2.6/compiler/pycodegen.pyRyus
cCs1|i|i�|i|i�|i|�dS(N(R°tlefttrightR�(R:R^Rý((s*/usr/lib64/python2.6/compiler/pycodegen.pytbinaryOp�scCs|i|d�S(Nt
BINARY_ADD(R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitAdd�scCs|i|d�S(NtBINARY_SUBTRACT(R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitSub�scCs|i|d�S(NtBINARY_MULTIPLY(R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitMul�scCs|i||i�S(N(R�R}(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitDiv�scCs|i|d�S(NtBINARY_FLOOR_DIVIDE(R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitFloorDiv�scCs|i|d�S(Nt
BINARY_MODULO(R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitMod�scCs|i|d�S(Nt BINARY_POWER(R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitPower�scCs|i|d�S(Nt
BINARY_LSHIFT(R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitLeftShift scCs|i|d�S(Nt
BINARY_RSHIFT(R�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitRightShift£scCs!|i|i�|i|�dS(N(R°RúR�(R:R^Rý((s*/usr/lib64/python2.6/compiler/pycodegen.pytunaryOp¨scCs|i|d�S(Nt UNARY_INVERT(R­(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitInvert¬scCs|i|d�S(NtUNARY_NEGATIVE(R­(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitUnarySub¯scCs|i|d�S(NtUNARY_POSITIVE(R­(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitUnaryAdd²scCs|i|d�S(NR®(R­(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitUnaryInvertµscCs|i|d�S(Nt UNARY_NOT(R­(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitNot¸scCs|i|d�S(Nt
UNARY_CONVERT(R­(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pytvisitBackquote»scCsD|i|d�x,|dD] }|i|�|i|�qWdS(Nii(R°R�(R:R·RýR^((s*/usr/lib64/python2.6/compiler/pycodegen.pytbitOpÀs
 
cCs|i|id�S(Nt
BINARY_AND(R¹R·(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitBitandÆscCs|i|id�S(Nt BINARY_OR(R¹R·(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitBitorÉscCs|i|id�S(Nt
BINARY_XOR(R¹R·(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitBitxorÌscCs|idt�dS(NRª(R�tEllipsis(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitEllipsisÑscCsK|i|�x|iD]}|i|�qW|idt|i��dS(NRÂ(R©R·R°R�R¸(R:R^R\((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitTupleÔs


cCsK|i|�x|iD]}|i|�qW|idt|i��dS(NRÿ(R©R·R°R�R¸(R:R^R\((s*/usr/lib64/python2.6/compiler/pycodegen.pyt visitListÚs


cCs>x|iD]}|i|�q
W|idt|i��dS(Nt BUILD_SLICE(R·R°R�R¸(R:R^Rí((s*/usr/lib64/python2.6/compiler/pycodegen.pyt
visitSliceobjàs
cCs||i|�|idd�xX|iD]M\}}|id�|i|�|i|�|id�|id�q'WdS(Nt BUILD_MAPiRöR÷Rx(R©R�titemsR°(R:R^tktv((s*/usr/lib64/python2.6/compiler/pycodegen.pyR_ås





N(sRARBRhR R.RtR�R;RuRwR|R@R�R�R~R�R�R�R�R�R¢R§R©RSR®R¹RÄR²R³RaRbRµRfRÑRÚRáRãRëRîRïRñRõRþRR R
RR¼RRRRRR$R+R.R3R6R7R8R9R`R:R;RdReRARMRPRgRVRYR?R[R]RcRaRpRqRwRzR|R�R�R�R�R�RsRyR�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_(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRm¶sø               
         
 
 $
 !    2  $          


   
                                   tNestedScopeMixincBseZdZd�ZRS(s>Defines initClass() for nested scoping (Python 2.2-compatible)cCs(t|i_t|i_t|i_dS(N(RSRvR®tFunctionCodeGeneratorR¹tClassCodeGeneratorRÄ(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyRuñs  (RARBRhRu(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRÊïsREcBs)eZeiZdZd�Zd�ZRS(cCsEtid|i�|_ti|�|_|i�t||�dS(Ns<module>( Rt PyFlowGraphR%R�Rt find_futuresRt _ModuleCodeGenerator__super_initR(R:R>((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;ûs
cCs|S(N((R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR~sN(RARBRmR;RÏR.R�R~(((s*/usr/lib64/python2.6/compiler/pycodegen.pyREös  RCcBs/eZeiZdZdZd�Zd�ZRS(cCs3tid|i�|_|i�t||�dS(Ns <expression>(RRÍR%R�t$_ExpressionCodeGenerator__super_initR(R:R>((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;
s
cCs|S(N((R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR~sN(( RARBRmR;RÐR.R�RR~(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRCs
  RDcBs8eZeiZdZdZd�Zd�Zd�Z RS(cCsMtid|i�|_|i�|i|�t||�|id�dS(Ns
<interactive>R¬(RRÍR%R�t%_InteractiveCodeGenerator__super_initR©RR�(R:R>((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;s



cCs|S(N((R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR~ scCs!|i|i�|id�dS(Nt
PRINT_EXPR(R°RúR�(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyR7#sN((
RARBRmR;RÑR.R�RR~R7(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRDs    tAbstractFunctionCodecBsGeZdZdZd�Zd�Zd�Zd�Zd�ZeZ RS(iic CsW||_||_|o't}d|i}|id|_n
|i}t|i�\}} ti||i |dd�|_
||_ |i �| o|i
o|i|i
�nt|i|i|�dd�}
|ii|
i��|io|i
it�n|io|i
it�n|i|�| o|i|i�ndS(Ns <lambda.%d>iR R«i(R�tmoduleRËt lambdaCountRXtgenerateArgListtargnamesRRÍR%R�R´t
super_initR­R�RR3R®RyR¯R]tvarargsR�R
tkwargsRR©tgenerateArgUnpack( R:tfuncR�R´R�R)tklassRXRt hasTupleArgR±((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;-s.  
   
!


cCs|iS(N(RÔ(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR~JscCs<|ii�|ip|idd�n|id�dS(NRªR¬(R�tstartExitBlockR´R�R.(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyRºMs

cCsdx]tt|��D]I}||}t|t�o)|idd|d�|i|�qqWdS(Nt LOAD_FASTs.%di(R½R¸RiRGR�tunpackSequence(R:RRÁR�((s*/usr/lib64/python2.6/compiler/pycodegen.pyRÛSs 
cCs�tdjo|idt|��n|idt|��x?|D]7}t|t�o|i|�qD|id|�qDWdS(NiRWRZR�(R?R�R¸RiRGRáR�(R:ttupR\((s*/usr/lib64/python2.6/compiler/pycodegen.pyRáZs
(
RARBR RÕR;R~RºRÛRát unpackTuple(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRÓ)s     RËcBs)eZeiZdZeiZd�ZRS(cCs�||_|||_|i|||||�|ii|ii��|ii|ii��|iidj o|ii
t �ndS(N( R�R�t"_FunctionCodeGenerator__super_initR�t setFreeVarsRt setCellVarst
get_cell_varst generatorR.R�R(R:RÜR�R´R�R)((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;ns 
N( RARBRmR;RØR.R�RÓRä(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRËgs  RcBs)eZeiZdZeiZd�ZRS(cCsu||_|||_|i||d||�|ii|ii��|ii|ii��|iit �dS(Ni(
R�R�t!_GenExprCodeGenerator__super_initR�RåRRæRçR�R(R:tgexpR�R�R)((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;~s  
N( RARBRmR;RØR.R�RÓRé(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRws  tAbstractClassCodecBs#eZd�Zd�Zd�ZRS(cCs¬|i|_||_ti|i|idddd�|_|i�t|i |i
�dd�}|i i |i
��|iit�|io|i|i�ndS(NR iRÝiR«(RXR�RÔRRÍR%R�RØRR3R®RyR¯R]R�RR­R�(R:RÝR�RÔR±((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;�s  

cCs|iS(N(RÔ(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR~�scCs+|ii�|id�|id�dS(Nt LOAD_LOCALSR¬(R�RßR�(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyRº�s

(RARBR;R~Rº(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRë�s RÌcBs)eZeiZdZeiZd�ZRS(cCs·||_|||_|i|||�|ii|ii��|ii|ii��|i|�|i dd�|i
d�|i o$|i d|i �|i
d�ndS(Nt LOAD_GLOBALRARBRªRh( R�R�t_ClassCodeGenerator__super_initR�RåRRæRçR©R�R�R­(R:RÝR�RÔ((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;¢s 



N( RARBRmR;RØR.R�RëRî(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRÌ�s  cCsÂg}g}d}x�tt|��D]�}||}t|t�o|i|�q%t|t�o>|it|d|��|iti |��|d}q%t
d|�q%W|||fS(s&Generate an arg list marking TupleArgsiiisunexpect argument type:( R½R¸RitstrtappendRGRtextendRtflattenR2(targlistRtextratcountRÁR\((s*/usr/lib64/python2.6/compiler/pycodegen.pyRÖ¯s
cCs#t�}t||dd�|iS(s5Find the op (DELETE, LOAD, STORE) in an AssTuple treeR«i(tOpFinderRRý(R^RÉ((s*/usr/lib64/python2.6/compiler/pycodegen.pyRXÀs RöcBs&eZd�Zd�ZeZeZRS(cCs
d|_dS(N(R.Rý(R:((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;ÇscCsD|idjo|i|_n!|i|ijo
td�ndS(Nsmixed ops in stmt(RýR.R6R2(R:R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyRgÉs(RARBR;RgRVRy(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRöÆs  t DelegatorcBs eZdZd�Zd�ZRS(sBase class to support delegation for augmented assignment nodes

To generator code for augmented assignments, we use the following
wrapper classes. In visitAugAssign, the left-hand expression node
is visited twice. The first time the visit uses the normal method
for that node . The second time the visit uses a different method
that generates the appropriate code to perform the assignment.
These delegator classes wrap the original AST nodes in order to
support the variant visit methods.
cCs
||_dS(N(tobj(R:Rø((s*/usr/lib64/python2.6/compiler/pycodegen.pyR;ÜscCst|i|�S(N(R¥Rø(R:tattr((s*/usr/lib64/python2.6/compiler/pycodegen.pyt __getattr__ßs(RARBRhR;Rú(((s*/usr/lib64/python2.6/compiler/pycodegen.pyR÷Ñs
 t
AugGetattrcBseZRS((RARB(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRûâstAugNamecBseZRS((RARB(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRüåstAugSlicecBseZRS((RARB(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRýèst AugSubscriptcBseZRS((RARB(((s*/usr/lib64/python2.6/compiler/pycodegen.pyRþëscCst|i|�S(N(twrapperRv(R^((s*/usr/lib64/python2.6/compiler/pycodegen.pyR`õst__main__(LRQRJRIRMtsyst cStringIORtcompilerRRRRRRRRtcompiler.constsR R
R R R
RRRRRRRRtcompiler.pyassemRt version_infoR?tAttributeErrorR�RÕRåRæRçR*R.R"R9R1R0R!RSRlRmRÊRERCRDRÓRËRRëRÌRÖRXRöR÷RûRüRýRþtGetattrtNametSlicet SubscriptRÿR`RAtargvtfile(((s*/usr/lib64/python2.6/compiler/pycodegen.pyt<module>s�     """@ 


   + ÿÿÿÿ=>