403Webshell
Server IP : 172.67.201.108  /  Your IP : 216.73.216.55
Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.7
System : Linux ip-172-31-69-123.ec2.internal 6.1.177-224.371.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 27 20:28:29 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3.9/site-packages/awscli/botocore/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/awscli/botocore/__pycache__/compat.cpython-39.pyc
a

wA�i�*�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZddlmZddlmZddlmZddlmZe�e�Zdd	lmZGd
d�de�ZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(dd
lm)Z)ddl*m+Z,ddl-m.Z.ddl/m0Z0ddl1m2Z2e,Z3e4Z4e"Z5dd�Z6dd�Z7dCdd�Z8dDdd�Z9zddl:m;m<Z=Wn&e>�y�ddl?m;m@Z=Yn0e=jAZBddlCZCdd�ZDeEdd��ZFeEd d!��ZGeFe_FeGe_Gd"d#�ZHd$d%�ZIze�J�d&ZKWneL�yd'ZKYn0d(d)�ZMdEd*d+�ZNd,d-�ZOd.d/�ZPd0ZQe�Rd1eQd2�ZSd3ZTd4jUeTeQd5�ZVeTeVd6�ZWgd7�ZXd8ZYd9d:�Zd;d<�eXD��d=Z[d>eYd?Z\d@e[d9e\dAZ]e�Rd1e]d2�Z^e_dB�Z`dS)F�N)�OrderedDict)�MutableMapping)�floor)�six)�MD5UnavailableError)�tzlocal)�
exceptions)�HTTPMessagec@seZdZdS)�HTTPHeadersN)�__name__�
__module__�__qualname__�rr�:/usr/lib/python3.9/site-packages/awscli/botocore/compat.pyr
&sr
)
�quote�	urlencode�unquote�unquote_plus�urlparse�urlsplit�
urlunsplit�urljoin�	parse_qsl�parse_qs)�HTTPResponse)�IOBase)�encodebytes)�
formatdate)�zip_longestcCs|jjjj�|�dS)z|Set the timeout of the socket from an HTTPResponse.

    :param http_response: An instance of ``httplib.HTTPResponse``

    N)Z_fp�fp�rawZ_sockZ
settimeout)Z
http_responseZtimeoutrrr�set_socket_timeoutAsr!cCst�|�dS)N�)�inspectZgetfullargspec)�funcrrr�accepts_kwargsIsr%cCs|S�Nr��s�encoding�errorsrrr�ensure_unicodeNsr+�utf-8�strictcCs<t|t�r|�||�St|t�r$|Stdt|��d���dS)Nz Expected str or bytes, received �.)�
isinstance�str�encode�bytes�
ValueError�typer'rrr�ensure_bytesRs


r5cCstjddtjdd�dS)N�ignorez+A true SSLContext object is not available.*z.*urllib3\.util\.ssl_)�message�category�module)�warnings�filterwarningsrZInsecurePlatformWarningrrrr�filter_ssl_warningscs�r<cCs$|�}|��D]\}}|||<q|Sr&)�items)�cls�d�new_instance�key�valuerrr�	from_dictms
rCcCs |�}|D]\}}|||<q
|Sr&r)r>�pairsr@rArBrrr�
from_pairsus
rEcCst�|�}|S)zI
    This used to be a compat shim for 2.6 but is now just an alias.
    )�copy)�kwargs�copy_kwargsrrrrH�s
rHcCs|��S)z�
    Returns the total seconds in a ``datetime.timedelta``.

    This used to be a compat shim for 2.6 but is now just an alias.

    :param delta: The timedelta object
    :type delta: ``datetime.timedelta``
    )�
total_seconds)ZdeltarrrrI�s	rITFcOstrtj|i|��St��dS)a�
    Attempts to get an md5 hashing object.

    :param raise_error_if_unavailable: raise an error if md5 is unavailable on
        this system. If False, None will be returned if it is unavailable.
    :type raise_error_if_unavailable: bool
    :param args: Args to pass to the MD5 constructor
    :param kwargs: Key word arguments to pass to the MD5 constructor
    :return: An MD5 hashing object if available. If it is unavailable, None
        is returned if raise_error_if_unavailable is set to False.
    N)�
MD5_AVAILABLE�hashlib�md5r)�argsrGrrr�get_md5�srNcCs,|durtj}|dkrt|�St�|�SdS)N�win32)�sys�platform�_windows_shell_split�shlex�split)r(rQrrr�compat_shell_split�s
rUcCs:|sgSg}g}d}d}|D]�}|dkr2|d7}q|dkr�|dkr||�dtt|d���|d}d}|dkr||�d�q|}|�d�q|dvr�|s�|dkr�|�d|�d}|r�|�d�|��g}q|dkr�|�d|�d}|�|�q|�rtd	|����|dk�r |�d|�|�r6|�d�|��|S)
aSplits up a windows command as the built-in command parser would.

    Windows has potentially bizarre rules depending on where you look. When
    spawning a process via the Windows C runtime (which is what python does
    when you call popen) the rules are as follows:

    https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line-arguments

    To summarize:

    * Only space and tab are valid delimiters
    * Double quotes are the only valid quotes
    * Backslash is interpreted literally unless it is part of a chain that
      leads up to a double quote. Then the backslashes escape the backslashes,
      and if there is an odd number the final backslash escapes the quote.

    :param s: The command string to split up into parts.
    :return: A list of command components.
    Fr�\��"r"�)� �	z No closing quotation in string: )�append�intr�joinr3)r(�
componentsZbuffZ	is_quotedZnum_backslashes�	characterZ	remainderrrrrR�sJ


rRcCs(tjdkrddlm}t|fStfSdS)NrOr��
tzwinlocal)rPrQ�dateutil.tzrbrrarrr�get_tzinfo_optionss
rdz(?:[0-9]{1,3}\.){3}[0-9]{1,3}�^�$z[0-9A-Fa-f]{1,4}z(?:{hex}:{hex}|{ipv4}))�hexZipv4)rgZls32)	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)?::zDABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._!\-~z(?:�|cCsg|]}|t�qSr)�_subs)�.0�xrrr�
<listcomp>G�rl�)z
(?:%25|%)(?:[z]|%[a-fA-F0-9]{2})+z\[z)?\]z	
)NN)r,r-)N)arFZdatetimerPr#r:rKZloggingrS�re�os�collectionsr�collections.abcrZmathrZbotocore.vendoredrZbotocore.exceptionsrrcrZurllib3rZ	getLoggerrZloggerZhttp.clientr	r
�urllib.parserrrrrrrrrrr�ior�_IOBase�base64rZemail.utilsr�	itertoolsrZ	file_type�zipZunquote_strr!r%r+r5Zxml.etree.cElementTreeZetreeZcElementTreeZETree�ImportErrorZxml.etree.ElementTreeZElementTreeZ
ParseErrorZ
XMLParseErrorZjsonr<�classmethodrCrErHrIrLrJr3rNrUrRrdZIPV4_PAT�compileZIPV4_REZHEX_PAT�formatZLS32_PATriZ_variationsZUNRESERVED_PATr^ZIPV6_PATZZONE_ID_PATZIPV6_ADDRZ_PATZ
IPV6_ADDRZ_RE�	frozensetZUNSAFE_URL_CHARSrrrr�<module>s�
0







^
�

Youez - 2016 - github.com/yon3zu
LinuXploit