+
    -½i—  ã            
       óæ   € R t  ! R R]4      t ! R R4      t]! R]P                  ]P
                  P                  4        U Uu/ uF  w  rV R9  g   K  WbK  	  upp 4      t ! R R4      tR# u upp i )	a¬  Odd meta class that doesn't subclass type.

This is used for testing support for ExtensionClass in new interfaces.

  >>> class A(object):
  ...     __metaclass__ = MetaClass
  ...     a = 1
  ...
  >>> A.__name__
  'A'
  >>> A.__bases__ == (object,)
  True
  >>> class B(object):
  ...     __metaclass__ = MetaClass
  ...     b = 1
  ...
  >>> class C(A, B): pass
  ...
  >>> C.__name__
  'C'
  >>> int(C.__bases__ == (A, B))
  1
  >>> a = A()
  >>> aa = A()
  >>> a.a
  1
  >>> aa.a
  1
  >>> aa.a = 2
  >>> a.a
  1
  >>> aa.a
  2
  >>> c = C()
  >>> c.a
  1
  >>> c.b
  1
  >>> c.b = 2
  >>> c.b
  2
  >>> C.c = 1
  >>> c.c
  1

  >>> int(C.__class__.__class__ is C.__class__)
  1
c                   ó&   a € ] tR t^Bt o R tRtV tR# )ÚMetaMetaClassc                ó>   € VR 8X  d   V # \         P                  W4      # )Ú	__class__)ÚtypeÚ__getattribute__)ÚclsÚnames   &&Ú:/usr/lib/python3/dist-packages/zope/interface/tests/odd.pyr   ÚMetaMetaClass.__getattribute__D   s    € Ø�;ÔØˆJä×$Ñ$ SÓ/Ð/ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r
   r   r   B   s   ø‡ € ÷0ð 0r   r   c                   ó<   a € ] tR t^Kt o RtR tR tR tR tRt	V t
R# )Ú	MetaClasszOdd classes
    c                óT   € Wn         W n        V P                  P                  V4       R # ©N)r   Ú	__bases__Ú__dict__Úupdate)Úselfr	   ÚbasesÚdicts   &&&&r
   Ú__init__ÚMetaClass.__init__O   s   € ØŒØŒØ�‰×Ñ˜TÖ"r   c                ó   € \        V 4      # r   )ÚOddInstance©r   s   &r
   Ú__call__ÚMetaClass.__call__T   s   € Ü˜4Ó Ð r   c                óh   € V P                    F  p\        W!V 4      pW0Jg   K  Vu # 	  \        V4      hr   )r   ÚgetattrÚAttributeError)r   r	   ÚbÚvs   &&  r
   Ú__getattr__ÚMetaClass.__getattr__W   s3   € Ø—”ˆAÜ˜ Ó&ˆAØ�}Ø’ñ  ô ˜TÓ"Ð"r   c                óL   € R V P                    R\        \        V 4      4       R2# )z<odd class z at Ú>)r   ÚhexÚidr$   s   &r
   Ú__repr__ÚMetaClass.__repr__^   s#   € Ø˜TŸ]™]˜O¨4´´B°t³H³¨¸aÐ@Ð@r   )r   r   N)r   r   r   r   Ú__doc__r    r%   r,   r2   r   r   r   s   @r
   r   r   K   s%   ø‡ € ñò#ò
!ò#÷Að Ar   r   c                   ó>   a € ] tR t^lt o R tR tR tR tR tRt	V t
R# )r#   c                ó"   € WP                   R &   R# )r   N©r   )r   r   s   &&r
   r    ÚOddInstance.__init__n   s   € Ø%(�‰�kÓ"r   c                ó–   € \         P                  V R 4      pVR 8X  d   V# VP                  W4      pW0Jd   V# \        VR,          V4      # )r   r   )Úobjectr   Úgetr(   )r   r	   r   r+   s   &&  r
   r   ÚOddInstance.__getattribute__q   sK   € Ü×&Ñ& t¨ZÓ8ˆØ�:ÔØˆKØ�H‰H�TÓ ˆØ‹=ØˆHÜ�t˜KÕ(¨$Ó/Ð/r   c                ó"   € W P                   V&   R # r   r7   )r   r	   r+   s   &&&r
   Ú__setattr__ÚOddInstance.__setattr__z   s   € Ø�‰�dÓr   c                ó   € \        4       hr   )ÚNotImplementedError)r   r	   s   &&r
   Ú__delattr__ÚOddInstance.__delattr__}   s   € Ü!Ó#Ð#r   c                ór   € R P                  V P                  P                  \        \	        V 4      4      4      # )z<odd {} instance at {}>)Úformatr   r   r0   r1   r$   s   &r
   r2   ÚOddInstance.__repr__€   s,   € Ø(×/Ñ/Ø�N‰N×#Ñ#¤S¬¨D«£]ó4ð 	4r   r   N)r   r   r   r   r    r   r>   rB   r2   r   r   r   s   @r
   r#   r#   l   s#   ø‡ € ò)ò0ò ò$÷4ð 4r   r#   Nr7   )r4   r   r   r   r   r   Úitemsr#   )Úkr+   s   00r
   Ú<module>rI      s‚   ðñ/ôh0�Dô 0÷Añ Añ. ØØ×Ñà"×+Ñ+×1Ñ1Ô3ôÙ3‘�Ø�MÑ!ô 	ˆŠÑ3òó€	÷4ó 4ùós   ÁA-ÁA-