U Yzf_Ö@sdZddlZddlmZddlmZdZdZdZdd d d d dd d dddddddddddddddddddddddddddddddd'Z dZ ddddgZ ddZ Gddde ZGdddeZGdddeZGdddeZGdd d eZGd!d"d"eZGd#d$d$eZGd%d&d&eZGd'd(d(eZGd)d*d*eZGd+d,d,eZd-d.d/d0d1d2d3d4d5d6g Zd7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdd.ZeZdedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd眂ZddddddZeeeedZeeeedZ dS)z+Various MySQL constants and character sets N)ProgrammingError)MYSQL_CHARACTER_SETSi z 127.0.0.1i TZutf8mb4F)'ZdatabaseuserpasswordhostportZ unix_socketZ use_unicodecharset collationZconverter_classZ autocommitZ time_zoneZsql_modeZ get_warningsZraise_on_warningsZconnection_timeoutZ client_flagscompressZbufferedrawZssl_caZssl_certZssl_keyZssl_verify_certZssl_verify_identityZ ssl_cipherZtls_ciphersuitesZ ssl_disabledZ tls_versionspasswddbconnect_timeoutZdsnZ force_ipv6Z auth_pluginZallow_local_infileZconsume_resultsZ conn_attrsZdns_srv)Z pool_nameZ pool_sizeZpool_reset_sessionTLSv1TLSv1.1TLSv1.2TLSv1.3cCs||@dkrdSdS)z.Checks if the flag is set Returns booleanrTF)flagflagsrrq/private/var/folders/n9/53xbvtmd7sjg1q1l55xmpg58n4mgng/T/pip-unpacked-wheel-47tvuv7y/mysql/connector/constants.py flag_is_setXs rc@sDeZdZdZdZiZddZeddZeddZ ed d Z d S) _Constantsz" Base class for constants rcCstd|jdS)NzCan not instanciate from %s) TypeError__name__clsrrr__new__hsz_Constants.__new__cCs$z|j|dWSYdSXdS)z!Get description of given constantrN)descr namerrrget_descksz_Constants.get_desccCs,|jD]\}}|d|kr |Sq dS)z$Get information about given constantrN)r"items)r setidr$inforrrget_infoss  z_Constants.get_infoc CsLd}zdd|jD}Wn*tk rF}z d|}W5d}~XYnX|S)z)get full information about given constantrcSs g|]\}}d||dfqS)z%s : %srr).0kvrrr sz,_Constants.get_full_info..z)No information found in constant class.%sN)r"r& Exception)r reserrrrr get_full_info{s z_Constants.get_full_infoN) r __module__ __qualname____doc__prefixr"r! classmethodr%r)r1rrrrras  rc@seZdZdZeddZdS)_Flagsz,Base class for classes describing flags cCs2g}|jD]\}}||d@r||q|S)z@Get the name of all bits set Returns a list of strings.r)r"r&append)r valuer/r$r(rrr get_bit_infos   z_Flags.get_bit_infoN)rr2r3r4r6r:rrrrr7sr7c@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;Z!e"dd?Z$e"d@dAZ%e"dBdCZ&dDS)E FieldTypezMySQL Field Types Z FIELD_TYPE_rr )rDECIMAL)rTINY)r<SHORT)r=LONG)r>FLOAT)r?DOUBLE)r@NULL)rA TIMESTAMP)rBLONGLONG)rCINT24)rDDATE)rETIME)rFDATETIME)rGYEAR)rHNEWDATE)rIVARCHAR)rJBIT)rKJSON)rL NEWDECIMAL)rMENUM)rNSET)rO TINY_BLOB)rP MEDIUM_BLOB)rQ LONG_BLOB)rRBLOB)rS VAR_STRING)rTSTRING)rUGEOMETRY)rVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqcCs|j|j|j|jgS)z Get the list of all string types)rerirorprrrrget_string_typess zFieldType.get_string_typescCs|j|j|j|jgS)z Get the list of all binary types)rkrlrmrnrrrrget_binary_typess zFieldType.get_binary_typesc Cs0|j|j|j|j|j|j|j|j|j|j |j g S)z Get the list of all number types) rVrhrWrXrYrZr[r^r_rfrcrrrrget_number_typesszFieldType.get_number_typescCs |j|jgS)z#Get the list of all timestamp types)rbr]rrrrget_timestamp_typesszFieldType.get_timestamp_typesN)'rr2r3r4r5rVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqr"r6rrrsrtrurrrrr;s   r;c@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0Zd1S)2 FieldFlagz_MySQL Field Flags Field flags as found in MySQL sources mysql-src/include/mysql_com.h rrr<r>rBrJ @rr@ )rzField can't be NULL)r<zField is part of a primary key)r>zField is part of a unique key)rBzField is part of a key)rJzField is a blob)rwzField is unsigned)rxzField is zerofill)ryzField is binary )rzzfield 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))rzIntern; Part of some key)r~zIntern: Group field)rIntern: Used by sql_yacc)rr)rzUsed to get fields in item tree)rzField part of partition func)rzIntern: Field used in ADD INDEX)rzIntern: Field is being renamed)NOT_NULLPRI_KEY UNIQUE_KEY MULTIPLE_KEYrnUNSIGNEDZEROFILLBINARYriAUTO_INCREMENTr]rjNO_DEFAULT_VALUE ON_UPDATE_NOWNUMPART_KEYGROUPUNIQUEBINCMPGET_FIXED_FIELDSFIELD_IN_PART_FUNCFIELD_IN_ADD_INDEXFIELD_IS_RENAMEDN)rr2r3r4_prefixrrrrrnrrrrirr]rjrrrrrrrrrrrr"rrrrrvsbrvc!@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdC Z%dDS)E ServerCmdzMySQL Server Commands ZCOM_rrr<r=r>r?r@rArBrCrDrErFrGrHrIrJ)rSLEEP)rQUIT)r<INIT_DB)r=QUERY)r> FIELD_LIST)r? CREATE_DB)r@DROP_DB)rAREFRESH)rBSHUTDOWN)rC STATISTICS)rD PROCESS_INFO)rECONNECT)rF PROCESS_KILL)rGDEBUG)rHPING)rIra)rJDELAYED_INSERT)r CHANGE_USER)r BINLOG_DUMP)r TABLE_DUMP)r CONNECT_OUT)rREGISTER_SLAVE)r STMT_PREPARE)r STMT_EXECUTE)rSTMT_SEND_LONG_DATA)r STMT_CLOSE)r STMT_RESET)r SET_OPTION)r STMT_FETCH)rDAEMON)rBINLOG_DUMP_GTID)rRESET_CONNECTION) rrrrrrrrrrrrrrrrarrrrrrrrrrrrrrrrN)&rr2r3r4rrrrrrrrrrrrrrrrrarrrrrrrrrrrrrrrrr"rrrrr9src@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8Zeeee eeeeeg Z e!d9d:Z"d;S)< ClientFlagzgMySQL Client Flags Client options as found in the MySQL sources mysql-src/include/mysql_com.h rr<r>rBrJrwrxryrzr{r|r}rrr~rrrrrrr@@)rzNew more secure passwords)r<zFound instead of affected rows)r>zGet all column flags)rBzOne can specify db on connect)rJz!Don't allow database.table.column)rwzCan use compression protocol)rxz ODBC client)ryzCan use LOAD DATA LOCAL)rzzIgnore 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)rzNew 4.1 authentication)rz!Enable/disable multi-stmt support)rzEnable/disable multi-results)rzMulti-results in PS-protocol)rz%Client supports plugin authentication)rz%Client supports connection attributes)rzAEnable authentication response packet to be larger than 255 bytes)rzADon't close the connection for a connection with expired password)rz3Capable of handling server state change information)rz!Client no longer needs EOF packet)rr)rr) LONG_PASSWD FOUND_ROWS LONG_FLAGCONNECT_WITH_DB NO_SCHEMACOMPRESSODBC LOCAL_FILES IGNORE_SPACE PROTOCOL_41 INTERACTIVESSLIGNORE_SIGPIPE TRANSACTIONSRESERVEDSECURE_CONNECTIONMULTI_STATEMENTS MULTI_RESULTSPS_MULTI_RESULTS PLUGIN_AUTH CONNECT_ARGSPLUGIN_AUTH_LENENC_CLIENT_DATACAN_HANDLE_EXPIRED_PASSWORDS SESION_TRACK DEPRECATE_EOFSSL_VERIFY_SERVER_CERTREMEMBER_OPTIONScCsd}|jD] }||O}q |S)zbGet the default client options set Returns a flag with all the default client options setr)default)r roptionrrr get_defaults  zClientFlag.get_defaultN)#rr2r3r4rrrrrrrrrrrrrrrrrrrrrrrrrrrr"rr6rrrrrrs  rc@sneZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdddddddddddddddZd S)! ServerFlagzeMySQL Server Flags Server flags as found in the MySQL sources mysql-src/include/mysql_com.h ZSERVER_rr<rBrJrwrxryrzr{r|r}rrr~)rzTransaction has started)r<zServer in auto_commit mode)rBzMulti query - next query exists)rJr)rwr)rxzESet when server opened a read-only non-scrollable cursor for a query.)ryz(Set when a read-only cursor is exhausted)rzzA database was dropped)r{r)r|zSet 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_ESCAPESSERVER_STATUS_METADATA_CHANGEDSERVER_QUERY_WAS_SLOWSERVER_PS_OUT_PARAMSSERVER_STATUS_IN_TRANS_READONLYSERVER_SESSION_STATE_CHANGEDN)rr2r3r4rZSTATUS_IN_TRANSZSTATUS_AUTOCOMMITZMORE_RESULTS_EXISTSZQUERY_NO_GOOD_INDEX_USEDZQUERY_NO_INDEX_USEDZSTATUS_CURSOR_EXISTSZSTATUS_LAST_ROW_SENTZSTATUS_DB_DROPPEDZSTATUS_NO_BACKSLASH_ESCAPESrrrrrr"rrrrrs>rc@sDeZdZdZdZdZdZdZdZdZ dZ d Z d d d d ddddZ dS) RefreshOptionzaMySQL Refresh command options Options used when sending the COM_REFRESH server command. ZREFRESH_rr<r>rBrJrwrx)rzRefresh grant tables)r<zStart on new log file)r>zclose all tables)rBzFlush host cache)rJzFlush status variables)rwzFlush thread cache)rxz*Reset master info and restart slave thread)GRANTLOGTABLESZHOSTSSTATUSTHREADSSLAVEN) rr2r3r4rrrrZHOSTrrrr"rrrrrs"rc @sjeZdZdZdZdZdZdZdZdZ dZ d Z d Z ed fed fed fedfe dfe dfe dfe dfdZ dS) ShutdownTypezVMySQL Shutdown types Shutdown types used by the COM_SHUTDOWN server command. rrrr<rBrJrrTrUz%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))SHUTDOWN_DEFAULTSHUTDOWN_WAIT_CONNECTIONSSHUTDOWN_WAIT_TRANSACTIONSSHUTDOWN_WAIT_UPDATESSHUTDOWN_WAIT_ALL_BUFFERSSHUTDOWN_WAIT_CRITICAL_BUFFERS KILL_QUERYKILL_CONNECTIONN)rr2r3r4rrrrrrrrrr"rrrrr-sFrc@sVeZdZdZeZdZeddZeddZ eddZ edd d Z ed d Z d S) 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. )rrGrTWXcCs<z|j|ddWStk r6td|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<zCharacter set '{0}' unsupportedN)r" IndexErrorrformatr r'rrrr)hs zCharacterSet.get_infocCs$zd||WSYnXdS)zRetrieves character set information as string using an ID Retrieves character set and collation information based on the given MySQL ID. Returns a tuple. z%s/%sN)r)r#rrrr%ys zCharacterSet.get_desccCst|trBz|j|}|d|d|fWStd|YnXt|jD]@\}}|dkr^qL|d|krL|ddkrL|d|d|fSqLtd|dS)zRetrieves the default collation for given character set Raises ProgrammingError when character set is not supported. Returns list (collation, charset, index) rrz"Character set ID '%s' unsupported.Nr<TzCharacter set '%s' unsupported.) isinstanceintr"r enumerate)r r r(cidrrrget_default_collations   z"CharacterSet.get_default_collationNcCsDt|trLz|j|}||d|dfWStk rJtd|YnX|dk r||dkr|||}|d|d|dfS|dkr|dk rt|jD]4\}}|dkrq||dkr||d|dfSqtd|ndt|jD]@\}}|dkrq|d|kr|d|kr||d|dfSq||}td|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) rrzCharacter set ID {0} unknown.Nr<zCollation '{0}' unknown.)r r r"rrr rr )r r r r(r_rrrget_charset_infos2      zCharacterSet.get_charset_infocCs6g}|jD]"}|r |d|kr ||dq t|S)z^Retrieves a list with names of all supproted character sets Returns a tuple. r)r"r8tuple)r r/r(rrr get_supporteds  zCharacterSet.get_supported)NN) rr2r3r4rr"Zslash_charsetsr6r)r%rrrrrrrrYs     +rc@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$e%d#d$Z&e%d%d&Z'e%d'd(Z(d)S)*SQLModezMySQL 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. See http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html ZMODE_ REAL_AS_FLOATPIPES_AS_CONCAT ANSI_QUOTESrNOT_USEDONLY_FULL_GROUP_BYNO_UNSIGNED_SUBTRACTIONNO_DIR_IN_CREATE POSTGRESQLORACLEMSSQLDB2MAXDBNO_KEY_OPTIONSNO_TABLE_OPTIONSNO_FIELD_OPTIONSMYSQL323MYSQL40ANSINO_AUTO_VALUE_ON_ZERONO_BACKSLASH_ESCAPESSTRICT_TRANS_TABLESSTRICT_ALL_TABLESNO_ZERO_IN_DATE NO_ZERO_DATE INVALID_DATESERROR_FOR_DIVISION_BY_ZERO TRADITIONALNO_AUTO_CREATE_USERHIGH_NOT_PRECEDENCENO_ENGINE_SUBSTITUTIONPAD_CHAR_TO_FULL_LENGTHcCstdSNNotImplementedErrorr#rrrr%szSQLMode.get_desccCstdSr4r5r rrrr)szSQLMode.get_infocCsFg}t|D](}|dstt||ds||qtt|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__)varskeys startswithhasattrgetattrr8rsorted)r r/keyrrrr1 s   zSQLMode.get_full_infoN))rr2r3r4rrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r6r%r)r1rrrrrsP  rZ_pid _platformZ _source_hostZ _client_nameZ_client_licenseZ_client_version_osZ_connector_nameZ_connector_licenseZ_connector_versionzNULL-MD5zNULL-SHAzRC4-MD5zRC4-SHAz IDEA-CBC-SHAz DES-CBC3-SHAzNot implemented.zDHE-DSS-DES-CBC3-SHAzDHE-RSA-DES-CBC3-SHAz ADH-RC4-MD5zADH-DES-CBC3-SHAz AES128-SHAz AES256-SHAzDH-DSS-AES128-SHAzDH-DSS-AES256-SHAzDH-RSA-AES128-SHAzDH-RSA-AES256-SHAzDHE-DSS-AES128-SHAzDHE-DSS-AES256-SHAzDHE-RSA-AES128-SHAzDHE-RSA-AES256-SHAzADH-AES128-SHAzADH-AES256-SHAzCAMELLIA128-SHAzCAMELLIA256-SHAzDH-DSS-CAMELLIA128-SHAzDH-DSS-CAMELLIA256-SHAzDH-RSA-CAMELLIA128-SHAzDH-RSA-CAMELLIA256-SHAzDHE-DSS-CAMELLIA128-SHAzDHE-DSS-CAMELLIA256-SHAzDHE-RSA-CAMELLIA128-SHAzDHE-RSA-CAMELLIA256-SHAzADH-CAMELLIA128-SHAzADH-CAMELLIA256-SHAzSEED-SHAzDH-DSS-SEED-SHAzDH-RSA-SEED-SHAzDHE-DSS-SEED-SHAzDHE-RSA-SEED-SHAz ADH-SEED-SHAzGOST94-GOST89-GOST89zGOST2001-GOST89-GOST89zGOST94-NULL-GOST94zGOST2001-NULL-GOST94).ZTLS_RSA_WITH_NULL_MD5ZTLS_RSA_WITH_NULL_SHAZTLS_RSA_WITH_RC4_128_MD5ZTLS_RSA_WITH_RC4_128_SHAZTLS_RSA_WITH_IDEA_CBC_SHAZTLS_RSA_WITH_3DES_EDE_CBC_SHAZ TLS_DH_DSS_WITH_3DES_EDE_CBC_SHAZ TLS_DH_RSA_WITH_3DES_EDE_CBC_SHAZ!TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHAZ!TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHAZTLS_DH_anon_WITH_RC4_128_MD5Z!TLS_DH_anon_WITH_3DES_EDE_CBC_SHAZTLS_RSA_WITH_AES_128_CBC_SHAZTLS_RSA_WITH_AES_256_CBC_SHAZTLS_DH_DSS_WITH_AES_128_CBC_SHAZTLS_DH_DSS_WITH_AES_256_CBC_SHAZTLS_DH_RSA_WITH_AES_128_CBC_SHAZTLS_DH_RSA_WITH_AES_256_CBC_SHAZ TLS_DHE_DSS_WITH_AES_128_CBC_SHAZ TLS_DHE_DSS_WITH_AES_256_CBC_SHAZ TLS_DHE_RSA_WITH_AES_128_CBC_SHAZ TLS_DHE_RSA_WITH_AES_256_CBC_SHAZ TLS_DH_anon_WITH_AES_128_CBC_SHAZ TLS_DH_anon_WITH_AES_256_CBC_SHAZ!TLS_RSA_WITH_CAMELLIA_128_CBC_SHAZ!TLS_RSA_WITH_CAMELLIA_256_CBC_SHAZ$TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHAZ$TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHAZ$TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHAZ$TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHAZ%TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHAZ%TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHAZ%TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHAZ%TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHAZ%TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHAZ%TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHAZTLS_RSA_WITH_SEED_CBC_SHAZTLS_DH_DSS_WITH_SEED_CBC_SHAZTLS_DH_RSA_WITH_SEED_CBC_SHAZTLS_DHE_DSS_WITH_SEED_CBC_SHAZTLS_DHE_RSA_WITH_SEED_CBC_SHAZTLS_DH_anon_WITH_SEED_CBC_SHAZ#TLS_GOSTR341094_WITH_28147_CNT_IMITZ#TLS_GOSTR341001_WITH_28147_CNT_IMITZ#TLS_GOSTR341094_WITH_NULL_GOSTR3411Z#TLS_GOSTR341001_WITH_NULL_GOSTR3411z NULL-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-CCMz AES128-CCM8z AES256-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-SHAz PSK-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_SHA256TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_CCM_SHA256TLS_AES_128_CCM_8_SHA256)rArBrCrDrE)rrrr)!r4sslerrorsrZcharsetsrZMAX_PACKET_LENGTHZNET_BUFFER_LENGTHZMAX_MYSQL_TABLE_COLUMNSZDEFAULT_CONFIGURATIONZ CNX_POOL_ARGSZ TLS_VERSIONSrobjectrr7r;rvrrrrrrrZ CONN_ATTRS_DNZTLSV1_CIPHER_SUITESZTLSV1_1_CIPHER_SUITESZTLSV1_2_CIPHER_SUITESZTLSV1_3_CIPHER_SUITESZTLS_CIPHER_SUITESvaluesZOPENSSL_CS_NAMESrrrrs  *  &e=IW;,CD#