U
fm; @ s d dl mZ d dlZd dlZddlmZ ddlmZ dZe dZ
e d Ze d
ejej
B ZdZdZd
jeedZeedZdddddddddg ZdZdddd eD d Zde d Zd!e d e d" Zd#Ze d$Ze d%e d& Ze d%e d& Ze d%e d& Ze d%edd' d& Ze d(e d) Z d*eeef Z!e e!ejej
B Z"e#d+Z$e#d,Z%e$e%B d-hB Z&e&d.d/hB Z'e'd0hB Z(Z)G d1d2 d2e*d2d3ej+e, fd4ej+e, fd5ej+e, fd6ej+e- fd7ej+e, fd8ej+e, fd9ej+e, fgZ.ej/d:d;d:d<d=d>Z0ej/d?d;d?d<d@d>Z0dAd;dAd<dBd>Z0d:d:dCdDdEZ1ej/d?dAd?dFdGdHZ2ej/d:dAd:dFdIdHZ2dAdAdAdFdJdHZ2d:dKdLdMdNZ3d:d:dOdPdQZ4d:d2dRdSdTZ5dS )U )annotationsN )LocationParseError )to_str)httphttpsNz%[a-fA-F0-9]{2}z^(?:[a-zA-Z][a-zA-Z0-9+-]*:|/)zS^(?:([a-zA-Z][a-zA-Z0-9+.-]*):)?(?://([^\\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?$z(?:[0-9]{1,3}\.){3}[0-9]{1,3}z[0-9A-Fa-f]{1,4}z(?:{hex}:{hex}|{ipv4}))hexZipv4)r ls32z(?:%(hex)s:){6}%(ls32)sz::(?:%(hex)s:){5}%(ls32)sz%(?:%(hex)s)?::(?:%(hex)s:){4}%(ls32)sz2(?:(?:%(hex)s:)?%(hex)s)?::(?:%(hex)s:){3}%(ls32)sz6(?:(?:%(hex)s:){0,2}%(hex)s)?::(?:%(hex)s:){2}%(ls32)sz/(?:(?:%(hex)s:){0,3}%(hex)s)?::%(hex)s:%(ls32)sz'(?:(?:%(hex)s:){0,4}%(hex)s)?::%(ls32)sz&(?:(?:%(hex)s:){0,5}%(hex)s)?::%(hex)sz(?:(?:%(hex)s:){0,6}%(hex)s)?::zCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._\-~z(?:|c C s g | ]}|t qS )_subs).0xr r A/opt/alt/python38/lib/python3.8/site-packages/urllib3/util/url.py