Module Import alias Import alias ImportFrom alias alias Import alias Import alias Import alias Import alias Import alias Assign NameStore Call AttributeLoad NameLoad attr Str BinOpBitOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr ClassDef bases body Expr Str FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr Str Str decorator_list FunctionDef arguments args NameParam defaults body Return Call AttributeLoad Call AttributeLoad NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr Str Return BinOpMod Str TupleLoad Call NameLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Str body Assign NameStore BinOpMod Str TupleLoad NameLoad SubscriptLoad NameLoad Index Num If CompareEq Call NameLoad NameLoad Num body Assign NameStore BinOpMod Str TupleLoad NameLoad SubscriptLoad NameLoad Index Num orelse Assign NameStore BinOpMod Str TupleLoad NameLoad SubscriptLoad NameLoad Index Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Return TupleLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return BinOpMod Str TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Str body Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Str body Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListLoad For TupleStore NameStore NameStore NameLoad body Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq NameLoad Num body Continue Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr For NameStore NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad NameLoad If CompareEq Call NameLoad NameLoad Num body Return Str orelse Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam NameParam defaults Str body If CompareGt Call NameLoad NameLoad Num body Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad orelse Assign NameStore BinOpMod Str AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr If CompareEq Call NameLoad NameLoad Num body Return Str orelse Assign NameStore ListLoad For TupleStore NameStore NameStore NameLoad body Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad NameLoad NameLoad orelse Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad NameLoad NameLoad Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad NameLoad Return Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq NameLoad Num body Return NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr If CompareEq SubscriptLoad NameLoad Index Num Str body If CompareEq Call NameLoad SubscriptLoad NameLoad Index Num Num body Assign NameStore SubscriptLoad NameLoad Index Num orelse Assign NameStore BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num orelse Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Assign NameStore ListLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str SubscriptLoad NameLoad Index Num Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index Num If CompareNotEq SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num NameLoad Return TupleLoad Call AttributeLoad Str attr NameLoad Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq NameLoad Num body Return NameLoad Return SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq NameLoad Num body Return NameLoad Return SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq NameLoad Num body Return NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr If BoolOpOr CompareEq Call NameLoad SubscriptLoad NameLoad Index Num Num CompareEq SubscriptLoad NameLoad Index Num Str body If CompareEq Call NameLoad SubscriptLoad NameLoad Index Num Num body Assign NameStore SubscriptLoad NameLoad Index Num orelse Assign NameStore BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num orelse Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Assign NameStore ListLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str SubscriptLoad NameLoad Index Num Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index Num If CompareNotEq SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num NameLoad Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq NameLoad Num body Return NameLoad orelse Return Call AttributeLoad NameLoad attr SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Str body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad If CompareNotEq NameLoad Str body Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListLoad For NameStore NameLoad body If CompareEq SubscriptLoad NameLoad Index Num Str body If CompareEq SubscriptLoad NameLoad Index Num Str body Assign NameStore SubscriptLoad NameLoad Index Num orelse Assign NameStore BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num orelse Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Assign NameStore BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num NameLoad Assign NameStore Call NameLoad Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index Num If CompareNotEq SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num body Assign NameStore BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num NameLoad orelse Assign NameStore Str Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad NameLoad NameLoad NameLoad Call NameLoad Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num NameLoad NameLoad Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults Str body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareNotEq NameLoad Str body Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq NameLoad Num body Return NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListLoad For NameStore NameLoad body If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad orelse If BoolOpAnd CompareEq Call AttributeLoad NameLoad attr Str CompareNotEq SubscriptLoad NameLoad Index Num Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num Call NameLoad Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index Num If CompareEq Call NameLoad NameLoad Num body Return Str orelse Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Return Call AttributeLoad Str attr ListComp BinOpMod Str NameLoad comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Assign NameStore BinOpMod Str AttributeLoad NameLoad attr If CompareNotEq NameLoad NameLoad body Assign NameStore BinOpAdd NameLoad BinOpMod Str Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpAdd NameLoad Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Return Call AttributeLoad Str attr ListComp BinOpMod Str TupleLoad NameLoad NameLoad comprehension TupleStore NameStore NameStore NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad If CompareEq NameLoad Str body Assign NameStore BinOpMod Str TupleLoad NameLoad SubscriptLoad NameLoad Index Num If CompareEq Call NameLoad NameLoad Num body Assign NameStore BinOpMod Str TupleLoad NameLoad SubscriptLoad NameLoad Index Num orelse Assign NameStore BinOpMod Str TupleLoad NameLoad SubscriptLoad NameLoad Index Num If CompareEq Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Num body Return NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListLoad For NameStore NameLoad body If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad orelse If BoolOpAnd CompareEq Call AttributeLoad NameLoad attr Str CompareNotEq SubscriptLoad NameLoad Index Num Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num Call NameLoad Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str orelse If CompareEq Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Index Num AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index Num If CompareEq Call NameLoad NameLoad Num body Return Str orelse Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults Str body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr NameLoad Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad Num attr Assign NameStore Call AttributeLoad SubscriptLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad Num attr Index Num attr If CompareNotEq NameLoad Str body Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq NameLoad Num body Assign NameStore Num orelse Assign NameStore SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num Assign NameStore Str orelse Assign NameStore Num Assign NameStore NameLoad If CompareNotEq Call AttributeLoad NameLoad attr Str Num body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad Num attr Assign TupleStore NameStore NameStore Call AttributeLoad Call AttributeLoad SubscriptLoad NameLoad Index Num attr attr Str Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq NameLoad Num body Return NameLoad Assign NameStore SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num orelse Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr If UnaryOpNot NameLoad body Return NameLoad orelse Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad body Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return NameLoad orelse If CompareNotEq Call AttributeLoad NameLoad attr Str Num body Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad orelse Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareNotEq NameLoad Num body Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareEq Call AttributeLoad NameLoad attr Str Num body Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return Num decorator_list decorator_list
N/A N/A MySQLdb N/A time mimify mime_encode_header mime_decode_header N/A re N/A settings N/A md5 N/A mime N/A strutil N/A q_quote_multiline N/A N/A re compile =\?(.*?)\?[qQ]\?(.*?)\?=.*?=\?\1\?[qQ]\?(.*?)\?= N/A N/A re M N/A re S N/A doubleline_regexp N/A N/A re compile ^\.\. N/A re M N/A singleline_regexp N/A N/A re compile ^\. N/A re M N/A from_regexp N/A N/A re compile ^From:(.*)<(.*)> N/A re M N/A subject_regexp N/A N/A re compile ^Subject:(.*) N/A re M N/A references_regexp N/A N/A re compile ^References:(.*)<(.*)> N/A re M N/A lines_regexp N/A N/A re compile ^Lines:(.*) N/A re M Papercut_Storage N/A N/A N/A 
    Storage Backend interface for the Phorum web message board software (http://phorum.org)
    
    This is the interface for Phorum running on a MySQL database. For more information
    on the structure of the 'storage' package, please refer to the __init__.py
    available on the 'storage' sub-directory.
     __init__ N/A N/A self N/A N/A N/A N/A self conn N/A N/A MySQLdb connect host N/A settings dbhost db N/A settings dbname user N/A settings dbuser passwd N/A settings dbpass N/A N/A self cursor N/A N/A N/A self conn cursor N/A get_message_body N/A N/A self headers N/A N/A N/A Parses and returns the most appropriate message body possible.
        
        The function tries to extract the plaintext version of a MIME based
        message, and if it is not available then it returns the html version.        
         N/A N/A N/A mime get_text_message headers N/A quote_string N/A N/A self text N/A N/A N/A Quotes strings the MySQL way. N/A N/A N/A text replace ' \' N/A make_bbcode_uid N/A N/A self N/A N/A N/A N/A N/A N/A N/A md5 new N/A str N/A N/A time clock hexdigest N/A encode_ip N/A N/A self dotquad_ip N/A N/A N/A t N/A N/A dotquad_ip split . N/A N/A %02x%02x%02x%02x N/A N/A int N/A t N/A 0 N/A int N/A t N/A 1 N/A int N/A t N/A 2 N/A int N/A t N/A 3 N/A group_exists N/A N/A self group_name N/A N/A N/A stmt N/A 
                SELECT
                    COUNT(*) AS total
                FROM
                    %sforums
                WHERE
                    LOWER(nntp_group_name)=LOWER('%s') N/A N/A settings phpbb_table_prefix group_name N/A N/A N/A N/A self cursor execute stmt N/A N/A N/A N/A N/A self cursor fetchone N/A 0 N/A article_exists N/A N/A self group_name style range N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A stmt N/A 
                SELECT
                    COUNT(*) AS total
                FROM
                    %sposts
                WHERE
                    forum_id=%s N/A N/A settings phpbb_table_prefix forum_id N/A N/A style range N/A N/A stmt N/A %s AND post_id > %s N/A stmt N/A range N/A 0 N/A N/A N/A len range 2 N/A N/A stmt N/A %s AND post_id < %s N/A stmt N/A range N/A 1 N/A N/A stmt N/A %s AND post_id = %s N/A stmt N/A range N/A 0 N/A N/A N/A N/A self cursor execute stmt N/A N/A N/A N/A N/A self cursor fetchone N/A 0 N/A get_first_article N/A N/A self group_name N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A stmt N/A 
                SELECT
                    IF(MIN(post_id) IS NULL, 0, MIN(post_id)) AS first_article
                FROM
                    %sposts
                WHERE
                    forum_id=%s N/A N/A settings phpbb_table_prefix forum_id N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A N/A N/A N/A self cursor fetchone N/A 0 N/A get_group_stats N/A N/A self group_name N/A N/A N/A N/A total max min N/A N/A self get_forum_stats N/A N/A self get_forum group_name N/A N/A total min max group_name N/A get_forum_stats N/A N/A self forum_id N/A N/A N/A stmt N/A 
                SELECT
                   COUNT(post_id) AS total,
                   IF(MAX(post_id) IS NULL, 0, MAX(post_id)) AS maximum,
                   IF(MIN(post_id) IS NULL, 0, MIN(post_id)) AS minimum
                FROM
                    %sposts
                WHERE
                    forum_id=%s N/A N/A settings phpbb_table_prefix forum_id N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A N/A N/A self cursor fetchone N/A get_forum N/A N/A self group_name N/A N/A N/A stmt N/A 
                SELECT
                    forum_id
                FROM
                    %sforums
                WHERE
                    nntp_group_name='%s' N/A N/A settings phpbb_table_prefix group_name N/A N/A N/A N/A self cursor execute stmt N/A N/A N/A N/A N/A self cursor fetchone N/A 0 N/A get_message_id N/A N/A self msg_num group N/A N/A N/A N/A <%s@%s> N/A msg_num group N/A get_NEWGROUPS N/A N/A self ts group N/A % N/A N/A None N/A get_NEWNEWS N/A N/A self ts group N/A * N/A N/A stmt N/A 
                SELECT
                    nntp_group_name,
                    forum_id
                FROM
                    %sforums
                WHERE
                    nntp_group_name LIKE '%s'
                ORDER BY
                    nntp_group_name ASC N/A N/A settings phpbb_table_prefix N/A N/A group replace * % N/A N/A N/A N/A self cursor execute stmt N/A result N/A list N/A N/A N/A self cursor fetchall N/A articles N/A N/A N/A group_name forum_id result N/A N/A stmt N/A 
                    SELECT
                        post_id
                    FROM
                        %sposts
                    WHERE
                        forum_id=%s AND
                        post_time >= %s N/A N/A settings phpbb_table_prefix forum_id ts N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A num_rows 0 N/A N/A N/A ids N/A list N/A N/A N/A self cursor fetchall N/A id ids N/A N/A N/A N/A articles append N/A <%s@%s> N/A id group_name N/A N/A N/A len articles 0 N/A N/A N/A N/A N/A N/A join articles N/A get_GROUP N/A N/A self group_name N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A result N/A N/A self get_forum_stats forum_id N/A N/A N/A result N/A 0 N/A result N/A 2 N/A result N/A 1 N/A get_LIST N/A N/A self username N/A N/A N/A N/A N/A len username 0 N/A N/A stmt N/A 
                   SELECT
                       DISTINCT f.nntp_group_name,
                       f.forum_id
                   FROM
                       %sforums AS f
                   INNER JOIN
                       %sauth_access AS aa
                   ON
                       f.forum_id=aa.forum_id
                   INNER JOIN
                       %suser_group AS ug
                   ON
                       aa.group_id=ug.group_id
                   INNER JOIN
                       %susers AS u
                   ON
                       ug.user_id=u.user_id
                   WHERE
                       u.username='%s' AND
                       LENGTH(f.nntp_group_name) > 0 OR
                       f.auth_view = 0 N/A N/A settings phpbb_table_prefix N/A settings phpbb_table_prefix N/A settings phpbb_table_prefix N/A settings phpbb_table_prefix username N/A N/A stmt N/A 
                   SELECT
                       nntp_group_name,
                       forum_id
                   FROM
                       %sforums
                   WHERE
                       LENGTH(nntp_group_name) > 0 AND auth_view=0
                   ORDER BY
                       nntp_group_name ASC N/A settings phpbb_table_prefix N/A N/A N/A N/A self cursor execute stmt N/A result N/A list N/A N/A N/A self cursor fetchall N/A N/A N/A len result 0 N/A N/A N/A N/A lists N/A N/A N/A group_name forum_id result N/A N/A N/A total maximum minimum N/A N/A self get_forum_stats forum_id N/A N/A N/A settings server_type read-only N/A N/A N/A N/A lists append N/A %s %s %s n N/A group_name maximum minimum N/A N/A N/A N/A lists append N/A %s %s %s y N/A group_name maximum minimum N/A N/A N/A join lists N/A get_STAT N/A N/A self group_name id N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A stmt N/A 
                SELECT
                    post_id
                FROM
                    %sposts
                WHERE
                    forum_id=%s AND
                    post_id=%s N/A N/A settings phpbb_table_prefix forum_id id N/A N/A N/A N/A self cursor execute stmt N/A get_ARTICLE N/A N/A self group_name id N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A prefix N/A settings phpbb_table_prefix N/A stmt N/A 
                SELECT
                    A.post_id,
                    C.username,
                    C.user_email,
                    CASE WHEN B.post_subject = '' THEN CONCAT('Re: ', E.topic_title) ELSE B.post_subject END,
                    A.post_time,
                    B.post_text,
                    A.topic_id,
                    A.post_username,
                    MIN(D.post_id)
                FROM
                    %sposts A,
                    %sposts_text B
                INNER JOIN
                    %sposts D
                ON
                    D.topic_id=A.topic_id
                INNER JOIN
                    %stopics E
                ON
                    A.topic_id = E.topic_id
                LEFT JOIN
                    %susers C
                ON
                    A.poster_id=C.user_id
                WHERE
                    A.forum_id=%s AND
                    A.post_id=B.post_id AND
                    A.post_id=%s
                GROUP BY
                    D.topic_id N/A prefix prefix prefix prefix prefix forum_id id N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A num_rows 0 N/A N/A None N/A result N/A list N/A N/A N/A self cursor fetchone N/A N/A N/A result N/A 7 N/A N/A N/A N/A len N/A result N/A 2 0 N/A N/A author N/A result N/A 1 N/A N/A author N/A %s <%s> N/A N/A result N/A 1 N/A result N/A 2 N/A N/A author N/A result N/A 7 N/A formatted_time N/A N/A strutil get_formatted_time N/A N/A time localtime N/A result N/A 4 N/A headers N/A N/A N/A N/A headers append N/A Path: %s N/A settings nntp_hostname N/A N/A N/A headers append N/A From: %s author N/A N/A N/A headers append N/A Newsgroups: %s group_name N/A N/A N/A headers append N/A Date: %s formatted_time N/A N/A N/A headers append N/A Subject: %s N/A result N/A 3 N/A N/A N/A headers append N/A Message-ID: <%s@%s> N/A N/A result N/A 0 group_name N/A N/A N/A headers append N/A Xref: %s %s:%s N/A N/A settings nntp_hostname group_name N/A result N/A 0 N/A N/A N/A result N/A 8 N/A result N/A 0 N/A N/A N/A N/A headers append N/A References: <%s@%s> N/A N/A result N/A 8 group_name N/A N/A N/A N/A join headers N/A N/A strutil format_body N/A result N/A 5 N/A get_LAST N/A N/A self group_name current_id N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A stmt N/A 
                SELECT
                    post_id
                FROM
                    %sposts
                WHERE
                    post_id < %s AND
                    forum_id=%s
                ORDER BY
                    post_id DESC
                LIMIT 0, 1 N/A N/A settings phpbb_table_prefix current_id forum_id N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A num_rows 0 N/A N/A None N/A N/A N/A N/A N/A self cursor fetchone N/A 0 N/A get_NEXT N/A N/A self group_name current_id N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A stmt N/A 
                SELECT
                    post_id
                FROM
                    %sposts
                WHERE
                    forum_id=%s AND
                    post_id > %s
                ORDER BY
                    post_id ASC
                LIMIT 0, 1 N/A N/A settings phpbb_table_prefix forum_id current_id N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A num_rows 0 N/A N/A None N/A N/A N/A N/A N/A self cursor fetchone N/A 0 N/A get_HEAD N/A N/A self group_name id N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A prefix N/A settings phpbb_table_prefix N/A stmt N/A 
                SELECT
                    A.post_id,
                    C.username,
                    C.user_email,
                    CASE WHEN B.post_subject = '' THEN CONCAT('Re: ', E.topic_title) ELSE B.post_subject END,
                    A.post_time,
                    A.topic_id,
                    A.post_username,
                    MIN(D.post_id)
                FROM
                    %sposts A,
                    %sposts_text B
                INNER JOIN
                    %stopics E
                ON
                    A.topic_id = E.topic_id
                INNER JOIN
                    %sposts D
                ON
                    D.topic_id=A.topic_id
                LEFT JOIN
                    %susers C
                ON
                    A.poster_id=C.user_id
                WHERE
                    A.forum_id=%s AND
                    A.post_id=B.post_id AND
                    A.post_id=%s
                GROUP BY
                    D.topic_id N/A prefix prefix prefix prefix prefix forum_id id N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A num_rows 0 N/A N/A None N/A result N/A list N/A N/A N/A self cursor fetchone N/A N/A N/A N/A len N/A result N/A 6 0 N/A N/A result N/A 6 N/A N/A N/A N/A len N/A result N/A 2 0 N/A N/A author N/A result N/A 1 N/A N/A author N/A %s <%s> N/A N/A result N/A 1 N/A result N/A 2 N/A N/A author N/A result N/A 6 N/A formatted_time N/A N/A strutil get_formatted_time N/A N/A time localtime N/A result N/A 4 N/A headers N/A N/A N/A N/A headers append N/A Path: %s N/A settings nntp_hostname N/A N/A N/A headers append N/A From: %s author N/A N/A N/A headers append N/A Newsgroups: %s group_name N/A N/A N/A headers append N/A Date: %s formatted_time N/A N/A N/A headers append N/A Subject: %s N/A result N/A 3 N/A N/A N/A headers append N/A Message-ID: <%s@%s> N/A N/A result N/A 0 group_name N/A N/A N/A headers append N/A Xref: %s %s:%s N/A N/A settings nntp_hostname group_name N/A result N/A 0 N/A N/A N/A result N/A 7 N/A result N/A 0 N/A N/A N/A N/A headers append N/A References: <%s@%s> N/A N/A result N/A 7 group_name N/A N/A N/A join headers N/A get_BODY N/A N/A self group_name id N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A prefix N/A settings phpbb_table_prefix N/A stmt N/A 
                SELECT
                    B.post_text
                FROM
                    %sposts A,
                    %sposts_text B
                WHERE
                    A.post_id=B.post_id AND
                    A.forum_id=%s AND
                    A.post_id=%s N/A prefix prefix forum_id id N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A num_rows 0 N/A N/A None N/A N/A N/A N/A strutil format_body N/A N/A N/A N/A self cursor fetchone N/A 0 N/A get_XOVER N/A N/A self group_name start_id end_id N/A ggg N/A N/A forum_id N/A N/A self get_forum group_name N/A prefix N/A settings phpbb_table_prefix N/A stmt N/A 
                SELECT
                    A.post_id,
                    A.topic_id,
                    C.username,
                    C.user_email,
                    CASE WHEN B.post_subject = '' THEN CONCAT('Re: ', D.topic_title) ELSE B.post_subject END,
                    A.post_time,
                    B.post_text,
                    A.post_username
                FROM
                    %sposts A, 
                    %sposts_text B
                LEFT JOIN
                    %susers C
                ON
                    A.poster_id=C.user_id
                LEFT JOIN
                    %stopics D
                ON
                    A.topic_id = D.topic_id
                WHERE
                    A.post_id=B.post_id AND
                    A.forum_id=%s AND
                    A.post_id >= %s N/A prefix prefix prefix prefix forum_id start_id N/A N/A end_id ggg N/A N/A stmt N/A %s AND A.post_id <= %s N/A stmt end_id N/A N/A N/A N/A self cursor execute stmt N/A result N/A list N/A N/A N/A self cursor fetchall N/A overviews N/A N/A row result N/A N/A N/A N/A row N/A 7 N/A N/A N/A N/A row N/A 3 N/A N/A author N/A row N/A 2 N/A N/A author N/A %s <%s> N/A N/A row N/A 2 N/A row N/A 3 N/A N/A author N/A row N/A 7 N/A formatted_time N/A N/A strutil get_formatted_time N/A N/A time localtime N/A row N/A 5 N/A message_id N/A <%s@%s> N/A N/A row N/A 0 group_name N/A line_count N/A len N/A N/A N/A row N/A 6 split N/A xref N/A Xref: %s %s:%s N/A N/A settings nntp_hostname group_name N/A row N/A 0 N/A N/A N/A row N/A 1 N/A row N/A 0 N/A N/A reference N/A <%s@%s> N/A N/A row N/A 1 group_name N/A N/A reference N/A N/A N/A overviews append N/A %s	%s	%s	%s	%s	%s	%s	%s	%s N/A N/A row N/A 0 N/A row N/A 4 author formatted_time message_id reference N/A len N/A N/A strutil format_body N/A row N/A 6 line_count xref N/A N/A N/A join overviews N/A get_XPAT N/A N/A self group_name header pattern start_id end_id N/A ggg N/A N/A forum_id N/A N/A self get_forum group_name N/A prefix N/A settings phpbb_table_prefix N/A stmt N/A 
                SELECT
                    A.post_id,
                    A.topic_id,
                    C.username,
                    C.user_email,
                    CASE WHEN B.post_subject = '' THEN CONCAT('Re: ', D.topic_title) ELSE B.post_subject END,
                    A.post_time,
                    B.post_text,
                    A.post_username
                FROM
                    %sposts A, 
                    %sposts_text B
                LEFT JOIN
                    %susers C
                ON
                    A.poster_id=C.user_id
                LEFT JOIN
                    %stopics D
                ON
                    A.topic_id = D.topic_id
                WHERE
                    A.forum_id=%s AND
                    %s REGEXP '%s' AND
                    A.post_id = B.post_id AND
                    A.post_id >= %s N/A prefix prefix prefix prefix forum_id header N/A N/A strutil format_wildcards pattern start_id N/A N/A end_id ggg N/A N/A stmt N/A %s AND A.post_id <= %s N/A stmt end_id N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A num_rows 0 N/A N/A None N/A result N/A list N/A N/A N/A self cursor fetchall N/A hdrs N/A N/A row result N/A N/A N/A N/A N/A header upper SUBJECT N/A N/A N/A N/A hdrs append N/A %s %s N/A N/A row N/A 0 N/A row N/A 4 N/A N/A N/A N/A N/A header upper FROM N/A N/A N/A N/A hdrs append N/A %s %s <%s> N/A N/A row N/A 0 N/A row N/A 2 N/A row N/A 3 N/A N/A N/A N/A N/A header upper DATE N/A N/A N/A N/A hdrs append N/A %s %s N/A N/A row N/A 0 N/A N/A strutil get_formatted_time N/A N/A time localtime N/A result N/A 5 N/A N/A N/A N/A N/A header upper MESSAGE-ID N/A N/A N/A N/A hdrs append N/A %s <%s@%s> N/A N/A row N/A 0 N/A row N/A 0 group_name N/A N/A N/A N/A N/A N/A header upper REFERENCES N/A N/A row N/A 1 0 N/A N/A N/A N/A hdrs append N/A %s <%s@%s> N/A N/A row N/A 0 N/A row N/A 1 group_name N/A N/A N/A N/A N/A header upper BYTES N/A N/A N/A N/A hdrs append N/A %s %s N/A N/A row N/A 0 N/A len N/A row N/A 6 N/A N/A N/A N/A N/A header upper LINES N/A N/A N/A N/A hdrs append N/A %s %s N/A N/A row N/A 0 N/A len N/A N/A N/A row N/A 6 split N/A N/A N/A N/A N/A header upper XREF N/A N/A N/A N/A hdrs append N/A %s %s %s:%s N/A N/A row N/A 0 N/A settings nntp_hostname group_name N/A row N/A 0 N/A N/A N/A len hdrs 0 N/A N/A N/A N/A N/A N/A join hdrs N/A get_LISTGROUP N/A N/A self group_name N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A stmt N/A 
                SELECT
                    post_id
                FROM
                    %sposts
                WHERE
                    forum_id=%s
                ORDER BY
                    post_id ASC N/A N/A settings phpbb_table_prefix forum_id N/A N/A N/A N/A self cursor execute stmt N/A result N/A list N/A N/A N/A self cursor fetchall N/A N/A N/A join N/A N/A %s k N/A k result N/A get_XGTITLE N/A N/A self pattern N/A None N/A N/A stmt N/A 
                SELECT
                    nntp_group_name,
                    forum_desc
                FROM
                    %sforums
                WHERE
                    LENGTH(nntp_group_name) > 0 N/A settings phpbb_table_prefix N/A N/A pattern None N/A N/A stmt N/A stmt N/A  AND
                    nntp_group_name REGEXP '%s' N/A N/A strutil format_wildcards pattern N/A stmt N/A stmt 
                ORDER BY
                    nntp_group_name ASC N/A N/A N/A N/A self cursor execute stmt N/A result N/A list N/A N/A N/A self cursor fetchall N/A N/A N/A join N/A N/A %s %s N/A k v N/A N/A k v result N/A get_XHDR N/A N/A self group_name header style range N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A prefix N/A settings phpbb_table_prefix N/A stmt N/A 
                SELECT
                    A.post_id,
                    A.topic_id,
                    D.username,
                    D.user_email,
                    CASE WHEN B.post_subject = '' THEN CONCAT('Re: ', C.topic_title) ELSE B.post_subject END,
                    A.post_time,
                    B.post_text,
                    A.post_username
                FROM
                    %sposts A,
                    %sposts_text B
                LEFT JOIN
                    %stopics C
                ON
                    A.topic_id = C.topic_id
                LEFT JOIN
                    %susers D
                ON
                    A.poster_id=D.user_id
                WHERE
                    A.forum_id=%s AND
                    A.post_id = B.post_id AND  N/A prefix prefix prefix prefix forum_id N/A N/A style range N/A N/A stmt N/A %s A.post_id >= %s N/A stmt N/A range N/A 0 N/A N/A N/A len range 2 N/A N/A stmt N/A %s AND A.post_id <= %s N/A stmt N/A range N/A 1 N/A N/A stmt N/A %s A.post_id = %s N/A stmt N/A range N/A 0 N/A N/A N/A N/A N/A self cursor execute stmt 0 N/A N/A None N/A result N/A N/A N/A self cursor fetchall N/A hdrs N/A N/A row result N/A N/A N/A N/A N/A header upper SUBJECT N/A N/A N/A N/A hdrs append N/A %s %s N/A N/A row N/A 0 N/A row N/A 4 N/A N/A N/A N/A N/A header upper FROM N/A N/A N/A N/A hdrs append N/A %s %s <%s> N/A N/A row N/A 0 N/A row N/A 2 N/A row N/A 3 N/A N/A N/A N/A N/A header upper DATE N/A N/A N/A N/A hdrs append N/A %s %s N/A N/A row N/A 0 N/A N/A strutil get_formatted_time N/A N/A time localtime N/A result N/A 5 N/A N/A N/A N/A N/A header upper MESSAGE-ID N/A N/A N/A N/A hdrs append N/A %s <%s@%s> N/A N/A row N/A 0 N/A row N/A 0 group_name N/A N/A N/A N/A N/A N/A header upper REFERENCES N/A N/A row N/A 1 0 N/A N/A N/A N/A hdrs append N/A %s <%s@%s> N/A N/A row N/A 0 N/A row N/A 1 group_name N/A N/A N/A N/A N/A header upper BYTES N/A N/A N/A N/A hdrs append N/A %s %s N/A N/A row N/A 0 N/A len N/A row N/A 6 N/A N/A N/A N/A N/A header upper LINES N/A N/A N/A N/A hdrs append N/A %s %s N/A N/A row N/A 0 N/A len N/A N/A N/A row N/A 6 split N/A N/A N/A N/A N/A header upper XREF N/A N/A N/A N/A hdrs append N/A %s %s %s:%s N/A N/A row N/A 0 N/A settings nntp_hostname group_name N/A row N/A 0 N/A N/A N/A len hdrs 0 N/A N/A N/A N/A N/A N/A join hdrs N/A do_POST N/A N/A self group_name lines ip_address username N/A N/A N/A forum_id N/A N/A self get_forum group_name N/A prefix N/A settings phpbb_table_prefix N/A lines N/A mime_decode_header N/A N/A re sub q_quote_multiline =?\1?Q?\2\3?= lines N/A body N/A N/A self get_message_body lines N/A N/A author email N/A N/A N/A N/A from_regexp search lines 0 groups N/A subject N/A N/A N/A N/A N/A N/A N/A subject_regexp search lines 0 groups N/A 0 strip N/A N/A username N/A N/A stmt N/A 
                    SELECT
                        user_id
                    FROM
                        %susers
                    WHERE
                        username='%s' N/A prefix username N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A num_rows 0 N/A N/A poster_id -1 N/A N/A poster_id N/A N/A N/A N/A self cursor fetchone N/A 0 N/A post_username N/A N/A poster_id -1 N/A post_username author N/A N/A N/A N/A lines find References -1 N/A N/A references N/A N/A N/A N/A references_regexp search lines 0 groups N/A N/A parent_id void N/A N/A N/A N/A N/A references N/A -1 strip split @ N/A stmt N/A 
                    SELECT
                        topic_id
                    FROM
                        %sposts
                    WHERE
                        post_id=%s
                    GROUP BY
                        post_id N/A prefix parent_id N/A num_rows N/A N/A N/A self cursor execute stmt N/A N/A num_rows 0 N/A N/A None N/A thread_id N/A N/A N/A N/A self cursor fetchone N/A 0 N/A N/A stmt N/A 
                    INSERT INTO
                        %stopics
                    (
                        forum_id,
                        topic_title,
                        topic_poster,
                        topic_time,
                        topic_status,
                        topic_vote,
                        topic_type
                    ) VALUES (
                        %s,
                        '%s',
                        %s,
                        UNIX_TIMESTAMP(),
                        0,
                        0,
                        0
                    ) N/A prefix forum_id N/A N/A self quote_string subject poster_id N/A N/A N/A N/A self cursor execute stmt N/A thread_id N/A N/A N/A self cursor insert_id N/A stmt N/A 
                INSERT INTO
                    %sposts
                (
                    topic_id,
                    forum_id,
                    poster_id,
                    post_time,
                    poster_ip,
                    post_username,
                    enable_bbcode,
                    enable_html,
                    enable_smilies,
                    enable_sig
                ) VALUES (
                    %s,
                    %s,
                    %s,
                    UNIX_TIMESTAMP(),
                    '%s',
                    '%s',
                    1,
                    0,
                    1,
                    0
                ) N/A prefix thread_id forum_id poster_id N/A N/A self encode_ip ip_address post_username N/A N/A N/A N/A self cursor execute stmt N/A new_id N/A N/A N/A self cursor insert_id N/A N/A new_id N/A N/A None N/A N/A stmt N/A 
                    INSERT INTO
                        %sposts_text
                    (
                        post_id,
                        bbcode_uid,
                        post_subject,
                        post_text
                    ) VALUES (
                        %s,
                        '%s',
                        '%s',
                        '%s'
                    ) N/A prefix new_id N/A N/A self make_bbcode_uid N/A N/A self quote_string subject N/A N/A self quote_string body N/A N/A N/A N/A N/A self cursor execute stmt N/A N/A stmt N/A 
                        DELETE FROM
                            %stopics
                        WHERE
                            topic_id=%s N/A prefix thread_id N/A N/A N/A N/A self cursor execute stmt N/A stmt N/A 
                        DELETE FROM
                            %sposts
                        WHERE
                            post_id=%s N/A prefix new_id N/A N/A N/A N/A self cursor execute stmt N/A None N/A N/A N/A N/A N/A lines find References -1 N/A N/A stmt N/A 
                            UPDATE
                                %sforums
                            SET
                                forum_posts=forum_posts+1,
                                forum_last_post_id=%s
                            WHERE
                                forum_id=%s
                             N/A N/A settings phpbb_table_prefix new_id forum_id N/A N/A N/A N/A self cursor execute stmt N/A N/A stmt N/A 
                            UPDATE
                                %sforums
                            SET
                                forum_topics=forum_topics+1,
                                forum_posts=forum_posts+1,
                                forum_last_post_id=%s
                            WHERE
                                forum_id=%s
                             N/A N/A settings phpbb_table_prefix new_id forum_id N/A N/A N/A N/A self cursor execute stmt N/A N/A poster_id -1 N/A N/A stmt N/A 
                            UPDATE
                                %susers
                            SET
                                user_posts=user_posts+1
                            WHERE
                                user_id=%s N/A prefix poster_id N/A N/A N/A N/A self cursor execute stmt N/A stmt N/A 
                        UPDATE
                            %stopics
                        SET
                            topic_replies=topic_replies+1,
                            topic_last_post_id=%s
                        WHERE
                            topic_id=%s N/A prefix new_id thread_id N/A N/A N/A N/A self cursor execute stmt N/A N/A N/A N/A lines find References -1 N/A N/A stmt N/A 
                            UPDATE
                                %stopics
                            SET
                                topic_first_post_id=%s
                            WHERE
                                topic_id=%s AND
                                topic_first_post_id=0 N/A prefix new_id thread_id N/A N/A N/A N/A self cursor execute stmt N/A 1 N/A N/A