shell bypass 403
�
=fG � � � d dl mZ d dlZd dlZd dlmZ ddgZ d d
d�Z d d
d�Zdd�Z d d
d �a
ddd
�Zddd�Zy)� )�annotationsN)�partial�
wait_for_read�wait_for_writec �� � |s
|st d� �g }g }|r|j | � |r|j | � t t j |||� } ||� \ }}} t |xs |xs | � S )N�2must specify at least one of read=True, write=True)�RuntimeError�appendr �select�bool)
�sock�read�write�timeout�rcheck�wcheck�fn�rready�wready�xreadys
�H/usr/local/python-3.12/lib/python3.12/site-packages/urllib3/util/wait.py�select_wait_for_socketr ! sx � � ���O�P�P�
�F�
�F���
�
�d����
�
�d��
������� 7�B���[��F�F�F���*�&�*�F�+�+� c �� �� |s
|st d� �d}|r|t j z }|r|t j z }t j � ��j | |� d�fd�}t
||� � S )Nr r c �4 �� | �| dz } �j | � S )Ni� )�poll)�t�poll_objs �r �do_pollz%poll_wait_for_socket.<locals>.do_pollJ s �� ��=�
��I�A��}�}�Q��r )r �float | None�returnzlist[tuple[int, int]])r r �POLLIN�POLLOUTr �registerr )r
r r r �maskr r s @r �poll_wait_for_socketr&