+
    -i                        R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ R	IHt ^ R
IHt ]3R<3R lt. R=Ot ! R# R]4      t ! R$ R]4      t ! R% R]4      t ! R& R]4      t ! R' R]4      t ! R( R]4      t ! R) R!]4      t ! R* R]]]4      t ! R+ R]]4      t ! R, R]4      t]
'       d    ! R- R.]4      t ! R/ R ]4      t ! R0 R]4      t ! R1 R]4      t ! R2 R]4      t ! R3 R]4      t ! R4 R]]4      t  ! R5 R]]4      t! ! R6 R"]]4      t" ! R7 R]4      t# ! R8 R]#4      t$ ! R9 R]4      t% ! R: R]%4      t& ! R; R]&4      t'R# )>a  
Interface definitions paralleling the abstract base classes defined in
:mod:`collections.abc`.

After this module is imported, the standard library types will declare that
they implement the appropriate interface. While most standard library types
will properly implement that interface (that is, ``verifyObject(ISequence,
list()))`` will pass, for example), a few might not:

    - `memoryview` doesn't feature all the defined methods of
      ``ISequence`` such as ``count``; it is still declared to provide
      ``ISequence`` though.

    - `collections.deque.pop` doesn't accept the ``index`` argument of
      `collections.abc.MutableSequence.pop`

    - `range.index` does not accept the ``start`` and ``stop`` arguments.

.. versionadded:: 5.0.0
N)ABCMeta)OrderedDict)UserDict)UserList)
UserString)abc)PY313_OR_OLDER)ABCInterface)optionalc                     V'       d   \        \        V 4      # \        WR RV ,          /4      pV F  pVP                  V4       K  	  V# )__doc__z4The ABC %s is not defined in this version of Python.)getattrr   r   register)nameverbases_if_missingregister_if_missingmissingcs   &&&&  C/usr/lib/python3/dist-packages/zope/interface/common/collections.py_new_in_verr   4   sV     sD!! dI
/ G ! ! N    IAsyncGeneratorIAsyncIterableIAsyncIterator
IAwaitableICollection
IContainer
ICoroutine
IGenerator	IHashable
IItemsView	IIterable	IIterator	IKeysViewIMappingIMappingViewIMutableMappingIMutableSequenceIMutableSetIReversible	ISequenceISetISizedIValuesViewc                   H   a  ] tR t^ct o ]P
                  t]R 4       tRtV t	R# )r   c                    R# )z
Optional method. If not provided, the interpreter will use
``__iter__`` or the old ``__getitem__`` protocol
to implement ``in``.
N others   &r   __contains__IContainer.__contains__f       r   r1   N)
__name__
__module____qualname____firstlineno__r   	Containerr
   r4   __static_attributes____classdictcell____classdict__s   @r   r   r   c   s      
--C r   c                   .    ] tR t^ot]P
                  tRtR# )r    r1   N)r7   r8   r9   r:   r   Hashabler<   r1   r   r   r    r    o       
,,Cr   c                   H   a  ] tR t^st o ]P
                  t]R 4       tRtV t	R# )r"   c                     R# zq
Optional method. If not provided, the interpreter will
implement `iter` using the old ``__getitem__`` protocol.
Nr1   r1   r   r   __iter__IIterable.__iter__v   r6   r   r1   N)
r7   r8   r9   r:   r   Iterabler
   rF   r<   r=   r>   s   @r   r"   r"   s   s      
,,C r   c                   .    ] tR t^~t]P
                  tRtR# )r#   r1   N)r7   r8   r9   r:   r   Iteratorr<   r1   r   r   r#   r#   ~   rB   r   c                   b   a  ] tR t^t o ]! RR]P                  4       34      t]R 4       t	Rt
V tR# )r*   
ReversibleTc                     R# z
Optional method. If this isn't present, the interpreter
will use ``__len__`` and ``__getitem__`` to implement the
`reversed` builtin.
Nr1   r1   r   r   __reversed__IReversible.__reversed__   r6   r   r1   N)r7   r8   r9   r:   r   r"   getABCr   r
   rO   r<   r=   r>   s   @r   r*   r*      s1     
lD9+;+;+=*?
@C r   c                   H    ] tR t^t]! RR]P                  4       34      tRtR# )r   	GeneratorTr1   N)	r7   r8   r9   r:   r   r#   rQ   r   r<   r1   r   r   r   r      s    
k4)*:*:*<)>
?Cr   c                   .    ] tR t^t]P
                  tRtR# )r-   r1   N)r7   r8   r9   r:   r   Sizedr<   r1   r   r   r-   r-      s    
))Cr   c                       ] tR t^t]! RR]P                  4       ]P                  4       ]P                  4       34      t	Rt
R# )r   
CollectionTr1   N)r7   r8   r9   r:   r   r-   rQ   r"   r   r   r<   r1   r   r   r   r      s6     	)**,j.?.?.ABCr   c                   b   a  ] tR t^t o ]P
                  t]3tRt]	R 4       t
]	R 4       tRtV tR# )r+   c                     R# rN   r1   r1   r   r   rO   ISequence.__reversed__   r6   r   c                     R# rE   r1   r1   r   r   rF   ISequence.__iter__   r6   r   r1   N)r7   r8   r9   r:   r   Sequencer   extra_classesignored_classesr
   rO   rF   r<   r=   r>   s   @r   r+   r+      sB     
,,CMM O   r   c                   4    ] tR t^t]P
                  t]3tRtR# )r(   r1   N)	r7   r8   r9   r:   r   MutableSequencer   r^   r<   r1   r   r   r(   r(      s    


CKMr   c                   R    ] tR t^tRt]! RR]P                  4       3]]	34      t
RtR# )IByteStringz'
This unifies `bytes` and `bytearray`.

ByteStringTr1   N)r7   r8   r9   r:   r   r   r+   rQ   bytes	bytearrayr   r<   r1   r   r   rc   rc      s-    	 $!1!1!3 5y7I
r   rc   c                   .    ] tR t^t]P
                  tRtR# )r,   r1   N)r7   r8   r9   r:   r   Setr<   r1   r   r   r,   r,      s    
''Cr   c                   .    ] tR t^t]P
                  tRtR# )r)   r1   N)r7   r8   r9   r:   r   
MutableSetr<   r1   r   r   r)   r)      s    
..Cr   c                   :    ] tR t^t]P
                  t]3t]3t	Rt
R# )r%   r1   N)r7   r8   r9   r:   r   Mappingdictr^   r   r_   r<   r1   r   r   r%   r%      s    
++CGM
 #nOr   c                   <    ] tR t^t]P
                  t]]3t]	3t
RtR# )r'   r1   N)r7   r8   r9   r:   r   MutableMappingrm   r   r^   r   r_   r<   r1   r   r   r'   r'      s    


C8%M"nOr   c                   .    ] tR t^t]P
                  tRtR# )r&   r1   N)r7   r8   r9   r:   r   MappingViewr<   r1   r   r   r&   r&      s    
//Cr   c                   .    ] tR t^t]P
                  tRtR# )r!   r1   N)r7   r8   r9   r:   r   	ItemsViewr<   r1   r   r   r!   r!      s    
--Cr   c                   .    ] tR t^t]P
                  tRtR# )r$   r1   N)r7   r8   r9   r:   r   KeysViewr<   r1   r   r   r$   r$      rB   r   c                   H   a  ] tR t^t o ]P
                  t]R 4       tRtV t	R# )r.   c                    R# )z
Optional method. If not provided, the interpreter will use
``__iter__`` or the old ``__len__`` and ``__getitem__`` protocol
to implement ``in``.
Nr1   r2   s   &r   r4   IValuesView.__contains__   r6   r   r1   N)
r7   r8   r9   r:   r   
ValuesViewr
   r4   r<   r=   r>   s   @r   r.   r.      s      
..C r   c                   (    ] tR t^t]! RR4      tRtR# )r   	AwaitableTr1   Nr7   r8   r9   r:   r   r   r<   r1   r   r   r   r          
k4
(Cr   c                   (    ] tR tRt]! RR4      tRtR# )r      	CoroutineTr1   Nr|   r1   r   r   r   r      r}   r   c                   (    ] tR tRt]! RR4      tRtR# )r   i  AsyncIterableTr1   Nr|   r1   r   r   r   r         
ot
,Cr   c                   (    ] tR tRt]! RR4      tRtR# )r   i  AsyncIteratorTr1   Nr|   r1   r   r   r   r     r   r   c                   (    ] tR tRt]! RR4      tRtR# )r   i  AsyncGeneratorTr1   Nr|   r1   r   r   r   r     s    
&
-Cr   r1   )r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   )(r   sysr   r   collectionsr   r   r   r   zope.interface._compatr   zope.interface.commonr	   r
   r   __all__r   r    r"   r#   r*   r   r-   r   r+   r(   rc   r,   r)   r%   r'   r&   r!   r$   r.   r   r   r   r   r   r1   r   r   <module>r      sv  *   #     "  1 . * #*$&(6	 	  	 	) 	@ @
\ &2 y  
 
i 
; $ %{ %%h %6 t d 	, 	) )) )-\ --^ -.n .r   