<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def open_workshared_model(self, model_path, central=False, detached=False, keep_worksets=True, audit=False, show_workset_config=1):
 """Append a open workshared model entry to the journal. This instructs Revit to open a workshared model. Args: model_path (str):
 full path to workshared model central (bool):
 if True opens central model and not local detached (bool):
 if True opens a detached model keep_worksets (bool):
 if True keeps worksets when detaching audit (bool):
 if True audits the model when opening """

        if detached:
            if audit:
                if keep_worksets:
                    self._add_entry(
                        templates.CENTRAL_OPEN_DETACH_AUDIT
                                 .format(model_path=model_path,
                                         workset_config=show_workset_config)
                                 )
                else:
                    self._add_entry(
                        templates.CENTRAL_OPEN_DETACH_AUDIT_DISCARD
                                 .format(model_path=model_path,
                                         workset_config=show_workset_config)
                                 )
            else:
                if keep_worksets:
                    self._add_entry(
                        templates.CENTRAL_OPEN_DETACH
                                 .format(model_path=model_path,
                                         workset_config=show_workset_config)
                                 )
                else:
                    self._add_entry(
                        templates.CENTRAL_OPEN_DETACH_DISCARD
                                 .format(model_path=model_path,
                                         workset_config=show_workset_config)
                                 )
        elif central:
            if audit:
                self._add_entry(
                    templates.CENTRAL_OPEN_AUDIT
                             .format(model_path=model_path,
                                     workset_config=show_workset_config)
                             )
            else:
                self._add_entry(
                    templates.CENTRAL_OPEN
                             .format(model_path=model_path,
                                     workset_config=show_workset_config)
                             )
        else:
            if audit:
                self._add_entry(
                    templates.WORKSHARED_OPEN_AUDIT
                             .format(model_path=model_path,
                                     workset_config=show_workset_config)
                             )
            else:
                self._add_entry(
                    templates.WORKSHARED_OPEN
                             .format(model_path=model_path,
                                     workset_config=show_workset_config)
                             )