shell bypass 403
3
���e� � @ sr d dl mZmZmZ d dlZd dlZd dlmZmZm Z m
Z
d dlmZmZm
Z
mZmZ d dlmZ d dlmZ ddlmZmZ dd lmZmZmZ G d
d� de�Zeejej �Z ed�j!� Z"ed
�j!� Z#ed�j!� Z$ed�j!� Z%ed�j!� Z&ed�j!� Z'ed�j!� Z(ed�Z)e ee)�e B Z*ee ee*� �Z+e+d�Z,e+Z-ed�d�Z.e(e. Z/e-ee&e- � Z0e"e
e0� e# d�Z1eej2ej3ej4B �Z5eej2ej3ej4B �Z6e5e6A Z7ee7ee&e7 � ddd�d�Z8e
e$e8 e% e8B �Z9e9j:dd� � e e9�d�Z;e;j:dd� � e e� �d�Zej:d d� � e'Z<e<e Z=e;e
e=� Z>e/e
e=� Z?e,e
e1� e?e>B Z@ee@ e ZAG d!d"� d"eB�ZCdS )#� )�absolute_import�division�print_functionN)�stringStart� stringEnd�originalTextFor�ParseException)�
ZeroOrMore�Word�Optional�Regex�Combine)�Literal)�parse� )�MARKER_EXPR�Marker)�LegacySpecifier� Specifier�SpecifierSetc @ s e Zd ZdZdS )�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� r r �"/usr/lib/python3.6/requirements.pyr s r �[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extrasF)Z
joinStringZadjacent� _raw_specc C s
|j pdS )N� )r'