<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def markdown(self, text, gfm=False, project=None, **kwargs):
 """Render an arbitrary Markdown document. Args: text (str):
 The markdown text to render gfm (bool):
 Render text using GitLab Flavored Markdown. Default is False project (str):
 Full path of a project used a context when `gfm` is True **kwargs: Extra options to send to the server (e.g. sudo) Raises: GitlabAuthenticationError: If authentication is not correct GitlabMarkdownError: If the server cannot perform the request Returns: str: The HTML rendering of the markdown text. """

        post_data = {'text': text, 'gfm': gfm}
        if project is not None:
            post_data['project'] = project
        data = self.http_post('/markdown', post_data=post_data, **kwargs)
        return data['html']