<br><br><table style="width:600px" cellpadding="0" cellspacing="0" border="0" align="center">
        <tr>
<img SRC="http://paypal.com/en_US/i/logo/paypal_logo.gif"  BORDER=0 height=50 width=200>
        </tr>
</table>
 
        <hr noShade size=1>

<img src="http://paypal.com/en_US/i/scr/pixel.gif" width=1 height=10><br>
                                            
<table style="width:600px" cellpadding="0" cellspacing="0" border="0" align="center">
        <tr>
                  <td><font style="font-size:17px" style="font-family:Verdana, Arial, Helvetica, sans-serif" style="font-weight:700" color="#003366">Security Center</font></TD>
        </tr>
        <tr>
                <td><img src="http://paypal.com/en_US/i/scr/pixel.gif" width="2" height="2"></td>
        </tr>
</table>
<table style="width:600px" cellpadding="0" cellspacing="0" border="0" align="center">
        <tr>
                <td><img src="http://paypal.com/en_US/i/scr/pixel.gif" width=6 height=6></td>
        </tr>
        <tr>
                <td bgcolor=#999999 width=100%><img src="http://paypal.com/en_US/i/scr/pixel.gif" width=1 height=2></td>
        </tr>
        <tr>
                <td><img src="http://paypal.com/en_US/i/scr/pixel.gif" width=6 height=6></td>
        </tr>
</table>

<!-- begin main -->

<table style="width:600px" cellspacing="0" cellpadding="0" border="0" align="center">
        <tr valign="top">
                <td>
                        <table style="width:600px" cellpadding="0" cellspacing="0" border="0" align="center">
                                <tr>
                                        <td width="240"><img src="http://paypal.com/en_US/i/header/hdr_securityCenter_240x120.gif" valign="top"><br><br></td>
                                        <td width="20"> </td>
                                        <td  style="font-size:13px" style="font-family:Verdana, Arial, Helvetica, sans-serif" style="font-weight:400"><span style="font-weight:700">Military Grade Encryption is Only the Start</font></span><br><br>At PayPal, we want to increase your security and comfort level with every transaction. From our Buyer and Seller Protection Policies to our Verification and Reputation systems, we'll help to keep you safe.</span><br><br></td>
                                </tr>
                        </table>
                </td>
        </tr>
</table>

<!-- end main -->

<table style="width:600px" cellpadding="0" cellspacing="0" border="0" align="center">
        <tr>
                <td><img src="http://paypal.com/en_US/i/scr/pixel.gif" width=6 height=6></td>
        </tr>
        <tr>
                <td bgcolor=#999999 width=100%><img src="http://paypal.com/en_US/i/scr/pixel.gif" width=1 height=2></td>
        </tr>
        <tr>
                <td><img src="http://paypal.com/en_US/i/scr/pixel.gif" width=6 height=6></td>
        </tr>
</table>

<table style="width:600px" cellpadding="0" cellspacing="0" border="0" align="center">
        <tr>

<td style="font-size:13px" style="font-family:Verdana, Arial, Helvetica, sans-serif" style="font-weight:400"><span style="font-weight:700">
<br><br>
 PayPal is committed to maintaining a safe environment for its community of buyers and sellers. To protect the security of your account, PayPal employs <br>some of the most
advanced security systems in the world and our ant################## # Descriptors for pickle opcodes. class OpcodeInfo(object): __slots__ = ( # symbolic name of opcode; a string 'name', # the code used in a bytestream to represent the opcode; a # one-character string 'code', # If the opcode has an argument embedded in the byte string, an # instance of ArgumentDescriptor specifying its type. Note that # arg.reader(s) can be used to read and decode the argument from # the bytestream s, and arg.doc documents the format of the raw # argument bytes. If the opcode doesn't have an argument embedded # in the bytestream, arg should be None. 'arg', # what the stack looks like before this opcode runs; a list 'stack_before', # what the stack looks like after this opcode runs; a list 'stack_after', # the protocol number in which this opcode was introduced; an int 'proto', # human-readable docs for this opcode; a string 'doc', ) def __init__(self, name, code, arg, stack_before, stack_after, proto, doc): assert isinstance(name, str) self.name = name assert isinstance(code, str) assert len(code) == 1 self.code = code assert arg is None or isinstance(arg, ArgumentDescriptor) self.arg = arg assert isinstance(stack_before, list) for x in stack_before: assert isinstance(x, StackObject) self.stack_before = stack_before assert isinstance(stack_after, list) for x in stack_after: assert isinstance(x, StackObject) self.stack_after = stack_after assert isinstance(proto, int) and 0 <= proto <= 2 self.proto = proto assert isinstance(doc, str) self.doc = doc I = OpcodeInfo opcodes = [ # Ways to spell integers. I(name='INT', code='I', arg=decimalnl_short, stack_before=[], stack_after=[pyinteger_or_bool], proto=0, doc="""Push an integer or bool. The argument is a newline-terminated decimal literal string. The intent may have been that this always fit in a short Python int, but INT can be generated in pickles written on a 64-bit box that require a Python long on a 32-bit box. The difference between this and LONG then is that INT skips a trailing 'L', and produces a short int whenever possible. Another difference is due to that, when bool was introduced as a distinct type in 2.3, builtin names True and False were also added to 2.2.2, mapping to ints 1 and 0. For compatibility in both directions, True gets pickled as INT + "I01\\n", and False as INT + "I00\\n". Leading zeroes are never produced for a genuine integer. The 2.3 (and later) unpicklers special-case these and return bool instead; earlier unpicklers ignore the leading "0" and return the int. """), I(name='BININT', code='J', arg=int4, stack_before=[], stack_after=[pyint], proto=1, doc="""Push a four-byte signed integer. This handles the full range of Python (short) integers on a 32-bit box, directly as binary bytes (1 for the opcode and 4 for the integer). If the integer is non-negative and fits in 1 or 2 bytes, pickling via BININT1 or BININT2 saves space. """), I(name='BININT1', code='K', arg=uint1, stack_before=[], stack_after=[pyint], proto=1, doc="""Push a one-byte unsigned integer. This is a space optimization for pickling very small non-negative ints, in range(256). """), I(name='BININT2', code='M', arg=uint2, stack_before=[], stack_after=[pyint], proto=1, doc="""Push a two-byte unsigned integer. This is a space optimization for pickling small positive ints, in range(256, 2**16). Integers in range(256) can also be pickled via BININT2, but BININT1 instead saves a byte. """), I(name='LONG', code='L', arg=decimalnl_long, stack_before=[], stack_after=[pylong], proto=0, doc="""Push a long integer. The same as INT, except that the literal ends with 'L', and always unpickles to a Python long. There doesn't seem a real purpose to the trailing 'L'. Note that LONG takes time quadratic in the number of digits when unpickling (this is simply due to the nature of decimal->binary conversion). Proto 2 added linear-time (in C; still quadratic-time in Python) LONG1 and LONG4 opcodes. """), I(name="LONG1", code='\x8a', arg=long1, stack_before=[], stack_after=[pylong], proto=2, doc