code: def decode_bucket_props(self, msg):
          
          props = {}
          for prop in NORMAL_PROPS:
              if msg.HasField(prop):
                  props[prop] = getattr(msg, prop)
                  if isinstance(props[prop], bytes):
                      props[prop] = bytes_to_str(props[prop])
          for prop in COMMIT_HOOK_PROPS:
              if getattr(msg, 'has_' + prop):
                  props[prop] = self.decode_hooklist(getattr(msg, prop))
          for prop in MODFUN_PROPS:
              if msg.HasField(prop):
                  props[prop] = self.decode_modfun(getattr(msg, prop))
          for prop in QUORUM_PROPS:
              if msg.HasField(prop):
                  props[prop] = self.decode_quorum(getattr(msg, prop))
          if msg.HasField('repl'):
              props['repl'] = REPL_TO_PY[msg.repl]
          return props
docs: Decodes the protobuf bucket properties message into a dict.
  
          :param msg: the protobuf message to decode
          :type msg: riak.pb.riak_pb2.RpbBucketProps
          :rtype dict