ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     U
    e5d/                     @   s   d dl Z d dlZd dlZd dlZd dlZddlmZ ddlmZ dd Z	i fddZ
i fd	d
Zi fddZdd ZG dd dejZG dd dejZdddZdS )    N   )handler)	xmlreaderc                 C   s"   |  D ]\}}| ||} q| S N)itemsreplace)sdkeyvalue r   (/usr/lib64/python3.8/xml/sax/saxutils.py__dict_replace   s    r   c                 C   s6   |  dd} |  dd} |  dd} |r2t| |} | S )N&&amp;>&gt;<&lt;r   r   dataZentitiesr   r   r   escape   s    	
r   c                 C   s2   |  dd} |  dd} |r&t| |} |  ddS )Nr   r   r   r   r   r   r   r   r   r   r   unescape"   s
    
r   c                 C   sR   |dddd}t | |} d| krFd| kr<d| dd } qNd	|  } nd|  } | S )
Nz&#10;z&#13;z&#9;)
	"'z"%s"z&quot;z'%s')r   r   r   r   r   r   	quoteattr0   s    

r   c                    s    d krdd l }|jS t tjr& S t tjtjfr< S t tjrlG  fddd}| }dd |_	nDt
 }dd |_ j|_z j|_ j|_W n tk
r   Y nX tj||ddd	d
S )Nr   c                       s   e Zd Z jZ fddZdS )z _gettextwriter.<locals>._wrapperc                    s
   t  |S r   )getattrselfnameoutr   r   __getattr__Z   s    z,_gettextwriter.<locals>._wrapper.__getattr__N)__name__
__module____qualname__	__class__r&   r   r$   r   r   _wrapperX   s   r+   c                   S   s   d S r   r   r   r   r   r   <lambda>]       z _gettextwriter.<locals>.<lambda>c                   S   s   dS )NTr   r   r   r   r   r,   b   r-   xmlcharrefreplacer   T)encodingerrorsnewlinewrite_through)sysstdout
isinstanceio
TextIOBasecodecsStreamWriterStreamReaderWriter	RawIOBasecloseBufferedIOBasewritablewriteseekabletellAttributeErrorTextIOWrapper)r%   r/   r3   r+   bufferr   r$   r   _gettextwriterG   s0    
rE   c                   @   s   e Zd Zd ddZdd Zd!dd	Zd
d Zdd Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd ZdS )"XMLGeneratorN
iso-8859-1Fc                 C   sV   t j|  t||}|j| _|j| _i g| _| jd | _	g | _
|| _|| _d| _d S )NF)r   ContentHandler__init__rE   r?   _writeflush_flush_ns_contexts_current_context_undeclared_ns_maps	_encoding_short_empty_elements_pending_start_element)r"   r%   r/   Zshort_empty_elementsr   r   r   rJ   r   s    
zXMLGenerator.__init__c                 C   sJ   |d rBd|d kr d|d  S | j |d  }|rB|d |d  S |d S )Nr   z$http://www.w3.org/XML/1998/namespacezxml:r   :)rO   )r"   r#   prefixr   r   r   _qname~   s    zXMLGenerator._qnamec                 C   s   | j r| d d| _ d S )Nr   FrS   rK   )r"   
endElementr   r   r   _finish_pending_start_element   s    
z*XMLGenerator._finish_pending_start_elementc                 C   s   |  d| j  d S )Nz$<?xml version="1.0" encoding="%s"?>
)rK   rQ   r"   r   r   r   startDocument   s    zXMLGenerator.startDocumentc                 C   s   |    d S r   )rM   rZ   r   r   r   endDocument   s    zXMLGenerator.endDocumentc                 C   s0   | j | j  || j|< | j||f d S r   )rN   appendrO   copyrP   r"   rU   urir   r   r   startPrefixMapping   s    
zXMLGenerator.startPrefixMappingc                 C   s   | j d | _| j d= d S )NrH   )rN   rO   r"   rU   r   r   r   endPrefixMapping   s    zXMLGenerator.endPrefixMappingc                 C   sZ   |    | d|  | D ]\}}| d|t|f  q| jrLd| _n
| d d S )Nr    %s=%sTr   )rY   rK   r   r   rR   rS   )r"   r#   attrsr   r   r   r   startElement   s    zXMLGenerator.startElementc                 C   s*   | j r| d d| _ n| d|  d S Nz/>Fz</%s>rW   r!   r   r   r   rX      s    
zXMLGenerator.endElementc                 C   s   |    | d| |  | jD ].\}}|rB| d||f  q"| d|  q"g | _| D ]$\}}| d| |t|f  q`| jrd| _n
| d d S )Nr   z xmlns:%s="%s"z xmlns="%s"rd   Tr   )rY   rK   rV   rP   r   r   rR   rS   )r"   r#   qnamere   rU   r`   r   r   r   r   startElementNS   s    zXMLGenerator.startElementNSc                 C   s0   | j r| d d| _ n| d| |  d S rg   )rS   rK   rV   r"   r#   rh   r   r   r   endElementNS   s    
zXMLGenerator.endElementNSc                 C   s4   |r0|    t|ts"t|| j}| t| d S r   )rY   r5   strrQ   rK   r   r"   Zcontentr   r   r   
characters   s
    
zXMLGenerator.charactersc                 C   s0   |r,|    t|ts"t|| j}| | d S r   )rY   r5   rl   rQ   rK   rm   r   r   r   ignorableWhitespace   s
    
z XMLGenerator.ignorableWhitespacec                 C   s   |    | d||f  d S )Nz	<?%s %s?>)rY   rK   r"   targetr   r   r   r   processingInstruction   s    z"XMLGenerator.processingInstruction)NrG   F)F)r'   r(   r)   rJ   rV   rY   r[   r\   ra   rc   rf   rX   ri   rk   rn   ro   rr   r   r   r   r   rF   p   s   


rF   c                   @   s   e Zd Zd:ddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 ZdS );XMLFilterBaseNc                 C   s   t j|  || _d S r   )r   	XMLReaderrJ   _parentr"   parentr   r   r   rJ      s    zXMLFilterBase.__init__c                 C   s   | j | d S r   )_err_handlererrorr"   Z	exceptionr   r   r   ry      s    zXMLFilterBase.errorc                 C   s   | j | d S r   )rx   
fatalErrorrz   r   r   r   r{      s    zXMLFilterBase.fatalErrorc                 C   s   | j | d S r   )rx   warningrz   r   r   r   r|      s    zXMLFilterBase.warningc                 C   s   | j | d S r   )_cont_handlersetDocumentLocator)r"   Zlocatorr   r   r   r~      s    z XMLFilterBase.setDocumentLocatorc                 C   s   | j   d S r   )r}   r[   rZ   r   r   r   r[      s    zXMLFilterBase.startDocumentc                 C   s   | j   d S r   )r}   r\   rZ   r   r   r   r\     s    zXMLFilterBase.endDocumentc                 C   s   | j || d S r   )r}   ra   r_   r   r   r   ra     s    z XMLFilterBase.startPrefixMappingc                 C   s   | j | d S r   )r}   rc   rb   r   r   r   rc     s    zXMLFilterBase.endPrefixMappingc                 C   s   | j || d S r   )r}   rf   )r"   r#   re   r   r   r   rf     s    zXMLFilterBase.startElementc                 C   s   | j | d S r   )r}   rX   r!   r   r   r   rX     s    zXMLFilterBase.endElementc                 C   s   | j ||| d S r   )r}   ri   )r"   r#   rh   re   r   r   r   ri     s    zXMLFilterBase.startElementNSc                 C   s   | j || d S r   )r}   rk   rj   r   r   r   rk     s    zXMLFilterBase.endElementNSc                 C   s   | j | d S r   )r}   rn   rm   r   r   r   rn     s    zXMLFilterBase.charactersc                 C   s   | j | d S r   )r}   ro   )r"   charsr   r   r   ro     s    z!XMLFilterBase.ignorableWhitespacec                 C   s   | j || d S r   )r}   rr   rp   r   r   r   rr     s    z#XMLFilterBase.processingInstructionc                 C   s   | j | d S r   )r}   skippedEntityr!   r   r   r   r      s    zXMLFilterBase.skippedEntityc                 C   s   | j ||| d S r   )_dtd_handlernotationDecl)r"   r#   publicIdsystemIdr   r   r   r   %  s    zXMLFilterBase.notationDeclc                 C   s   | j |||| d S r   )r   unparsedEntityDecl)r"   r#   r   r   Zndatar   r   r   r   (  s    z XMLFilterBase.unparsedEntityDeclc                 C   s   | j ||S r   )Z_ent_handlerresolveEntity)r"   r   r   r   r   r   r   -  s    zXMLFilterBase.resolveEntityc                 C   s@   | j |  | j |  | j |  | j |  | j | d S r   )ru   ZsetContentHandlerZsetErrorHandlerZsetEntityResolverZsetDTDHandlerparse)r"   sourcer   r   r   r   2  s
    zXMLFilterBase.parsec                 C   s   | j | d S r   )ru   	setLocale)r"   Zlocaler   r   r   r   9  s    zXMLFilterBase.setLocalec                 C   s   | j |S r   )ru   
getFeaturer!   r   r   r   r   <  s    zXMLFilterBase.getFeaturec                 C   s   | j || d S r   )ru   
setFeature)r"   r#   stater   r   r   r   ?  s    zXMLFilterBase.setFeaturec                 C   s   | j |S r   )ru   getPropertyr!   r   r   r   r   B  s    zXMLFilterBase.getPropertyc                 C   s   | j || d S r   )ru   setProperty)r"   r#   r   r   r   r   r   E  s    zXMLFilterBase.setPropertyc                 C   s   | j S r   ru   rZ   r   r   r   	getParentJ  s    zXMLFilterBase.getParentc                 C   s
   || _ d S r   r   rv   r   r   r   	setParentM  s    zXMLFilterBase.setParent)N)r'   r(   r)   rJ   ry   r{   r|   r~   r[   r\   ra   rc   rf   rX   ri   rk   rn   ro   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rs      s8   
rs    c                 C   s$  t | tjrt| } t | tr,t| } n^t| dr| }t } t |dtr^| 	| n
| 
| t|drt |jtr| |j |  d kr |  d kr |  }tjtj|}tj||}tj|r| | t|d}n$| tj|| tj|  }| 
| | S )Nreadr   r#   rb)r5   osPathLikefspathrl   r   ZInputSourcehasattrr   ZsetCharacterStreamZsetByteStreamr#   ZsetSystemIdZgetCharacterStreamZgetByteStreamZgetSystemIdpathdirnamenormpathjoinisfileopenurllibr   ZurljoinZrequestZurlopen)r   basefZsysidZbaseheadZsysidfilenamer   r   r   prepare_input_sourceR  s.    





r   )r   )r   Zurllib.parser   Zurllib.requestr6   r8   r   r   r   r   r   r   r   rE   rI   rF   rt   rs   r   r   r   r   r   <module>   s   )so