
    ,h                        U d Z ddlZddlmZmZ ddlmZmZmZm	Z	m
Z
mZmZmZ ddlmZmZ ddlmZ ddlmZmZ d	Zeed
<   dZeed<   dZeed<   	 dZ	 dZdZi 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i d)d%d*d%d+dd,dd-dd.dd/d%d0d%d1d%d2dd3dd4dd5d%d6d%d7dd8dd9d%i d:dd;dd<dd=dd>dd?d%d@ddAd%dBddCd%dDddEd%dFd%dGddHddIddJdddddKZeee	eee ef      f   edL<   dMZ!eeeef   edN<   dOZ"eedPf   edQ<   dRZ#eedS<   eez   Z$ee   edT<   	 i dUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvi dwdxdydzd{d|d}d~ddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddēddƓddȓddʓdd̓ddΓddГddғddԓdd֓ddؓddړddܓi ddޓddddddddddddddddddddddddddddddddi 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 i d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNZ%eeef   edO<   dPdQdRdSdTdUZ&eeef   edV<   e%e&dWZ'eeeeef   f   edX<   e%jQ                         e&jQ                         dWZ)eeee   f   edY<   dZed[ed\e fd]Z*d^ed_ed`ed\efdaZ+ G db dce      Z, G dd dee,      Z- G df dge,      Z. G dh die-      Z/ G dj dke      Z0 G dl dme,e0n      Z1 G do dpe-      Z2 G dq dre-      Z3 G ds dte      Z4 G du dve,e4n      Z5 G dw dxe,      Z6 G dy dz      Z7 G d{ d|e,      Z8y(}  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-      databaseuser password	password1	password2	password3hostz	127.0.0.1porti  unix_socketuse_unicodeTcharsetutf8mb4	collationconverter_classconverter_str_fallbackF
autocommit	time_zonesql_modeget_warningsraise_on_warningsconnection_timeoutread_timeoutwrite_timeoutclient_flagscompressbufferedrawssl_cassl_certssl_keyssl_verify_certssl_verify_identity
ssl_ciphertls_ciphersuitesssl_disabledtls_versionspasswddbconnect_timeoutdsn
force_ipv6auth_pluginallow_local_infileallow_local_infile_in_pathconsume_results
conn_attrsdns_srvuse_purekrb_service_principaloci_config_fileoci_config_profilewebauthn_callback)kerberos_auth_modeinit_commandopenid_token_fileDEFAULT_CONFIGURATION)	pool_name	pool_sizepool_reset_sessionCNX_POOL_ARGS)
_pid	_platform_source_host_client_name_client_license_client_version_os_connector_name_connector_license_connector_version.CONN_ATTRS_DNzH
    The property counterpart '{property_name}' should be used instead.
DEPRECATED_METHOD_WARNINGTLS_VERSIONSTLS_RSA_WITH_NULL_SHA256zNULL-SHA256TLS_RSA_WITH_AES_128_CBC_SHA256zAES128-SHA256TLS_RSA_WITH_AES_256_CBC_SHA256zAES256-SHA256TLS_RSA_WITH_AES_128_GCM_SHA256zAES128-GCM-SHA256TLS_RSA_WITH_AES_256_GCM_SHA384zAES256-GCM-SHA384"TLS_DH_RSA_WITH_AES_128_CBC_SHA256zDH-RSA-AES128-SHA256"TLS_DH_RSA_WITH_AES_256_CBC_SHA256zDH-RSA-AES256-SHA256"TLS_DH_RSA_WITH_AES_128_GCM_SHA256zDH-RSA-AES128-GCM-SHA256"TLS_DH_RSA_WITH_AES_256_GCM_SHA384zDH-RSA-AES256-GCM-SHA384"TLS_DH_DSS_WITH_AES_128_CBC_SHA256zDH-DSS-AES128-SHA256"TLS_DH_DSS_WITH_AES_256_CBC_SHA256zDH-DSS-AES256-SHA256"TLS_DH_DSS_WITH_AES_128_GCM_SHA256zDH-DSS-AES128-GCM-SHA256"TLS_DH_DSS_WITH_AES_256_GCM_SHA384zDH-DSS-AES256-GCM-SHA384#TLS_DHE_RSA_WITH_AES_128_CBC_SHA256zDHE-RSA-AES128-SHA256#TLS_DHE_RSA_WITH_AES_256_CBC_SHA256zDHE-RSA-AES256-SHA256#TLS_DHE_RSA_WITH_AES_128_GCM_SHA256zDHE-RSA-AES128-GCM-SHA256#TLS_DHE_RSA_WITH_AES_256_GCM_SHA384zDHE-RSA-AES256-GCM-SHA384#TLS_DHE_DSS_WITH_AES_128_CBC_SHA256zDHE-DSS-AES128-SHA256#TLS_DHE_DSS_WITH_AES_256_CBC_SHA256zDHE-DSS-AES256-SHA256#TLS_DHE_DSS_WITH_AES_128_GCM_SHA256zDHE-DSS-AES128-GCM-SHA256#TLS_DHE_DSS_WITH_AES_256_GCM_SHA384zDHE-DSS-AES256-GCM-SHA384%TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256zECDHE-RSA-AES128-SHA256%TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384zECDHE-RSA-AES256-SHA384%TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256zECDHE-RSA-AES128-GCM-SHA256%TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384zECDHE-RSA-AES256-GCM-SHA384'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256zECDHE-ECDSA-AES128-SHA256'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384zECDHE-ECDSA-AES256-SHA384'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256zECDHE-ECDSA-AES128-GCM-SHA256'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384zECDHE-ECDSA-AES256-GCM-SHA384#TLS_DH_anon_WITH_AES_128_CBC_SHA256zADH-AES128-SHA256#TLS_DH_anon_WITH_AES_256_CBC_SHA256zADH-AES256-SHA256#TLS_DH_anon_WITH_AES_128_GCM_SHA256zADH-AES128-GCM-SHA256#TLS_DH_anon_WITH_AES_256_GCM_SHA384zADH-AES256-GCM-SHA384RSA_WITH_AES_128_CCMz
AES128-CCMRSA_WITH_AES_256_CCMz
AES256-CCMDHE_RSA_WITH_AES_128_CCMzDHE-RSA-AES128-CCMDHE_RSA_WITH_AES_256_CCMzDHE-RSA-AES256-CCMRSA_WITH_AES_128_CCM_8zAES128-CCM8RSA_WITH_AES_256_CCM_8zAES256-CCM8DHE_RSA_WITH_AES_128_CCM_8zDHE-RSA-AES128-CCM8DHE_RSA_WITH_AES_256_CCM_8zDHE-RSA-AES256-CCM8ECDHE_ECDSA_WITH_AES_128_CCMzECDHE-ECDSA-AES128-CCMECDHE_ECDSA_WITH_AES_256_CCMzECDHE-ECDSA-AES256-CCMECDHE_ECDSA_WITH_AES_128_CCM_8zECDHE-ECDSA-AES128-CCM8ECDHE_ECDSA_WITH_AES_256_CCM_8zECDHE-ECDSA-AES256-CCM8 TLS_RSA_WITH_ARIA_128_GCM_SHA256zARIA128-GCM-SHA256 TLS_RSA_WITH_ARIA_256_GCM_SHA384zARIA256-GCM-SHA384$TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256zDHE-RSA-ARIA128-GCM-SHA256$TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384zDHE-RSA-ARIA256-GCM-SHA384$TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256zDHE-DSS-ARIA128-GCM-SHA256$TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384zDHE-DSS-ARIA256-GCM-SHA384(TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256zECDHE-ECDSA-ARIA128-GCM-SHA256(TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384zECDHE-ECDSA-ARIA256-GCM-SHA384&TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256zECDHE-ARIA128-GCM-SHA256&TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384zECDHE-ARIA256-GCM-SHA384 TLS_PSK_WITH_ARIA_128_GCM_SHA256zPSK-ARIA128-GCM-SHA256 TLS_PSK_WITH_ARIA_256_GCM_SHA384zPSK-ARIA256-GCM-SHA384$TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256zDHE-PSK-ARIA128-GCM-SHA256$TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384zDHE-PSK-ARIA256-GCM-SHA384$TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256zRSA-PSK-ARIA128-GCM-SHA256$TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384zRSA-PSK-ARIA256-GCM-SHA384,TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256zECDHE-ECDSA-CAMELLIA128-SHA256,TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384zECDHE-ECDSA-CAMELLIA256-SHA384*TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256zECDHE-RSA-CAMELLIA128-SHA256*TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384zECDHE-RSA-CAMELLIA256-SHA384PSK_WITH_NULL_SHAzPSK-NULL-SHADHE_PSK_WITH_NULL_SHAzDHE-PSK-NULL-SHARSA_PSK_WITH_NULL_SHAzRSA-PSK-NULL-SHAPSK_WITH_RC4_128_SHAzPSK-RC4-SHAPSK_WITH_3DES_EDE_CBC_SHAzPSK-3DES-EDE-CBC-SHAPSK_WITH_AES_128_CBC_SHAzPSK-AES128-CBC-SHAPSK_WITH_AES_256_CBC_SHAzPSK-AES256-CBC-SHADHE_PSK_WITH_RC4_128_SHAzDHE-PSK-RC4-SHADHE_PSK_WITH_3DES_EDE_CBC_SHAzDHE-PSK-3DES-EDE-CBC-SHADHE_PSK_WITH_AES_128_CBC_SHAzDHE-PSK-AES128-CBC-SHADHE_PSK_WITH_AES_256_CBC_SHAzDHE-PSK-AES256-CBC-SHARSA_PSK_WITH_RC4_128_SHAzRSA-PSK-RC4-SHARSA_PSK_WITH_3DES_EDE_CBC_SHAzRSA-PSK-3DES-EDE-CBC-SHARSA_PSK_WITH_AES_128_CBC_SHAzRSA-PSK-AES128-CBC-SHARSA_PSK_WITH_AES_256_CBC_SHAzRSA-PSK-AES256-CBC-SHAPSK_WITH_AES_128_GCM_SHA256zPSK-AES128-GCM-SHA256PSK_WITH_AES_256_GCM_SHA384zPSK-AES256-GCM-SHA384DHE_PSK_WITH_AES_128_GCM_SHA256zDHE-PSK-AES128-GCM-SHA256DHE_PSK_WITH_AES_256_GCM_SHA384zDHE-PSK-AES256-GCM-SHA384RSA_PSK_WITH_AES_128_GCM_SHA256zRSA-PSK-AES128-GCM-SHA256RSA_PSK_WITH_AES_256_GCM_SHA384zRSA-PSK-AES256-GCM-SHA384PSK_WITH_AES_128_CBC_SHA256zPSK-AES128-CBC-SHA256PSK_WITH_AES_256_CBC_SHA384zPSK-AES256-CBC-SHA384PSK_WITH_NULL_SHA256zPSK-NULL-SHA256PSK_WITH_NULL_SHA384zPSK-NULL-SHA384DHE_PSK_WITH_AES_128_CBC_SHA256zDHE-PSK-AES128-CBC-SHA256DHE_PSK_WITH_AES_256_CBC_SHA384zDHE-PSK-AES256-CBC-SHA384DHE_PSK_WITH_NULL_SHA256zDHE-PSK-NULL-SHA256DHE_PSK_WITH_NULL_SHA384zDHE-PSK-NULL-SHA384RSA_PSK_WITH_AES_128_CBC_SHA256zRSA-PSK-AES128-CBC-SHA256RSA_PSK_WITH_AES_256_CBC_SHA384zRSA-PSK-AES256-CBC-SHA384RSA_PSK_WITH_NULL_SHA256zRSA-PSK-NULL-SHA256RSA_PSK_WITH_NULL_SHA384zRSA-PSK-NULL-SHA384ECDHE_PSK_WITH_RC4_128_SHAzECDHE-PSK-RC4-SHAECDHE_PSK_WITH_3DES_EDE_CBC_SHAzECDHE-PSK-3DES-EDE-CBC-SHAECDHE_PSK_WITH_AES_128_CBC_SHAzECDHE-PSK-AES128-CBC-SHAECDHE_PSK_WITH_AES_256_CBC_SHAzECDHE-PSK-AES256-CBC-SHA!ECDHE_PSK_WITH_AES_128_CBC_SHA256zECDHE-PSK-AES128-CBC-SHA256!ECDHE_PSK_WITH_AES_256_CBC_SHA384zECDHE-PSK-AES256-CBC-SHA384ECDHE_PSK_WITH_NULL_SHAzECDHE-PSK-NULL-SHAECDHE_PSK_WITH_NULL_SHA256zECDHE-PSK-NULL-SHA256ECDHE_PSK_WITH_NULL_SHA384zECDHE-PSK-NULL-SHA384 PSK_WITH_CAMELLIA_128_CBC_SHA256zPSK-CAMELLIA128-SHA256 PSK_WITH_CAMELLIA_256_CBC_SHA384zPSK-CAMELLIA256-SHA384$DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256zDHE-PSK-CAMELLIA128-SHA256$DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384zDHE-PSK-CAMELLIA256-SHA384$RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256zRSA-PSK-CAMELLIA128-SHA256$RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384zRSA-PSK-CAMELLIA256-SHA384&ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256zECDHE-PSK-CAMELLIA128-SHA256&ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384zECDHE-PSK-CAMELLIA256-SHA384PSK_WITH_AES_128_CCMzPSK-AES128-CCMPSK_WITH_AES_256_CCMzPSK-AES256-CCMDHE_PSK_WITH_AES_128_CCMzDHE-PSK-AES128-CCMDHE_PSK_WITH_AES_256_CCMzDHE-PSK-AES256-CCMzPSK-AES128-CCM8zPSK-AES256-CCM8zDHE-PSK-AES128-CCM8zDHE-PSK-AES256-CCM8zECDHE-RSA-CHACHA20-POLY1305zECDHE-ECDSA-CHACHA20-POLY1305zDHE-RSA-CHACHA20-POLY1305zPSK-CHACHA20-POLY1305zECDHE-PSK-CHACHA20-POLY1305zDHE-PSK-CHACHA20-POLY1305zRSA-PSK-CHACHA20-POLY1305)PSK_WITH_AES_128_CCM_8PSK_WITH_AES_256_CCM_8DHE_PSK_WITH_AES_128_CCM_8DHE_PSK_WITH_AES_256_CCM_8+TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256-TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256)TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256%TLS_PSK_WITH_CHACHA20_POLY1305_SHA256+TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256)TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256)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)zTLSv1.2zTLSv1.3TLS_CIPHER_SUITESOPENSSL_CS_NAMESflagflagsreturnc                     || z  dkD  ryy)z.Checks if the flag is set

    Returns booleanr   TF )r   r   s     [/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/mysql/connector/constants.pyflag_is_setr      s     	    namenew_namevaluec                 J    t        j                  d|  d| dt               |S )a  Raise 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   r   r   s      r   _obsolete_optionr  )  s-     MM
tf8
*M# Lr   c            	           e Zd ZU dZdZeed<   i Zeee	e
ef   f   ed<   ededee   fd       Zede
deee   e	eef   f   fd	       Zedeeee   f   fd
       Zy)
_ConstantszBase class for constants.r   prefixdescr   r   c                 R    	 | j                   |   d   S # t        t        f$ r Y yw xY w)z!Get description of given constantr   N)r  
IndexErrorKeyErrorclsr   s     r   get_descz_Constants.get_descA  s1    	88D>!$$H% 		s    &&setidc                 `    | j                   j                         D ]  \  }}|d   |k(  s|c S  y)z$Get information about given constantr   N)r  items)r  r  r   infos       r   get_infoz_Constants.get_infoI  s8     ((..* 	JD$Aw%	 r   c                     g }	 | j                   j                         D cg c]  \  }}| d|d     }}}|S c c}}w # t        t        f$ r}d| }Y d}~|S d}~ww xY w)z)get full information about given constantz : r   z(No information found in constant class. N)r  r  AttributeErrorr  )r  reskverrs        r   get_full_infoz_Constants.get_full_infoQ  st     &(	C/2xx~~/?@tq!aSAaD6?@C@ 
	 A
+ 	C<SEBC
	Cs%   A  :A  A   AAAN)__name__
__module____qualname____doc__r  str__annotations__r  r   r
   intclassmethodr   r  r   r  r	   r  r   r   r   r  r  ;  s    #FC')D$sE#s(O#
$)C HSM   S U8C=%S/+I%J   eC#$67  r   r  c                   0    e Zd ZdZededee   fd       Zy)_Flagsz'Base class for classes describing flagsr   r   c                     g }| j                   j                         D ]  \  }}||d   z  s|j                  |       ! |S )z@Get the name of all bits set

        Returns a list of strings.r   )r  r  append)r  r   r  r   r  s        r   get_bit_infoz_Flags.get_bit_info`  sE    
 ((..* 	!JD$tAw

4 	! 
r   N)	r  r  r  r  r   r  r   r  r%  r   r   r   r"  r"  ]  s)    1 c  r   r"  c                   @   e Zd ZU dZdZeed<   dZeed<   dZ	eed<   dZ
eed	<   d
Zeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   d Zeed!<   d"Zeed#<   d$Zeed%<   d&Zeed'<   d(Zeed)<   d*Zeed+<   d,Zeed-<   d.Zeed/<   d0Zeed1<   d2Zeed3<   d4Z eed5<   d6Z!eed7<   d8Z"eed9<   d:Z#eed;<   d<Z$eed=<   i dedfde	dfd	e
d	fdedfdedfdedfdedfdedfdedfdedfdedfdedfdedfdedfd!ed!fd#ed#fd%ed%fed'fed)fed+fed-fed/fed1fed3fe d5fe!d7fe"d9fe#d;fe$d=fd>Z%e&ee'eef   f   ed?<   e(d@e)e   fdA       Z*e(d@e)e   fdB       Z+e(d@e)e   fdC       Z,e(d@e)e   fdD       Z-yE)F	FieldTypeaY  MySQL 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()
        ```
    FIELD_TYPE_r  r   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   STRINGr   GEOMETRY)rI  rK  rM  rO  rQ  rS  rU  rW  rY  r[  r]  r^  r  r   c                 ^    | j                   | j                  | j                  | j                  gS )z Get the list of all string types)rE  rO  r[  r]  r  s    r   get_string_typeszFieldType.get_string_types  s*     KKHHNNJJ	
 	
r   c                 ^    | j                   | j                  | j                  | j                  gS )z Get the list of all binary types)rS  rU  rW  rY  r`  s    r   get_binary_typeszFieldType.get_binary_types  s*     MMOOMMHH	
 	
r   c                     | j                   | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  gS )z Get the list of all number types)r)  rM  r*  r,  r.  r0  r2  r7  r9  rG  rA  r`  s    r   get_number_typeszFieldType.get_number_types  s[     KKNNHHIIHHIIJJLLIIGGHH
 	
r   c                 2    | j                   | j                  gS )z#Get the list of all timestamp types)r?  r6  r`  s    r   get_timestamp_typeszFieldType.get_timestamp_types  s     LLMM
 	
r   N).r  r  r  r  r  r  r  r)  r  r*  r,  r.  r0  r2  r4  r6  r7  r9  r;  r=  r?  rA  rC  rE  rG  rI  rK  rM  rO  rQ  rS  rU  rW  rY  r[  r]  r^  r  r   r
   r   r   ra  rc  re  rg  r   r   r   r'  r'  l  sJ   "H  FCGSD#E3D#E3FCD#IsHcE3D#D#HcD#GSGSCOFCD#JD#COIsKIsD#JFCHc(GY'(v( 	%!( 	v	(
 	%!( 	68$( 	v( 	i-( 	Xz*( 	%!( 	v( 	v( 	Xz*( 	v( 	GY'(  	GY'!(" 	U|#($ 8$v!<0vU|-#]3-v!<08$z*;(D$sE#s(O#
$ @ 
c 
 
 
c 
 
 
c 
 
  
DI 
 
r   r'  c                      e Zd ZU dZdZeed<   dZeed<   dZ	eed<   dZ
eed	<   d
Zeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   d Zeed!<   d"Zeed#<   d Zeed$<   d%Zeed&<   d'Zeed(<   d)Zeed*<   d+Zeed,<   d-Zeed.<   d/Zeed0<   i dd1dd2d	d3dd4dd5dd6dd7dd8dd9dd:dd;dd<dd=dd>d!d?d#d@d$dAdBdCdDdEdFdGdHZe ee!eef   f   edI<   yJ)K	FieldFlagz_MySQL Field Flags

    Field flags as found in MySQL sources mysql-src/include/mysql_com.h
    r   _prefixr   NOT_NULLr+  PRI_KEYr/  
UNIQUE_KEYr   MULTIPLE_KEYrF  rY      UNSIGNED@   ZEROFILL   BINARY   rO     AUTO_INCREMENT   r6     rQ  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   zField can't be NULL)r+  zField is part of a primary key)r/  zField is part of a unique key)r   zField is part of a key)rF  zField is a blob)ro  zField is unsigned)rq  zField is zerofill)rs  zField is binary  )ru  zfield is an enum)rv  zfield is a autoincrement field)rx  zField is a timestamp)ry  zfield is a set)r   z Field doesn't have default value)r   zField is set to NOW on UPDATE)r|  zField is num (for clients))r~  zIntern; Part of some key)r|  zIntern: Group field)r  Intern: Used by sql_yacc)r  r  )r  zUsed to get fields in item tree)r  zField part of partition func)r  zIntern: Field used in ADD INDEX)r  zIntern: Field is being renamed)r  r  r  r  r  r  r  N)"r  r  r  r  rj  r  r  rk  r  rl  rm  rn  rY  rp  rr  rt  rO  rw  r6  rQ  rz  r{  r}  r  r  r  r  r  r  r  r  r  r   r
   r   r   r   ri  ri    s   
 GSHcGSJL#D#HcHcFCD# NC IsC#c# M3 CHcE3FCFC#c#%%%%#c#(3(=( 	?( 	:	(
 	+( 	1( 	1( 	/( 	,( 	D( 	6( 	*( 	I( 	C( 	6(  	9!(" 	1#($ 87HGJG/(D$sE#s(O#
$ r   ri  c                   ,     e Zd ZdZdedef fdZ xZS )ServerCmdMetazClientFlag Metaclass.r   r   c                 l    d}||v rt        j                  d| dt               t        |   |      S )N)
FIELD_LISTREFRESHSHUTDOWNPROCESS_INFOPROCESS_KILLzThe option 'ServerCmd.z8' is deprecated and will be removed in a future release.r   )r   r   r  super__getattribute__)r  r   deprecated_options	__class__s      r   r  zServerCmdMeta.__getattribute__>  sH    
 %%MM( /$ $+
 w'--r   )r  r  r  r  r  r   r  __classcell__)r  s   @r   r  r  ;  s    .C .C . .r   r  c                      e Zd ZU dZdZeed<   dZeed<   dZ	eed<   dZ
eed	<   d
Zeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   d Zeed!<   d"Zeed#<   d$Zeed%<   d&Zeed'<   d(Zeed)<   d*Zeed+<   d,Zeed-<   d.Zeed/<   d0Zeed1<   d2Zeed3<   d4Z eed5<   d6Z!eed7<   d8Z"eed9<   d:Z#eed;<   d<Z$eed=<   d>Z%eed?<   d@Z&eedA<   dBZ'eedC<   i ddDddEd	dFddGddHddIddJddKddLddMddNddOddPddQd!dRd#dSd%dTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddZ(e)ee*eef   f   ede<   yf)g	ServerCmdzMySQL Server CommandsCOM_rj  r   SLEEPr   QUITr+  INIT_DBr-  QUERYr/  r  r1  	CREATE_DBr3  DROP_DBr5  r  r   r  r8  
STATISTICSr:  r  r<  CONNECTr>  r  r@  DEBUGrB  PINGrD  r=  rF  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)r   r  )r   r  )r+  r  )r-  r  )r/  r  )r1  r  )r3  r  )r5  r  )r   r  )r8  r  )r:  r  )r<  r  )r>  r  )r@  r  )rB  r  )rD  r=  )rF  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  r  r  N)+r  r  r  r  rj  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  O  sp   GSE3ND#MGSE3NJIsGSGSHcJL#GSL#E3OD#ND#NNCKKJKcL#L#!!JJJJFCcc!(!(!( 	>!( 		!(
 	'!( 	%!( 	>!( 	>!( 	O!( 	'!( 	,!( 	?!( 	,!( 	!( 	!(  	!!(" 	0#!($ +*(*4,,:(((( 44A!(D$sE#s(O#
$ !r   r  )	metaclassc                      e Zd ZU dZdZeed<   dZeed<   dZeed<   dZ	eed	<   d
Z
eed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   d Zeed!<   d"Zeed#<   d$Zeed%<   d&Zeed'<   d(Zeed)<   d*Zeed+<   d,Zeed-<   d.Zeed/<   d0Zeed1<   d0Zeed2<   d3Zeed4<   d5Z eed6<   d7Z!eed8<   d9Z"eed:<   d;Z#eed<<   i dd=dd>dd?d	d@ddAddBddCddDddEddFddGddHddIddJddKd!dLd#dMdNdOdPdQdRdSdTdTdUdVdWdXdYZ$e%e&e'ee&f   f   edZ<   eee	eeeeeeeg
Z(e)e   ed[<   e*d\efd]       Z+y^)_
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_ROWSr/  	LONG_FLAGr   CONNECT_WITH_DBrF  	NO_SCHEMAro  COMPRESSrq  ODBCrs  LOCAL_FILESru  IGNORE_SPACErv  PROTOCOL_41rx  INTERACTIVEry  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   zNew more secure passwords)r+  zFound instead of affected rows)r/  zGet all column flags)r   zOne can specify db on connect)rF  z!Don't allow database.table.column)ro  zCan use compression protocol)rq  zODBC client)rs  zCan use LOAD DATA LOCAL)ru  zIgnore spaces before '')rv  zNew 4.1 protocol)rx  zThis is an interactive client)ry  zSwitch to SSL after handshake)r   zIGNORE sigpipes)r   zClient knows about transactions)r|  zOld flag for 4.1 protocol)r~  zNew 4.1 authentication)r  z!Enable/disable multi-stmt support)r  zEnable/disable multi-results)r  zMulti-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)r  z3Capable of handling server state change information)r  z!Client no longer needs EOF packet)r  z/Support optional extension for query parameters)r  r   )r  r   )r  r  r  r  r  r  r  r  r  r  r  r  r  defaultr   c                 6    d}| j                   D ]  }||z  }	 |S )zbGet the default client options set

        Returns a flag with all the default client options setr   )r  )r  r   options      r   get_defaultzClientFlag.get_default  s*    
 kk 	FVOE	r   N),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   r   r   r  r    s   $ KJIs!OS!IsHcD#KL#KKC!NC!L#Hc$s$#c# M3 #c#KL#*1"C1(/ #/L# M3  M3 #*S*")C)#c#'..-(<-(@-( 	5-( 	D	-(
 	B-( 	<-( 	'-( 	:-( 	;-( 	3-( 	A-( 	9-( 	6-( 	D-( 	:-(  	@!-(" 	J#-($ CEIJ+
)


 H$
 #0)Y-(D$sE#s(O#
$ -` 	&GT#Y  C  r   r  c                   $   e Zd ZU dZdZeed<   dZeed<   dZ	eed<   dZ
eed	<   d
Zeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   d d!d"d#d$d%d&d'd(d)d*d+d,d-d.Zeeeeef   f   ed/<   y0)1
ServerFlagzeMySQL Server Flags

    Server flags as found in the MySQL sources mysql-src/include/mysql_com.h
    SERVER_rj  r   STATUS_IN_TRANSr+  STATUS_AUTOCOMMITr   MORE_RESULTS_EXISTSrF  QUERY_NO_GOOD_INDEX_USEDro  QUERY_NO_INDEX_USEDrq  STATUS_CURSOR_EXISTSrs  STATUS_LAST_ROW_SENTru  STATUS_DB_DROPPEDrv  STATUS_NO_BACKSLASH_ESCAPESrx  SERVER_STATUS_METADATA_CHANGEDry  SERVER_QUERY_WAS_SLOWr   SERVER_PS_OUT_PARAMSr   SERVER_STATUS_IN_TRANS_READONLYr|  SERVER_SESSION_STATE_CHANGED)r   zTransaction has started)r+  zServer in auto_commit mode)r   zMulti query - next query exists)rF  r   )ro  r   )rq  zESet when server opened a read-only non-scrollable cursor for a query.)rs  z(Set when a read-only cursor is exhausted)ru  zA database was dropped)rv  r   )rx  zSet if after a prepared statement reprepare we discovered that the new statement returns a different number of result set columns.)ry  r   )r   z5To mark ResultSet containing output parameter values.)r   z>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)SERVER_STATUS_IN_TRANSSERVER_STATUS_AUTOCOMMITSERVER_MORE_RESULTS_EXISTSSERVER_QUERY_NO_GOOD_INDEX_USEDSERVER_QUERY_NO_INDEX_USEDSERVER_STATUS_CURSOR_EXISTSSERVER_STATUS_LAST_ROW_SENTSERVER_STATUS_DB_DROPPED"SERVER_STATUS_NO_BACKSLASH_ESCAPESr  r  r   r  r  r  N)r  r  r  r  rj  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    s   
 GS!OS!#s#%%$*c*%% &#& &#&#s#'--*1"C1!(3( '#'+2#S2(/ #/ #F$J'
 ,8&2(
(
 %G.:+
 ",!
,
)
G)(D$sE#s(O#
$ )r   r  c                   &    e Zd ZdZedefd       Zy)RefreshOptionMetazRefreshOption Metaclass.r   c                 8    t        ddt        j                        S )zzReturn the deprecated alias of RefreshOption.REPLICA.

        Raises a warning about this attribute deprecation.
        zRefreshOption.SLAVEzRefreshOption.REPLICA)r  RefreshOptionREPLICAselfs    r   SLAVEzRefreshOptionMeta.SLAVEV  s       !#!!
 	
r   N)r  r  r  r  propertyr  r  r   r   r   r  r  S  s    "	
s 	
 	
r   r  c                       e Zd ZU dZdZeed<   dZeed<   dZ	eed<   dZ
eed	<   d
Zeed<   dZeed<   dZeed<   ddddddddZeeeeef   f   ed<   y)r  zbMySQL Refresh command options.

    Options used when sending the COM_REFRESH server command.
    REFRESH_rj  r   GRANTr+  LOGr/  TABLESr   HOSTrF  STATUSrq  r  )r   zRefresh grant tables)r+  zStart on new log file)r/  zclose all tables)r   zFlush host cache)rF  zFlush status variables)rq  z,Reset source info and restart replica thread)rq  z'Deprecated option; use REPLICA instead.)r  r  r  r  r  r  r  r  N)r  r  r  r  rj  r  r  r  r  r  r  r  r  r  r  r   r
   r   r   r   r  r  c  s    
 GSE3CFCD#FCGS 20.,4KD(D$sE#s(O#
$ r   r  c            	           e Zd ZU dZdZeed<   dZeed<   dZ	eed<   dZ
eed	<   d
Zeed<   dZeed<   dZeed<   dZeed<   dZeed<   edfe	dfe
dfedfedfedfedfedfdZeeeeef   f   ed<   y)ShutdownTypezVMySQL Shutdown types

    Shutdown types used by the COM_SHUTDOWN server command.
    r   rj  r   SHUTDOWN_DEFAULTr   SHUTDOWN_WAIT_CONNECTIONSr+  SHUTDOWN_WAIT_TRANSACTIONSr   SHUTDOWN_WAIT_UPDATESrF  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))r  r  r   r!  r"  r#  r$  r%  r  N)r  r  r  r  rj  r  r  r  r  r  r   r!  r"  r#  r$  r%  r  r   r
   r   r   r   r  r  |  s    
 GSc%&s&&''!"3"%'s'*,"C,JOS 3

 &5&

 '/'

 "1"

 &;&

 +N+
 "#56+-?@5(D$sE#s(O#
$ r   r  c            
           e Zd ZU dZdZeedf   ed<   ddZdeedf   ddfd	Z	d
edee
e
f   fdZdede
fdZdeee
f   dee
e
ef   fdZ	 ddeeee
f      dee
   deee
e
f   fdZdee
df   fdZy)CharacterSetaL  MySQL 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   r@  r  T   W   X   .slash_charsetsr   Nc                 (    t         | _        d| _        y )N)r1  r5  )r   _desc_mysql_versionr  s    r   __init__zCharacterSet.__init__  s    <S
/5r   versionc                 N    |dd | _         | j                   dk\  rt        | _        yy)zSet the MySQL major version and change the charset mapping if is 5.7.

        Args:
            version (tuple): MySQL version tuple.
        Nr+  r   r   )r.  r   r-  )r  r0  s     r   set_mysql_versionzCharacterSet.set_mysql_version  s,     &bqk&(-DJ )r   r  c                 b    	 | j                   |   dd S # t        $ r t        d| d      dw xY w)a  Retrieves 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.
        r   r+  Character set '' unsupportedN)r-  r  r   )r  r  s     r   r  zCharacterSet.get_info  sF    	U::e$Qq)) 	U"_UG=#IJPTT	Us    .r   c                 8    | j                  |      \  }}| d| S )zRetrieves character set information as string using an ID

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

        Returns a tuple.
        /)r  )r  r   r'   r)   s       r   r  zCharacterSet.get_desc  s(     "]]40!I;''r   r'   c                 >   t        |t              r	 | j                  |   }|d   |d   |fS t        | j                        D ]%  \  }}|	|d   |k(  s|d   du s|d   |d   |fc S  t        d| d      # t        t        f$ r}t        d| d      |d}~ww xY w)	zRetrieves the default collation for given character set

        Raises ProgrammingError when character set is not supported.

        Returns list (collation, charset, index)
        r   r   zCharacter set ID 'r6  Nr+  Tr5  )
isinstancer  r-  r  r	  r   	enumerate)r  r'   r  r  cids        r   get_default_collationz"CharacterSet.get_default_collation  s     gs#zz'*AwQ00 #4::. 	-IC|Aw'!d1goAwQ,,		- 	GHH ) &(	?s   A8 8BBBr)   c                 Z   d}t        |t              r	 | j                  |   }||d   |d   fS |dv r| j
                  dk\  rd}|!|| j                  |      }|d	   |d   |d   fS |F|Dt        | j                        D ]  \  }}|	||d   k(  s||d   |d   fc S  t	        d
| d      t        | j                        D ]&  \  }}|	|d   |k(  s|d   |k(  s||d   |d   fc S  | j                  |      }t	        d
| d      # t        $ r}t	        d| d      |d}~ww xY w)aE  Get 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)
        Nr   r   zCharacter set ID z unknown)utf8zutf-8r2  r(   r+  zCollation 'z	' unknown)r:  r  r-  r  r   r.  r=  r;  )r  r'   r)   r  r  r<  _s          r   get_charset_infozCharacterSet.get_charset_info  s   $ NRgs#Wzz'*a$q'22 ''D,?,?6,IG9#4--g6DGT!Wd1g..?y4&tzz2 3	T<Q'a$q'22	3
 #[9#EFF"4::. 	/IC|Aw'!d1g&:T!Wd1g..		/
 &&w/YKyABB+  W&):7)8'LMSVVWs   D 	D*D%%D*c                 |    g }| j                   D ]!  }|s|d   |vs|j                  |d          # t        |      S )z^Retrieves a list with names of all supproted character sets

        Returns a tuple.
        r   )r-  r$  tuple)r  r  r  s      r   get_supportedzCharacterSet.get_supported'  sF    
 JJ 	$DQs*

47#	$ Szr   )r   N)NN)r  r  r  r  r+  r
   r  r  r/  r3  r  r  r  r   r=  r   rA  rD  r   r   r   r'  r'    s     '>NE#s(O=6
.sCx .T .Uc UeCHo U	(S 	(S 	(IU38_ IsCQT}AU I2 UY,Cc3h0,CDLSM,C	sC}	,C\	uS#X 	r   r'  c                   @   e Zd ZU dZdZeed<   dZeed<   dZeed<   dZ	eed<   dZ
eed<   dZeed<   d	Zeed	<   d
Zeed
<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZ eed<   dZ!eed<   dZ"eed<   d Z#eed <   d!Z$eed!<   d"Z%eed"<   d#Z&eed#<   e'd$ed%e(e   fd&       Z)e'd'e*d%e(e   fd(       Z+e'd%e,ed)f   fd*       Z-y+),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
    MODE_rj  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   r   c                     t         NNotImplementedErrorr
  s     r   r  zSQLMode.get_desca      !!r   r  c                     t         rh  ri  )r  r  s     r   r  zSQLMode.get_infoe  rk  r   .c                     g }t        |       j                         D ]<  }|j                  d      rt        t	        | |      d      r,|j                  |       > t        t        |            S )zReturns 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.
        r@  __call__)varskeys
startswithhasattrgetattrr$  rC  sorted)r  r  keys      r   r  zSQLMode.get_full_infoi  s[     9>># 	 C>>#&wwsC7H*/U

3	  VC[!!r   N).r  r  r  r  rj  r  r  rH  rI  rJ  r  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  r   r   r  r  r  r
   r  r   r   r   rF  rF  3  s   	 GS(M3(,OS,$K$&L#&Hc22#<S<.c."J"FCE3CE3*NC*.c..c.HcGSD#!838 6#6440s0,OS,&L#&(M3(&BB$K$4444":C:#<S<"C "HSM " " "S "Xc] " " "eCHo " "r   rF  )9r  r   abcr   r   typingr   r   r   r   r	   r
   r   r   charsetsr   r   errorsr   tls_ciphersr   r   r   r  r  r   r   MYSQL_VECTOR_TYPE_CODEMYSQL_DEFAULT_CHARSET_ID_57MYSQL_DEFAULT_CHARSET_ID_80rT   r  boolrX   rc   rd   re   r   r   r   valuesr   r   r  r  r"  r'  ri  r  r  r  r  r  r  r  r'  rF  r   r   r   <module>r     s  : 2   P P P C $ G 3 #  #!" 3 " I  ! ! 7E7E
B7E 7E 	7E
 7E 7E K7E D7E 47E 47E y7E 7E t7E e7E %7E  !7E" #7E$ E%7E& '7E( $)7E* D+7E, T-7E. A/7E0 17E2 37E4 
557E6 d77E8 97E: t;7E< u=7E> 5?7E@ $A7EB C7ED EE7EF DG7EH dI7EJ 	$K7EL tM7EN 
4O7EP %Q7ER 4S7ET %U7EV !$W7EX uY7EZ $[7E\ u]7E^ _7E` Ta7Eb tc7Ed $e7Ef g7Eh m7E tC%T3*?!@@A 7r 'WuS#s]# V"uS#X " 3  02IId3i I QG)G)%G) &G) &':	G)
 &':G) )*@G) )*@G) )*DG) )*DG) )*@G) )*@G) )*DG) )*DG) *+BG) *+BG)  *+F!G)" *+F#G)$ *+B%G)& *+B'G)( *+F)G)* *+F+G), ,-F-G). ,-F/G)0 ,-J1G)2 ,-J3G)4 ./J5G)6 ./J7G)8 ./N9G): ./N;G)< *+>=G)> *+>?G)@ *+BAG)B *+BCG)D LEG)F LGG)H  4IG)J  4KG)L mMG)N mOG)P !"7QG)R !"7SG)T #$<UG)V #$<WG)X %&?YG)Z %&?[G)^ '(<_G)` '(<aG)b +,HcG)d +,HeG)f +,HgG)h +,HiG)j /0PkG)l /0PmG)n -.HoG)p -.HqG)r '(@sG)t '(@uG)v +,HwG)x +,HyG)z +,H{G)| +,H}G)@ 34TAG)B 34TCG)D 12PEG)F 12PGG)J KG)L /MG)N /OG)P MQG)R  !7SG)T  4UG)V  4WG)X  1YG)Z $%?[G)\ #$<]G)^ #$<_G)`  1aG)b $%?cG)d #$<eG)f #$<gG)h "#:iG)j "#:kG)l &'BmG)n &'BoG)p &'BqG)r &'BsG)t "#:uG)v "#:wG)x -yG)z -{G)| &'B}G)~ &'BG)@  5AG)B  5CG)D &'BEG)F &'BGG)H  5IG)J  5KG)L !"5MG)N &'COG)P %&@QG)R %&@SG)T ()FUG)V ()FWG)X 3YG)Z !"9[G)\ !"9]G)^ '(@_G)` '(@aG)b +,HcG)d +,HeG)f +,HgG)h +,HiG)j -.LkG)l -.LmG)n ,oG)p ,qG)r  4sG)t  4uG)v 0/"7"73P5T1L-D3P1L1LMG) tCH~ GV 76$B6 :) tCH~  %$0 4T#s(^+,  %++-$++-0 $sJsO+, c # $ 3 # c c $ DZ O

 O
d: :z.G .(F
m FRv vr? ?D
 
 J*; 2+: +\F FRC"j C"r   