Ë
    š”eIe ã                   óÐ  — d Z ddlZddlmZ ddlmZ ddlmZ  e«       Z G d„ dej                  «      Z	 G d„ d	ej                  «      Z
 G d
„ dej                  «      Z G d„ dej                  «      Z G d„ dee«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ deeej                  «      Z G d„ deej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d „ d!e«      Z G d"„ d#e«      Z G d$„ d%ej                  «      Z G d&„ d'ej                  «      Z G d(„ d)«      Zd*„ Zd+„ Z G d,„ d-«      Zy).zTest Interface implementation
é    N)ÚMissingSomeAttrs)ÚOptimizationTestMixin)ÚCleanUpc                   ó   — e Zd Zd„ Zd„ Zy)ÚTest_invariantc                 ó€   ‡‡— ddl mŠ ddl m} d„ Š G ˆˆfd„d«      }| j                  t	        ||d «      d‰gi«       y )Nr   ©Ú	invariant©ÚTAGGED_DATAc                  ó   — t        «       ‚©N©ÚNotImplementedError©ÚargsÚkws     úE/usr/lib/python3/dist-packages/zope/interface/tests/test_interface.pyÚ_checkz,Test_invariant.test_w_single.<locals>._check'   ó   € Ü%Ó'Ð'ó    c                   ó"   •— e Zd Z W °W ° «       y)ú)Test_invariant.test_w_single.<locals>.FooN©Ú__name__Ú
__module__Ú__qualname__)r   r
   s   €€r   ÚFoor   *   s   ø„ Ú‘fÕr   r   Ú
invariants©Úzope.interface.interfacer
   r   ÚassertEqualÚgetattr)Úselfr   r   r   r
   s      @@r   Útest_w_singlezTest_invariant.test_w_single#   s=   ù€ Ý6Ý8ò	(÷	ô 	ð 	×Ñœ  k°4Ó8Ø&¨¨Ð1õ	3r   c                 óŒ   ‡‡‡— ddl mŠ ddl m} d„ Šd„ Š G ˆˆˆfd„d«      }| j                  t	        ||d «      d‰‰gi«       y )	Nr   r	   r   c                  ó   — t        «       ‚r   r   r   s     r   r   z.Test_invariant.test_w_multiple.<locals>._check4   r   r   c                  ó   — t        «       ‚r   r   r   s     r   Ú_another_checkz6Test_invariant.test_w_multiple.<locals>._another_check7   r   r   c                   ó6   •— e Zd Z W °W °«        W °W ° «       y)ú+Test_invariant.test_w_multiple.<locals>.FooNr   )r)   r   r
   s   €€€r   r   r+   :   s   ø„ Ú‘fÔÚ‘nÕ%r   r   r   r    )r$   r   r   r)   r   r
   s      @@@r   Útest_w_multiplezTest_invariant.test_w_multiple0   sF   ú€ Ý6Ý8ò	(ò	(÷	&õ 	&ð 	×Ñœ  k°4Ó8Ø&¨°Ð(@ÐAõ	Cr   N)r   r   r   r%   r,   © r   r   r   r   !   s   „ ò3óCr   r   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTest_taggedValuec                 óv   ‡— ddl mŠ ddl m}  G ˆfd„d«      }| j                  t	        ||d «      ddgi«       y )Nr   ©ÚtaggedValuer   c                   ó$   •— e Zd Z W ° ddg«       y)ú+Test_taggedValue.test_w_single.<locals>.FooÚbarÚbazNr   r1   s   €r   r   r4   H   s   ø„ Ú˜ ˜wÕ'r   r   r5   r6   ©r!   r2   r   r"   r#   ©r$   r   r   r2   s      @r   r%   zTest_taggedValue.test_w_singleD   s8   ø€ Ý8Ý8÷	(ó 	(ð 	×Ñœ  k°4Ó8Ø % Ð)õ	+r   c                 óx   ‡— ddl mŠ ddl m}  G ˆfd„d«      }| j                  t	        ||d «      dgddœ«       y )	Nr   r1   r   c                   ó8   •— e Zd Z W ° ddg«        W ° dd«       y)ú-Test_taggedValue.test_w_multiple.<locals>.Foor5   r6   ÚquxÚspamNr   r1   s   €r   r   r;   R   s   ø„ Ú˜ ˜wÔ'Ú˜˜vÕ&r   r   r6   r=   ©r5   r<   r7   r8   s      @r   r,   z Test_taggedValue.test_w_multipleN   s8   ø€ Ý8Ý8÷	'ó 	'ð 	×Ñœ  k°4Ó8Ø"' °Ñ8õ	:r   c                 óv   ‡— ddl mŠ ddl m}  G ˆfd„d«      }| j                  t	        ||d «      dddœ«       y )	Nr   r1   r   c                   óL   •— e Zd Z W ° ddg«        W ° dd«        W ° dd«       y)ú9Test_taggedValue.test_w_multiple_overwriting.<locals>.Foor5   r6   r<   r=   ÚfrobNr   r1   s   €r   r   rA   ]   s#   ø„ Ú˜ ˜wÔ'Ú˜˜vÔ&Ú˜˜vÕ&r   r   rB   r=   r>   r7   r8   s      @r   Útest_w_multiple_overwritingz,Test_taggedValue.test_w_multiple_overwritingY   s6   ø€ Ý8Ý8÷	'ó 	'ð
 	×Ñœ  k°4Ó8Ø!'°Ñ7õ	9r   N)r   r   r   r%   r,   rC   r-   r   r   r/   r/   B   s   „ ò+ò	:ó
9r   r/   c                   ó`   — e Zd ZdZd„ Zdd„Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚElementTestsÚ	AnElementc                 ó   — ddl m} |S )Nr   )ÚElement)r!   rH   )r$   rH   s     r   Ú_getTargetClasszElementTests._getTargetClassj   s
   € Ý4Øˆr   Nc                 óJ   — |€| j                   } | j                  «       |«      S r   )ÚDEFAULT_NAMErI   )r$   Únames     r   Ú_makeOnezElementTests._makeOnen   s(   € Øˆ<Ø×$Ñ$ˆDØ%ˆt×#Ñ#Ó% dÓ+Ð+r   c                 óŽ  — | j                  «       }| j                  |j                  | j                  «       | j                  |j	                  «       | j                  «       | j                  |j
                  d«       | j                  |j                  «       d«       | j                  t        |j                  «       «      g «       y )NÚ )	rM   r"   r   rK   ÚgetNameÚ__doc__ÚgetDocÚlistÚgetTaggedValueTags©r$   Úelements     r   Útest_ctor_defaultszElementTests.test_ctor_defaultss   s�   € Ø—-‘-“/ˆØ×Ñ˜×)Ñ)¨4×+<Ñ+<Ô=Ø×Ñ˜Ÿ™Ó*¨D×,=Ñ,=Ô>Ø×Ñ˜Ÿ™¨"Ô-Ø×Ñ˜Ÿ™Ó)¨2Ô.Ø×Ñœ˜g×8Ñ8Ó:Ó;¸RÕ@r   c                 ó–   — | j                  d«      }| j                  |j                  d «       | j                  |j                  d«       y )Nz
An Element)rM   r"   r   rQ   rU   s     r   Útest_ctor_no_doc_space_in_namez+ElementTests.test_ctor_no_doc_space_in_name{   s:   € Ø—-‘- Ó-ˆØ×Ñ˜×)Ñ)¨4Ô0Ø×Ñ˜Ÿ™¨,Õ7r   c                 óf   — | j                  «       }| j                  t        |j                  d«       y ©NÚnonesuch)rM   ÚassertRaisesÚKeyErrorÚgetTaggedValuerU   s     r   Útest_getTaggedValue_missz%ElementTests.test_getTaggedValue_miss€   s%   € Ø—-‘-“/ˆØ×Ñœ( G×$:Ñ$:¸JÕGr   c                 óî   — | j                  «       }| j                  g t        |j                  «       «      «       |j	                  dd«       | j                  dgt        |j                  «       «      «       y ©NÚfoor5   )rM   r"   rS   ÚgetDirectTaggedValueTagsÚsetTaggedValuerU   s     r   Útest_getDirectTaggedValueTagsz*ElementTests.test_getDirectTaggedValueTags„   s[   € Ø—-‘-“/ˆØ×Ñ˜œT '×"BÑ"BÓ"DÓEÔFà×Ñ˜u eÔ,Ø×Ñ˜%˜¤$ w×'GÑ'GÓ'IÓ"JÕKr   c                 óf   — | j                  «       }| j                  |j                  d«      d «       y r[   ©rM   r"   ÚqueryTaggedValuerU   s     r   Útest_queryTaggedValue_missz'ElementTests.test_queryTaggedValue_miss‹   s(   € Ø—-‘-“/ˆØ×Ñ˜×1Ñ1°*Ó=¸tÕDr   c                 óh   — | j                  «       }| j                  |j                  dd«      d«       y ©Nr\   r5   rh   rU   s     r   Ú$test_queryTaggedValue_miss_w_defaultz1ElementTests.test_queryTaggedValue_miss_w_default�   s*   € Ø—-‘-“/ˆØ×Ñ˜×1Ñ1°*¸eÓDÀeÕLr   c                 óf   — | j                  «       }| j                  t        |j                  d«       y r[   )rM   r]   r^   ÚgetDirectTaggedValuerU   s     r   Útest_getDirectTaggedValue_missz+ElementTests.test_getDirectTaggedValue_miss“   s%   € Ø—-‘-“/ˆØ×Ñœ( G×$@Ñ$@À*ÕMr   c                 óf   — | j                  «       }| j                  |j                  d«      d «       y r[   ©rM   r"   ÚqueryDirectTaggedValuerU   s     r   Ú test_queryDirectTaggedValue_missz-ElementTests.test_queryDirectTaggedValue_miss—   s(   € Ø—-‘-“/ˆØ×Ñ˜×7Ñ7¸
ÓCÀTÕJr   c                 óh   — | j                  «       }| j                  |j                  dd«      d«       y rl   rr   rU   s     r   Ú*test_queryDirectTaggedValue_miss_w_defaultz7ElementTests.test_queryDirectTaggedValue_miss_w_default›   s*   € Ø—-‘-“/ˆØ×Ñ˜×7Ñ7¸
ÀEÓJÈEÕRr   c                 ó   — | j                  «       }|j                  dd«       | j                  t        |j	                  «       «      dg«       | j                  |j                  d«      d«       | j                  |j                  d«      d«       y rb   )rM   re   r"   rS   rT   r_   ri   rU   s     r   Útest_setTaggedValuez ElementTests.test_setTaggedValueŸ   ss   € Ø—-‘-“/ˆØ×Ñ˜u eÔ,Ø×Ñœ˜g×8Ñ8Ó:Ó;¸e¸WÔEØ×Ñ˜×/Ñ/°Ó6¸Ô>Ø×Ñ˜×1Ñ1°%Ó8¸%Õ@r   c                 óN   — ddl m} ddlm} | j	                  «       } |||«       y )Nr   )ÚIElement©ÚverifyObject)Úzope.interface.interfacesrz   Úzope.interface.verifyr|   rM   )r$   rz   r|   rV   s       r   Útest_verifieszElementTests.test_verifies¦   s   € Ý6Ý6à—-‘-“/ˆÙ�X˜wÕ'r   r   )r   r   r   rK   rI   rM   rW   rY   r`   rf   rj   rm   rp   rt   rv   rx   r   r-   r   r   rE   rE   f   sQ   „ à€Lòó,ò
Aò8ò
HòLòEòMòNòKòSòAó(r   rE   c                   ó(   — e Zd Zd„ ZeZd„ Zd„ Zd„ Zy)ÚGenericSpecificationBaseTestsc                 ó   — ddl m} |S )Nr   )ÚSpecificationBasePy)r!   rƒ   )r$   rƒ   s     r   Ú_getFallbackClassz/GenericSpecificationBaseTests._getFallbackClass°   s   € Ý@Ø"Ð"r   c                 ó,   —  | j                  «       «       S r   ©rI   ©r$   s    r   rM   z&GenericSpecificationBaseTests._makeOne¶   s   € Ø%ˆt×#Ñ#Ó%Ó'Ð'r   c                 óÜ   ‡— ddl m} ddlmŠ | j	                  «       }ˆfd„}t        ||¬«      5  | j                  |j                  t        «       «      «       d d d «       y # 1 sw Y   y xY w)Nr   ©Ú	interface©Ú_emptyc                 ó   •— ‰S r   r-   ©ÚobjrŒ   s    €r   Ú_providedByzGGenericSpecificationBaseTests.test_providedBy_miss.<locals>._providedBy½   ó   ø€ ØˆMr   ©Ú
providedBy)	Úzope.interfacerŠ   Úzope.interface.declarationsrŒ   rM   Ú_MonkeyÚassertFalser“   Úobject)r$   rŠ   Úsbr�   rŒ   s       @r   Útest_providedBy_missz2GenericSpecificationBaseTests.test_providedBy_miss¹   sQ   ø€ Ý,Ý6Ø�]‰]‹_ˆô	ä�Y¨;Ô7ñ 	6Ø×Ñ˜RŸ]™]¬6«8Ó4Ô5÷	6÷ 	6ñ 	6úó   °)A"Á"A+c                 óÜ   ‡— ddl m} ddlmŠ | j	                  «       }ˆfd„}t        ||¬«      5  | j                  |j                  t        «       «      «       d d d «       y # 1 sw Y   y xY w)Nr   r‰   r‹   c                 ó   •— ‰S r   r-   rŽ   s    €r   Ú_implementedByzMGenericSpecificationBaseTests.test_implementedBy_miss.<locals>._implementedByÆ   r‘   r   ©ÚimplementedBy)	r”   rŠ   r•   rŒ   rM   r–   r—   r    r˜   )r$   rŠ   r™   rž   rŒ   s       @r   Útest_implementedBy_missz5GenericSpecificationBaseTests.test_implementedBy_missÂ   sS   ø€ Ý,Ý6Ø�]‰]‹_ˆô	ä�Y¨nÔ=ñ 	9Ø×Ñ˜R×-Ñ-¬f«hÓ7Ô8÷	9÷ 	9ñ 	9úr›   N)r   r   r   r„   rI   rM   rš   r¡   r-   r   r   r�   r�   ®   s   „ ò#ð (€Oò(ò6ó9r   r�   c                   ó   — e Zd Zd„ Zy)ÚSpecificationBaseTestsc                 ó   — ddl m} |S )Nr   )ÚSpecificationBase)r!   r¥   )r$   r¥   s     r   rI   z&SpecificationBaseTests._getTargetClassÐ   s   € Ý>Ø Ð r   N©r   r   r   rI   r-   r   r   r£   r£   Ì   s   „ ó!r   r£   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚSpecificationBasePyTestsc                 ó‚   — | j                  «       }i |_        | j                  |j                  t	        «       «      «       y r   ©rM   Ú_impliedr—   ÚisOrExtendsr˜   ©r$   r™   s     r   Útest___call___missz+SpecificationBasePyTests.test___call___miss×   ó-   € Ø�]‰]‹_ˆØˆŒØ×Ñ˜Ÿ™¬«Ó1Õ2r   c                 óx   — | j                  «       }t        «       }|i i|_        | j                   ||«      «       y r   ©rM   r˜   r«   Ú
assertTrue©r$   r™   Útestings      r   Útest___call___hitz*SpecificationBasePyTests.test___call___hitÜ   ó/   € Ø�]‰]‹_ˆÜ“(ˆØ �mˆŒØ�‰™˜7›Õ$r   c                 ó‚   — | j                  «       }i |_        | j                  |j                  t	        «       «      «       y r   rª   r­   s     r   Útest_isOrExtends_missz.SpecificationBasePyTests.test_isOrExtends_missâ   r¯   r   c                 óx   — | j                  «       }t        «       }|i i|_        | j                   ||«      «       y r   r±   r³   s      r   Útest_isOrExtends_hitz-SpecificationBasePyTests.test_isOrExtends_hitç   r¶   r   c                 óê   ‡‡— ddl m} | j                  «       Š G ˆfd„d«      Šˆfd„}t        ||¬«      5  | j	                  ‰j                  t        «       «      «       d d d «       y # 1 sw Y   y xY w)Nr   r‰   c                   ó   •— e Zd ZW ° i iZy)ú>SpecificationBasePyTests.test_implementedBy_hit.<locals>._DeclN©r   r   r   r«   ©r™   s   €r   Ú_Declr½   ð   ó   ø„ Ù˜B�y‰Hr   rÀ   c                 ó   •—  ‰«       S r   r-   ©r�   rÀ   s    €r   rž   zGSpecificationBasePyTests.test_implementedBy_hit.<locals>._implementedByò   ó
   ø€ Ù“7ˆNr   rŸ   )r”   rŠ   rM   r–   r²   r    r˜   )r$   rŠ   rž   rÀ   r™   s      @@r   Útest_implementedBy_hitz/SpecificationBasePyTests.test_implementedBy_hití   sX   ù€ Ý,Ø�]‰]‹_ˆ÷	!ó 	!ô	ä�Y¨nÔ=ñ 	8Ø�O‰O˜B×,Ñ,¬V«XÓ6Ô7÷	8÷ 	8ñ 	8úó   ·)A)Á)A2c                 óê   ‡‡— ddl m} | j                  «       Š G ˆfd„d«      Šˆfd„}t        ||¬«      5  | j	                  ‰j                  t        «       «      «       d d d «       y # 1 sw Y   y xY w)Nr   r‰   c                   ó   •— e Zd ZW ° i iZy)ú;SpecificationBasePyTests.test_providedBy_hit.<locals>._DeclNr¾   r¿   s   €r   rÀ   rÉ   ú   rÁ   r   rÀ   c                 ó   •—  ‰«       S r   r-   rÃ   s    €r   r�   zASpecificationBasePyTests.test_providedBy_hit.<locals>._providedByü   rÄ   r   r’   )r”   rŠ   rM   r–   r²   r“   r˜   )r$   rŠ   r�   rÀ   r™   s      @@r   Útest_providedBy_hitz,SpecificationBasePyTests.test_providedBy_hit÷   sV   ù€ Ý,Ø�]‰]‹_ˆ÷	!ó 	!ô	ä�Y¨;Ô7ñ 	5Ø�O‰O˜BŸM™M¬&«(Ó3Ô4÷	5÷ 	5ñ 	5úrÆ   N)	r   r   r   r®   rµ   r¸   rº   rÅ   rË   r-   r   r   r¨   r¨   Ô   s    „ ò3ò
%ò3ò
%ò8ó5r   r¨   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú!NameAndModuleComparisonTestsMixinc                 ó&   — | j                  dd«      S )NÚaÚb)rM   r‡   s    r   Ú_makeOneToComparez3NameAndModuleComparisonTestsMixin._makeOneToCompare  s   € Ø�}‰}˜S #Ó&Ð&r   c                 ó°  ‡— dd l }| j                  «       }t        ||«      }t        |d|z  «      } G ˆfd„d«      Š G d„ d‰«      } G d„ d‰«      }| j                   |«       j                  d	«       | j                   |«       j
                  d	«       | j                  t        «      5  t         |«       d
«       d d d «       | j                  t        «      5  t         |«       d«       d d d «       ||fD ]#  }| j                   | |«       «      t        «       Œ%  G d„ d‰«      }	| j                   || |	«       «      «       | j                   | |	«       «      t        «        G d„ d«      }
| j                   | |
«       «      t        «       | j                  t        «      5   || |
«       «       d d d «        G d„ dt        «      }|‰_        | j                  |«      5  t         |«       d
«       d d d «       | j                  |«      5  t         |«       d«       d d d «       ||fD ]Q  }| j                  |«      5   || |«       «       d d d «       | j                  |«      5   | |«       «       d d d «       ŒS y # 1 sw Y   �ŒÈxY w# 1 sw Y   �Œ¦xY w# 1 sw Y   ŒèxY w# 1 sw Y   Œ³xY w# 1 sw Y   Œ”xY w# 1 sw Y   ŒqxY w# 1 sw Y   Œ¨xY w)Nr   z__%s__c                   ó   •— e Zd ZeZˆ fd„Zy)úaNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnMissingc                 ót   •— 	 t         j                  | |«      S # t        $ r ‰j                  } ||«      ‚w xY wr   )r˜   Ú__getattribute__ÚAttributeErrorÚExc)r$   rL   ÚexcÚRaisesErrorOnMissings      €r   rÖ   zrNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnMissing.__getattribute__  s>   ø€ ð$Ü!×2Ñ2°4¸Ó>Ð>øÜ%ò $Ø.×2Ñ2�CÙ˜d›)�Oð$ús   ƒ ™7N)r   r   r   r×   rØ   rÖ   )rÚ   s   €r   rÚ   rÔ     s   ø„ Ø ˆCõ$r   rÚ   c                   ó"   — e Zd Zd„ Zed„ «       Zy)ú`NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnModulec                 ó   — d| _         y ©Nrc   )r   r‡   s    r   Ú__init__ziNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnModule.__init__  s	   € Ø %�•r   c                 ó   — t         ‚r   )r×   r‡   s    r   r   zkNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnModule.__module__  s   € ä$Ð$r   N)r   r   r   rß   Úpropertyr-   r   r   ÚRaisesErrorOnModulerÜ     s   „ ò&àñ%ó ñ%r   râ   c                   ó   — e Zd Zd„ Zy)ú^NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnNamec                 ó   — d| _         y rÞ   ©r   r‡   s    r   rß   zgNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.RaisesErrorOnName.__init__$  s	   € Ø"'�•r   N©r   r   r   rß   r-   r   r   ÚRaisesErrorOnNamerä   #  s   „ ó(r   rè   rc   r   r   c                   ó&   — e Zd Zd„ ZeZeZeZeZeZy)ú`NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.AllowsAnyComparisonc                  ó   — y©NTr-   )r$   Úothers     r   Ú__eq__zgNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.AllowsAnyComparison.__eq__5  ó   € Ør   N©	r   r   r   rî   Ú__lt__Ú__le__Ú__gt__Ú__ge__Ú__ne__r-   r   r   ÚAllowsAnyComparisonrê   4  s    „ òàˆFØˆFØˆFØˆFØ‰Fr   rö   c                   ó$   — e Zd ZdZeZeZeZeZeZy)ú_NameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.AllowsNoComparisonNrð   r-   r   r   ÚAllowsNoComparisonrø   A  s    „ ØˆFØˆFØˆFØˆFØˆFØ‰Fr   rù   c                   ó   — e Zd Zy)úXNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison.<locals>.MyExceptionNr   r-   r   r   ÚMyExceptionrû   N  ó   „ Ør   rü   )ÚoperatorrÑ   r#   r"   r   r   r]   r×   ÚassertIsÚNotImplementedr²   Ú	TypeErrorÚ	ExceptionrØ   )r$   rL   rþ   ÚibÚopÚmethrâ   rè   Úclsrö   rù   rü   rÚ   s               @r   Ú!__check_NotImplemented_comparisonzCNameAndModuleComparisonTestsMixin.__check_NotImplemented_comparison  sš  ø€ ó 	Ø×#Ñ#Ó%ˆÜ�X˜tÓ$ˆÜ�r˜8 d™?Ó+ˆ÷
	$ó 	$ô	%Ð"6ô 	%ô	(Ð 4ô 	(ð 	×ÑÑ,Ó.×7Ñ7¸Ô?Ø×ÑÑ*Ó,×7Ñ7¸Ô?Ø×Ñœ~Ó.ñ 	9ÜÑ'Ó)¨<Ô8÷	9à×Ñœ~Ó.ñ 	5ÜÑ%Ó'¨Ô4÷	5ð 'Ð(9Ð9ò 	7ˆCØ�M‰M™$™s›u›+¤~Õ6ð	7ô	Ð"6ô 	ð 	�‰™˜2Ñ2Ó4Ó5Ô6Ø�‰‘dÑ.Ó0Ó1´>ÔB÷	ñ 	ð 	�‰‘dÑ-Ó/Ó0´.ÔAØ×ÑœyÓ)ñ 	)ÙˆrÑ%Ó'Ô(÷	)ô	œ)ô 	ð $/ÐÔ à×Ñ˜{Ó+ñ 	9ÜÑ'Ó)¨<Ô8÷	9à×Ñ˜{Ó+ñ 	5ÜÑ%Ó'¨Ô4÷	5ð 'Ð(9Ð9ò 	ˆCØ×"Ñ" ;Ó/ñ Ù�2‘s“u”÷à×"Ñ" ;Ó/ñ Ù‘S“U”÷ð ñ	÷_	9ñ 	9ú÷	5ñ 	5ú÷>	)ð 	)ú÷	9ð 	9ú÷	5ð 	5ú÷ð ú÷ð úsT   Â*JÃJÆ&JÇ$J(ÈJ4ÉK É)KÊJÊJÊJ%Ê(J1Ê4J=Ë K		ËK	c                 ó&   — | j                  d«       y )NÚlt©ÚC_NameAndModuleComparisonTestsMixin__check_NotImplemented_comparisonr‡   s    r   Útest__lt__NotImplementedz:NameAndModuleComparisonTestsMixin.test__lt__NotImplemented^  ó   € Ø×.Ñ.¨tÕ4r   c                 ó&   — | j                  d«       y )NÚler
  r‡   s    r   Útest__le__NotImplementedz:NameAndModuleComparisonTestsMixin.test__le__NotImplementeda  r  r   c                 ó&   — | j                  d«       y )NÚgtr
  r‡   s    r   Útest__gt__NotImplementedz:NameAndModuleComparisonTestsMixin.test__gt__NotImplementedd  r  r   c                 ó&   — | j                  d«       y )NÚger
  r‡   s    r   Útest__ge__NotImplementedz:NameAndModuleComparisonTestsMixin.test__ge__NotImplementedg  r  r   N)	r   r   r   rÑ   r  r  r  r  r  r-   r   r   rÍ   rÍ     s"   „ ò'òUòn5ò5ò5ó5r   rÍ   c                   ó8   — e Zd Zd„ Zd„ Zd	d„Zd„ Zd„ Zd„ Zd„ Z	y)
ÚInterfaceBaseTestsMixinc                 ó   — t         ‚r   r   r‡   s    r   rI   z'InterfaceBaseTestsMixin._getTargetClassn  s   € Ü!Ð!r   c                 ó   — ddl m} |S )Nr   )ÚInterfaceBasePy)r!   r  )r$   r  s     r   r„   z)InterfaceBaseTestsMixin._getFallbackClassq  s   € å<ØÐr   Nc                 óL   ‡—  G ˆfd„d| j                  «       «      } |||«      S )Nc                   ó   •— e Zd Zd„ Zˆ fd„Zy)ú,InterfaceBaseTestsMixin._makeOne.<locals>.IBc                 ó   —  || «      S r   r-   )r$   Úconforms     r   Ú_call_conformz:InterfaceBaseTestsMixin._makeOne.<locals>.IB._call_conformx  s   € Ù˜t“}Ð$r   c                 ó   •— ‰S r   r-   )r$   r�   Úobject_should_provides     €r   r“   z7InterfaceBaseTestsMixin._makeOne.<locals>.IB.providedByz  s	   ø€ Ø,Ð,r   N)r   r   r   r!  r“   )r#  s   €r   ÚIBr  w  s   ø„ ò%õ-r   r$  r†   )r$   r#  rL   Úmoduler$  s    `   r   rM   z InterfaceBaseTestsMixin._makeOnev  s'   ø€ ö	-�×%Ñ%Ó'ô 	-ñ
 �$˜ÓÐr   c                 óŽ   ‡— | j                  d«      }t        «       Š G ˆfd„d«      }| j                   | |«       «      ‰«       y )NFc                   ó   •— e Zd Zˆ fd„Zy)úUInterfaceBaseTestsMixin.test___call___w___conform___returning_value.<locals>._Adaptedc                 ó   •— ‰S r   r-   )r$   ÚifaceÚ	conformeds     €r   Ú__conform__zaInterfaceBaseTestsMixin.test___call___w___conform___returning_value.<locals>._Adapted.__conform__‚  s	   ø€ Ø Ð r   N©r   r   r   r,  )r+  s   €r   Ú_Adaptedr(  �  s   ø„ õ!r   r.  )rM   r˜   rÿ   )r$   r  r.  r+  s      @r   Ú+test___call___w___conform___returning_valuezCInterfaceBaseTestsMixin.test___call___w___conform___returning_value~  s8   ø€ Ø�]‰]˜5Ó!ˆÜ“Hˆ	÷	!ó 	!ð 	�‰‘b™›“n iÕ0r   c                 ó¤   — | j                  d«      }|| j                  «       f}t        «       }t        «       }| j                   |||«      |«       y )NF)rM   rI   r˜   rÿ   )r$   r  Ú__traceback_info__ÚadaptedÚ	alternates        r   Ú7test___call___wo___conform___ob_no_provides_w_alternatezOInterfaceBaseTestsMixin.test___call___wo___conform___ob_no_provides_w_alternate†  sG   € Ø�]‰]˜5Ó!ˆØ ×!5Ñ!5Ó!7Ð7ÐÜ“(ˆÜ“Hˆ	Ø�‰‘b˜ )Ó,¨iÕ8r   c                 óä   — | j                  d«      }| j                  t        «      5 } |t        «       «       d d d «       | j	                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)NFzCould not adapt)rM   r]   r  r˜   ÚassertInÚstrÚ	exception)r$   r  rÙ   s      r   Ú7test___call___w___conform___ob_no_provides_wo_alternatezOInterfaceBaseTestsMixin.test___call___w___conform___ob_no_provides_wo_alternate�  sX   € Ø�]‰]˜5Ó!ˆØ×ÑœyÓ)ð 	¨SÙŒv‹xŒL÷	ð 	�‰Ð'¬¨S¯]©]Ó);Õ<÷	ð 	ús   §A&Á&A/c                 óP   — t        j                  | | j                  «       d¬«       y )Nr,  )Úexpected_missing)r   Útest_raisesrM   r‡   s    r   Ú6test___call___w_no_conform_catches_only_AttributeErrorzNInterfaceBaseTestsMixin.test___call___w_no_conform_catches_only_AttributeError”  s   € Ü×$Ñ$ T¨4¯=©=«?È]Ö[r   )FNN)
r   r   r   rI   r„   rM   r/  r4  r9  r=  r-   r   r   r  r  k  s&   „ ò"òó
 ò1ò9ò=ó\r   r  c                   ó   — e Zd Zd„ Zy)ÚInterfaceBaseTestsc                 ó   — ddl m} |S )Nr   )ÚInterfaceBase)r!   rA  )r$   rA  s     r   rI   z"InterfaceBaseTests._getTargetClassœ  ó   € Ý:ØÐr   Nr¦   r-   r   r   r?  r?  ˜  s   „ ór   r?  c                   ó6   — e Zd Zej                  Zd„ Zd„ Zd„ Zy)ÚInterfaceBasePyTestsc                 óx   — | j                  d«      } G d„ d«      } |«       }| j                   ||«      |«       y )NTc                   ó   — e Zd Zd„ Zy)úSInterfaceBasePyTests.test___call___w___conform___miss_ob_provides.<locals>._Adaptedc                  ó   — y r   r-   ©r$   r*  s     r   r,  z_InterfaceBasePyTests.test___call___w___conform___miss_ob_provides.<locals>._Adapted.__conform__©  rï   r   Nr-  r-   r   r   r.  rG  ¨  ó   „ ór   r.  )rM   rÿ   )r$   r  r.  r2  s       r   Ú,test___call___w___conform___miss_ob_provideszAInterfaceBasePyTests.test___call___w___conform___miss_ob_provides¦  s5   € Ø�]‰]˜4Ó ˆ÷	ñ 	ñ “*ˆØ�‰‘b˜“k 7Õ+r   c                 ó|   — | j                  d«      }t        «       }| j                  |j                  |«      |«       y rì   )rM   r˜   rÿ   Ú	__adapt__)r$   r  r2  s      r   Útest___adapt___ob_providesz/InterfaceBasePyTests.test___adapt___ob_provides®  s.   € Ø�]‰]˜4Ó ˆÜ“(ˆØ�‰�b—l‘l 7Ó+¨WÕ5r   c                 ó  ‡— ddl m} | j                  d«      }t        «       }g Šˆfd„}d„ }t	        |||g¬«      5  | j                  |j                  |«      |«       | j                  ‰||fg«       d d d «       y # 1 sw Y   y xY w)Nr   r‰   Fc                 ó,   •— ‰j                  | |f«       y r   ©Úappend)r*  r�   Ú_misseds     €r   Ú
_hook_misszQInterfaceBasePyTests.test___adapt___ob_no_provides_uses_hooks.<locals>._hook_miss¸  s   ø€ Ø�N‰N˜E 3˜<Õ(r   c                 ó   — |S r   r-   ©r*  r�   s     r   Ú	_hook_hitzPInterfaceBasePyTests.test___adapt___ob_no_provides_uses_hooks.<locals>._hook_hitº  s   € ØˆJr   ©Úadapter_hooks)r”   rŠ   rM   r˜   r–   rÿ   rM  r"   )r$   rŠ   r  r2  rT  rW  rS  s         @r   Ú(test___adapt___ob_no_provides_uses_hooksz=InterfaceBasePyTests.test___adapt___ob_no_provides_uses_hooks³  s{   ø€ Ý,Ø�]‰]˜5Ó!ˆÜ“(ˆØˆô	)ò	ä�Y¨z¸9Ð.EÔFñ 	7Ø�M‰M˜"Ÿ,™, wÓ/°Ô9Ø×Ñ˜W¨¨G } oÔ6÷	7÷ 	7ñ 	7ús   ¼7A<Á<BN)	r   r   r   r  r„   rI   rK  rN  rZ  r-   r   r   rD  rD  ¡  s   „ ð .×?Ñ?€Oò,ò6ó
7r   rD  c                   óp   — e Zd Zd„ Zef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y)ÚSpecificationTestsc                 ó   — ddl m} |S )Nr   )ÚSpecification)r!   r^  )r$   r^  s     r   rI   z"SpecificationTests._getTargetClassÂ  rB  r   c                 óh   — |t         u r | j                  «       «       S  | j                  «       |«      S r   )Ú_markerrI   )r$   Úbasess     r   rM   zSpecificationTests._makeOneÆ  s4   € Ø”GÑØ)�4×'Ñ'Ó)Ó+Ð+Ø%ˆt×#Ñ#Ó% eÓ,Ð,r   c                 óp  — ddl m} | j                  «       }| j                  |j                  d«       | j                  t        |j                  «      d«       | j                  ||j                  v «       | j                  ||j                  v «       | j                  t        |j                  «      d«       y )Nr   ©Ú	Interfacer-   é   )	r!   rd  rM   r"   Ú	__bases__Úlenr«   r²   Ú
dependents)r$   rd  Úspecs      r   Ú	test_ctorzSpecificationTests.test_ctorË  s€   € Ý6Ø�}‰}‹ˆØ×Ñ˜Ÿ™¨Ô,Ø×Ñœ˜TŸ]™]Ó+¨QÔ/Ø�‰˜ §¡Ð-Ô.Ø�‰˜	 T§]¡]Ð2Ô3Ø×Ñœ˜TŸ_™_Ó-¨qÕ1r   c                 óâ   — | j                  «       }t        «       }|j                  |«       | j                  t	        |j
                  «      d«       | j                  |j
                  |   d«       y ©Né   )rM   ÚDummyDependentÚ	subscriber"   rg  rh  ©r$   ri  Údeps      r   Útest_subscribe_first_timez,SpecificationTests.test_subscribe_first_timeÔ  sS   € Ø�}‰}‹ˆÜÓˆØ�‰�sÔØ×Ñœ˜TŸ_™_Ó-¨qÔ1Ø×Ñ˜Ÿ™¨Ñ-¨qÕ1r   c                 óº   — | j                  «       }t        «       }|j                  |«       |j                  |«       | j                  |j                  |   d«       y )Nre  )rM   rn  ro  r"   rh  rp  s      r   Útest_subscribe_againz'SpecificationTests.test_subscribe_againÛ  sF   € Ø�}‰}‹ˆÜÓˆØ�‰�sÔØ�‰�sÔØ×Ñ˜Ÿ™¨Ñ-¨qÕ1r   c                 óz   — | j                  «       }t        «       }| j                  t        |j                  |«       y r   )rM   rn  r]   r^   Úunsubscriberp  s      r   Útest_unsubscribe_missz(SpecificationTests.test_unsubscribe_missâ  s-   € Ø�}‰}‹ˆÜÓˆØ×Ñœ( D×$4Ñ$4°cÕ:r   c                 ó8  — | j                  «       }t        «       }|j                  |«       |j                  |«       |j                  |«       | j	                  |j
                  |   d«       |j                  |«       | j                  ||j
                  v «       y rl  )rM   rn  ro  rv  r"   rh  r—   rp  s      r   Útest_unsubscribez#SpecificationTests.test_unsubscribeç  sy   € Ø�}‰}‹ˆÜÓˆØ�‰�sÔØ�‰�sÔØ×Ñ˜ÔØ×Ñ˜Ÿ™¨Ñ-¨qÔ1Ø×Ñ˜ÔØ×Ñ˜ §¡Ð/Õ0r   c                 ó¾  — ddl m} | j                  «       }t        «       }|j	                  |«        G d„ d|«      } G d„ d|«      }|f|_        | j                  |j                  |g«       | j                  |j                  |   d«       |f|_        | j                  |j                  j                  |«      d «       | j                  |j                  |   d«       y )Nr   rc  c                   ó   — e Zd Zy)úVSpecificationTests.test___setBases_subscribes_bases_and_notifies_dependents.<locals>.INr   r-   r   r   ÚIr|  ö  rý   r   r}  c                   ó   — e Zd Zy)úVSpecificationTests.test___setBases_subscribes_bases_and_notifies_dependents.<locals>.JNr   r-   r   r   ÚJr  ø  rý   r   r€  rm  )
r!   rd  rM   rn  ro  rf  r"   Ú_changedrh  Úget)r$   rd  ri  rq  r}  r€  s         r   Ú8test___setBases_subscribes_bases_and_notifies_dependentszKSpecificationTests.test___setBases_subscribes_bases_and_notifies_dependentsñ  sµ   € Ý6Ø�}‰}‹ˆÜÓˆØ�‰�sÔô	�	ô 	ô	�	ô 	à˜ˆŒØ×Ñ˜Ÿ™¨ vÔ.Ø×Ñ˜Ÿ™ dÑ+¨QÔ/Ø˜ˆŒØ×Ñ˜Ÿ™×)Ñ)¨$Ó/°Ô6Ø×Ñ˜Ÿ™ dÑ+¨QÕ/r   c                 ó  — ddl m}  G d„ d|«      }| j                  «       }d|_        d|j                  |<   |j                  |«       | j                  |j                  «       | j                  ||j                  v «       y )Nr   rc  c                   ó   — e Zd Zy)úGSpecificationTests.test_changed_clears_volatiles_and_implied.<locals>.INr   r-   r   r   r}  r†    rý   r   r}  r   r-   )r!   rd  rM   Ú_v_attrsr«   ÚchangedÚassertIsNoner—   )r$   rd  r}  ri  s       r   Ú)test_changed_clears_volatiles_and_impliedz<SpecificationTests.test_changed_clears_volatiles_and_implied  sf   € Ý6ô	�	ô 	à�}‰}‹ˆØˆŒØˆ�‰�aÑØ�‰�TÔØ×Ñ˜$Ÿ-™-Ô(Ø×Ñ˜˜dŸm™mÐ+Õ,r   c                 ó    — ddl m}  G d„ d|«      }| j                  ||g«      }| j                  t	        |j                  «       «      |g«       y )Nr   rc  c                   ó   — e Zd Zy)úCSpecificationTests.test_interfaces_skips_already_seen.<locals>.IFooNr   r-   r   r   ÚIFoor�    rý   r   rŽ  )r!   rd  rM   r"   rS   Ú
interfaces©r$   rd  rŽ  ri  s       r   Ú"test_interfaces_skips_already_seenz5SpecificationTests.test_interfaces_skips_already_seen  sA   € Ý6ô	�9ô 	à�}‰}˜d D˜\Ó*ˆØ×Ñœ˜dŸo™oÓ/Ó0°4°&Õ9r   c                 óŒ   — ddl m}  G d„ d|«      }| j                  |«      }| j                  |j	                  |d¬«      «       y )Nr   rc  c                   ó   — e Zd Zy)ú<SpecificationTests.test_extends_strict_wo_self.<locals>.IFooNr   r-   r   r   rŽ  r”    rý   r   rŽ  T©Ústrict)r!   rd  rM   r—   Úextendsr�  s       r   Útest_extends_strict_wo_selfz.SpecificationTests.test_extends_strict_wo_self  s:   € Ý6ô	�9ô 	à�}‰}˜TÓ"ˆØ×Ñ˜Ÿ™ d°4˜Ó8Õ9r   c                 óh   — | j                  «       }| j                  |j                  |d¬«      «       y )NTr•  )rM   r—   r—  ©r$   ri  s     r   Útest_extends_strict_w_selfz-SpecificationTests.test_extends_strict_w_self  s(   € Ø�}‰}‹ˆØ×Ñ˜Ÿ™ d°4˜Ó8Õ9r   c                 óh   — | j                  «       }| j                  |j                  |d¬«      «       y )NFr•  )rM   r²   r—  rš  s     r   Útest_extends_non_strict_w_selfz1SpecificationTests.test_extends_non_strict_w_self  s&   € Ø�}‰}‹ˆØ�‰˜Ÿ™ T°%˜Ó8Õ9r   c                 óŽ   — | j                  «       }t        «       }d|i|_        | j                  |j	                  d«      |u «       y rÞ   )rM   r˜   r‡  r²   r‚  )r$   ri  rc   s      r   Útest_get_hit_w__v_attrsz*SpecificationTests.test_get_hit_w__v_attrs"  s8   € Ø�}‰}‹ˆÜ‹hˆØ ˜ˆŒØ�‰˜Ÿ™ ›¨3Ð.Õ/r   c                 ó<  ‡— ddl mŠ ddl m}  G ˆfd„d|«      } G ˆfd„d|«      }| j                  ||g«      }| j	                  |j                  d«      |j                  d«      u «       | j	                  |j                  d	«      |j                  d	«      u «       y )
Nr   ©Ú	Attributerc  c                   ó    •— e Zd Z W ° d«      Zy)úCSpecificationTests.test_get_hit_from_base_wo__v_attrs.<locals>.IFoorc   N)r   r   r   rc   r¡  s   €r   rŽ  r¤  +  ó   ø„ Ú˜EÓ"‰Cr   rŽ  c                   ó    •— e Zd Z W ° d«      Zy)úCSpecificationTests.test_get_hit_from_base_wo__v_attrs.<locals>.IBarr5   N©r   r   r   r5   r¡  s   €r   ÚIBarr§  -  r¥  r   r©  rc   r5   )r!   r¢  rd  rM   r²   r‚  )r$   rd  rŽ  r©  ri  r¢  s        @r   Ú"test_get_hit_from_base_wo__v_attrsz5SpecificationTests.test_get_hit_from_base_wo__v_attrs(  su   ø€ Ý6Ý6ö	#�9ô 	#ö	#�9ô 	#à�}‰}˜d D˜\Ó*ˆØ�‰˜Ÿ™ ›¨4¯8©8°E«?Ð:Ô;Ø�‰˜Ÿ™ ›¨4¯8©8°E«?Ð:Õ;r   c           
      óH  — ddl m} ddlm} ddlm}  G d„ d|«      } G d„ d«      } G d	„ d
|«      } G d„ d|«      } ||«       G d„ d«      «       } G d„ d||«      }	| j                   ||	«      j                   ||	«       ||«      | ||«       |t        «      |f«       y )Nr   rc  ©ÚimplementerrŸ   c                   ó   — e Zd Zy)úTSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.IDefaultViewNameNr   r-   r   r   ÚIDefaultViewNamer¯  =  rý   r   r°  c                   ó   — e Zd Zy)úKSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.ContextNr   r-   r   r   ÚContextr²  @  rý   r   r³  c                   ó   — e Zd Zy)úLSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.RDBModelNr   r-   r   r   ÚRDBModelrµ  C  rý   r   r¶  c                   ó   — e Zd Zy)úJSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.IOtherNr   r-   r   r   ÚIOtherr¸  F  rý   r   r¹  c                   ó   — e Zd Zy)úMSpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.OtherBaseNr   r-   r   r   Ú	OtherBaser»  I  ó   „ àr   r¼  c                   ó   — e Zd Zy)úISpecificationTests.test_multiple_inheritance_no_interfaces.<locals>.ModelNr   r-   r   r   ÚModelr¿  M  rý   r   rÀ  )r!   rd  r•   r­  r    r"   Ú__sro__r˜   )
r$   rd  r­  r    r°  r³  r¶  r¹  r¼  rÀ  s
             r   Ú'test_multiple_inheritance_no_interfacesz:SpecificationTests.test_multiple_inheritance_no_interfaces3  s°   € õ 	7Ý;Ý=ô	˜yô 	÷	ñ 	ô	�wô 	ô	�Yô 	ñ 
�VÓ	÷	ð 	ó 
ð	ô	�I˜wô 	ð 	×ÑÙ˜%Ó ×(Ñ(á˜eÓ$Ù˜iÓ(ØÙ˜gÓ&ÙœfÓ%Øðõ
	
r   N)r   r   r   rI   r`  rM   rj  rr  rt  rw  ry  rƒ  rŠ  r‘  r˜  r›  r�  rŸ  rª  rÂ  r-   r   r   r\  r\  À  sW   „ òð %ó -ò
2ò2ò2ò;ò
1ò0ò 	-ò:ò:ò:ò:ò0ò	<ó'
r   r\  c                   ó8  — e Zd Zd„ Z	 	 d3d„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„ 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!„ 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/„ Z0d0„ Z1d1„ Z2d2„ Z3y)4ÚInterfaceClassTestsc                 ó   — ddl m} |S )Nr   ©ÚInterfaceClass)r!   rÇ  )r$   rÇ  s     r   rI   z#InterfaceClassTests._getTargetClass_  s   € Ý;ØÐr   Nc                 ó6   —  | j                  «       |||||«      S r   r†   )r$   rL   ra  ÚattrsrQ   r   s         r   rM   zInterfaceClassTests._makeOnec  s    € à%ˆt×#Ñ#Ó% d¨E°5¸'À:ÓNÐNr   c                 ó  — | j                  «       } |d«      }| j                  |j                  d«       | j                  |j                  d«       | j                  |j                  d«       | j                  |j                  «       d«       y )NÚITestingrO   r-   )rI   r"   r   rQ   rf  ÚgetBases)r$   ÚklassÚinsts      r   rW   z&InterfaceClassTests.test_ctor_defaultsg  sl   € Ø×$Ñ$Ó&ˆÙ�ZÓ ˆØ×Ñ˜Ÿ™¨
Ô3Ø×Ñ˜Ÿ™ rÔ*Ø×Ñ˜Ÿ™¨Ô,Ø×Ñ˜Ÿ™›¨"Õ-r   c                 óf   — | j                  «       }| j                  t        |dt        «       f«       y )NrË  )rI   r]   r  r˜   )r$   rÍ  s     r   Útest_ctor_bad_basesz'InterfaceClassTests.test_ctor_bad_baseso  s(   € Ø×$Ñ$Ó&ˆØ×Ñœ) U¨J¼»¸ÕDr   c                 ó~  — ddl m} ddl m} d„ } |dd«       ||«      dœ}| j                  «       } |d|¬	«      }| j	                  |j
                  d«       | j	                  |j                  d«       | j	                  |j                  d
«       | j	                  |j                  «       |j                  «       «       y )Nr   r¡  ©ÚfromFunctionc                   ó   — y©Ú	DOCSTRINGNr-   r-   r   r   Ú_barzBInterfaceClassTests.test_ctor_w_attrs_attrib_methods.<locals>._barv  ó   � r   r   rO   ©rc   r5   rË  ©rÉ  r-   )
r!   r¢  rÓ  rI   r"   r   rQ   rf  ÚnamesÚkeys)r$   r¢  rÓ  r×  ÚATTRSrÍ  rÎ  s          r   Ú test_ctor_w_attrs_attrib_methodsz4InterfaceClassTests.test_ctor_w_attrs_attrib_methodss  sš   € Ý6Ý9ò	á! %¨Ó,Ù$ TÓ*ñˆð ×$Ñ$Ó&ˆÙ�Z uÔ-ˆØ×Ñ˜Ÿ™¨
Ô3Ø×Ñ˜Ÿ™ rÔ*Ø×Ñ˜Ÿ™¨Ô,Ø×Ñ˜Ÿ™› u§z¡z£|Õ4r   c                 ó:  — di i}| j                  «       } |d|¬«      }| j                  |j                  d«       | j                  |j                  d«       | j                  |j                  d«       | j                  t        |j                  «       «      g «       y )NÚ
__locals__rË  rÚ  rO   r-   ©rI   r"   r   rQ   rf  rS   rÛ  ©r$   rÝ  rÍ  rÎ  s       r   Útest_ctor_attrs_w___locals__z0InterfaceClassTests.test_ctor_attrs_w___locals__‚  s}   € Ø˜rÐ"ˆØ×$Ñ$Ó&ˆÙ�Z uÔ-ˆØ×Ñ˜Ÿ™¨
Ô3Ø×Ñ˜Ÿ™ rÔ*Ø×Ñ˜Ÿ™¨Ô,Ø×Ñœ˜dŸj™j›lÓ+¨RÕ0r   c                 ó:  — di i}| j                  «       } |d|¬«      }| j                  |j                  d«       | j                  |j                  d«       | j                  |j                  d«       | j                  t        |j                  «       «      g «       y )NÚ__annotations__rË  rÚ  rO   r-   rá  râ  s       r   Ú!test_ctor_attrs_w___annotations__z5InterfaceClassTests.test_ctor_attrs_w___annotations__‹  s}   € Ø" BÐ'ˆØ×$Ñ$Ó&ˆÙ�Z uÔ-ˆØ×Ñ˜Ÿ™¨
Ô3Ø×Ñ˜Ÿ™ rÔ*Ø×Ñ˜Ÿ™¨Ô,Ø×Ñœ˜dŸj™j›lÓ+¨RÕ0r   c                 óF  — ddl m} d|i}| j                  «       } |d|¬«      }| j                  |j                  d«       | j                  |j
                  d«       | j                  |j                  d«       | j                  t        |j                  «       «      g «       y )Nr   )Ú_decorator_non_returnÚdropmerË  rÚ  rO   r-   )	r!   rè  rI   r"   r   rQ   rf  rS   rÛ  )r$   rè  rÝ  rÍ  rÎ  s        r   Ú'test_ctor_attrs_w__decorator_non_returnz;InterfaceClassTests.test_ctor_attrs_w__decorator_non_return”  s�   € ÝBØÐ0Ð1ˆØ×$Ñ$Ó&ˆÙ�Z uÔ-ˆØ×Ñ˜Ÿ™¨
Ô3Ø×Ñ˜Ÿ™ rÔ*Ø×Ñ˜Ÿ™¨Ô,Ø×Ñœ˜dŸj™j›lÓ+¨RÕ0r   c                 ór   — ddl m} dt        «       i}| j                  «       }| j	                  ||d|¬«       y )Nr   )ÚInvalidInterfaceÚinvalidrË  rÚ  )Úzope.interface.exceptionsrì  r˜   rI   r]   )r$   rì  rÝ  rÍ  s       r   Ú#test_ctor_attrs_w_invalid_attr_typez7InterfaceClassTests.test_ctor_attrs_w_invalid_attr_typež  s7   € Ý>ØœF›HÐ%ˆØ×$Ñ$Ó&ˆØ×ÑÐ*¨E°:ÀUÐÕKr   c                 óz   — ddi}| j                  «       } |d|d¬«      }| j                  |j                  d«       y )NrQ   ÚATTRrË  ÚEXPLICIT)rÉ  rQ   )rI   r"   rQ   râ  s       r   Útest_ctor_w_explicit___doc__z0InterfaceClassTests.test_ctor_w_explicit___doc__¤  s<   € Ø˜FÐ#ˆØ×$Ñ$Ó&ˆÙ�Z u°jÔAˆØ×Ñ˜Ÿ™ zÕ2r   c                 óx   — | j                  «       }| j                  t        |j                  «       «      |g«       y r   )rM   r"   rS   r�  rI  s     r   Útest_interfacesz#InterfaceClassTests.test_interfacesª  s-   € Ø—‘“ˆØ×Ñœ˜e×.Ñ.Ó0Ó1°E°7Õ;r   c                 óŽ   — | j                  «       }| j                  d|f¬«      }| j                  |j                  «       |f«       y ©NÚISub)ra  )rM   r"   rÌ  ©r$   r*  Úsubs      r   Útest_getBasesz!InterfaceClassTests.test_getBases®  s9   € Ø—‘“ˆØ�m‰m˜F¨5¨(ˆmÓ3ˆØ×Ñ˜Ÿ™›¨%¨Õ2r   c                 ód   — | j                  «       }| j                  |j                  |«      «       y r   )rM   r²   ÚisEqualOrExtendedByrI  s     r   Ú!test_isEqualOrExtendedBy_identityz5InterfaceClassTests.test_isEqualOrExtendedBy_identity³  s$   € Ø—‘“ˆØ�‰˜×1Ñ1°%Ó8Õ9r   c                 óÌ   — | j                  «       }| j                  d|f¬«      }| j                  |j                  |«      «       | j                  |j                  |«      «       y r÷  )rM   r²   rý  r—   rù  s      r   Ú!test_isEqualOrExtendedBy_subifacez5InterfaceClassTests.test_isEqualOrExtendedBy_subiface·  sQ   € Ø—‘“ˆØ�m‰m˜F¨5¨(ˆmÓ3ˆØ�‰˜×1Ñ1°#Ó6Ô7Ø×Ñ˜×0Ñ0°Ó7Õ8r   c                 óÈ   — | j                  d«      }| j                  d«      }| j                  |j                  |«      «       | j                  |j                  |«      «       y )NÚOneÚAnother)rM   r—   rý  )r$   ÚoneÚanothers      r   Ú"test_isEqualOrExtendedBy_unrelatedz6InterfaceClassTests.test_isEqualOrExtendedBy_unrelated½  sP   € Ø�m‰m˜EÓ"ˆØ—-‘- 	Ó*ˆØ×Ñ˜×0Ñ0°Ó9Ô:Ø×Ñ˜×4Ñ4°SÓ9Õ:r   c                 ó  — ddl m} ddl m} d„ } |dd«       ||«      dœ}d |d	d«      i}| j                  d
|¬«      }| j                  d|f|¬«      }| j	                  t        |j                  d¬«      «      dg«       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  zFInterfaceClassTests.test_names_w_all_False_ignores_bases.<locals>._barÆ  rØ  r   r   rO   rÙ  r6   ÚBazÚIBaserÚ  ÚIDerived©ra  rÉ  F©Úall©r!   r¢  rÓ  rM   r"   ÚsortedrÛ  ©r$   r¢  rÓ  r×  Ú
BASE_ATTRSÚDERIVED_ATTRSÚbaseÚderiveds           r   Ú$test_names_w_all_False_ignores_basesz8InterfaceClassTests.test_names_w_all_False_ignores_basesÃ  s…   € Ý6Ý9ò	á& u¨bÓ1Ù)¨$Ó/ñˆ
ð ¡	¨%°Ó 4ð ˆà�}‰}˜W¨Jˆ}Ó7ˆØ—-‘- 
°4°'À�-ÓOˆØ×Ñœ §¡°% Ó 8Ó9¸E¸7ÕCr   c                 óÄ   — ddl m} ddl m} d„ } |dd«       ||«      dœ}| j                  |¬«      }| j	                  t        |j                  d	¬
«      «      ddg«       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  z@InterfaceClassTests.test_names_w_all_True_no_bases.<locals>._barÔ  rØ  r   r   rO   rÙ  rÚ  Tr  r5   rc   r  ©r$   r¢  rÓ  r×  rÝ  r  s         r   Útest_names_w_all_True_no_basesz2InterfaceClassTests.test_names_w_all_True_no_basesÑ  s\   € Ý6Ý9ò	á! %¨Ó,Ù$ TÓ*ñˆð �m‰m %ˆmÓ(ˆØ×Ñœ §	¡	¨d 	Ó 3Ó4°u¸e°nÕEr   c                 ó  — ddl m} ddl m} d„ } |dd«       ||«      dœ}d |d	d«      i}| j                  d
|¬«      }| j                  d|f|¬«      }| j	                  t        |j                  d¬«      «      g d¢«       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  zFInterfaceClassTests.test_names_w_all_True_w_bases_simple.<locals>._barß  rØ  r   r   rO   rÙ  r6   r	  r
  rÚ  r  r  Tr  ©r5   r6   rc   r  r  s           r   Ú$test_names_w_all_True_w_bases_simplez8InterfaceClassTests.test_names_w_all_True_w_bases_simpleÜ  s„   € Ý6Ý9ò	á& u¨bÓ1Ù)¨$Ó/ñˆ
ð ¡	¨%°Ó 4ð ˆà�}‰}˜W¨Jˆ}Ó7ˆØ—-‘- 
°4°'À�-ÓOˆØ×Ñœ §¡°$ Ó 7Ó8Ò:OÕPr   c                 ó  — ddl m} ddl m} d„ }d„ } |dd«       ||«      dœ} ||«       |d	d«      d
œ}| j                  d|¬«      }| j                  d|f|¬«      }| j	                  t        |j                  d¬«      «      g d¢«       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  zJInterfaceClassTests.test_names_w_all_True_bases_w_same_names.<locals>._barí  rØ  r   c                   ó   — yrÕ  r-   r-   r   r   Ú_foozJInterfaceClassTests.test_names_w_all_True_bases_w_same_names.<locals>._fooï  rØ  r   r   rO   rÙ  r	  ©rc   r6   r
  rÚ  r  r  Tr  r  r  ©	r$   r¢  rÓ  r×  r"  r  r  r  r  s	            r   Ú(test_names_w_all_True_bases_w_same_namesz<InterfaceClassTests.test_names_w_all_True_bases_w_same_namesê  s‘   € Ý6Ý9ò	ò	á& u¨bÓ1Ù)¨$Ó/ñˆ
ñ !-¨TÓ 2Ù )¨%°Ó 4ñˆð �}‰}˜W¨Jˆ}Ó7ˆØ—-‘- 
°4°'À�-ÓOˆØ×Ñœ §¡°$ Ó 7Ó8Ò:OÕPr   c                 óú   — ddl m} ddl m} d„ }d„ } |dd«       ||«      dœ} ||«       |d	d«      d
œ}| j                  d|¬«      }| j                  d|f|¬«      }| j	                  t        |«      g d¢«       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  z/InterfaceClassTests.test___iter__.<locals>._barþ  rØ  r   c                   ó   — yrÕ  r-   r-   r   r   r"  z/InterfaceClassTests.test___iter__.<locals>._foo   rØ  r   r   rO   rÙ  r	  r#  r
  rÚ  r  r  r  )r!   r¢  rÓ  rM   r"   r  r$  s	            r   Útest___iter__z!InterfaceClassTests.test___iter__û  s…   € Ý6Ý9ò	ò	á& u¨bÓ1Ù)¨$Ó/ñˆ
ñ !-¨TÓ 2Ù )¨%°Ó 4ñˆð �}‰}˜W¨Jˆ}Ó7ˆØ—-‘- 
°4°'À�-ÓOˆØ×Ñœ ›Ò*?Õ@r   c                 ó  — ddl m} ddl m} d„ } |dd«       ||«      dœ}d |d	d«      i}| j                  d
|¬«      }| j                  d|f|¬«      }| j	                  t        |j                  d¬«      «      d|d   fg«       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  zUInterfaceClassTests.test_namesAndDescriptions_w_all_False_ignores_bases.<locals>._bar  rØ  r   r   rO   rÙ  r6   r	  r
  rÚ  r  r  Fr  ©r!   r¢  rÓ  rM   r"   r  ÚnamesAndDescriptionsr  s           r   Ú3test_namesAndDescriptions_w_all_False_ignores_baseszGInterfaceClassTests.test_namesAndDescriptions_w_all_False_ignores_bases  s˜   € Ý6Ý9ò	á& u¨bÓ1Ù)¨$Ó/ñˆ
ð ¡	¨%°Ó 4ð ˆà�}‰}˜W¨Jˆ}Ó7ˆØ—-‘- 
°4°'À�-ÓOˆØ×Ñœ × <Ñ <ÀÐ <Ó GÓHØ  -°Ñ"6Ð7ð õ	r   c                 óØ   — ddl m} ddl m} d„ } |dd«       ||«      dœ}| j                  |¬«      }| j	                  t        |j                  d	¬
«      «      d|d   fd|d   fg«       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  zOInterfaceClassTests.test_namesAndDescriptions_w_all_True_no_bases.<locals>._bar  rØ  r   r   rO   rÙ  rÚ  Fr  r5   rc   r,  r  s         r   Ú-test_namesAndDescriptions_w_all_True_no_baseszAInterfaceClassTests.test_namesAndDescriptions_w_all_True_no_bases  sx   € Ý6Ý9ò	á! %¨Ó,Ù$ TÓ*ñˆð �m‰m %ˆmÓ(ˆØ×Ñœ × 8Ñ 8¸UÐ 8Ó CÓDØ  %¨¡,Ð/Ø  %¨¡,Ð/ðõ	r   c                 ó&  — ddl m} ddl m} d„ } |dd«       ||«      dœ}d |d	d«      i}| j                  d
|¬«      }| j                  d|f|¬«      }| j	                  t        |j                  d¬«      «      d|d   fd|d   fd|d   fg«       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  zMInterfaceClassTests.test_namesAndDescriptions_w_all_True_simple.<locals>._bar-  rØ  r   r   rO   rÙ  r6   r	  r
  rÚ  r  r  Tr  r5   rc   r,  r  s           r   Ú+test_namesAndDescriptions_w_all_True_simplez?InterfaceClassTests.test_namesAndDescriptions_w_all_True_simple*  s²   € Ý6Ý9ò	á& u¨bÓ1Ù)¨$Ó/ñˆ
ð ¡	¨%°Ó 4ð ˆà�}‰}˜W¨Jˆ}Ó7ˆØ—-‘- 
°4°'À�-ÓOˆØ×Ñœ × <Ñ <ÀÐ <Ó FÓGØ  *¨UÑ"3Ð4Ø  -°Ñ"6Ð7Ø  *¨UÑ"3Ð4ðõ	r   c                 ó:  — ddl m} ddl m} d„ }d„ } |dd«       ||«      dœ} ||«       |d	d«      d
œ}| j                  d|¬«      }| j                  d|f|¬«      }| j	                  t        |j                  d¬«      «      d|d   fd|d   fd|d   fg«       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  zYInterfaceClassTests.test_namesAndDescriptions_w_all_True_bases_w_same_names.<locals>._bar?  rØ  r   c                   ó   — yrÕ  r-   r-   r   r   r"  zYInterfaceClassTests.test_namesAndDescriptions_w_all_True_bases_w_same_names.<locals>._fooA  rØ  r   r   rO   rÙ  r	  r#  r
  rÚ  r  r  Tr  r5   r6   rc   r,  r$  s	            r   Ú7test_namesAndDescriptions_w_all_True_bases_w_same_nameszKInterfaceClassTests.test_namesAndDescriptions_w_all_True_bases_w_same_names<  s¿   € Ý6Ý9ò	ò	á& u¨bÓ1Ù)¨$Ó/ñˆ
ñ !-¨TÓ 2Ù )¨%°Ó 4ñˆð �}‰}˜W¨Jˆ}Ó7ˆØ—-‘- 
°4°'À�-ÓOˆØ×Ñœ × <Ñ <ÀÐ <Ó FÓGØ  *¨UÑ"3Ð4Ø  -°Ñ"6Ð7Ø  -°Ñ"6Ð7ðõ	r   c                 óf   — | j                  «       }| j                  t        |j                  d«       y r[   )rM   r]   r^   ÚgetDescriptionFor©r$   r  s     r   Útest_getDescriptionFor_missz/InterfaceClassTests.test_getDescriptionFor_missQ  s%   € Ø�m‰m‹oˆØ×Ñœ( C×$9Ñ$9¸:ÕFr   c                 óú   — ddl m} ddl m} d„ } |dd«       ||«      dœ}| j                  |¬«      }| j	                  |j                  d	«      |d	   «       | j	                  |j                  d
«      |d
   «       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  z<InterfaceClassTests.test_getDescriptionFor_hit.<locals>._barX  rØ  r   r   rO   rÙ  rÚ  rc   r5   )r!   r¢  rÓ  rM   r"   r:  r  s         r   Útest_getDescriptionFor_hitz.InterfaceClassTests.test_getDescriptionFor_hitU  sv   € Ý6Ý9ò	á! %¨Ó,Ù$ TÓ*ñˆð �m‰m %ˆmÓ(ˆØ×Ñ˜×.Ñ.¨uÓ5°u¸U±|ÔDØ×Ñ˜×.Ñ.¨uÓ5°u¸U±|ÕDr   c                 ó\   ‡— | j                  «       Šˆfd„}| j                  t        |«       y )Nc                  ó   •— ‰ d   S r[   r-   )r  s   €r   Ú_testz8InterfaceClassTests.test___getitem___miss.<locals>._testc  s   ø€ Ø�z‘?Ð"r   )rM   r]   r^   )r$   rB  r  s     @r   Útest___getitem___missz)InterfaceClassTests.test___getitem___missa  s#   ø€ Ø�m‰m‹oˆô	#à×Ñœ( EÕ*r   c                 óÊ   — ddl m} ddl m} d„ } |dd«       ||«      dœ}| j                  |¬«      }| j	                  |d	   |d	   «       | j	                  |d
   |d
   «       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  z6InterfaceClassTests.test___getitem___hit.<locals>._barj  rØ  r   r   rO   rÙ  rÚ  rc   r5   )r!   r¢  rÓ  rM   r"   r  s         r   Útest___getitem___hitz(InterfaceClassTests.test___getitem___hitg  sh   € Ý6Ý9ò	á! %¨Ó,Ù$ TÓ*ñˆð �m‰m %ˆmÓ(ˆØ×Ñ˜˜U™ U¨5¡\Ô2Ø×Ñ˜˜U™ U¨5¡\Õ2r   c                 óJ   — | j                  «       }| j                  d|v «       y r[   )rM   r—   r;  s     r   Útest___contains___missz*InterfaceClassTests.test___contains___misss  s    € Ø�m‰m‹oˆØ×Ñ˜ sÐ*Õ+r   c                 ó¶   — ddl m} ddl m} d„ } |dd«       ||«      dœ}| j                  |¬«      }| j	                  d	|v «       | j	                  d
|v «       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  z7InterfaceClassTests.test___contains___hit.<locals>._barz  rØ  r   r   rO   rÙ  rÚ  rc   r5   )r!   r¢  rÓ  rM   r²   r  s         r   Útest___contains___hitz)InterfaceClassTests.test___contains___hitw  sX   € Ý6Ý9ò	á! %¨Ó,Ù$ TÓ*ñˆð �m‰m %ˆmÓ(ˆØ�‰˜ ˜Ô%Ø�‰˜ ˜Õ%r   c                 óf   — | j                  «       }| j                  |j                  d«      d «       y r[   )rM   r"   Údirectr;  s     r   Útest_direct_missz$InterfaceClassTests.test_direct_missƒ  s&   € Ø�m‰m‹oˆØ×Ñ˜Ÿ™ JÓ/°Õ6r   c                 ó’  — ddl m} ddl m} d„ }d„ } |dd«       ||«      dœ} ||«       |d	d«      d
œ}| j                  d|¬«      }| j                  d|f|¬«      }| j	                  |j                  d«      |d   «       | j	                  |j                  d«      |d   «       | j	                  |j                  d«      d «       y )Nr   r¡  rÒ  c                   ó   — yrÕ  r-   r-   r   r   r×  zBInterfaceClassTests.test_direct_hit_local_miss_bases.<locals>._barŠ  rØ  r   c                   ó   — yrÕ  r-   r-   r   r   r"  zBInterfaceClassTests.test_direct_hit_local_miss_bases.<locals>._fooŒ  rØ  r   r   rO   rÙ  r	  r#  r
  rÚ  r  r  rc   r6   r5   )r!   r¢  rÓ  rM   r"   rM  r$  s	            r   Ú test_direct_hit_local_miss_basesz4InterfaceClassTests.test_direct_hit_local_miss_bases‡  sÅ   € Ý6Ý9ò	ò	á& u¨bÓ1Ù)¨$Ó/ñˆ
ñ !-¨TÓ 2Ù )¨%°Ó 4ñˆð �}‰}˜W¨Jˆ}Ó7ˆØ—-‘- 
°4°'À�-ÓOˆØ×Ñ˜Ÿ™¨Ó.°¸eÑ0DÔEØ×Ñ˜Ÿ™¨Ó.°¸eÑ0DÔEØ×Ñ˜Ÿ™¨Ó.°Õ5r   c                 óf   — | j                  «       }| j                  |j                  d«      d «       y r[   )rM   r"   ÚqueryDescriptionForrI  s     r   Útest_queryDescriptionFor_missz1InterfaceClassTests.test_queryDescriptionFor_missš  s(   € Ø—‘“ˆØ×Ñ˜×2Ñ2°:Ó>ÀÕEr   c                 ó’   — ddl m} d |dd«      i}| j                  |¬«      }| j                  |j	                  d«      |d   «       y )Nr   r¡  ÚattrÚTitleÚDescriptionrÚ  )r”   r¢  rM   r"   rT  )r$   r¢  rÝ  r*  s       r   Útest_queryDescriptionFor_hitz0InterfaceClassTests.test_queryDescriptionFor_hitž  sE   € Ý,Ø™ 7¨MÓ:Ð;ˆØ—‘ E�Ó*ˆØ×Ñ˜×2Ñ2°6Ó:¸EÀ&¹MÕJr   c                 óÜ   ‡— g Šˆfd„}| j                  «       }t        «       }|j                  d|g«       | j                  |j	                  |«      d «       | j                  ‰|fi fg«       y )Nc                  ó,   •— ‰j                  | |f«       yrì   rQ  )r   r   Ú_called_withs     €r   Ú	_passablezCInterfaceClassTests.test_validateInvariants_pass.<locals>._passable¦  s   ø€ Ø×Ñ  r 
Ô+Ør   r   )rM   r˜   re   r"   ÚvalidateInvariants)r$   r^  r*  r�   r]  s       @r   Útest_validateInvariants_passz0InterfaceClassTests.test_validateInvariants_pass¤  sf   ø€ Øˆô	ð —‘“ˆÜ‹hˆØ×Ñ˜\¨I¨;Ô7Ø×Ñ˜×1Ñ1°#Ó6¸Ô=Ø×Ñ˜¨#¨°¨ ~Õ6r   c                 ó"  ‡‡‡— ddl mŠ g Šˆfd„}g Šˆˆfd„}| j                  «       }t        «       }|j	                  d||g«       | j                  ‰|j                  |«       | j                  ‰|fi fg«       | j                  ‰|fi fg«       y )Nr   ©ÚInvalidc                  ó,   •— ‰j                  | |f«       yrì   rQ  ©r   r   Ú_passable_called_withs     €r   r^  zTInterfaceClassTests.test_validateInvariants_fail_wo_errors_passed.<locals>._passable²  ó   ø€ Ø!×(Ñ(¨$°¨Ô4Ør   c                  ó.   •— ‰j                  | |f«       ‰‚r   rQ  ©r   r   rc  Ú_fail_called_withs     €€r   Ú_failzPInterfaceClassTests.test_validateInvariants_fail_wo_errors_passed.<locals>._fail¶  ó   ø€ Ø×$Ñ$ d¨B ZÔ0ØˆMr   r   ©rî  rc  rM   r˜   re   r]   r_  r"   )r$   r^  rk  r*  r�   rc  rj  rf  s        @@@r   Ú-test_validateInvariants_fail_wo_errors_passedzAInterfaceClassTests.test_validateInvariants_fail_wo_errors_passed¯  s‘   ú€ Ý5Ø "Ðô	ð Ðõ	ð —‘“ˆÜ‹hˆØ×Ñ˜\¨I°uÐ+=Ô>Ø×Ñ˜' 5×#;Ñ#;¸SÔAØ×ÑÐ.°3°&¸"°°Ô?Ø×ÑÐ*¨s¨f°b¨\¨NÕ;r   c                 ó\  ‡‡— ddl mŠ g }g Šˆˆfd„}| j                  «       }t        «       }|j	                  d|g«       | j                  ‰|j                  ||«       | j                  ‰|fi fg«       | j                  t        |«      d«       | j                  t        |d   ‰«      «       y )Nr   rb  c                  ó.   •— ‰j                  | |f«       ‰‚r   rQ  ri  s     €€r   rk  zOInterfaceClassTests.test_validateInvariants_fail_w_errors_passed.<locals>._failÄ  rl  r   r   rm  ©rî  rc  rM   r˜   re   r]   r_  r"   rg  r²   Ú
isinstance)r$   Ú_errorsrk  r*  r�   rc  rj  s        @@r   Ú,test_validateInvariants_fail_w_errors_passedz@InterfaceClassTests.test_validateInvariants_fail_w_errors_passedÀ  sš   ù€ Ý5ØˆØÐõ	ð —‘“ˆÜ‹hˆØ×Ñ˜\¨E¨7Ô3Ø×Ñ˜' 5×#;Ñ#;¸SÀ'ÔJØ×ÑÐ*¨s¨f°b¨\¨NÔ;Ø×Ñœ˜W› qÔ)Ø�‰œ
 7¨1¡:¨wÓ7Õ8r   c                 ón  ‡‡‡— ddl mŠ g Šˆfd„}g Šˆˆfd„}| j                  d«      }| j                  d|f«      }t        «       }|j	                  d|g«       |j	                  d|g«       | j                  ‰|j                  |«       | j                  ‰|fi fg«       | j                  ‰|fi fg«       y )Nr   rb  c                  ó,   •— ‰j                  | |f«       yrì   rQ  re  s     €r   r^  z\InterfaceClassTests.test_validateInvariants_fail_in_base_wo_errors_passed.<locals>._passableÒ  rg  r   c                  ó.   •— ‰j                  | |f«       ‰‚r   rQ  ri  s     €€r   rk  zXInterfaceClassTests.test_validateInvariants_fail_in_base_wo_errors_passed.<locals>._failÖ  rl  r   r
  r  r   rm  )	r$   r^  rk  r  r  r�   rc  rj  rf  s	         @@@r   Ú5test_validateInvariants_fail_in_base_wo_errors_passedzIInterfaceClassTests.test_validateInvariants_fail_in_base_wo_errors_passedÏ  sµ   ú€ Ý5Ø "Ðô	ð Ðõ	ð �}‰}˜WÓ%ˆØ—-‘- 
¨T¨GÓ4ˆÜ‹hˆØ×Ñ˜L¨5¨'Ô2Ø×Ñ˜|¨i¨[Ô9Ø×Ñ˜' 7×#=Ñ#=¸sÔCØ×ÑÐ.°3°&¸"°°Ô?Ø×ÑÐ*¨s¨f°b¨\¨NÕ;r   c                 óæ  ‡‡‡	— ddl mŠ g }g Š	ˆ	fd„}g Šˆˆfd„}| j                  d«      }| j                  d|f«      }t        «       }|j	                  d|g«       |j	                  d|g«       | j                  ‰|j                  ||«       | j                  ‰	|fi fg«       | j                  ‰|fi fg«       | j                  t        |«      d«       | j                  t        |d   ‰«      «       y )	Nr   rb  c                  ó,   •— ‰j                  | |f«       yrì   rQ  re  s     €r   r^  z[InterfaceClassTests.test_validateInvariants_fail_in_base_w_errors_passed.<locals>._passableæ  rg  r   c                  ó.   •— ‰j                  | |f«       ‰‚r   rQ  ri  s     €€r   rk  zWInterfaceClassTests.test_validateInvariants_fail_in_base_w_errors_passed.<locals>._failê  rl  r   r
  r  r   rm  rq  )
r$   rs  r^  rk  r  r  r�   rc  rj  rf  s
          @@@r   Ú4test_validateInvariants_fail_in_base_w_errors_passedzHInterfaceClassTests.test_validateInvariants_fail_in_base_w_errors_passedâ  sç   ú€ Ý5ØˆØ "Ðô	ð Ðõ	ð �}‰}˜WÓ%ˆØ—-‘- 
¨T¨GÓ4ˆÜ‹hˆØ×Ñ˜L¨5¨'Ô2Ø×Ñ˜|¨i¨[Ô9Ø×Ñ˜' 7×#=Ñ#=¸sÀGÔLØ×ÑÐ.°3°&¸"°°Ô?Ø×ÑÐ*¨s¨f°b¨\¨NÔ;Ø×Ñœ˜W› qÔ)Ø�‰œ
 7¨1¡:¨wÓ7Õ8r   c                 óî   ‡— g Šˆfd„}t        «       }| j                  d«      }|j                  d|g«       | j                  d|f«      }|j                  |«       | j	                  dt        ‰«      «       y )Nc                  ó,   •— ‰j                  | |f«       yrì   rQ  re  s     €r   r^  zbInterfaceClassTests.test_validateInvariants_inherited_not_called_multiple_times.<locals>._passableû  rg  r   r
  r   r  rm  )r˜   rM   re   r_  r"   rg  )r$   r^  r�   r  r  rf  s        @r   Ú;test_validateInvariants_inherited_not_called_multiple_timeszOInterfaceClassTests.test_validateInvariants_inherited_not_called_multiple_timesø  sm   ø€ Ø "Ðô	ô ‹hˆØ�}‰}˜WÓ%ˆØ×Ñ˜L¨9¨+Ô6Ø—-‘- 
¨T¨GÓ4ˆØ×"Ñ" 3Ô'Ø×Ñ˜œCÐ 5Ó6Õ7r   c                 óf   — | j                  d«      }| j                  |j                  «       d«       y )NÚPickleMe)rM   r"   Ú
__reduce__rI  s     r   Útest___reduce__z#InterfaceClassTests.test___reduce__  s)   € Ø—‘˜jÓ)ˆØ×Ñ˜×)Ñ)Ó+¨ZÕ8r   c                 ón   — | j                  d«      }| j                  t        |«      t        d«      «       y )NÚHashMe)r…  z#zope.interface.tests.test_interface)rM   r"   ÚhashrI  s     r   Útest___hash___normalz(InterfaceClassTests.test___hash___normal
  s4   € Ø—‘˜hÓ'ˆØ×Ñœ˜e›Üð Gó Hõ	Ir   c                 ó®   —  G d„ d| j                  «       «      } |«       }| j                  t        «      5  t        |«       d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)úIInterfaceClassTests.test___hash___missing_required_attrs.<locals>.Derivedc                  ó   — y r   r-   r‡   s    r   rß   zRInterfaceClassTests.test___hash___missing_required_attrs.<locals>.Derived.__init__  s   € Ør   Nrç   r-   r   r   ÚDerivedrŠ    s   „ ór   rŒ  )rI   r]   r×   r†  )r$   rŒ  r  s      r   Ú$test___hash___missing_required_attrsz8InterfaceClassTests.test___hash___missing_required_attrs  sJ   € ô	�d×*Ñ*Ó,ô 	ñ “)ˆØ×Ñœ~Ó.ñ 	Ü�ŒM÷	÷ 	ñ 	ús   ¶AÁAc                 ó  — | j                  «       }| j                  |d k  «       | j                  |d k  «       | j                  |d k(  «       | j                  |d k7  «       | j                  |d k\  «       | j                  |d kD  «       | j                  d |k  «       | j                  d |k  «       | j                  d |k(  «       | j                  d |k7  «       | j                  d |k\  «       | j                  d |kD  «       y r   ©rM   r²   r—   rI  s     r   Útest_comparison_with_Nonez-InterfaceClassTests.test_comparison_with_None  sÙ   € à—‘“ˆØ�‰˜ ™Ô%Ø�‰˜ ™Ô&Ø×Ñ˜ $™Ô'Ø�‰˜ ™Ô&Ø×Ñ˜ $™Ô'Ø×Ñ˜ ™Ô&à×Ñ˜ ™Ô&Ø×Ñ˜ ™Ô'Ø×Ñ˜ ™Ô'Ø�‰˜ ™Ô&Ø�‰˜ ™Ô&Ø�‰˜˜u™Õ%r   c                 ó  — | j                  «       }| j                  ||k  «       | j                  ||k  «       | j                  ||k(  «       | j                  ||k7  «       | j                  ||k\  «       | j                  ||kD  «       y r   )rM   r—   r²   rI  s     r   Ú"test_comparison_with_same_instancez6InterfaceClassTests.test_comparison_with_same_instance)  ss   € à—‘“ˆà×Ñ˜ ™Ô'Ø�‰˜ ™Ô'Ø�‰˜ ™Ô'Ø×Ñ˜ %™Ô(Ø�‰˜ ™Ô'Ø×Ñ˜ ™Õ'r   c                 ó0  — | j                  dd¬«      }| j                  dd¬«      }| j                  ||k  «       | j                  ||k  «       | j                  ||k  «       | j                  ||k  «       | j                  ||k(  «       | j                  ||k(  «       | j                  ||k7  «       | j                  ||k7  «       | j                  ||k\  «       | j                  ||k\  «       | j                  ||kD  «       | j                  ||kD  «       y )NÚINamezzope.interface.tests.oneræ   zzope.interface.tests.otherr�  )r$   r  rí   s      r   Ú8test_comparison_with_same_named_instance_in_other_modulezLInterfaceClassTests.test_comparison_with_same_named_instance_in_other_module4  sô   € à�m‰m˜GÐ0JˆmÓKˆØ—‘˜gÐ2N�ÓOˆà�‰˜˜e™Ô$Ø×Ñ˜ ™Ô%Ø�‰˜˜u™Ô%Ø×Ñ˜ #™Ô&Ø×Ñ˜ ™Ô&Ø×Ñ˜ #™Ô&Ø�‰˜˜u™Ô%Ø�‰˜ ™Ô%Ø×Ñ˜ ™Ô&Ø�‰˜ ™Ô%Ø×Ñ˜˜u™Ô%Ø�‰˜ ™Õ$r   c                 ó6  ‡—  G d„ dt         «      Š G ˆfd„d| j                  «       «      }| j                  d«      }| j                  || j                  «       «       | j	                  t        |«      | j                  «       «       | j                  t        «      5   |d«       d d d «       ||_        | j                  ||«       | j	                  t        |«      |«       | j                  ‰«      5   |d«       d d d «       y # 1 sw Y   Œ`xY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zy)úDInterfaceClassTests.test_assignment_to__class__.<locals>.MyExceptionNr   r-   r   r   rü   r˜  H  rý   r   rü   c                   ó   •— e Zd Zˆ fd„Zy)úIInterfaceClassTests.test_assignment_to__class__.<locals>.MyInterfaceClassc                 ó   •—  ‰|«      ‚r   r-   )r$   Útargetrü   s     €r   Ú__call__zRInterfaceClassTests.test_assignment_to__class__.<locals>.MyInterfaceClass.__call__L  s   ø€ Ù! &Ó)Ð)r   N©r   r   r   r�  )rü   s   €r   ÚMyInterfaceClassrš  K  s   ø„ õ*r   rŸ  r”  rm  )	r  rI   rM   ÚassertIsInstancerÿ   Útyper]   r  Ú	__class__)r$   rŸ  rŽ  rü   s      @r   Útest_assignment_to__class__z/InterfaceClassTests.test_assignment_to__class__F  sî   ø€ ô	œ)ô 	ö	*˜t×3Ñ3Ó5ô 	*ð �}‰}˜WÓ%ˆØ×Ñ˜d D×$8Ñ$8Ó$:Ô;Ø�‰”d˜4“j $×"6Ñ"6Ó"8Ô9à×ÑœyÓ)ñ 	Ù�ŒG÷	ð *ˆŒØ×Ñ˜dÐ$4Ô5Ø�‰”d˜4“jÐ"2Ô3à×Ñ˜{Ó+ñ 	Ù�ŒG÷	ð 	÷	ð 	ú÷	ð 	ús   Â	DÃ1	DÄDÄDc                 ó‚  — ddl m}  G d„ d| j                  «       «      } |d|f«      }| j                   |d«      d«        G d„ d	|«      }| j                   |d«      d«        G d
„ d|«      }| j	                  t
        «      5   |«        d d d «       ||_        | j                   |d«      d«       y # 1 sw Y   Œ)xY w)Nr   rc  c                   ó   — e Zd Zd„ Zy)úJInterfaceClassTests.test_assignment_to__class__2.<locals>.MyInterfaceClassc                 ó   — |S r   r-   )r$   r   s     r   r�  zSInterfaceClassTests.test_assignment_to__class__2.<locals>.MyInterfaceClass.__call__c  s   € Ø�r   Nrž  r-   r   r   rŸ  r¦  b  rJ  r   rŸ  rŽ  rm  )rm  c                   ó   — e Zd Zy)ú>InterfaceClassTests.test_assignment_to__class__2.<locals>.IBarNr   r-   r   r   r©  r©  i  rý   r   r©  c                   ó   — e Zd Zy)ú?InterfaceClassTests.test_assignment_to__class__2.<locals>.ISpamNr   r-   r   r   ÚISpamr«  n  rý   r   r¬  )r”   rd  rI   r"   r]   r  r¢  )r$   rd  rŸ  rŽ  r©  r¬  s         r   Útest_assignment_to__class__2z0InterfaceClassTests.test_assignment_to__class__2]  sµ   € õ 	-ô	˜t×3Ñ3Ó5ô 	ñ   ¨¨Ó5ˆØ×Ñ™˜a› $Ô'ô	�4ô 	ð 	×Ñ™˜a› $Ô'ô	�Iô 	ð ×ÑœyÓ)ñ 	ÙŒG÷	ð +ˆŒØ×Ñ™˜q› 4Õ(÷		ð 	ús   ÂB5Â5B>c                 ó†   — | j                  «       }| j                  t        «      5  d|_        d d d «       y # 1 sw Y   y xY w)Nzdifferent.module)rM   r]   r×   r   )r$   rÎ  s     r   Útest__module__is_readonlyz-InterfaceClassTests.test__module__is_readonlyw  s7   € Ø�}‰}‹ˆØ×Ñœ~Ó.ñ 	1Ø0ˆDŒO÷	1÷ 	1ñ 	1ús	   ¦7·A )ÚITestr-   NNN)4r   r   r   rI   rM   rW   rÐ  rÞ  rã  ræ  rê  rï  ró  rõ  rû  rþ  r   r  r  r  r  r%  r)  r.  r1  r4  r8  r<  r?  rC  rF  rH  rK  rN  rR  rU  rZ  r`  rn  rt  rx  r|  r  rƒ  r‡  r�  r�  r’  r•  r£  r­  r¯  r-   r   r   rÄ  rÄ  ]  s  „ òð DHØ óOò.òEò5ò1ò1ò1òLò3ò<ò3ò
:ò9ò;òDò	FòQòQò"Aò"ò òò$ò*Gò
Eò+ò
3ò,ò
&ò7ò6ò&FòKò	7ò<ò"9ò<ò&9ò,8ò9òIòò&ò"	(ò%ò$ò.)ó41r   rÄ  c                   óD  — e 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„ 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„ 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,„ Z.d-„ Z/d.„ Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6y5)6ÚInterfaceTestsc                 óx   ‡— ddl m} ddl mŠ  G ˆfd„d|«      }| j                  |d   j                  |u «       y )Nr   rc  r¡  c                   ó    •— e Zd Z W ° d«      Zy)ú<InterfaceTests.test_attributes_link_to_interface.<locals>.I1úMy attrN)r   r   r   rW  r¡  s   €r   ÚI1rµ  ƒ  s   ø„ Ú˜YÓ'‰Dr   r·  rW  )r”   rd  r¢  r²   rŠ   )r$   rd  r·  r¢  s      @r   Ú!test_attributes_link_to_interfacez0InterfaceTests.test_attributes_link_to_interface  s2   ø€ Ý,Ý,ö	(�ô 	(ð 	�‰˜˜6™
×,Ñ,°Ð2Õ3r   c                 óf   — ddl m}  G d„ d|«      }| j                  |d   j                  |u «       y )Nr   rc  c                   ó   — e Zd Zd„ Zy)ú9InterfaceTests.test_methods_link_to_interface.<locals>.I1c                  ó   — y©zA methodNr-   )rc   r5   Úbingos      r   Úmethodz@InterfaceTests.test_methods_link_to_interface.<locals>.I1.method�  rØ  r   N©r   r   r   r¿  r-   r   r   r·  r»  ‹  s   „ ór   r·  r¿  )r”   rd  r²   rŠ   )r$   rd  r·  s      r   Útest_methods_link_to_interfacez-InterfaceTests.test_methods_link_to_interfaceˆ  s.   € Ý,ô	�ô 	ð
 	�‰˜˜8™×.Ñ.°"Ð4Õ5r   c                 óè  ‡— ddl m} ddl m} ddl m}  G d„ d|«      Š G d„ d|«      } G ˆfd	„d
«      } |«       }| j	                  ‰j                  |«      «       | j                  |j                  |«      «       | j                  ‰‰«       | j	                  ‰ ||«      v «       | j                  | ||«      v «       | j	                  ‰ ||«      v «       | j                  | ||«      v «       y )Nr   rc  rŸ   r’   c                   ó   — e Zd Zd„ Zd„ Zy)ú<InterfaceTests.test_classImplements_simple.<locals>.ICurrentc                  ó   — y©Ú	docstringNr-   ©rÏ   rÐ   s     r   Úmethod1zDInterfaceTests.test_classImplements_simple.<locals>.ICurrent.method1˜  rØ  r   c                  ó   — yrÆ  r-   rÈ  s     r   Úmethod2zDInterfaceTests.test_classImplements_simple.<locals>.ICurrent.method2š  rØ  r   N)r   r   r   rÉ  rË  r-   r   r   ÚICurrentrÄ  —  s   „ ò ó r   rÌ  c                   ó   — e Zd Zy)ú:InterfaceTests.test_classImplements_simple.<locals>.IOtherNr   r-   r   r   r¹  rÎ  �  rý   r   r¹  c                   ó    •— e Zd ZW ° Zd„ Zd„ Zy)ú;InterfaceTests.test_classImplements_simple.<locals>.Currentc                 ó   — t        «       ‚r   r   ©r$   rÏ   rÐ   s      r   rÉ  zCInterfaceTests.test_classImplements_simple.<locals>.Current.method1¢  ó   € Ü)Ó+Ð+r   c                 ó   — t        «       ‚r   r   rÒ  s      r   rË  zCInterfaceTests.test_classImplements_simple.<locals>.Current.method2¤  rÓ  r   N)r   r   r   Ú__implemented__rÉ  rË  )rÌ  s   €r   ÚCurrentrÐ     s   ø„ Ù&ˆOò,ó,r   rÖ  )r”   rd  r    r“   r²   r—   r"   )r$   rd  r    r“   r¹  rÖ  ÚcurrentrÌ  s          @r   Útest_classImplements_simplez*InterfaceTests.test_classImplements_simple’  sÓ   ø€ Ý,Ý0Ý-ô	 �yô 	 ô	�Yô 	÷	,ó 	,ñ “)ˆà�‰˜×.Ñ.¨wÓ7Ô8Ø×Ñ˜×-Ñ-¨gÓ6Ô7Ø×Ñ˜ 8Ô,Ø�‰˜¡M°'Ó$:Ð:Ô;Ø×Ñ˜¡=°Ó#9Ð9Ô:Ø�‰˜¡J¨wÓ$7Ð7Ô8Ø×Ñ˜¡:¨gÓ#6Ð6Õ7r   c                 óÄ  ‡— ddl m} ddl m} ddl m}  G d„ d|«      Š G d„ d‰«      } G ˆfd	„d
«      } |«       }| j	                  ‰j                  |«      «       | j                  |j                  |«      «       | j	                  ‰ ||«      v «       | j                  | ||«      v «       | j	                  ‰ ||«      v «       | j                  | ||«      v «       y )Nr   rc  rŸ   r’   c                   ó   — e Zd Zd„ Zy)úCInterfaceTests.test_classImplements_base_not_derived.<locals>.IBasec                   ó   — yrÆ  r-   r-   r   r   r¿  zJInterfaceTests.test_classImplements_base_not_derived.<locals>.IBase.method¶  rØ  r   NrÀ  r-   r   r   r
  rÛ  µ  ó   „ ó r   r
  c                   ó   — e Zd Zy)úFInterfaceTests.test_classImplements_base_not_derived.<locals>.IDerivedNr   r-   r   r   r  rß  ¸  rý   r   r  c                   ó   •— e Zd ZW ° Zd„ Zy)úEInterfaceTests.test_classImplements_base_not_derived.<locals>.Currentc                 ó   — t        «       ‚r   r   r‡   s    r   r¿  zLInterfaceTests.test_classImplements_base_not_derived.<locals>.Current.method¼  rÓ  r   N©r   r   r   rÕ  r¿  )r
  s   €r   rÖ  rá  º  s   ø„ Ù#ˆOó,r   rÖ  ©r”   rd  r    r“   r²   r—   )r$   rd  r    r“   r  rÖ  r×  r
  s          @r   Ú%test_classImplements_base_not_derivedz4InterfaceTests.test_classImplements_base_not_derived±  sÃ   ø€ Ý,Ý0Ý-ô	 �Iô 	 ô	�uô 	÷	,ó 	,ñ “)ˆà�‰˜×+Ñ+¨GÓ4Ô5Ø×Ñ˜×/Ñ/°Ó8Ô9Ø�‰˜¡¨wÓ!7Ð7Ô8Ø×Ñ˜¡]°7Ó%;Ð;Ô<Ø�‰˜¡¨GÓ!4Ð4Ô5Ø×Ñ˜¡Z°Ó%8Ð8Õ9r   c                 ó`  ‡— ddl m} ddl m} ddl m}  G d„ d|«      } G d„ d|«      Š G ˆfd	„d
«      } |«       }| j	                  |j                  |«      «       | j	                  ‰j                  |«      «       | j                  | ||«      v «       | j	                  | ||«      j                  «       v «       | j	                  ‰ ||«      v «       | j                  | ||«      v «       | j	                  | ||«      j                  «       v «       | j	                  ‰ ||«      v «       y )Nr   rc  rŸ   r’   c                   ó   — e Zd Zd„ Zy)úCInterfaceTests.test_classImplements_base_and_derived.<locals>.IBasec                   ó   — yrÆ  r-   r-   r   r   r¿  zJInterfaceTests.test_classImplements_base_and_derived.<locals>.IBase.methodÍ  rØ  r   NrÀ  r-   r   r   r
  rè  Ì  rÝ  r   r
  c                   ó   — e Zd Zy)úFInterfaceTests.test_classImplements_base_and_derived.<locals>.IDerivedNr   r-   r   r   r  rë  Ð  rý   r   r  c                   ó   •— e Zd ZW ° Zd„ Zy)úEInterfaceTests.test_classImplements_base_and_derived.<locals>.Currentc                 ó   — t        «       ‚r   r   r‡   s    r   r¿  zLInterfaceTests.test_classImplements_base_and_derived.<locals>.Current.methodÕ  rÓ  r   Nrã  )r  s   €r   rÖ  rí  Ó  s   ø„ Ù&ˆOó,r   rÖ  )r”   rd  r    r“   r²   r—   Ú	flattened)r$   rd  r    r“   r
  rÖ  r×  r  s          @r   Ú%test_classImplements_base_and_derivedz4InterfaceTests.test_classImplements_base_and_derivedÇ  sÿ   ø€ Ý,Ý0Ý-ô	 �Iô 	 ô	�uô 	÷	,ó 	,ñ
 “)ˆà�‰˜×+Ñ+¨GÓ4Ô5Ø�‰˜×.Ñ.¨wÓ7Ô8Ø×Ñ˜¡-°Ó"8Ð8Ô9Ø�‰˜¡¨wÓ!7×!AÑ!AÓ!CÐCÔDØ�‰˜¡M°'Ó$:Ð:Ô;Ø×Ñ˜¡*¨WÓ"5Ð5Ô6Ø�‰˜¡¨GÓ!4×!>Ñ!>Ó!@Ð@ÔAØ�‰˜¡J¨wÓ$7Ð7Õ8r   c                 óö  ‡‡	— ddl m} ddl m} ddl m}  G d„ d|«      Š G d„ d‰«      Š	 G ˆfd	„d
«      } G ˆ	fd„d«      } G d„ d||«      } |«       }| j	                  ‰j                  |«      «       | j	                  ‰	j                  |«      «       | j	                  ‰ ||«      v «       | j	                  ‰	 ||«      v «       | j	                  ‰ ||«      v «       | j	                  ‰	 ||«      v «       y )Nr   rc  rŸ   r’   c                   ó   — e Zd Zd„ Zy)ú;InterfaceTests.test_classImplements_multiple.<locals>.ILeftc                   ó   — yrÆ  r-   r-   r   r   r¿  zBInterfaceTests.test_classImplements_multiple.<locals>.ILeft.methodé  rØ  r   NrÀ  r-   r   r   ÚILeftró  è  rÝ  r   rõ  c                   ó   — e Zd Zy)ú<InterfaceTests.test_classImplements_multiple.<locals>.IRightNr   r-   r   r   ÚIRightr÷  ì  rý   r   rø  c                   ó   •— e Zd ZW ° Zd„ Zy)ú:InterfaceTests.test_classImplements_multiple.<locals>.Leftc                 ó   — t        «       ‚r   r   r‡   s    r   r¿  zAInterfaceTests.test_classImplements_multiple.<locals>.Left.methodò  rÓ  r   Nrã  ©rõ  s   €r   ÚLeftrú  ï  ó   ø„ Ù#ˆOó,r   rý  c                   ó   •— e Zd ZW ° Zy)ú;InterfaceTests.test_classImplements_multiple.<locals>.RightN©r   r   r   rÕ  ©rø  s   €r   ÚRightr   õ  ó   ø„ Ù$‰Or   r  c                   ó   — e Zd Zy)ú:InterfaceTests.test_classImplements_multiple.<locals>.AmbiNr   r-   r   r   ÚAmbir  ø  rý   r   r  )r”   rd  r    r“   r²   )
r$   rd  r    r“   rý  r  r  Úambirõ  rø  s
           @@r   Útest_classImplements_multiplez,InterfaceTests.test_classImplements_multipleã  sÕ   ù€ Ý,Ý0Ý-ô	 �Iô 	 ô	�Uô 	÷	,ó 	,÷	%ó 	%ô	�4˜ô 	ñ ‹vˆà�‰˜×+Ñ+¨DÓ1Ô2Ø�‰˜×,Ñ,¨TÓ2Ô3Ø�‰˜¡¨tÓ!4Ð4Ô5Ø�‰˜¡-°Ó"5Ð5Ô6Ø�‰˜¡¨DÓ!1Ð1Ô2Ø�‰˜¡*¨TÓ"2Ð2Õ3r   c                 óÔ  ‡‡‡	‡
‡— ddl m} ddl m} ddl m}  G d„ d|«      Š G d„ d‰«      Š	 G d	„ d
|«      Š G ˆfd„d«      Š
 G ˆ	fd„d«      } G ˆfd„d«      Š G ˆ
ˆfd„d‰
|«      } |«       }| j	                  ‰j                  |«      «       | j                  ‰	j                  |«      «       | j	                  ‰j                  |«      «       | j	                  ‰ ||«      v «       | j                  ‰	 ||«      v «       | j	                  ‰ ||«      v «       | j	                  ‰ ||«      v «       | j                  ‰	 ||«      v «       | j	                  ‰ ||«      v «       y )Nr   rc  rŸ   r’   c                   ó   — e Zd Zd„ Zy)úPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.ILeftc                   ó   — yrÆ  r-   r-   r   r   r¿  zWInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.ILeft.method  rØ  r   NrÀ  r-   r   r   rõ  r  	  s   „ ó r   rõ  c                   ó   — e Zd Zy)úQInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.IRightNr   r-   r   r   rø  r    rý   r   rø  c                   ó   — e Zd Zy)úQInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.IOtherNr   r-   r   r   r¹  r    rý   r   r¹  c                   ó   •— e Zd ZW ° Zd„ Zy)úOInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.Leftc                 ó   — t        «       ‚r   r   r‡   s    r   r¿  zVInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.Left.method  rÓ  r   Nrã  rü  s   €r   rý  r    rþ  r   rý  c                   ó   •— e Zd ZW ° Zy)úPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.RightNr  r  s   €r   r  r    r  r   r  c                   ó   •— e Zd ZW ° Zy)úPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.OtherNr  )r¹  s   €r   ÚOtherr    r  r   r  c                   óB   •— e Zd ZW ° j                  W °j                  fZy)úPInterfaceTests.test_classImplements_multiple_w_explict_implements.<locals>.MixedNr  )rý  r  s   €€r   ÚMixedr     s   ø„ Ù"×2Ñ2±E×4IÑ4IÐI‰Or   r  rä  )r$   rd  r    r“   r  r  Úmixedrõ  r¹  rø  rý  r  s          @@@@@r   Ú2test_classImplements_multiple_w_explict_implementszAInterfaceTests.test_classImplements_multiple_w_explict_implements  s6  ü€ Ý,Ý0Ý-ô	 �Iô 	 ô
	�Uô 	ô	�Yô 	÷	,ó 	,÷	%ó 	%÷	%ó 	%÷	J�D˜%ô 	Jñ “ˆà�‰˜×+Ñ+¨EÓ2Ô3Ø×Ñ˜×-Ñ-¨eÓ4Ô5Ø�‰˜×,Ñ,¨UÓ3Ô4Ø�‰˜¡¨uÓ!5Ð5Ô6Ø×Ñ˜¡=°Ó#7Ð7Ô8Ø�‰˜¡-°Ó"6Ð6Ô7Ø�‰˜¡¨EÓ!2Ð2Ô3Ø×Ñ˜¡:¨eÓ#4Ð4Ô5Ø�‰˜¡*¨UÓ"3Ð3Õ4r   c                 ó2  — ddl m} |j                  } |d«      } |d|f«      } |d«      } |d||f«      }| j                  |j	                  |«      «       | j                  |j	                  |«      «       | j                  |j	                  |«      «       | j                  |j	                  |«      «       | j                  |j	                  |«      «       | j                  |j	                  |«      «       | j                  |j	                  |«      «       y )Nr   rc  ÚFunInterfaceÚBarInterfaceÚBobInterfaceÚBazInterface)r”   rd  r¢  r²   r—  r—   )r$   rd  Únewr   r!  r"  r#  s          r   ÚtestInterfaceExtendsInterfacez,InterfaceTests.testInterfaceExtendsInterface/  sê   € Ý,à×!Ñ!ˆÙ˜>Ó*ˆÙ˜>¨L¨?Ó;ˆÙ˜>Ó*ˆÙ˜>¨L¸,Ð+HÓIˆà�‰˜×,Ñ,¨\Ó:Ô;Ø�‰˜×,Ñ,¨\Ó:Ô;Ø�‰˜×,Ñ,¨\Ó:Ô;Ø×Ñ˜×-Ñ-¨lÓ;Ô<Ø×Ñ˜×-Ñ-¨lÓ;Ô<Ø�‰˜×,Ñ,¨\Ó:Ô;Ø×Ñ˜×-Ñ-¨lÓ;Õ<r   c                 óŽ   ‡‡— ddl mŠ ddl m} ddlm}  G ˆfd„d|«      Š G ˆfd„d«      }| j                   |‰|«      «       y )	Nr   r¡  rc  )ÚverifyClassc                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú1InterfaceTests.test_verifyClass.<locals>.ICheckMer¶  c                   ó   — yr½  r-   r-   r   r   r¿  z8InterfaceTests.test_verifyClass.<locals>.ICheckMe.methodI  rØ  r   N©r   r   r   rW  r¿  r¡  s   €r   ÚICheckMer)  F  ó   ø„ Ú˜YÓ'ˆDór   r,  c                   ó   •— e Zd ZW ° ZdZd„ Zy)ú0InterfaceTests.test_verifyClass.<locals>.CheckMeÚvaluec                 ó   — t        «       ‚r   r   r‡   s    r   r¿  z7InterfaceTests.test_verifyClass.<locals>.CheckMe.methodP  rÓ  r   N©r   r   r   rÕ  rW  r¿  ©r,  s   €r   ÚCheckMer/  L  ó   ø„ Ù&ˆOØˆDó,r   r4  )r”   r¢  rd  r~   r'  r²   )r$   rd  r'  r4  r¢  r,  s       @@r   Útest_verifyClasszInterfaceTests.test_verifyClass@  s7   ù€ Ý,Ý,Ý5ö	�yô 	÷	,ó 	,ð 	�‰™ H¨gÓ6Õ7r   c                 óœ   ‡‡— ddl mŠ ddl m} ddlm}  G ˆfd„d|«      Š G ˆfd„d«      } |«       }| j                   |‰|«      «       y )	Nr   r¡  rc  r{   c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú2InterfaceTests.test_verifyObject.<locals>.ICheckMer¶  c                   ó   — yr½  r-   r-   r   r   r¿  z9InterfaceTests.test_verifyObject.<locals>.ICheckMe.method^  rØ  r   Nr+  r¡  s   €r   r,  r9  [  r-  r   r,  c                   ó   •— e Zd ZW ° ZdZd„ Zy)ú1InterfaceTests.test_verifyObject.<locals>.CheckMer0  c                 ó   — t        «       ‚r   r   r‡   s    r   r¿  z8InterfaceTests.test_verifyObject.<locals>.CheckMe.methode  rÓ  r   Nr2  r3  s   €r   r4  r<  a  r5  r   r4  )r”   r¢  rd  r~   r|   r²   )r$   rd  r|   r4  Úcheck_mer¢  r,  s        @@r   Útest_verifyObjectz InterfaceTests.test_verifyObjectU  s>   ù€ Ý,Ý,Ý6ö	�yô 	÷	,ó 	,ñ “9ˆà�‰™ X¨xÓ8Õ9r   c                 óf   — ddl m}  G d„ d|«      }| j                  |j                  |«      «       y )Nr   rc  c                   ó   — e Zd Zy)úLInterfaceTests.test_interface_object_provides_Interface.<locals>.AnInterfaceNr   r-   r   r   ÚAnInterfacerB  o  rý   r   rC  )r”   rd  r²   r“   )r$   rd  rC  s      r   Ú(test_interface_object_provides_Interfacez7InterfaceTests.test_interface_object_provides_Interfacel  s*   € Ý,ô	˜)ô 	ð 	�‰˜	×,Ñ,¨[Ó9Õ:r   c                 óŽ   ‡— ddl mŠ ddl m}  G ˆfd„d|«      }| j                  t	        |j                  «       «      ddg«       y )Nr   r¡  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú1InterfaceTests.test_names_simple.<locals>.ISimpler¶  c                   ó   — yrÆ  r-   r-   r   r   r¿  z8InterfaceTests.test_names_simple.<locals>.ISimple.method|  rØ  r   Nr+  r¡  s   €r   ÚISimplerG  y  ó   ø„ Ú˜YÓ'ˆDó r   rI  rW  r¿  ©r”   r¢  rd  r"   r  rÛ  ©r$   rd  rI  r¢  s      @r   Útest_names_simplez InterfaceTests.test_names_simplet  s7   ø€ Ý,Ý,ö	 �iô 	 ð 	×Ñœ §¡£Ó0°6¸8Ð2DÕEr   c                 ó  ‡— ddl mŠ ddl m}  G ˆfd„d|«      } G ˆfd„d|«      }| j                  t	        |j                  «       «      g d¢«       | j                  t	        |j                  d	¬
«      «      g d¢«       y )Nr   r¡  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú0InterfaceTests.test_names_derived.<locals>.IBaser¶  c                   ó   — yrÆ  r-   r-   r   r   r¿  z7InterfaceTests.test_names_derived.<locals>.IBase.method‰  rØ  r   Nr+  r¡  s   €r   r
  rP  †  rJ  r   r
  c                   ó,   •— e Zd Z W ° d«      Zd„ Zd„ Zy)ú3InterfaceTests.test_names_derived.<locals>.IDerivedúMy attr2c                   ó   — yrÆ  r-   r-   r   r   r¿  z:InterfaceTests.test_names_derived.<locals>.IDerived.method�  rØ  r   c                   ó   — yrÆ  r-   r-   r   r   rË  z;InterfaceTests.test_names_derived.<locals>.IDerived.method2’  rØ  r   N©r   r   r   Úattr2r¿  rË  r¡  s   €r   r  rS  Œ  s   ø„ Ú˜jÓ)ˆEò ó r   r  )rX  r¿  rË  Tr  ©rW  rX  r¿  rË  rK  ©r$   rd  r
  r  r¢  s       @r   Útest_names_derivedz!InterfaceTests.test_names_derived�  sf   ø€ Ý,Ý,ö	 �Iô 	 ö	 �uô 	 ð 	×Ñœ §¡Ó 0Ó1Ú7ô	9à×Ñœ §¡°4 Ó 8Ó9Ú?õ	Ar   c                 ó   ‡— ddl mŠ ddlm} ddl m}  G ˆfd„d|«      }t        |j                  «       «      }| j                  t        |«      d«       | j                  |d   d   d«       | j                  t        |d   d	   ‰«      «       | j                  |d   d	   j                  d«       | j                  |d   d	   j                  d
«       | j                  |d	   d   d«       | j                  t        |d	   d	   |«      «       | j                  |d	   d	   j                  d«       | j                  |d	   d	   j                  d«       y )Nr   r¡  ©ÚMethodrc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú@InterfaceTests.test_namesAndDescriptions_simple.<locals>.ISimpler¶  c                   ó   — y©ú	My methodNr-   r-   r   r   r¿  zGInterfaceTests.test_namesAndDescriptions_simple.<locals>.ISimple.method£  rØ  r   Nr+  r¡  s   €r   rI  r`     ó   ø„ Ú˜YÓ'ˆDór   rI  re  rW  rm  r¶  r¿  rc  )r”   r¢  r!   r^  rd  r  r-  r"   rg  r²   rr  r   rQ   )r$   r^  rd  rI  Úname_valuesr¢  s        @r   Ú test_namesAndDescriptions_simplez/InterfaceTests.test_namesAndDescriptions_simpleš  s(  ø€ Ý,Ý3Ý,ö	�iô 	ô ˜W×9Ñ9Ó;Ó<ˆà×Ñœ˜[Ó)¨1Ô-Ø×Ñ˜ Q™¨Ñ*¨FÔ3Ø�‰œ
 ;¨q¡>°!Ñ#4°iÓ@ÔAØ×Ñ˜ Q™¨Ñ*×3Ñ3°VÔ<Ø×Ñ˜ Q™¨Ñ*×2Ñ2°IÔ>Ø×Ñ˜ Q™¨Ñ*¨HÔ5Ø�‰œ
 ;¨q¡>°!Ñ#4°fÓ=Ô>Ø×Ñ˜ Q™¨Ñ*×3Ñ3°XÔ>Ø×Ñ˜ Q™¨Ñ*×2Ñ2°KÕ@r   c                 ó  ‡— ddl mŠ ddl m} ddlm}  G ˆfd„d|«      } G ˆfd„d|«      }t        |j                  «       «      }| j                  t        |«      d	«       | j                  |d   d   d
«       | j                  t        |d   d   ‰«      «       | j                  |d   d   j                  d
«       | j                  |d   d   j                  d«       | j                  |d   d   d«       | j                  t        |d   d   |«      «       | j                  |d   d   j                  d«       | j                  |d   d   j                  d«       | j                  |d   d   d«       | j                  t        |d   d   |«      «       | j                  |d   d   j                  d«       | j                  |d   d   j                  d«       t        |j                  d¬«      «      }| j                  t        |«      d«       | j                  |d   d   d«       | j                  t        |d   d   ‰«      «       | j                  |d   d   j                  d«       | j                  |d   d   j                  d«       | j                  |d   d   d
«       | j                  t        |d   d   ‰«      «       | j                  |d   d   j                  d
«       | j                  |d   d   j                  d«       | j                  |d   d   d«       | j                  t        |d   d   |«      «       | j                  |d   d   j                  d«       | j                  |d   d   j                  d«       | j                  |d	   d   d«       | j                  t        |d	   d   |«      «       | j                  |d	   d   j                  d«       | j                  |d	   d   j                  d«       y )Nr   r¡  rc  r]  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú?InterfaceTests.test_namesAndDescriptions_derived.<locals>.IBaser¶  c                   ó   — yrb  r-   r-   r   r   r¿  zFInterfaceTests.test_namesAndDescriptions_derived.<locals>.IBase.method»  rØ  r   Nr+  r¡  s   €r   r
  ri  ¸  rd  r   r
  c                   ó,   •— e Zd Z W ° d«      Zd„ Zd„ Zy)úBInterfaceTests.test_namesAndDescriptions_derived.<locals>.IDerivedrT  c                   ó   — y©úMy method, overriddenNr-   r-   r   r   r¿  zIInterfaceTests.test_namesAndDescriptions_derived.<locals>.IDerived.methodÁ  rØ  r   c                   ó   — y©ú
My method2Nr-   r-   r   r   rË  zJInterfaceTests.test_namesAndDescriptions_derived.<locals>.IDerived.method2Ä  rØ  r   NrW  r¡  s   €r   r  rl  ¾  ó   ø„ Ú˜jÓ)ˆEò(ór   r  é   rX  rm  rT  r¿  ro  re  rË  rr  Tr  é   rW  r¶  )r”   r¢  rd  r!   r^  r  r-  r"   rg  r²   rr  r   rQ   )r$   rd  r^  r
  r  re  r¢  s         @r   Ú!test_namesAndDescriptions_derivedz0InterfaceTests.test_namesAndDescriptions_derived²  s¢  ø€ Ý,Ý,Ý3ö	�Iô 	ö	�uô 	ô ˜X×:Ñ:Ó<Ó=ˆà×Ñœ˜[Ó)¨1Ô-Ø×Ñ˜ Q™¨Ñ*¨GÔ4Ø�‰œ
 ;¨q¡>°!Ñ#4°iÓ@ÔAØ×Ñ˜ Q™¨Ñ*×3Ñ3°WÔ=Ø×Ñ˜ Q™¨Ñ*×2Ñ2°JÔ?Ø×Ñ˜ Q™¨Ñ*¨HÔ5Ø�‰œ
 ;¨q¡>°!Ñ#4°fÓ=Ô>Ø×Ñ˜ Q™¨Ñ*×3Ñ3°XÔ>Ø×Ñ˜ Q™¨Ñ*×2Ñ2Ð4KÔLØ×Ñ˜ Q™¨Ñ*¨IÔ6Ø�‰œ
 ;¨q¡>°!Ñ#4°fÓ=Ô>Ø×Ñ˜ Q™¨Ñ*×3Ñ3°YÔ?Ø×Ñ˜ Q™¨Ñ*×2Ñ2°LÔAä˜X×:Ñ:¸tÐ:ÓDÓEˆà×Ñœ˜[Ó)¨1Ô-Ø×Ñ˜ Q™¨Ñ*¨FÔ3Ø�‰œ
 ;¨q¡>°!Ñ#4°iÓ@ÔAØ×Ñ˜ Q™¨Ñ*×3Ñ3°VÔ<Ø×Ñ˜ Q™¨Ñ*×2Ñ2°IÔ>Ø×Ñ˜ Q™¨Ñ*¨GÔ4Ø�‰œ
 ;¨q¡>°!Ñ#4°iÓ@ÔAØ×Ñ˜ Q™¨Ñ*×3Ñ3°WÔ=Ø×Ñ˜ Q™¨Ñ*×2Ñ2°JÔ?Ø×Ñ˜ Q™¨Ñ*¨HÔ5Ø�‰œ
 ;¨q¡>°!Ñ#4°fÓ=Ô>Ø×Ñ˜ Q™¨Ñ*×3Ñ3°XÔ>Ø×Ñ˜ Q™¨Ñ*×2Ñ2Ð4KÔLØ×Ñ˜ Q™¨Ñ*¨IÔ6Ø�‰œ
 ;¨q¡>°!Ñ#4°fÓ=Ô>Ø×Ñ˜ Q™¨Ñ*×3Ñ3°YÔ?Ø×Ñ˜ Q™¨Ñ*×2Ñ2°LÕAr   c                 óh   — ddl m}  G d„ d|«      }| j                  t        |j                  d«       y )Nr   rc  c                   ó   — e Zd Zy)úIInterfaceTests.test_getDescriptionFor_nonesuch_no_default.<locals>.IEmptyNr   r-   r   r   ÚIEmptyry  î  rý   r   rz  r\   )r”   rd  r]   r^   r:  ©r$   rd  rz  s      r   Ú*test_getDescriptionFor_nonesuch_no_defaultz9InterfaceTests.test_getDescriptionFor_nonesuch_no_defaultë  s+   € Ý,ô	�Yô 	ð 	×Ñœ( F×$<Ñ$<¸jÕIr   c                 óÔ  ‡— ddl mŠ ddlm} ddl m}  G ˆfd„d|«      }|j                  d«      }| j                  t        |‰«      «       | j                  |j                  d«       | j                  |j                  d«       |j                  d	«      }| j                  t        ||«      «       | j                  |j                  d	«       | j                  |j                  d
«       y )Nr   r¡  r]  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú=InterfaceTests.test_getDescriptionFor_simple.<locals>.ISimpler¶  c                   ó   — yrb  r-   r-   r   r   r¿  zDInterfaceTests.test_getDescriptionFor_simple.<locals>.ISimple.methodü  rØ  r   Nr+  r¡  s   €r   rI  r  ù  rd  r   rI  rW  r¶  r¿  rc  ©r”   r¢  r!   r^  rd  r:  r²   rr  r"   r   rQ   ©r$   r^  rd  rI  Úa_descÚm_descr¢  s         @r   Útest_getDescriptionFor_simplez,InterfaceTests.test_getDescriptionFor_simpleó  s°   ø€ Ý,Ý3Ý,ö	�iô 	ð ×*Ñ*¨6Ó2ˆØ�‰œ
 6¨9Ó5Ô6Ø×Ñ˜Ÿ™¨&Ô1Ø×Ñ˜Ÿ™¨Ô3à×*Ñ*¨8Ó4ˆØ�‰œ
 6¨6Ó2Ô3Ø×Ñ˜Ÿ™¨(Ô3Ø×Ñ˜Ÿ™¨Õ5r   c                 ó~  ‡	— ddl mŠ	 ddlm} ddl m}  G ˆ	fd„d|«      } G ˆ	fd„d|«      }|j                  d	«      }| j                  t        |‰	«      «       | j                  |j                  d	«       | j                  |j                  d
«       |j                  d«      }| j                  t        ||«      «       | j                  |j                  d«       | j                  |j                  d«       |j                  d«      }| j                  t        |‰	«      «       | j                  |j                  d«       | j                  |j                  d«       |j                  d«      }| j                  t        ||«      «       | j                  |j                  d«       | j                  |j                  d«       y )Nr   r¡  r]  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú<InterfaceTests.test_getDescriptionFor_derived.<locals>.IBaser¶  c                   ó   — yrb  r-   r-   r   r   r¿  zCInterfaceTests.test_getDescriptionFor_derived.<locals>.IBase.method  rØ  r   Nr+  r¡  s   €r   r
  rˆ    rd  r   r
  c                   ó,   •— e Zd Z W ° d«      Zd„ Zd„ Zy)ú?InterfaceTests.test_getDescriptionFor_derived.<locals>.IDerivedrT  c                   ó   — yrn  r-   r-   r   r   r¿  zFInterfaceTests.test_getDescriptionFor_derived.<locals>.IDerived.method  rØ  r   c                   ó   — yrq  r-   r-   r   r   rË  zGInterfaceTests.test_getDescriptionFor_derived.<locals>.IDerived.method2  rØ  r   NrW  r¡  s   €r   r  r‹    rs  r   r  rW  r¶  r¿  ro  rX  rT  rË  rr  r�  ©
r$   r^  rd  r
  r  rƒ  r„  Úa2_descÚm2_descr¢  s
            @r   Útest_getDescriptionFor_derivedz-InterfaceTests.test_getDescriptionFor_derived	  sW  ø€ Ý,Ý3Ý,ö	�Iô 	ö	�uô 	ð ×+Ñ+¨FÓ3ˆØ�‰œ
 6¨9Ó5Ô6Ø×Ñ˜Ÿ™¨&Ô1Ø×Ñ˜Ÿ™¨Ô3à×+Ñ+¨HÓ5ˆØ�‰œ
 6¨6Ó2Ô3Ø×Ñ˜Ÿ™¨(Ô3Ø×Ñ˜Ÿ™Ð)@ÔAà×,Ñ,¨WÓ5ˆØ�‰œ
 7¨IÓ6Ô7Ø×Ñ˜×)Ñ)¨7Ô3Ø×Ñ˜Ÿ™¨*Ô5à×,Ñ,¨YÓ7ˆØ�‰œ
 7¨FÓ3Ô4Ø×Ñ˜×)Ñ)¨9Ô5Ø×Ñ˜Ÿ™¨,Õ7r   c                 óh   — ddl m}  G d„ d|«      }| j                  t        |j                  d«       y )Nr   rc  c                   ó   — e Zd Zy)ú7InterfaceTests.test___getitem__nonesuch.<locals>.IEmptyNr   r-   r   r   rz  r”  5  rý   r   rz  r\   )r”   rd  r]   r^   Ú__getitem__r{  s      r   Útest___getitem__nonesuchz'InterfaceTests.test___getitem__nonesuch2  s+   € Ý,ô	�Yô 	ð 	×Ñœ( F×$6Ñ$6¸
ÕCr   c                 ó¤  ‡— ddl mŠ ddlm} ddl m}  G ˆfd„d|«      }|d   }| j                  t        |‰«      «       | j                  |j                  d«       | j                  |j                  d«       |d	   }| j                  t        ||«      «       | j                  |j                  d	«       | j                  |j                  d
«       y )Nr   r¡  r]  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú6InterfaceTests.test___getitem__simple.<locals>.ISimpler¶  c                   ó   — yrb  r-   r-   r   r   r¿  z=InterfaceTests.test___getitem__simple.<locals>.ISimple.methodC  rØ  r   Nr+  r¡  s   €r   rI  r™  @  rd  r   rI  rW  r¶  r¿  rc  ©
r”   r¢  r!   r^  rd  r²   rr  r"   r   rQ   r‚  s         @r   Útest___getitem__simplez%InterfaceTests.test___getitem__simple:  s£   ø€ Ý,Ý3Ý,ö	�iô 	ð ˜‘ˆØ�‰œ
 6¨9Ó5Ô6Ø×Ñ˜Ÿ™¨&Ô1Ø×Ñ˜Ÿ™¨Ô3à˜Ñ"ˆØ�‰œ
 6¨6Ó2Ô3Ø×Ñ˜Ÿ™¨(Ô3Ø×Ñ˜Ÿ™¨Õ5r   c                 ó  ‡	— ddl mŠ	 ddlm} ddl m}  G ˆ	fd„d|«      } G ˆ	fd„d|«      }|d	   }| j                  t        |‰	«      «       | j                  |j                  d	«       | j                  |j                  d
«       |d   }| j                  t        ||«      «       | j                  |j                  d«       | j                  |j                  d«       |d   }| j                  t        |‰	«      «       | j                  |j                  d«       | j                  |j                  d«       |d   }| j                  t        ||«      «       | j                  |j                  d«       | j                  |j                  d«       y )Nr   r¡  r]  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú6InterfaceTests.test___getitem___derived.<locals>.IBaser¶  c                   ó   — yrb  r-   r-   r   r   r¿  z=InterfaceTests.test___getitem___derived.<locals>.IBase.methodY  rØ  r   Nr+  r¡  s   €r   r
  rŸ  V  rd  r   r
  c                   ó,   •— e Zd Z W ° d«      Zd„ Zd„ Zy)ú9InterfaceTests.test___getitem___derived.<locals>.IDerivedrT  c                   ó   — yrn  r-   r-   r   r   r¿  z@InterfaceTests.test___getitem___derived.<locals>.IDerived.method_  rØ  r   c                   ó   — yrq  r-   r-   r   r   rË  zAInterfaceTests.test___getitem___derived.<locals>.IDerived.method2b  rØ  r   NrW  r¡  s   €r   r  r¢  \  rs  r   r  rW  r¶  r¿  ro  rX  rT  rË  rr  r›  rŽ  s
            @r   Útest___getitem___derivedz'InterfaceTests.test___getitem___derivedP  s?  ø€ Ý,Ý3Ý,ö	�Iô 	ö	�uô 	ð ˜&Ñ!ˆØ�‰œ
 6¨9Ó5Ô6Ø×Ñ˜Ÿ™¨&Ô1Ø×Ñ˜Ÿ™¨Ô3à˜(Ñ#ˆØ�‰œ
 6¨6Ó2Ô3Ø×Ñ˜Ÿ™¨(Ô3Ø×Ñ˜Ÿ™Ð)@ÔAà˜7Ñ#ˆØ�‰œ
 7¨IÓ6Ô7Ø×Ñ˜×)Ñ)¨7Ô3Ø×Ñ˜Ÿ™¨*Ô5à˜9Ñ%ˆØ�‰œ
 7¨FÓ3Ô4Ø×Ñ˜×)Ñ)¨9Ô5Ø×Ñ˜Ÿ™¨,Õ7r   c                 óL   — ddl m}  G d„ d|«      }| j                  d|v «       y )Nr   rc  c                   ó   — e Zd Zy)ú8InterfaceTests.test___contains__nonesuch.<locals>.IEmptyNr   r-   r   r   rz  r¨  |  rý   r   rz  r\   )r”   rd  r—   r{  s      r   Útest___contains__nonesuchz(InterfaceTests.test___contains__nonesuchy  s&   € Ý,ô	�Yô 	ð 	×Ñ˜ vÐ-Õ.r   c                 ó„   ‡— ddl mŠ ddl m}  G ˆfd„d|«      }| j                  d|v «       | j                  d|v «       y )Nr   r¡  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú7InterfaceTests.test___contains__simple.<locals>.ISimpler¶  c                   ó   — yrb  r-   r-   r   r   r¿  z>InterfaceTests.test___contains__simple.<locals>.ISimple.method‰  rØ  r   Nr+  r¡  s   €r   rI  r¬  †  rd  r   rI  rW  r¿  ©r”   r¢  rd  r²   rL  s      @r   Útest___contains__simplez&InterfaceTests.test___contains__simple�  s9   ø€ Ý,Ý,ö	�iô 	ð 	�‰˜ 'Ð)Ô*Ø�‰˜ GÐ+Õ,r   c                 óê   ‡— ddl mŠ ddl m}  G ˆfd„d|«      } G ˆfd„d|«      }| j                  d|v «       | j                  d	|v «       | j                  d
|v «       | j                  d|v «       y )Nr   r¡  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú6InterfaceTests.test___contains__derived.<locals>.IBaser¶  c                   ó   — yrb  r-   r-   r   r   r¿  z=InterfaceTests.test___contains__derived.<locals>.IBase.method—  rØ  r   Nr+  r¡  s   €r   r
  r²  ”  rd  r   r
  c                   ó,   •— e Zd Z W ° d«      Zd„ Zd„ Zy)ú9InterfaceTests.test___contains__derived.<locals>.IDerivedrT  c                   ó   — yrn  r-   r-   r   r   r¿  z@InterfaceTests.test___contains__derived.<locals>.IDerived.method�  rØ  r   c                   ó   — yrq  r-   r-   r   r   rË  zAInterfaceTests.test___contains__derived.<locals>.IDerived.method2   rØ  r   NrW  r¡  s   €r   r  rµ  š  rs  r   r  rW  r¿  rX  rË  r®  rZ  s       @r   Útest___contains__derivedz'InterfaceTests.test___contains__derived�  sg   ø€ Ý,Ý,ö	�Iô 	ö	�uô 	ð 	�‰˜ (Ð*Ô+Ø�‰˜ HÐ,Ô-Ø�‰˜ 8Ð+Ô,Ø�‰˜	 XÐ-Õ.r   c                 ó\   — ddl m}  G d„ d|«      }| j                  t        |«      g «       y )Nr   rc  c                   ó   — e Zd Zy)ú1InterfaceTests.test___iter__empty.<locals>.IEmptyNr   r-   r   r   rz  r»  «  rý   r   rz  )r”   rd  r"   rS   r{  s      r   Útest___iter__emptyz!InterfaceTests.test___iter__empty¨  s'   € Ý,ô	�Yô 	ð 	×Ñœ˜f› rÕ*r   c                 ó„   ‡— ddl mŠ ddl m}  G ˆfd„d|«      }| j                  t	        t        |«      «      ddg«       y )Nr   r¡  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú3InterfaceTests.test___iter__simple.<locals>.ISimpler¶  c                   ó   — yrb  r-   r-   r   r   r¿  z:InterfaceTests.test___iter__simple.<locals>.ISimple.method¸  rØ  r   Nr+  r¡  s   €r   rI  r¿  µ  rd  r   rI  rW  r¿  ©r”   r¢  rd  r"   r  rS   rL  s      @r   Útest___iter__simplez"InterfaceTests.test___iter__simple°  s5   ø€ Ý,Ý,ö	�iô 	ð 	×Ñœ¤ W£Ó.°¸Ð0BÕCr   c                 óž   ‡— ddl mŠ ddl m}  G ˆfd„d|«      } G ˆfd„d|«      }| j                  t	        t        |«      «      g d¢«       y )	Nr   r¡  rc  c                   ó&   •— e Zd Z W ° d«      Zd„ Zy)ú2InterfaceTests.test___iter__derived.<locals>.IBaser¶  c                   ó   — yrb  r-   r-   r   r   r¿  z9InterfaceTests.test___iter__derived.<locals>.IBase.methodÅ  rØ  r   Nr+  r¡  s   €r   r
  rÅ  Â  rd  r   r
  c                   ó,   •— e Zd Z W ° d«      Zd„ Zd„ Zy)ú5InterfaceTests.test___iter__derived.<locals>.IDerivedrT  c                   ó   — yrn  r-   r-   r   r   r¿  z<InterfaceTests.test___iter__derived.<locals>.IDerived.methodË  rØ  r   c                   ó   — yrq  r-   r-   r   r   rË  z=InterfaceTests.test___iter__derived.<locals>.IDerived.method2Î  rØ  r   NrW  r¡  s   €r   r  rÈ  È  rs  r   r  rY  rÁ  rZ  s       @r   Útest___iter__derivedz#InterfaceTests.test___iter__derived½  s@   ø€ Ý,Ý,ö	�Iô 	ö	�uô 	ð 	×Ñœ¤ X£Ó/Ú?õ	Ar   c                 ór   — ddl m}  G d„ d|«      }|d   }| j                  |j                  d«      d«       y )Nr   rc  c                   ó    — e Zd Zd„ Zde_        y)úLInterfaceTests.test_function_attributes_become_tagged_values.<locals>.ITagMec                   ó   — yrÆ  r-   r-   r   r   r¿  zSInterfaceTests.test_function_attributes_become_tagged_values.<locals>.ITagMe.methodØ  rØ  r   rm  N)r   r   r   r¿  Úoptionalr-   r   r   ÚITagMerÎ  ×  s   „ ò àˆF�Or   rÑ  r¿  rÐ  rm  )r”   rd  r"   r_   )r$   rd  rÑ  r¿  s       r   Ú-test_function_attributes_become_tagged_valuesz<InterfaceTests.test_function_attributes_become_tagged_valuesÔ  s8   € Ý,ô	 �Yô 	 ð
 ˜Ñ!ˆØ×Ñ˜×.Ñ.¨zÓ:¸AÕ>r   c                 ó”   — ddl m}  G d„ d|«      }| j                  |j                  d«       | j                  t	        |«      g «       y )Nr   rc  c                   ó   — e Zd ZdZy)ú@InterfaceTests.test___doc___non_element.<locals>.IHaveADocStringÚxxxN©r   r   r   rQ   r-   r   r   ÚIHaveADocStringrÕ  â  ó   „ Úr   rØ  rÖ  )r”   rd  r"   rQ   rS   )r$   rd  rØ  s      r   Útest___doc___non_elementz'InterfaceTests.test___doc___non_elementß  s>   € Ý,ô	˜iô 	ð 	×Ñ˜×0Ñ0°%Ô8Ø×Ñœ˜oÓ.°Õ3r   c                 ó¨   ‡— ddl mŠ ddl m}  G ˆfd„d|«      }| j                  |j                  d«       | j                  t        |«      dg«       y )Nr   r¡  rc  c                   ó$   •— e Zd ZdZ W ° d«      Zy)ú?InterfaceTests.test___doc___as_element.<locals>.IHaveADocStringrÖ  úthe docNr×  r¡  s   €r   rØ  rÝ  ì  s   ø„ ÙÚ 	Ó*‰Gr   rØ  rO   rQ   )r”   r¢  rd  r"   rQ   rS   )r$   rd  rØ  r¢  s      @r   Útest___doc___as_elementz&InterfaceTests.test___doc___as_elementè  sD   ø€ Ý,Ý,ö	+˜iô 	+ð 	×Ñ˜×0Ñ0°"Ô5Ø×Ñœ˜oÓ.°°Õ<r   c                 óà  — ddl m} | j                  ||j                  |«       g }	 |j                  ||«       | j	                  d«       | j                  t        |«      |«       |D �cg c]  }|j                  d   ‘Œ }}|j                  «        |D ]#  }	| j                  |	|j                  d«      «       Œ% y # |$ r)}| j                  |j                  d   |«       Y d }~Œ™d }~ww xY wc c}w )Nr   rb  z&validateInvariants should always raise)
rî  rc  r]   r_  Úfailr"   r   rg  ÚsortÚpop)
r$   Úhas_invariantÚ	error_lenÚ
error_msgsr*  rc  ÚeÚerrorÚmsgsÚmsgs
             r   Ú_errorsEqualzInterfaceTests._errorsEqualó  s×   € Ý5Ø×Ñ˜' 5×#;Ñ#;¸]ÔKØˆð	/Ø×$Ñ$ ]°AÔ6Ø�I‰IÐ>Ô?ð 	×Ñœ˜Q› Ô+Ø+,Ö- %�—
‘
˜1“Ð-ˆÐ-Ø�	‰	ŒØò 	5ˆCØ×Ñ˜S *§.¡.°Ó"3Õ4ñ	5øð ò 	/Ø×Ñ˜UŸZ™Z¨™]¨A×.Ñ.ûð	/üò .s   §#B: Á)C+Â:C(Â?C#Ã#C(c                 óä  ‡‡— ddl mŠ ddl m} ddl m} ddl mŠ  G ˆˆfd„d|«      } G d„ d	«      } |«       } |||«       | j                  |j                  d
«      t        g«       | j                  |j                  |«      d «       d|_	        | j                  |j                  |«      d «       d|_
        | j                  |j                  |«      d «       |`	| j                  |ddg|«       y )Nr   r¡  rc  ©ÚdirectlyProvidesr	   c                   óD   •— e Zd Z W ° d«      Z W ° d«      Z W °e«       y)ú8InterfaceTests.test_invariant_simple.<locals>.IInvariantrc   ú*bar; must eval to Boolean True if foo doesN©r   r   r   rc   r5   Ú_ifFooThenBar©r¢  r
   s   €€r   Ú
IInvariantrð  	  ó    ø„ Ú˜EÓ"ˆCÚÐHÓIˆCÚ�mÕ$r   rõ  c                   ó   — e Zd Zy)ú:InterfaceTests.test_invariant_simple.<locals>.HasInvariantNr   r-   r   r   ÚHasInvariantrø    rý   r   rù  r   é   é*   rm  úIf Foo, then Bar!)r”   r¢  rd  rî  r
   r"   r_   ró  r_  r5   rc   rë  )r$   rd  rî  rõ  rù  rä  r¢  r
   s         @@r   Útest_invariant_simplez$InterfaceTests.test_invariant_simple  sÜ   ù€ Ý,Ý,Ý3Ý,÷	%˜ô 	%÷
	ñ 	ñ %›ˆÙ˜¨
Ô3ð 	×Ñ˜×2Ñ2°<Ó@Ü'˜ô	*à×Ñ˜×6Ñ6°}ÓEÀtÔLØˆÔØ×Ñ˜×6Ñ6°}ÓEÀtÔLØˆÔØ×Ñ˜×6Ñ6°}ÓEÀtÔLØÐØ×Ñ˜-¨Ð-@Ð,AØ$õ	&r   c                 ó  ‡‡— ddl mŠ ddl m} ddl m} ddl mŠ  G ˆˆfd„d|«      } G ˆfd„d	|«      } G d
„ d«      }| j                  |j                  d«      t        g«        |«       } |||«       d|_        | j                  |ddg|«       d|_        d|_
        | j                  |ddg|«       d|_        d|_
        | j                  |dddg|«       d|_        d|_
        | j                  |j                  |«      d «       y )Nr   r¡  rc  rí  r	   c                   óD   •— e Zd Z W ° d«      Z W ° d«      Z W °e«       y)ú8InterfaceTests.test_invariant_nested.<locals>.IInvariantrc   rñ  Nrò  rô  s   €€r   rõ  r   '  rö  r   rõ  c                   ó    •— e Zd Z W ° e«       y)ú;InterfaceTests.test_invariant_nested.<locals>.ISubInvariantN)r   r   r   Ú_barGreaterThanFoor	   s   €r   ÚISubInvariantr  ,  s   ø„ ÚÐ(Õ)r   r  c                   ó   — e Zd Zy)ú:InterfaceTests.test_invariant_nested.<locals>.HasInvariantNr   r-   r   r   rù  r  /  rý   r   rù  r   rû  rm  rü  re  ú%Please, Boo MUST be greater than Foo!)r”   r¢  rd  rî  r
   r"   r_   r  rc   rë  r5   r_  )	r$   rd  rî  rõ  r  rù  rä  r¢  r
   s	          @@r   Útest_invariant_nestedz$InterfaceTests.test_invariant_nested!  s  ù€ Ý,Ý,Ý3Ý,÷	%˜ô 	%ö
	*˜Jô 	*÷	ñ 	ð 	×Ñ˜×5Ñ5°lÓCÜ,Ð-ô	/á$›ˆÙ˜¨Ô6ØˆÔð 	×Ñ˜-¨Ð-@Ð,AØ'ô	)ð ˆÔØˆÔØ×Ñ˜-¨ØBÐCØ'ô	)ð
 ˆÔØˆÔØ×Ñ˜-¨Ø.ØBðDà'ô	)ð
 ˆÔØˆÔØ×Ñ˜×6Ñ6°}ÓEÀtÕLr   c                 óJ  ‡‡	— ddl mŠ ddl m} ddl m} ddl mŠ	  G ˆˆ	fd„d|«      } G d„ d	«      } |«       } |||«       d
|_        |j                  d«      }|d d  }|j                  t        «       |j                  d|«       | j                  |ddg|«       d|_        d|_        | j                  |ddg|«       d|_        d|_        | j                  |dddg|«       d|_        d|_        | j                  |j                  |«      d «       |j                  d|«       y )Nr   r¡  rc  rí  r	   c                   óD   •— e Zd Z W ° d«      Z W ° d«      Z W °e«       y)ú:InterfaceTests.test_invariant_mutandis.<locals>.IInvariantrc   rñ  Nrò  rô  s   €€r   rõ  r  V  rö  r   rõ  c                   ó   — e Zd Zy)ú<InterfaceTests.test_invariant_mutandis.<locals>.HasInvariantNr   r-   r   r   rù  r  [  rý   r   rù  rû  r   rm  rü  re  r  )r”   r¢  rd  rî  r
   rc   r_   rR  r  re   rë  r5   r"   r_  )
r$   rd  rî  rõ  rù  rä  Úold_invariantsr   r¢  r
   s
           @@r   Útest_invariant_mutandisz&InterfaceTests.test_invariant_mutandisP  s5  ù€ Ý,Ý,Ý3Ý,÷	%˜ô 	%÷
	ñ 	ñ %›ˆÙ˜¨
Ô3ØˆÔð $×2Ñ2°<Ó@ˆØ#¡AÐ&ˆ
Ø×ÑÔ,Ô-Ø×!Ñ! ,°
Ô;ð 	×Ñ˜-¨Ð-@Ð,AØ$ô	&ð ˆÔØˆÔØ×Ñ˜-¨ØBÐCÀZô	Qð ˆÔØˆÔØ×Ñ˜-¨Ø.ØBðDà$ô	&ð
 ˆÔØˆÔØ×Ñ˜×6Ñ6°}ÓEÀtÔLà×!Ñ! ,°Õ?r   c                 ó,  ‡— ddl m} ddl mŠ  G d„ d|«      }| j                  |j                  d«       | j                  t        |«      g «        G ˆfd„d|«      }| j                  |j                  d	«       | j                  t        |«      d
g«       y )Nr   rc  r¡  c                   ó   — e Zd ZdZy)ú7InterfaceTests.test___doc___element.<locals>.IDocstringrÖ  Nr×  r-   r   r   Ú
IDocstringr  ˆ  rÙ  r   r  rÖ  c                   ó$   •— e Zd ZdZ W ° d«      Zy)úCInterfaceTests.test___doc___element.<locals>.IDocstringAndAttributerÖ  rÞ  Nr×  r¡  s   €r   ÚIDocstringAndAttributer  Ž  s   ø„ Ùâ 	Ó*‰Gr   r  rO   rQ   )r”   rd  r¢  r"   rQ   rS   )r$   rd  r  r  r¢  s       @r   Útest___doc___elementz#InterfaceTests.test___doc___element…  s   ø€ Ý,Ý,ô	˜ô 	ð 	×Ñ˜×+Ñ+¨UÔ3Ø×Ñœ˜jÓ)¨2Ô.ö	+ Yô 	+ð
 	×ÑÐ/×7Ñ7¸Ô<Ø×ÑœÐ4Ó5¸	°{ÕCr   c                 óz  ‡‡‡— ddl m} ddl mŠ ddl m} ddl mŠ ddlmŠ  G ˆˆˆfd„d|«      } ||«       G d	„ d
«      «       }|j                   |dd«      «       |j                   |dd«      «       	 |j                   |dd«      «       y # ‰$ r%}| j                  t        |«      d«       Y d }~y d }~ww xY w)Nr   rc  r¡  r¬  r	   rb  c                   óH   •— e Zd Z W ° d«      Z W ° d«      ZW °ˆfd„«       Zy)ú:InterfaceTests.test_invariant_as_decorator.<locals>.IRangezLower boundzUpper boundc                 óH   •— | j                   | j                  k  r ‰d«      ‚y )Nú	max < min)ÚmaxÚmin)Úobrc  s    €r   Úrange_invariantzJInterfaceTests.test_invariant_as_decorator.<locals>.IRange.range_invariant¡  s"   ø€ à—6‘6˜BŸF™F’?Ù! +Ó.Ð.ð #r   N)r   r   r   r  r  r   )r¢  rc  r
   s   €€€r   ÚIRanger  �  s)   ø„ Ú˜MÓ*ˆCÚ˜MÓ*ˆCáó/ó ñ/r   r!  c                   ó   — e Zd Zd„ Zy)ú9InterfaceTests.test_invariant_as_decorator.<locals>.Rangec                 ó"   — ||c| _         | _        y r   )r  r  )r$   r  r  s      r   rß   zBInterfaceTests.test_invariant_as_decorator.<locals>.Range.__init__©  s   € Ø%(¨#Ð"�”˜$�(r   Nrç   r-   r   r   ÚRanger#  ¦  s   „ ó.r   r%  rm  re  r  )
r”   rd  r¢  r­  r
   rî  rc  r_  r"   r7  )	r$   rd  r­  r!  r%  rç  r¢  rc  r
   s	         @@@r   Útest_invariant_as_decoratorz*InterfaceTests.test_invariant_as_decorator–  s«   ú€ Ý,Ý,Ý.Ý,Ý5÷	/ð 	/�Yô 	/ñ 
�VÓ	÷	.ð 	.ó 
ð	.ð
 	×!Ñ!¡%¨¨1£+Ô.Ø×!Ñ!¡%¨¨1£+Ô.ð	2Ø×%Ñ%¡e¨A¨q£kÕ2øØò 	2Ø×ÑœS ›V [×1Ñ1ûð	2ús   Á7B ÂB:ÂB5Â5B:c                 ó*  ‡‡— ddl mŠ ddl m} ddl mŠ  G ˆˆfd„d|«      } G ˆfd„d|«      } G d	„ d
|«      }| j	                  |j                  d«      d«       | j                  t        |j
                  d«       | j	                  t        |j                  «       «      dg«       | j	                  |j                  d«      d«       | j	                  |j                  d«      d«       | j	                  t        |j                  «       «      ddh«       y )Nr   r¡  rc  r1   c                   óF   •— e Zd Z W ° d«      Z W ° d«      Z W °dd«       y)ú0InterfaceTests.test_taggedValue.<locals>.ITaggedrc   rñ  r<   ÚSpamN)r   r   r   rc   r5   ©r¢  r2   s   €€r   ÚITaggedr)  ¸  s"   ø„ Ú˜EÓ"ˆCÚÐHÓIˆCÚ˜˜vÕ&r   r,  c                   ó6   •— e Zd Z W ° dd«        W ° dd«       y)ú1InterfaceTests.test_taggedValue.<locals>.IDerivedr<   ú	Spam Spamrc   r5   Nr   r1   s   €r   r  r.  ½  s   ø„ Ú˜˜{Ô+Ú˜˜uÕ%r   r  c                   ó   — e Zd Zy)ú2InterfaceTests.test_taggedValue.<locals>.IDerived2Nr   r-   r   r   Ú	IDerived2r1  Á  rý   r   r2  r<   r*  rc   r/  r5   )r”   r¢  rd  r2   r"   r_   r]   r^   rS   rT   Úset)r$   rd  r,  r  r2  r¢  r2   s        @@r   Útest_taggedValuezInterfaceTests.test_taggedValue³  sÝ   ù€ Ý,Ý,Ý.÷	'�iô 	'ö
	&�wô 	&ô	˜ô 	ð 	×Ñ˜×/Ñ/°Ó6¸Ô?Ø×Ñœ( G×$:Ñ$:¸EÔBØ×Ñœ˜g×8Ñ8Ó:Ó;¸e¸WÔEà×Ñ˜×1Ñ1°%Ó8¸+ÔFØ×Ñ˜×1Ñ1°%Ó8¸%Ô@Ø×Ñœ˜Y×9Ñ9Ó;Ó<¸uÀe¸nÕMr   c                 óÈ   ‡	‡
— ddl mŠ
 ddl mŠ	 |} G ˆ	ˆ
fd„d|«      } G ˆ	ˆ
fd„d|«      } G ˆ	ˆ
fd„d	|«      } G ˆ	ˆ
fd
„d||«      } G d„ d||«      } G d„ d||«      }|S )Nr   r1   r¡  c                   ó4   •— e Zd Z W °dd«        W ° d«      Zy)ú0InterfaceTests._make_taggedValue_tree.<locals>.FÚtagÚFN©r   r   r   r8  r+  s   €€r   r9  r7  Ð  ó   ø„ Ú˜˜sÔ#Ú˜C“.‰Cr   r9  c                   ó4   •— e Zd Z W °dd«        W ° d«      Zy)ú0InterfaceTests._make_taggedValue_tree.<locals>.Er8  ÚENr:  r+  s   €€r   r>  r=  Ó  r;  r   r>  c                   ó4   •— e Zd Z W °dd«        W ° d«      Zy)ú0InterfaceTests._make_taggedValue_tree.<locals>.Dr8  ÚDNr:  r+  s   €€r   rA  r@  Ö  r;  r   rA  c                   ó4   •— e Zd Z W °dd«        W ° d«      Zy)ú0InterfaceTests._make_taggedValue_tree.<locals>.Cr8  ÚCNr:  r+  s   €€r   rD  rC  Ù  r;  r   rD  c                   ó   — e Zd Zy)ú0InterfaceTests._make_taggedValue_tree.<locals>.BNr   r-   r   r   ÚBrF  Ü  rý   r   rG  c                   ó   — e Zd Zy)ú0InterfaceTests._make_taggedValue_tree.<locals>.ANr   r-   r   r   ÚArI  Þ  rý   r   rJ  )r”   r2   r¢  )r$   r  ÚOr9  r>  rA  rD  rG  rJ  r¢  r2   s            @@r   Ú_make_taggedValue_treez%InterfaceTests._make_taggedValue_treeÌ  sc   ù€ Ý.Ý,Øˆ÷	!�ô 	!÷	!�ô 	!÷	!�ô 	!÷	!��1ô 	!ô	��1ô 	ô	��1ô 	ð ˆr   c                 ó&  — ddl m} | j                  t        «      }| j	                  |j
                  j                  d«       | j                  |«      }| j	                  |d   j                  d«       | j	                  |j                  d«      d«       | j	                  |j                  d«      d«       |j                  d   j                  dk(  sJ ‚|j                  d   j                  dd«       | j	                  |j                  d«      d«       y )Nr   rc  rD  r8  rG  )r”   rd  rL  r˜   r"   r8  r   r_   ri   rf  re   )r$   rd  Úclass_AÚiface_As       r   Ú"test_getTaggedValue_follows__iro__z1InterfaceTests.test_getTaggedValue_follows__iro__ã  sê   € õ 	-ð ×-Ñ-¬fÓ5ˆØ×Ñ˜Ÿ™×-Ñ-¨sÔ3ð ×-Ñ-¨iÓ8ˆØ×Ñ˜ ™×0Ñ0°#Ô6à×Ñ˜×/Ñ/°Ó6¸Ô<Ø×Ñ˜×1Ñ1°%Ó8¸#Ô>à× Ñ  Ñ#×,Ñ,°Ò3Ð3Ð3Ø×Ñ˜!Ñ×+Ñ+¨E°3Ô7Ø×Ñ˜×/Ñ/°Ó6¸Õ<r   c                 ój  — ddl m} | j                  |«      }| j                  |j	                  d«      «       | j                  g t        |j                  «       «      «       | j                  t        «      5  |j                  d«       d d d «       |j                  dd«       | j                  |j	                  d«      d«       | j                  |j                  d«      d«       | j                  dgt        |j                  «       «      «       |j                  d   j                  dk(  sJ ‚|j                  d   }| j                  |j	                  d«      d«       | j                  |j                  d«      d«       | j                  dgt        |j                  «       «      «       y # 1 sw Y   �Œ"xY w)Nr   rc  r8  rJ  rm  rD  )r”   rd  rL  r‰  rs   r"   rS   rd   r]   r^   ro   re   rf  r   )r$   rd  rJ  rD  s       r   Ú(test_getDirectTaggedValue_ignores__iro__z7InterfaceTests.test_getDirectTaggedValue_ignores__iro__ø  sd  € å,à×'Ñ'¨	Ó2ˆØ×Ñ˜!×2Ñ2°5Ó9Ô:Ø×Ñ˜œT !×"<Ñ"<Ó">Ó?Ô@à×ÑœxÓ(ñ 	*Ø×"Ñ" 5Ô)÷	*ð 	
×Ñ˜ Ô$Ø×Ñ˜×1Ñ1°%Ó8¸#Ô>Ø×Ñ˜×/Ñ/°Ó6¸Ô<Ø×Ñ˜%˜¤$ q×'AÑ'AÓ'CÓ"DÔEà�{‰{˜1‰~×&Ñ&¨#Ò-Ð-Ð-Ø�K‰K˜‰NˆØ×Ñ˜×1Ñ1°%Ó8¸#Ô>Ø×Ñ˜×/Ñ/°Ó6¸Ô<Ø×Ñ˜%˜¤$ q×'AÑ'AÓ'CÓ"DÕE÷	*ñ 	*ús   Á6F(Æ(F2c                 ó  ‡— ddl m} ddl mŠ  G ˆfd„d|«      } G d„ d|«      } G d„ d	|«      }| j                  |j	                  d
«      |j	                  d
«      u «       |f|_        | j                  |j	                  d
«      d u «       y )Nr   rc  r¡  c                   ó    •— e Zd Z W ° d«      Zy)ú<InterfaceTests.test_description_cache_management.<locals>.I1rÏ   N)r   r   r   rÏ   r¡  s   €r   r·  rU    s   ø„ Ú˜#“‰Ar   r·  c                   ó   — e Zd Zy)ú<InterfaceTests.test_description_cache_management.<locals>.I2Nr   r-   r   r   ÚI2rW    rý   r   rX  c                   ó   — e Zd Zy)ú<InterfaceTests.test_description_cache_management.<locals>.I3Nr   r-   r   r   ÚI3rZ    rý   r   r[  rÏ   )r”   rd  r¢  r²   r‚  rf  )r$   rd  r·  rX  r[  r¢  s        @r   Ú!test_description_cache_managementz0InterfaceTests.test_description_cache_management  st   ø€ õ 	-Ý,ö	�ô 	ô	�ô 	ô	�ô 	ð 	�‰˜Ÿ™˜s› r§v¡v¨c£{Ð2Ô3à!�|ˆŒØ�‰˜Ÿ™˜s› tÐ+Õ,r   c                 ó–   — ddl m} ddl m}  G d„ d|«      } ||«       G d„ d«      «       }| j                   | |«       «      d«       y )Nr   rc  r¬  c                   ó   — e Zd Zy)ú>InterfaceTests.test___call___defers_to___conform___.<locals>.INr   r-   r   r   r}  r_  '  rý   r   r}  c                   ó   — e Zd Zd„ Zy)ú>InterfaceTests.test___call___defers_to___conform___.<locals>.Cc                  ó   — y)Nr   r-   )r$   Úprotos     r   r,  zJInterfaceTests.test___call___defers_to___conform___.<locals>.C.__conform__,  s   € Ør   Nr-  r-   r   r   rD  ra  *  s   „ ór   rD  )r”   rd  r­  r"   )r$   rd  r­  r}  rD  s        r   Ú$test___call___defers_to___conform___z3InterfaceTests.test___call___defers_to___conform___#  sI   € Ý,Ý.ô	�	ô 	ñ 
�Q‹÷	ð 	ó 
ð	ð 	×Ñ™™1›3› Õ#r   c                 óœ   — ddl m} ddl m}  G d„ d|«      } ||«       G d„ d«      «       } |«       }| j                   ||«      |u «       y )Nr   rc  r¬  c                   ó   — e Zd Zy)ú9InterfaceTests.test___call___object_implements.<locals>.INr   r-   r   r   r}  rg  5  rý   r   r}  c                   ó   — e Zd Zy)ú9InterfaceTests.test___call___object_implements.<locals>.CNr   r-   r   r   rD  ri  8  r½  r   rD  )r”   rd  r­  r²   )r$   rd  r­  r}  rD  Úcs         r   Útest___call___object_implementsz.InterfaceTests.test___call___object_implements1  sN   € Ý,Ý.ô	�	ô 	ñ 
�Q‹÷	ð 	ó 
ð	ñ ‹CˆØ�‰™˜!› ˜	Õ"r   c                 óv   — ddl m}  G d„ d|«      } G d„ d«      } |«       }| j                  t        ||«       y )Nr   rc  c                   ó   — e Zd Zy)ú9InterfaceTests.test___call___miss_wo_alternate.<locals>.INr   r-   r   r   r}  rn  B  rý   r   r}  c                   ó   — e Zd Zy)ú9InterfaceTests.test___call___miss_wo_alternate.<locals>.CNr   r-   r   r   rD  rp  E  rý   r   rD  )r”   rd  r]   r  ©r$   rd  r}  rD  rj  s        r   Útest___call___miss_wo_alternatez.InterfaceTests.test___call___miss_wo_alternate?  s6   € Ý,ô	�	ô 	÷	ñ 	ñ ‹CˆØ×Ñœ) Q¨Õ*r   c                 ó|   — ddl m}  G d„ d|«      } G d„ d«      } |«       }| j                   ||| «      | u «       y )Nr   rc  c                   ó   — e Zd Zy)ú8InterfaceTests.test___call___miss_w_alternate.<locals>.INr   r-   r   r   r}  ru  N  rý   r   r}  c                   ó   — e Zd Zy)ú8InterfaceTests.test___call___miss_w_alternate.<locals>.CNr   r-   r   r   rD  rw  Q  rý   r   rD  )r”   rd  r²   rq  s        r   Útest___call___miss_w_alternatez-InterfaceTests.test___call___miss_w_alternateK  s;   € Ý,ô	�	ô 	÷	ñ 	ñ ‹CˆØ�‰™˜!˜T›
 dÐ*Õ+r   c                 óÐ   ‡ — ddl m} ddlm} d„ }ˆ fd„} G d„ d|«      } G d„ d	«      } |«       }|d d  }||g|d d  	 ‰ j	                   ||«      ‰ u «       ||d d  y # ||d d  w xY w)
Nr   rc  rX  c                  ó   — y r   r-   rV  s     r   Ú_missz:InterfaceTests.test___call___w_adapter_hook.<locals>._miss[  s   € Ør   c                 ó   •— ‰S r   r-   )r*  r�   r$   s     €r   Ú_hitz9InterfaceTests.test___call___w_adapter_hook.<locals>._hit^  s   ø€ ØˆKr   c                   ó   — e Zd Zy)ú6InterfaceTests.test___call___w_adapter_hook.<locals>.INr   r-   r   r   r}  r  a  rý   r   r}  c                   ó   — e Zd Zy)ú6InterfaceTests.test___call___w_adapter_hook.<locals>.CNr   r-   r   r   rD  r�  d  rý   r   rD  )r”   rd  r!   rY  r²   )	r$   rd  rY  r{  r}  r}  rD  rj  Úold_adapter_hookss	   `        r   Útest___call___w_adapter_hookz+InterfaceTests.test___call___w_adapter_hookW  sz   ø€ Ý,Ý:ò	ô	ô	�	ô 	÷	ñ 	ñ ‹Cˆà)©!Ð,ÐØ! 4˜=ˆ‘aÐð	1Ø�O‰O™A˜a›D D˜LÔ)à0ˆM™!ÑøÐ0ˆM™!Ñús   ¿A ÁA%c                 óè   ‡— ddl m} ddl mŠ ddl m}  G ˆfd„d|«      } ||«       G d„ d«      «       }| j	                  d	 |t        «       «      «       | j	                  d	 | |«       «      «       y )
Nr   rc  ©Úinterfacemethodr¬  c                   ó    •— e Zd ZW ° d„ «       Zy)ú:InterfaceTests.test___call___w_overridden_adapt.<locals>.Ic                  ó   — y©Nrû  r-   ©r$   r�   s     r   rM  zDInterfaceTests.test___call___w_overridden_adapt.<locals>.I.__adapt__w  ó   € àr   N©r   r   r   rM  r…  s   €r   r}  rˆ  u  s   ø„ áñó ñr   r}  c                   ó   — e Zd Zy)ú:InterfaceTests.test___call___w_overridden_adapt.<locals>.ONr   r-   r   r   rK  r�  {  r½  r   rK  rû  )r”   rd  r†  r­  r"   r˜   )r$   rd  r­  r}  rK  r†  s        @r   Ú test___call___w_overridden_adaptz/InterfaceTests.test___call___w_overridden_adaptp  se   ø€ Ý,Ý2Ý.ö	�	ô 	ñ 
�Q‹÷	ð 	ó 
ð	ð 	×Ñ˜™Qœv›x›[Ô)ð 	×Ñ˜™Q™q›s›VÕ$r   c                 ó
  ‡— ddl m} ddl mŠ ddl m}  G ˆfd„d|«      } G d„ d|«      } ||«       G d	„ d
«      «       } ||«       G d„ d«      «       }| j	                  d |t        «       «      «       | j	                  d | |«       «      «       | j	                  d | |«       «      «       | j                  t        «      5   | |«       «       d d d «       | j	                  d | |«       «      «       y # 1 sw Y   Œ'xY w)Nr   rc  r…  r¬  c                   ó    •— e Zd ZW ° d„ «       Zy)úKInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.IAdaptc                  ó   — yrŠ  r-   r‹  s     r   rM  zUInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.IAdapt.__adapt__Œ  rŒ  r   Nr�  r…  s   €r   ÚIAdaptr“  ‹  ó   ø„ Ùñó ñr   r•  c                   ó   — e Zd ZdZy)úLInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.ISimplezNothing special.Nr×  r-   r   r   rI  r˜  �  s   „ Ú"r   rI  c                   ó   — e Zd Zd„ Zy)úNInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.Conform24c                  ó   — y©Né   r-   rI  s     r   r,  zZInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.Conform24.__conform__•  s   € Ør   Nr-  r-   r   r   Ú	Conform24rš  “  s   „ ór   rž  c                   ó   — e Zd Zd„ Zy)úPInterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.ConformNonec                  ó   — y r   r-   rI  s     r   r,  z\InterfaceTests.test___call___w_overridden_adapt_and_conform.<locals>.ConformNone.__conform__š  rï   r   Nr-  r-   r   r   ÚConformNoner   ˜  s   „ ór   r¢  rû  r�  )r”   rd  r†  r­  r"   r˜   r]   r  )r$   rd  r­  r•  rI  rž  r¢  r†  s          @r   Ú,test___call___w_overridden_adapt_and_conformz;InterfaceTests.test___call___w_overridden_adapt_and_conform„  sï   ø€ õ 	-Ý2Ý.ö	�Yô 	ô
	#�iô 	#ñ 
�VÓ	÷	ð 	ó 
ð	ñ 
�VÓ	÷	ð 	ó 
ð	ð 	×Ñ˜™V¤F£HÓ-Ô.à×Ñ˜™W¡Y£[Ó1Ô2Ø×Ñ˜™V¡I£KÓ0Ô1à×ÑœyÓ)ñ 	#Ù‘K“MÔ"÷	#ð 	×Ñ˜™V¡K£MÓ2Õ3÷	#ð 	#ús   ÃC9Ã9Dc                 óô   ‡— dd l }ddlm} ddlmŠ ddlm}  G ˆfd„d|«      } ||«       G d„ d«      «       }| j                  d	 |t        «       «      «        |«       }| j                  | ||«      «       y )
Nr   rc  r…  r¬  c                   ó,   •‡ — e Zd ZW °ˆ fd„«       Zˆ xZS )úEInterfaceTests.test___call___w_overridden_adapt_call_super.<locals>.Ic                 óF   •— | j                  |«      syt        ‰| �	  |«      S rŠ  )r“   ÚsuperrM  )r$   r�   r¢  s     €r   rM  zOInterfaceTests.test___call___w_overridden_adapt_call_super.<locals>.I.__adapt__°  s"   ø€ à—‘ sÔ+ØÜ‘wÑ(¨Ó-Ð-r   )r   r   r   rM  Ú__classcell__)r¢  r†  s   @€r   r}  r¦  ®  s   ù„ áó.ó ô.r   r}  c                   ó   — e Zd Zy)úEInterfaceTests.test___call___w_overridden_adapt_call_super.<locals>.ONr   r-   r   r   rK  r«  ¶  r½  r   rK  rû  )Úsysr”   rd  r†  r­  r"   r˜   rÿ   )r$   r¬  rd  r­  r}  rK  Úor†  s          @r   Ú+test___call___w_overridden_adapt_call_superz:InterfaceTests.test___call___w_overridden_adapt_call_super¨  si   ø€ ÛÝ,Ý2Ý.ö	.�	ô 	.ñ 
�Q‹÷	ð 	ó 
ð	ð 	×Ñ˜™Qœv›x›[Ô)Ù‹CˆØ�‰�a™˜1›Õr   c                 ó¾   ‡— ddl m} ddl mŠ  G ˆfd„d|«      }| j                  d |t	        «       «      «       | j                  |d   j                  «       d«       y )	Nr   rc  r…  c                   ó&   •— e Zd ZW ° d„ «       Zd„ Zy)úEInterfaceTests.test___adapt___as_method_and_implementation.<locals>.Ic                  ó   — yrŠ  r-   r‹  s     r   rM  zOInterfaceTests.test___adapt___as_method_and_implementation.<locals>.I.__adapt__Ã  rŒ  r   c                  ó   — y)zThis is a protocolNr-   )Úto_adapts    r   rM  zOInterfaceTests.test___adapt___as_method_and_implementation.<locals>.I.__adapt__Ç  rØ  r   Nr�  r…  s   €r   r}  r±  Â  s   ø„ Ùñó ðó%r   r}  rû  rM  z
(to_adapt))r”   rd  r†  r"   r˜   ÚgetSignatureString©r$   rd  r}  r†  s      @r   Ú+test___adapt___as_method_and_implementationz:InterfaceTests.test___adapt___as_method_and_implementation¾  sJ   ø€ Ý,Ý2ö	%�	ô 	%ð 	×Ñ˜™Qœv›x›[Ô)Ø×Ñ˜˜;™×:Ñ:Ó<¸lÕKr   c                 ó&  ‡	— ddl m} ddl mŠ	  G d„ d|«      } G ˆ	fd„d|«      } G d„ d	|«      } G d
„ d|«      } G d„ d|||«      } G ˆ	fd„d|«      }| j                  d |t	        «       «      «       |||||fD ]"  }| j                  t
        |j                  «       Œ$ |||fD ]&  }| j                  t        |«      t        |«      «       Œ( | j                  t        |«      t        |«      «       | j                  t        |«      t        |«      «       | j                  |t        |«      «       | j                  d |t	        «       «      «       | j                  t        |«      t        |«      «       | j                  |t        |«      «       y )Nr   rc  r…  c                   ó   — e Zd ZdZy)ú@InterfaceTests.test___adapt__inheritance_and_type.<locals>.IRootÚRootNr×  r-   r   r   ÚIRootrº  Ñ  s   „ Úr   r¼  c                   ó    •— e Zd ZW ° d„ «       Zy)úEInterfaceTests.test___adapt__inheritance_and_type.<locals>.IWithAdaptc                  ó   — yrŠ  r-   r‹  s     r   rM  zOInterfaceTests.test___adapt__inheritance_and_type.<locals>.IWithAdapt.__adapt__Õ  rŒ  r   Nr�  r…  s   €r   Ú
IWithAdaptr¾  Ô  r–  r   rÀ  c                   ó   — e Zd ZdZy)úAInterfaceTests.test___adapt__inheritance_and_type.<locals>.IOtherzSecond branchNr×  r-   r   r   r¹  rÂ  Ù  s   „ Úr   r¹  c                   ó   — e Zd ZdZy)úEInterfaceTests.test___adapt__inheritance_and_type.<locals>.IUnrelatedÚ	UnrelatedNr×  r-   r   r   Ú
IUnrelatedrÄ  Ü  s   „ Úr   rÆ  c                   ó   — e Zd ZdZy)úHInterfaceTests.test___adapt__inheritance_and_type.<locals>.IDerivedAdaptzInherits an adaptNr×  r-   r   r   ÚIDerivedAdaptrÈ  ß  s   „ Ú#r   rÉ  c                   ó$   •— e Zd ZdZW ° d„ «       Zy)úIInterfaceTests.test___adapt__inheritance_and_type.<locals>.IDerived2Adaptz$Overrides an inherited custom adapt.c                  ó   — yrœ  r-   r‹  s     r   rM  zSInterfaceTests.test___adapt__inheritance_and_type.<locals>.IDerived2Adapt.__adapt__å  rŒ  r   N)r   r   r   rQ   rM  r…  s   €r   ÚIDerived2AdaptrË  ã  s   ø„ Ù6Ùñó ñr   rÍ  rû  r�  )
r”   rd  r†  r"   r˜   r   r   r¡  ÚassertNotEqualr   )
r$   rd  r¼  rÀ  r¹  rÆ  rÉ  rÍ  r*  r†  s
            @r   Ú"test___adapt__inheritance_and_typez1InterfaceTests.test___adapt__inheritance_and_typeÍ  s]  ø€ Ý,Ý2ô	�Iô 	ö	˜ô 	ô
	 �Uô 	 ô	˜ô 	ô	$˜J¨
°Fô 	$ö	˜]ô 	ð 	×Ñ˜™]¬6«8Ó4Ô5Ø˜J¨°
¸MÐIò 	9ˆEØ×ÑœX u×'7Ñ'7Õ8ð	9ð ˜F JÐ.ò 	;ˆEØ×ÑœT %›[¬$¨y«/Õ:ð	;ð 	×ÑœD ›O¬T°*Ó-=Ô>Ø×Ñœ˜jÓ)¬4°Ó+>Ô?Ø×Ñ˜j¬$¨y«/Ô:à×Ñ˜™^¬F«HÓ5Ô6Ø×ÑœD Ó0´$°}Ó2EÔFØ×Ñ˜n¬d°=Ó.AÕBr   c                 ó¨   ‡— ddl m} ddl mŠ  G ˆfd„d|«      }| j                   || «      d«       | j                  |j	                  «       d«       y )Nr   rc  r…  c                   ó2   •— e Zd ZW ° d„ «       ZW ° d„ «       Zy)ú9InterfaceTests.test_interfacemethod_is_general.<locals>.Ic                  ó   — y)zReplace an existing methodrû  r-   r‹  s     r   r�  zBInterfaceTests.test_interfacemethod_is_general.<locals>.I.__call__ÿ  s   € ð r   c                  ó   — yrŠ  r-   r‡   s    r   Úthis_is_newzEInterfaceTests.test_interfacemethod_is_general.<locals>.I.this_is_new	  rŒ  r   N)r   r   r   r�  rÕ  r…  s   €r   r}  rÒ  ý  s)   ø„ áñó ðñ ñó ñr   r}  rû  )r”   rd  r†  r"   rÕ  r¶  s      @r   Útest_interfacemethod_is_generalz.InterfaceTests.test_interfacemethod_is_generalù  sA   ø€ Ý,Ý2ö		�	ô 		ð 	×Ñ™˜4› "Ô%Ø×Ñ˜Ÿ™›¨"Õ-r   N)7r   r   r   r¸  rÁ  rØ  rå  rð  r	  r  r%  r6  r?  rD  rM  r[  rf  rv  r|  r…  r‘  r–  rœ  r¥  r©  r¯  r¸  r¼  rÂ  rË  rÒ  rÚ  rß  rë  rý  r  r  r  r&  r4  rL  rP  rR  r\  rd  rk  rr  rx  rƒ  r�  r£  r®  r·  rÏ  rÖ  r-   r   r   r²  r²  }  s  „ ò4ò6ò8ò>:ò,9ò84òB)5òV=ò"8ò*:ò.;òFòAò2Aò07BòrJò6ò,'8òRDò6ò,'8òR/ò-ò/ò2+òDòAò.	?ò4ò	=ò5ò &ò<-Mò^3@òjDò"2ò:Nò2ò.=ò*Fò,-ò*$ò#ò
+ò
,ò1ò2%ò(!4òHò,Lò*CóX.r   r²  c                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚAttributeTestsÚTestAttributec                 ó   — ddl m} |S )Nr   r¡  )r!   r¢  )r$   r¢  s     r   rI   zAttributeTests._getTargetClass	  s   € Ý6ØÐr   c                 óò   — | j                  «       }t        | «      |_        t        |«      }| j	                  |j                  d«      |«       | j	                  |j                  dt        z   dz   «      |«       y )Nú-<zope.interface.interface.Attribute object atú z.AttributeTests.TestAttribute>)rM   r¡  rŠ   Úreprr²   Ú
startswithÚendswithr   ©r$   r¿  Úrs      r   Útest__repr__w_interfacez&AttributeTests.test__repr__w_interface	  s]   € Ø—‘“ˆÜ ›:ˆÔÜ�‹LˆØ�‰˜Ÿ™Ð%TÓUÐWXÔYØ�‰˜Ÿ
™
 3¬¡>Ð4TÑ#TÓUÐWXÕYr   c                 ó¾   — | j                  «       }t        |«      }| j                  |j                  d«      |«       | j                  |j	                  d«      |«       y )NrÜ  z TestAttribute>)rM   rÞ  r²   rß  rà  rá  s      r   Útest__repr__wo_interfacez'AttributeTests.test__repr__wo_interface	  sG   € Ø—‘“ˆÜ�‹LˆØ�‰˜Ÿ™Ð%TÓUÐWXÔYØ�‰˜Ÿ
™
Ð#4Ó5°qÕ9r   c                 óŒ   — | j                  «       }t        | «      |_        t        |«      }| j	                  |t
        dz   «       y )Nz.AttributeTests.TestAttribute)rM   r¡  rŠ   r7  r"   r   rá  s      r   Útest__str__w_interfacez%AttributeTests.test__str__w_interface!	  s8   € Ø—‘“ˆÜ ›:ˆÔÜ�‹KˆØ×Ñ˜œHÐ'FÑFÕGr   c                 ó^   — | j                  «       }t        |«      }| j                  |d«       y )NrÙ  )rM   r7  r"   rá  s      r   Útest__str__wo_interfacez&AttributeTests.test__str__wo_interface'	  s&   € Ø—‘“ˆÜ�‹KˆØ×Ñ˜˜OÕ,r   N)	r   r   r   rK   rI   rã  rå  rç  ré  r-   r   r   rØ  rØ  	  s"   „ à"€LòòZò:òHó-r   rØ  c                   ó^   — e 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„ Zy)ÚMethodTestsÚ
TestMethodc                 ó   — ddl m} |S )Nr   r]  )r!   r^  )r$   r^  s     r   rI   zMethodTests._getTargetClass1	  s
   € Ý3Øˆr   c                 óæ   — | j                  «       }| j                  |j                  i «       ddi|_        | j                  |j                  ddi«       |`| j                  |j                  i «       y rb   )rM   r"   rÐ  ©r$   r¿  s     r   Útest_optional_as_propertyz%MethodTests.test_optional_as_property5	  s]   € Ø—‘“ˆØ×Ñ˜Ÿ™¨"Ô-Ø  %˜.ˆŒØ×Ñ˜Ÿ™¨5°%¨.Ô9ØˆOØ×Ñ˜Ÿ™¨"Õ-r   c                 ó
  — ddl m} | j                  «       }	  |«        | j                  d«       y # |$ rL}| j	                  |j
                  d «       | j	                  |j                  | j                  «       Y d }~y d }~ww xY w)Nr   )ÚBrokenImplementationz*__call__ should raise BrokenImplementation)rî  rò  rM   rá  r"   rŠ   rL   rK   )r$   rò  r¿  rç  s       r   Ú)test___call___raises_BrokenImplementationz5MethodTests.test___call___raises_BrokenImplementation=	  sm   € ÝBØ—‘“ˆð	DÙŒHð
 �I‰IÐBÕCøð	 $ò 	8Ø×Ñ˜QŸ[™[¨$Ô/Ø×Ñ˜QŸV™V T×%6Ñ%6×7Ñ7ûð	8ús   ˜1 ±B¶AA=Á=Bc                 ó:  — | j                  «       }|j                  «       }| j                  t        |d   «      g «       | j                  t        |d   «      g «       | j                  |d   i «       | j                  |d   d «       | j                  |d   d «       y )NÚ
positionalÚrequiredrÐ  ÚvarargsÚkwargs)rM   ÚgetSignatureInfor"   rS   )r$   r¿  Úinfos      r   Útest_getSignatureInfo_barez&MethodTests.test_getSignatureInfo_bareH	  sŒ   € Ø—‘“ˆØ×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°2Ô6Ø×Ñœ˜d :Ñ.Ó/°Ô4Ø×Ñ˜˜jÑ)¨2Ô.Ø×Ñ˜˜i™¨$Ô/Ø×Ñ˜˜h™¨Õ.r   c                 ód   — | j                  «       }| j                  |j                  «       d«       y )Nz())rM   r"   rµ  rï  s     r   Útest_getSignatureString_barez(MethodTests.test_getSignatureString_bareQ	  s&   € Ø—‘“ˆØ×Ñ˜×2Ñ2Ó4°dÕ;r   c                 ó‚   — | j                  «       }dgx|_        |_        | j                  |j	                  «       d«       y )Nrc   z(foo))rM   rõ  rö  r"   rµ  rï  s     r   Ú'test_getSignatureString_w_only_requiredz3MethodTests.test_getSignatureString_w_only_requiredU	  s7   € Ø—‘“ˆØ/4¨gÐ5ˆÔ˜FœOØ×Ñ˜×2Ñ2Ó4°gÕ>r   c                 ó”   — | j                  «       }dgx|_        |_        ddi|_        | j	                  |j                  «       d«       y )Nrc   r5   z(foo='bar'))rM   rõ  rö  rÐ  r"   rµ  rï  s     r   Ú"test_getSignatureString_w_optionalz.MethodTests.test_getSignatureString_w_optionalZ	  sB   € Ø—‘“ˆØ/4¨gÐ5ˆÔ˜FœOØ  %˜.ˆŒØ×Ñ˜×2Ñ2Ó4°mÕDr   c                 ór   — | j                  «       }d|_        | j                  |j                  «       d«       y )Nr   z(*args))rM   r÷  r"   rµ  rï  s     r   Ú!test_getSignatureString_w_varargsz-MethodTests.test_getSignatureString_w_varargs`	  s-   € Ø—‘“ˆØˆŒØ×Ñ˜×2Ñ2Ó4°iÕ@r   c                 ór   — | j                  «       }d|_        | j                  |j                  «       d«       y )Nr   z(**kw))rM   rø  r"   rµ  rï  s     r   Ú test_getSignatureString_w_kwargsz,MethodTests.test_getSignatureString_w_kwargse	  s-   € Ø—‘“ˆØˆŒØ×Ñ˜×2Ñ2Ó4°hÕ?r   c                 ó   — | j                  «       }d|_        t        | «      |_        t	        |«      }| j                  |j                  d«      |«       | j                  |j                  dt        z   dz   «      |«       y )Nr   ú*<zope.interface.interface.Method object atrÝ  z.MethodTests.TestMethod(**kw)>)	rM   rø  r¡  rŠ   rÞ  r²   rß  rà  r   rá  s      r   rã  z#MethodTests.test__repr__w_interfacej	  sd   € Ø—‘“ˆØˆŒÜ ›:ˆÔÜ�‹LˆØ�‰˜Ÿ™Ð%QÓRÐTUÔVØ�‰˜Ÿ
™
 3¬¡>Ð4TÑ#TÓUÐWXÕYr   c                 óÌ   — | j                  «       }d|_        t        |«      }| j                  |j	                  d«      |«       | j                  |j                  d«      |«       y )Nr   r  z TestMethod(**kw)>)rM   rø  rÞ  r²   rß  rà  rá  s      r   rå  z$MethodTests.test__repr__wo_interfacer	  sN   € Ø—‘“ˆØˆŒÜ�‹LˆØ�‰˜Ÿ™Ð%QÓRÐTUÔVØ�‰˜Ÿ
™
Ð#7Ó8¸!Õ<r   c                 óš   — | j                  «       }d|_        t        | «      |_        t	        |«      }| j                  |t        dz   «       y )Nr   z.MethodTests.TestMethod(**kw))rM   rø  r¡  rŠ   r7  r"   r   rá  s      r   rç  z"MethodTests.test__str__w_interfacey	  s?   € Ø—‘“ˆØˆŒÜ ›:ˆÔÜ�‹KˆØ×Ñ˜œHÐ'FÑFÕGr   c                 ól   — | j                  «       }d|_        t        |«      }| j                  |d«       y )Nr   zTestMethod(**kw))rM   rø  r7  r"   rá  s      r   ré  z#MethodTests.test__str__wo_interface€	  s.   € Ø—‘“ˆØˆŒÜ�‹KˆØ×Ñ˜Ð.Õ/r   N)r   r   r   rK   rI   rð  ró  rû  rý  rÿ  r  r  r  rã  rå  rç  ré  r-   r   r   rë  rë  -	  sN   „ à€Lòò.ò	Dò/ò<ò?ò
EòAò
@ò
Zò=òHó0r   rë  c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTest_fromFunctionc                 ó   — ddl m}  ||i |¤ŽS )Nr   rÒ  )r!   rÓ  )r$   r   r   rÓ  s       r   Ú_callFUTzTest_fromFunction._callFUT‰	  s   € Ý9Ù˜TÐ( RÑ(Ð(r   c                 óL  — d„ }| j                  |«      }| j                  |j                  «       d«       | j                  |j                  «       d«       | j                  |j                  d «       | j                  t        |j                  «       «      g «       |j                  «       }| j                  t        |d   «      g «       | j                  t        |d   «      g «       | j                  |d   i «       | j                  |d   d «       | j                  |d   d «       y )	Nc                   ó   — yrÕ  r-   r-   r   r   Ú_funcz*Test_fromFunction.test_bare.<locals>._funcŽ	  rØ  r   r  rÖ  rõ  rö  rÐ  r÷  rø  ©r  r"   rP   rR   rŠ   rS   rT   rù  ©r$   r  r¿  rú  s       r   Ú	test_barezTest_fromFunction.test_bare�	  sõ   € ò	à—‘˜uÓ%ˆØ×Ñ˜Ÿ™Ó)¨7Ô3Ø×Ñ˜Ÿ™›¨+Ô6Ø×Ñ˜×)Ñ)¨4Ô0Ø×Ñœ˜f×7Ñ7Ó9Ó:¸BÔ?Ø×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°2Ô6Ø×Ñœ˜d :Ñ.Ó/°Ô4Ø×Ñ˜˜jÑ)¨2Ô.Ø×Ñ˜˜i™¨$Ô/Ø×Ñ˜˜h™¨Õ.r   c                 óŠ   — ddl m}  G d„ d|«      }d„ }| j                  ||¬«      }| j                  |j                  |«       y )Nr   rÆ  c                   ó   — e Zd Zy)ú0Test_fromFunction.test_w_interface.<locals>.IFooNr   r-   r   r   rŽ  r  ž	  rý   r   rŽ  c                   ó   — yrÕ  r-   r-   r   r   r  z1Test_fromFunction.test_w_interface.<locals>._func 	  rØ  r   r‰   )r!   rÇ  r  r"   rŠ   )r$   rÇ  rŽ  r  r¿  s        r   Útest_w_interfacez"Test_fromFunction.test_w_interfaceœ	  s>   € Ý;ô	�>ô 	ò	à—‘˜u°�Ó5ˆØ×Ñ˜×)Ñ)¨4Õ0r   c                 óp   — d„ }| j                  |d¬«      }| j                  |j                  «       d«       y )Nc                   ó   — yrÕ  r-   r-   r   r   r  z,Test_fromFunction.test_w_name.<locals>._func¦	  rØ  r   ÚanotherName)rL   )r  r"   rP   )r$   r  r¿  s      r   Útest_w_namezTest_fromFunction.test_w_name¥	  s0   € ò	à—‘˜u¨=�Ó9ˆØ×Ñ˜Ÿ™Ó)¨=Õ9r   c                 óF  — d„ }| j                  |«      }|j                  «       }| j                  t        |d   «      dg«       | j                  t        |d   «      dg«       | j                  |d   i «       | j                  |d   d «       | j                  |d   d «       y )Nc                  ó   — yrÕ  r-   ©rc   s    r   r  z5Test_fromFunction.test_w_only_required.<locals>._func¬	  rØ  r   rõ  rc   rö  rÐ  r÷  rø  ©r  rù  r"   rS   r  s       r   Útest_w_only_requiredz&Test_fromFunction.test_w_only_required«	  s˜   € ò	à—‘˜uÓ%ˆØ×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°E°7Ô;Ø×Ñœ˜d :Ñ.Ó/°%°Ô9Ø×Ñ˜˜jÑ)¨2Ô.Ø×Ñ˜˜i™¨$Ô/Ø×Ñ˜˜h™¨Õ.r   c                 óJ  — d	d„}| j                  |«      }|j                  «       }| j                  t        |d   «      dg«       | j                  t        |d   «      g «       | j                  |d   ddi«       | j                  |d   d «       | j                  |d   d «       y )
Nr5   c                  ó   — yrÕ  r-   r   s    r   r  z0Test_fromFunction.test_w_optional.<locals>._func·	  rØ  r   rõ  rc   rö  rÐ  r÷  rø  ©r5   r!  r  s       r   Útest_w_optionalz!Test_fromFunction.test_w_optional¶	  sš   € ó	à—‘˜uÓ%ˆØ×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°E°7Ô;Ø×Ñœ˜d :Ñ.Ó/°Ô4Ø×Ñ˜˜jÑ)¨E°5¨>Ô:Ø×Ñ˜˜i™¨$Ô/Ø×Ñ˜˜h™¨Õ.r   c                 óH  — d	d„}| j                  |d¬«      }|j                  «       }| j                  t        |d   «      g «       | j                  t        |d   «      g «       | j                  |d   i «       | j                  |d   d «       | j                  |d   d «       y )
Nc                  ó   — yrÕ  r-   r‡   s    r   r  z5Test_fromFunction.test_w_optional_self.<locals>._funcÉ	  rØ  r   rm  )Úimlevelrõ  rö  rÐ  r÷  rø  r%  r!  r  s       r   Útest_w_optional_selfz&Test_fromFunction.test_w_optional_selfÁ	  s˜   € ó	à—‘˜u¨a�Ó0ˆØ×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°2Ô6Ø×Ñœ˜d :Ñ.Ó/°Ô4Ø×Ñ˜˜jÑ)¨2Ô.Ø×Ñ˜˜i™¨$Ô/Ø×Ñ˜˜h™¨Õ.r   c                 óB  — d„ }| j                  |«      }|j                  «       }| j                  t        |d   «      g «       | j                  t        |d   «      g «       | j                  |d   i «       | j                  |d   d«       | j                  |d   d «       y )Nc                   ó   — yrÕ  r-   )r   s    r   r  z/Test_fromFunction.test_w_varargs.<locals>._funcÔ	  rØ  r   rõ  rö  rÐ  r÷  r   rø  r!  r  s       r   Útest_w_varargsz Test_fromFunction.test_w_varargsÓ	  s”   € ò	à—‘˜uÓ%ˆØ×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°2Ô6Ø×Ñœ˜d :Ñ.Ó/°Ô4Ø×Ñ˜˜jÑ)¨2Ô.Ø×Ñ˜˜i™¨&Ô1Ø×Ñ˜˜h™¨Õ.r   c                 óB  — d„ }| j                  |«      }|j                  «       }| j                  t        |d   «      g «       | j                  t        |d   «      g «       | j                  |d   i «       | j                  |d   d «       | j                  |d   d«       y )Nc                   ó   — yrÕ  r-   )r   s    r   r  z.Test_fromFunction.test_w_kwargs.<locals>._funcß	  rØ  r   rõ  rö  rÐ  r÷  rø  r   r!  r  s       r   Útest_w_kwargszTest_fromFunction.test_w_kwargsÞ	  s”   € ò	à—‘˜uÓ%ˆØ×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°2Ô6Ø×Ñœ˜d :Ñ.Ó/°Ô4Ø×Ñ˜˜jÑ)¨2Ô.Ø×Ñ˜˜i™¨$Ô/Ø×Ñ˜˜h™¨Õ.r   c                 óN  — dd„}| j                  |«      }|j                  «       }| j                  t        |d   «      ddg«       | j                  t        |d   «      dg«       | j                  |d   ddi«       | j                  |d   d	«       | j                  |d
   d«       y )Nr6   c                  ó   — yrÕ  r-   )rc   r5   r   r   s       r   r  z3Test_fromFunction.test_full_spectrum.<locals>._funcê	  rØ  r   rõ  rc   r5   rö  rÐ  r÷  r   rø  r   ©r6   r!  r  s       r   Útest_full_spectrumz$Test_fromFunction.test_full_spectrumé	  sž   € ó	à—‘˜uÓ%ˆØ×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°E¸5°>ÔBØ×Ñœ˜d :Ñ.Ó/°%°Ô9Ø×Ñ˜˜jÑ)¨E°5¨>Ô:Ø×Ñ˜˜i™¨&Ô1Ø×Ñ˜˜h™¨Õ.r   N)r   r   r   r  r  r  r  r"  r&  r*  r-  r0  r4  r-   r   r   r  r  ‡	  s4   „ ò)ò/ò1ò:ò	/ò	/ò/ò$	/ò	/ó	/r   r  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTest_fromMethodc                 ó   — ddl m}  ||i |¤ŽS )Nr   )Ú
fromMethod)r!   r8  )r$   r   r   r8  s       r   r  zTest_fromMethod._callFUT÷	  s   € Ý7Ù˜4Ð& 2Ñ&Ð&r   c                 ón  —  G d„ d«      }| j                  |j                  «      }| j                  |j                  «       d«       | j                  |j	                  «       d«       | j                  |j
                  d «       | j                  t        |j                  «       «      g «       |j                  «       }| j                  t        |d   «      g «       | j                  t        |d   «      g «       | j                  |d   i «       | j                  |d   d «       | j                  |d	   d «       y )
Nc                   ó   — e Zd Zd„ Zy)ú)Test_fromMethod.test_no_args.<locals>.Fooc                  ó   — yrÕ  r-   r‡   s    r   r5   z-Test_fromMethod.test_no_args.<locals>.Foo.barý	  rØ  r   Nr¨  r-   r   r   r   r;  ü	  rJ  r   r   r5   rÖ  rõ  rö  rÐ  r÷  rø  )	r  r5   r"   rP   rR   rŠ   rS   rT   rù  ©r$   r   r¿  rú  s       r   Útest_no_argszTest_fromMethod.test_no_argsû	  s   € ÷	ñ 	ð —‘˜sŸw™wÓ'ˆØ×Ñ˜Ÿ™Ó)¨5Ô1Ø×Ñ˜Ÿ™›¨+Ô6Ø×Ñ˜×)Ñ)¨4Ô0Ø×Ñœ˜f×7Ñ7Ó9Ó:¸BÔ?Ø×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°2Ô6Ø×Ñœ˜d :Ñ.Ó/°Ô4Ø×Ñ˜˜jÑ)¨2Ô.Ø×Ñ˜˜i™¨$Ô/Ø×Ñ˜˜h™¨Õ.r   c                 ón  —  G d„ d«      }| j                  |j                  «      }|j                  «       }| j                  t	        |d   «      ddg«       | j                  t	        |d   «      dg«       | j                  |d   ddi«       | j                  |d	   d
«       | j                  |d   d«       y )Nc                   ó   — e Zd Zdd„Zy)ú/Test_fromMethod.test_full_spectrum.<locals>.Fooc                  ó   — yrÕ  r-   )r$   rc   r5   r   r   s        r   r5   z3Test_fromMethod.test_full_spectrum.<locals>.Foo.bar
  rØ  r   Nr3  r¨  r-   r   r   r   rA  
  s   „ ôr   r   rõ  rc   r5   rö  rÐ  r6   r÷  r   rø  r   )r  r5   rù  r"   rS   r=  s       r   r4  z"Test_fromMethod.test_full_spectrum
  s©   € ÷	ñ 	ð —‘˜sŸw™wÓ'ˆØ×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°E¸5°>ÔBØ×Ñœ˜d :Ñ.Ó/°%°Ô9Ø×Ñ˜˜jÑ)¨E°5¨>Ô:Ø×Ñ˜˜i™¨&Ô1Ø×Ñ˜˜h™¨Õ.r   c                 óL  — d„ }| j                  |«      }| j                  |j                  «       d«       | j                  |j                  «       d«       | j                  |j                  d «       | j                  t        |j                  «       «      g «       |j                  «       }| j                  t        |d   «      g «       | j                  t        |d   «      g «       | j                  |d   i «       | j                  |d   d «       | j                  |d   d «       y )	Nc                   ó   — yrÕ  r-   r-   r   r   rc   z.Test_fromMethod.test_w_non_method.<locals>.foo
  rØ  r   rc   rÖ  rõ  rö  rÐ  r÷  rø  r  )r$   rc   r¿  rú  s       r   Útest_w_non_methodz!Test_fromMethod.test_w_non_method
  sõ   € ò	à—‘˜sÓ#ˆØ×Ñ˜Ÿ™Ó)¨5Ô1Ø×Ñ˜Ÿ™›¨+Ô6Ø×Ñ˜×)Ñ)¨4Ô0Ø×Ñœ˜f×7Ñ7Ó9Ó:¸BÔ?Ø×&Ñ&Ó(ˆØ×Ñœ˜d <Ñ0Ó1°2Ô6Ø×Ñœ˜d :Ñ.Ó/°Ô4Ø×Ñ˜˜jÑ)¨2Ô.Ø×Ñ˜˜i™¨$Ô/Ø×Ñ˜˜h™¨Õ.r   N)r   r   r   r  r>  r4  rE  r-   r   r   r6  r6  õ	  s   „ ò'ò/ò 
/ó/r   r6  c                   ó   — e Zd Zd„ Zd„ Zy)rn  c                 ó   — g | _         y r   )r�  r‡   s    r   rß   zDummyDependent.__init__(
  s	   € Øˆ�r   c                 ó:   — | j                   j                  |«       y r   )r�  rR  )r$   Úoriginally_changeds     r   rˆ  zDummyDependent.changed+
  s   € Ø�‰×ÑÐ/Õ0r   N)r   r   r   rß   rˆ  r-   r   r   rn  rn  &
  s   „ òó1r   rn  c                 ó�   — ddl m} t        | dd «      }t        | dd «      }|�$t        |t	        |«      «      r||kD  s |d«      ‚y y y )Nr   rb  rc   r5   r  )rî  rc  r#   rr  r¡  )r�   rc  rc   r5   s       r   r  r  /
  sT   € Ý1Ü
�#�u˜dÓ
#€CÜ
�#�u˜dÓ
#€CØ
€œ: c¬4°«9Ô5ð
 �SŠyÙÐAÓBÐBð ð 6€r   c                 óV   — ddl m} t        | dd «      rt        | dd «      s |d«      ‚y y )Nr   rb  rc   r5   rü  )rî  rc  r#   )r�   rc  s     r   ró  ró  ;
  s1   € Ý1Üˆs�E˜4Ô ¬°°e¸TÔ)BÙÐ)Ó*Ð*ð *CÐ r   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)r–   c                 ó¦   — || _         |D �ci c]  }|t        ||«      “Œ c}| _        |j                  «       D ]  \  }}t	        |||«       Œ y c c}w r   )r%  r#   Ú
to_restoreÚitemsÚsetattr)r$   r%  r   Úkeyr0  s        r   rß   z_Monkey.__init__C
  sR   € ØˆŒØ@BÖC¸˜3¤¨°Ó 4Ñ4ÒCˆŒØŸ(™(›*ò 	(‰JˆC�Ü�F˜C Õ'ñ	(ùò Ds   ŒAc                 ó   — | S r   r-   r‡   s    r   Ú	__enter__z_Monkey.__enter__I
  s   € Øˆr   c                 óv   — | j                   j                  «       D ]  \  }}t        | j                  ||«       Œ y r   )rN  rO  rP  r%  )r$   Úexc_typeÚexc_valÚexc_tbrQ  r0  s         r   Ú__exit__z_Monkey.__exit__L
  s2   € ØŸ/™/×/Ñ/Ó1ò 	-‰JˆC�Ü�D—K‘K  eÕ,ñ	-r   N)r   r   r   rß   rS  rX  r-   r   r   r–   r–   A
  s   „ ò(òó-r   r–   )rQ   ÚunittestÚzope.interface.testsr   r   r   r˜   r`  ÚTestCaser   r/   rE   r�   r£   r¨   rÍ   r  r?  rD  r\  rÄ  r²  rØ  rë  r  r6  rn  r  ró  r–   r-   r   r   ú<module>r\     s{  ðñó å 1Ý 6Ý (á
‹(€ôC�X×&Ñ&ô CôB!9�x×(Ñ(ô !9ôHE(�8×$Ñ$ô E(ôP9 H×$5Ñ$5ô 9ô<!Ð:Ø2ô!ô+5Ð<ô +5ô\f5¨ô f5ôR*\Ð?ô *\ôZÐ0Ø.Ø!×*Ñ*ôô7Ð2°H×4EÑ4Eô 7ô>Z
˜×*Ñ*ô Z
ôz]1˜(×+Ñ+ô ]1ô@L.�X×&Ñ&ô L.ô^$-�\ô -ôBW0�.ô W0ôtk/˜×)Ñ)ô k/ô\//�h×'Ñ'ô //÷b1ñ 1ò
Cò+÷-ò -r   