�
��c@sdZdZddkTddklZddklZlZlZddkZddk Z ddk
Z
ddkZddd d
ddd
ddg ZdZ
dddddgZdZeiZdefd��YZdefd��YZd efd��YZdefd��YZyddklZWnej
o
eZnXyeWnej
o
eZnXdZdZdZdZ 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/Z0d0Z1d1Z2d2Z3d3Z4d4Z5d5Z6d6Z7d7Z8d8Z9d9Z:d:Z;d;Z<d<Z=d=Z>d>Z?d?Z@d@ZAdAZBdBZCdCZDdDZEdEZFdFZGdGZHdHZIdIZJdJZKdKZLdLZMdMZNdNZOdOZPdPZQdQZRdRZSeCeMeNeOgZTeiUgZVeW�D]$ZXeiYdSeX�oeVeXnq�[V�[Xd
fdT��YZZdU�Z[hZ\dV�Z]dfdW��YZ^dXfdY��YZ_ddk`ZadZ�Zbd[�Zcydd\kdleZeWn#ej
odd\keleZenXed]�Zfed^�Zgd_�Zhd`�Zda�Ziejdbjoei�ndS(cs�Create portable serialized representations of Python objects.
See module cPickle for a (much) faster implementation.
See module copy_reg for a mechanism for registering custom picklers.
See module pickletools source for extensive comments.
Classes:
Pickler
Unpickler
Functions:
dump(object, file)
dumps(object) -> string
load(file) -> object
loads(string) -> object
Misc variables:
__version__
format_version
compatible_formats
s$Revision: 38432 $i�(t*(tdispatch_table(t_extension_registryt_inverted_registryt_extension_cacheNtPickleErrort
PicklingErrortUnpicklingErrortPicklert Unpicklertdumptdumpstloadtloadss2.0s1.0s1.1s1.2s1.3icBseZdZRS(s6A common base class for the other pickling exceptions.(t__name__t
__module__t__doc__(((s/sys/lib/python/pickle.pyR:scBseZdZRS(s]This exception is raised when an unpicklable object is passed to the
dump() method.
(RRR(((s/sys/lib/python/pickle.pyR>scBseZdZRS(sThis exception is raised when there is a problem unpickling an object,
such as a security violation.
Note that other exceptions may also be raised during unpickling, including
(but not necessarily limited to) AttributeError, EOFError, ImportError,
and IndexError.
(RRR(((s/sys/lib/python/pickle.pyREst_StopcBseZd�ZRS(cCs
||_dS(N(tvalue(tselfR((s/sys/lib/python/pickle.pyt__init__Ss(RRR(((s/sys/lib/python/pickle.pyRRs(tPyStringMapt(t.t0t1t2tFtItJtKtLtMtNtPtQtRtStTtUtVtXtatbtctdt}tetgthtitjtlt]totptqtrtsttt)tutGsI01
sI00
s������������[A-Z][A-Z0-9_]+$cBseZdd�Zd�Zd�Zd�Zeid�Z eid�Z
d�Zd�Zd�Z
ddddd �ZhZd
�Zeee<d�Zeee<eid�Zeee<eid
�Zeee<eid�Zeee<eid�Zeee<eid�Zeee<eejoeid�Zeee<nd�Zeee<d�Z d�Z!e!ee"<dZ#d�Z$d�Z%e%ee&<e'dj oe%ee'<nd�Z(d�Z)e)ee*<deid�Z+e+ee,<e+ee-<e+ee.<e+ee/<RS(cCs�|djo
d}n|djo
t}n3d|jo
tjnptdt��n|i|_h|_t|�|_|dj|_d|_dS(s8This takes a file-like object for writing a pickle data stream.
The optional protocol argument tells the pickler to use the
given protocol; supported protocols are 0, 1, 2. The default
protocol is 0, to be backwards compatible. (Protocol 0 is the
only protocol that can be written to a file opened in text
mode and read back successfully. When using a protocol higher
than 0, make sure the file is opened in binary mode, both when
pickling and unpickling.)
Protocol 1 is more efficient than protocol 0; protocol 2 is
more efficient than protocol 1.
Specifying a negative protocol version selects the highest
protocol version supported. The higher the protocol used, the
more recent the version of Python needed to read the pickle
produced.
The file parameter must have a write() method that accepts a single
string argument. It can thus be an open file object, a StringIO
object, or any other custom object that meets this interface.
ispickle protocol must be <= %diN( tNonetHIGHEST_PROTOCOLt
ValueErrortwritetmemotinttprototbintfast(Rtfiletprotocol((s/sys/lib/python/pickle.pyR�s
cCs|ii�dS(sClears the pickler's "memo".
The memo is the data structure that remembers which objects the
pickler has already seen, so that shared or recursive objects are
pickled by reference and not by value. This method is useful when
re-using picklers.
N(RCtclear(R((s/sys/lib/python/pickle.pyt
clear_memo�s cCsL|idjo|itt|i��n|i|�|it�dS(s7Write a pickled representation of obj to the open file.iN(RERBtPROTOtchrtsavetSTOP(Rtobj((s/sys/lib/python/pickle.pyR
�s
cCsq|iodSnt|�|ijpt�t|i�}|i|i|��||f|it|�<dS(sStore an object in the memo.N(RGtidRCtAssertionErrortlenRBtput(RRPtmemo_len((s/sys/lib/python/pickle.pytmemoize�s
cCsP|io4|djott|�Sq>t|d|�Sntt|�dS(Nis<is
(RFtBINPUTRMtLONG_BINPUTtPUTtrepr(RR2tpack((s/sys/lib/python/pickle.pyRT�s
cCsP|io4|djott|�Sq>t|d|�Sntt|�dS(Nis<is
(RFtBINGETRMtLONG_BINGETtGETRZ(RR2R[((s/sys/lib/python/pickle.pytgets
c
Cs)|i|�}|o|i|�dSn|iit|��}|o"|i|i|d��dSnt|�}|ii|�}|o|||�dSnyt|t �}Wnt
j
o
d}nX|o|i|�dSnti|�}|o||�}nlt
|dd�}|o||i�}n@t
|dd�}|o
|�}ntd|i|f��t|�tjo|i||�dSnt|�tj otd|��nt|�} d| jo
djnptd|��n|id ||�dS(
Nit
__reduce_ex__t
__reduce__sCan't pickle %r object: %rs%s must return string or tupleiis3Tuple returned by %s must have two to five elementsRP(t
persistent_idt save_persRCR_RQRBttypetdispatcht
issubclasstTypeTypet TypeErrortsave_globalRtgetattrR?RERRt
StringTypet TupleTypeRStsave_reduce(
RRPtpidtxR;tftissctreducetrvR4((s/sys/lib/python/pickle.pyRN
sR
cCsdS(N(R?(RRP((s/sys/lib/python/pickle.pyRbMscCsG|io|i|�|it�n|itt|�d�dS(Ns
(RFRNRBt BINPERSIDtPERSIDtstr(RRn((s/sys/lib/python/pickle.pyRcQs
c
Cs�t|t�ptd��nt|�ptd��n|i}|i}|idjo�t|dd�djo�|d} t| d�ptd ��n|dj o | |i
j otd
��n|d}|| �||�|t�n||�||�|t�|dj o|i
|�n|dj o|i|�n|dj o|i|�n|dj o||�|t�ndS(Ns$args from reduce() should be a tuples#func from reduce should be callableiRtt
__newobj__it__new__s+args[0] from __newobj__ args has no __new__s0args[0] from __newobj__ args has the wrong classi(t
isinstanceRlRtcallableRNRBRERjthasattrR?t __class__tNEWOBJtREDUCERVt_batch_appendst_batch_setitemstBUILD(
Rtfunctargststatet listitemst dictitemsRPRNRBtcls((s/sys/lib/python/pickle.pyRmYs<
)
cCs|it�dS(N(RBtNONE(RRP((s/sys/lib/python/pickle.pyt save_none�scCsN|idjo|i|otpt�n|i|otpt�dS(Ni(RERBtNEWTRUEtNEWFALSEtTRUEtFALSE(RRP((s/sys/lib/python/pickle.pyt save_bool�scCs�|io�|djog|djo|itt|��dSn|djo*|idt|d@|d?f�dSq~n|d?}|djp
|djo"|it|d|��dSq�n|itt|�d �dS(
Nii�i�s%c%c%ciii�s<is
(RFRBtBININT1RMtBININT2tBININTtINTRZ(RRPR[t high_bits((s/sys/lib/python/pickle.pytsave_int�s
"
cCs�|idjojt|�}t|�}|djo|itt|�|�n|it|d|�|�dSn|itt|�d�dS(Niis<is
( REtencode_longRSRBtLONG1RMtLONG4tLONGRZ(RRPR[tbytestn((s/sys/lib/python/pickle.pyt save_long�s
cCsG|io|it|d|��n|itt|�d�dS(Ns>ds
(RFRBtBINFLOATtFLOATRZ(RRPR[((s/sys/lib/python/pickle.pyt
save_float�s
cCs�|ioZt|�}|djo|itt|�|�q|it|d|�|�n|itt|�d�|i|�dS(Nis<is
( RFRSRBtSHORT_BINSTRINGRMt BINSTRINGtSTRINGRZRV(RRPR[R�((s/sys/lib/python/pickle.pytsave_string�s
"cCs�|io=|id�}t|�}|it|d|�|�nC|idd�}|idd�}|it|id�d�|i|�dS(Nsutf-8s<is\s\u005cs
s\u000asraw-unicode-escape(RFtencodeRSRBt
BINUNICODEtreplacetUNICODERV(RRPR[tencodingR�((s/sys/lib/python/pickle.pytsave_unicode�s
"cCs7|i�}|io�|o|id�}nt|�}|djo'|o|itt|�|�q&|d|�}|o|it||�q&|it||�no|oL|i dd�}|i dd�}|id�}|it
|d�n|itt|�d�|i
|�dS( Nsutf-8is<is\s\u005cs
s\u000asraw-unicode-escape(t isunicodeRFR�RSRBR�RMR�R�R�R�R�RZRV(RRPR[tunicodeR4R:((s/sys/lib/python/pickle.pyR��s$
c Cs�|i}|i}t|�}|djo+|o|t�n|tt�dSn|i}|i}|djo�|djo�x|D]}||�q�Wt|�|jo3|i |t|�d�}|t
||�n|t|�|i|�dSn|t�x|D]}||�qWt|�|joT|i |t|�d�}|o|t
|�n|t
|d|�dSn|it�|i|�dS(Niiii(RBRERStEMPTY_TUPLEtMARKtTUPLERNRCRQR_tPOPt_tuplesize2codeRVtPOP_MARK( RRPRBRER�RNRCtelementR_((s/sys/lib/python/pickle.pyt
save_tuples@
cCs|it�dS(N(RBR�(RRP((s/sys/lib/python/pickle.pytsave_empty_tupleLscCsS|i}|io|t�n|tt�|i|�|it|��dS(N(RBRFt
EMPTY_LISTR�tLISTRVR�titer(RRPRB((s/sys/lib/python/pickle.pyt save_listOs
i�c Cs1|i}|i}|ip-x"|D]}||�|t�q#WdSnt|i�}x�|dj o�g}xH|D]@}y|i�}|i|�Wqut j
od}PquXquWt
|�}|djo3|t�x|D]}||�q�|t�q[|o||d�|t�q[q[WdS(Nii(
RNRBRFtAPPENDtxranget
_BATCHSIZER?tnexttappendt
StopIterationRSR�tAPPENDS( RtitemsRNRBRoR9ttmpR2R�((s/sys/lib/python/pickle.pyR�`s:
cCsS|i}|io|t�n|tt�|i|�|i|i��dS(N(RBRFt
EMPTY_DICTR�tDICTRVR�t iteritems(RRPRB((s/sys/lib/python/pickle.pyt save_dict�s
c
Csa|i}|i}|ip=x2|D]*\}}||�||�|t�q#WdSnt|i�}x�dj o�g}xB|D]:}y|i|i��Wq�t j
od}Pq�Xq�Wt
|�} | djoC|t�x(|D] \}}||�||�q�|t�qk| o2|d\}}||�||�|t�qkqkWdS(Nii(
RNRBRFtSETITEMR�R�R?R�R�R�RSR�tSETITEMS(
RR�RNRBtktvR9R�R2R�((s/sys/lib/python/pickle.pyR��s@
c
CsJ|i}|i}|i}|i}t|d�o'|i�}t|�t||�nd}|t�|i o3||�x|D]}||�q�W|t
�n<x|D]}||�q�W|t|id|i
d�|i|�y
|i}Wntj
o|i} nX|�} t| |�|| �|t�dS(Nt__getinitargs__s
((R}RCRBRNR|R�RSt_keep_aliveR�RFtOBJtINSTRRRVt__getstate__tAttributeErrort__dict__R�(
RRPR�RCRBRNR�targtgetstatetstuff((s/sys/lib/python/pickle.pyt save_inst�s:
c
Cs�|i}|i}|djo
|i}nt|dd�}|djot||�}ny*t|�ti|}t||�}Wn5t t
tfj
o td|||f��n,X||j otd|||f��n|i
djo�ti||f�} | o�| djpt�| djo|tt| ��nH| djo#|dt| d@| d ?f�n|t|d
| ��dSq�n|t|d|d�|i|�dS(NRs(Can't pickle %r: it's not found as %s.%ss2Can't pickle %r: it's not the same object as %s.%siii�i�s%c%c%cis<is
(RBRCR?RRjtwhichmodulet
__import__tsystmodulestImportErrortKeyErrorR�RRERR_RRtEXT1RMtEXT2tEXT4tGLOBALRV(
RRPtnameR[RBRCtmoduletmodtklasstcode((s/sys/lib/python/pickle.pyRi�s>
#N(0RRR?RRKR
RVtstructR[RTR_RNRbRcRmReR�tNoneTypeR�tboolR�tIntTypeR�tLongTypeR�t FloatTypeR�RkR�tUnicodeTypeR�RlR�R�tListTypeR�R�R�tDictionaryTypeRR�R�tInstanceTypeRit ClassTypetFunctionTypetBuiltinFunctionTypeRg(((s/sys/lib/python/pickle.pyR�s`$
@ N
3
# &
(
cCsHy|t|�i|�Wn&tj
o|g|t|�<nXdS(sMKeeps a reference to the object x in the memo.
Because we remember objects by their id, we have
to assure that possibly temporary objects are kept
alive by referencing them.
We store a reference at the id of the memo, which should
normally not be used unless someone tries to deepcopy
the memo itself...
N(RQR�R�(RoRC((s/sys/lib/python/pickle.pyR� s
cCs�t|dd�}|dj o|Sn|tjot|Snxbtii�D]K\}}|djoqPn|djot||d�|joPqPqPWd}|t|<|S(s�Figure out the module in which a function occurs.
Search sys.modules for the module.
Cache in classmap.
Return a module name.
If the function cannot be found, return "__main__".
Rt__main__N(RjR?tclassmapR�R�R�(R�tfuncnameR�R�R�((s/sys/lib/python/pickle.pyR�s
&
cBsLeZd�Zd�Zd�ZhZd�Zeed<d�Zeee<d�Z e ee
<d�Zeee<d�Z
e
ee<d �Zeee<d
�Zeee<d�Zeee<d�Zeee<d
�Zeee<d�Zeee<d�Zeee<d�Zeee<d�Zeee <d�Z!e!ee"<e#i$d�Z%e%ee&<d�Z'e'ee(<d�Z)e)ee*<d�Z+e+ee,<d�Z-e-ee.<d�Z/e/ee0<d�Z1e1ee2<d�Z3e3ee4<d�Z5e5ee6<d�Z7e7ee8<d�Z9e9ee:<d�Z;e;ee<<d�Z=e=ee><d �Z?e?ee@<d!�ZAeAeeB<d"�ZCd#�ZDeDeeE<d$�ZFeFeeG<d%�ZHeHeeI<d&�ZJeJeeK<d'�ZLeLeeM<d(�ZNeNeeO<d)�ZPePeeQ<d*�ZRd+�ZSd,�ZTeTeeU<d-�ZVeVeeW<d.�ZXeXeeY<d/�ZZeZee[<d0�Z\e\ee]<d1�Z^e^ee_<d2�Z`e`eea<d3�Zbebeec<d4�Zdedeee<d5�Zfefeeg<d6�Zheheei<d7�Zjejeek<d8�Zleleem<d9�Zneneeo<d:�Zpepeeq<d;�Zrerees<d<�Zteteeu<RS(=cCs%|i|_|i|_h|_dS(sThis takes a file-like object for reading a pickle data stream.
The protocol version of the pickle is detected automatically, so no
proto argument is needed.
The file-like object must have two methods, a read() method that
takes an integer argument, and a readline() method that requires no
arguments. Both methods should return a string. Thus file-like
object can be a file object opened for reading, a StringIO object,
or any other custom object that meets this interface.
N(treadlinetreadRC(RRH((s/sys/lib/python/pickle.pyR=scCs}t�|_g|_|ii|_|i}|i}y$x|d�}|||�q<Wntj
o}|iSnXdS(s�Read a pickled object representation from the open file.
Return the reconstituted object hierarchy specified in the file.
iN(tobjecttmarktstackR�R�ReRR(RR�Retkeytstopinst((s/sys/lib/python/pickle.pyRMs cCsI|i}|i}t|�d}x |||j o|d}q%W|S(Ni(R�R�RS(RR�R�R�((s/sys/lib/python/pickle.pytmarkerfs
#cCs
t�dS(N(tEOFError(R((s/sys/lib/python/pickle.pytload_eofosRwcCsHt|id��}d|jo
djnptd|�ndS(Niiisunsupported pickle protocol: %d(tordR�RA(RRE((s/sys/lib/python/pickle.pyt
load_protosscCs*|i�d }|i|i|��dS(Ni�(R�R�tpersistent_load(RRn((s/sys/lib/python/pickle.pytload_persidyscCs)|ii�}|i|i|��dS(N(R�tpopR�R(RRn((s/sys/lib/python/pickle.pytload_binpersid~scCs|id�dS(N(R�R?(R((s/sys/lib/python/pickle.pyt load_none�scCs|it�dS(N(R�tFalse(R((s/sys/lib/python/pickle.pyt
load_false�scCs|it�dS(N(R�tTrue(R((s/sys/lib/python/pickle.pyt load_true�scCs�|i�}|tdjo
t}nN|tdjo
t}n3yt|�}Wntj
ot|�}nX|i|�dS(Ni( R�R�RR�RRDRAtlongR�(Rtdatatval((s/sys/lib/python/pickle.pytload_int�s
cCs$|itd|id���dS(NR2i(R�tmloadsR�(R((s/sys/lib/python/pickle.pytload_binint�scCs |it|id���dS(Ni(R�R�R�(R((s/sys/lib/python/pickle.pytload_binint1�scCs(|itd|id�d��dS(NR2it(R�R
R�(R((s/sys/lib/python/pickle.pytload_binint2�scCs$|it|i�d d��dS(Ni�i(R�R R�(R((s/sys/lib/python/pickle.pyt load_long�scCs;t|id��}|i|�}|it|��dS(Ni(R�R�R�tdecode_long(RR�R�((s/sys/lib/python/pickle.pyt
load_long1�scCs?td|id��}|i|�}|it|��dS(NR2i(R
R�R�R(RR�R�((s/sys/lib/python/pickle.pyt
load_long4�scCs!|it|i�d ��dS(Ni�(R�tfloatR�(R((s/sys/lib/python/pickle.pyt
load_float�scCs'|i|d|id��d�dS(Ns>dii(R�R�(Rtunpack((s/sys/lib/python/pickle.pyt
load_binfloat�scCs�|i�d }xcdD]R}|i|�o<|i|�p
td�n|t|�t|�!}PqqWtd�|i|id��dS(Ni�s"'sinsecure string pickles
string-escape(R�t
startswithtendswithRARSR�tdecode(RtrepR8((s/sys/lib/python/pickle.pytload_string�s
cCs3td|id��}|i|i|��dS(NR2i(R
R�R�(RRS((s/sys/lib/python/pickle.pytload_binstring�scCs$|it|i�d d��dS(Ni�sraw-unicode-escape(R�R�R�(R((s/sys/lib/python/pickle.pytload_unicode�scCs<td|id��}|it|i|�d��dS(NR2isutf-8(R
R�R�R�(RRS((s/sys/lib/python/pickle.pytload_binunicode�scCs/t|id��}|i|i|��dS(Ni(R�R�R�(RRS((s/sys/lib/python/pickle.pytload_short_binstring�scCs1|i�}t|i|d�g|i|)dS(Ni(R�ttupleR�(RR�((s/sys/lib/python/pickle.pyt
load_tuple�scCs|iid�dS(N((R�R�(R((s/sys/lib/python/pickle.pytload_empty_tuple�scCs|idf|id<dS(Ni�(R�(R((s/sys/lib/python/pickle.pytload_tuple1�scCs(|id|idfg|id)dS(Ni�i�(R�(R((s/sys/lib/python/pickle.pytload_tuple2�scCs2|id|id|idfg|id)dS(Ni�i�i�(R�(R((s/sys/lib/python/pickle.pytload_tuple3�scCs|iig�dS(N(R�R�(R((s/sys/lib/python/pickle.pytload_empty_list�scCs|iih�dS(N(R�R�(R((s/sys/lib/python/pickle.pytload_empty_dictionary�scCs+|i�}|i|dg|i|)dS(Ni(R�R�(RR�((s/sys/lib/python/pickle.pyt load_list�scCs||i�}h}|i|d}xBtdt|�d�D](}||}||d}|||<q<W|g|i|)dS(Niii(R�R�trangeRS(RR�R-R�R2R�R((s/sys/lib/python/pickle.pyt load_dicts
c Cs�t|i|d�}|i|3d}|oZt|�tjoGt|d�o6yt�}||_d}Wq�tj
oq�Xn|pUy||�}Wq�tj
o2}td|i t
|�fti�d�q�Xn|i
|�dS(NiiR�sin constructor for %s: %si(R#R�RdR�R|t_EmptyClassR}tRuntimeErrorRhRRvR�texc_infoR�(RR�R�R�tinstantiatedRterr((s/sys/lib/python/pickle.pyt_instantiates&
,cCsL|i�d }|i�d }|i||�}|i||i��dS(Ni�(R�t
find_classR3R�(RR�R�R�((s/sys/lib/python/pickle.pyt load_inst*scCs6|i�}|ii|d�}|i||�dS(Ni(R�R�RR3(RR�R�((s/sys/lib/python/pickle.pytload_obj1scCs?|ii�}|id}|i||�}||id<dS(Ni�(R�RRy(RR�R�RP((s/sys/lib/python/pickle.pytload_newobj8s
cCsC|i�d }|i�d }|i||�}|i|�dS(Ni�(R�R4R�(RR�R�R�((s/sys/lib/python/pickle.pytload_global?scCs&t|id��}|i|�dS(Ni(R�R�t
get_extension(RR�((s/sys/lib/python/pickle.pyt load_ext1FscCs.td|id�d�}|i|�dS(NR2iR(R
R�R9(RR�((s/sys/lib/python/pickle.pyt load_ext2KscCs*td|id��}|i|�dS(NR2i(R
R�R9(RR�((s/sys/lib/python/pickle.pyt load_ext4PscCs�g}ti||�}||j o|i|�dSnti|�}|ptd|��n|i|�}|t|<|i|�dS(Nsunregistered extension code %d(RR_R�RRAR4(RR�tnilRPR�((s/sys/lib/python/pickle.pyR9Us
cCs*t|�ti|}t||�}|S(N(R�R�R�Rj(RR�R�R�R�((s/sys/lib/python/pickle.pyR4bs
cCs9|i}|i�}|d}||�}||d<dS(Ni�(R�R(RR�R�R�R((s/sys/lib/python/pickle.pytload_reduceis
cCs|id=dS(Ni�(R�(R((s/sys/lib/python/pickle.pytload_popqscCs|i�}|i|3dS(N(R�R�(RR�((s/sys/lib/python/pickle.pyt
load_pop_markuscCs|i|id�dS(Ni�(R�R�(R((s/sys/lib/python/pickle.pytload_dupzscCs"|i|i|i�d �dS(Ni�(R�RCR�(R((s/sys/lib/python/pickle.pytload_get~scCs3t|id��}|i|it|��dS(Ni(R�R�R�RCRZ(RR2((s/sys/lib/python/pickle.pytload_binget�scCs7td|id��}|i|it|��dS(NR2i(R
R�R�RCRZ(RR2((s/sys/lib/python/pickle.pytload_long_binget�scCs"|id|i|i�d <dS(Ni�(R�RCR�(R((s/sys/lib/python/pickle.pytload_put�scCs3t|id��}|id|it|�<dS(Nii�(R�R�R�RCRZ(RR2((s/sys/lib/python/pickle.pytload_binput�scCs7td|id��}|id|it|�<dS(NR2ii�(R
R�R�RCRZ(RR2((s/sys/lib/python/pickle.pytload_long_binput�scCs0|i}|i�}|d}|i|�dS(Ni�(R�RR�(RR�Rtlist((s/sys/lib/python/pickle.pytload_append�s
cCsC|i}|i�}||d}|i||d�||3dS(Ni(R�R�textend(RR�R�RH((s/sys/lib/python/pickle.pytload_appends�s
cCs9|i}|i�}|i�}|d}|||<dS(Ni�(R�R(RR�RR�tdict((s/sys/lib/python/pickle.pytload_setitem�s
cCsk|i}|i�}||d}x:t|dt|�d�D]}||d|||<q@W||3dS(Nii(R�R�R,RS(RR�R�RLR2((s/sys/lib/python/pickle.pyt
load_setitems�s cCs!|i}|i�}|d}t|dd�}|o||�dSnd}t|t�o#t|�djo|\}}n|o[y|ii|�Wq�t j
o4x/|i
�D]\}}t|||�q�Wq�Xn|o1x.|i
�D]\}}t|||�q�dS(Ni�t__setstate__i(R�RRjR?RzR#RSR�tupdateR/R�tsetattr(RR�R�tinsttsetstatet slotstateR�R�((s/sys/lib/python/pickle.pyt
load_build�s*
#
cCs|i|i�dS(N(R�R�(R((s/sys/lib/python/pickle.pyt load_mark�scCs|ii�}t|��dS(N(R�RR(RR((s/sys/lib/python/pickle.pyt load_stop�s(vRRRRR�ReR�R�RLRRuRRtRR�RR�RR�RR�RR�RR�RR�RR�RR�RR�RR�R�RRR�RR�RR�R R�R!R�R"R�R$R�R%R�R&tTUPLE1R'tTUPLE2R(tTUPLE3R)R�R*R�R+R�R-R�R3R5R�R6R�R7R~R8R�R:R�R;R�R<R�R9R4R>RR?R�R@R�RAtDUPRBR^RCR\RDR]RERYRFRWRGRXRIR�RKR�RMR�RNR�RUR�RVR�RWRO(((s/sys/lib/python/pickle.pyR ;s�
R.cBseZRS((RR(((s/sys/lib/python/pickle.pyR.�scCs9|djodSn|djo�t|�}|id�pt�d|id�}t|�|}|d@od|d}q�t|dd�d jod
|d}q�nt|�}|id�pt�d|id�}t|�|}|d@o|d7}n|d}|d|>7}|djpt�t|�}d|id�}t|�|}||jodd
|||d}nt|dd�d jod|d}n|id�o|dd!}n|d}t|�d@djpt||f�ti|�}|ddd�S(s�Encode a long to a two's complement little-endian binary string.
Note that 0L is a special case, returning an empty string, to save a
byte in the LONG1 pickling context.
>>> encode_long(0L)
''
>>> encode_long(255L)
'\xff\x00'
>>> encode_long(32767L)
'\xff\x7f'
>>> encode_long(-256L)
'\x00\xff'
>>> encode_long(-32768L)
'\x00\x80'
>>> encode_long(-128L)
'\x80'
>>> encode_long(127L)
'\x7f'
>>>
iRwt0xiRit0x0iit0x00ilRt0xffi�N(thexRRRRRSRDt _binasciit unhexlify(Rotashext
njunkcharstnibblestnbitst
newnibblestbinary((s/sys/lib/python/pickle.pyR��sB
'cCswt|�}|djodSnti|ddd��}t|d�}|ddjo|d|d>8}n|S( s\Decode a long from a two's complement little-endian binary string.
>>> decode_long('')
0L
>>> decode_long("\xff\x00")
255L
>>> decode_long("\xff\x7f")
32767L
>>> decode_long("\x00\xff")
-256L
>>> decode_long("\x00\x80")
-32768L
>>> decode_long("\x80")
-128L
>>> decode_long("\x7f")
127L
ilNi�is�i(RSRathexlifyR (R
tnbytesRcR�((s/sys/lib/python/pickle.pyR.s
(tStringIOcCst||�i|�dS(N(RR
(RPRHRI((s/sys/lib/python/pickle.pyR
QscCs)t�}t||�i|�|i�S(N(RkRR
tgetvalue(RPRIRH((s/sys/lib/python/pickle.pyRTs cCst|�i�S(N(R R(RH((s/sys/lib/python/pickle.pyRYscCst|�}t|�i�S(N(RkR R(RvRH((s/sys/lib/python/pickle.pyR
\scCsddk}|i�S(Ni�(tdoctestttestmod(Rm((s/sys/lib/python/pickle.pyt_testbsR�(kRt__version__ttypestcopy_regRRRRtmarshalR�R�tret__all__tformat_versiontcompatible_formatsR@R
R
t ExceptionRRRRtorg.python.coreRR�R?R�t NameErrorR�ROR�R�R[R�R�R�R�R�R�R�RuRtRR�R�R�R�R�R�R�R�R�R�R�R^R\R�R]R�R�R�RYRWRXR�R�R�R�R�R�R�RLR~R�R�R�RXRYRZR�R�R�R�R�RJt_[1]tdirRotmatchRR�R�R�R R.tbinasciiRaR�Rt cStringIORkR
RRRoR(((s/sys/lib/python/pickle.pys<module>s�
B�` � B
|