�
G�_'% � �� � d Z ddlmZ ddlZ[ddlmZ ddlmZm Z ddl
mZmZ ddl
mZ ddlmZmZmZmZmZmZmZmZ dd lmZ d
dlmZmZ ddlmZ dd
lm Z m!Z!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z) dZ* ed� Z+eede+f ge+f Z, e- d� Z0da1e dd�� Z2e dd�� Z3e d d�� Z4e d!d�� Z5d� Z6da7e d� � Z8e d� � Z9e d� � Z:y# e.$ r e/Z-Y �Pw xY w# e;$ r ddlm<Z< dZ*Y yw xY w)"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)�decoded_urls�encoded_urls�hostname_labels� hostnames� idna_text�paths�port_numbers�T.c � � t s�g } t t t � d� }t |� 5 }t d� |D � d�� }t
|� |D ]� }|\ }}}|dk7 r�|d j dd� }t |� dk( r|j |d � d � |D � \ } }
t | |
dz � D ]' |