%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/zope/interface/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/zope/interface/__pycache__/registry.cpython-312.pyc

�

��e�d���dZddlmZ	ddlmZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddlm
Z
ddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZdgZGd�d�Zd�ZGd�d�Zee
�Gd�d��Zd�Zd�Zd�Z d�Z!ee
�Gd�d ��Z"ee	�Gd!�d"��Z#ee�Gd#�d$e#��Z$ee�Gd%�d&e#��Z%y'#e$rd�ZY��wxYw)(zBasic components support
�)�defaultdict)�notifyc��y�N�)�arg�kws  �9/usr/lib/python3/dist-packages/zope/interface/registry.pyrr���)�ISpecification)�ComponentLookupError)�IAdapterRegistration)�IComponents)�IHandlerRegistration)� ISubscriptionAdapterRegistration)�IUtilityRegistration)�
Registered)�Unregistered)�	Interface)�
implementedBy)�implementer)�implementer_only)�
providedBy)�AdapterRegistry�
Componentsc�$�eZdZd�Zd�Zd�Zd�Zy)�_UnhashableComponentCounterc�T�|j�D�cgc]}|��c}|_ycc}wr)�items�_data)�self�	otherdict�items   r
�__init__z$_UnhashableComponentCounter.__init__2s��'0���'8�9�t�d�9��
��9s�	%c�>�|jD]\}}||k(s�|cSy�Nr)r!)r"�key�	component�counts    r
�__getitem__z'_UnhashableComponentCounter.__getitem__6s,�� $�
�
�	��I�u��C����	�rc��t|j�D] \}}|d|k(s�||f|j|<y|jj||f�yr')�	enumerater!�append)r"r)r*�i�datas     r
�__setitem__z'_UnhashableComponentCounter.__setitem__<sX�� ����,�	�G�A�t��A�w�)�#� )�5� 0��
�
�1�
��	�	
�
�
���9�e�,�-rc��t|j�D]\}}|d|k(s�|j|=yt|��r')r-r!�KeyError)r"r)r/r0s    r
�__delitem__z'_UnhashableComponentCounter.__delitem__CsE�� ����,�	�G�A�t��A�w�)�#��J�J�q�M��	��y�!�!rN)�__name__�
__module__�__qualname__r%r+r1r4rrr
rr/s��:��.�"rrc� �tt�Sr)r�intrrr
�_defaultdict_intr:Js
���s��rc�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�_UtilityRegistrationsc�h�tt�|_||_||_|j�yr)rr:�_cache�
_utilities�_utility_registrations�%_UtilityRegistrations__populate_cache)r"�	utilities�utility_registrationss   r
r%z_UtilityRegistrations.__init__Os*��!�"2�3���#���&;��#����rc��t|jj��D]\\}}}|d}|j||��!yr')�iterr@r �$_UtilityRegistrations__cache_utility)r"�p�_r0r)s     r
�__populate_cachez&_UtilityRegistrations.__populate_cacheWsF��"�4�#>�#>�#D�#D�#F�G�	/�N�V�a��T��Q��I�� � ��I�.�	/rc��	|j||xxdz
cc<y#t$r7t|j|�x}|j|<||xxdz
cc<YywxYw)N�)r>�	TypeErrorr)r"�providedr)�provs    r
�__cache_utilityz%_UtilityRegistrations.__cache_utility\sb��	!��K�K��!�)�,��1�,���	!�,G�t�{�{�S[�G\�+]�]�D�4�;�;�x�(���O�q� �O�		!�s��=A�Ac�b�|j|}||}|dz}|dk(r||=|dkDS|||<|dkDS)NrKr)r>)r"rMr)r*s    r
�__uncache_utilityz'_UtilityRegistrations.__uncache_utilityesV���;�;�x�(����#��
��
���A�:���#��q�y��#(�H�Y���q�y�rc�L�	|j||dkDS#t$rYywxYw)NrF)r>rL)r"rMr)s   r
�_is_utility_subscribedz,_UtilityRegistrations._is_utility_subscribedts2��	��;�;�x�(��3�a�7�7���	��	�s��	#�#c���|j||�}|||f|j||f<|jjd|||�|s|jj	d||�|j||�y�Nr)rSr@r?�register�	subscriberF)r"rM�namer)�info�factory�
subscribeds       r
�registerUtilityz%_UtilityRegistrations.registerUtility{sq���0�0��9�E�
�8A�4��8P��#�#�X�t�$4�5���� � ��X�t�Y�?���O�O�%�%�b�(�I�>����X�y�1rc��|j||f=|jjd||�|j||�}|s|jj	d||�yyrU)r@r?�
unregister�&_UtilityRegistrations__uncache_utility�unsubscribe)r"rMrXr)r[s     r
�unregisterUtilityz'_UtilityRegistrations.unregisterUtility�s[���'�'��4�(8�9����"�"�2�x��6��+�+�H�i�@�
���O�O�'�'��H�i�@�rN)
r5r6r7r%rArFr_rSr\rarrr
r<r<Ms&�� �/�
!�
��	2�Arr<c�@��eZdZdZd$d�Zd�Z�fd�Zd�Zd�Ze	d��Z
d�Zd	�Ze	d
�d��Z
		d%d�Z		d&d
�Zd�Zd'd�Zd(d�Zd�Zd�Z		d)d�Z		d*d�Zd�Zd'd�Zd(d�Z		d'd�Zd(d�Zd�Z			d)d�Zd�Z		d*d�Zd�Z 			d+d�Z!d �Z"d,d!�Z#d"�Z$d-d#�Z%�xZ&S).rNc��t|t�sJ�||_|j�|j	�t|�|_d|_yr)�
isinstance�strr5�_init_registries�_init_registrations�tuple�	__bases__�_v_utility_registrations_cache)r"rX�basess   r
r%zComponents.__init__�sF���$��$�$�$���
������ � �"��u����.2��+rc�b�dj|jj|j�S)Nz<{} {}>)�format�	__class__r5�r"s r
�__repr__zComponents.__repr__�s#�������� 7� 7����G�Grc����t�|��}|dj�D��cic]\}}|jd�s||��}}}t	|�}||d<t|�Scc}}w)N��_v_)�super�
__reduce__r �
startswith�listrh)r"�	reduction�k�v�filtered_staterns     �r
ruzComponents.__reduce__�ss���
�G�&�(�	�,5�Q�<�+=�+=�+?�6�4�1�a�!"���e�!4��Q�$�6��6���O�	�%�	�!���Y����	6s�A"c�@�t�|_t�|_yr)r�adaptersrBros r
rfzComponents._init_registries�s��(�)��
�(�*��rc�<�i|_i|_g|_g|_yr)r@�_adapter_registrations�_subscription_registrations�_handler_registrationsros r
rgzComponents._init_registrations�s"��&(��#�&(��#�+-��(�&(��#rc���|j}|�0|j|jus|j|jur't	|j|j�x}|_|Sr)rjr?rBr@r<)r"�caches  r
�_utility_registrations_cachez'Components._utility_registrations_cache�se���3�3���M����t�~�~�5��+�+�4�3N�3N�N�:O�����+�+�;-�
-�E�D�7��rc�:�|jjdd�S)Nrir)�__dict__�getros r
�	_getBaseszComponents._getBases�s���}�}� � ��b�1�1rc��t|D�cgc]}|j��c}�|j_t|D�cgc]}|j��c}�|j_t|�|jd<ycc}wcc}w)Nri)rhr}rirBr�)r"rk�bases   r
�	_setBaseszComponents._setBases�sn��"'�&+�)-�"�D�M�M�)-�#.��
�
��#(�',�*.�#�D�N�N�*.�$/���� �%*�5�\��
�
�k�"��	)-��*.s
�A>�Bc�"�|j�Sr)r�ros r
�<lambda>zComponents.<lambda>�s
��T�^�^�%�rc�$�|j|�Sr)r�)r"rks  r
r�zComponents.<lambda>�s��D�N�N�5�1�rc�r�|r|rtd��|�}|�t|�}|dk(rt|�}|jj	||f�}|�!|dd||fk(ry|j|d||�|jj|||||�|r#ttt||||||���yy)N�$Can't specify factory and component.�rrr)rL�_getUtilityProvided�_getNamer@r�rar�r\rr�UtilityRegistration)r"r)rMrXrY�eventrZ�regs        r
r\zComponents.registerUtility�s������ F�G�G��	�I���*�9�5�H��2�:��I�&�D��)�)�-�-�x��.>�?���?��2�A�w�9�d�+�+���"�"�3�q�6�8�T�:��)�)�9�9��d�I�t�W�	6���:�#�D�(�D�)�T�$+�-��
�rc
�H�|r|rtd��|�}|�|�td��t|�}|jj||f�}|�
|�	||dk7ry|�|d}|jj|||�t
tt||||g|dd�����y)Nr�z3Must specify one of component, factory and providedrFrKT)	rLr�r@r�r�rarrr�)r"r)rMrXrZ�olds      r
razComponents.unregisterUtility�s������ F�G�G��	�I���� ��!+�,�,�*�9�5�H��)�)�-�-�x��.>�?���K�i�3�'�3�q�6�1�����A��I�	
�)�)�;�;��d�I�	'�	�|���h��i�J�#�a�b�'�J��	�rc#�K�t|jj��D]\\}}}t|||g|������y�wr)rEr@r r�)r"rMrXr0s    r
�registeredUtilitieszComponents.registeredUtilitiessK�����t�2�2�8�8�:�;�	C�
�
�h��t�%�d�H�d�B�T�B�B�	C�s�AAc�>�|jjd|||�SrU)rB�lookup)r"rMrX�defaults    r
�queryUtilityzComponents.queryUtilitys���~�~�$�$�R��4��A�Arc�\�|jjd||�}|�t||��|SrU)rBr�r)r"rMrX�utilitys    r
�
getUtilityzComponents.getUtilitys1���.�.�'�'��H�d�;���?�&�x��6�6��rc#�XK�|jjd|�Ed{���y7��wrU)rB�	lookupAll�r"�	interfaces  r
�getUtilitiesForzComponents.getUtilitiesFor%s �����>�>�+�+�B�	�:�:�:�s� *�(�*c�:�|jjd|�SrU)rB�
subscriptionsr�s  r
�getAllUtilitiesRegisteredForz'Components.getAllUtilitiesRegisteredFor(s���~�~�+�+�B�	�:�:rc��|�t|�}t||�}|dk(rt|�}||f|j|||f<|jj||||�|r#t
tt||||||���yy�Nr�)	�_getAdapterProvided�_getAdapterRequiredr�rr}rVrr�AdapterRegistration�r"rZ�requiredrMrXrYr�s       r
�registerAdapterzComponents.registerAdapter+s�����*�7�3�H�&�w��9���2�:��G�$�D�(/��
�	
�#�#�X�x��$>�	&��
�
���x��4��A���:�#�D�(�H�d�$+�T�3��
�rc
�`�|�|�td��t|�}|�
|�td��t||�}|jj	|||f�}|�
|�	||dk7ry|j|||f=|j
j
|||�ttt||||g|�����y)N�(Must specify one of factory and provided�(Must specify one of factory and requiredrFT)
rLr�r�rr�r}r^rrr�)r"rZr�rMrXr�s      r
�unregisterAdapterzComponents.unregisterAdapter=s�������� J�K�K�*�7�3�H���7�?��F�G�G�&�w��9���)�)�-�-�x��4�.H�I���K�g�1�%��Q��/���'�'��8�T�(B�C��
�
� � ��8�T�:��|���h��$�
&�!$�
&��	�
rc	#�K�t|jj��D]\\}}}\}}t||||||���� y�wr)rErr r�)r"r�rMrXr)rYs      r
�registeredAdapterszComponents.registeredAdaptersXsV�����t�2�2�8�8�:�;�	7�
�
'�h��$�):�)�T�%�d�H�h��&/��7�
7�	7�s�AAc�>�|jj||||�Sr)r}�queryAdapter)r"�objectr�rXr�s     r
r�zComponents.queryAdapter^s���}�}�)�)�&�)�T�7�K�Krc�^�|jj|||�}|�
t|||��|Sr)r}r�r)r"r�r�rX�adapters     r
�
getAdapterzComponents.getAdapteras3���-�-�,�,�V�Y��E���?�&�v�y�$�?�?��rc�>�|jj||||�Sr)r}�queryMultiAdapter)r"�objectsr�rXr�s     r
r�zComponents.queryMultiAdaptergs"���}�}�.�.��Y��g�/�	/rc�^�|jj|||�}|�
t|||��|Sr)r}r�r)r"r�r�rXr�s     r
�getMultiAdapterzComponents.getMultiAdapterls3���-�-�1�1�'�9�d�K���?�&�w�	�4�@�@��rc#�K�|jjttt|��|�D]\}}||�}|��||f���y�wr)r}r�rw�mapr)r"r�rMrXrZr�s      r
�getAdapterszComponents.getAdaptersrsV����!�]�]�4�4���Z��)�*���	$�M�D�'��w�'�G��"��G�m�#�	$�s�AA
�	A
c��|rtd��|�t|�}t||�}|jj	|||||f�|j
j
|||�|r#ttt||||||���yy)N�'Named subscribers are not yet supported)
rLr�r�r�r.r}rWrr�SubscriptionRegistrationr�s       r
�registerSubscriptionAdapterz&Components.registerSubscriptionAdapterzs�����E�F�F���*�7�3�H�&�w��9���(�(�/�/�
�x��w��5�	�	
�
�
����(�G�<���:�(��x��4�)0�$�8��
�rc#�JK�|jD]}t|g|������y�wr)r�r��r"r0s  r
�registeredSubscriptionAdaptersz)Components.registeredSubscriptionAdapters�s+�����4�4�	8�D�*�4�7�$�7�7�	8���!#c�t�|rtd��|�|�td��t|�}|�
|�td��t||�}|�7|jD�����	cgc]\}}}}}	||k(r||k(s|||||	f��}
}}}}}	n;|jD�����	cgc]\}}}}}	||k(r
||k(r||k(s|||||	f�� }
}}}}}	t	|
�t	|j�k(ry|
|jdd|j
j
|||�ttt|||||d���ycc}	}}}}wcc}	}}}}w)Nr�r�r�Fr�T)
rLr�r�r��lenr}r`rrr�)r"rZr�rMrX�rrG�n�fr/�news           r
�unregisterSubscriptionAdapterz(Components.unregisterSubscriptionAdapter�sn����E�F�F������ J�K�K�*�7�3�H���7�?��F�G�G�&�w��9���?��6�6���&��1�a��A���=�Q�(�]��q�!�Q��?��C���6�6���&��1�a��A���=�Q�(�]�q�G�|��q�!�Q��?��C���s�8�s�4�;�;�<�<��/2��(�(��+��
�
�!�!�(�H�g�>��|�$�T�8�X�t�%,�b�
2��	�
��1��s�D(�#D1c�:�|jj||�Sr�r}�subscribers)r"r�rMs   r
r�zComponents.subscribers�s���}�}�(�(��(�;�;rc��|rtd��t||�}|jj||||f�|jj|d|�|r"t
tt|||||���yy)Nz$Named handlers are not yet supported)	rLr�r�r.r}rWrr�HandlerRegistration)r"rZr�rXrYr�s      r
�registerHandlerzComponents.registerHandler�s~����B�C�C�&�w��9���#�#�*�*�
�t�W�d�+�	�	
�
�
����$��8���:�#�D�(�D�'�4�H��
�rc#�JK�|jD]}t|g|������y�wr)r�r�r�s  r
�registeredHandlerszComponents.registeredHandlers�s+�����/�/�	3�D�%�d�2�T�2�2�	3�r�c��|rtd��|�
|�td��t||�}|�.|jD����cgc]\}}}}||k7r||||f��}}}}}n2|jD����cgc]\}}}}||k(r||k(s||||f��}}}}}t|�t|j�k(ry||jdd|jj|d|�t
tt||||d���ycc}}}}wcc}}}}w)Nr�r�Fr�T)	rLr�r�r�r}r`rrr�)	r"rZr�rXr�r�r�r/r�s	         r
�unregisterHandlerzComponents.unregisterHandler�s0����E�F�F���7�?��F�G�G�&�w��9���?��1�1���#��1�a���8�m��q�!�Q�<��C���1�1���#��1�a����=�Q�'�\��q�!�Q�<��C���s�8�s�4�6�6�7�7��),��#�#�A�&��
�
�!�!�(�D�'�:��|���h��g�r�B��	���-��s�C;
�*D
c�<�|jj|d�yrr�)r"r�s  r
�handlezComponents.handle�s���
�
�!�!�'�4�0rc�0�t|j�}|j}d}d}d}d}d|jvsJ�d�|_|r|j
}|j}	nd�x}}		|j�D]`\\}
}\}}
}|jd|
|�|k7r|d|
||�|dz
}n|dz
}|jd|
|��|dz
}|	d|
|��\|dz
}�b	|`|r|s|r|j	|�	||||d�S#|`|r|s|r|j	|�wwwxYw)a�
        Emergency maintenance method to rebuild the ``.utilities``
        registry from the local copy maintained in this object, or
        detect the need to do so.

        Most users will never need to call this, but it can be helpful
        in the event of suspected corruption.

        By default, this method only checks for corruption. To make it
        actually rebuild the registry, pass `True` for *rebuild*.

        :param bool rebuild: If set to `True` (not the default),
           this method will actually register and subscribe utilities
           in the registry as needed to synchronize with the local cache.

        :return: A dictionary that's meant as diagnostic data. The keys
           and values may change over time. When called with a false *rebuild*,
           the keys ``"needed_registered"`` and ``"needed_subscribed"`` will be
           non-zero if any corruption was detected, but that will not be corrected.

        .. versionadded:: 5.3.0
        r�changedc��yrr)rHs r
r�zAComponents.rebuildUtilityRegistryFromLocalCache.<locals>.<lambda>rrc��yrr)�argss r
r�zAComponents.rebuildUtilityRegistryFromLocalCache.<locals>.<lambda>!rrrrK)�needed_registered�did_not_register�needed_subscribed�did_not_subscribe)
�dictr@rBr�r�rVrWr �
registeredr[)r"�rebuild�regs�utilsr�r�r�r�rVrWrMrX�value�_info�_factorys               r
�$rebuildUtilityRegistryFromLocalCachez/Components.rebuildUtilityRegistryFromLocalCache�sf��.�D�/�/�0��������������
����.�.�.�&��
���~�~�H����I�#5�5�H�y�	%�>B�j�j�l�
+�:� ��4�":�5�%���#�#�B��$�7�5�@��R��4��7�%��*�%�$��)�$��#�#�B��%�8�@�%��*�%��b�(�E�2�%��*�%�
+��
��-�1B��
�
�e�$�"3� 0�!2�!2�	
�	
��	�
��-�1B��
�
�e�$�2C�w�s
�#A3C8�8D)r�r)NNr�r�TN)NNr�N)r�N)r�)NNr�r�T)NNNr�)Nr�r�T)NNr�)F)'r5r6r7rjr%rprurfrg�propertyr�r�r�rir\rar�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__)rns@r
rr�s!���&*�"�3�H�
 �+�)��
��
�2�2��%�1�
�I�
CE�59��:EG�"&��>C�
B��;�;�@D�04��$)-�=?��67�L��:<�"&�/�
�$�FJ�24�*.��(8�59�=?�(�T<�+/�&(�"��"3� �D1�A
rc�:�	|jS#t$rYywxYwr�)�__component_name__�AttributeError)r)s r
r�r�<s%����+�+�+������s��	�c�f�tt|��}t|�dk(r|dStd��)NrKrzWThe utility doesn't provide a single interface and no provided interface was specified.)rwrr�rL)r)rMs  r
r�r�Bs9���J�y�)�*�H�
�8�}�����{��
�	3�4�4rc�f�tt|��}t|�dk(r|dStd��)NrKrzaThe adapter factory doesn't implement a single interface and no provided interface was specified.)rwrr�rL)rZrMs  r
r�r�Js9���M�'�*�+�H�
�8�}�����{��
�	3�4�4rc�~�|�	|j}n tj|�rtd��g}|D]d}|�t
}nHtj|�s3t
|t�rt|�}ntdt|�z��|j|��ft|�S#t$rtd��wxYw)NzoThe adapter factory doesn't have a __component_adapts__ attribute and no required specifications were specifiedzLthe required argument should be a list of interfaces, not a single interfacez?Required specification must be a specification or class, not %r)�__component_adapts__r�rLr
rrrd�typerr.rh)rZr��resultr�s    r
r�r�Rs�����	��3�3�H�
�	"�	"�8�	,��=�>�	>��F�
�
���9��A��*�*�1�-��!�T�"�!�!�$���!A�CG��7�!K�"�"�	�
�
�a��
���=���+�	��J��
�	�s�B'�'B<c�D�eZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zy)r�Nc�^�||||||f\|_|_|_|_|_|_yr)�registryrMrXr)rYrZ)r"rrMrXr)�docrZs       r
r%zUtilityRegistration.__init__qs2���x��y�#�w�
>�	����
�t�y�$�.�$�)�	
�rc
�"�dj|jj|jt	|j
dd�|jt	|jdt|j��|j|j�S)Nz"{}({!r}, {}, {!r}, {}, {!r}, {!r})r5)rmrnr5r�getattrrMrXr)�reprrZrYros r
rpzUtilityRegistration.__repr__vse��3�:�:����'�'��
�
���
�
�z�4�8�$�)�)�����
�D����4H�I����d�i�i��	rc��t|�Sr��idros r
�__hash__zUtilityRegistration.__hash__����$�x�rc�0�t|�t|�k(Sr�r�r"�others  r
�__eq__zUtilityRegistration.__eq__�����D�z�T�%�[�(�(rc�0�t|�t|�k7Srrrs  r
�__ne__zUtilityRegistration.__ne__�rrc�0�t|�t|�kSrrrs  r
�__lt__zUtilityRegistration.__lt__�����D�z�D��K�'�'rc�0�t|�t|�kSrrrs  r
�__le__zUtilityRegistration.__le__�rrc�0�t|�t|�kDSrrrs  r
�__gt__zUtilityRegistration.__gt__�rrc�0�t|�t|�k\Srrrs  r
�__ge__zUtilityRegistration.__ge__�rrr�r5r6r7r%rprrrrrrrrrr
r�r�ns/��?�
��)�)�(�)�(�)rr�c�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)r�c�^�||||||f\|_|_|_|_|_|_yr)rr�rMrXrZrY)r"rr�rMrXr)rs       r
r%zAdapterRegistration.__init__�s2���x��4��C�
?�	����
�t�}�d�i�	
��t�yrc��dj|jj|jddj	|j
D�cgc]}|j��c}�zdzt
|jdd�|jt
|jdt|j��|j�Scc}w)Nz {}({!r}, {}, {}, {!r}, {}, {!r})�[�, �]r5)rmrnr5r�joinr�rrMrXrZrrY�r"r�s  r
rpzAdapterRegistration.__repr__�s���1�8�8��N�N�#�#��M�M��$�)�)����?�A�Q�Z�Z�?�@�@�3�F��D�M�M�:�t�4�d�i�i��D�L�L�*�d�4�<�<�.@�A�4�9�9��	��@s�B>c��t|�Srrros r
rzAdapterRegistration.__hash__�r	rc�0�t|�t|�k(Srrrs  r
rzAdapterRegistration.__eq__�rrc�0�t|�t|�k7Srrrs  r
rzAdapterRegistration.__ne__�rrc�0�t|�t|�kSrrrs  r
rzAdapterRegistration.__lt__�rrc�0�t|�t|�kSrrrs  r
rzAdapterRegistration.__le__�rrc�0�t|�t|�kDSrrrs  r
rzAdapterRegistration.__gt__�rrc�0�t|�t|�k\Srrrs  r
rzAdapterRegistration.__ge__�rrNrrrr
r�r��s0��@�
��)�)�(�)�(�)rr�c��eZdZy)r�N)r5r6r7rrr
r�r��s��rr�c�,�eZdZd�Zed��ZdZd�Zy)r�c�P�|||||f\|_|_|_|_|_yr)rr�rX�handlerrY)r"rr�rXr.rs      r
r%zHandlerRegistration.__init__�s)��
�x��w��
3�	����
�t�y�$�,��	rc��|jSr)r.ros r
rZzHandlerRegistration.factory�s���|�|�rNc
�Z�dj|jj|jddj	|j
D�cgc]}|j��c}�zdz|jt|jdt|j��|j�Scc}w)Nz{}({!r}, {}, {!r}, {}, {!r})rr r!r5)rmrnr5rr"r�rXrrZrrYr#s  r
rpzHandlerRegistration.__repr__�s~��-�4�4��N�N�#�#��M�M��$�)�)����?�A�Q�Z�Z�?�@�@�3�F��I�I��D�L�L�*�d�4�<�<�.@�A�4�9�9��	��@s�B()r5r6r7r%r�rZrMrprrr
r�r��s'��4������H�rr�N)&�__doc__�collectionsr�
zope.eventr�ImportError�zope.interface.interfacesr
rrrrrrrr�zope.interface.interfacer�zope.interface.declarationsrrrr�zope.interface.adapterr�__all__rr:r<rr�r�r�r�r�r�r�r�rrr
�<module>r:s=���#�!�!�5�:�:�1�:�F�:�0�2�.�5�3�8�2�2��	��"�"�6�@A�@A�F
�[��i
�i
��i
�V
�4�4��8
�
!�"�#)�#)�#�#)�J
�
!�"�#)�#)�#�#)�J�2�3�	�2�	�4�	��&�'��-��(���Y�!� �!�s�C<�<D�D

Zerion Mini Shell 1.0