3 [|[ @ s~ d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m Z dd l mZ d ZG dd de Ze ZG d d de ZeZyddlmZ W n ek r eZY nX G dd deZeZyddlmZ W n ek r eZY nX G dd de ZG dd deeZeeG dd deZG dd deeZeeG dd deZdd Zdd Zd!d" Zd#d$ Z dS )%zAdapter management N)implementer) providedBy) Interface)ro)IAdapterRegistry)_normalize_name)STRING_TYPES c @ s e Zd Zd#Zd Zf fddZd d Zedd dd Zdd Z dd Z dd ZefddZ d$ddZdd Zd%dd Zd!d" ZdS )&BaseAdapterRegistrylookupqueryMultiAdapterlookup1queryAdapteradapter_hook lookupAllnames subscriptionssubscribersr c C s$ g | _ g | _i | _| j || _d S )N) _adapters_subscribers _provided _createLookup __bases__)selfbases r /usr/lib64/python3.6/adapter.py__init__( s zBaseAdapterRegistry.__init__c C s$ || j d<