3 \{ �@s@ddlZddd�ZiZdd�Zdd�Zdffd d �Zd d �ZdS) �Nzxml.dom.minidomzxml.dom.DOMImplementation)ZminidomZ4DOMcCs |t|<dS)N)� registered)�name�factory�r�&/usr/lib64/python3.6/xml/dom/domreg.py�registerDOMImplementations rcCs&x |D]\}}|j||�sdSqWdS)Nr�)Z hasFeature)�dom�features�f�vrrr� _good_enough s r c Cs�ddl}d}tj|�}|r2t|iidg�}|j�S|r@t|�Stjj rdd|j krdt|j dd�St |t �rvt |�}x$tj �D]}|�}t||�r�|Sq�WxDtj�D]8}yt|d�}Wntk r�w�YnXt||�r�|Sq�Wtd��dS)Nr�getDOMImplementationZ PYTHON_DOM)rz$no suitable DOM implementation found)�os�well_known_implementations�get� __import__rr�sys�flags�ignore_environment�environ� isinstance�str�_parse_feature_string�valuesr �keys� Exception� ImportError)rr rZcreator�modr rrrr's0      rcCs�g}|j�}d}t|�}xp||kr�||}|ddkrDtd|f��|d}d}||krx||}|ddkrx|d}|}|j||f�qWt|�S)Nr� 0123456789zbad feature name: %rr)�split�len� ValueError�append�tuple)�sr �parts�iZlengthZfeature�versionr rrrrRs"   r)rrrrr rrrrrr� s +