shell bypass 403
�
=fm; � � � d dl mZ d dlZd dlZddlmZ ddlmZ dZ ej d� Z
ej d � Z ej d
ej ej z � ZdZdZd
j# ee�� Zeed�Zg d�ZdZddj- eD � cg c] } | ez �� c} � z dz Zdez dz Zdez dz ez dz ZdZ ej d� Z ej dez dz � Z ej dez dz � Z ej dez dz � Z ej dedd z dz � Z ej dez dz � Z d e�de�de�d!�Z! ej e!ej ej z � Z" e#d"� Z$ e#d#� Z%e$e%z d$hz Z&e&d%d&hz Z'e'd'hz xZ(Z) G d(� d) ejT d)d*ejV e, fd+ejV e, fd,ejV e, fd-ejV e- fd.ejV e, fd/ejV e, fd0ejV e, fg� � Z.ej^ d;d1�� Z0ej^ d<d2�� Z0 d=d3�Z0d>d4�Z1ej^ d?d5�� Z2ej^ d@d6�� Z2dAd7�Z2dBd8�Z3dCd9�Z4dDd:�Z5yc c} w )E� )�annotationsN� )�LocationParseError� )�to_str)�http�httpsNz%[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}))�hex�ipv4)r
�ls32) z(?:%(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(?:�|�)z
(?:%25|%)(?:[z]|%[a-fA-F0-9]{2})+z\[z)?\]z!(?:[^\[\]%:/?#]|%[a-fA-F0-9]{2})*z!^(/[^?#]*)(?:\?([^#]*))?(?:#.*)?$�^�$����(z)\]$z^(z)(?::0*?(|0|[1-9][0-9]{0,4}))?$zBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-~z!$&'()*+,;=�:�@�/�?c � � � e Zd ZdZ d d
� fd�
Zedd�� Zedd�� Zedd�� Zedd�� Z edd�� Z
dd�Z� xZS )
�Urlz�
Data structure for representing an HTTP URL. Used as a return value for
:func:`parse_url`. Both the scheme and host are normalized as they are
both case-insensitive according to RFC 3986.
c
� �� |r|j d� sd|z }|�|j � }t �| �
| |||||||� S )Nr )�
startswith�lower�super�__new__) �cls�scheme�auth�host�port�path�query�fragment� __class__s ��G/usr/local/python-3.12/lib/python3.12/site-packages/urllib3/util/url.pyr zUrl.__new__d sJ �� � �����,���:�D����\�\�^�F��w��s�F�D�$��d�E�8�T�T� c � � | j S )z@For backwards-compatibility with urlparse. We're nice like that.)r! ��selfs r'