+
    m4i'%  ã                   óü  € R t ^ RIHt  ^ RItA^ RIHt ^ RIHtH	t	 ^ RI
HtHt ^ RIHt ^ RIHtHtHtHtHtHtHtHt ^ RIHt ^R	IHtHt ^ R
IHt ^ RIH t H!t!H"t"H#t#H$t$ ^ RI%H&t&H't'H(t) Rt*]! R4      t+]]R]+3,          .]+3,          t, ]- R t0Rs1] RR l4       t2] RR l4       t3] RR l4       t4] RR l4       t5R t6Rs7] R 4       t8] R 4       t9] R 4       t:R#   ]. d    ]/t- LWi ; i  ]; d    ^ RIH<t< Rt* R# i ; i) z
Hypothesis strategies.
)Úabsolute_importN)Úreader)ÚdirnameÚjoin)Úascii_lettersÚdigits)Ú
maxunicode)ÚCallableÚIterableÚListÚOptionalÚSequenceÚTextÚTypeVarÚcast)Úopen)Ú
DecodedURLÚ
EncodedURL)Úassume)Ú	compositeÚintegersÚlistsÚsampled_fromÚtext)Ú	IDNAErrorÚcheck_labelÚencodeÚT.c            	     ód  € \         '       Eg   . p \        \        \        4      R4      p\	        V4      ;_uu_ 4       p\        R V 4       RR7      p\        V4       V Fž  pVw  rVpVR8w  d   K  V^ ,          P                  R^4      p\        V4      ^8X  d   VP                  V^ ,          4       R V 4       w  rš\        Wš^,           4       F+  pV\        8”  d    K€  V P                  \        V4      4       K-  	  K   	  RRR4       R	P                  V 4      s \         #   + '       g   i     L'; i)
z.
Returns a string containing IDNA characters.
zidna-tables-properties.csv.gzc              3   óB   "  € T F  qP                  R 4      x € K  	  R# 5i)úutf-8N)Údecode)Ú.0Úlines   & Ú6/usr/lib/python3/dist-packages/hyperlink/hypothesis.pyÚ	<genexpr>Ú"idna_characters.<locals>.<genexpr>Q   s   é € Ð?±h¨d—[‘[ ×)Ð)³hùs   ‚Ú,)Ú	delimiterÚPVALIDÚ-c              3   ó:   "  € T F  p\        V^4      x € K  	  R# 5i)é   N)Úint)r"   Úis   & r$   r%   r&   b   s   é € Ð!?±h°¤# a¨§* *³hùs   ‚NÚ )Ú_idnaCharactersr   r   Ú__file__Ú	open_gzipÚ
csv_readerÚnextÚsplitÚlenÚappendÚranger   Úunichr)ÚresultÚdataFileNameÚdataFiler   ÚrowÚcodesÚpropÚdescriptionÚstartEndÚstartÚendr.   s               r$   Úidna_charactersrD   ?   s   € ÷ ŒØˆFô
  ÜœÓ!Ð#BóˆLô ˜<×(Ô(¨HÜ#Ù?±hÓ?Ø!ô�ô �V”Û!�CØ/2Ñ,�E à˜xÔ'ñ !à" 1�vŸ|™|¨C°Ó3�HÜ˜8“}¨Ô)à Ÿ™¨°­Ô4Ù!?±hÓ!?‘J�Eä" 5°­'Ö2˜Øœzœ>Ú!ØŸ™¤f¨Q£iÖ0ó 3ñ "÷ )ð4 "Ÿh™h vÓ.ˆOäÐ÷9 )×(ús   ¼CDÄD/	r/   c                óÚ   € \        4       pV^8¼  g   Q hVe
   V^8¼  g   Q h\        \        V ! \        WVR7      4      4      p \	        V4       V#   \
         d    \        R4        T# i ; i)zø
A strategy which generates IDNA-encodable text.

@param min_size: The minimum number of characters in the text.
    C{None} is treated as C{0}.

@param max_size: The maximum number of characters in the text.
    Use C{None} for an unbounded size.
©Úmin_sizeÚmax_sizeÚalphabetF)rD   r   r   r   Úidna_encoder   r   )ÚdrawrG   rH   rI   r:   s   &&&  r$   Ú	idna_textrL   o   sw   € ô #Ó$ˆà˜1Œ}Ðˆ}àÒØ˜q”=Ð �=äÜÙ”˜xÀXÔNÓOó
ˆð	Ü˜Ôð ˆøô ô 	Ü�5�Màˆð	ús   ÁA ÁA*Á)A*c           
     ó^   € V'       d   ^ pM^p\        \        V ! \        VRR7      4      4      # )zn
A strategy which generates port numbers.

@param allow_zero: Whether to allow port C{0} as a possible value.
iÿÿ  )Ú	min_valueÚ	max_value)r   r-   r   )rK   Ú
allow_zerorN   s   && r$   Úport_numbersrQ   �   s*   € ÷ Ø‰IàˆIä”C™œh°ÀeÔLÓMÓNÐNó    c                óà  € V'       d5   \        \        V ! \        ^^?R7      4      4      p VP                  R4       MA\        \        V ! \        ^^?\        \        \        ,           R,           4      R7      4      4      p \        V4       V#   \         d:    \        TP                  R4      4      ^?\        R4      ,
          8”  d   TRR	 pK6   LQi ; i  \         d    \        R4        T# i ; i)
z 
A strategy which generates host name labels.

@param allow_idn: Whether to allow non-ASCII characters as allowed by
    internationalized domain names (IDNs).
©rG   rH   ÚasciiÚpunycodezxn--Nr*   rF   Féÿÿÿÿ)r   r   rL   r   ÚUnicodeEncodeErrorr6   r   r   r   r   ÚUnicodeErrorr   )rK   Ú	allow_idnÚlabels   && r$   Úhostname_labelsr\   Ÿ   sÜ   € ÷ Üœ™t¤I°qÀ2Ô$FÓGÓHˆEð
'Ø—‘˜WÕ%ô ÜÙÜØ!"Ø!#Ü!%¤m´fÕ&<¸tÕ&CÓ!Dôóó	ˆEð	Ü˜Ôð ˆøô= &ô 'ô ˜%Ÿ,™, zÓ2Ó3°b¼3¸v»;Õ6FÔFð " # 2˜J’Eñ	 Gð	'ûô6 ô 	Ü�5�Màˆð	ús$   «B Á?C ÂACÃCÃC-Ã,C-c                ót  a€ \        \        V ! \        VR7      P                  V3R l4      4      4      .pV\        \        \        ,          V ! \        \        VR7      ^^R7      4      4      ,          p\        R V 4       4      \        V4      ,           ^,
          ^ü8”  d   VRR pK5  RP                  V4      # )a  
A strategy which generates host names.

@param allow_leading_digit: Whether to allow a leading digit in host
    names; they were not allowed prior to RFC 1123.

@param allow_idn: Whether to allow non-ASCII characters as allowed by
    internationalized domain names (IDNs).
)rZ   c                 ó8   <€ S'       d   R # V ^ ,          \         9  # ©T)r   )ÚlÚallow_leading_digits   &€r$   Ú<lambda>Úhostnames.<locals>.<lambda>ß   s   ø€ ß$7˜DÐO¸Q¸q½TÌÑ=OÐOrR   rT   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5i)N)r6   )r"   r[   s   & r$   r%   Úhostnames.<locals>.<genexpr>ô   s   é € Ð1©& ”#�e—*�*«&ùs   ‚NÚ.rW   )	r   r   r\   Úfilterr   r   Úsumr6   r   )rK   ra   rZ   Úlabelss   &f& r$   Ú	hostnamesrj   Í   s¬   ø€ ô ÜÙÜ#¨iÔ8×?Ñ?ôóóó	ð
ˆð 	”$Ü”�JÙÜÜ#¨iÔ8ØØôóó	
õ 		
ˆô Ñ1©&Ó1Ó1´C¸³KÕ?À!ÕCÀcÔIØ˜C˜R�[ŠFà�y‰y˜Ó Ð rR   c                 óP   € \         f   R p RP                  V ! 4       4      s \         # )z8
Returns a string containing valid URL path characters.
c               3   ó²   "  € \        \        4       F-  p \        V 4      pVR 9   d   K   VP                  R4       Tx € K/  	  R#   \         d     KA  i ; i5i)z#/?r    N)r8   r   r9   r   rX   )r.   Úcs     r$   ÚcharsÚpath_characters.<locals>.chars  sT   é € äœzÖ*�AÜ˜q›	�Að ˜E”zÙ ð!ØŸ™ Ô)ð ”Gó +øô .ô !Ú ð!üs'   ‚'AªA»
AÁAÁAÁAÁAr/   )Ú_path_charactersr   )rn   s    r$   Úpath_charactersrq   ù   s(   € ô Ò#òð"  "Ÿw™w¡u£wÓ/ÐäÐrR   c                 ó€   € \        \        \        ,          V ! \        \	        ^\        4       R7      ^
R7      4      4      # )é   )rG   rI   )rH   )r   r   r   r   r   rq   ©rK   s   &r$   Úpathsru     s4   € ô Ü”�JÙÜ”d A´Ó0AÔBÈRÔPóó
ð 	
rR   c           
     óP  € \        \        \        ,          V ! \        RR7      4      4      p\        \        V ! \        4       4      4      p\        \        \        ,          V ! \        4       4      4      pV^ 8X  d   Rp\        \        \        V ! \        R4      4      4      VVVR7      # )zƒ
A strategy which generates L{EncodedURL}s.
Call the L{EncodedURL.to_uri} method on each URL to get an HTTP
protocol-friendly URI.
T)rP   N)ÚschemeÚhostÚportÚpath)ÚhttpÚhttps)
r   r   r-   rQ   r   rj   r   ru   r   r   )rK   ry   rx   rz   s   &   r$   Úencoded_urlsr}   #  s~   € ô ”HœS•M¡4¬ÀÔ(EÓ#FÓGˆÜ”D™$œy›{Ó+Ó,ˆÜ”HœT•N¡D¬«£MÓ2ˆà�1Œ9ØˆDäÜœ™d¤<Ð0CÓ#DÓEÓFØØØô	
ð 	
rR   c                ó4   € \        V ! \        4       4      4      # )zƒ
A strategy which generates L{DecodedURL}s.
Call the L{EncodedURL.to_uri} method on each URL to get an HTTP
protocol-friendly URI.
)r   r}   rt   s   &r$   Údecoded_urlsr   9  s   € ô ™$œ|›~Ó.Ó/Ð/rR   )ÚTuple)r   r}   r\   rj   rL   ru   rQ   )rs   N)Fr_   )TT© )=Ú__doc__Ú
__future__r   Ú
hypothesisÚcsvr   r3   Úos.pathr   r   Ústringr   r   Úsysr   Útypingr	   r
   r   r   r   r   r   r   Úgzipr   r2   r/   r   r   r   Úhypothesis.strategiesr   r   r   r   r   Úidnar   r   r   rJ   Ú__all__r   ÚDrawCallabler9   Ú	NameErrorÚchrrD   r0   rL   rQ   r\   rj   rq   rp   ru   r}   r   ÚImportErrorr€   r�   rR   r$   Ú<module>r’      sb  ðñõ 'ðz0Ûàõ )ß%ß,Ý÷	÷ 	ó 	õ 'ç(å!÷õ ÷ CÑBð€Gñ 	�‹€AØ˜X c¨1 fÕ-Ð.°Ð1Õ2€LðÙò,ð\ €Oàóó ðð@ óOó ðOð ó+ó ð+ðZ ó)!ó ð)!òV ð< Ðàñ
ó ð
ð ñ
ó ð
ð* ñ0ó ò0øð} ô ØŠðûðc ô ÝàƒGðús#   ŠC( ÂC Ã	C%Ã$C%Ã(C;Ã:C;