docs: def huffman_decode(cls, i, ibl):
          # type: (int, int) -> str
          """ huffman_decode decodes the bitstring provided as parameters.
  
          @param int i: the bitstring to decode
          @param int ibl: the bitlength of i
          @return str: the string decoded from the bitstring
          @raise AssertionError, InvalidEncodingException
          """
          assert(i >= 0)
          assert(ibl >= 0)
  
          if isinstance(cls.static_huffman_tree, type(None)):
              cls.huffman_compute_decode_tree()
          assert(not isinstance(cls.static_huffman_tree, type(None)))
  
          s = []
          j = 0
          interrupted = False
          cur = cls.static_huffman_tree
          cur_sym = 0
          cur_sym_bl = 0
          while j < ibl:
              b = (i >> (ibl - j - 1)) & 1
              cur_sym = (cur_sym << 1) + b
              cur_sym_bl += 1
              elmt = cur[b]
  
              if isinstance(elmt, HuffmanNode):
                  interrupted = True
                  cur = elmt
                  if isinstance(cur, type(None)):
                      raise AssertionError()
              elif isinstance(elmt, EOS):
                  raise InvalidEncodingException('Huffman decoder met the full EOS symbol')  # noqa: E501
              elif isinstance(elmt, bytes):
                  interrupted = False
                  s.append(elmt)
                  cur = cls.static_huffman_tree
                  cur_sym = 0
                  cur_sym_bl = 0
              else:
                  raise InvalidEncodingException('Should never happen, so incidentally it will')  # noqa: E501
              j += 1
  
          if interrupted:
              # Interrupted values true if the bitstring ends in the middle of a
              # symbol; this symbol must be, according to RFC7541 par5.2 the MSB
              # of the EOS symbol
              if cur_sym_bl > 7:
                  raise InvalidEncodingException('Huffman decoder is detecting padding longer than 7 bits')  # noqa: E501
              eos_symbol = cls.static_huffman_code[-1]
              eos_msb = eos_symbol[0] >> (eos_symbol[1] - cur_sym_bl)
              if eos_msb != cur_sym:
                  raise InvalidEncodingException('Huffman decoder is detecting unexpected padding format')  # noqa: E501
          return b''.join(s)