code: function base32DecodeNextCharacter(chunk, characterIndex, buffer, index) {
      const byteIndex = Math.floor(index + (characterIndex * 5) / 8);
      const offset = characterIndex % 8;
      switch (offset) {
          case 0:
              buffer[byteIndex] |= chunk << 3;
              break;
          case 1:
              buffer[byteIndex] |= chunk >>> 2;
              buffer[byteIndex + 1] |= chunk << 6;
              break;
          case 2:
              buffer[byteIndex] |= chunk << 1;
              break;
          case 3:
              buffer[byteIndex] |= chunk >>> 4;
              buffer[byteIndex + 1] |= chunk << 4;
              break;
          case 4:
              buffer[byteIndex] |= chunk >>> 1;
              buffer[byteIndex + 1] |= chunk << 7;
              break;
          case 5:
              buffer[byteIndex] |= chunk << 2;
              break;
          case 6:
              buffer[byteIndex] |= chunk >>> 3;
              buffer[byteIndex + 1] |= chunk << 5;
              break;
          case 7:
              buffer[byteIndex] |= chunk;
              break;
      }
  }
docs: /*
  offset:    0        1        2        3        4        0
  byte:  00000111|11222223|33334444|45555566|66677777|...
  mask:   F8  07  C0 3E  01 F0  0F 80  7C 03  E0  1F   F8  07