HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyc
�
���ec@@s9dZddlmZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddlm
Z
e�Zdefd
��YZd�Zy$ddlmZejje�Wn#ek
re�Zd�ZnXd�Ze�Zdeefd��YZdefd��YZdefd��YZdeefd��YZdd�Z!er�eZ"e!Z#n"dd�Z#defd��YZ"de$fd��YZ%d efd!��YZ&d"efd#��YZ'd$e&fd%��YZ(d&efd'��YZ)d(efd)��YZ*e$Z+eZ,e%Z-e)ej.�Z/e)d*��Z0dd+�Z1d,efd-��YZ2d.�Z3dd/�Z4d0�Z5d1�Z6d2�Z7dd3�Z8d4�Z9d5efd6��YZ:d7efd8��YZ;d9e;fd:��YZ<d;�Z=dS(<sCollection classes and helpers.i(tabsolute_importNi(tbinary_types(tcollections_abc(titertools_filterfalse(tpy2k(tpy37(tstring_types(t	threadingtImmutableContainercB@seZd�ZeZZZRS(cO@std|jj��dS(Ns%s object is immutable(t	TypeErrort	__class__t__name__(tselftargtkw((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
_immutables(Rt
__module__Rt__delitem__t__setitem__t__setattr__(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRs	cC@sdttfd��Y}|S(Nt
immutabledictcB@sfeZejZZZZZd�Z	d�Z
d�Zdd�Z
dd�Zd�Zd�ZRS(cW@s#tj|�}tj||�|S(N(tdictt__new__t__init__(tclstargstnew((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR*scW@sdS(N((RR((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR/scS@stt|�ffS(N(t_immutabledict_reconstructorR(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
__reduce__2scS@s@|s
|Stj|j�}tj||�tj||�|S(N(RRR
Rtupdate(Rt_immutabledict__dR((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytunion5sc[@sa|r|r|Stj|j�}tj||�|rMtj||�ntj||�|S(N(RRR
RR(RRRR((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt_union_w_kw>scW@sud}xX|D]P}|r
|dkrJtj|j�}tj||�ntj||�q
q
W|dkrq|S|S(N(tNoneRRR
RR(RtdictsRtd((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
merge_withJs
cS@sdtj|�S(Nsimmutabledict(%s)(Rt__repr__(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR%WsN(RRRRtcleartpoptpopitemt
setdefaultRRRRR!RR R$R%(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR$s					
(RR(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt_immutabledict_py_fallback#s6(RcG@s
t|�S(sdo the pickle dance(R(R
((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRescC@s+|s
tSt|t�r|St|�SdS(N(t
EMPTY_DICTt
isinstanceR(R#((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytcoerce_to_immutabledictjs
t
FacadeDictcB@sTeZdZejZZZZZ	d�Z
d�Zd�Zd�Z
d�ZRS(s*A dictionary that is not publicly mutable.cG@stj|�}|S(N(RR(RRR((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR{scC@std��dS(Ns\an immutabledict shouldn't need to be copied.  use dict(d) if you need a mutable dictionary.(tNotImplementedError(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytcopyscC@stt|�ffS(N(R.R(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@stj|||�dS(s,insert an item into the dictionary directly.N(RR(Rtkeytvalue((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt_insert_item�scC@sdtj|�S(NsFacadeDict(%s)(RR%(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR%�s(RRt__doc__RRR&R'R(R)RRR0RR3R%(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR.vs				t
PropertiescB@s�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zdd�Zd�Zd�Zd�Zd�Zd�ZRS(s8Provide a __getattr__/__setattr__ interface over a dict.t_datacC@stj|d|�dS(NR6(tobjectR(Rtdata((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@s
t|j�S(N(tlenR6(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__len__�scC@stt|jj���S(N(titertlistR6tvalues(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__iter__�scC@s9ttt|��g|jj�D]}t|�^q"S(N(tdirtsuperR5R6tkeyststr(Rtk((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__dir__�scC@st|�t|�S(N(R<(Rtother((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__add__�scC@s||j|<dS(N(R6(RR1tobj((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@s|j|S(N(R6(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__getitem__�scC@s|j|=dS(N(R6(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@s||j|<dS(N(R6(RR1RG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@si|jd6S(NR6(R6(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__getstate__�scC@stj|d|d�dS(NR6(R7R(Rtstate((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__setstate__�scC@s3y|j|SWntk
r.t|��nXdS(N(R6tKeyErrortAttributeError(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__getattr__�s
cC@s
||jkS(N(R6(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__contains__�scC@s
t|j�S(s8Return an immutable proxy for this :class:`.Properties`.(tImmutablePropertiesR6(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytas_immutable�scC@s|jj|�dS(N(R6R(RR2((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@s||kr||S|SdS(N((RR1tdefault((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytget�scC@s
t|j�S(N(R<R6(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRA�scC@st|jj��S(N(R<R6R=(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR=�scC@st|jj��S(N(R<R6titems(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRT�scC@s
||jkS(N(R6(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pythas_key�scC@s|jj�dS(N(R6R&(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR&�s(R6N(RRR4t	__slots__RR:R>RDRFRRHRRRIRKRNRORQRR!RSRAR=RTRUR&(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR5�s.																			tOrderedPropertiescB@seZdZdZd�ZRS(sUProvide a __getattr__/__setattr__ interface with an OrderedDict
    as backing store.cC@stj|t��dS(N(R5RtOrderedDict(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s((RRR4RVR(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRW�sRPcB@seZdZdZRS(sDProvide immutable dict/object attribute to an underlying dictionary.((RRR4RV(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRP�scC@sJgt|d|�D]}|||f^q}|j�|j|�dS(sSort an OrderedDict in-place.R1N(tsortedR&R(R#R1RCRT((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt_ordered_dictionary_sort�s/
cC@s|jd|�dS(sSort an OrderedDict in place.R1N(RZ(R#R1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytsort_dictionarysRXcB@s�eZdZdZdd�Zd�Zdd�Zd�Zd�Z	d�Z
dd�Zd	�Zd
�Z
d�Zd�Zd
�Zer�d�Zd�Zd�Znd�Zd�Zd�Zd�ZRS(shDictionary that maintains insertion order.

        Superseded by Python dict as of Python 3.7

        t_listcC@st|d|�dS(NR1(RZ(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRZscC@st|j�ffS(N(RXRT(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRscK@sBg|_|dkr.|r>|j|�q>n|j||�dS(N(R\R!R(Rt_OrderedDict____sequencetkwargs((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRs
	cC@sg|_tj|�dS(N(R\RR&(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR&s	cC@s
|j�S(N(t__copy__(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR0!scC@s
t|�S(N(RX(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR_$scK@s�|dk	rmt|d�rIxL|j�D]}|j|||�q(Wqmx!|D]\}}|||<qPWn|r�|j|�ndS(NRA(R!thasattrRARR(RR]R^R1R2((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR'scC@s1||kr |j||�|S|j|�SdS(N(RRH(RR1R2((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR)2scC@s
t|j�S(N(R;R\(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR>9scC@s
t|�S(N(R<(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRA<scC@sg|jD]}||^q
S(N(R\(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR=?scC@s$g|jD]}|||f^q
S(N(R\(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRTBscC@st|j��S(N(R;R=(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
itervaluesGscC@s
t|�S(N(R;(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytiterkeysJscC@st|j��S(N(R;RT(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt	iteritemsMscC@sZ||krCy|jj|�WqCtk
r?|g|_qCXntj|||�dS(N(R\tappendRMRR(RR1RG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRPs
cC@s$tj||�|jj|�dS(N(RRR\tremove(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRZscG@s>||k}tj|||�}|r:|jj|�n|S(N(RR'R\Re(RR1RRtpresentR2((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR'^s
cC@s'tj|�}|jj|d�|S(Ni(RR(R\Re(Rtitem((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR(es(R\N(RRR4RVR!RZRRR&R0R_RR)R>RAR=RTRRaRbRcRRR'R((((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRXs,												
		t
OrderedSetcB@s�eZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�ZeZ
d
�ZeZd�ZeZd�ZeZd
�ZeZd�ZeZd�ZeZd�ZeZd�ZeZRS(cC@sKtj|�|dk	r>t|�|_tj||j�n	g|_dS(N(tsetRR!tunique_listR\R(RR#((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRls

cC@s3||kr|jj|�ntj||�dS(N(R\RdRitadd(Rtelement((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRktscC@s$tj||�|jj|�dS(N(RiReR\(RRl((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyReyscC@s6||kr"|jj||�ntj||�dS(N(R\tinsertRiRk(RtposRl((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRm}scC@s3||kr/|jj|�tj||�ndS(N(R\ReRi(RRl((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytdiscard�scC@stj|�g|_dS(N(RiR&R\(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR&�s
cC@s|j|S(N(R\(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRH�scC@s
t|j�S(N(R;R\(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR>�scC@s
|j|�S(N(R(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRF�scC@sd|jj|jfS(Ns%s(%r)(R
RR\(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR%�scC@sDx=|D]5}||kr|jj|�tj||�qqW|S(N(R\RdRiRk(Rtiterablete((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s

cC@s |j|�}|j|�|S(N(R
R(RREtresult((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s
c@s)t���|j�fd�|D��S(Nc3@s!|]}|�kr|VqdS(N((t.0ta(RE(sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>�s(RiR
(RRE((REsM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytintersection�sc@sLt����j�fd��D��}|j�fd��D��|S(Nc3@s!|]}|�kr|VqdS(N((RsRt(RE(sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>�sc3@s!|]}|�kr|VqdS(N((RsRt(R(sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>�s(RiR
R(RRERr((RERsM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytsymmetric_difference�sc@s)t���|j�fd�|D��S(Nc3@s!|]}|�kr|VqdS(N((RsRt(RE(sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>�s(RiR
(RRE((REsM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
difference�scC@sKt|�}tj||�g|jD]}||kr&|^q&|_|S(N(Ritintersection_updateR\(RRERt((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRx�s+cC@sptj||�g|jD]}||kr|^q|_|jg|jD]}||krL|^qL7_|S(N(Ritsymmetric_difference_updateR\(RRERt((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRy�s+1cC@s?tj||�g|jD]}||kr|^q|_|S(N(Ritdifference_updateR\(RRERt((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRz�s+N(RRR!RRkReRmRoR&RHR>RFR%t__str__Rt__ior__Rt__or__Rut__and__Rvt__xor__Rwt__sub__Rxt__iand__Ryt__ixor__Rzt__isub__(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRhks6																	tIdentitySetcB@sdeZdZd&d�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d �Z#d!�Z$e$Z%d"�Z&d#�Z'd$�Z(d%�Z)RS('s�A set that considers only object id() for uniqueness.

    This strategy has edge cases for builtin types- it's possible to have
    two 'foo' strings in one of these sets, for example.  Use sparingly.

    cC@s&t�|_|r"|j|�ndS(N(Rt_membersR(RRp((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@s||jt|�<dS(N(R�tid(RR2((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRk�scC@st|�|jkS(N(R�R�(RR2((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRO�scC@s|jt|�=dS(N(R�R�(RR2((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRe�scC@s)y|j|�Wntk
r$nXdS(N(ReRL(RR2((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRo�s
cC@s?y|jj�}|dSWntk
r:td��nXdS(Nispop from an empty set(R�R(RL(Rtpair((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR'�s

cC@s|jj�dS(N(R�R&(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR&�scC@std��dS(Nscannot compare sets using cmp()(R	(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__cmp__�scC@s't|t�r|j|jkStSdS(N(R,R�R�tFalse(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__eq__�scC@s't|t�r|j|jkStSdS(N(R,R�R�tTrue(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__ne__scC@szt||j�r|}n|j|�}t|�t|�krFtSx-t|jjt|jj���D]}tSWt	S(N(
R,R
R9R�RR�ROR;RAR�(RRpREtm((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytissubset
s	%cC@s t|t�stS|j|�S(N(R,R�tNotImplementedR�(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__le__scC@s8t|t�stSt|�t|�ko7|j|�S(N(R,R�R�R9R�(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__lt__scC@szt||j�r|}n|j|�}t|�t|�krFtSx-t|jjt|jj���D]}tSWt	S(N(
R,R
R9R�RR�ROR;RAR�(RRpRER�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
issuperset"s	%cC@s t|t�stS|j|�S(N(R,R�R�R�(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__ge__1scC@s8t|t�stSt|�t|�ko7|j|�S(N(R,R�R�R9R�(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__gt__6scC@sC|j�}|j}|jj|�|jjd�|D��|S(Ncs@s!|]}t|�|fVqdS(N(R�(RsRG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>?s(R
R�R(RRpRrtmembers((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR;s
	cC@s t|t�stS|j|�S(N(R,R�R�R(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR}BscC@s|jjd�|D��dS(Ncs@s!|]}t|�|fVqdS(N(R�(RsRG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>Hs(R�R(RRp((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRGscC@s$t|t�stS|j|�|S(N(R,R�R�R(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR|Js
c@sy|j�}|j}t||j�r?t|jj���nd�|D��|jj�fd�|j�D��|S(NcS@sh|]}t|��qS((R�(RsRG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<setcomp>Vs	c3@s-|]#\}}|�kr||fVqdS(N((RsRCtv(RE(sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>Xs(R
R�R,RiRARRT(RRpRrR�((REsM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRwPs		cC@s t|t�stS|j|�S(N(R,R�R�Rw(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�\scC@s|j|�j|_dS(N(RwR�(RRp((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRzascC@s$t|t�stS|j|�|S(N(R,R�R�Rz(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�ds
c@sy|j�}|j}t||j�r?t|jj���nd�|D��|jj�fd�|j�D��|S(NcS@sh|]}t|��qS((R�(RsRG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<setcomp>ps	c3@s-|]#\}}|�kr||fVqdS(N((RsRCR�(RE(sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>rs(R
R�R,RiRARRT(RRpRrR�((REsM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRujs		cC@s t|t�stS|j|�S(N(R,R�R�Ru(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR~vscC@s|j|�j|_dS(N(RuR�(RRp((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRx{scC@s$t|t�stS|j|�|S(N(R,R�R�Rx(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�~s
c@s�|j�}|j�t||j�r3|j�nd�|D��|jj�fd��j�D��|jj�fd��j�D��|S(NcS@si|]}|t|��qS((R�(RsRG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys
<dictcomp>�s	c3@s-|]#\}}|�kr||fVqdS(N((RsRCR�(RE(sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>�sc3@s-|]#\}}|�kr||fVqdS(N((RsRCR�(R�(sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>�s(R
R�R,RRT(RRpRr((R�REsM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRv�s			cC@s t|t�stS|j|�S(N(R,R�R�Rv(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@s|j|�j|_dS(N(RvR�(RRp((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRy�scC@s$t|t�stS|j|�|S(N(R,R�R�Rv(RRE((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR��s
cC@st|�t|jj���S(N(ttypeR;R�R=(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR0�scC@s
t|j�S(N(R9R�(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR:�scC@st|jj��S(N(R;R�R=(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR>�scC@std��dS(Nsset objects are unhashable(R	(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__hash__�scC@s&dt|�jt|jj��fS(Ns%s(%r)(R�RR<R�R=(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR%�sN(*RRR4R!RRkROReRoR'R&R�R�R�R�R�R�R�R�R�RR}RR|RwR�RzR�RuR~RxR�RvRRyR�R0R_R:R>R�R%(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR��sN																																			tWeakSequencecB@s8eZdd�Zd�Zd�Zd�Zd�ZRS(cC@sJtj|�d�}||_g|D]}tj||�^q%|_dS(NcS@s,|�}|dk	r(|jj|�ndS(N(R!t_storageRe(RgtselfrefR((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt_remove�s	(tweakreftrefR�R�(Rt_WeakSequence__elementsR�Rl((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s	cC@s#|jjtj||j��dS(N(R�RdR�R�R�(RRg((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRd�scC@s
t|j�S(N(R9R�(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR:�scC@sd�d�|jD�D�S(Ncs@s!|]}|dk	r|VqdS(N(R!(RsRG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>�scs@s|]}|�VqdS(N((RsR�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>�s(R�(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR>�scC@s@y|j|}Wn!tk
r4td|��nX|�SdS(NsIndex %s out of range(R�RLt
IndexError(RtindexRG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRH�s

((RRRRdR:R>RH(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR��s

			tOrderedIdentitySetcB@seZdd�ZRS(cC@sDtj|�t�|_|r@x|D]}|j|�q&WndS(N(R�RRXR�Rk(RRpto((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s


N(RRR!R(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR��stPopulateDictcB@s eZdZd�Zd�ZRS(s�A dict which populates missing values via a creation function.

    Note the creation function takes a key, unlike
    collections.defaultdict.

    cC@s
||_dS(N(tcreator(RR�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@s|j|�||<}|S(N(R�(RR1tval((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__missing__�s(RRR4RR�(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR��s	tWeakPopulateDictcB@s eZdZd�Zd�ZRS(saLike PopulateDict, but assumes a self + a method and does not create
    a reference cycle.

    cC@s+|j|_|j}tj|�|_dS(N(t__func__R�t__self__R�R�tweakself(Rtcreator_methodR�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s	cC@s$|j|j�|�||<}|S(N(R�R�(RR1R�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR��s (RRR4RR�(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR��s	cC@sttj|��S(N(tpropertytoperatort
itemgetter(tidx((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt<lambda>
tcC@s�t�}|j}|sHg|D]%}||kr||�r|^qSg|D]1}||�|krO|||��rO|^qOSdS(N(RiRk(tseqthashfunctseentseen_addtx((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRjs		0
tUniqueAppendercB@s,eZdZdd�Zd�Zd�ZRS(s�Appends items to a collection ensuring uniqueness.

    Additional appends() of the same object are ignored.  Membership is
    determined by identity (``is a``) not equality (``==``).
    cC@sm||_i|_|r-t||�|_n<t|d�rK|j|_nt|d�ri|j|_ndS(NRdRk(R8t_uniquetgetattrt_data_appenderR`RdRk(RR8tvia((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR"s		cC@s<t|�}||jkr8|j|�t|j|<ndS(N(R�R�R�R�(RRgtid_((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRd,s
cC@s
t|j�S(N(R;R8(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR>2sN(RRR4R!RRdR>(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s
	cC@s>t|�dkr6t|dtj�r6t|d�S|SdS(Nii(R9R,ttypest
GeneratorTypeR<(R
((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytcoerce_generator_arg6s(cC@s^|dkr|St|tj�s6t|tt�r=|gSt|t�rP|St|�SdS(N(R!R,RtIterableRRR<(R�RR((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytto_list=scC@s/t|jg|D]}|jr|^q��S(s�return True if any items of set\_ are present in iterable.

    Goes through special effort to ensure __hash__ is not called
    on items in iterable that don't support it.

    (tboolRuR�(tset_Rpti((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pythas_intersectionJscC@s:|dkrt�St|t�s2tt|��S|SdS(N(R!RiR,R�(R�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytto_setUs
cC@s:|dkrt�St|t�s2tt|��S|SdS(N(R!t
column_setR,R�(R�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
to_column_set^s
cK@s3|j�}|r"|j|�n|j|�|S(s5Copy the given dict and update with the given values.(R0R(R#t_newR((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytupdate_copygs

cc@sXxQ|D]I}t|t�rKt|d�rKx!t|�D]}|Vq9Wq|VqWdS(s�Given an iterator of which further sub-elements may also be
    iterators, flatten the sub-elements into a single iterator.

    R>N(R,RBR`tflatten_iterator(R�telemty((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�qs

tLRUCachecB@sweZdZdZdddd�Zd	�Zdd
�Zd�Zd�Z	d
�Z
d�Zed��Z
d�ZRS(s�Dictionary with 'squishy' removal of least
    recently used items.

    Note that either get() or [] should be used here, but
    generally its not safe to do an "in" check first as the dictionary
    can change subsequent to that call.

    tcapacityt	thresholdt
size_alertt_countert_mutexidg�?cC@s7||_||_||_d|_tj�|_dS(Ni(R�R�R�R�RtLockR�(RR�R�R�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s
				cC@s|jd7_|jS(Ni(R�(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt_inc_counter�scC@sAtj|||�}||k	r9|j�|d<|dS|SdS(Nii(RRSR�(RR1RRRg((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRS�s
cC@s*tj||�}|j�|d<|dS(Nii(RRHR�(RR1Rg((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRH�scC@s$gtj|�D]}|d^qS(Ni(RR=(RR�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR=�scC@s&||kr||S|||<|SdS(N((RR1R2((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR)�s
cC@satj||�}|dkrI|||j�g}tj|||�n
||d<|j�dS(Ni(RRSR!R�Rt_manage_size(RR1R2Rg((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s
cC@s|j|j|jS(N(R�R�(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytsize_threshold�scC@s�|jjt�sdSz�t|j�}x�t|�|j|j|jkr�|rjt}|j|�ntt	j
|�dtjd�dt
�}x;||jD],}y||d=Wq�tk
r�q�q�Xq�Wq+WWd|jj�XdS(NR1itreversei(R�tacquireR�R�R�R9R�R�RYRR=R�R�R�RLtrelease(RR�t
by_counterRg((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR��s &'
(R�R�R�R�R�N(RRR4RVR!RR�RSRHR=R)RR�R�R�(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�~s						tScopedRegistrycB@s;eZdZd�Zd�Zd�Zd�Zd�ZRS(s�A Registry that can store one or multiple instances of a single
    class on the basis of a "scope" function.

    The object implements ``__call__`` as the "getter", so by
    calling ``myregistry()`` the contained object is returned
    for the current scope.

    :param createfunc:
      a callable that returns a new object to be placed in the registry

    :param scopefunc:
      a callable that will return a key to store/retrieve an object.
    cC@s||_||_i|_dS(sVConstruct a new :class:`.ScopedRegistry`.

        :param createfunc:  A creation function that will generate
          a new value for the current scope, if none is present.

        :param scopefunc:  A function that returns a hashable
          token representing the current scope (such as, current
          thread identifier).

        N(t
createfunct	scopefunctregistry(RR�R�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s		cC@sI|j�}y|j|SWn'tk
rD|jj||j��SXdS(N(R�R�RLR)R�(RR1((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__call__�s

cC@s|j�|jkS(s9Return True if an object is present in the current scope.(R�R�(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pythas�scC@s||j|j�<dS(s$Set the value for the current scope.N(R�R�(RRG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRi�scC@s,y|j|j�=Wntk
r'nXdS(s Clear the current scope, if any.N(R�R�RL(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR&�s
(RRR4RR�R�RiR&(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR��s
				tThreadLocalRegistrycB@s;eZdZd�Zd�Zd�Zd�Zd�ZRS(s\A :class:`.ScopedRegistry` that uses a ``threading.local()``
    variable for storage.

    cC@s||_tj�|_dS(N(R�RtlocalR�(RR�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR
s	cC@s=y|jjSWn(tk
r8|j�}|j_|SXdS(N(R�R2RMR�(RR�((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s

cC@st|jd�S(NR2(R`R�(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�scC@s||j_dS(N(R�R2(RRG((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRiscC@s%y
|j`Wntk
r nXdS(N(R�R2RM(R((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR&s

(RRR4RR�R�RiR&(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR�s				cC@sDd}x7|D]/}||kr
|d7}|dkr<tSq
q
WtS(srGiven a sequence and search object, return True if there's more
    than one, False if zero or one of them.


    ii(R�R�(tsequencettargettcRg((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt	has_dupes%s


(>R4t
__future__RR�R�R�tcompatRRRRRRRt	frozensett	EMPTY_SETR7RR*tsqlalchemy.cimmutabledictRtMappingtregistertImportErrorRR-R+RR.R5RWRPR!RZRXR[RiRhR�R�R�R�R�R�tcolumn_dicttordered_column_setR�t_getterst_property_gettersRjR�R�R�R�R�R�R�R�R�R�R�R�(((sM/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt<module>sr		:
	
			O

	ej�"	
	
					
	
Q8