+
    -½iÔd  ã                   ó  € R 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 ^ 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.t ! R R4      tR t ! R R4      t]
! ]4       ! R R4      4       tR tR tR t R t!]
! ]4       ! R R4      4       t"]
! ]4       ! R  R!4      4       t#]! ]4       ! R" R#]#4      4       t$]! ]4       ! R$ R%]#4      4       t%R&#   ] d    R t Lùi ; i)'zBasic components support
)Údefaultdict)Únotifyc                  ó   € R # ©N© )ÚargÚkws   *,Ú9/usr/lib/python3/dist-packages/zope/interface/registry.pyr   r      s   € Ùó    )ÚAdapterRegistry)ÚimplementedBy)Úimplementer)Úimplementer_only)Ú
providedBy)Ú	Interface)ÚComponentLookupError)ÚIAdapterRegistration)ÚIComponents)ÚIHandlerRegistration)ÚISpecification)Ú ISubscriptionAdapterRegistration)ÚIUtilityRegistration)Ú
Registered)ÚUnregisteredÚ
Componentsc                   ó8   a € ] tR t^2t o R tR tR tR tRtV t	R# )Ú_UnhashableComponentCounterc                óX   € VP                  4        Uu. uF  q"NK  	  upV n        R # u upi r   )ÚitemsÚ_data)ÚselfÚ	otherdictÚitems   && r	   Ú__init__Ú$_UnhashableComponentCounter.__init__5   s$   € à'0§¡Ô'8Ó9Ñ'8˜t’dÑ'8Ñ9ˆŽ
ùÒ9s   “
'c                óD   € V P                    F  w  r#W!8X  g   K  Vu # 	  ^ # )é    ©r   )r    ÚkeyÚ	componentÚcounts   &&  r	   Ú__getitem__Ú'_UnhashableComponentCounter.__getitem__9   s#   € Ø $§
¤
ÑˆIØÖØ’ñ !+ñ r
   c                ó¼   € \        V P                  4       F&  w  r4V^ ,          V8X  g   K  W3V P                  V&    R# 	  V P                  P                  W34       R# ©r&   N)Ú	enumerater   Úappend)r    r)   r*   ÚiÚdatas   &&&  r	   Ú__setitem__Ú'_UnhashableComponentCounter.__setitem__?   sM   € Ü  §¡Ö,‰GˆAØ�A�w˜)Ö#Ø )Ð 0�—
‘
˜1‘Úñ -ð 	�
‰
×Ñ˜9Ð,Ö-r
   c                ó�   € \        V P                  4       F#  w  r#V^ ,          V8X  g   K  V P                  V  R# 	  \        V4      hr.   )r/   r   ÚKeyError)r    r)   r1   r2   s   &&  r	   Ú__delitem__Ú'_UnhashableComponentCounter.__delitem__F   s>   € Ü  §¡Ö,‰GˆAØ�A�w˜)Ö#Ø—J‘J˜q�MÚñ -ô �yÓ!Ð!r
   r'   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r#   r+   r3   r7   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r	   r   r   2   s   ø‡ € ò:òò.÷"ð "r
   r   c                  ó    € \        \        4      # r   )r   Úintr   r
   r	   Ú_defaultdict_intrC   N   s   € Ü”sÓÐr
   c                   óJ   a € ] tR t^Rt o R tR tR tR tR tR t	R t
RtV tR	# )
Ú_UtilityRegistrationsc                óf   € \        \        4      V n        Wn        W n        V P                  4        R # r   )r   rC   Ú_cacheÚ
_utilitiesÚ_utility_registrationsÚ%_UtilityRegistrations__populate_cache)r    Ú	utilitiesÚutility_registrationss   &&&r	   r#   Ú_UtilityRegistrations.__init__T   s&   € ä!Ô"2Ó3ˆŒØ#ŒØ&;Ô#à×ÑÖr
   c                ó˜   € \        V P                  P                  4       4       F"  w  w  rpV^ ,          pV P                  W4       K$  	  R# r.   )ÚiterrI   r   Ú$_UtilityRegistrations__cache_utility)r    ÚpÚ_r2   r)   s   &    r	   Ú__populate_cacheÚ&_UtilityRegistrations.__populate_cache\   s>   € Ü" 4×#>Ñ#>×#DÑ#DÓ#FÖG‰N‰Vˆa�TØ˜Q�ˆIØ× Ñ  Ö.ó Hr
   c                óô   €  V P                   V,          V;;,          ^,          uu&   R#   \         dC    \        T P                   T,          4      ;q0P                   T&   Y2;;,          ^,          uu&    R# i ; i)é   N)rG   Ú	TypeErrorr   )r    Úprovidedr)   Úprovs   &&& r	   Ú__cache_utilityÚ%_UtilityRegistrations.__cache_utilitya   sd   € ð	!Ø�K‰K˜Õ! )×,°Õ1Õ,øÜô 	!ô ,GØ—‘˜HÕ%ó,ð ˆD—;‘;˜xÑ(ð �O˜qÕ ŽOð	!ús   ‚&* ªA	A7Á6A7c                óx   € V P                   V,          pW,          pV^,          pV^ 8X  d   W V^ 8„  # W1V&   V^ 8„  # )rV   )rG   )r    rX   r)   r*   s   &&& r	   Ú__uncache_utilityÚ'_UtilityRegistrations.__uncache_utilityl   sP   € Ø—;‘;˜xÕ(ˆð Õ#ˆØ��
ˆØ�AŒ:ØÐ#ð �q‰yÐð #(�YÑØ�q‰yÐr
   c                ób   €  V P                   V,          V,          ^ 8„  #   \         d     R# i ; i)r&   F)rG   rW   )r    rX   r)   s   &&&r	   Ú_is_utility_subscribedÚ,_UtilityRegistrations._is_utility_subscribed{   s2   € ð	Ø—;‘;˜xÕ(¨Õ3°aÑ7Ð7øÜô 	âð	ús   ‚ Ÿ.­.c                óð   € V P                  W4      pW4V3V P                  W3&   V P                  P                  RWV4       V'       g   V P                  P	                  RW4       V P                  W4       R # ©Nr   )r`   rI   rH   ÚregisterÚ	subscriberP   )r    rX   Únamer)   ÚinfoÚfactoryÚ
subscribeds   &&&&&& r	   ÚregisterUtilityÚ%_UtilityRegistrations.registerUtility‚   so   € Ø×0Ñ0°ÓEˆ
ð ˜WÐ$ð 	×#Ñ#ØÐñ	
ð 	�‰× Ñ   X°YÔ?çØ�O‰O×%Ñ% b¨(Ô>à×Ñ˜XÖ1r
   c                óÈ   € V P                   W3 V P                  P                  RW4       V P                  W4      pV'       g   V P                  P	                  RW4       R # R # rc   )rI   rH   Ú
unregisterÚ&_UtilityRegistrations__uncache_utilityÚunsubscribe)r    rX   rf   r)   ri   s   &&&& r	   ÚunregisterUtilityÚ'_UtilityRegistrations.unregisterUtility�   sS   € Ø×'Ñ'¨Ð(8Ð9Ø�‰×"Ñ" 2 xÔ6à×+Ñ+¨HÓ@ˆ
çØ�O‰O×'Ñ'¨¨HÖ@ñ r
   )rG   rH   rI   N)r9   r:   r;   r<   r#   rJ   rP   rn   r`   rj   rp   r=   r>   r?   s   @r	   rE   rE   R   s/   ø‡ € ò ò/ò
	!òòò2÷Að Ar
   rE   c                   óP  a a€ ] tR t^™t oRtR%R ltR tV 3R ltR tR t	]
R 4       tR tR	 t]
! R
 R 4      tR&R ltR'R ltR tR(R ltR)R ltR tR tR*R ltR+R ltR tR(R ltR)R ltR(R ltR)R ltR tR*R ltR tR+R lt R t!R,R lt"R  t#R-R! lt$R" t%R.R# lt&R$t'Vt(V ;t)# )/r   Nc                ó°   € \        V\        4      '       g   Q hWn        V P                  4        V P	                  4        \        V4      V n        R V n        R # r   )Ú
isinstanceÚstrr9   Ú_init_registriesÚ_init_registrationsÚtupleÚ	__bases__Ú_v_utility_registrations_cache)r    rf   Úbasess   &&&r	   r#   ÚComponents.__init__ž   sG   € ô ˜$¤×$Ò$Ð$Ð$ØŒØ×ÑÔØ× Ñ Ô"Ü˜u›ˆŒØ.2ˆÖ+r
   c                óP   € R V P                   P                   RV P                   R2# )Ú<Ú Ú>)Ú	__class__r9   ©r    s   &r	   Ú__repr__ÚComponents.__repr__¨   s&   € Ø�4—>‘>×*Ñ*Ð+¨1¨T¯]©]¨O¸1Ð=Ð=r
   c                óæ   <€ \         SV `  4       pV^,          P                  4        UUu/ uF   w  r#VP                  R4      '       d   K  W#bK"  	  ppp\	        V4      pWA^&   \        V4      # u uppi )é   Ú_v_)ÚsuperÚ
__reduce__r   Ú
startswithÚlistrx   )r    Ú	reductionÚkÚvÚfiltered_stater�   s   &    €r	   r‰   ÚComponents.__reduce__«   sp   ø€ ô
 ‘GÑ&Ó(ˆ	ð ,5°Q­<×+=Ñ+=Ô+?ô 6Ñ+?¡4 1Ø!"§¡¨e×!4ô ˜!š$Ñ+?ˆñ 6ä˜“Oˆ	Ø%�!‰Ü�YÓÐùó	6s   ªA-Á
A-c                óB   € \        4       V n        \        4       V n        R # r   )r   ÚadaptersrK   r‚   s   &r	   rv   ÚComponents._init_registriesº   s   € ô (Ó)ˆŒÜ(Ó*ˆŽr
   c                ó>   € / V n         / V n        . V n        . V n        R # r   )rI   Ú_adapter_registrationsÚ_subscription_registrationsÚ_handler_registrationsr‚   s   &r	   rw   ÚComponents._init_registrationsÀ   s"   € Ø&(ˆÔ#Ø&(ˆÔ#Ø+-ˆÔ(Ø&(ˆÖ#r
   c                óÚ   € V P                   pVe5   VP                  V P                  Jg   VP                  V P                  Jd'   \	        V P                  V P                  4      ;qn         V# r   )rz   rH   rK   rI   rE   )r    Úcaches   & r	   Ú_utility_registrations_cacheÚ'Components._utility_registrations_cacheÆ   sd   € ð ×3Ñ3ˆàŠMØ×Ñ D§N¡NÓ2Ø×(Ñ(°×0KÑ0KÓKô &Ø—N‘N D×$?Ñ$?óðˆEÔ7ð
 ˆr
   c                ó:   € V P                   P                  R R4      # )ry   r   )Ú__dict__Úgetr‚   s   &r	   Ú	_getBasesÚComponents._getBases×   s   € à�}‰}× Ñ  ¨bÓ1Ð1r
   c                ó  € \        V Uu. uF  q"P                  NK  	  up4      V P                  n        \        V Uu. uF  q"P                  NK  	  up4      V P                  n        \        V4      V P                  R &   R# u upi u upi )ry   N)rx   r’   ry   rK   rž   )r    r{   Úbases   && r	   Ú	_setBasesÚComponents._setBasesÛ   sr   € ä"'Ù&+ó)-Ù&+˜d�MŒM¡eñ)-ó #.ˆ�‰Ôä#(Ù',ó*.Ù',˜t�NŒN¡uñ*.ó $/ˆ�‰Ô ä%*¨5£\ˆ�‰�kÓ"ùò	)-ùò*.s
   ŠB½Bc                ó"   € V P                  4       # r   )r    r‚   s   &r	   Ú<lambda>ÚComponents.<lambda>ä   s   € �T—^‘^Ô%r
   c                ó$   € V P                  V4      # r   )r¤   )r    r{   s   &&r	   r§   r¨   å   s   € ˜DŸN™N¨5Ô1r
   c                ó¬  € V'       d   V'       d   \        R 4      hV! 4       pVf   \        V4      pVR8X  d   \        V4      pV P                  P	                  W#34      pVe+   VR,          W38X  d   R# V P                  V^ ,          W#4       V P                  P                  W#WV4       V'       d"   \        \        \        WW1WF4      4      4       R# R# )ú$Can't specify factory and component.NÚ :Nr†   N)rW   Ú_getUtilityProvidedÚ_getNamerI   rŸ   rp   r›   rj   r   r   ÚUtilityRegistration)r    r)   rX   rf   rg   Úeventrh   Úregs   &&&&&&& r	   rj   ÚComponents.registerUtilityè   sÄ   € çßÜÐ FÓGÐGÙ›	ˆIàÒÜ*¨9Ó5ˆHà�2Œ:Ü˜IÓ&ˆDà×)Ñ)×-Ñ-¨xÐ.>Ó?ˆØŠ?Ø�2�w˜9Ð+Ô+áØ×"Ñ" 3 q¥6¨8Ô:à×)Ñ)×9Ñ9Ø˜I¨Wô	6÷ Ü”:Ü#Ø D°TóDóö ñ r
   c           
     óŒ  € V'       d   V'       d   \        R 4      hV! 4       pVf   Vf   \        R4      h\        V4      pV P                  P                  W#34      pVe   Ve   W^ ,          8w  d   R# Vf
   V^ ,          pV P                  P                  W#V4       \        \        \        WW1.VR,          O5!  4      4       R# )r«   z3Must specify one of component, factory and providedF:rV   NNT)	rW   r­   rI   rŸ   r›   rp   r   r   r¯   )r    r)   rX   rf   rh   Úolds   &&&&& r	   rp   ÚComponents.unregisterUtility  sÆ   € çßÜÐ FÓGÐGÙ›	ˆIàÒØÒ Üð !+ó ,ð ,ä*¨9Ó5ˆHà×)Ñ)×-Ñ-¨xÐ.>Ó?ˆØŠK˜iÒ3Ø'¨q­6Ô1ÙàÒØ˜A�ˆIð 	×)Ñ)×;Ñ;Ø˜Iô	'ô 	Œ|Ü °ÐJÀ#ÀbÅ'ÓJó
ô 	ñ r
   c              #  óŒ   "  € \        V P                  P                  4       4       F  w  w  rp\        WV.VO5!  x € K  	  R # 5ir   )rO   rI   r   r¯   )r    rX   rf   r2   s   &   r	   ÚregisteredUtilitiesÚComponents.registeredUtilities$  s?   é € ä�t×2Ñ2×8Ñ8Ó:Ö;ñÑˆh˜tä% d°dÐB¸TÓBÔBó <ùs   ‚AAc                ó<   € V P                   P                  RWV4      # rc   )rK   Úlookup)r    rX   rf   Údefaults   &&&&r	   ÚqueryUtilityÚComponents.queryUtility)  s   € Ø�~‰~×$Ñ$ R¨¸ÓAÐAr
   c                ó\   € V P                   P                  RW4      pVf   \        W4      hV# rc   )rK   rº   r   )r    rX   rf   Úutilitys   &&& r	   Ú
getUtilityÚComponents.getUtility,  s-   € Ø—.‘.×'Ñ'¨¨HÓ;ˆØŠ?Ü& xÓ6Ð6Øˆr
   c              #  óZ   "  € V P                   P                  RV4       R j  x€L
  R #  L5irc   )rK   Ú	lookupAll©r    Ú	interfaces   &&r	   ÚgetUtilitiesForÚComponents.getUtilitiesFor2  s   é € Ø—>‘>×+Ñ+¨B°	Ó:×:Ô:ùs   ‚ +¢)£+c                ó:   € V P                   P                  RV4      # rc   )rK   ÚsubscriptionsrÄ   s   &&r	   ÚgetAllUtilitiesRegisteredForÚ'Components.getAllUtilitiesRegisteredFor5  s   € Ø�~‰~×+Ñ+¨B°	Ó:Ð:r
   c                ó  € Vf   \        V4      p\        W4      pVR8X  d   \        V4      pW3V P                  W#V3&   V P                  P                  W#WA4       V'       d"   \        \        \        WW4W4      4      4       R # R # )Nr¬   )	Ú_getAdapterProvidedÚ_getAdapterRequiredr®   r•   r’   rd   r   r   ÚAdapterRegistration©r    rh   ÚrequiredrX   rf   rg   r°   s   &&&&&&&r	   ÚregisterAdapterÚComponents.registerAdapter8  sƒ   € àÒÜ*¨7Ó3ˆHÜ& wÓ9ˆØ�2Œ:Ü˜GÓ$ˆDà(/¨ð 	×#Ñ# X¸Ð$>ñ 	&à�‰×Ñ˜x°4ÔAçÜ”:Ü#Ø H°Góóö ñ r
   c           
     ó|  € Vf   Vf   \        R4      h\        V4      pVf   Vf   \        R4      h\        W4      pV P                  P	                  W#V34      pVe   Ve   W^ ,          8w  d   R# V P                  W#V3 V P
                  P                  W#V4       \        \        \        WW4.VO5!  4      4       R# )Nú(Must specify one of factory and providedú(Must specify one of factory and requiredFT)
rW   rÍ   rÎ   r•   rŸ   r’   rm   r   r   rÏ   )r    rh   rÑ   rX   rf   r´   s   &&&&& r	   ÚunregisterAdapterÚComponents.unregisterAdapterJ  sÁ   € ð ÒØŠÜÐ JÓKÐKÜ*¨7Ó3ˆHàÒ 7¢?ÜÐFÓGÐGä& wÓ9ˆØ×)Ñ)×-Ñ-¨xÀ4Ð.HÓIˆØŠK˜gÒ1Ø%¨Q­Ô/Ùà×'Ñ'¨¸TÐ(BÐCØ�‰× Ñ  °TÔ:äŒ|Ü °ÐEÀÓEó
ô 	ñ r
   c           	   #  ó�   "  € \        V P                  P                  4       4       F  w  w  rpw  rE\        WW#WE4      x € K  	  R # 5ir   )rO   r•   r   rÏ   )r    rÑ   rX   rf   r)   rg   s   &     r	   ÚregisteredAdaptersÚComponents.registeredAdaptersd  sF   é € ä�t×2Ñ2×8Ñ8Ó:Ö;ñÑ'ˆh $Ñ):¨)ä% d°hØ&/ó7ô 7ó <ùs   ‚AAc                ó:   € V P                   P                  WW44      # r   )r’   ÚqueryAdapter)r    ÚobjectrÅ   rf   r»   s   &&&&&r	   rÝ   ÚComponents.queryAdapterj  s   € Ø�}‰}×)Ñ)¨&¸TÓKÐKr
   c                ó^   € V P                   P                  WV4      pVf   \        WV4      hV# r   )r’   rÝ   r   )r    rÞ   rÅ   rf   Úadapters   &&&& r	   Ú
getAdapterÚComponents.getAdapterm  s/   € Ø—-‘-×,Ñ,¨VÀÓEˆØŠ?Ü& v¸$Ó?Ð?Øˆr
   c                ó:   € V P                   P                  WW44      # r   )r’   ÚqueryMultiAdapter)r    ÚobjectsrÅ   rf   r»   s   &&&&&r	   rå   ÚComponents.queryMultiAdapters  s   € à�}‰}×.Ñ.Ø ó/ð 	/r
   c                ó^   € V P                   P                  WV4      pVf   \        WV4      hV# r   )r’   rå   r   )r    ræ   rÅ   rf   rá   s   &&&& r	   ÚgetMultiAdapterÚComponents.getMultiAdapterx  s/   € Ø—-‘-×1Ñ1°'ÀdÓKˆØŠ?Ü& w¸4Ó@Ð@Øˆr
   c              #  ó¨   "  € V P                   P                  \        \        \        V4      4      V4       F  w  r4V! V!  pVf   K  W53x € K  	  R # 5ir   )r’   rÃ   r‹   Úmapr   )r    ræ   rX   rf   rh   rá   s   &&&   r	   ÚgetAdaptersÚComponents.getAdapters~  sK   é € Ø!Ÿ]™]×4Ñ4Ü””Z Ó)Ó*¨Hö
‰MˆDñ ˜wÑ'ˆGØÔ"Ø�mÔ#ó
ùs   ‚A AÁAc                ó&  € V'       d   \        R 4      hVf   \        V4      p\        W4      pV P                  P	                  W#WAV34       V P
                  P                  W#V4       V'       d"   \        \        \        WW4W4      4      4       R# R# )ú'Named subscribers are not yet supportedN)
rW   rÍ   rÎ   r–   r0   r’   re   r   r   ÚSubscriptionRegistrationrÐ   s   &&&&&&&r	   ÚregisterSubscriptionAdapterÚ&Components.registerSubscriptionAdapter†  s‡   € ÷ ÜÐEÓFÐFØÒÜ*¨7Ó3ˆHÜ& wÓ9ˆØ×(Ñ(×/Ñ/Ø °Ð5ô	
ð 	�‰×Ñ °GÔ<çÜ”:Ü(Ø H°Góóö ñ r
   c              #  óR   "  € V P                    F  p\        V .VO5!  x € K  	  R # 5ir   )r–   rñ   ©r    r2   s   & r	   ÚregisteredSubscriptionAdaptersÚ)Components.registeredSubscriptionAdapters›  s%   é € Ø×4Ô4ˆDÜ*¨4Ð7°$Ó7Ô7ó 5ùó   ‚%'c                óœ  € V'       d   \        R 4      hVf   Vf   \        R4      h\        V4      pVf   Vf   \        R4      h\        W4      pVf:   V P                   UUUUU	u. uF  w  rVrxp	WR8X  d	   Wc8X  d   K  WVWxV	3NK  	  p
ppppp	M>V P                   UUUUU	u. uF   w  rVrxp	WR8X  d   Wc8X  d	   W�8X  d   K  WVWxV	3NK"  	  p
ppppp	\	        V
4      \	        V P                  4      8X  d   R# W P                  R&   V P
                  P                  W#V4       \        \        \        WW4VR4      4      4       R# u up	ppppi u up	ppppi )rð   rÕ   rÖ   FºNNNr¬   T)
rW   rÍ   rÎ   r–   Úlenr’   ro   r   r   rñ   )r    rh   rÑ   rX   rf   ÚrrQ   ÚnÚfr1   Únews   &&&&&      r	   ÚunregisterSubscriptionAdapterÚ(Components.unregisterSubscriptionAdapterŸ  sP  € ÷ ÜÐEÓFÐFØÒØŠÜÐ JÓKÐKÜ*¨7Ó3ˆHàÒ 7¢?ÜÐFÓGÐGä& wÓ9ˆàŠ?ð ×6Ò6÷á6ñ '˜˜a Aàœ=¨Q©]ô #�A˜! “?á6ð ô ˆCð ×6Ò6÷á6ñ '˜˜a Aàœ=¨Q¬]¸q¹|ô #�A˜! “?á6ð ô ô ˆs‹8”s˜4×;Ñ;Ó<Ô<Ùà.1×(Ñ(¨Ñ+Ø�‰×!Ñ! (°gÔ>äŒ|Ü$Ø °¸óó
ô 	ñ ùö1ùös   Á&D<Á=	D<ÂEÂ<	Ec                ó8   € V P                   P                  W4      # r   ©r’   Úsubscribers)r    ræ   rX   s   &&&r	   r  ÚComponents.subscribersÉ  s   € Ø�}‰}×(Ñ(¨Ó;Ð;r
   c                ó  € V'       d   \        R 4      h\        W4      pV P                  P                  W#W34       V P                  P                  VRV4       V'       d"   \        \        \        WW1V4      4      4       R# R# )z$Named handlers are not yet supportedN)	rW   rÎ   r—   r0   r’   re   r   r   ÚHandlerRegistration)r    rh   rÑ   rf   rg   r°   s   &&&&&&r	   ÚregisterHandlerÚComponents.registerHandlerÌ  st   € ÷ ÜÐBÓCÐCÜ& wÓ9ˆØ×#Ñ#×*Ñ*Ø˜WÐ+ô	
ð 	�‰×Ñ ¨$°Ô8çÜ”:Ü# D°DÀ4ÓHóö ñ r
   c              #  óR   "  € V P                    F  p\        V .VO5!  x € K  	  R # 5ir   )r—   r  rõ   s   & r	   ÚregisteredHandlersÚComponents.registeredHandlersÝ  s%   é € Ø×/Ô/ˆDÜ% dÐ2¨TÓ2Ô2ó 0ùrø   c                ó4  € V'       d   \        R 4      hVf   Vf   \        R4      h\        W4      pVf0   V P                   UUUUu. uF  w  rErgWB8w  g   K  WEWg3NK  	  pppppM4V P                   UUUUu. uF  w  rErgWB8X  d	   Wa8X  d   K  WEWg3NK  	  ppppp\        V4      \        V P                  4      8X  d   R# W€P                  R&   V P                  P                  VRV4       \        \        \        WW1R4      4      4       R# u uppppi u uppppi )rð   NrÖ   Frú   r¬   T)	rW   rÎ   r—   rû   r’   ro   r   r   r  )	r    rh   rÑ   rf   rü   rý   rþ   r1   rÿ   s	   &&&&     r	   ÚunregisterHandlerÚComponents.unregisterHandlerá  s  € ßÜÐEÓFÐFàÒ 7¢?ÜÐFÓGÐGä& wÓ9ˆàŠ?ð ×1Ò1öá1ñ $˜˜aà‘mô  �A˜!“<á1ð ó ˆCð ×1Ò1öá1ñ $˜˜aàœ=¨Q©\ô  �A˜!“<á1ð ó ô ˆs‹8”s˜4×6Ñ6Ó7Ô7Ùà),×#Ñ# AÑ&Ø�‰×!Ñ! (¨D°'Ô:äŒ|Ü °¸rÓBó
ô 	ñ ùõ-ùõs   ÁD

ÁD

Á6D
ÂD
c                ó>   € V P                   P                  VR 4       R # r   r  )r    ræ   s   &*r	   ÚhandleÚComponents.handle  s   € Ø�‰×!Ñ! '¨4Ö0r
   c                ó¬  € \        V P                  4      pV P                  p^ p^ p^ p^ pRVP                  9  g   Q hR Vn        V'       d   VP
                  pVP                  p	MR ;r‰ VP                  4        Fp  w  w  r«w  rÍpVP                  RW«4      V8w  d   V! RW«V4       V^,          pM	V^,          pVP                  RW¬4      f   V^,          pV	! RW¬4       Kg  V^,          pKr  	  V=V'       d"   V'       g	   V'       d   VP	                  V4       RTRTRTRT/#   T=T'       d$   T'       g	   T'       d   TP	                  T4       i i i ; i)	ad  
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
Úchangedc                 ó   € R # r   r   )rR   s   &r	   r§   ÚAComponents.rebuildUtilityRegistryFromLocalCache.<locals>.<lambda>(  s   € ¡$r
   c                  ó   € R # r   r   )Úargss   *r	   r§   r  .  s   € ±r
   Úneeded_registeredÚdid_not_registerÚneeded_subscribedÚdid_not_subscriber   )
ÚdictrI   rK   rž   r  rd   re   r   Ú
registeredri   )r    ÚrebuildÚregsÚutilsr  r  r  r  rd   re   rX   rf   ÚvalueÚ_infoÚ_factorys   &&             r	   Ú$rebuildUtilityRegistryFromLocalCacheÚ/Components.rebuildUtilityRegistryFromLocalCache  s`  € ô0 �D×/Ñ/Ó0ˆØ—‘ˆØÐØÐØÐØÐð  §¡Ô.Ð.Ð.Ù&ˆŒçØ—~‘~ˆHØŸ™‰Iá#5Ð5ˆHð	%Ø>B¿j¹j¾lÑ:Ñ �Ñ": 5°Ø×#Ñ# B¨Ó7¸5Ô@Ù˜R °Ô7Ø%¨Õ*Ñ%à$¨Õ)Ð$à×#Ñ# B¨Ó8Ò@Ø%¨Õ*Ð%Ù˜b (Ö2à%¨Õ*Ò%ñ ?Kð �ß×-×1BØ—‘˜eÔ$ð  Ð!2ØÐ 0ØÐ!2ØÐ!2ð	
ð 	
øð	 �ß×-×1BØ—‘˜eÕ$ð 2Cˆwús   Á+BD$ Ä$EÄ7EÄ?E)	ry   r9   r•   r—   r–   rI   rz   r’   rK   )r¬   r   )NNr¬   r¬   TN)NNr¬   N)r¬   N©r¬   )NNr¬   r¬   T)NNNr¬   )Nr¬   r¬   T)NNr¬   )F)*r9   r:   r;   r<   rz   r#   rƒ   r‰   rv   rw   Úpropertyr›   r    r¤   ry   rj   rp   r·   r¼   rÀ   rÆ   rÊ   rÒ   r×   rÚ   rÝ   râ   rå   ré   rí   rò   rö   r   r  r  r  r  r  r%  r=   r>   Ú__classcell__)r�   r@   s   @@r	   r   r   ™   sÚ   ù‡ € ð &*Ð"ô3ò>õ ò+ò)ð ñó ðò 2ò2ñ Ù%Ù1ó€Iô
ô:ò>Cô
Bôò;ò;ôô$ò47ôLôô/ô
ò$ôò*8ô(òT<ôò"3ô òD1÷A
ô A
r
   c                 ó@   €  V P                   #   \         d     R # i ; ir'  )Ú__component_name__ÚAttributeError)r)   s   &r	   r®   r®   J  s%   € ðØ×+Ñ+Ð+øÜô Úðús   ‚ Žœc                 ór   € \        \        V 4      4      p\        V4      ^8X  d
   V^ ,          # \        R4      h)rV   zWThe utility doesn't provide a single interface and no provided interface was specified.)r‹   r   rû   rW   )r)   rX   s   & r	   r­   r­   Q  s9   € Ü”J˜yÓ)Ó*€HÜ
ˆ8ƒ}˜ÔØ˜�{ÐÜ
ð	3óð r
   c                 ór   € \        \        V 4      4      p\        V4      ^8X  d
   V^ ,          # \        R4      h)rV   zaThe adapter factory doesn't implement a single interface and no provided interface was specified.)r‹   r   rû   rW   )rh   rX   s   & r	   rÍ   rÍ   [  s9   € Ü”M 'Ó*Ó+€HÜ
ˆ8ƒ}˜ÔØ˜�{ÐÜ
ð	3óð r
   c                 ó¾  € Vf    V P                   pM'\        P                  ! V4      '       d   \        R4      h. pV Fx  pVf   \
        pMY\        P                  ! V4      '       g>   \        V\        4      '       d   \        V4      pM\        R\        V4      ,          4      hVP                  V4       Kz  	  \        V4      #   \         d    \        R4      hi ; i)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,  rW   r   r   r   rt   Útyper   r0   rx   )rh   rÑ   Úresultrü   s   &&  r	   rÎ   rÎ   e  sÜ   € ØÒð	Ø×3Ñ3‰Hô 
×	"Ò	" 8×	,Ò	,Üð1ó
ð 	
ð
 €FÛˆØŠ9Ü‰AÜ×*Ò*¨1×-Ò-Ü˜!œT×"Ò"Ü! !Ó$‘äð5Ü7;¸A³wõ?óð ð 	�‰�aÖñ ô �‹=Ðøô1 ô 	ÜðJóð ð	ús   †C ÃCc                   óZ   a € ] tR tRt o RR ltR tR tR tR tR t	R	 t
R
 tR tRtV tR# )r¯   i„  Nc                óN   € Wn         W n        W0n        W@n        WPn        W`n        R # r   )ÚregistryrX   rf   r)   rg   rh   )r    r5  rX   rf   r)   Údocrh   s   &&&&&&&r	   r#   ÚUtilityRegistration.__init__‡  s    € Ø ŒØ ŒØŒ	Ø"ŒØŒ	ØŽr
   c                ó"  € R P                  V P                  P                  V P                  \	        V P
                  RR4      V P                  \	        V P                  R\        V P                  4      4      V P                  V P                  4      # )z"{}({!r}, {}, {!r}, {}, {!r}, {!r})r9   N)Úformatr�   r9   r5  ÚgetattrrX   rf   r)   Úreprrh   rg   r‚   s   &r	   rƒ   ÚUtilityRegistration.__repr__�  se   € Ø3×:Ñ:Ø�N‰N×#Ñ#Ø�M‰MÜ�D—M‘M :¨tÓ4°d·i±iÜ�D—N‘N J´°T·^±^Ó0DÓEØ�L‰L˜$Ÿ)™)ó
ð 	
r
   c                ó   € \        V 4      # r   ©Úidr‚   s   &r	   Ú__hash__ÚUtilityRegistration.__hash__˜  ó   € Ü�$‹xˆr
   c                ó0   € \        V 4      \        V4      8H  # r   ©r;  ©r    Úothers   &&r	   Ú__eq__ÚUtilityRegistration.__eq__›  ó   € Ü�D‹zœT %›[Ñ(Ð(r
   c                ó0   € \        V 4      \        V4      8g  # r   rD  rE  s   &&r	   Ú__ne__ÚUtilityRegistration.__ne__ž  rI  r
   c                ó0   € \        V 4      \        V4      8  # r   rD  rE  s   &&r	   Ú__lt__ÚUtilityRegistration.__lt__¡  ó   € Ü�D‹zœD ›KÑ'Ð'r
   c                ó0   € \        V 4      \        V4      8*  # r   rD  rE  s   &&r	   Ú__le__ÚUtilityRegistration.__le__¤  rI  r
   c                ó0   € \        V 4      \        V4      8„  # r   rD  rE  s   &&r	   Ú__gt__ÚUtilityRegistration.__gt__§  rP  r
   c                ó0   € \        V 4      \        V4      8¬  # r   rD  rE  s   &&r	   Ú__ge__ÚUtilityRegistration.__ge__ª  rI  r
   )r)   rh   rg   rf   rX   r5  r   ©r9   r:   r;   r<   r#   rƒ   r@  rG  rK  rN  rR  rU  rX  r=   r>   r?   s   @r	   r¯   r¯   „  s7   ø‡ € ôò
òò)ò)ò(ò)ò(÷)ð )r
   r¯   c                   óV   a € ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )rÏ   i®  c                óZ   € WW4WV3w  V n         V n        V n        V n        V n        V n        R # r   )r5  rÑ   rX   rf   rh   rg   )r    r5  rÑ   rX   rf   r)   r6  s   &&&&&&&r	   r#   ÚAdapterRegistration.__init__±  s,   € ð  °Ð?ñ	ˆŒ˜œ t¤}°d´iØ	Œ�t–yr
   c                ó˜  € R P                  V P                  P                  V P                  RRP	                  V P
                   Uu. uF  qP                  NK  	  up4      ,           R,           \        V P                  RR4      V P                  \        V P                  R\        V P                  4      4      V P                  4      # u upi )z {}({!r}, {}, {}, {!r}, {}, {!r})Ú[ú, Ú]r9   N)r9  r�   r9   r5  ÚjoinrÑ   r:  rX   rf   rh   r;  rg   ©r    rü   s   & r	   rƒ   ÚAdapterRegistration.__repr__¶  s�   € Ø1×8Ñ8Ø�N‰N×#Ñ#Ø�M‰MØ�$—)‘)°·²Ó?±¨AŸZœZ±Ñ?Ó@Õ@À3ÕFÜ�D—M‘M :¨tÓ4°d·i±iÜ�D—L‘L *¬d°4·<±<Ó.@ÓAÀ4Ç9Á9ó
ð 	
ùò @s   ÁCc                ó   € \        V 4      # r   r>  r‚   s   &r	   r@  ÚAdapterRegistration.__hash__¿  rB  r
   c                ó0   € \        V 4      \        V4      8H  # r   rD  rE  s   &&r	   rG  ÚAdapterRegistration.__eq__Â  rI  r
   c                ó0   € \        V 4      \        V4      8g  # r   rD  rE  s   &&r	   rK  ÚAdapterRegistration.__ne__Å  rI  r
   c                ó0   € \        V 4      \        V4      8  # r   rD  rE  s   &&r	   rN  ÚAdapterRegistration.__lt__È  rP  r
   c                ó0   € \        V 4      \        V4      8*  # r   rD  rE  s   &&r	   rR  ÚAdapterRegistration.__le__Ë  rI  r
   c                ó0   € \        V 4      \        V4      8„  # r   rD  rE  s   &&r	   rU  ÚAdapterRegistration.__gt__Î  rP  r
   c                ó0   € \        V 4      \        V4      8¬  # r   rD  rE  s   &&r	   rX  ÚAdapterRegistration.__ge__Ñ  rI  r
   )rh   rg   rf   rX   r5  rÑ   NrZ  r?   s   @r	   rÏ   rÏ   ®  s8   ø‡ € ò@ò

òò)ò)ò(ò)ò(÷)ð )r
   rÏ   c                   ó   € ] tR tRtRtR# )rñ   iÕ  r   N)r9   r:   r;   r<   r=   r   r
   r	   rñ   rñ   Õ  s   † ãr
   rñ   c                   ó@   a € ] tR tRt o R t]R 4       tRtR tRt	V t
R# )r  iÚ  c                óN   € WW4V3w  V n         V n        V n        V n        V n        R # r   )r5  rÑ   rf   Úhandlerrg   )r    r5  rÑ   rf   rv  r6  s   &&&&&&r	   r#   ÚHandlerRegistration.__init__Ý  s%   € à °Ð3ñ	ˆŒ˜œ t¤y°$´,ÀÆ	r
   c                ó   € V P                   # r   )rv  r‚   s   &r	   rh   ÚHandlerRegistration.factoryá  s   € à�|‰|Ðr
   Nc                ól  € R P                  V P                  P                  V P                  RRP	                  V P
                   Uu. uF  qP                  NK  	  up4      ,           R,           V P                  \        V P                  R\        V P                  4      4      V P                  4      # u upi )z{}({!r}, {}, {!r}, {}, {!r})r_  r`  ra  r9   )r9  r�   r9   r5  rb  rÑ   rf   r:  rh   r;  rg   rc  s   & r	   rƒ   ÚHandlerRegistration.__repr__ç  s€   € Ø-×4Ñ4Ø�N‰N×#Ñ#Ø�M‰MØ�$—)‘)°·²Ó?±¨AŸZœZ±Ñ?Ó@Õ@À3ÕFØ�I‰IÜ�D—L‘L *¬d°4·<±<Ó.@ÓAÀ4Ç9Á9ó
ð 	
ùò @s   ÁB1)rv  rg   rf   r5  rÑ   )r9   r:   r;   r<   r#   r(  rh   rX   rƒ   r=   r>   r?   s   @r	   r  r  Ú  s/   ø‡ € ò4ð ñó ðð €H÷
ð 
r
   r  N)&Ú__doc__Úcollectionsr   Ú
zope.eventr   ÚImportErrorÚzope.interface.adapterr   Úzope.interface.declarationsr   r   r   r   Úzope.interface.interfacer   Úzope.interface.interfacesr   r   r   r   r   r   r   r   r   Ú__all__r   rC   rE   r   r®   r­   rÍ   rÎ   r¯   rÏ   rñ   r  r   r
   r	   Ú<module>r…     s?  ðñå #ðÝ!õ
 3Ý 5Ý 3Ý 8Ý 2Ý .Ý :Ý :Ý 1Ý :Ý 4Ý FÝ :Ý 0Ý 2ð ð	€÷"ñ "ò8÷DAñ DAñN ˆ[Ó÷m
ð m
ó ðm
ò`òòòñ> Ð!Ó"÷&)ð &)ó #ð&)ñR Ð!Ó"÷#)ð #)ó #ð#)ñL Ð2Ó3ô	Ð2ó 	ó 4ð	ñ Ð&Ó'ô
Ð-ó 
ó (ò
øðM ô ôðús   ŠC= Ã=
D
Ä	D
