§
    Âi9  ã                   ó–   — d Z dZdZg ZdZdZddlZg d¢Zd„ Z	d	„ Z
ed
k    r(ddlZ G d„ dej        ¦  «        Z ej        ¦   «          dS dS )zConverts an IRI to a URI.z!Joe Gregorio (joe@bitworking.org)zCopyright 2006, Joe Gregorioz1.0.0ÚMITé    N))é    iÿ×  )i à  iÿø  )i ù  iÏý  )iðý  iïÿ  )i   iýÿ )i   iýÿ )i   iýÿ )i   iýÿ )i   iýÿ )i   iýÿ )i   iýÿ )i   iýÿ )i  	 iýÿ	 )i  
 iýÿ
 )i   iýÿ )i   iýÿ )i   iýÿ )i  iýÿ )i   iýÿ )i   iýÿ c                 óÒ   — | }t          | ¦  «        }t          D ]M\  }}||k     r nA||k    r:||k    r4d                     d„ |                      d¦  «        D ¦   «         ¦  «        } nŒN|S )NÚ c                 ó   — g | ]}d |z  ‘ŒS )z%%%2X© )Ú.0Úos     úZ/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/httplib2/iri2uri.pyú
<listcomp>zencode.<locals>.<listcomp>7   s   € ÐEÐEÐE¨a˜g¨™kÐEÐEÐEó    úutf-8)ÚordÚescape_rangeÚjoinÚencode)ÚcÚretvalÚiÚlowÚhighs        r   r   r   0   s{   € Ø€FÝˆA‰Œ€AÝ!ð ð ‰	ˆˆTØˆsŠ7ˆ7ØˆEØ�Š8ˆ8˜˜Tš	˜	Ø—W’WÐEÐE°1·8²8¸GÑ3DÔ3DÐEÑEÔEÑFÔFˆFØˆEøØ€Mr   c                 óP  — t          | t          ¦  «        r�t          j                             | ¦  «        \  }}}}}|                     d¦  «                             d¦  «        }t          j                             |||||f¦  «        } d                     d„ | D ¦   «         ¦  «        } | S )zžConvert an IRI to a URI. Note that IRIs must be
    passed in a unicode strings. That is, do not utf-8 encode
    the IRI before passing it into the function.Úidnar   r   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   )r   )r	   r   s     r   r   ziri2uri.<locals>.<listcomp>G   s   € Ð.Ð.Ð. Q•v˜a‘y”yÐ.Ð.Ð.r   )	Ú
isinstanceÚstrÚurllibÚparseÚurlsplitr   ÚdecodeÚ
urlunsplitr   )ÚuriÚschemeÚ	authorityÚpathÚqueryÚfragments         r   Úiri2urir(   <   sž   € õ �#•sÑÔð 0Ý5;´\×5JÒ5JÈ3Ñ5OÔ5OÑ2ˆ�˜D %¨Ø×$Ò$ VÑ,Ô,×3Ò3°GÑ<Ô<ˆ	õ Œl×%Ò% v¨y¸$ÀÀxÐ&PÑQÔQˆØ�gŠgÐ.Ð.¨#Ð.Ñ.Ô.Ñ/Ô/ˆØ€Jr   Ú__main__c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestc                 ó^   — g d¢}|D ]%}|                       |t          |¦  «        ¦  «         Œ&dS )z6Test that URIs are invariant under the transformation.)z"ftp://ftp.is.co.za/rfc/rfc1808.txtz#http://www.ietf.org/rfc/rfc2396.txtz)ldap://[2001:db8::7]/c=GB?objectClass?onezmailto:John.Doe@example.comz&news:comp.infosystems.www.servers.unixztel:+1-816-555-1212ztelnet://192.0.2.16:80/z3urn:oasis:names:specification:docbook:dtd:xml:4.1.2N)ÚassertEqualr(   )ÚselfÚ	invariantr"   s      r   Ú	test_uriszTest.test_urisO   sM   € ð	ð 	ð 	ˆIð !ð 4ð 4�Ø× Ò  ¥g¨c¡l¤lÑ3Ô3Ð3Ð3ð4ð 4r   c                 ó0  — |                       dt          d¦  «        ¦  «         |                       dt          d¦  «        ¦  «         |                       dt          d¦  «        ¦  «         |                       dt          d¦  «        ¦  «         |                       d	t          d
¦  «        ¦  «         |                       d	t          t          d
¦  «        ¦  «        ¦  «         |                      d	t          d
                     d¦  «        ¦  «        ¦  «         dS )zFTest that the right type of escaping is done for each part of the URI.zhttp://xn--o3h.com/%E2%98%84u   http://â˜„.com/â˜„z%http://bitworking.org/?fred=%E2%98%84u   http://bitworking.org/?fred=â˜„z http://bitworking.org/#%E2%98%84u   http://bitworking.org/#â˜„z
#%E2%98%84u   #â˜„z/fred?bar=%E2%98%9A#%E2%98%84u   /fred?bar=â˜š#â˜„r   N)r-   r(   ÚassertNotEqualr   )r.   s    r   Útest_irizTest.test_iri^   s8  € à×ÒØ.ÝÐ8Ñ9Ô9ñô ð ð ×ÒØ7ÝÐ?Ñ@Ô@ñô ð ð ×ÒØ2ÝÐ:Ñ;Ô;ñô ð ð ×Ò˜\­7°<Ñ+@Ô+@ÑAÔAÐAØ×ÒØ/ÝÐKÑLÔLñô ð ð ×ÒØ/Ý�Ð SÑTÔTÑUÔUñô ð ð ×ÒØ/ÝØG×NÒNÈwÑWÔWñô ñô ð ð ð r   N)Ú__name__Ú
__module__Ú__qualname__r0   r3   r   r   r   r+   r+   N   s2   € € € € € ð	4ð 	4ð 	4ð	ð 	ð 	ð 	ð 	r   r+   )Ú__doc__Ú
__author__Ú__copyright__Ú__contributors__Ú__version__Ú__license__Úurllib.parser   r   r   r(   r4   ÚunittestÚTestCaser+   Úmainr   r   r   ú<module>rA      sÀ   ðà Ð à0€
Ø.€ØÐ Ø€Ø€à Ð Ð Ð ðð ð €ð0	ð 	ð 	ðð ð ð ˆzÒÐØ€O€O€Oð,ð ,ð ,ð ,ð ,ˆxÔ ñ ,ô ,ð ,ð\ €H„M�O„O€O€O€Oðc Ðr   