<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def published(self, for_user=None, include_login_required=False):
 """ Override ``DisplayableManager.published`` to exclude pages with ``login_required`` set to ``True``. if the user is unauthenticated and the setting ``PAGES_PUBLISHED_INCLUDE_LOGIN_REQUIRED`` is ``False``. The extra ``include_login_required`` arg allows callers to override the ``PAGES_PUBLISHED_INCLUDE_LOGIN_REQUIRED`` behaviour in special cases where they want to deal with the ``login_required`` field manually, such as the case in ``PageMiddleware``. """

        published = super(PageManager, self).published(for_user=for_user)
        unauthenticated = for_user and not for_user.is_authenticated()
        if (unauthenticated and not include_login_required and
                not settings.PAGES_PUBLISHED_INCLUDE_LOGIN_REQUIRED):
            published = published.exclude(login_required=True)
        return published