protected function intToVlqBytes($int)
    {
        $bigint = \is_float($int + 0);
        $this->throwIfBigIntGmpNeeded($bigint);

        if ($bigint) {
            $int = \gmp_init($int);
            $bytes = \chr(\gmp_intval(\gmp_and(\gmp_init(0x7f), $int)));
            $int = \gmp_div($int, \gmp_pow(2, 7));
            $intVal = \gmp_intval($int);
        } else {
            $bytes = \chr(0x7f & $int);
            $int >>= 7;
            $intVal = $int;
        }

        while ($intVal > 0) {
            if ($bigint) {
                $bytes = \chr(\gmp_intval(\gmp_or(\gmp_and(\gmp_init(0x7f), $int), \gmp_init(0x80)))).$bytes;
                $int = \gmp_div($int, \gmp_pow('2', 7));
                $intVal = \gmp_intval($int);
            } else {
                $bytes = \chr((0x7f & $int) | 0x80).$bytes;
                $int >>= 7;
                $intVal = $int;
            }
        }

        return $bytes;
    }