OwlCyberSecurity - MANAGER
Edit File: minidom.cpython-37.opt-2.pyc
B ����YI~d�����������������@���s���d�dl�Z�d�dlZd�dlmZmZmZmZ�d�dlT�d�dlm Z m Z �ejjj ejjjfZG�dd��dejj�Zeeddd ��eed dd ��eedd d ��dd��Zdd��Zdd��Zdd��Zdd��ZG�dd��de�ZG�dd��de�Zeeddd ��eeddd ��eedd d ��G�d!d"��d"e�Zeed#d$d ��eZG�d%d&��d&e�Zedd�ZG�d'd(��d(e�Zeed)d*d ��eedd+d ��d,d-��ZG�d.d/��d/�ZG�d0d1��d1ee�Z G�d2d3��d3ee�Z!ee!d#d4d ��G�d5d6��d6e!�Z"ee"d7d8d ��ee"d9d:d ��d;d<��Z#d=d>��Z$G�d?d@��d@e!�Z%G�dAdB��dBe"�Z&G�dCdD��dDe�Z'ee'd#dEd ��G�dFdG��dG�Z(G�dHdI��dIe(ee�Z)G�dJdK��dKe(e�Z*G�dLdM��dMe(ee�Z+G�dNdO��dOe �Z,G�dPdQ��dQe�Z-dRdS��Z.G�dTdU��dUee �Z/ee/dVdWd ��dXdY��Z0dZd[��Z1d\d]��Z2ddd^d_�Z3ded`da�Z4dfdbdc�Z5dS�)g�����N)�EMPTY_NAMESPACE�EMPTY_PREFIX�XMLNS_NAMESPACE�domreg)�*)�DOMImplementationLS� DocumentLSc���������������@���s����e�Zd�ZdZdZdZdZdZeZ dd��Z d2dd�Zd3dd �Zd d��Z dd ��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zd d!��Zd"d#��Zd$d%��Zd&d'��Zd(d)��Zd*d+��Zd,d-��Zd.d/��Zd0d1��Z dS�)4�NodeNc�������������C���s���dS�)NT��)�selfr ���r ����4/opt/alt/python37/lib64/python3.7/xml/dom/minidom.py�__bool__+���s����z Node.__bool__c�������������C���s���|���dd|�S�)N��)�toprettyxml)r����encodingr ���r ���r����toxml.���s����z Node.toxml� � c�������������C���sx���|d�krt����}nt�jt����|ddd�}|�jtjkrH|��|d|||��n|��|d||��|d�krh|���S�|� �����S�d�S�)N�xmlcharrefreplacer���)r����errors�newliner���) �io�StringIO� TextIOWrapper�BytesIO�nodeTyper ���� DOCUMENT_NODE�writexml�getvalue�detach)r����indent�newlr����writerr ���r ���r���r���1���s���� zNode.toprettyxmlc�������������C���s ���t�|�j�S�)N)�bool� childNodes)r���r ���r ���r���� hasChildNodesC���s����zNode.hasChildNodesc�������������C���s���|�j�S�)N)r$���)r���r ���r ���r����_get_childNodesF���s����zNode._get_childNodesc�������������C���s���|�j�r|�j�d�S�d�S�)Nr���)r$���)r���r ���r ���r����_get_firstChildI���s����zNode._get_firstChildc�������������C���s���|�j�r|�j�d�S�d�S�)N���)r$���)r���r ���r ���r����_get_lastChildM���s����zNode._get_lastChildc�������������C���s��|j�|�jkr0xt|j�D�]}|��||��qW�|S�|j�|�jkrXtj�dt |�t |��f���|j d�k rn|j �|��|d�kr�|��|��n�y|�j� |�}W�n�tk r����tj����Y�nX�|j�tkr�t|���|�j�||��||_||_|r�|�j|d��}||_||_nd�|_|�|_ |S�)Nz%s cannot be child of %s����)r����DOCUMENT_FRAGMENT_NODE�tupler$����insertBefore�_child_node_types�xml�dom�HierarchyRequestErr�repr� parentNode�removeChild�appendChild�index� ValueError�NotFoundErr�_nodeTypes_with_children�_clear_id_cache�insert�nextSibling�previousSibling)r����newChild�refChild�cr6����noder ���r ���r���r-���Q���s6���� zNode.insertBeforec�������������C���s����|j�|�jkr.xt|j�D�]}|��|��qW�|S�|j�|�jkrXtj�dt |�t |��f���n|j�t krjt|���|jd�k r�|j� |��t|�|��d�|_|S�)Nz%s cannot be child of %s)r���r+���r,���r$���r5���r.���r/���r0���r1���r2���r9���r:���r3���r4���� _append_childr<���)r���rA���r@���r ���r ���r���r5���q���s���� zNode.appendChildc�������������C���s��|j�|�jkr(|j}|��|��|��||�S�|j�|�jkrPtj�dt |�t |��f���||kr\d�S�|j d�k rr|j �|��y|�j�|�}W�n�t k r����tj����Y�nX�||�j|<�|�|_ d�|_ |j�tks�|j�tkr�t|���|j|_|j|_d�|_d�|_|jr�||j_|j�r||j_|S�)Nz%s cannot be child of %s)r���r+���r<���r4���r-���r.���r/���r0���r1���r2���r3���r$���r6���r7���r8���r9���r:���r=���)r���r>����oldChildr?���r6���r ���r ���r����replaceChild����s<���� zNode.replaceChildc�������������C���s����y|�j��|��W�n�tk r.���tj����Y�nX�|jd�k rD|j|j_|jd�k rX|j|j_d��|_|_|jt krvt |���d�|_|S�)N)r$����remover7���r/���r0���r8���r<���r=���r���r9���r:���r3���)r���rC���r ���r ���r���r4�������s���� zNode.removeChildc�������������C���s����g�}x�|�j�D�]�}|jtjkr�|jsL|r2|j|d�_|jrB|j|j_|����q�|r�|d�j|jkr�|d�}|j|j�|_|j|_|jr�||j_|����q�|�|��q|�|��|jtj kr|� ���qW�||�j�d�d��<�d�S�)Nr(���)r$���r���r ���� TEXT_NODE�datar<���r=����unlink�append�ELEMENT_NODE� normalize)r����L�childrA���r ���r ���r���rK�������s*���� zNode.normalizec�������������C���s���t�|�||�jp|��S�)N)�_clone_node� ownerDocument)r����deepr ���r ���r���� cloneNode����s����zNode.cloneNodec�������������C���s���|�j�j�||�S�)N)rO����implementation� hasFeature)r����feature�versionr ���r ���r����isSupported����s����zNode.isSupportedc�������������C���s���d�S�)Nr ���)r���r ���r ���r����_get_localName����s����zNode._get_localNamec�������������C���s���|�|kS�)Nr ���)r����otherr ���r ���r���� isSameNode����s����zNode.isSameNodec�������������C���s���|���|d��r|�S�d�S�d�S�)N)rV���)r���rT���r ���r ���r����getInterface����s����zNode.getInterfacec���������� ���C���s,���y|�j�|�d�S��ttfk r&���d�S�X�d�S�)Nr���)� _user_data�AttributeError�KeyError)r����keyr ���r ���r����getUserData����s����zNode.getUserDatac�������������C���sn���d�}y |�j�}W�n�tk r,���i�}||�_�Y�nX�||krB||�d�}|d�kr^d�}|d�k rj||=�n||f||<�|S�)Nr���)r[���r\���)r���r^���rG����handler�old�dr ���r ���r����setUserData����s���� zNode.setUserDatac�������������C���sH���t�|�d�rDx8t|�j����D�]&\}\}}|d�k r|�|||||��qW�d�S�)Nr[���)�hasattr�listr[����itemsZhandle)r���� operation�src�dstr^���rG���r`���r ���r ���r����_call_user_data_handler����s���� zNode._call_user_data_handlerc�������������C���sB���d��|�_�|�_|�jr2x|�jD�]}|����qW�t��|�_d�|�_d�|�_d�S�)N)r3���rO���r$���rH����NodeListr=���r<���)r���rM���r ���r ���r���rH�����s����zNode.unlinkc�������������C���s���|�S�)Nr ���)r���r ���r ���r���� __enter__��s����zNode.__enter__c�������������C���s���|������d�S�)N)rH���)r����etZev�tbr ���r ���r����__exit__��s����z Node.__exit__)N)r���r���N)!�__name__� __module__�__qualname__�namespaceURIr3���rO���r<���r=���r����prefixr ���r���r���r%���r&���r'���r)���r-���r5���rD���r4���rK���rQ���rV���rW���rY���rZ���r_���rc���rj���rH���rl���ro���r ���r ���r ���r���r ���"���s:��� r ���� firstChildzFirst child node, or None.)�doc� lastChildzLast child node, or None.� localNamez"Namespace-local name of this node.c�������������C���s2���|�j�}|r|d�}||_||_|�|��|�|_d�S�)Nr(���)r$���r=���r<���rI���r3���)r���rA���r$���Zlastr ���r ���r���rB�����s���� rB���c�������������C���s(���x"|�d�k r"|�j�tjkrdS�|�j}�qW�dS�)NTF)r���r ���r���r3���)rA���r ���r ���r����_in_document&��s ���� ry���c�������������C���s6���|r2|��dd���dd���dd���dd�}|��|��d�S�) N�&z&�<z<�"z"�>z>)�replace�write)r"���rG���r ���r ���r����_write_data.��s����r����c�������������C���sH���xB|�j�D�]8}|jtjkr4|dks*|j|kr4|�|��t|||��qW�|S�)Nr���)r$���r���r ���rJ����tagNamerI����_get_elements_by_tagName_helper)�parent�name�rcrA���r ���r ���r���r����5��s���� r����c�������������C���s\���xV|�j�D�]L}|jtjkr|dks*|j|krF|dks<|j|krF|�|��t||||��qW�|S�)Nr���)r$���r���r ���rJ���rx���rs���rI����"_get_elements_by_tagName_ns_helper)r����ZnsURIrx���r����rA���r ���r ���r���r����=��s���� r����c���������������@���sJ���e�Zd�ZejZdZdZdZdZ ej ejejej ejejejfZdd��ZdS�)�DocumentFragmentz#document-fragmentNc�������������C���s���t���|�_d�S�)N)rk���r$���)r���r ���r ���r����__init__T��s����zDocumentFragment.__init__)rp���rq���rr���r ���r+���r����nodeName� nodeValue� attributesr3���rJ���rF����CDATA_SECTION_NODE�ENTITY_REFERENCE_NODE�PROCESSING_INSTRUCTION_NODE�COMMENT_NODE� NOTATION_NODEr.���r����r ���r ���r ���r���r����F��s���r����c���������������@���s����e�Zd�ZdZejZdZdZdZ ej ejfZe ddfdd�Zdd��Zdd ��Zd d��Zdd ��Zeee��ZZdd��Zdd��Zeee��ZZdd��Zdd��Zeee�Zdd��Zdd��Zdd��ZdS�)�Attr)�_name�_valuers����_prefixr$���� _localNamerO����ownerElementNFc�������������C���s2���d�|�_�||�_||�_||�_t��|�_|�j�t����d�S�)N)r����r����rs���r����rk���r$���rI����Text)r����qNamers���rx���rt���r ���r ���r���r����b��s����z Attr.__init__c�������������C���s.���y|�j�S��tk r(���|�j�dd�d�S�X�d�S�)N�:r*���r(���)r����r\���r�����split)r���r ���r ���r���rW���o��s����zAttr._get_localNamec�������������C���s���|�j�S�)N)� specified)r���r ���r ���r����_get_specifiedu��s����zAttr._get_specifiedc�������������C���s���|�j�S�)N)r����)r���r ���r ���r���� _get_namex��s����zAttr._get_namec�������������C���s���||�_�|�jd�k rt|�j��d�S�)N)r����r����r:���)r����valuer ���r ���r���� _set_name{��s���� zAttr._set_namec�������������C���s���|�j�S�)N)r����)r���r ���r ���r���� _get_value���s����zAttr._get_valuec�������������C���s6���||�_�||�jd�_|�jd�k r&t|�j��||�jd�_d�S�)Nr���)r����r$���rG���r����r:���)r���r����r ���r ���r���� _set_value���s ���� zAttr._set_valuec�������������C���s���|�j�S�)N)r����)r���r ���r ���r����_get_prefix���s����zAttr._get_prefixc�������������C���sd���|�j�}|dkr&|r&|tkr&tj�d��||�_|d�kr<|�j}nd||�jf�}|�jrZt|�j��||�_ d�S�)N�xmlnsz5illegal use of 'xmlns' prefix for the wrong namespacez%s:%s) rs���r���r/���r0����NamespaceErrr����rx���r����r:���r����)r���rt���ZnsuriZnewNamer ���r ���r����_set_prefix���s���� zAttr._set_prefixc�������������C���sz���|�j�}|d�k rR|j|�j=�|j|�j|�jf=�|�jrRd|�_|�jd8��_|�j�j d8��_ x|�j D�]}|����qZW�|�j d�d��=�d�S�)NFr*���)r�����_attrsr�����_attrsNSrs���rx����_is_id�_magic_id_nodesrO����_magic_id_countr$���rH���)r����elemrM���r ���r ���r���rH������s���� zAttr.unlinkc�������������C���sf���|�j�r dS�|�j}|�j}|d�ks&|d�kr*dS�|�|�}|d�kr@dS�|�jrV|�|�j|�j�S�|�|�j�S�d�S�)NTF) r����rO���r�����_get_elem_infors����isIdNSrx����isIdr����)r���rv���r�����infor ���r ���r���� _get_isId���s���� zAttr._get_isIdc�������������C���s\���|�j�}|�j}|d�ks|d�kr tS�|�|�}|d�kr6tS�|�jrL|�|�j|�j�S�|�|�j�S�d�S�)N) rO���r�����_no_typer����rs����getAttributeTypeNSrx����getAttributeTyper����)r���rv���r����r����r ���r ���r����_get_schemaType���s���� zAttr._get_schemaType) rp���rq���rr���� __slots__r ����ATTRIBUTE_NODEr���r����r����r����rF���r����r.���r���r����rW���r����r����r�����propertyr����r����r����r����r����r����r����r����rt���rH���r����r����r ���r ���r ���r���r����X��s,��� r����r����z True if this attribute is an ID.z'Namespace-local name of this attribute.� schemaTypezSchema type for this attribute.c���������������@���s����e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd d��Zdd ��Z dd��Z dd��Zdd��Zd9dd�Z eZdd��Zdd��Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd/d0��Zd1d2��Zd3d4��Zd5d6��Zd7d8��ZdS�):�NamedNodeMap)r����r����� _ownerElementc�������������C���s���||�_�||�_||�_d�S�)N)r����r����r����)r����attrsZattrsNSr����r ���r ���r���r�������s����zNamedNodeMap.__init__c�������������C���s ���t�|�j�S�)N)�lenr����)r���r ���r ���r����_get_length���s����zNamedNodeMap._get_lengthc�������������C���s0���y|�t�|�j����|��S��tk r*���d�S�X�d�S�)N)re���r�����keys� IndexError)r���r6���r ���r ���r����item���s����zNamedNodeMap.itemc�������������C���s.���g�}x$|�j����D�]}|�|j|jf��qW�|S�)N)r�����valuesrI���r����r����)r���rL���rA���r ���r ���r���rf������s����zNamedNodeMap.itemsc�������������C���s4���g�}x*|�j����D�]}|�|j|jf|jf��qW�|S�)N)r����r����rI���rs���rx���r����)r���rL���rA���r ���r ���r����itemsNS���s����zNamedNodeMap.itemsNSc�������������C���s"���t�|t�r||�jkS�||�jkS�d�S�)N)� isinstance�strr����r����)r���r^���r ���r ���r����__contains__���s���� zNamedNodeMap.__contains__c�������������C���s ���|�j����S�)N)r����r����)r���r ���r ���r���r������s����zNamedNodeMap.keysc�������������C���s ���|�j����S�)N)r����r����)r���r ���r ���r����keysNS��s����zNamedNodeMap.keysNSc�������������C���s ���|�j����S�)N)r����r����)r���r ���r ���r���r������s����zNamedNodeMap.valuesNc�������������C���s���|�j��||�S�)N)r�����get)r���r����r����r ���r ���r���r���� ��s����zNamedNodeMap.getc�������������C���s:���|�j�t|dd��krdS�t|��t|�kt|��t|�k��S�d�S�)Nr����r���)r�����getattr�id)r���rX���r ���r ���r����_cmp��s����zNamedNodeMap._cmpc�������������C���s���|���|�dkS�)Nr���)r����)r���rX���r ���r ���r����__eq__��s����zNamedNodeMap.__eq__c�������������C���s���|���|�dkS�)Nr���)r����)r���rX���r ���r ���r����__ge__��s����zNamedNodeMap.__ge__c�������������C���s���|���|�dkS�)Nr���)r����)r���rX���r ���r ���r����__gt__��s����zNamedNodeMap.__gt__c�������������C���s���|���|�dkS�)Nr���)r����)r���rX���r ���r ���r����__le__��s����zNamedNodeMap.__le__c�������������C���s���|���|�dk�S�)Nr���)r����)r���rX���r ���r ���r����__lt__!��s����zNamedNodeMap.__lt__c�������������C���s"���t�|t�r|�j|�S�|�j|�S�d�S�)N)r����r,���r����r����)r����attname_or_tupler ���r ���r����__getitem__$��s���� zNamedNodeMap.__getitem__c�������������C���sv���t�|t�rRy|�j|�}W�n0�tk rH���t|�}|�jj|_|��|��Y�nX�||_n t�|t�sdt d��|}|��|��d�S�)Nz%value must be a string or Attr object) r����r����r����r]���r����r����rO����setNamedItemr����� TypeError)r����attnamer����rA���r ���r ���r����__setitem__+��s���� zNamedNodeMap.__setitem__c�������������C���s$���y |�j�|�S��tk r���d�S�X�d�S�)N)r����r]���)r���r����r ���r ���r����getNamedItem:��s���� zNamedNodeMap.getNamedItemc�������������C���s(���y|�j�||f�S��tk r"���d�S�X�d�S�)N)r����r]���)r���rs���rx���r ���r ���r����getNamedItemNS@��s����zNamedNodeMap.getNamedItemNSc�������������C���sX���|���|�}|d�k rJt|�j��|�j|j=�|�j|j|jf=�t|d�rFd�|_ |S�t j����d�S�)Nr����) r����r:���r����r����r����r����rs���rx���rd���r����r/���r0���r8���)r���r�����nr ���r ���r����removeNamedItemF��s���� zNamedNodeMap.removeNamedItemc�������������C���sZ���|���||�}|d�k rLt|�j��|�j|j|jf=�|�j|j=�t|d�rHd�|_ |S�t j����d�S�)Nr����) r����r:���r����r����rs���rx���r����r����rd���r����r/���r0���r8���)r���rs���rx���r����r ���r ���r����removeNamedItemNSR��s���� zNamedNodeMap.removeNamedItemNSc�������������C���st���t�|t�s&tj�dt|�t|��f���|�j�|j�}|r@|� ���||�j|j<�||�j |j|jf<�|�j |_t|j��|S�)Nz%s cannot be child of %s)r����r����r/���r0���r1���r2���r����r����r����rH���r����rs���rx���r����r����r:���)r���rA���ra���r ���r ���r���r����^��s���� zNamedNodeMap.setNamedItemc�������������C���s ���|���|�S�)N)r����)r���rA���r ���r ���r����setNamedItemNSk��s����zNamedNodeMap.setNamedItemNSc�������������C���s���|�|�}t�|j��|����d�S�)N)r:���r����rH���)r���r����rA���r ���r ���r����__delitem__n��s���� zNamedNodeMap.__delitem__c�������������C���s���|�j�|�j|�jfS�)N)r����r����r����)r���r ���r ���r����__getstate__s��s����zNamedNodeMap.__getstate__c�������������C���s���|\|�_�|�_|�_d�S�)N)r����r����r����)r����stater ���r ���r����__setstate__v��s����zNamedNodeMap.__setstate__)N) rp���rq���rr���r����r����r����r����rf���r����r����r����r����r����r�����__len__r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r ���r ���r ���r���r�������s:��� r�����lengthz$Number of nodes in the NamedNodeMap.c���������������@���s0���e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd S�)�TypeInfo)� namespacer����c�������������C���s���||�_�||�_d�S�)N)r����r����)r���r����r����r ���r ���r���r�������s����zTypeInfo.__init__c�������������C���s2���|�j�rd|�jj|�j|�j�f�S�d|�jj|�jf�S�d�S�)Nz<%s %r (from %r)>z<%s %r>)r����� __class__rp���r����)r���r ���r ���r����__repr__���s���� zTypeInfo.__repr__c�������������C���s���|�j�S�)N)r����)r���r ���r ���r���r�������s����zTypeInfo._get_namec�������������C���s���|�j�S�)N)r����)r���r ���r ���r����_get_namespace���s����zTypeInfo._get_namespaceN)rp���rq���rr���r����r����r����r����r����r ���r ���r ���r���r������s ���r����c���������������@���s ��e�Zd�ZdZejZdZeZ dZ ejejejej ejejfZeddfdd�Zdd��Zdd ��Zd d��Zdd ��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��ZeZdd��Zdd��Z d d!��Z!e!Z"d"d#��Z#d$d%��Z$d&d'��Z%d(d)��Z&d*d+��Z'd9d-d.�Z(d/d0��Z)d1d2��Z*d3d4��Z+d5d6��Z,d7d8��Z-dS�):�Element)rO���r3���r����r����rt���rs���r����r$���r����r����r<���r=���Nr���c�������������C���sB���d�|�_�|�|�_|�_||�_||�_t��|�_d��|�_|�_d�|�_ d�|�_ d�S�)N)r3���r����r����rt���rs���rk���r$���r<���r=���r����r����)r���r����rs���rt���rx���r ���r ���r���r�������s���� zElement.__init__c�������������C���s���|�j�d�kri�|�_�i�|�_d�S�)N)r����r����)r���r ���r ���r����_ensure_attributes���s���� zElement._ensure_attributesc�������������C���s.���y|�j�S��tk r(���|�j�dd�d�S�X�d�S�)Nr����r*���r(���)r����r\���r����r����)r���r ���r ���r���rW������s����zElement._get_localNamec�������������C���s���|�j�S�)N)r����)r���r ���r ���r����_get_tagName���s����zElement._get_tagNamec�������������C���sD���|�j�d�k r*xt|�j�����D�]}|����qW�d�|�_�d�|�_t�|���d�S�)N)r����re���r����rH���r����r ���)r����attrr ���r ���r���rH������s���� zElement.unlinkc�������������C���s4���|�j�d�krdS�y|�j�|�jS��tk r.���dS�X�d�S�)Nr���)r����r����r]���)r���r����r ���r ���r����getAttribute���s���� zElement.getAttributec�������������C���s8���|�j�d�krdS�y|�j�||f�jS��tk r2���dS�X�d�S�)Nr���)r����r����r]���)r���rs���rx���r ���r ���r����getAttributeNS���s���� zElement.getAttributeNSc�������������C���sV���|���|�}|d�kr4t|�}||_|�j|_|��|��n||jkrR||_|jrRt|���d�S�)N)�getAttributeNoder����r����rO����setAttributeNoder����r:���)r���r����r����r����r ���r ���r����setAttribute���s���� zElement.setAttributec�������������C���s����t�|�\}}|��||�}|d�krHt||||�}||_|�j|_|��|��n4||jkrf||_|jrft|���|j|kr|||_||_ d�S�)N) �_nssplit�getAttributeNodeNSr����r����rO���r����r����r:���rt���r����)r���rs���� qualifiedNamer����rt���� localnamer����r ���r ���r����setAttributeNS���s���� zElement.setAttributeNSc�������������C���s���|�j�d�krd�S�|�j��|�S�)N)r����r����)r���Zattrnamer ���r ���r���r�������s���� zElement.getAttributeNodec�������������C���s���|�j�d�krd�S�|�j��||f�S�)N)r����r����)r���rs���rx���r ���r ���r���r������s���� zElement.getAttributeNodeNSc�������������C���s����|j�d�|�fkrtj�d��|�����|�j�|jd��}|d�k rD|��|��|�j �|j |jfd��}|d�k rt||k rt|��|��t|�|��||k r�|S�||k r�|S�d�S�)Nzattribute node already owned) r����r/���r0���ZInuseAttributeErrr����r����r����r�����removeAttributeNoder����rs���rx����_set_attribute_node)r���r����Zold1Zold2r ���r ���r���r������s���� zElement.setAttributeNodec�������������C���sP���|�j�d�krtj����y|�j|�}W�n�tk r@���tj����Y�nX�|��|��d�S�)N)r����r/���r0���r8���r����r]���r����)r���r����r����r ���r ���r����removeAttribute��s���� zElement.removeAttributec�������������C���sT���|�j�d�krtj����y|�j�||f�}W�n�tk rD���tj����Y�nX�|��|��d�S�)N)r����r/���r0���r8���r]���r����)r���rs���rx���r����r ���r ���r����removeAttributeNS%��s���� zElement.removeAttributeNSc�������������C���s^���|d�krt�j����y|�j|j��W�n�tk r@���t�j����Y�nX�t|���|����|�j|_d�S�)N) r/���r0���r8���r����r����r]���r:���rH���rO���)r���rA���r ���r ���r���r����.��s���� zElement.removeAttributeNodec�������������C���s���|�j�d�krdS�||�j�kS�)NF)r����)r���r����r ���r ���r����hasAttribute=��s���� zElement.hasAttributec�������������C���s���|�j�d�krdS�||f|�j�kS�)NF)r����)r���rs���rx���r ���r ���r����hasAttributeNSB��s���� zElement.hasAttributeNSc�������������C���s���t�|�|t���S�)N)r����rk���)r���r����r ���r ���r����getElementsByTagNameG��s����zElement.getElementsByTagNamec�������������C���s���t�|�||t���S�)N)r����rk���)r���rs���rx���r ���r ���r����getElementsByTagNameNSJ��s����zElement.getElementsByTagNameNSc�������������C���s���d|�j�t|��f�S�)Nz<DOM Element: %s at %#x>)r����r����)r���r ���r ���r���r����N��s����zElement.__repr__r���c������� ������C���s��|��|d�|�j���|����}t|����}x4|D�],}|��d|���t|||�j��|��d��q.W�|�jr�|��d��t|�j�dkr�|�jd�j t jkr�|�jd��|ddd��n8|��|��x"|�jD�]}|�|||�||��q�W�|��|��|��d|�j|f���n|��d |���d�S�) Nr{���z %s="r|���r}���r*���r���r���z</%s>%sz/>%s) r���r�����_get_attributes�sortedr����r����r����r$���r����r���r ���rF���r���) r���r"���r ���� addindentr!���r����Za_namesZa_namerA���r ���r ���r���r���Q��s$���� zElement.writexmlc�������������C���s���|������t|�j|�j|��S�)N)r����r����r����r����)r���r ���r ���r���r����l��s����zElement._get_attributesc�������������C���s���|�j�r dS�dS�d�S�)NTF)r����)r���r ���r ���r���� hasAttributesp��s����zElement.hasAttributesc�������������C���s���|���|�}|��|��d�S�)N)r�����setIdAttributeNode)r���r�����idAttrr ���r ���r����setIdAttributex��s���� zElement.setIdAttributec�������������C���s���|���||�}|��|��d�S�)N)r����r��)r���rs���rx���r��r ���r ���r����setIdAttributeNS|��s����zElement.setIdAttributeNSc�������������C���sj���|d�ks|���|j�stj����t|��d�k r4tj����|jsfd|_|��jd7��_|�j �j d7��_ t|���d�S�)NTr*���)rY���r����r/���r0���r8����_get_containing_entref�NoModificationAllowedErrr����r����rO���r����r:���)r���r��r ���r ���r���r�����s���� zElement.setIdAttributeNode)r���r���r���).rp���rq���rr���r����r ���rJ���r���r����r����r����r����r����r����rF���r����r����r.���r���r����r����rW���r����rH���r����r����r����r����r����r����r����ZsetAttributeNodeNSr����r����r����ZremoveAttributeNodeNSr����r����r����r����r����r���r����r���r��r��r��r ���r ���r ���r���r�������sP��� r����r����z*NamedNodeMap of attributes on the element.z%Namespace-local name of this element.c�������������C���s8���t�|���|�����||�j|j<�||�j|j|jf<�|�|_d�S�)N)r:���r����r����r����r����rs���rx���r����)�elementr����r ���r ���r���r�������s ����r����c���������������@���sb���e�Zd�ZdZdZe��ZdZdZdd��Z dd��Z dd��Zd d ��Zdd��Z d d��Zdd��Zdd��ZdS�)� Childlessr ���Nc�������������C���s���d�S�)Nr ���)r���r ���r ���r���r'������s����zChildless._get_firstChildc�������������C���s���d�S�)Nr ���)r���r ���r ���r���r)������s����zChildless._get_lastChildc�������������C���s���t�j�|�jd���d�S�)Nz nodes cannot have children)r/���r0���r1���r����)r���rA���r ���r ���r���r5������s����zChildless.appendChildc�������������C���s���dS�)NFr ���)r���r ���r ���r���r%������s����zChildless.hasChildNodesc�������������C���s���t�j�|�jd���d�S�)Nz nodes do not have children)r/���r0���r1���r����)r���r>���r?���r ���r ���r���r-������s����zChildless.insertBeforec�������������C���s���t�j�|�jd���d�S�)Nz nodes do not have children)r/���r0���r8���r����)r���rC���r ���r ���r���r4������s����zChildless.removeChildc�������������C���s���d�S�)Nr ���)r���r ���r ���r���rK������s����zChildless.normalizec�������������C���s���t�j�|�jd���d�S�)Nz nodes do not have children)r/���r0���r1���r����)r���r>���rC���r ���r ���r���rD������s����zChildless.replaceChild)rp���rq���rr���r����r����Z EmptyNodeListr$���ru���rw���r'���r)���r5���r%���r-���r4���rK���rD���r ���r ���r ���r���r�����s���r��c���������������@���s\���e�Zd�ZejZdZdd��Zdd��Zdd��Z e ee �Zdd ��Zd d��Z e ee �Zdd d�ZdS�)�ProcessingInstruction)�targetrG���c�������������C���s���||�_�||�_d�S�)N)r ��rG���)r���r ��rG���r ���r ���r���r�������s����zProcessingInstruction.__init__c�������������C���s���|�j�S�)N)rG���)r���r ���r ���r����_get_nodeValue���s����z$ProcessingInstruction._get_nodeValuec�������������C���s ���||�_�d�S�)N)rG���)r���r����r ���r ���r����_set_nodeValue���s����z$ProcessingInstruction._set_nodeValuec�������������C���s���|�j�S�)N)r ��)r���r ���r ���r���� _get_nodeName���s����z#ProcessingInstruction._get_nodeNamec�������������C���s ���||�_�d�S�)N)r ��)r���r����r ���r ���r���� _set_nodeName���s����z#ProcessingInstruction._set_nodeNamer���c�������������C���s���|��d||�j|�j|f���d�S�)Nz %s<?%s %s?>%s)r���r ��rG���)r���r"���r ���r����r!���r ���r ���r���r������s����zProcessingInstruction.writexmlN)r���r���r���)rp���rq���rr���r ���r����r���r����r����r��r��r����r����r ��r��r����r���r ���r ���r ���r���r �����s��� r ��c���������������@���sr���e�Zd�ZdZdd��Zdd��ZeZdd��Zdd ��Ze ee��Z Zd d��Zdd ��Z dd��Zdd��Zdd��Zdd��ZdS�)� CharacterData)�_datarO���r3���r=���r<���c�������������C���s,���d��|�_�|�_d��|�_|�_d|�_t�|���d�S�)Nr���)rO���r3���r=���r<���r��r ���r����)r���r ���r ���r���r�������s����zCharacterData.__init__c�������������C���s ���t�|�j�S�)N)r����rG���)r���r ���r ���r���r�������s����zCharacterData._get_lengthc�������������C���s���|�j�S�)N)r��)r���r ���r ���r���� _get_data���s����zCharacterData._get_datac�������������C���s ���||�_�d�S�)N)r��)r���rG���r ���r ���r���� _set_data���s����zCharacterData._set_datac�������������C���s6���|�j�}t|�dkrd}nd}d|�jj|dd��|f�S�)N� ���z...r���z<DOM %s node "%r%s">r���)rG���r����r����rp���)r���rG���Z dotdotdotr ���r ���r���r�������s����zCharacterData.__repr__c�������������C���sT���|dk�rt�j�d��|t|�j�kr.t�j�d��|dk�rBt�j�d��|�j|||���S�)Nr���zoffset cannot be negativez#offset cannot be beyond end of datazcount cannot be negative)r/���r0����IndexSizeErrr����rG���)r����offset�countr ���r ���r���� substringData���s����zCharacterData.substringDatac�������������C���s���|�j�|�|�_�d�S�)N)rG���)r����argr ���r ���r���� appendData��s����zCharacterData.appendDatac�������������C���sZ���|dk�rt�j�d��|t|�j�kr.t�j�d��|rVd|�jd�|��||�j|d���f�|�_d�S�)Nr���zoffset cannot be negativez#offset cannot be beyond end of dataz%s%s%s)r/���r0���r��r����rG���)r���r��r��r ���r ���r���� insertData��s����zCharacterData.insertDatac�������������C���sl���|dk�rt�j�d��|t|�j�kr.t�j�d��|dk�rBt�j�d��|rh|�jd�|��|�j||�d����|�_d�S�)Nr���zoffset cannot be negativez#offset cannot be beyond end of datazcount cannot be negative)r/���r0���r��r����rG���)r���r��r��r ���r ���r���� deleteData��s����zCharacterData.deleteDatac�������������C���sr���|dk�rt�j�d��|t|�j�kr.t�j�d��|dk�rBt�j�d��|rnd|�jd�|��||�j||�d���f�|�_d�S�)Nr���zoffset cannot be negativez#offset cannot be beyond end of datazcount cannot be negativez%s%s%s)r/���r0���r��r����rG���)r���r��r��r��r ���r ���r����replaceData��s����zCharacterData.replaceDataN)rp���rq���rr���r����r����r����r����r��r��r����rG���r����r����r��r��r��r��r��r ���r ���r ���r���r�����s��� r��zLength of the string data.c���������������@���sH���e�Zd�ZdZejZdZdZdd��Z ddd�Z d d ��Zdd��Zd d��Z dS�)r����r ���z#textNc�������������C���s����|dk�s|t�|�j�kr"tj�d��|����}|�j|d���|_|�j|_|�j}|�jr~|�|�jj kr~|d�krp|�j� |��n|�j�||��|�jd�|��|�_|S�)Nr���zillegal offset value)r����rG���r/���r0���r��r����rO���r<���r3���r$���r5���r-���)r���r��ZnewText�nextr ���r ���r���� splitText0��s����zText.splitTextr���c�������������C���s���t�|d||�j|f���d�S�)Nz%s%s%s)r����rG���)r���r"���r ���r����r!���r ���r ���r���r���?��s����z Text.writexmlc�������������C���s����|�j�g}|�j}x6|d�k rD|jtjtjfkr@|�d|j���|j}qP�qW�|�j}x4|d�k r�|jtjtjfkr||�|j���|j}qNP�qNW�d� |�S�)Nr���r���) rG���r=���r���r ���rF���r����r;���r<���rI����join)r���rL���r����r ���r ���r����_get_wholeTextD��s���� zText._get_wholeTextc�������������C���s����|�j�}|�j}x6|d�k rB|jtjtjfkr>|j}|�|��|}qP�qW�|�j}|sX|�|���x6|d�k r�|jtjtjfkr�|j}|�|��|}qZP�qZW�|r�||�_|�S�d�S�d�S�)N) r3���r=���r���r ���rF���r����r4���r<���rG���)r���Zcontentr����r����r��r ���r ���r����replaceWholeTextV��s*���� zText.replaceWholeTextc�������������C���sF���|�j����rdS�t|��}|d�kr"dS�|�j�|�}|d�kr:dS�|���S�d�S�)NF)rG����strip�_get_containing_elementrO���r�����isElementContent)r���r����r����r ���r ���r����!_get_isWhitespaceInElementContentr��s���� z&Text._get_isWhitespaceInElementContent)r���r���r���)rp���rq���rr���r����r ���rF���r���r����r����r��r���r ��r!��r%��r ���r ���r ���r���r����)��s��� r����ZisWhitespaceInElementContentzKTrue iff this text node contains only whitespace and is in element content.Z wholeTextz.The text of all logically-adjacent text nodes.c�������������C���s.���|�j�}x"|d�k r(|jtjkr |S�|j�}qW�d�S�)N)r3���r���r ���rJ���)rA���r@���r ���r ���r���r#�����s���� r#��c�������������C���s.���|�j�}x"|d�k r(|jtjkr |S�|j�}qW�d�S�)N)r3���r���r ���r����)rA���r@���r ���r ���r���r�����s���� r��c���������������@���s(���e�Zd�ZejZdZdd��Zddd�ZdS�) �Commentz#commentc�������������C���s���t��|���||�_d�S�)N)r��r����r��)r���rG���r ���r ���r���r�������s���� zComment.__init__r���c�������������C���s,���d|�j�krtd��|�d||�j�|f���d�S�)Nz--z%'--' is not allowed in a comment nodez %s<!--%s-->%s)rG���r7���r���)r���r"���r ���r����r!���r ���r ���r���r������s���� zComment.writexmlN)r���r���r���) rp���rq���rr���r ���r����r���r����r����r���r ���r ���r ���r���r&�����s���r&��c���������������@���s$���e�Zd�ZdZejZdZddd�ZdS�)�CDATASectionr ���z#cdata-sectionr���c�������������C���s,���|�j��d�dkrtd��|�d|�j����d�S�)Nz]]>r���z$']]>' not allowed in a CDATA sectionz<![CDATA[%s]]>)rG����findr7���r���)r���r"���r ���r����r!���r ���r ���r���r������s����zCDATASection.writexmlN)r���r���r���) rp���rq���rr���r����r ���r����r���r����r���r ���r ���r ���r���r'�����s���r'��c���������������@���sz���e�Zd�ZdZddd�Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��ZdS�)�ReadOnlySequentialNamedNodeMap)�_seqr ���c�������������C���s ���||�_�d�S�)N)r*��)r����seqr ���r ���r���r�������s����z'ReadOnlySequentialNamedNodeMap.__init__c�������������C���s ���t�|�j�S�)N)r����r*��)r���r ���r ���r���r�������s����z&ReadOnlySequentialNamedNodeMap.__len__c�������������C���s ���t�|�j�S�)N)r����r*��)r���r ���r ���r���r�������s����z*ReadOnlySequentialNamedNodeMap._get_lengthc�������������C���s"���x|�j�D�]}|j|kr|S�qW�d�S�)N)r*��r����)r���r����r����r ���r ���r���r�������s���� z+ReadOnlySequentialNamedNodeMap.getNamedItemc�������������C���s,���x&|�j�D�]}|j|kr|j|kr|S�qW�d�S�)N)r*��rs���rx���)r���rs���rx���r����r ���r ���r���r�������s����z-ReadOnlySequentialNamedNodeMap.getNamedItemNSc�������������C���s4���t�|t�r|�j|��}n |��|�}|d�kr0t|��|S�)N)r����r,���r����r����r]���)r���Z name_or_tuplerA���r ���r ���r���r�������s���� z*ReadOnlySequentialNamedNodeMap.__getitem__c�������������C���s0���|dk�rd�S�y |�j�|�S��tk r*���d�S�X�d�S�)Nr���)r*��r����)r���r6���r ���r ���r���r�������s���� z#ReadOnlySequentialNamedNodeMap.itemc�������������C���s���t�j�d��d�S�)Nz"NamedNodeMap instance is read-only)r/���r0���r��)r���r����r ���r ���r���r�������s����z.ReadOnlySequentialNamedNodeMap.removeNamedItemc�������������C���s���t�j�d��d�S�)Nz"NamedNodeMap instance is read-only)r/���r0���r��)r���rs���rx���r ���r ���r���r�������s����z0ReadOnlySequentialNamedNodeMap.removeNamedItemNSc�������������C���s���t�j�d��d�S�)Nz"NamedNodeMap instance is read-only)r/���r0���r��)r���rA���r ���r ���r���r�������s����z+ReadOnlySequentialNamedNodeMap.setNamedItemc�������������C���s���t�j�d��d�S�)Nz"NamedNodeMap instance is read-only)r/���r0���r��)r���rA���r ���r ���r���r�������s����z-ReadOnlySequentialNamedNodeMap.setNamedItemNSc�������������C���s���|�j�gS�)N)r*��)r���r ���r ���r���r�������s����z+ReadOnlySequentialNamedNodeMap.__getstate__c�������������C���s���|d�|�_�d�S�)Nr���)r*��)r���r����r ���r ���r���r�������s����z+ReadOnlySequentialNamedNodeMap.__setstate__N)r ���)rp���rq���rr���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r ���r ���r ���r���r)�����s��� r)��z&Number of entries in the NamedNodeMap.c���������������@���s(���e�Zd�ZdZdd��Zdd��Zdd��ZdS�) � Identified)�publicId�systemIdc�������������C���s���||�_�||�_d�S�)N)r-��r.��)r���r-��r.��r ���r ���r����_identified_mixin_init���s����z!Identified._identified_mixin_initc�������������C���s���|�j�S�)N)r-��)r���r ���r ���r���� _get_publicId���s����zIdentified._get_publicIdc�������������C���s���|�j�S�)N)r.��)r���r ���r ���r���� _get_systemId���s����zIdentified._get_systemIdN)rp���rq���rr���r����r/��r0��r1��r ���r ���r ���r���r,�����s���r,��c���������������@���sH���e�Zd�ZejZdZdZdZdZ dZ dd��Zdd��Zdd��Z dd d �ZdS�)�DocumentTypeNc�������������C���s2���t���|�_t���|�_|r&t|�\}}||�_|�j|�_d�S�)N)r)���entities� notationsr����r����r����)r���r����rt���r����r ���r ���r���r���� ��s����zDocumentType.__init__c�������������C���s���|�j�S�)N)�internalSubset)r���r ���r ���r����_get_internalSubset��s����z DocumentType._get_internalSubsetc�������������C���s����|�j�d�kr�td��}|�j|_|�j|_tjjj}|r�g�|j_ g�|j _ x>|�j j D�]2}t|j|j|j �}|j j �|��|�|||��qJW�xZ|�jj D�]N}t|j|j|j |j�}|j|_|j|_|j|_|jj �|��|�|||��q�W�|��||�|��|S�d�S�d�S�)N)rO���r2��r����r����r/���r0����UserDataHandler�NODE_CLONEDr3��r*��r4���Notationr-��r.��rI���rj����Entity�notationName�actualEncodingr���rU���)r���rP����clonerg���r�����notation�e�entityr ���r ���r���rQ�����s.���� zDocumentType.cloneNoder���c�������������C���s����|��d��|��|�j��|�jr8|��d||�j||�jf���n|�jrR|��d||�jf���|�jd�k r||��d��|��|�j��|��d��|��d|���d�S�)Nz <!DOCTYPE z%s PUBLIC '%s'%s '%s'z%s SYSTEM '%s'z [�]r}���)r���r����r-��r.��r5��)r���r"���r ���r����r!���r ���r ���r���r���/��s���� zDocumentType.writexml)r���r���r���)rp���rq���rr���r ����DOCUMENT_TYPE_NODEr���r����r����r-��r.��r5��r����r6��rQ���r���r ���r ���r ���r���r2����s���r2��c���������������@���sf���e�Zd�ZdZejZdZdZdZ dZ dd��Zdd��Zdd��Z dd ��Zd d��Zdd ��Zdd��Zdd��ZdS�)r:��Nc�������������C���s$���||�_�||�_t��|�_|��||��d�S�)N)r����r;��rk���r$���r/��)r���r����r-��r.��r>��r ���r ���r���r����F��s����zEntity.__init__c�������������C���s���|�j�S�)N)r<��)r���r ���r ���r����_get_actualEncodingL��s����zEntity._get_actualEncodingc�������������C���s���|�j�S�)N)r���)r���r ���r ���r���� _get_encodingO��s����zEntity._get_encodingc�������������C���s���|�j�S�)N)rU���)r���r ���r ���r����_get_versionR��s����zEntity._get_versionc�������������C���s���t�j�d��d�S�)Nz(cannot append children to an entity node)r/���r0���r1���)r���r>���r ���r ���r���r5���U��s����zEntity.appendChildc�������������C���s���t�j�d��d�S�)Nz+cannot insert children below an entity node)r/���r0���r1���)r���r>���r?���r ���r ���r���r-���Y��s����zEntity.insertBeforec�������������C���s���t�j�d��d�S�)Nz*cannot remove children from an entity node)r/���r0���r1���)r���rC���r ���r ���r���r4���]��s����zEntity.removeChildc�������������C���s���t�j�d��d�S�)Nz)cannot replace children of an entity node)r/���r0���r1���)r���r>���rC���r ���r ���r���rD���a��s����zEntity.replaceChild)rp���rq���rr���r����r ���ZENTITY_NODEr���r����r<��r���rU���r����rC��rD��rE��r5���r-���r4���rD���r ���r ���r ���r���r:��=��s���r:��c���������������@���s���e�Zd�ZejZdZdd��ZdS�)r9��Nc�������������C���s���||�_�|��||��d�S�)N)r����r/��)r���r����r-��r.��r ���r ���r���r����i��s����zNotation.__init__)rp���rq���rr���r ���r����r���r����r����r ���r ���r ���r���r9��e��s���r9��c���������������@���sH���e�Zd�ZddddddddgZd d ��Zdd��Zd d��Zdd��Zdd��ZdS�)�DOMImplementation)�corez1.0)rG��z2.0)rG��N)r/���z1.0)r/���z2.0)r/���N)zls-loadz3.0)zls-loadNc�������������C���s���|dkrd�}|����|f|�jkS�)Nr���)�lower� _features)r���rT���rU���r ���r ���r���rS���y��s����zDOMImplementation.hasFeaturec������� ������C���s����|r|j�d�k rtj�d��|����}|d�ko8|d�ko8|d�k�}|sP|rPtj�d��|r�t|�\}}|dkr||dkr|tj�d��|r�|s�tj�d��|�||�}|r�|� |��|� |��|r�|�|_�|_ ||_|�|_|S�)Nz(doctype object owned by another DOM treezElement with no namer/���z$http://www.w3.org/XML/1998/namespacezillegal use of 'xml' prefixz(illegal use of prefix without namespaces) r3���r/���r0����WrongDocumentErr�_create_documentZInvalidCharacterErrr����r�����createElementNSr5���rO����doctyperR���) r���rs���r����rM��rv���Zadd_root_elementrt���r����r��r ���r ���r����createDocument~��s4���� z DOMImplementation.createDocumentc�������������C���s���t�|�}||_||_|S�)N)r2��r-��r.��)r���r����r-��r.��rM��r ���r ���r����createDocumentType���s����z$DOMImplementation.createDocumentTypec�������������C���s���|���|d��r|�S�d�S�d�S�)N)rS���)r���rT���r ���r ���r���rZ������s����zDOMImplementation.getInterfacec�������������C���s���t���S�)N)�Document)r���r ���r ���r���rK�����s����z"DOMImplementation._create_documentN) rp���rq���rr���rI��rS���rN��rO��rZ���rK��r ���r ���r ���r���rF��n��s���-rF��c���������������@���sX���e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd d��Zdd ��Z dd��Z dd��Zdd��ZdS�)�ElementInfo)r����c�������������C���s ���||�_�d�S�)N)r����)r���r����r ���r ���r���r�������s����zElementInfo.__init__c�������������C���s���t�S�)N)r����)r����anamer ���r ���r���r�������s����zElementInfo.getAttributeTypec�������������C���s���t�S�)N)r����)r���rs���rx���r ���r ���r���r�������s����zElementInfo.getAttributeTypeNSc�������������C���s���dS�)NFr ���)r���r ���r ���r���r$�����s����zElementInfo.isElementContentc�������������C���s���dS�)NFr ���)r���r ���r ���r����isEmpty���s����zElementInfo.isEmptyc�������������C���s���dS�)NFr ���)r���rR��r ���r ���r���r�������s����zElementInfo.isIdc�������������C���s���dS�)NFr ���)r���rs���rx���r ���r ���r���r�������s����zElementInfo.isIdNSc�������������C���s���|�j�S�)N)r����)r���r ���r ���r���r�������s����zElementInfo.__getstate__c�������������C���s ���||�_�d�S�)N)r����)r���r����r ���r ���r���r�������s����zElementInfo.__setstate__N) rp���rq���rr���r����r����r����r����r$��rS��r����r����r����r����r ���r ���r ���r���rQ�����s��� rQ��c�������������C���s>���|�j�tjkr|�j����d�|�_nt|��r:|�jj����d�|�j_d�S�)N)r���r ���r���� _id_cache�clear�_id_search_stackry���rO���)rA���r ���r ���r���r:������s���� r:���c���������������@���sr��e�Zd�ZdZejejejejfZ e ��ZejZ dZdZdZdZd�ZZdZdZdZdZdZdZdZdZdd��Zdd ��Zd d��Zdd ��Zdd��Z dd��Z!dd��Z"dd��Z#dd��Z$dd��Z%dd��Z&dd��Z'dd��Z(d d!��Z)d"d#��Z*d$d%��Z+d&d'��Z,d(d)��Z-d*d+��Z.d,d-��Z/d.d/��Z0d0d1��Z1d2d3��Z2d4d5��Z3d6d7��Z4d8d9��Z5d:d;��Z6d<d=��Z7d>d?��Z8d@dA��Z9dBdC��Z:dIdEdF�Z;dGdH��Z<dS�)JrP��)� _elem_inforM��rV��r$���rT��z #documentNFr���c�������������C���s$���d�|�_�t��|�_i�|�_i�|�_d�|�_d�S�)N)rM��rk���r$���rW��rT��rV��)r���r ���r ���r���r���� ��s ����zDocument.__init__c�������������C���s&���|j�r|j�|jf}n|j}|�j�|�S�)N)rs���rx���r����rW��r����)r���r��r^���r ���r ���r���r������s����zDocument._get_elem_infoc�������������C���s���|�j�S�)N)r<��)r���r ���r ���r���rC����s����zDocument._get_actualEncodingc�������������C���s���|�j�S�)N)rM��)r���r ���r ���r����_get_doctype��s����zDocument._get_doctypec�������������C���s���|�j�S�)N)�documentURI)r���r ���r ���r����_get_documentURI ��s����zDocument._get_documentURIc�������������C���s���|�j�S�)N)r���)r���r ���r ���r���rD��#��s����zDocument._get_encodingc�������������C���s���|�j�S�)N)�errorHandler)r���r ���r ���r����_get_errorHandler&��s����zDocument._get_errorHandlerc�������������C���s���|�j�S�)N)� standalone)r���r ���r ���r����_get_standalone)��s����zDocument._get_standalonec�������������C���s���|�j�S�)N)�strictErrorChecking)r���r ���r ���r����_get_strictErrorChecking,��s����z!Document._get_strictErrorCheckingc�������������C���s���|�j�S�)N)rU���)r���r ���r ���r���rE��/��s����zDocument._get_versionc�������������C���sj���|j�|�jkr(tj�dt|�t|��f���|jd�k r>|j�|��|j�tj kr^|�� ��r^tj�d��t�|�|�S�)Nz%s cannot be child of %sz two document elements disallowed)r���r.���r/���r0���r1���r2���r3���r4���r ���rJ����_get_documentElementr5���)r���rA���r ���r ���r���r5���2��s���� zDocument.appendChildc�������������C���sV���y|�j��|��W�n�tk r.���tj����Y�nX�d��|_|_d�|_|�j |krRd�|�_ |S�)N) r$���rE���r7���r/���r0���r8���r<���r=���r3����documentElement)r���rC���r ���r ���r���r4���B��s���� zDocument.removeChildc�������������C���s$���x|�j�D�]}|jtjkr|S�qW�d�S�)N)r$���r���r ���rJ���)r���rA���r ���r ���r���ra��N��s����zDocument._get_documentElementc�������������C���s(���|�j�d�k r|�j�����d�|�_�t�|���d�S�)N)rM��rH���r ���)r���r ���r ���r���rH���S��s���� zDocument.unlinkc�������������C���s����|sd�S�|�j��d�d�d��}|�j|_|�j|_|�j|_xL|�jD�]B}t|||�}|j�|��|jt j krbn|jt jkrt||_||_ q8W�|��tjjj|�|��|S�)N)rR���rN��r���r]��rU���r$���rN���rI���r���r ���r���rB��rM��r3���rj���r/���r0���r7��r8��)r���rP���r=��r����Z childcloner ���r ���r���rQ���Y��s"���� zDocument.cloneNodec�������������C���s���t���}|�|_|S�)N)r����rO���)r���rb���r ���r ���r����createDocumentFragmentn��s����zDocument.createDocumentFragmentc�������������C���s���t�|�}|�|_|S�)N)r����rO���)r���r����r?��r ���r ���r���� createElements��s����zDocument.createElementc�������������C���s(���t�|t�std��t��}||_|�|_|S�)Nznode contents must be a string)r����r����r����r����rG���rO���)r���rG����tr ���r ���r����createTextNodex��s���� zDocument.createTextNodec�������������C���s(���t�|t�std��t��}||_|�|_|S�)Nznode contents must be a string)r����r����r����r'��rG���rO���)r���rG���r@���r ���r ���r����createCDATASection���s���� zDocument.createCDATASectionc�������������C���s���t�|�}|�|_|S�)N)r&��rO���)r���rG���r@���r ���r ���r���� createComment���s����zDocument.createCommentc�������������C���s���t�||�}|�|_|S�)N)r ��rO���)r���r ��rG����pr ���r ���r����createProcessingInstruction���s���� z$Document.createProcessingInstructionc�������������C���s���t�|�}|�|_d|_|S�)Nr���)r����rO���r����)r���r�����ar ���r ���r����createAttribute���s����zDocument.createAttributec�������������C���s"���t�|�\}}t|||�}|�|_|S�)N)r����r����rO���)r���rs���r����rt���rx���r?��r ���r ���r���rL�����s����zDocument.createElementNSc�������������C���s*���t�|�\}}t||||�}|�|_d|_|S�)Nr���)r����r����rO���r����)r���rs���r����rt���rx���rk��r ���r ���r����createAttributeNS���s ����zDocument.createAttributeNSc�������������C���s���t�||||�}|�|_|S�)N)r:��rO���)r���r����r-��r.��r;��r?��r ���r ���r����_create_entity���s����zDocument._create_entityc�������������C���s���t�|||�}|�|_|S�)N)r9��rO���)r���r����r-��r.��r����r ���r ���r����_create_notation���s����zDocument._create_notationc�������������C���s���||�j�kr|�j�|�S�|�js$|�js$d�S�|�j}|d�krB|�jg}||�_n|sJd�S�d�}�x<|�r�|���}|�dd��|jD����|��|�}|�r>x�|j � ��D�]�}|jr�|�|j|j �r�||�j�|j<�|j|kr�|}n|js�P�q�|�|j��r||�j�|j<�|j|kr�|}n |j�s8P�q�|jr�||�j�|j<�|j|k�r,|}q�|jdkr�P�q�W�nB|j�r�x8|j � ��D�]*}|j�rR||�j�|j<�|j|k�rR|}�qRW�|d�k rRP�qRW�|S�)Nc�������������S���s���g�|�]}|j�tkr|�qS�r ���)r���r9���)�.0rM���r ���r ���r���� <listcomp>���s����z+Document.getElementById.<locals>.<listcomp>r*���)rT��rW��r����rV��rb���pop�extendr$���r����r����r����rs���r����rx���r����r����r����r����r����)r���r�����stack�resultrA���r����r����r ���r ���r����getElementById���sZ���� zDocument.getElementByIdc�������������C���s���t�|�|t���S�)N)r����rk���)r���r����r ���r ���r���r�������s����zDocument.getElementsByTagNamec�������������C���s���t�|�||t���S�)N)r����rk���)r���rs���rx���r ���r ���r���r�������s����zDocument.getElementsByTagNameNSc�������������C���s���|�j��||�S�)N)rR���rS���)r���rT���rU���r ���r ���r���rV������s����zDocument.isSupportedc�������������C���s>���|j�tjkrtj�d��n|j�tjkr2tj�d��t|||��S�)Nzcannot import document nodesz!cannot import document type nodes)r���r ���r���r/���r0����NotSupportedErrrB��rN���)r���rA���rP���r ���r ���r���� importNode���s ����zDocument.importNoder���c�������������C���sN���|d�kr|��d|���n|��d||f���x|�jD�]}|�||||��q2W�d�S�)Nz<?xml version="1.0" ?>z%<?xml version="1.0" encoding="%s"?>%s)r���r$���r���)r���r"���r ���r����r!���r���rA���r ���r ���r���r������s����zDocument.writexmlc�������������C���sJ��|j�|�k r tj�d|�|j�f���|jtjtjfkr>tj�d��|t kr�d|kr�|� dd�\}}|dkr�|tjjkr�tj�d��q�|dkr�|tjjkr�|jtjkr�tj�d��d�}|}nd�}d�}|jtjkr�|j }|d�k r�|j}|�|��nd�}||_||_||_||_|jtjk�r||_n*||_|d�k �rF|�|��|�rF|�|��|S�)Nz?cannot rename nodes from other documents; expected %s, found %sz8renameNode() only applies to element and attribute nodesr����r*���r����zillegal use of 'xmlns' prefixz$illegal use of the 'xmlns' attribute)rO���r/���r0���rJ��r���r ���rJ���r����rw��r���r����r���r����r����r����r����rt���r����rs���r����r����r����r����r��)r���r����rs���r����rt���rx���r��Zis_idr ���r ���r���� renameNode��sR���� zDocument.renameNode)r���r���r���N)=rp���rq���rr���r����r ���rJ���r����r����rB��r.���rF��rR���r���r���r����r����r����r3���r=���r<���r<��r���r]��rU���r_��r[��rY��r����r����r����rC��rX��rZ��rD��r\��r^��r`��rE��r5���r4���ra��rH���rQ���rc��rd��rf��rg��rh��rj��rl��rL��rm��rn��ro��rv��r����r����rV���rx��r���ry��r ���r ���r ���r���rP�����sf��� : rP��rb��z#Top-level element of this document.c������� ������C���s���|�j��|�rtjjj}n tjjj}|�jtj kr�|� |�j|�j�}x>|�j ���D�]0}|�|j|j|j��|�|j|j�}|j|_qJW�|r�x$|�jD�]}t|||�}|�|��q�W��n|�jtjkr�|���}|r�x$|�jD�]}t|||�}|�|��q�W��n�|�jtjk�r|�|�j�}�n�|�jtjk�r*|�|�j�}�n�|�jtjk�rL|�|�j |�j�}�nr|�jtj!k�rj|�"|�j�}�nT|�jtj#k�r�|�$|�j|�j�}d|_|�j|_�n$|�jtj%k�r�tjjj}|j&�'|�j(|�j)|�j*�}||_�|�r�g�|j+_,g�|j-_,xR|�j-j,D�]F} t.| j| j)| j*�} || _�|j-j,�/| ��t0| d��r�| �1|| | ���q�W�x�|�j+j,D�]b}t2|j|j)|j*|j3�}|j4|_4|j5|_5|j6|_6||_�|j+j,�/|��t0|d��rB|�1|||���qBW�ntj�7dt8|�����t0|�d��r�|��1||�|��|S�)NTrj���zCannot clone node %s)9rO���rY���r/���r0���r7��r8��Z NODE_IMPORTEDr���r ���rJ���rL��rs���r����r����r����r����r����r����rx���r����r$���rN���r5���r+���rc��rF���rf��rG���r����rg��r����rj��r ��r����rh��r����rm��rB��rR���rO��r����r-��r.��r3��r*��r4��r9��rI���rd���rj���r:��r;��r<��r���rU���rw��r2���) rA���rP���ZnewOwnerDocumentrg���r=��r����rk��rM���r@���r����r>��r?��r@��r ���r ���r���rN���A��s|���� rN���c�������������C���s,���|���dd�}t|�dkr|S�d�|d�fS�d�S�)Nr����r*�������r���)r����r����)r����Zfieldsr ���r ���r���r�������s����r����c�������������C���s,���|�||�}|����\}}|�|��|����|S�)N)ZgetEventZ expandNoderU��)�func�args�kwargsZeventsZtoktypeZrootNoder ���r ���r����_do_pulldom_parse���s ���� r~��c�������������C���sH���|d�kr"|s"ddl�m}�|�|��S�ddl�m}�t|j|�f||d��S�d�S�)Nr���)�expatbuilder)�pulldom)�parser�bufsize)�xml.domr���parser���r~��)�filer���r���r��r���r ���r ���r���r������s���� r���c�������������C���sB���|d�krddl�m}�|�|��S�ddl�m}�t|j|�fd|i�S�d�S�)Nr���)r��)r���r���)r���r���parseStringr���r~��)�stringr���r��r���r ���r ���r���r������s���� r���c�������������C���sB���|�r<t�|�t�rt�|��}�x"|�D�]\}}tj�||�sd�S�qW�tjS�)N)r����r����r���Z_parse_feature_stringrP��rR���rS���)Zfeatures�f�vr ���r ���r����getDOMImplementation���s���� r���)NN)N)N)6r���r���r/���r���r���r���r���Zxml.dom.minicompatZxml.dom.xmlbuilderr���r���r0���r ���rJ���r����r9���ZdefpropertyrB���ry���r����r����r����r����r�����objectr����Z AttributeListr����r����r����r����r��r ��r��r����r#��r��r&��r'��r)��r,��r2��r:��r9��rF��rQ��r:���rP��rN���r����r~��r���r���r���r ���r ���r ���r����<module>���s�����v y�$ �w)GU ><( O*��PR