@kexAlg.setter
    def kexAlg(self, value):
        # Check for supportedness.
        _kex.getKex(value)
        self._kexAlg = value

    # Client-initiated rekeying looks like this:
    #
    #  C> MSG_KEXINIT
    #  S> MSG_KEXINIT
    #  C> MSG_KEX_DH_GEX_REQUEST  or   MSG_KEXDH_INIT
    #  S> MSG_KEX_DH_GEX_GROUP    or   MSG_KEXDH_REPLY
    #  C> MSG_KEX_DH_GEX_INIT     or   --
    #  S> MSG_KEX_DH_GEX_REPLY    or   --
    #  C> MSG_NEWKEYS
    #  S> MSG_NEWKEYS
    #
    # Server-initiated rekeying is the same, only the first two messages are
    # switched.
Return last item with a key < k.  Raise ValueError if not found.
dataset/ETHPy150Open twisted/twisted/twisted/conch/ssh/transport.py/SSHTransportBase.kexAlg--crossover with--dataset/ETHPy150Open tabatkins/bikeshed/bikeshed/SortedList.py/SortedList.find_lt