File: //usr/lib64/python2.7/site-packages/mercurial/thirdparty/zope/interface/ro.pyc
�
1�3\c @@ s; d Z d d l m Z d Z d � Z d � Z d � Z d S( s7 Compute a resolution order for an object and its bases
i ( t absolute_importt restructuredtextc C@ sg i } g } xT t | � D]F } x= t | � D]/ } | | k r, d | | <| j d | � q, q, Wq W| S( s� Merge multiple orderings so that within-ordering order is preserved
Orderings are constrained in such a way that if an object appears
in two or more orderings, then the suffix that begins with the
object must be in both orderings.
For example:
>>> _mergeOrderings([
... ['x', 'y', 'z'],
... ['q', 'z'],
... [1, 3, 5],
... ['z']
... ])
['x', 'y', 'q', 1, 3, 5, 'z']
i i ( t reversedt insert( t orderingst seent resultt orderingt o( ( sL /usr/lib64/python2.7/site-packages/mercurial/thirdparty/zope/interface/ro.pyt _mergeOrderings s
c C@ sD | g } d } x. t | � D] } | d 7} | j | | | +q W| S( Ni i ( t itert __bases__( t obR t i( ( sL /usr/lib64/python2.7/site-packages/mercurial/thirdparty/zope/interface/ro.pyt _flatten2 s
c C@ s t t | � g � S( s/ Compute a "resolution order" for an object
( R R ( t object( ( sL /usr/lib64/python2.7/site-packages/mercurial/thirdparty/zope/interface/ro.pyt ro@ s N( t __doc__t
__future__R t
__docformat__R R R ( ( ( sL /usr/lib64/python2.7/site-packages/mercurial/thirdparty/zope/interface/ro.pyt <module> s