ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ 4]c@snddlZddlmZddlmZeZde fdYZ eZ de fdYZ dS( iNi(texc(tcompatt BasicEntitycBseZdZdZRS(cKs1x*|jD]\}}t|||q WdS(N(titemstsetattr(tselftkwtkeytvalue((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/entities.pyt__init__sc Cst|tkrtj|Stjt|zed|jjdjgt|j j D].}|j ds]d|t ||f^q]fSWdtj t|XdS(Ns%s(%s)s, t_s%s=%r(tidt _repr_stacktobjectt__repr__taddt __class__t__name__tjointsortedt__dict__tkeyst startswithtgetattrtremove(RR((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/entities.pyRs  7(Rt __module__R R(((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/entities.pyRs tComparableEntitycBs#eZdZdZdZRS(cCs t|jS(N(thashR(R((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/entities.pyt__hash__+scCs|j| S(N(t__eq__(Rtother((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/entities.pyt__ne__.scCs||krtS|j|jks&tSt|tkr<tStjt|zytjjj |j }Wn tjj j k rd}nX|dkr|}|}n'|dk r|}|}n |}|}xt|jD]}|jdrqnt||}yt||}Wnttjfk r=tSXt|drt|tj rt|drt|d rt|t|krtSqt|t|krtSq|dk r||krtSqWtSWdtjt|XdS(s'Deep, sparse compare. Deeply compare two entities, following the non-None attributes of the non-persisted object, if possible. R t__iter__t __getitem__RN(tTrueRtFalseR t_recursion_stackRtsatormt attributestinstance_stateRRtNO_STATEtNonetlistRRRtAttributeErrortsa_exctUnboundExecutionErrorthasattrt isinstanceRt string_typestsetR(RRtself_keytatbtattrRtbattr((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/entities.pyR1sP       (RRRRR(((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/entities.pyR*s  ( t sqlalchemyR%tRR-tutilRR2R R RR$R(((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/entities.pyts