<s> class ProxyType : <EOL> def __init__ ( self , obj ) : <EOL> self . obj = obj <EOL> CallableProxyType = ProxyType <EOL> ProxyTypes = [ ProxyType , CallableProxyType ] <EOL> class ReferenceType : <EOL> def __init__ ( self , obj , callback ) : <EOL> self . obj = obj <EOL> self . callback = callback <EOL> class ref : <EOL> def __init__ ( self , obj , callback = None ) : <EOL> self . obj = ReferenceType ( obj , callback ) <EOL> self . callback = callback <EOL> def __call__ ( self ) : <EOL> return self . obj . obj <EOL> def getweakrefcount ( obj ) : <EOL> return <NUM_LIT:1> <EOL> def getweakrefs ( obj ) : <EOL> return obj <EOL> def proxy ( obj , callback = None ) : <EOL> return ProxyType ( obj ) </s>
