From da87859a325a01b256b9890674d0503202e54863 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Thu, 28 Sep 2023 22:30:45 +0200 Subject: [PATCH 01/13] Renamed admin's action_list to historical_records This is a more accurate name for the contents of the queryset. Also did a small cleanup of `_object_history_list.html`, incl. removing the `scope` attribute of a `` tag, as it's been deprecated for those tags (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#scope). --- simple_history/admin.py | 16 ++++++------- .../simple_history/_object_history_list.html | 24 +++++++++++-------- .../simple_history/object_history.html | 2 +- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/simple_history/admin.py b/simple_history/admin.py index 34e3033fe..a126ab2f1 100644 --- a/simple_history/admin.py +++ b/simple_history/admin.py @@ -46,29 +46,29 @@ def history_view(self, request, object_id, extra_context=None): pk_name = opts.pk.attname history = getattr(model, model._meta.simple_history_manager_attribute) object_id = unquote(object_id) - action_list = history.filter(**{pk_name: object_id}) + historical_records = history.filter(**{pk_name: object_id}) if not isinstance(history.model.history_user, property): # Only select_related when history_user is a ForeignKey (not a property) - action_list = action_list.select_related("history_user") + historical_records = historical_records.select_related("history_user") history_list_display = getattr(self, "history_list_display", []) # If no history was found, see whether this object even exists. try: obj = self.get_queryset(request).get(**{pk_name: object_id}) except model.DoesNotExist: try: - obj = action_list.latest("history_date").instance - except action_list.model.DoesNotExist: + obj = historical_records.latest("history_date").instance + except historical_records.model.DoesNotExist: raise http.Http404 if not self.has_view_history_or_change_history_permission(request, obj): raise PermissionDenied - # Set attribute on each action_list entry from admin methods + # Set attribute on each historical record from admin methods for history_list_entry in history_list_display: value_for_entry = getattr(self, history_list_entry, None) if value_for_entry and callable(value_for_entry): - for list_entry in action_list: - setattr(list_entry, history_list_entry, value_for_entry(list_entry)) + for record in historical_records: + setattr(record, history_list_entry, value_for_entry(record)) content_type = self.content_type_model_cls.objects.get_for_model( get_user_model() @@ -80,7 +80,7 @@ def history_view(self, request, object_id, extra_context=None): ) context = { "title": self.history_view_title(request, obj), - "action_list": action_list, + "historical_records": historical_records, "module_name": capfirst(force_str(opts.verbose_name_plural)), "object": obj, "root_path": getattr(self.admin_site, "root_path", None), diff --git a/simple_history/templates/simple_history/_object_history_list.html b/simple_history/templates/simple_history/_object_history_list.html index 0dd575cc5..cd79b28b1 100644 --- a/simple_history/templates/simple_history/_object_history_list.html +++ b/simple_history/templates/simple_history/_object_history_list.html @@ -17,28 +17,32 @@ - {% for action in action_list %} + {% for record in historical_records %} - {{ action.history_object }} + + + {{ record.history_object }} + + {% for column in history_list_display %} - {{ action|getattribute:column }} + {{ record|getattribute:column }} {% endfor %} - {{ action.history_date }} - {{ action.get_history_type_display }} + {{ record.history_date }} + {{ record.get_history_type_display }} - {% if action.history_user %} - {% url admin_user_view action.history_user_id as admin_user_url %} + {% if record.history_user %} + {% url admin_user_view record.history_user_id as admin_user_url %} {% if admin_user_url %} - {{ action.history_user }} + {{ record.history_user }} {% else %} - {{ action.history_user }} + {{ record.history_user }} {% endif %} {% else %} {% trans "None" %} {% endif %} - {{ action.history_change_reason }} + {{ record.history_change_reason }} {% endfor %} diff --git a/simple_history/templates/simple_history/object_history.html b/simple_history/templates/simple_history/object_history.html index 163679b22..c1e79d133 100644 --- a/simple_history/templates/simple_history/object_history.html +++ b/simple_history/templates/simple_history/object_history.html @@ -10,7 +10,7 @@ {% if not revert_disabled %}

{% blocktrans %}Choose a date from the list below to revert to a previous version of this object.{% endblocktrans %}

{% endif %}
- {% if action_list %} + {% if historical_records %} {% display_list %} {% else %}

{% trans "This object doesn't have a change history." %}

From 16b7de7482d0898c9f83c9042c01442fe35ba66e Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Sat, 24 Feb 2024 22:08:25 +0100 Subject: [PATCH 02/13] Made object history list template overridable Including renaming it to remove the `_` prefix (indicating that it's internal / not meant for usage by library users), and adding an `object_history_list_template` field to the admin class. This rename also changed the order of messages in the translation files. Also deprecated the template tag `simple_history_admin_list.display_list`, as it's now entirely unused within the project. --- CHANGES.rst | 6 +++ docs/admin.rst | 18 +++++++ simple_history/admin.py | 2 + .../locale/ar/LC_MESSAGES/django.po | 48 +++++++++---------- .../locale/cs_CZ/LC_MESSAGES/django.po | 48 +++++++++---------- .../locale/de/LC_MESSAGES/django.po | 48 +++++++++---------- .../locale/fr/LC_MESSAGES/django.po | 48 +++++++++---------- .../locale/id/LC_MESSAGES/django.po | 48 +++++++++---------- .../locale/nb/LC_MESSAGES/django.po | 48 +++++++++---------- .../locale/pl/LC_MESSAGES/django.po | 40 ++++++++-------- .../locale/pt_BR/LC_MESSAGES/django.po | 40 ++++++++-------- .../locale/ru_RU/LC_MESSAGES/django.po | 48 +++++++++---------- .../locale/ur/LC_MESSAGES/django.po | 48 +++++++++---------- .../locale/zh_Hans/LC_MESSAGES/django.po | 48 +++++++++---------- .../simple_history/object_history.html | 5 +- ...ory_list.html => object_history_list.html} | 0 .../templatetags/simple_history_admin_list.py | 9 +++- .../tests/tests/test_deprecation.py | 13 +++++ 18 files changed, 304 insertions(+), 261 deletions(-) rename simple_history/templates/simple_history/{_object_history_list.html => object_history_list.html} (100%) create mode 100644 simple_history/tests/tests/test_deprecation.py diff --git a/CHANGES.rst b/CHANGES.rst index 653c6951e..270a82d44 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Unreleased ---------- - Support custom History ``Manager`` and ``QuerySet`` classes (gh-1280) +- Renamed the (previously internal) admin template + ``simple_history/_object_history_list.html`` to + ``simple_history/object_history_list.html``, and added the field + ``SimpleHistoryAdmin.object_history_list_template`` for overriding it (gh-1128) +- Deprecated the undocumented template tag ``simple_history_admin_list.display_list()``; + it will be removed in version 3.8 (gh-1128) 3.5.0 (2024-02-19) ------------------ diff --git a/docs/admin.rst b/docs/admin.rst index 1b34f92c4..ba9cf1cd9 100644 --- a/docs/admin.rst +++ b/docs/admin.rst @@ -69,6 +69,24 @@ admin class .. image:: screens/5_history_list_display.png + +Customizing the History Admin Templates +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you'd like to customize the HTML of ``SimpleHistoryAdmin``'s object history pages, +you can override the following attributes with the names of your own templates: + +- ``object_history_template``: The main object history page, which includes (inserts) + ``object_history_list_template``. +- ``object_history_list_template``: The table listing an object's historical records and + the changes made between them. +- ``object_history_form_template``: The form pre-filled with the details of an object's + historical record, which also allows you to revert the object to a previous version. + +If you'd like to only customize certain parts of the mentioned templates, look for +``block`` template tags in the source code that you can override. + + Disabling the option to revert an object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/simple_history/admin.py b/simple_history/admin.py index a126ab2f1..758b13f5f 100644 --- a/simple_history/admin.py +++ b/simple_history/admin.py @@ -20,6 +20,7 @@ class SimpleHistoryAdmin(admin.ModelAdmin): object_history_template = "simple_history/object_history.html" + object_history_list_template = "simple_history/object_history_list.html" object_history_form_template = "simple_history/object_history_form.html" def get_urls(self): @@ -80,6 +81,7 @@ def history_view(self, request, object_id, extra_context=None): ) context = { "title": self.history_view_title(request, obj), + "object_history_list_template": self.object_history_list_template, "historical_records": historical_records, "module_name": capfirst(force_str(opts.verbose_name_plural)), "object": obj, diff --git a/simple_history/locale/ar/LC_MESSAGES/django.po b/simple_history/locale/ar/LC_MESSAGES/django.po index 109e825e4..c7234735e 100644 --- a/simple_history/locale/ar/LC_MESSAGES/django.po +++ b/simple_history/locale/ar/LC_MESSAGES/django.po @@ -60,30 +60,6 @@ msgstr "تغيير" msgid "Deleted" msgstr "تمت إزالته" -#: simple_history/templates/simple_history/_object_history_list.html:9 -msgid "Object" -msgstr "عنصر" - -#: simple_history/templates/simple_history/_object_history_list.html:13 -msgid "Date/time" -msgstr "التاريخ/الوقت" - -#: simple_history/templates/simple_history/_object_history_list.html:14 -msgid "Comment" -msgstr "تعليق" - -#: simple_history/templates/simple_history/_object_history_list.html:15 -msgid "Changed by" -msgstr "تغير من قبل" - -#: simple_history/templates/simple_history/_object_history_list.html:16 -msgid "Change reason" -msgstr "سبب التغير" - -#: simple_history/templates/simple_history/_object_history_list.html:37 -msgid "None" -msgstr "فارغ" - #: simple_history/templates/simple_history/object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " @@ -121,6 +97,30 @@ msgstr "اضغط على زر 'استرجاع' ادناه للاسترجاع له msgid "Press the 'Change History' button below to edit the history." msgstr "اضغط على زر 'تعديل سجل التغيرات' ادناه لتعديل التاريخ." +#: simple_history/templates/simple_history/object_history_list.html:9 +msgid "Object" +msgstr "عنصر" + +#: simple_history/templates/simple_history/object_history_list.html:13 +msgid "Date/time" +msgstr "التاريخ/الوقت" + +#: simple_history/templates/simple_history/object_history_list.html:14 +msgid "Comment" +msgstr "تعليق" + +#: simple_history/templates/simple_history/object_history_list.html:15 +msgid "Changed by" +msgstr "تغير من قبل" + +#: simple_history/templates/simple_history/object_history_list.html:16 +msgid "Change reason" +msgstr "سبب التغير" + +#: simple_history/templates/simple_history/object_history_list.html:42 +msgid "None" +msgstr "فارغ" + #: simple_history/templates/simple_history/submit_line.html:4 msgid "Revert" msgstr "استرجاع" diff --git a/simple_history/locale/cs_CZ/LC_MESSAGES/django.po b/simple_history/locale/cs_CZ/LC_MESSAGES/django.po index 0f8dd76e6..aa8dabca6 100644 --- a/simple_history/locale/cs_CZ/LC_MESSAGES/django.po +++ b/simple_history/locale/cs_CZ/LC_MESSAGES/django.po @@ -59,30 +59,6 @@ msgstr "Změněno" msgid "Deleted" msgstr "Smazáno" -#: simple_history/templates/simple_history/_object_history_list.html:9 -msgid "Object" -msgstr "Objekt" - -#: simple_history/templates/simple_history/_object_history_list.html:13 -msgid "Date/time" -msgstr "Datum/čas" - -#: simple_history/templates/simple_history/_object_history_list.html:14 -msgid "Comment" -msgstr "Komentář" - -#: simple_history/templates/simple_history/_object_history_list.html:15 -msgid "Changed by" -msgstr "Změnil" - -#: simple_history/templates/simple_history/_object_history_list.html:16 -msgid "Change reason" -msgstr "Důvod změny" - -#: simple_history/templates/simple_history/_object_history_list.html:37 -msgid "None" -msgstr "Žádné" - #: simple_history/templates/simple_history/object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " @@ -121,6 +97,30 @@ msgstr "Stisknutím tlačítka 'Vrátit změny' se vrátíte k této verzi objek msgid "Press the 'Change History' button below to edit the history." msgstr "Chcete-li historii upravit, stiskněte tlačítko 'Změnit historii'" +#: simple_history/templates/simple_history/object_history_list.html:9 +msgid "Object" +msgstr "Objekt" + +#: simple_history/templates/simple_history/object_history_list.html:13 +msgid "Date/time" +msgstr "Datum/čas" + +#: simple_history/templates/simple_history/object_history_list.html:14 +msgid "Comment" +msgstr "Komentář" + +#: simple_history/templates/simple_history/object_history_list.html:15 +msgid "Changed by" +msgstr "Změnil" + +#: simple_history/templates/simple_history/object_history_list.html:16 +msgid "Change reason" +msgstr "Důvod změny" + +#: simple_history/templates/simple_history/object_history_list.html:42 +msgid "None" +msgstr "Žádné" + #: simple_history/templates/simple_history/submit_line.html:4 msgid "Revert" msgstr "Vrátit změny" diff --git a/simple_history/locale/de/LC_MESSAGES/django.po b/simple_history/locale/de/LC_MESSAGES/django.po index 37ac7542e..e38d45689 100644 --- a/simple_history/locale/de/LC_MESSAGES/django.po +++ b/simple_history/locale/de/LC_MESSAGES/django.po @@ -48,30 +48,6 @@ msgstr "Geändert" msgid "Deleted" msgstr "Gelöscht" -#: simple_history/templates/simple_history/_object_history_list.html:9 -msgid "Object" -msgstr "Objekt" - -#: simple_history/templates/simple_history/_object_history_list.html:13 -msgid "Date/time" -msgstr "Datum/Uhrzeit" - -#: simple_history/templates/simple_history/_object_history_list.html:14 -msgid "Comment" -msgstr "Kommentar" - -#: simple_history/templates/simple_history/_object_history_list.html:15 -msgid "Changed by" -msgstr "Geändert von" - -#: simple_history/templates/simple_history/_object_history_list.html:16 -msgid "Change reason" -msgstr "Änderungsgrund" - -#: simple_history/templates/simple_history/_object_history_list.html:37 -msgid "None" -msgstr "Keine/r" - #: simple_history/templates/simple_history/object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " @@ -108,6 +84,30 @@ msgstr "" msgid "Or press the 'Change History' button to edit the history." msgstr "Oder wählen Sie 'Historie ändern', um diese zu bearbeiten." +#: simple_history/templates/simple_history/object_history_list.html:9 +msgid "Object" +msgstr "Objekt" + +#: simple_history/templates/simple_history/object_history_list.html:13 +msgid "Date/time" +msgstr "Datum/Uhrzeit" + +#: simple_history/templates/simple_history/object_history_list.html:14 +msgid "Comment" +msgstr "Kommentar" + +#: simple_history/templates/simple_history/object_history_list.html:15 +msgid "Changed by" +msgstr "Geändert von" + +#: simple_history/templates/simple_history/object_history_list.html:16 +msgid "Change reason" +msgstr "Änderungsgrund" + +#: simple_history/templates/simple_history/object_history_list.html:42 +msgid "None" +msgstr "Keine/r" + #: simple_history/templates/simple_history/submit_line.html:3 msgid "Revert" msgstr "Wiederherstellen" diff --git a/simple_history/locale/fr/LC_MESSAGES/django.po b/simple_history/locale/fr/LC_MESSAGES/django.po index 883afbad8..6528938c8 100644 --- a/simple_history/locale/fr/LC_MESSAGES/django.po +++ b/simple_history/locale/fr/LC_MESSAGES/django.po @@ -59,30 +59,6 @@ msgstr "Modifié" msgid "Deleted" msgstr "Effacé" -#: .\simple_history\templates\simple_history\_object_history_list.html:9 -msgid "Object" -msgstr "Objet" - -#: .\simple_history\templates\simple_history\_object_history_list.html:13 -msgid "Date/time" -msgstr "Date/heure" - -#: .\simple_history\templates\simple_history\_object_history_list.html:14 -msgid "Comment" -msgstr "Commentaire" - -#: .\simple_history\templates\simple_history\_object_history_list.html:15 -msgid "Changed by" -msgstr "Modifié par" - -#: .\simple_history\templates\simple_history\_object_history_list.html:16 -msgid "Change reason" -msgstr "Raison de la modification" - -#: .\simple_history\templates\simple_history\_object_history_list.html:37 -msgid "None" -msgstr "Aucun" - #: .\simple_history\templates\simple_history\object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " @@ -125,6 +101,30 @@ msgid "Press the 'Change History' button below to edit the history." msgstr "" "Cliquez sur le bouton 'Historique' ci-dessous pour modifier l'historique." +#: .\simple_history\templates\simple_history\object_history_list.html:9 +msgid "Object" +msgstr "Objet" + +#: .\simple_history\templates\simple_history\object_history_list.html:13 +msgid "Date/time" +msgstr "Date/heure" + +#: .\simple_history\templates\simple_history\object_history_list.html:14 +msgid "Comment" +msgstr "Commentaire" + +#: .\simple_history\templates\simple_history\object_history_list.html:15 +msgid "Changed by" +msgstr "Modifié par" + +#: .\simple_history\templates\simple_history\object_history_list.html:16 +msgid "Change reason" +msgstr "Raison de la modification" + +#: .\simple_history\templates\simple_history\object_history_list.html:42 +msgid "None" +msgstr "Aucun" + #: .\simple_history\templates\simple_history\submit_line.html:4 msgid "Revert" msgstr "Rétablir" diff --git a/simple_history/locale/id/LC_MESSAGES/django.po b/simple_history/locale/id/LC_MESSAGES/django.po index 86e9e2848..b649d6b39 100644 --- a/simple_history/locale/id/LC_MESSAGES/django.po +++ b/simple_history/locale/id/LC_MESSAGES/django.po @@ -58,30 +58,6 @@ msgstr "Diubah" msgid "Deleted" msgstr "Dihapus" -#: .\simple_history\templates\simple_history\_object_history_list.html:9 -msgid "Object" -msgstr "Objek" - -#: .\simple_history\templates\simple_history\_object_history_list.html:13 -msgid "Date/time" -msgstr "Tanggal/waktu" - -#: .\simple_history\templates\simple_history\_object_history_list.html:14 -msgid "Comment" -msgstr "Komentar" - -#: .\simple_history\templates\simple_history\_object_history_list.html:15 -msgid "Changed by" -msgstr "Diubah oleh" - -#: .\simple_history\templates\simple_history\_object_history_list.html:16 -msgid "Change reason" -msgstr "Alasan perubahan" - -#: .\simple_history\templates\simple_history\_object_history_list.html:37 -msgid "None" -msgstr "Tidak ada" - #: .\simple_history\templates\simple_history\object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " @@ -122,6 +98,30 @@ msgstr "" msgid "Press the 'Change History' button below to edit the history." msgstr "Tekan tombol 'Ubah Riwayat' di bawah ini untuk mengubah riwayat." +#: .\simple_history\templates\simple_history\object_history_list.html:9 +msgid "Object" +msgstr "Objek" + +#: .\simple_history\templates\simple_history\object_history_list.html:13 +msgid "Date/time" +msgstr "Tanggal/waktu" + +#: .\simple_history\templates\simple_history\object_history_list.html:14 +msgid "Comment" +msgstr "Komentar" + +#: .\simple_history\templates\simple_history\object_history_list.html:15 +msgid "Changed by" +msgstr "Diubah oleh" + +#: .\simple_history\templates\simple_history\object_history_list.html:16 +msgid "Change reason" +msgstr "Alasan perubahan" + +#: .\simple_history\templates\simple_history\object_history_list.html:42 +msgid "None" +msgstr "Tidak ada" + #: .\simple_history\templates\simple_history\submit_line.html:4 msgid "Revert" msgstr "Kembalikan" diff --git a/simple_history/locale/nb/LC_MESSAGES/django.po b/simple_history/locale/nb/LC_MESSAGES/django.po index e2167f858..fdbd51d41 100644 --- a/simple_history/locale/nb/LC_MESSAGES/django.po +++ b/simple_history/locale/nb/LC_MESSAGES/django.po @@ -60,30 +60,6 @@ msgstr "Endret" msgid "Deleted" msgstr "Slettet" -#: simple_history/templates/simple_history/_object_history_list.html:9 -msgid "Object" -msgstr "Objekt" - -#: simple_history/templates/simple_history/_object_history_list.html:13 -msgid "Date/time" -msgstr "Dato/tid" - -#: simple_history/templates/simple_history/_object_history_list.html:14 -msgid "Comment" -msgstr "Kommentar" - -#: simple_history/templates/simple_history/_object_history_list.html:15 -msgid "Changed by" -msgstr "Endret av" - -#: simple_history/templates/simple_history/_object_history_list.html:16 -msgid "Change reason" -msgstr "Endringsårsak" - -#: simple_history/templates/simple_history/_object_history_list.html:37 -msgid "None" -msgstr "Ingen" - #: simple_history/templates/simple_history/object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " @@ -125,6 +101,30 @@ msgstr "" msgid "Press the 'Change History' button below to edit the history." msgstr "Trykk på 'Endre historikk'-knappen under for å endre historikken." +#: simple_history/templates/simple_history/object_history_list.html:9 +msgid "Object" +msgstr "Objekt" + +#: simple_history/templates/simple_history/object_history_list.html:13 +msgid "Date/time" +msgstr "Dato/tid" + +#: simple_history/templates/simple_history/object_history_list.html:14 +msgid "Comment" +msgstr "Kommentar" + +#: simple_history/templates/simple_history/object_history_list.html:15 +msgid "Changed by" +msgstr "Endret av" + +#: simple_history/templates/simple_history/object_history_list.html:16 +msgid "Change reason" +msgstr "Endringsårsak" + +#: simple_history/templates/simple_history/object_history_list.html:42 +msgid "None" +msgstr "Ingen" + #: simple_history/templates/simple_history/submit_line.html:4 msgid "Revert" msgstr "Tilbakestill" diff --git a/simple_history/locale/pl/LC_MESSAGES/django.po b/simple_history/locale/pl/LC_MESSAGES/django.po index 161b014c2..d420d2ebc 100644 --- a/simple_history/locale/pl/LC_MESSAGES/django.po +++ b/simple_history/locale/pl/LC_MESSAGES/django.po @@ -57,26 +57,6 @@ msgid "" msgstr "" "Wybierz datę z poniższej listy aby przywrócić poprzednią wersję tego obiektu." -#: templates/simple_history/object_history.html:17 -msgid "Object" -msgstr "Obiekt" - -#: templates/simple_history/object_history.html:18 -msgid "Date/time" -msgstr "Data/czas" - -#: templates/simple_history/object_history.html:19 -msgid "Comment" -msgstr "Komentarz" - -#: templates/simple_history/object_history.html:20 -msgid "Changed by" -msgstr "Zmodyfikowane przez" - -#: templates/simple_history/object_history.html:38 -msgid "None" -msgstr "Brak" - #: templates/simple_history/object_history.html:46 msgid "This object doesn't have a change history." msgstr "Ten obiekt nie ma historii zmian." @@ -103,6 +83,26 @@ msgstr "Naciśnij przycisk „Przywróć” aby przywrócić tę wersję obiektu msgid "Or press the 'Change History' button to edit the history." msgstr "Lub naciśnij przycisk „Historia zmian” aby edytować historię." +#: templates/simple_history/object_history_list.html:9 +msgid "Object" +msgstr "Obiekt" + +#: templates/simple_history/object_history_list.html:13 +msgid "Date/time" +msgstr "Data/czas" + +#: templates/simple_history/object_history_list.html:14 +msgid "Comment" +msgstr "Komentarz" + +#: templates/simple_history/object_history_list.html:15 +msgid "Changed by" +msgstr "Zmodyfikowane przez" + +#: templates/simple_history/object_history_list.html:42 +msgid "None" +msgstr "Brak" + #: templates/simple_history/submit_line.html:3 msgid "Revert" msgstr "Przywróć" diff --git a/simple_history/locale/pt_BR/LC_MESSAGES/django.po b/simple_history/locale/pt_BR/LC_MESSAGES/django.po index b328efa9c..f5286ece4 100644 --- a/simple_history/locale/pt_BR/LC_MESSAGES/django.po +++ b/simple_history/locale/pt_BR/LC_MESSAGES/django.po @@ -57,26 +57,6 @@ msgstr "" "Escolha a data desejada na lista a seguir para reverter as modificações " "feitas nesse objeto." -#: simple_history/templates/simple_history/object_history.html:17 -msgid "Object" -msgstr "Objeto" - -#: simple_history/templates/simple_history/object_history.html:18 -msgid "Date/time" -msgstr "Data/hora" - -#: simple_history/templates/simple_history/object_history.html:19 -msgid "Comment" -msgstr "Comentário" - -#: simple_history/templates/simple_history/object_history.html:20 -msgid "Changed by" -msgstr "Modificado por" - -#: simple_history/templates/simple_history/object_history.html:38 -msgid "None" -msgstr "-" - #: simple_history/templates/simple_history/object_history.html:46 msgid "This object doesn't have a change history." msgstr "Esse objeto não tem um histórico de modificações." @@ -104,6 +84,26 @@ msgstr "" msgid "Or press the 'Change History' button to edit the history." msgstr "Ou clique em 'Histórico de Modificações' para modificar o histórico." +#: simple_history/templates/simple_history/object_history_list.html:9 +msgid "Object" +msgstr "Objeto" + +#: simple_history/templates/simple_history/object_history_list.html:13 +msgid "Date/time" +msgstr "Data/hora" + +#: simple_history/templates/simple_history/object_history_list.html:14 +msgid "Comment" +msgstr "Comentário" + +#: simple_history/templates/simple_history/object_history_list.html:15 +msgid "Changed by" +msgstr "Modificado por" + +#: simple_history/templates/simple_history/object_history_list.html:42 +msgid "None" +msgstr "-" + #: simple_history/templates/simple_history/submit_line.html:3 msgid "Revert" msgstr "Reverter" diff --git a/simple_history/locale/ru_RU/LC_MESSAGES/django.po b/simple_history/locale/ru_RU/LC_MESSAGES/django.po index 9865513d7..c50888eae 100644 --- a/simple_history/locale/ru_RU/LC_MESSAGES/django.po +++ b/simple_history/locale/ru_RU/LC_MESSAGES/django.po @@ -50,26 +50,6 @@ msgstr "Изменено" msgid "Deleted" msgstr "Удалено" -#: templates/simple_history/_object_history_list.html:9 -msgid "Object" -msgstr "Объект" - -#: templates/simple_history/_object_history_list.html:13 -msgid "Date/time" -msgstr "Дата/время" - -#: templates/simple_history/_object_history_list.html:14 -msgid "Comment" -msgstr "Комментарий" - -#: templates/simple_history/_object_history_list.html:15 -msgid "Changed by" -msgstr "Изменено" - -#: templates/simple_history/_object_history_list.html:36 -msgid "None" -msgstr "None" - #: templates/simple_history/object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " @@ -105,6 +85,30 @@ msgstr "" msgid "Or press the 'Change History' button to edit the history." msgstr "Или нажмите кнопку 'Изменить запись', чтобы изменить историю." +#: templates/simple_history/object_history_list.html:9 +msgid "Object" +msgstr "Объект" + +#: templates/simple_history/object_history_list.html:13 +msgid "Date/time" +msgstr "Дата/время" + +#: templates/simple_history/object_history_list.html:14 +msgid "Comment" +msgstr "Комментарий" + +#: templates/simple_history/object_history_list.html:15 +msgid "Changed by" +msgstr "Изменено" + +#: templates/simple_history/object_history_list.html:16 +msgid "Change reason" +msgstr "Причина изменения" + +#: templates/simple_history/object_history_list.html:42 +msgid "None" +msgstr "None" + #: templates/simple_history/submit_line.html:3 msgid "Revert" msgstr "Восстановить" @@ -112,7 +116,3 @@ msgstr "Восстановить" #: templates/simple_history/submit_line.html:4 msgid "Change History" msgstr "Изменить запись" - -#: templates/simple_history/_object_history_list.html:16 -msgid "Change reason" -msgstr "Причина изменения" diff --git a/simple_history/locale/ur/LC_MESSAGES/django.po b/simple_history/locale/ur/LC_MESSAGES/django.po index dc9c014e2..a55605eb9 100644 --- a/simple_history/locale/ur/LC_MESSAGES/django.po +++ b/simple_history/locale/ur/LC_MESSAGES/django.po @@ -58,30 +58,6 @@ msgstr "بدل گیا" msgid "Deleted" msgstr "حذف کر دیا گیا" -#: .\simple_history\templates\simple_history\_object_history_list.html:9 -msgid "Object" -msgstr "آبجیکٹ" - -#: .\simple_history\templates\simple_history\_object_history_list.html:13 -msgid "Date/time" -msgstr "تاریخ/وقت" - -#: .\simple_history\templates\simple_history\_object_history_list.html:14 -msgid "Comment" -msgstr "تبصرہ" - -#: .\simple_history\templates\simple_history\_object_history_list.html:15 -msgid "Changed by" -msgstr "کی طرف سے تبدیل" - -#: .\simple_history\templates\simple_history\_object_history_list.html:16 -msgid "Change reason" -msgstr "تبدیلی کا سبب" - -#: .\simple_history\templates\simple_history\_object_history_list.html:37 -msgid "None" -msgstr "کوئی نہیں" - #: .\simple_history\templates\simple_history\object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " @@ -121,6 +97,30 @@ msgstr "" msgid "Press the 'Change History' button below to edit the history." msgstr "تاریخ میں ترمیم کرنے کے لیے نیچے دیے گئے 'تاریخ کو تبدیل کریں' کے بٹن کو دبائیں." +#: .\simple_history\templates\simple_history\object_history_list.html:9 +msgid "Object" +msgstr "آبجیکٹ" + +#: .\simple_history\templates\simple_history\object_history_list.html:13 +msgid "Date/time" +msgstr "تاریخ/وقت" + +#: .\simple_history\templates\simple_history\object_history_list.html:14 +msgid "Comment" +msgstr "تبصرہ" + +#: .\simple_history\templates\simple_history\object_history_list.html:15 +msgid "Changed by" +msgstr "کی طرف سے تبدیل" + +#: .\simple_history\templates\simple_history\object_history_list.html:16 +msgid "Change reason" +msgstr "تبدیلی کا سبب" + +#: .\simple_history\templates\simple_history\object_history_list.html:42 +msgid "None" +msgstr "کوئی نہیں" + #: .\simple_history\templates\simple_history\submit_line.html:4 msgid "Revert" msgstr "تبدیلی واپس کریں" diff --git a/simple_history/locale/zh_Hans/LC_MESSAGES/django.po b/simple_history/locale/zh_Hans/LC_MESSAGES/django.po index c69ba1ce8..0fe74ebfe 100644 --- a/simple_history/locale/zh_Hans/LC_MESSAGES/django.po +++ b/simple_history/locale/zh_Hans/LC_MESSAGES/django.po @@ -58,30 +58,6 @@ msgstr "已修改" msgid "Deleted" msgstr "已删除" -#: simple_history/templates/simple_history/_object_history_list.html:9 -msgid "Object" -msgstr "记录对象" - -#: simple_history/templates/simple_history/_object_history_list.html:13 -msgid "Date/time" -msgstr "日期/时间" - -#: simple_history/templates/simple_history/_object_history_list.html:14 -msgid "Comment" -msgstr "备注" - -#: simple_history/templates/simple_history/_object_history_list.html:15 -msgid "Changed by" -msgstr "修改人" - -#: simple_history/templates/simple_history/_object_history_list.html:16 -msgid "Change reason" -msgstr "修改原因" - -#: simple_history/templates/simple_history/_object_history_list.html:37 -msgid "None" -msgstr "无" - #: simple_history/templates/simple_history/object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " @@ -119,6 +95,30 @@ msgstr "按下面的“还原”按钮还原记录到当前版本。" msgid "Press the 'Change History' button below to edit the history." msgstr "按下面的“修改历史记录”按钮编辑历史记录。" +#: simple_history/templates/simple_history/object_history_list.html:9 +msgid "Object" +msgstr "记录对象" + +#: simple_history/templates/simple_history/object_history_list.html:13 +msgid "Date/time" +msgstr "日期/时间" + +#: simple_history/templates/simple_history/object_history_list.html:14 +msgid "Comment" +msgstr "备注" + +#: simple_history/templates/simple_history/object_history_list.html:15 +msgid "Changed by" +msgstr "修改人" + +#: simple_history/templates/simple_history/object_history_list.html:16 +msgid "Change reason" +msgstr "修改原因" + +#: simple_history/templates/simple_history/object_history_list.html:42 +msgid "None" +msgstr "无" + #: simple_history/templates/simple_history/submit_line.html:4 msgid "Revert" msgstr "还原" diff --git a/simple_history/templates/simple_history/object_history.html b/simple_history/templates/simple_history/object_history.html index c1e79d133..58c3d4536 100644 --- a/simple_history/templates/simple_history/object_history.html +++ b/simple_history/templates/simple_history/object_history.html @@ -1,8 +1,5 @@ {% extends "admin/object_history.html" %} {% load i18n %} -{% load url from simple_history_compat %} -{% load admin_urls %} -{% load display_list from simple_history_admin_list %} {% block content %} @@ -11,7 +8,7 @@ {% blocktrans %}Choose a date from the list below to revert to a previous version of this object.{% endblocktrans %}

{% endif %}
{% if historical_records %} - {% display_list %} + {% include object_history_list_template %} {% else %}

{% trans "This object doesn't have a change history." %}

{% endif %} diff --git a/simple_history/templates/simple_history/_object_history_list.html b/simple_history/templates/simple_history/object_history_list.html similarity index 100% rename from simple_history/templates/simple_history/_object_history_list.html rename to simple_history/templates/simple_history/object_history_list.html diff --git a/simple_history/templatetags/simple_history_admin_list.py b/simple_history/templatetags/simple_history_admin_list.py index e9c598628..b6546784c 100644 --- a/simple_history/templatetags/simple_history_admin_list.py +++ b/simple_history/templatetags/simple_history_admin_list.py @@ -1,8 +1,15 @@ +import warnings + from django import template register = template.Library() -@register.inclusion_tag("simple_history/_object_history_list.html", takes_context=True) +@register.inclusion_tag("simple_history/object_history_list.html", takes_context=True) def display_list(context): + warnings.warn( + "'include' the context variable 'object_history_list_template' instead." + " This will be removed in version 3.8.", + DeprecationWarning, + ) return context diff --git a/simple_history/tests/tests/test_deprecation.py b/simple_history/tests/tests/test_deprecation.py new file mode 100644 index 000000000..7c8ca9990 --- /dev/null +++ b/simple_history/tests/tests/test_deprecation.py @@ -0,0 +1,13 @@ +import unittest + +from simple_history import __version__ +from simple_history.templatetags.simple_history_admin_list import display_list + + +class DeprecationWarningTest(unittest.TestCase): + def test__display_list__warns_deprecation_and_is_yet_to_be_removed(self): + with self.assertWarns(DeprecationWarning): + display_list({}) + # DEV: `display_list()` (and the file `simple_history_admin_list.py`) should be + # removed when 3.8 is released + self.assertLess(__version__, "3.8") From 18f00bddbfdd0b0d65757982197d670315174ad1 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Sat, 24 Feb 2024 23:22:13 +0100 Subject: [PATCH 03/13] Made admin history queryset overridable --- CHANGES.rst | 2 ++ simple_history/admin.py | 30 ++++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 270a82d44..36bcfd412 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -11,6 +11,8 @@ Unreleased ``SimpleHistoryAdmin.object_history_list_template`` for overriding it (gh-1128) - Deprecated the undocumented template tag ``simple_history_admin_list.display_list()``; it will be removed in version 3.8 (gh-1128) +- Added ``SimpleHistoryAdmin.get_history_queryset()`` for overriding which ``QuerySet`` + is used to list the historical records (gh-1128) 3.5.0 (2024-02-19) ------------------ diff --git a/simple_history/admin.py b/simple_history/admin.py index 758b13f5f..30a5104d1 100644 --- a/simple_history/admin.py +++ b/simple_history/admin.py @@ -1,3 +1,5 @@ +from typing import Any + from django import http from django.apps import apps as django_apps from django.conf import settings @@ -6,6 +8,7 @@ from django.contrib.admin.utils import unquote from django.contrib.auth import get_permission_codename, get_user_model from django.core.exceptions import PermissionDenied +from django.db.models import QuerySet from django.shortcuts import get_object_or_404, render from django.urls import re_path, reverse from django.utils.encoding import force_str @@ -13,6 +16,7 @@ from django.utils.text import capfirst from django.utils.translation import gettext as _ +from .manager import HistoryManager from .utils import get_history_manager_for_model, get_history_model_for_model SIMPLE_HISTORY_EDIT = getattr(settings, "SIMPLE_HISTORY_EDIT", False) @@ -47,10 +51,9 @@ def history_view(self, request, object_id, extra_context=None): pk_name = opts.pk.attname history = getattr(model, model._meta.simple_history_manager_attribute) object_id = unquote(object_id) - historical_records = history.filter(**{pk_name: object_id}) - if not isinstance(history.model.history_user, property): - # Only select_related when history_user is a ForeignKey (not a property) - historical_records = historical_records.select_related("history_user") + historical_records = self.get_history_queryset( + request, history, pk_name, object_id + ) history_list_display = getattr(self, "history_list_display", []) # If no history was found, see whether this object even exists. try: @@ -99,6 +102,25 @@ def history_view(self, request, object_id, extra_context=None): request, self.object_history_template, context, **extra_kwargs ) + def get_history_queryset( + self, request, history_manager: HistoryManager, pk_name: str, object_id: Any + ) -> QuerySet: + """ + Return a ``QuerySet`` of all historical records that should be listed in the + ``object_history_list_template`` template. + This is used by ``history_view()``. + + :param request: + :param history_manager: + :param pk_name: The name of the original model's primary key field. + :param object_id: The primary key of the object whose history is listed. + """ + qs = history_manager.filter(**{pk_name: object_id}) + if not isinstance(history_manager.model.history_user, property): + # Only select_related when history_user is a ForeignKey (not a property) + qs = qs.select_related("history_user") + return qs + def history_view_title(self, request, obj): if self.revert_disabled(request, obj) and not SIMPLE_HISTORY_EDIT: return _("View history: %s") % force_str(obj) From dc3a34eea0a65bbcb3b64865ab500c5896c34e65 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Sat, 24 Feb 2024 23:33:32 +0100 Subject: [PATCH 04/13] Added getter for admin's history_list_display --- CHANGES.rst | 2 ++ simple_history/admin.py | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 36bcfd412..b6db00b76 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -13,6 +13,8 @@ Unreleased it will be removed in version 3.8 (gh-1128) - Added ``SimpleHistoryAdmin.get_history_queryset()`` for overriding which ``QuerySet`` is used to list the historical records (gh-1128) +- Added ``SimpleHistoryAdmin.get_history_list_display()`` which returns + ``history_list_display`` by default, and made the latter into an actual field (gh-1128) 3.5.0 (2024-02-19) ------------------ diff --git a/simple_history/admin.py b/simple_history/admin.py index 30a5104d1..dfa338874 100644 --- a/simple_history/admin.py +++ b/simple_history/admin.py @@ -1,4 +1,4 @@ -from typing import Any +from typing import Any, Sequence from django import http from django.apps import apps as django_apps @@ -23,6 +23,8 @@ class SimpleHistoryAdmin(admin.ModelAdmin): + history_list_display = [] + object_history_template = "simple_history/object_history.html" object_history_list_template = "simple_history/object_history_list.html" object_history_form_template = "simple_history/object_history_form.html" @@ -54,7 +56,7 @@ def history_view(self, request, object_id, extra_context=None): historical_records = self.get_history_queryset( request, history, pk_name, object_id ) - history_list_display = getattr(self, "history_list_display", []) + history_list_display = self.get_history_list_display(request) # If no history was found, see whether this object even exists. try: obj = self.get_queryset(request).get(**{pk_name: object_id}) @@ -121,6 +123,14 @@ def get_history_queryset( qs = qs.select_related("history_user") return qs + def get_history_list_display(self, request) -> Sequence[str]: + """ + Return a sequence containing the names of additional fields to be displayed on + the object history page. These can either be fields or properties on the model + or the history model, or methods on the admin class. + """ + return self.history_list_display + def history_view_title(self, request, obj): if self.revert_disabled(request, obj) and not SIMPLE_HISTORY_EDIT: return _("View history: %s") % force_str(obj) From 9d232a6ef07a2120c51ca28eafb86e86aa4d48f9 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Tue, 27 Feb 2024 02:22:47 +0100 Subject: [PATCH 05/13] Added m2m_field_name util functions These should help with often having to check which values are returned by `m2m_field_name()` and `m2m_reverse_field_name()` - since they're both undocumented. Also, if Django changes the mentioned internal methods, it'll be easier to only update these two functions instead of all the places they are / will be used. --- simple_history/models.py | 5 +- simple_history/tests/tests/test_utils.py | 67 ++++++++++++++++++++++++ simple_history/utils.py | 24 +++++++++ 3 files changed, 92 insertions(+), 4 deletions(-) diff --git a/simple_history/models.py b/simple_history/models.py index 9ff107a98..03b47440a 100644 --- a/simple_history/models.py +++ b/simple_history/models.py @@ -684,11 +684,8 @@ def create_historical_record_m2ms(self, history_instance, instance): insert_rows = [] - # `m2m_field_name()` is part of Django's internal API - through_field_name = field.m2m_field_name() - + through_field_name = utils.get_m2m_field_name(field) rows = through_model.objects.filter(**{through_field_name: instance}) - for row in rows: insert_row = {"history": history_instance} diff --git a/simple_history/tests/tests/test_utils.py b/simple_history/tests/tests/test_utils.py index e7da5af52..7db701d98 100644 --- a/simple_history/tests/tests/test_utils.py +++ b/simple_history/tests/tests/test_utils.py @@ -1,3 +1,4 @@ +import unittest from datetime import datetime from unittest import skipUnless from unittest.mock import Mock, patch @@ -14,9 +15,16 @@ Document, Place, Poll, + PollChildBookWithManyToMany, + PollChildRestaurantWithManyToMany, PollWithAlternativeManager, PollWithExcludeFields, PollWithHistoricalSessionAttr, + PollWithManyToMany, + PollWithManyToManyCustomHistoryID, + PollWithManyToManyWithIPAddress, + PollWithSelfManyToMany, + PollWithSeveralManyToMany, PollWithUniqueQuestion, Street, ) @@ -24,12 +32,71 @@ bulk_create_with_history, bulk_update_with_history, get_history_manager_for_model, + get_history_model_for_model, + get_m2m_field_name, + get_m2m_reverse_field_name, update_change_reason, ) User = get_user_model() +class GetM2MFieldNamesTestCase(unittest.TestCase): + def test__get_m2m_field_name__returns_expected_value(self): + def field_names(model): + history_model = get_history_model_for_model(model) + # Sort the fields, to prevent flaky tests + fields = sorted(history_model._history_m2m_fields, key=lambda f: f.name) + return [get_m2m_field_name(field) for field in fields] + + self.assertListEqual(field_names(PollWithManyToMany), ["pollwithmanytomany"]) + self.assertListEqual( + field_names(PollWithManyToManyCustomHistoryID), + ["pollwithmanytomanycustomhistoryid"], + ) + self.assertListEqual( + field_names(PollWithManyToManyWithIPAddress), + ["pollwithmanytomanywithipaddress"], + ) + self.assertListEqual( + field_names(PollWithSeveralManyToMany), ["pollwithseveralmanytomany"] * 3 + ) + self.assertListEqual( + field_names(PollChildBookWithManyToMany), + ["pollchildbookwithmanytomany"] * 2, + ) + self.assertListEqual( + field_names(PollChildRestaurantWithManyToMany), + ["pollchildrestaurantwithmanytomany"] * 2, + ) + self.assertListEqual( + field_names(PollWithSelfManyToMany), ["from_pollwithselfmanytomany"] + ) + + def test__get_m2m_reverse_field_name__returns_expected_value(self): + def field_names(model): + history_model = get_history_model_for_model(model) + # Sort the fields, to prevent flaky tests + fields = sorted(history_model._history_m2m_fields, key=lambda f: f.name) + return [get_m2m_reverse_field_name(field) for field in fields] + + self.assertListEqual(field_names(PollWithManyToMany), ["place"]) + self.assertListEqual(field_names(PollWithManyToManyCustomHistoryID), ["place"]) + self.assertListEqual(field_names(PollWithManyToManyWithIPAddress), ["place"]) + self.assertListEqual( + field_names(PollWithSeveralManyToMany), ["book", "place", "restaurant"] + ) + self.assertListEqual( + field_names(PollChildBookWithManyToMany), ["book", "place"] + ) + self.assertListEqual( + field_names(PollChildRestaurantWithManyToMany), ["place", "restaurant"] + ) + self.assertListEqual( + field_names(PollWithSelfManyToMany), ["to_pollwithselfmanytomany"] + ) + + class BulkCreateWithHistoryTestCase(TestCase): def setUp(self): self.data = [ diff --git a/simple_history/utils.py b/simple_history/utils.py index 321ec147d..a5bafeafc 100644 --- a/simple_history/utils.py +++ b/simple_history/utils.py @@ -57,6 +57,30 @@ def get_app_model_primary_key_name(model): return model._meta.pk.name +def get_m2m_field_name(m2m_field: ManyToManyField) -> str: + """ + Returns the field name of an M2M field's through model that corresponds to the model + the M2M field is defined on. + + E.g. for a ``votes`` M2M field on a ``Poll`` model that references a ``Vote`` model + (and with a default-generated through model), this function would return ``"poll"``. + """ + # This method is part of Django's internal API + return m2m_field.m2m_field_name() + + +def get_m2m_reverse_field_name(m2m_field: ManyToManyField) -> str: + """ + Returns the field name of an M2M field's through model that corresponds to the model + the M2M field references. + + E.g. for a ``votes`` M2M field on a ``Poll`` model that references a ``Vote`` model + (and with a default-generated through model), this function would return ``"vote"``. + """ + # This method is part of Django's internal API + return m2m_field.m2m_reverse_field_name() + + def bulk_create_with_history( objs, model, From 28afb4dc8486a7c4563070e25139a107036569b3 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Tue, 27 Feb 2024 02:45:11 +0100 Subject: [PATCH 06/13] Refactored ModelDelta + ModelChange as dataclasses This gives them useful methods like `__eq__()`, `__repr__()` and `__hash__()` for free :) Note that they have `frozen=True` (mainly to allow safe `__hash__()` implementations), as I think the vast majority of users are in practice treating these classes as read-only; modifying them serve no purpose within this library, and should therefore be an incredibly niche use case (except when comparing against expected mock objects while testing, but then `dataclasses.replace()` can be used). --- CHANGES.rst | 2 + simple_history/models.py | 20 ++-- simple_history/tests/tests/test_models.py | 110 +++++++++++++--------- 3 files changed, 80 insertions(+), 52 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index b6db00b76..80889c21c 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -15,6 +15,8 @@ Unreleased is used to list the historical records (gh-1128) - Added ``SimpleHistoryAdmin.get_history_list_display()`` which returns ``history_list_display`` by default, and made the latter into an actual field (gh-1128) +- ``ModelDelta`` and ``ModelChange`` (in ``simple_history.models``) are now immutable + dataclasses; their signatures remain unchanged (gh-1128) 3.5.0 (2024-02-19) ------------------ diff --git a/simple_history/models.py b/simple_history/models.py index 03b47440a..9b5d6b942 100644 --- a/simple_history/models.py +++ b/simple_history/models.py @@ -2,7 +2,9 @@ import importlib import uuid import warnings +from dataclasses import dataclass from functools import partial +from typing import Any, Dict, List, Sequence, Union import django from django.apps import apps @@ -1006,16 +1008,16 @@ def diff_against(self, old_history, excluded_fields=None, included_fields=None): return ModelDelta(changes, changed_fields, old_history, self) +@dataclass(frozen=True) class ModelChange: - def __init__(self, field_name, old_value, new_value): - self.field = field_name - self.old = old_value - self.new = new_value + field: str + old: Union[Any, List[Dict[str, Any]]] + new: Union[Any, List[Dict[str, Any]]] +@dataclass(frozen=True) class ModelDelta: - def __init__(self, changes, changed_fields, old_record, new_record): - self.changes = changes - self.changed_fields = changed_fields - self.old_record = old_record - self.new_record = new_record + changes: Sequence[ModelChange] + changed_fields: Sequence[str] + old_record: HistoricalChanges + new_record: HistoricalChanges diff --git a/simple_history/tests/tests/test_models.py b/simple_history/tests/tests/test_models.py index d24cb1d2a..bc0918edf 100644 --- a/simple_history/tests/tests/test_models.py +++ b/simple_history/tests/tests/test_models.py @@ -1,3 +1,4 @@ +import dataclasses import unittest import uuid import warnings @@ -21,6 +22,7 @@ SIMPLE_HISTORY_REVERSE_ATTR_NAME, HistoricalRecords, ModelChange, + ModelDelta, is_historic, to_historic, ) @@ -697,11 +699,13 @@ def test_history_diff_includes_changed_fields(self): new_record, old_record = p.history.all() with self.assertNumQueries(0): delta = new_record.diff_against(old_record) - expected_change = ModelChange("question", "what's up?", "what's up, man") - self.assertEqual(delta.changed_fields, ["question"]) - self.assertEqual(delta.old_record, old_record) - self.assertEqual(delta.new_record, new_record) - self.assertEqual(expected_change.field, delta.changes[0].field) + expected_delta = ModelDelta( + [ModelChange("question", "what's up?", "what's up, man?")], + ["question"], + old_record, + new_record, + ) + self.assertEqual(delta, expected_delta) def test_history_diff_does_not_include_unchanged_fields(self): p = Poll.objects.create(question="what's up?", pub_date=today) @@ -720,11 +724,13 @@ def test_history_diff_includes_changed_fields_of_base_model(self): new_record, old_record = r.history.all() with self.assertNumQueries(0): delta = new_record.diff_against(old_record) - expected_change = ModelChange("name", "McDonna", "DonnutsKing") - self.assertEqual(delta.changed_fields, ["name"]) - self.assertEqual(delta.old_record, old_record) - self.assertEqual(delta.new_record, new_record) - self.assertEqual(expected_change.field, delta.changes[0].field) + expected_delta = ModelDelta( + [ModelChange("name", "McDonna", "DonnutsKing")], + ["name"], + old_record, + new_record, + ) + self.assertEqual(delta, expected_delta) def test_history_table_name_is_not_inherited(self): def assert_table_name(obj, expected_table_name): @@ -759,8 +765,8 @@ def test_history_diff_with_excluded_fields(self): new_record, old_record = p.history.all() with self.assertNumQueries(0): delta = new_record.diff_against(old_record, excluded_fields=("question",)) - self.assertEqual(delta.changed_fields, []) - self.assertEqual(delta.changes, []) + expected_delta = ModelDelta([], [], old_record, new_record) + self.assertEqual(delta, expected_delta) def test_history_diff_with_included_fields(self): p = Poll.objects.create(question="what's up?", pub_date=today) @@ -769,13 +775,17 @@ def test_history_diff_with_included_fields(self): new_record, old_record = p.history.all() with self.assertNumQueries(0): delta = new_record.diff_against(old_record, included_fields=[]) - self.assertEqual(delta.changed_fields, []) - self.assertEqual(delta.changes, []) + expected_delta = ModelDelta([], [], old_record, new_record) + self.assertEqual(delta, expected_delta) with self.assertNumQueries(0): delta = new_record.diff_against(old_record, included_fields=["question"]) - self.assertEqual(delta.changed_fields, ["question"]) - self.assertEqual(len(delta.changes), 1) + expected_delta = dataclasses.replace( + expected_delta, + changes=[ModelChange("question", "what's up?", "what's up, man?")], + changed_fields=["question"], + ) + self.assertEqual(delta, expected_delta) def test_history_diff_with_non_editable_field(self): p = PollWithNonEditableField.objects.create( @@ -786,8 +796,13 @@ def test_history_diff_with_non_editable_field(self): new_record, old_record = p.history.all() with self.assertNumQueries(0): delta = new_record.diff_against(old_record) - self.assertEqual(delta.changed_fields, ["question"]) - self.assertEqual(len(delta.changes), 1) + expected_delta = ModelDelta( + [ModelChange("question", "what's up?", "what's up, man?")], + ["question"], + old_record, + new_record, + ) + self.assertEqual(delta, expected_delta) def test_history_with_unknown_field(self): p = Poll.objects.create(question="what's up?", pub_date=today) @@ -1922,7 +1937,6 @@ def test_self_field(self): class ManyToManyWithSignalsTest(TestCase): def setUp(self): self.model = PollWithManyToManyWithIPAddress - # self.historical_through_model = self.model.history. self.places = ( Place.objects.create(name="London"), Place.objects.create(name="Paris"), @@ -1963,9 +1977,26 @@ def test_diff(self): old = new.prev_record delta = new.diff_against(old) - - self.assertEqual("places", delta.changes[0].field) - self.assertEqual(2, len(delta.changes[0].new)) + expected_delta = ModelDelta( + [ + ModelChange( + "places", + [], + [ + { + "pollwithmanytomanywithipaddress": self.poll.pk, + "place": place.pk, + "ip_address": "192.168.0.1", + } + for place in self.places + ], + ) + ], + ["places"], + old, + new, + ) + self.assertEqual(delta, expected_delta) class ManyToManyCustomIDTest(TestCase): @@ -2246,24 +2277,19 @@ def test_diff_against(self): expected_change = ModelChange( "places", [], [{"pollwithmanytomany": self.poll.pk, "place": self.place.pk}] ) - self.assertEqual(delta.changed_fields, ["places"]) - self.assertEqual(delta.old_record, create_record) - self.assertEqual(delta.new_record, add_record) - self.assertEqual(expected_change.field, delta.changes[0].field) - - self.assertListEqual(expected_change.new, delta.changes[0].new) - self.assertListEqual(expected_change.old, delta.changes[0].old) + expected_delta = ModelDelta( + [expected_change], ["places"], create_record, add_record + ) + self.assertEqual(delta, expected_delta) delta = add_record.diff_against(create_record, included_fields=["places"]) - self.assertEqual(delta.changed_fields, ["places"]) - self.assertEqual(delta.old_record, create_record) - self.assertEqual(delta.new_record, add_record) - self.assertEqual(expected_change.field, delta.changes[0].field) + self.assertEqual(delta, expected_delta) delta = add_record.diff_against(create_record, excluded_fields=["places"]) - self.assertEqual(delta.changed_fields, []) - self.assertEqual(delta.old_record, create_record) - self.assertEqual(delta.new_record, add_record) + expected_delta = dataclasses.replace( + expected_delta, changes=[], changed_fields=[] + ) + self.assertEqual(delta, expected_delta) self.poll.places.clear() @@ -2272,18 +2298,16 @@ def test_diff_against(self): delta = del_record.diff_against(create_record) self.assertNotIn("places", delta.changed_fields) + delta = del_record.diff_against(add_record) # Second and third should have the same diffs as first and second, but with # old and new reversed expected_change = ModelChange( "places", [{"place": self.place.pk, "pollwithmanytomany": self.poll.pk}], [] ) - delta = del_record.diff_against(add_record) - self.assertEqual(delta.changed_fields, ["places"]) - self.assertEqual(delta.old_record, add_record) - self.assertEqual(delta.new_record, del_record) - self.assertEqual(expected_change.field, delta.changes[0].field) - self.assertListEqual(expected_change.new, delta.changes[0].new) - self.assertListEqual(expected_change.old, delta.changes[0].old) + expected_delta = ModelDelta( + [expected_change], ["places"], add_record, del_record + ) + self.assertEqual(delta, expected_delta) @override_settings(**database_router_override_settings) From a5439d2d1e274b3b619abacb2700ef6a95f921d0 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Thu, 29 Feb 2024 22:26:59 +0100 Subject: [PATCH 07/13] Refactored parts of diff_against() * Refactored building the change lists * Extracted the code for M2M fields and other fields into two helper methods * Derive `changed_fields` from `changes` * Refactored getting M2M fields to avoid querying the DB (1 or 2 times) for a `reference_history_m2m_item` --- simple_history/models.py | 78 ++++++++++++++--------- simple_history/tests/tests/test_models.py | 18 ++++-- 2 files changed, 59 insertions(+), 37 deletions(-) diff --git a/simple_history/models.py b/simple_history/models.py index 9b5d6b942..004b6c85b 100644 --- a/simple_history/models.py +++ b/simple_history/models.py @@ -4,7 +4,7 @@ import warnings from dataclasses import dataclass from functools import partial -from typing import Any, Dict, List, Sequence, Union +from typing import Any, Dict, Iterable, List, Sequence, Union import django from django.apps import apps @@ -945,9 +945,8 @@ class HistoricalChanges: def diff_against(self, old_history, excluded_fields=None, included_fields=None): if not isinstance(old_history, type(self)): raise TypeError( - ("unsupported type(s) for diffing: " "'{}' and '{}'").format( - type(self), type(old_history) - ) + "unsupported type(s) for diffing:" + f" '{type(self)}' and '{type(old_history)}'" ) if excluded_fields is None: excluded_fields = set() @@ -965,47 +964,64 @@ def diff_against(self, old_history, excluded_fields=None, included_fields=None): ) m2m_fields = set(included_m2m_fields).difference(excluded_fields) + changes = [ + *self._get_field_changes_for_diff(old_history, fields), + *self._get_m2m_field_changes_for_diff(old_history, m2m_fields), + ] + changed_fields = [change.field for change in changes] + return ModelDelta(changes, changed_fields, old_history, self) + + def _get_field_changes_for_diff( + self, + old_history: "HistoricalChanges", + fields: Iterable[str], + ) -> List["ModelChange"]: + """Helper method for ``diff_against()``.""" changes = [] - changed_fields = [] old_values = model_to_dict(old_history, fields=fields) - current_values = model_to_dict(self, fields=fields) + new_values = model_to_dict(self, fields=fields) for field in fields: old_value = old_values[field] - current_value = current_values[field] + new_value = new_values[field] - if old_value != current_value: - changes.append(ModelChange(field, old_value, current_value)) - changed_fields.append(field) + if old_value != new_value: + change = ModelChange(field, old_value, new_value) + changes.append(change) - # Separately compare m2m fields: - for field in m2m_fields: - # First retrieve a single item to get the field names from: - reference_history_m2m_item = ( - getattr(old_history, field).first() or getattr(self, field).first() - ) - history_field_names = [] - if reference_history_m2m_item: - # Create a list of field names to compare against. - # The list is generated without the primary key of the intermediate - # table, the foreign key to the history record, and the actual 'history' - # field, to avoid false positives while diffing. - history_field_names = [ - f.name - for f in reference_history_m2m_item._meta.fields - if f.editable and f.name not in ["id", "m2m_history_id", "history"] - ] + return changes - old_rows = list(getattr(old_history, field).values(*history_field_names)) - new_rows = list(getattr(self, field).values(*history_field_names)) + def _get_m2m_field_changes_for_diff( + self, + old_history: "HistoricalChanges", + m2m_fields: Iterable[str], + ) -> List["ModelChange"]: + """Helper method for ``diff_against()``.""" + changes = [] + + for field in m2m_fields: + old_m2m_manager = getattr(old_history, field) + new_m2m_manager = getattr(self, field) + m2m_through_model_opts = new_m2m_manager.model._meta + + # Create a list of field names to compare against. + # The list is generated without the PK of the intermediate (through) + # table, the foreign key to the history record, and the actual `history` + # field, to avoid false positives while diffing. + through_model_fields = [ + f.name + for f in m2m_through_model_opts.fields + if f.editable and f.name not in ["id", "m2m_history_id", "history"] + ] + old_rows = list(old_m2m_manager.values(*through_model_fields)) + new_rows = list(new_m2m_manager.values(*through_model_fields)) if old_rows != new_rows: change = ModelChange(field, old_rows, new_rows) changes.append(change) - changed_fields.append(field) - return ModelDelta(changes, changed_fields, old_history, self) + return changes @dataclass(frozen=True) diff --git a/simple_history/tests/tests/test_models.py b/simple_history/tests/tests/test_models.py index bc0918edf..39aced23d 100644 --- a/simple_history/tests/tests/test_models.py +++ b/simple_history/tests/tests/test_models.py @@ -1976,7 +1976,8 @@ def test_diff(self): new = self.poll.history.first() old = new.prev_record - delta = new.diff_against(old) + with self.assertNumQueries(2): # Once for each record + delta = new.diff_against(old) expected_delta = ModelDelta( [ ModelChange( @@ -2273,7 +2274,8 @@ def test_diff_against(self): self.poll.places.add(self.place) add_record, create_record = self.poll.history.all() - delta = add_record.diff_against(create_record) + with self.assertNumQueries(2): # Once for each record + delta = add_record.diff_against(create_record) expected_change = ModelChange( "places", [], [{"pollwithmanytomany": self.poll.pk, "place": self.place.pk}] ) @@ -2282,10 +2284,12 @@ def test_diff_against(self): ) self.assertEqual(delta, expected_delta) - delta = add_record.diff_against(create_record, included_fields=["places"]) + with self.assertNumQueries(2): # Once for each record + delta = add_record.diff_against(create_record, included_fields=["places"]) self.assertEqual(delta, expected_delta) - delta = add_record.diff_against(create_record, excluded_fields=["places"]) + with self.assertNumQueries(0): + delta = add_record.diff_against(create_record, excluded_fields=["places"]) expected_delta = dataclasses.replace( expected_delta, changes=[], changed_fields=[] ) @@ -2295,10 +2299,12 @@ def test_diff_against(self): # First and third records are effectively the same. del_record, add_record, create_record = self.poll.history.all() - delta = del_record.diff_against(create_record) + with self.assertNumQueries(2): # Once for each record + delta = del_record.diff_against(create_record) self.assertNotIn("places", delta.changed_fields) - delta = del_record.diff_against(add_record) + with self.assertNumQueries(2): # Once for each record + delta = del_record.diff_against(add_record) # Second and third should have the same diffs as first and second, but with # old and new reversed expected_change = ModelChange( From a842b98a2e36c6ab217831769a1817a28cd59f60 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Fri, 1 Mar 2024 03:25:08 +0100 Subject: [PATCH 08/13] Added foreign_keys_are_objs arg to diff_against() This makes it easier to get the related objects from the diff objects, and facilitates prefetching the related objects when listing the diffs - which is needed for the upcoming changes to the admin history page adding a "Changes" column. The returned `ModelDelta` fields are now alphabetically ordered, to prevent flakiness of one of the added tests. The `old` and `new` M2M lists of `ModelChange` are now also sorted, which will prevent inconsistent ordering of the `Place` objects in `AdminSiteTest.test_history_list_contains_diff_changes_for_m2m_fields()` (will be added as part of the previously mentioned upcoming admin history changes). Lastly, cleaned up some `utils` imports in `models.py`. --- CHANGES.rst | 5 + docs/historical_model.rst | 1 - docs/history_diffing.rst | 103 +++++++++++++++--- simple_history/models.py | 93 ++++++++++++++--- simple_history/tests/tests/test_models.py | 122 ++++++++++++++++++++++ 5 files changed, 296 insertions(+), 28 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 80889c21c..58b3d3320 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -17,6 +17,11 @@ Unreleased ``history_list_display`` by default, and made the latter into an actual field (gh-1128) - ``ModelDelta`` and ``ModelChange`` (in ``simple_history.models``) are now immutable dataclasses; their signatures remain unchanged (gh-1128) +- ``ModelDelta``'s ``changes`` and ``changed_fields`` are now sorted alphabetically by + field name. Also, if ``ModelChange`` is for an M2M field, its ``old`` and ``new`` + lists are sorted by the related object. This should help prevent flaky tests. (gh-1128) +- ``diff_against()`` has a new keyword argument, ``foreign_keys_are_objs``; + see usage in the docs under "History Diffing" (gh-1128) 3.5.0 (2024-02-19) ------------------ diff --git a/docs/historical_model.rst b/docs/historical_model.rst index fbf931c4f..32447f185 100644 --- a/docs/historical_model.rst +++ b/docs/historical_model.rst @@ -554,7 +554,6 @@ You will see the many to many changes when diffing between two historical record informal = Category.objects.create(name="informal questions") official = Category.objects.create(name="official questions") p = Poll.objects.create(question="what's up?") - p.save() p.categories.add(informal, official) p.categories.remove(informal) diff --git a/docs/history_diffing.rst b/docs/history_diffing.rst index 3e409068c..7e1edc5df 100644 --- a/docs/history_diffing.rst +++ b/docs/history_diffing.rst @@ -1,24 +1,103 @@ History Diffing =============== -When you have two instances of the same ``HistoricalRecord`` (such as the ``HistoricalPoll`` example above), -you can perform diffs to see what changed. This will result in a ``ModelDelta`` containing the following properties: +When you have two instances of the same historical model +(such as the ``HistoricalPoll`` example above), +you can perform a diff using the ``diff_against()`` method to see what changed. +This will return a ``ModelDelta`` object with the following attributes: -1. A list with each field changed between the two historical records -2. A list with the names of all fields that incurred changes from one record to the other -3. the old and new records. +- ``old_record`` and ``new_record``: The old and new history records +- ``changed_fields``: A list of the names of all fields that were changed between + ``old_record`` and ``new_record``, in alphabetical order +- ``changes``: A list of ``ModelChange`` objects - one for each field in + ``changed_fields``, in the same order. + These objects have the following attributes: -This may be useful when you want to construct timelines and need to get only the model modifications. + - ``field``: The name of the changed field + (this name is equal to the corresponding field in ``changed_fields``) + - ``old`` and ``new``: The old and new values of the changed field + + - For many-to-many fields, these values will be lists of dicts from the through + model field names to the primary keys of the through model's related objects. + The lists are sorted by the value of the many-to-many related object. + +This may be useful when you want to construct timelines and need to get only +the model modifications. .. code-block:: python - p = Poll.objects.create(question="what's up?") - p.question = "what's up, man?" - p.save() + poll = Poll.objects.create(question="what's up?") + poll.question = "what's up, man?" + poll.save() - new_record, old_record = p.history.all() + new_record, old_record = poll.history.all() delta = new_record.diff_against(old_record) for change in delta.changes: - print("{} changed from {} to {}".format(change.field, change.old, change.new)) + print(f"'{change.field}' changed from '{change.old}' to '{change.new}'") + + # Output: + # 'question' changed from 'what's up?' to 'what's up, man?' + +``diff_against()`` also accepts the following additional arguments: + +- ``excluded_fields`` and ``included_fields``: These can be used to either explicitly + exclude or include fields from being diffed, respectively. +- ``foreign_keys_are_objs``: + + - If ``False`` (default): The diff will only contain the raw primary keys of any + ``ForeignKey`` fields. + - If ``True``: The diff will contain the actual related model objects instead of just + the primary keys. + Note that this will add extra database queries for each related field that's been + changed - as long as the related objects have not been prefetched + (using e.g. ``select_related()``). + + A couple examples showing the difference: + + .. code-block:: python + + # --- Effect on foreign key fields --- + + whats_up = Poll.objects.create(pk=15, name="what's up?") + still_around = Poll.objects.create(pk=31, name="still around?") + + choice = Choice.objects.create(poll=whats_up) + choice.poll = still_around + choice.save() + + new, old = choice.history.all() + + default_delta = new.diff_against(old) + # Printing the changes of `default_delta` will output: + # 'poll' changed from '15' to '31' + + delta_with_objs = new.diff_against(old, foreign_keys_are_objs=True) + # Printing the changes of `delta_with_objs` will output: + # 'poll' changed from 'what's up?' to 'still around?' + + # Deleting all the polls: + Poll.objects.all().delete() + delta_with_objs = new.diff_against(old, foreign_keys_are_objs=True) # Will raise `Place.DoesNotExist` + + + # --- Effect on many-to-many fields --- + + informal = Category.objects.create(pk=63, name="informal questions") + whats_up.categories.add(informal) + + new = whats_up.history.latest() + old = new.prev_record + + default_delta = new.diff_against(old) + # Printing the changes of `default_delta` will output: + # 'categories' changed from [] to [{'poll': 15, 'category': 63}] + + delta_with_objs = new.diff_against(old, foreign_keys_are_objs=True) + # Printing the changes of `delta_with_objs` will output: + # 'categories' changed from [] to [{'poll': , 'category': }] -``diff_against`` also accepts 2 arguments ``excluded_fields`` and ``included_fields`` to either explicitly include or exclude fields from being diffed. + # Deleting all the categories: + Category.objects.all().delete() + delta_with_objs = new.diff_against(old, foreign_keys_are_objs=True) + # Printing the changes of `delta_with_objs` will now output: + # 'categories' changed from [] to [{'poll': , 'category': None}] diff --git a/simple_history/models.py b/simple_history/models.py index 004b6c85b..eed5720fc 100644 --- a/simple_history/models.py +++ b/simple_history/models.py @@ -4,7 +4,7 @@ import warnings from dataclasses import dataclass from functools import partial -from typing import Any, Dict, Iterable, List, Sequence, Union +from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Sequence, Union import django from django.apps import apps @@ -31,9 +31,7 @@ from django.utils.text import format_lazy from django.utils.translation import gettext_lazy as _ -from simple_history import utils - -from . import exceptions +from . import exceptions, utils from .manager import ( SIMPLE_HISTORY_REVERSE_ATTR_NAME, HistoricalQuerySet, @@ -46,13 +44,17 @@ pre_create_historical_m2m_records, pre_create_historical_record, ) -from .utils import get_change_reason_from_object try: from asgiref.local import Local as LocalContext except ImportError: from threading import local as LocalContext +if TYPE_CHECKING: + ModelTypeHint = models.Model +else: + ModelTypeHint = object + registered_models = {} @@ -668,7 +670,7 @@ def get_change_reason_for_object(self, instance, history_type, using): Get change reason for object. Customize this method to automatically fill change reason from context. """ - return get_change_reason_from_object(instance) + return utils.get_change_reason_from_object(instance) def m2m_changed(self, instance, action, attr, pk_set, reverse, **_): if hasattr(instance, "skip_history_when_saving"): @@ -941,8 +943,28 @@ def __get__(self, instance, owner): return self.model(**values) -class HistoricalChanges: - def diff_against(self, old_history, excluded_fields=None, included_fields=None): +class HistoricalChanges(ModelTypeHint): + def diff_against( + self, + old_history: "HistoricalChanges", + excluded_fields: Iterable[str] = None, + included_fields: Iterable[str] = None, + *, + foreign_keys_are_objs=False, + ) -> "ModelDelta": + """ + :param old_history: + :param excluded_fields: The names of fields to exclude from diffing. + This takes precedence over ``included_fields``. + :param included_fields: The names of the only fields to include when diffing. + If not provided, all history-tracked fields will be included. + :param foreign_keys_are_objs: If ``False``, the returned diff will only contain + the raw PKs of any ``ForeignKey`` fields. + If ``True``, the diff will contain the actual related model objects + instead of just the PKs. + The latter case will necessarily query the database if the related + objects have not been prefetched (using e.g. ``select_related()``). + """ if not isinstance(old_history, type(self)): raise TypeError( "unsupported type(s) for diffing:" @@ -965,9 +987,15 @@ def diff_against(self, old_history, excluded_fields=None, included_fields=None): m2m_fields = set(included_m2m_fields).difference(excluded_fields) changes = [ - *self._get_field_changes_for_diff(old_history, fields), - *self._get_m2m_field_changes_for_diff(old_history, m2m_fields), + *self._get_field_changes_for_diff( + old_history, fields, foreign_keys_are_objs + ), + *self._get_m2m_field_changes_for_diff( + old_history, m2m_fields, foreign_keys_are_objs + ), ] + # Sort by field (attribute) name, to ensure a consistent order + changes.sort(key=lambda change: change.field) changed_fields = [change.field for change in changes] return ModelDelta(changes, changed_fields, old_history, self) @@ -975,6 +1003,7 @@ def _get_field_changes_for_diff( self, old_history: "HistoricalChanges", fields: Iterable[str], + foreign_keys_are_objs: bool, ) -> List["ModelChange"]: """Helper method for ``diff_against()``.""" changes = [] @@ -987,6 +1016,14 @@ def _get_field_changes_for_diff( new_value = new_values[field] if old_value != new_value: + if foreign_keys_are_objs and isinstance( + self._meta.get_field(field), ForeignKey + ): + # Set the fields to their related model objects instead of + # the raw PKs from `model_to_dict()` + old_value = getattr(old_history, field) + new_value = getattr(self, field) + change = ModelChange(field, old_value, new_value) changes.append(change) @@ -996,14 +1033,18 @@ def _get_m2m_field_changes_for_diff( self, old_history: "HistoricalChanges", m2m_fields: Iterable[str], + foreign_keys_are_objs: bool, ) -> List["ModelChange"]: """Helper method for ``diff_against()``.""" changes = [] for field in m2m_fields: - old_m2m_manager = getattr(old_history, field) - new_m2m_manager = getattr(self, field) - m2m_through_model_opts = new_m2m_manager.model._meta + original_field_meta = self.instance_type._meta.get_field(field) + reverse_field_name = utils.get_m2m_reverse_field_name(original_field_meta) + # Sort the M2M rows by the related object, to ensure a consistent order + old_m2m_qs = getattr(old_history, field).order_by(reverse_field_name) + new_m2m_qs = getattr(self, field).order_by(reverse_field_name) + m2m_through_model_opts = new_m2m_qs.model._meta # Create a list of field names to compare against. # The list is generated without the PK of the intermediate (through) @@ -1014,10 +1055,32 @@ def _get_m2m_field_changes_for_diff( for f in m2m_through_model_opts.fields if f.editable and f.name not in ["id", "m2m_history_id", "history"] ] - old_rows = list(old_m2m_manager.values(*through_model_fields)) - new_rows = list(new_m2m_manager.values(*through_model_fields)) + old_rows = list(old_m2m_qs.values(*through_model_fields)) + new_rows = list(new_m2m_qs.values(*through_model_fields)) if old_rows != new_rows: + if foreign_keys_are_objs: + fk_fields = [ + f + for f in through_model_fields + if isinstance(m2m_through_model_opts.get_field(f), ForeignKey) + ] + + # Set the through fields to their related model objects instead of + # the raw PKs from `values()` + def rows_with_foreign_key_objs(m2m_qs): + # Replicate the format of the return value of QuerySet.values() + return [ + { + through_field: getattr(through_obj, through_field) + for through_field in through_model_fields + } + for through_obj in m2m_qs.select_related(*fk_fields) + ] + + old_rows = rows_with_foreign_key_objs(old_m2m_qs) + new_rows = rows_with_foreign_key_objs(new_m2m_qs) + change = ModelChange(field, old_rows, new_rows) changes.append(change) diff --git a/simple_history/tests/tests/test_models.py b/simple_history/tests/tests/test_models.py index 39aced23d..a1c957030 100644 --- a/simple_history/tests/tests/test_models.py +++ b/simple_history/tests/tests/test_models.py @@ -732,6 +732,128 @@ def test_history_diff_includes_changed_fields_of_base_model(self): ) self.assertEqual(delta, expected_delta) + def test_history_diff_arg__foreign_keys_are_objs__returns_expected_fk_values(self): + poll1 = Poll.objects.create(question="why?", pub_date=today) + poll2 = Poll.objects.create(question="how?", pub_date=tomorrow) + choice = Choice.objects.create(poll=poll1, choice="hmm", votes=3) + choice.poll = poll2 + choice.choice = "idk" + choice.votes = 0 + choice.save() + new_record, old_record = choice.history.all() + + # Test with the default value of `foreign_keys_are_objs` + with self.assertNumQueries(0): + delta = new_record.diff_against(old_record) + expected_pk_changes = [ + ModelChange("choice", "hmm", "idk"), + ModelChange("poll", poll1.pk, poll2.pk), + ModelChange("votes", 3, 0), + ] + expected_pk_delta = ModelDelta( + expected_pk_changes, ["choice", "poll", "votes"], old_record, new_record + ) + self.assertEqual(delta, expected_pk_delta) + + # Test with `foreign_keys_are_objs=True` + with self.assertNumQueries(2): # Once for each poll in the new record + delta = new_record.diff_against(old_record, foreign_keys_are_objs=True) + choice_changes, _poll_changes, votes_changes = expected_pk_changes + # The PKs should now instead be their corresponding model objects + expected_obj_changes = [ + choice_changes, + ModelChange("poll", poll1, poll2), + votes_changes, + ] + expected_obj_delta = dataclasses.replace( + expected_pk_delta, changes=expected_obj_changes + ) + self.assertEqual(delta, expected_obj_delta) + + # --- Delete the polls and do the same tests again --- + + Poll.objects.all().delete() + old_record.refresh_from_db() + new_record.refresh_from_db() + + # Test with the default value of `foreign_keys_are_objs` + with self.assertNumQueries(0): + delta = new_record.diff_against(old_record) + self.assertEqual(delta, expected_pk_delta) + + # Test with `foreign_keys_are_objs=True` + # (Getting instances of deleted related objects is not possible - unless they + # happen to be history-tracked as well, but that's not currently detected) + with self.assertRaises(Poll.DoesNotExist): + delta = new_record.diff_against(old_record, foreign_keys_are_objs=True) + + def test_history_diff_arg__foreign_keys_are_objs__returns_expected_m2m_values(self): + poll = PollWithManyToMany.objects.create(question="why?", pub_date=today) + place1 = Place.objects.create(name="Here") + place2 = Place.objects.create(name="There") + poll.places.add(place1, place2) + new_record, old_record = poll.history.all() + + # Test with the default value of `foreign_keys_are_objs` + with self.assertNumQueries(2): # Once for each record + delta = new_record.diff_against(old_record) + expected_pk_change = ModelChange( + "places", + [], + [ + {"pollwithmanytomany": poll.pk, "place": place1.pk}, + {"pollwithmanytomany": poll.pk, "place": place2.pk}, + ], + ) + expected_pk_delta = ModelDelta( + [expected_pk_change], ["places"], old_record, new_record + ) + self.assertEqual(delta, expected_pk_delta) + + # Test with `foreign_keys_are_objs=True` + with self.assertNumQueries(2 * 2): # Twice for each record + delta = new_record.diff_against(old_record, foreign_keys_are_objs=True) + # The PKs should now instead be their corresponding model objects + expected_obj_change = dataclasses.replace( + expected_pk_change, + new=[ + {"pollwithmanytomany": poll, "place": place1}, + {"pollwithmanytomany": poll, "place": place2}, + ], + ) + expected_obj_delta = dataclasses.replace( + expected_pk_delta, changes=[expected_obj_change] + ) + self.assertEqual(delta, expected_obj_delta) + + # --- Delete the places and do the same tests again --- + + Place.objects.all().delete() + old_record.refresh_from_db() + new_record.refresh_from_db() + + # Test with the default value of `foreign_keys_are_objs` + with self.assertNumQueries(2): # Once for each record + delta = new_record.diff_against(old_record) + self.assertEqual(delta, expected_pk_delta) + + # Test with `foreign_keys_are_objs=True` + with self.assertNumQueries(2 * 2): # Twice for each record + delta = new_record.diff_against(old_record, foreign_keys_are_objs=True) + # (Getting instances of deleted related objects is not possible - unless they + # happen to be history-tracked as well, but that's not currently detected) + expected_obj_change = dataclasses.replace( + expected_obj_change, + new=[ + {"pollwithmanytomany": poll, "place": None}, + {"pollwithmanytomany": poll, "place": None}, + ], + ) + expected_obj_delta = dataclasses.replace( + expected_obj_delta, changes=[expected_obj_change] + ) + self.assertEqual(delta, expected_obj_delta) + def test_history_table_name_is_not_inherited(self): def assert_table_name(obj, expected_table_name): history_model = obj.history.model From 0589ac2e637760e5365a023798a7aa0e034aa68f Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Fri, 8 Mar 2024 22:46:34 +0100 Subject: [PATCH 09/13] diff_against() returns PK wrapper for deleted objs ...when called with `foreign_keys_are_objs=True`. This special dataclass (`DeletedObject`) will signal to the user that the related object was deleted, and provides useful info - i.e. the object's PK and model - and a verbose `__str__()` implementation. (An alternative solution of returning `None` for deleted objects, would introduce ambiguity if the `ForeignKey` field is nullable.) --- docs/history_diffing.rst | 11 ++- .../locale/nb/LC_MESSAGES/django.mo | Bin 2136 -> 2196 bytes .../locale/nb/LC_MESSAGES/django.po | 7 +- simple_history/models.py | 81 +++++++++++++++--- simple_history/tests/tests/test_models.py | 37 +++++--- 5 files changed, 108 insertions(+), 28 deletions(-) diff --git a/docs/history_diffing.rst b/docs/history_diffing.rst index 7e1edc5df..7887c61ff 100644 --- a/docs/history_diffing.rst +++ b/docs/history_diffing.rst @@ -48,6 +48,11 @@ the model modifications. ``ForeignKey`` fields. - If ``True``: The diff will contain the actual related model objects instead of just the primary keys. + Deleted related objects (both foreign key objects and many-to-many objects) + will be instances of ``DeletedObject``, which only contain a ``model`` field with a + reference to the deleted object's model, as well as a ``pk`` field with the value of + the deleted object's primary key. + Note that this will add extra database queries for each related field that's been changed - as long as the related objects have not been prefetched (using e.g. ``select_related()``). @@ -77,7 +82,9 @@ the model modifications. # Deleting all the polls: Poll.objects.all().delete() - delta_with_objs = new.diff_against(old, foreign_keys_are_objs=True) # Will raise `Place.DoesNotExist` + delta_with_objs = new.diff_against(old, foreign_keys_are_objs=True) + # Printing the changes of `delta_with_objs` will now output: + # 'poll' changed from 'Deleted poll (pk=15)' to 'Deleted poll (pk=31)' # --- Effect on many-to-many fields --- @@ -100,4 +107,4 @@ the model modifications. Category.objects.all().delete() delta_with_objs = new.diff_against(old, foreign_keys_are_objs=True) # Printing the changes of `delta_with_objs` will now output: - # 'categories' changed from [] to [{'poll': , 'category': None}] + # 'categories' changed from [] to [{'poll': , 'category': DeletedObject(model=, pk=63)}] diff --git a/simple_history/locale/nb/LC_MESSAGES/django.mo b/simple_history/locale/nb/LC_MESSAGES/django.mo index 89ba69d3cb0f2093b7b6265ac0d3cfcf06b1cb60..0d917f53f688ffb3831618bb02a9d56a2f8282ce 100644 GIT binary patch delta 687 zcmZ9~ze_?<6u|NO)GSL&P191z#eQNaxfD6&P~aj$G-M+6prOL(EiKv9KVUzgt+Cn0 zAczQBS|V_WAR3~kww9p2r>;u}&imYV-@EtRckgR@4}7&JzvEC5QJr6yARi4bMAfEL zH*TRH_t1lNY{ygV#4{}5IkutG{`cIi4WNtusJdrE_!hvBY2D}Mop;(jUGBeRFeV2C|{gKSwNnP z6ewZ^OUMv)sr#?Bci2IH6Q$rY%6xD7`8Ucq7Y}8Jy3t8}6`(PT5nRGDy72;Ic#E>Y zSB&E)j$@c=y_iFpa1o{8G7h4Ja*A?neWV<*%qt-~AW@Qmtr(yo6Ud}tQnss~l;S>; zomO3>gzS*~2h{leTG=5vj#ls+s6c(*_7KdO>!xL{#uFpfPSq@LRyNGh?MBRgV|X&j eR3@2D$J0~OlbObco-J<|VH>6ft427;GelHvRz;dnM)$LWeFUgT&^I zjR_kIk#uO->=H3a_@4H<>A9c#&g;GB-Fwf|?Nse8V>g60No0vHVxD-k=xCLY$PiXB zg9n(v6YRrN9Ka@S<0VG$+r0lV+F_A?@^RF8PS2W5Gq6eIjRlPI?BgnyaTAYB{uW)H z?@<@*ppPH8fG&%T;u>n99ZX>bb(4p<&*tiwl$yvVpQ{rrs_IT%)DOthX#o$bSVrbZ z)8sFVR~RFIgIcg<@^`5Je?mQxXXGbsx^;ZVJ?hIGv*LJ+Q&`6&USkehSilYrV~lFL zU>5bmXK@CXP;V_wXkK@#>uQ_m(Vb_8GR|OYgiaULrbWjHJq0~7PE-a7ZF=W=|J3O2 qQcuPq{u|dU?%8hWHP{G0Sc#J7mpy+uS6o~v6$2;oVg\n" "Language-Team: Norwegian Bokmål \n" "Language: nb\n" @@ -60,6 +60,11 @@ msgstr "Endret" msgid "Deleted" msgstr "Slettet" +#: simple_history/models.py:1124 +#, python-format +msgid "Deleted %(type_name)s" +msgstr "Slettet %(type_name)s" + #: simple_history/templates/simple_history/object_history.html:11 msgid "" "Choose a date from the list below to revert to a previous version of this " diff --git a/simple_history/models.py b/simple_history/models.py index eed5720fc..86209847b 100644 --- a/simple_history/models.py +++ b/simple_history/models.py @@ -4,7 +4,7 @@ import warnings from dataclasses import dataclass from functools import partial -from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Sequence, Union +from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Sequence, Type, Union import django from django.apps import apps @@ -961,9 +961,11 @@ def diff_against( :param foreign_keys_are_objs: If ``False``, the returned diff will only contain the raw PKs of any ``ForeignKey`` fields. If ``True``, the diff will contain the actual related model objects - instead of just the PKs. - The latter case will necessarily query the database if the related - objects have not been prefetched (using e.g. ``select_related()``). + instead of just the PKs; deleted related objects will be instances of + ``DeletedObject``. + Note that passing ``True`` will necessarily query the database if the + related objects have not been prefetched (using e.g. + ``select_related()``). """ if not isinstance(old_history, type(self)): raise TypeError( @@ -1016,13 +1018,24 @@ def _get_field_changes_for_diff( new_value = new_values[field] if old_value != new_value: - if foreign_keys_are_objs and isinstance( - self._meta.get_field(field), ForeignKey - ): + field_meta = self._meta.get_field(field) + if foreign_keys_are_objs and isinstance(field_meta, ForeignKey): # Set the fields to their related model objects instead of # the raw PKs from `model_to_dict()` - old_value = getattr(old_history, field) - new_value = getattr(self, field) + def get_value(record, foreign_key): + try: + value = getattr(record, field) + # `value` seems to be None (without raising this exception) + # if the object has not been refreshed from the database + except ObjectDoesNotExist: + value = None + + if value is None: + value = DeletedObject(field_meta.related_model, foreign_key) + return value + + old_value = get_value(old_history, old_value) + new_value = get_value(self, new_value) change = ModelChange(field, old_value, new_value) changes.append(change) @@ -1069,10 +1082,24 @@ def _get_m2m_field_changes_for_diff( # Set the through fields to their related model objects instead of # the raw PKs from `values()` def rows_with_foreign_key_objs(m2m_qs): + def get_value(obj, through_field): + try: + value = getattr(obj, through_field) + # If the related object has been deleted, `value` seems to + # usually already be None instead of raising this exception + except ObjectDoesNotExist: + value = None + + if value is None: + meta = m2m_through_model_opts.get_field(through_field) + foreign_key = getattr(obj, meta.attname) + value = DeletedObject(meta.related_model, foreign_key) + return value + # Replicate the format of the return value of QuerySet.values() return [ { - through_field: getattr(through_obj, through_field) + through_field: get_value(through_obj, through_field) for through_field in through_model_fields } for through_obj in m2m_qs.select_related(*fk_fields) @@ -1087,11 +1114,41 @@ def rows_with_foreign_key_objs(m2m_qs): return changes +@dataclass(frozen=True) +class DeletedObject: + model: Type[models.Model] + pk: Any + + def __str__(self): + deleted_model_str = _("Deleted %(type_name)s") % { + "type_name": self.model._meta.verbose_name, + } + return f"{deleted_model_str} (pk={self.pk})" + + +# Either: +# - The value of a foreign key field: +# - If ``foreign_keys_are_objs=True`` is passed to ``diff_against()``: +# Either the related object or ``DeletedObject``. +# - Otherwise: +# The PK of the related object. +# +# - The value of a many-to-many field: +# A list of dicts from the through model field names to either: +# - If ``foreign_keys_are_objs=True`` is passed to ``diff_against()``: +# Either the through model's related objects or ``DeletedObject``. +# - Otherwise: +# The PK of the through model's related objects. +# +# - Any of the other possible values of a model field. +ModelChangeValue = Union[Any, DeletedObject, List[Dict[str, Union[Any, DeletedObject]]]] + + @dataclass(frozen=True) class ModelChange: field: str - old: Union[Any, List[Dict[str, Any]]] - new: Union[Any, List[Dict[str, Any]]] + old: ModelChangeValue + new: ModelChangeValue @dataclass(frozen=True) diff --git a/simple_history/tests/tests/test_models.py b/simple_history/tests/tests/test_models.py index a1c957030..136cbd854 100644 --- a/simple_history/tests/tests/test_models.py +++ b/simple_history/tests/tests/test_models.py @@ -4,7 +4,6 @@ import warnings from datetime import datetime, timedelta -import django from django.apps import apps from django.conf import settings from django.contrib.auth import get_user_model @@ -20,6 +19,7 @@ from simple_history.exceptions import RelatedNameConflictError from simple_history.models import ( SIMPLE_HISTORY_REVERSE_ATTR_NAME, + DeletedObject, HistoricalRecords, ModelChange, ModelDelta, @@ -30,7 +30,6 @@ pre_create_historical_m2m_records, pre_create_historical_record, ) -from simple_history.tests.custom_user.models import CustomUser from simple_history.tests.tests.utils import ( database_router_override_settings, database_router_override_settings_history_in_diff_db, @@ -88,7 +87,6 @@ ModelWithSingleNoDBIndexUnique, MultiOneToOne, MyOverrideModelNameRegisterMethod1, - OverrideModelNameAsCallable, OverrideModelNameUsingBaseModel1, Person, Place, @@ -734,7 +732,9 @@ def test_history_diff_includes_changed_fields_of_base_model(self): def test_history_diff_arg__foreign_keys_are_objs__returns_expected_fk_values(self): poll1 = Poll.objects.create(question="why?", pub_date=today) + poll1_pk = poll1.pk poll2 = Poll.objects.create(question="how?", pub_date=tomorrow) + poll2_pk = poll2.pk choice = Choice.objects.create(poll=poll1, choice="hmm", votes=3) choice.poll = poll2 choice.choice = "idk" @@ -747,7 +747,7 @@ def test_history_diff_arg__foreign_keys_are_objs__returns_expected_fk_values(sel delta = new_record.diff_against(old_record) expected_pk_changes = [ ModelChange("choice", "hmm", "idk"), - ModelChange("poll", poll1.pk, poll2.pk), + ModelChange("poll", poll1_pk, poll2_pk), ModelChange("votes", 3, 0), ] expected_pk_delta = ModelDelta( @@ -782,15 +782,27 @@ def test_history_diff_arg__foreign_keys_are_objs__returns_expected_fk_values(sel self.assertEqual(delta, expected_pk_delta) # Test with `foreign_keys_are_objs=True` - # (Getting instances of deleted related objects is not possible - unless they - # happen to be history-tracked as well, but that's not currently detected) - with self.assertRaises(Poll.DoesNotExist): + with self.assertNumQueries(2): # Once for each poll in the new record delta = new_record.diff_against(old_record, foreign_keys_are_objs=True) + # The model objects should now instead be instances of `DeletedObject` + expected_obj_changes = [ + choice_changes, + ModelChange( + "poll", DeletedObject(Poll, poll1_pk), DeletedObject(Poll, poll2_pk) + ), + votes_changes, + ] + expected_obj_delta = dataclasses.replace( + expected_pk_delta, changes=expected_obj_changes + ) + self.assertEqual(delta, expected_obj_delta) def test_history_diff_arg__foreign_keys_are_objs__returns_expected_m2m_values(self): poll = PollWithManyToMany.objects.create(question="why?", pub_date=today) place1 = Place.objects.create(name="Here") + place1_pk = place1.pk place2 = Place.objects.create(name="There") + place2_pk = place2.pk poll.places.add(place1, place2) new_record, old_record = poll.history.all() @@ -801,8 +813,8 @@ def test_history_diff_arg__foreign_keys_are_objs__returns_expected_m2m_values(se "places", [], [ - {"pollwithmanytomany": poll.pk, "place": place1.pk}, - {"pollwithmanytomany": poll.pk, "place": place2.pk}, + {"pollwithmanytomany": poll.pk, "place": place1_pk}, + {"pollwithmanytomany": poll.pk, "place": place2_pk}, ], ) expected_pk_delta = ModelDelta( @@ -840,13 +852,12 @@ def test_history_diff_arg__foreign_keys_are_objs__returns_expected_m2m_values(se # Test with `foreign_keys_are_objs=True` with self.assertNumQueries(2 * 2): # Twice for each record delta = new_record.diff_against(old_record, foreign_keys_are_objs=True) - # (Getting instances of deleted related objects is not possible - unless they - # happen to be history-tracked as well, but that's not currently detected) + # The model objects should now instead be instances of `DeletedObject` expected_obj_change = dataclasses.replace( expected_obj_change, new=[ - {"pollwithmanytomany": poll, "place": None}, - {"pollwithmanytomany": poll, "place": None}, + {"pollwithmanytomany": poll, "place": DeletedObject(Place, place1_pk)}, + {"pollwithmanytomany": poll, "place": DeletedObject(Place, place2_pk)}, ], ) expected_obj_delta = dataclasses.replace( From b5e627c70da94a8f960a27a35d6b57c9854e5124 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Fri, 8 Mar 2024 23:44:34 +0100 Subject: [PATCH 10/13] Added _select_related_history_tracked_objs() ...to `HistoricalQuerySet`. This convenience method will make it easier to avoid database queries - e.g. when diffing and listing the results, which will be done as part of the upcoming changes to the admin history page adding a "Changes" column. No documentation was added, after the following discussion: https://github.com/jazzband/django-simple-history/pull/1128#discussion_r1518873565 Also prefixed the method with `_`, to mark it as not being part of the public API. --- simple_history/manager.py | 12 ++++++++ simple_history/tests/tests/test_manager.py | 36 +++++++++++++++++++++- simple_history/tests/tests/test_models.py | 8 +++++ 3 files changed, 55 insertions(+), 1 deletion(-) diff --git a/simple_history/manager.py b/simple_history/manager.py index 97d745281..d8f0b53e8 100644 --- a/simple_history/manager.py +++ b/simple_history/manager.py @@ -91,6 +91,18 @@ def latest_of_each(self): ) return latest_historics + def _select_related_history_tracked_objs(self): + """ + A convenience method that calls ``select_related()`` with all the names of + the model's history-tracked ``ForeignKey`` fields. + """ + field_names = [ + field.name + for field in self.model.tracked_fields + if isinstance(field, models.ForeignKey) + ] + return self.select_related(*field_names) + def _clone(self): c = super()._clone() c._as_instances = self._as_instances diff --git a/simple_history/tests/tests/test_manager.py b/simple_history/tests/tests/test_manager.py index 30e5ec11a..a10eda51c 100644 --- a/simple_history/tests/tests/test_manager.py +++ b/simple_history/tests/tests/test_manager.py @@ -8,7 +8,7 @@ from simple_history.manager import SIMPLE_HISTORY_REVERSE_ATTR_NAME -from ..models import Document, Poll, RankedDocument +from ..models import Choice, Document, Poll, RankedDocument User = get_user_model() @@ -371,3 +371,37 @@ def test_bulk_history_create_with_change_reason(self): ] ) ) + + +class PrefetchingMethodsTestCase(TestCase): + def setUp(self): + d = datetime(3021, 1, 1, 10, 0) + self.poll1 = Poll.objects.create(question="why?", pub_date=d) + self.poll2 = Poll.objects.create(question="how?", pub_date=d) + self.choice1 = Choice.objects.create(poll=self.poll1, votes=1) + self.choice2 = Choice.objects.create(poll=self.poll1, votes=2) + self.choice3 = Choice.objects.create(poll=self.poll2, votes=3) + + def test__select_related_history_tracked_objs__prefetches_expected_objects(self): + num_choices = Choice.objects.count() + self.assertEqual(num_choices, 3) + + def access_related_objs(records): + for record in records: + self.assertIsInstance(record.poll, Poll) + + # Without prefetching: + with self.assertNumQueries(1): + historical_records = Choice.history.all() + self.assertEqual(len(historical_records), num_choices) + with self.assertNumQueries(num_choices): + access_related_objs(historical_records) + + # With prefetching: + with self.assertNumQueries(1): + historical_records = ( + Choice.history.all()._select_related_history_tracked_objs() + ) + self.assertEqual(len(historical_records), num_choices) + with self.assertNumQueries(0): + access_related_objs(historical_records) diff --git a/simple_history/tests/tests/test_models.py b/simple_history/tests/tests/test_models.py index 136cbd854..281dc3f5c 100644 --- a/simple_history/tests/tests/test_models.py +++ b/simple_history/tests/tests/test_models.py @@ -1151,6 +1151,14 @@ def assert_tracked_fields_equal(model, expected_field_names): PollWithHistoricalIPAddress, ["id", "question", "pub_date"], ) + assert_tracked_fields_equal( + PollWithManyToMany, + ["id", "question", "pub_date"], + ) + assert_tracked_fields_equal( + Choice, + ["id", "poll", "choice", "votes"], + ) assert_tracked_fields_equal( ModelWithCustomAttrOneToOneField, ["id", "poll"], From 04eefadf187670b018cbfd3306d5001447eb0c52 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Wed, 20 Mar 2024 21:41:14 +0100 Subject: [PATCH 11/13] Added obj diff code from unittest ...i.e. the code that's used to display the difference between the actual and expected values for most of the `assert[...]` methods of `TestCase` when the assertion fails. This will be used to better display the diffs on the admin history page in an upcoming commit - with some modifications. The code was copied from https://github.com/python/cpython/blob/v3.12.0/Lib/unittest/util.py#L8-L52, with the following changes: * Placed the code inside a class, to group the functions and their "setting" variables from other code - which also lets them easily be overridden by users * Removed the `_` prefix from the functions and variables * Added type hints * Formatted with Black Lastly, the code was copied instead of simply imported from `unittest`, because the functions are undocumented and underscore-prefixed, which means that they're prone to being changed (drastically) or even removed, and so I think maintaining it will be easier and more stable by copy-pasting it - which additionally facilitates modification. --- simple_history/template_utils.py | 86 ++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 simple_history/template_utils.py diff --git a/simple_history/template_utils.py b/simple_history/template_utils.py new file mode 100644 index 000000000..b06d94583 --- /dev/null +++ b/simple_history/template_utils.py @@ -0,0 +1,86 @@ +from os.path import commonprefix +from typing import Any, Tuple + + +class ObjDiffDisplay: + """ + A class grouping functions and settings related to displaying the textual + difference between two (or more) objects. + ``common_shorten_repr()`` is the main method for this. + + The code is based on + https://github.com/python/cpython/blob/v3.12.0/Lib/unittest/util.py#L8-L52. + """ + + def __init__( + self, + *, + max_length=80, + placeholder_len=12, + min_begin_len=5, + min_end_len=5, + min_common_len=5, + ): + self.max_length = max_length + self.placeholder_len = placeholder_len + self.min_begin_len = min_begin_len + self.min_end_len = min_end_len + self.min_common_len = min_common_len + self.min_diff_len = max_length - ( + min_begin_len + + placeholder_len + + min_common_len + + placeholder_len + + min_end_len + ) + assert self.min_diff_len >= 0 # nosec + + def common_shorten_repr(self, *args: Any) -> Tuple[str, ...]: + """ + Returns ``args`` with each element converted into a string representation. + If any of the strings are longer than ``self.max_length``, they're all shortened + so that the first differences between the strings (after a potential common + prefix in all of them) are lined up. + """ + args = tuple(map(self.safe_repr, args)) + maxlen = max(map(len, args)) + if maxlen <= self.max_length: + return args + + prefix = commonprefix(args) + prefixlen = len(prefix) + + common_len = self.max_length - ( + maxlen - prefixlen + self.min_begin_len + self.placeholder_len + ) + if common_len > self.min_common_len: + assert ( + self.min_begin_len + + self.placeholder_len + + self.min_common_len + + (maxlen - prefixlen) + < self.max_length + ) # nosec + prefix = self.shorten(prefix, self.min_begin_len, common_len) + return tuple(prefix + s[prefixlen:] for s in args) + + prefix = self.shorten(prefix, self.min_begin_len, self.min_common_len) + return tuple( + prefix + self.shorten(s[prefixlen:], self.min_diff_len, self.min_end_len) + for s in args + ) + + def safe_repr(self, obj: Any, short=False) -> str: + try: + result = repr(obj) + except Exception: + result = object.__repr__(obj) + if not short or len(result) < self.max_length: + return result + return result[: self.max_length] + " [truncated]..." + + def shorten(self, s: str, prefixlen: int, suffixlen: int) -> str: + skip = len(s) - prefixlen - suffixlen + if skip > self.placeholder_len: + s = "%s[%d chars]%s" % (s[:prefixlen], skip, s[len(s) - suffixlen:]) + return s From c9963aaeaddd9d66619a9996aa6bb36a70f0d779 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Sat, 4 May 2024 14:13:53 +0200 Subject: [PATCH 12/13] Added Changes column to admin history page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This lists the changes between each historical record of the object. Effort has been made to make it easy for library users to override most parts of this, and to let them customize only the details they want to without having to copy or replace our implementation. An overview of how to override it has been added to `admin.rst`. Most of the code was added to `template_utils.py`, to avoid cluttering `SimpleHistoryAdmin`. Also updated the Norwegian Bokmål translations, and updated all the docs screenshots, to make them have Django 5.0's UI and to showcase the new column. Co-authored-by: Gur Raunaq Singh Co-authored-by: Tim Schilling --- CHANGES.rst | 3 + docs/admin.rst | 21 +- docs/screens/10_revert_disabled.png | Bin 88377 -> 15881 bytes docs/screens/1_poll_history.png | Bin 101284 -> 19753 bytes docs/screens/2_revert.png | Bin 111293 -> 17844 bytes docs/screens/3_poll_reverted.png | Bin 90104 -> 16449 bytes .../screens/4_history_after_poll_reverted.png | Bin 110264 -> 21966 bytes docs/screens/5_history_list_display.png | Bin 38025 -> 14499 bytes simple_history/admin.py | 50 ++- .../locale/nb/LC_MESSAGES/django.mo | Bin 2196 -> 2246 bytes .../locale/nb/LC_MESSAGES/django.po | 16 +- simple_history/template_utils.py | 205 ++++++++++-- .../simple_history/object_history_list.html | 17 + simple_history/tests/admin.py | 36 +- simple_history/tests/tests/test_admin.py | 167 ++++++++++ .../tests/tests/test_template_utils.py | 314 ++++++++++++++++++ 16 files changed, 793 insertions(+), 36 deletions(-) create mode 100644 simple_history/tests/tests/test_template_utils.py diff --git a/CHANGES.rst b/CHANGES.rst index 58b3d3320..9f06150d7 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -22,6 +22,9 @@ Unreleased lists are sorted by the related object. This should help prevent flaky tests. (gh-1128) - ``diff_against()`` has a new keyword argument, ``foreign_keys_are_objs``; see usage in the docs under "History Diffing" (gh-1128) +- Added a "Changes" column to ``SimpleHistoryAdmin``'s object history table, listing + the changes between each historical record of the object; see the docs under + "Customizing the History Admin Templates" for overriding its template context (gh-1128) 3.5.0 (2024-02-19) ------------------ diff --git a/docs/admin.rst b/docs/admin.rst index ba9cf1cd9..63329d110 100644 --- a/docs/admin.rst +++ b/docs/admin.rst @@ -84,7 +84,26 @@ you can override the following attributes with the names of your own templates: historical record, which also allows you to revert the object to a previous version. If you'd like to only customize certain parts of the mentioned templates, look for -``block`` template tags in the source code that you can override. +``block`` template tags in the source code that you can override - like the +``history_delta_changes`` block in ``simple_history/object_history_list.html``, +which lists the changes made between each historical record. + +Customizing Context +^^^^^^^^^^^^^^^^^^^ + +You can also customize the template context by overriding the following methods: + +- ``render_history_view()``: Called by both ``history_view()`` and + ``history_form_view()`` before the templates are rendered. Customize the context by + changing the ``context`` parameter. +- ``history_view()``: Returns a rendered ``object_history_template``. + Inject context by calling the super method with the ``extra_context`` argument. +- ``get_historical_record_context_helper()``: Returns an instance of + ``simple_history.template_utils.HistoricalRecordContextHelper`` that's used to format + some template context for each historical record displayed through ``history_view()``. + Customize the context by extending the mentioned class and overriding its methods. +- ``history_form_view()``: Returns a rendered ``object_history_form_template``. + Inject context by calling the super method with the ``extra_context`` argument. Disabling the option to revert an object diff --git a/docs/screens/10_revert_disabled.png b/docs/screens/10_revert_disabled.png index 851fcfe009445922432e483966ea3d74c0a52a44..e5ab87358628df2fac813741f9dc6cbb28e2e51c 100644 GIT binary patch literal 15881 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 X)90$OcZ%DsANXTLk@8+#gS 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ΝtQQ4t&c$gKbvV%M(cjQ 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
mm_d$%Ey-d;=gc!`{4f7ny2z_)^8XeFAn Sequence[str]:
@@ -131,6 +137,44 @@ def get_history_list_display(self, request) -> Sequence[str]:
         """
         return self.history_list_display
 
+    def get_historical_record_context_helper(
+        self, request, historical_record: HistoricalChanges
+    ) -> HistoricalRecordContextHelper:
+        """
+        Return an instance of ``HistoricalRecordContextHelper`` for formatting
+        the template context for ``historical_record``.
+        """
+        return HistoricalRecordContextHelper(self.model, historical_record)
+
+    def set_history_delta_changes(
+        self,
+        request,
+        historical_records: Sequence[HistoricalChanges],
+        foreign_keys_are_objs=True,
+    ):
+        """
+        Add a ``history_delta_changes`` attribute to all historical records
+        except the first (oldest) one.
+
+        :param request:
+        :param historical_records:
+        :param foreign_keys_are_objs: Passed to ``diff_against()`` when calculating
+               the deltas; see its docstring for details.
+        """
+        previous = None
+        for current in historical_records:
+            if previous is None:
+                previous = current
+                continue
+            # Related objects should have been prefetched in `get_history_queryset()`
+            delta = previous.diff_against(
+                current, foreign_keys_are_objs=foreign_keys_are_objs
+            )
+            helper = self.get_historical_record_context_helper(request, previous)
+            previous.history_delta_changes = helper.context_for_delta_changes(delta)
+
+            previous = current
+
     def history_view_title(self, request, obj):
         if self.revert_disabled(request, obj) and not SIMPLE_HISTORY_EDIT:
             return _("View history: %s") % force_str(obj)
diff --git a/simple_history/locale/nb/LC_MESSAGES/django.mo b/simple_history/locale/nb/LC_MESSAGES/django.mo
index 0d917f53f688ffb3831618bb02a9d56a2f8282ce..594a7b899d1546e0953285d530689bf5d04f7e1c 100644
GIT binary patch
delta 693
zcmXxiJ4*vW6o%n3*{DgpCGi%cXqyP4kU}t^-~|;_Y^>4*4I*fY7z7dADvgZ^YHyXo
z!e)PfXd&3!DgFWxY;0_Nzuj?Q_L(y~m$Nf_op?^TA4%uNP{ydERHx0DEPkR&BV0b(B*KE=lpkv1lI7ElIWWf9+BfXw#XP%d!WQbw%culu
zJhZ`?wT>m?OJu6~w*5a=?bbs_G#~NL=Cu#D!7glc!=6XZQBT`E!MaSt$@N;$4-oKqX9H%n$&WQk}94cS!vTpDzrj6
v2h?cIRx70K=mf{Wc%){`#9LMl6{;s-Ew

diff --git a/simple_history/locale/nb/LC_MESSAGES/django.po b/simple_history/locale/nb/LC_MESSAGES/django.po
index 228f4ed9f..334f336b2 100644
--- a/simple_history/locale/nb/LC_MESSAGES/django.po
+++ b/simple_history/locale/nb/LC_MESSAGES/django.po
@@ -19,31 +19,31 @@ msgstr ""
 
 # Dette er en tittel, ikke en handlingsbeskrivelse, så f.eks.
 # "Se/Vis (endrings)historikk" hadde ikke fungert så bra
-#: simple_history/admin.py:102
+#: simple_history/admin.py:109
 #, python-format
 msgid "View history: %s"
 msgstr "Endringshistorikk: %s"
 
-#: simple_history/admin.py:104
+#: simple_history/admin.py:111
 #, python-format
 msgid "Change history: %s"
 msgstr "Endringshistorikk: %s"
 
-#: simple_history/admin.py:110
+#: simple_history/admin.py:117
 #, python-format
 msgid "The %(name)s \"%(obj)s\" was changed successfully."
 msgstr "%(name)s «%(obj)s» ble endret."
 
-#: simple_history/admin.py:116
+#: simple_history/admin.py:123
 msgid "You may edit it again below"
 msgstr "Du kan redigere videre nedenfor"
 
-#: simple_history/admin.py:217
+#: simple_history/admin.py:224
 #, python-format
 msgid "View %s"
 msgstr "Se %s"
 
-#: simple_history/admin.py:219
+#: simple_history/admin.py:226
 #, python-format
 msgid "Revert %s"
 msgstr "Tilbakestill %s"
@@ -126,6 +126,10 @@ msgstr "Endret av"
 msgid "Change reason"
 msgstr "Endringsårsak"
 
+#: simple_history/templates/simple_history/object_history_list.html:17
+msgid "Changes"
+msgstr "Endringer"
+
 #: simple_history/templates/simple_history/object_history_list.html:42
 msgid "None"
 msgstr "Ingen"
diff --git a/simple_history/template_utils.py b/simple_history/template_utils.py
index b06d94583..ae02d02e9 100644
--- a/simple_history/template_utils.py
+++ b/simple_history/template_utils.py
@@ -1,5 +1,166 @@
+import dataclasses
 from os.path import commonprefix
-from typing import Any, Tuple
+from typing import Any, Dict, Final, List, Tuple, Type, Union
+
+from django.db.models import ManyToManyField, Model
+from django.utils.html import conditional_escape
+from django.utils.safestring import SafeString, mark_safe
+from django.utils.text import capfirst
+
+from .models import HistoricalChanges, ModelChange, ModelChangeValue, ModelDelta
+from .utils import get_m2m_reverse_field_name
+
+
+def conditional_str(obj: Any) -> str:
+    """
+    Converts ``obj`` to a string, unless it's already one.
+    """
+    if isinstance(obj, str):
+        return obj
+    return str(obj)
+
+
+def is_safe_str(s: Any) -> bool:
+    """
+    Returns whether ``s`` is a (presumably) pre-escaped string or not.
+
+    This relies on the same ``__html__`` convention as Django's ``conditional_escape``
+    does.
+    """
+    return hasattr(s, "__html__")
+
+
+class HistoricalRecordContextHelper:
+    """
+    Class containing various utilities for formatting the template context for
+    a historical record.
+    """
+
+    DEFAULT_MAX_DISPLAYED_DELTA_CHANGE_CHARS: Final = 100
+
+    def __init__(
+        self,
+        model: Type[Model],
+        historical_record: HistoricalChanges,
+        *,
+        max_displayed_delta_change_chars=DEFAULT_MAX_DISPLAYED_DELTA_CHANGE_CHARS,
+    ):
+        self.model = model
+        self.record = historical_record
+
+        self.max_displayed_delta_change_chars = max_displayed_delta_change_chars
+
+    def context_for_delta_changes(self, delta: ModelDelta) -> List[Dict[str, Any]]:
+        """
+        Return the template context for ``delta.changes``.
+        By default, this is a list of dicts with the keys ``"field"``,
+        ``"old"`` and ``"new"`` -- corresponding to the fields of ``ModelChange``.
+
+        :param delta: The result from calling ``diff_against()`` with another historical
+               record. Its ``old_record`` or ``new_record`` field should have been
+               assigned to ``self.record``.
+        """
+        context_list = []
+        for change in delta.changes:
+            formatted_change = self.format_delta_change(change)
+            context_list.append(
+                {
+                    "field": formatted_change.field,
+                    "old": formatted_change.old,
+                    "new": formatted_change.new,
+                }
+            )
+        return context_list
+
+    def format_delta_change(self, change: ModelChange) -> ModelChange:
+        """
+        Return a ``ModelChange`` object with fields formatted for being used as
+        template context.
+        """
+        old = self.prepare_delta_change_value(change, change.old)
+        new = self.prepare_delta_change_value(change, change.new)
+
+        old, new = self.stringify_delta_change_values(change, old, new)
+
+        field_meta = self.model._meta.get_field(change.field)
+        return dataclasses.replace(
+            change,
+            field=capfirst(field_meta.verbose_name),
+            old=old,
+            new=new,
+        )
+
+    def prepare_delta_change_value(
+        self,
+        change: ModelChange,
+        value: ModelChangeValue,
+    ) -> Any:
+        """
+        Return the prepared value for the ``old`` and ``new`` fields of ``change``,
+        before it's passed through ``stringify_delta_change_values()`` (in
+        ``format_delta_change()``).
+
+        For example, if ``value`` is a list of M2M related objects, it could be
+        "prepared" by replacing the related objects with custom string representations.
+
+        :param change:
+        :param value: Either ``change.old`` or ``change.new``.
+        """
+        field_meta = self.model._meta.get_field(change.field)
+        if isinstance(field_meta, ManyToManyField):
+            reverse_field_name = get_m2m_reverse_field_name(field_meta)
+            # Display a list of only the instances of the M2M field's related model
+            display_value = [
+                obj_values_dict[reverse_field_name] for obj_values_dict in value
+            ]
+        else:
+            display_value = value
+        return display_value
+
+    def stringify_delta_change_values(
+        self, change: ModelChange, old: Any, new: Any
+    ) -> Tuple[SafeString, SafeString]:
+        """
+        Called by ``format_delta_change()`` after ``old`` and ``new`` have been
+        prepared by ``prepare_delta_change_value()``.
+
+        Return a tuple -- ``(old, new)`` -- where each element has been
+        escaped/sanitized and turned into strings, ready to be displayed in a template.
+        These can be HTML strings (remember to pass them through ``mark_safe()`` *after*
+        escaping).
+
+        If ``old`` or ``new`` are instances of ``list``, the default implementation will
+        use each list element's ``__str__()`` method, and also reapply ``mark_safe()``
+        if all the passed elements are safe strings.
+        """
+
+        def stringify_value(value: Any) -> Union[str, SafeString]:
+            # If `value` is a list, stringify each element using `str()` instead of
+            # `repr()` (the latter is the default when calling `list.__str__()`)
+            if isinstance(value, list):
+                string = f"[{', '.join(map(conditional_str, value))}]"
+                # If all elements are safe strings, reapply `mark_safe()`
+                if all(map(is_safe_str, value)):
+                    string = mark_safe(string)  # nosec
+            else:
+                string = conditional_str(value)
+            return string
+
+        old_str, new_str = stringify_value(old), stringify_value(new)
+        diff_display = self.get_obj_diff_display()
+        old_short, new_short = diff_display.common_shorten_repr(old_str, new_str)
+        # Escape *after* shortening, as any shortened, previously safe HTML strings have
+        # likely been mangled. Other strings that have not been shortened, should have
+        # their "safeness" unchanged.
+        return conditional_escape(old_short), conditional_escape(new_short)
+
+    def get_obj_diff_display(self) -> "ObjDiffDisplay":
+        """
+        Return an instance of ``ObjDiffDisplay`` that will be used in
+        ``stringify_delta_change_values()`` to display the difference between
+        the old and new values of a ``ModelChange``.
+        """
+        return ObjDiffDisplay(max_length=self.max_displayed_delta_change_chars)
 
 
 class ObjDiffDisplay:
@@ -42,45 +203,47 @@ def common_shorten_repr(self, *args: Any) -> Tuple[str, ...]:
         so that the first differences between the strings (after a potential common
         prefix in all of them) are lined up.
         """
-        args = tuple(map(self.safe_repr, args))
-        maxlen = max(map(len, args))
-        if maxlen <= self.max_length:
+        args = tuple(map(conditional_str, args))
+        max_len = max(map(len, args))
+        if max_len <= self.max_length:
             return args
 
         prefix = commonprefix(args)
-        prefixlen = len(prefix)
+        prefix_len = len(prefix)
 
         common_len = self.max_length - (
-            maxlen - prefixlen + self.min_begin_len + self.placeholder_len
+            max_len - prefix_len + self.min_begin_len + self.placeholder_len
         )
         if common_len > self.min_common_len:
             assert (
                 self.min_begin_len
                 + self.placeholder_len
                 + self.min_common_len
-                + (maxlen - prefixlen)
+                + (max_len - prefix_len)
                 < self.max_length
             )  # nosec
             prefix = self.shorten(prefix, self.min_begin_len, common_len)
-            return tuple(prefix + s[prefixlen:] for s in args)
+            return tuple(f"{prefix}{s[prefix_len:]}" for s in args)
 
         prefix = self.shorten(prefix, self.min_begin_len, self.min_common_len)
         return tuple(
-            prefix + self.shorten(s[prefixlen:], self.min_diff_len, self.min_end_len)
+            prefix + self.shorten(s[prefix_len:], self.min_diff_len, self.min_end_len)
             for s in args
         )
 
-    def safe_repr(self, obj: Any, short=False) -> str:
-        try:
-            result = repr(obj)
-        except Exception:
-            result = object.__repr__(obj)
-        if not short or len(result) < self.max_length:
-            return result
-        return result[: self.max_length] + " [truncated]..."
-
-    def shorten(self, s: str, prefixlen: int, suffixlen: int) -> str:
-        skip = len(s) - prefixlen - suffixlen
+    def shorten(self, s: str, prefix_len: int, suffix_len: int) -> str:
+        skip = len(s) - prefix_len - suffix_len
         if skip > self.placeholder_len:
-            s = "%s[%d chars]%s" % (s[:prefixlen], skip, s[len(s) - suffixlen:])
+            suffix_index = len(s) - suffix_len
+            s = self.shortened_str(s[:prefix_len], skip, s[suffix_index:])
         return s
+
+    def shortened_str(self, prefix: str, num_skipped_chars: int, suffix: str) -> str:
+        """
+        Return a shortened version of the string representation of one of the args
+        passed to ``common_shorten_repr()``.
+        This should be in the format ``f"{prefix}{skip_str}{suffix}"``, where
+        ``skip_str`` is a string indicating how many characters (``num_skipped_chars``)
+        of the string representation were skipped between ``prefix`` and ``suffix``.
+        """
+        return f"{prefix}[{num_skipped_chars:d} chars]{suffix}"
diff --git a/simple_history/templates/simple_history/object_history_list.html b/simple_history/templates/simple_history/object_history_list.html
index cd79b28b1..9356ddc09 100644
--- a/simple_history/templates/simple_history/object_history_list.html
+++ b/simple_history/templates/simple_history/object_history_list.html
@@ -14,6 +14,7 @@
       {% trans 'Comment' %}
       {% trans 'Changed by' %}
       {% trans 'Change reason' %}
+      {% trans 'Changes' %}
     
   
   
@@ -44,6 +45,22 @@
         
           {{ record.history_change_reason }}
         
+        
+          {% block history_delta_changes %}
+            {% if record.history_delta_changes %}
+              
    + {% for change in record.history_delta_changes %} +
  • + {{ change.field }}: + {{ change.old }} + {# Add some spacing, and prevent having the arrow point to the edge of the page if `new` is wrapped #} +  →  {{ change.new }} +
  • + {% endfor %} +
+ {% endif %} + {% endblock %} + {% endfor %} diff --git a/simple_history/tests/admin.py b/simple_history/tests/admin.py index 24cf5f7ac..cc6aaf903 100644 --- a/simple_history/tests/admin.py +++ b/simple_history/tests/admin.py @@ -1,6 +1,8 @@ from django.contrib import admin +from django.utils.safestring import SafeString, mark_safe from simple_history.admin import SimpleHistoryAdmin +from simple_history.template_utils import HistoricalRecordContextHelper from simple_history.tests.external.models import ExternalModelWithCustomUserIdField from .models import ( @@ -12,8 +14,10 @@ FileModel, Paper, Person, + Place, Planet, Poll, + PollWithManyToMany, ) @@ -43,14 +47,36 @@ def test_method(self, obj): history_list_display = ["title", "test_method"] -admin.site.register(Poll, SimpleHistoryAdmin) -admin.site.register(Choice, ChoiceAdmin) -admin.site.register(Person, PersonAdmin) +class HistoricalPollWithManyToManyContextHelper(HistoricalRecordContextHelper): + def prepare_delta_change_value(self, change, value): + display_value = super().prepare_delta_change_value(change, value) + if change.field == "places": + assert isinstance(display_value, list) + assert all(isinstance(place, Place) for place in display_value) + + places = sorted(display_value, key=lambda place: place.name) + display_value = list(map(self.place_display, places)) + return display_value + + @staticmethod + def place_display(place: Place) -> SafeString: + return mark_safe(f"{place.name}") + + +class PollWithManyToManyAdmin(SimpleHistoryAdmin): + def get_historical_record_context_helper(self, request, historical_record): + return HistoricalPollWithManyToManyContextHelper(self.model, historical_record) + + admin.site.register(Book, SimpleHistoryAdmin) +admin.site.register(Choice, ChoiceAdmin) +admin.site.register(ConcreteExternal, SimpleHistoryAdmin) admin.site.register(Document, SimpleHistoryAdmin) -admin.site.register(Paper, SimpleHistoryAdmin) admin.site.register(Employee, SimpleHistoryAdmin) -admin.site.register(ConcreteExternal, SimpleHistoryAdmin) admin.site.register(ExternalModelWithCustomUserIdField, SimpleHistoryAdmin) admin.site.register(FileModel, FileModelAdmin) +admin.site.register(Paper, SimpleHistoryAdmin) +admin.site.register(Person, PersonAdmin) admin.site.register(Planet, PlanetAdmin) +admin.site.register(Poll, SimpleHistoryAdmin) +admin.site.register(PollWithManyToMany, PollWithManyToManyAdmin) diff --git a/simple_history/tests/tests/test_admin.py b/simple_history/tests/tests/test_admin.py index 2b441030b..02b5bdc52 100644 --- a/simple_history/tests/tests/test_admin.py +++ b/simple_history/tests/tests/test_admin.py @@ -10,10 +10,12 @@ from django.test.client import RequestFactory from django.test.utils import override_settings from django.urls import reverse +from django.utils.dateparse import parse_datetime from django.utils.encoding import force_str from simple_history.admin import SimpleHistoryAdmin from simple_history.models import HistoricalRecords +from simple_history.template_utils import HistoricalRecordContextHelper from simple_history.tests.external.models import ExternalModelWithCustomUserIdField from simple_history.tests.tests.utils import ( PermissionAction, @@ -29,8 +31,10 @@ Employee, FileModel, Person, + Place, Planet, Poll, + PollWithManyToMany, State, ) @@ -86,6 +90,169 @@ def test_history_list(self): self.assertContains(response, "A random test reason") self.assertContains(response, self.user.username) + def test_history_list_contains_diff_changes(self): + self.login() + poll = Poll(question="why?", pub_date=today) + poll._history_user = self.user + poll.save() + + poll_history_url = get_history_url(poll) + response = self.client.get(poll_history_url) + self.assertContains(response, "Changes") + # The poll hasn't had any of its fields changed after creation, + # so these values should not be present + self.assertNotContains(response, "Question:") + self.assertNotContains(response, "why?") + self.assertNotContains(response, "Date published:") + + poll.question = "how?" + poll.save() + response = self.client.get(poll_history_url) + self.assertContains(response, "Question:") + self.assertContains(response, "why?") + self.assertContains(response, "how?") + self.assertNotContains(response, "Date published:") + + poll.question = "when?" + poll.pub_date = parse_datetime("2024-04-04 04:04:04") + poll.save() + response = self.client.get(poll_history_url) + self.assertContains(response, "Question:") + self.assertContains(response, "why?") + self.assertContains(response, "how?") + self.assertContains(response, "when?") + self.assertContains(response, "Date published:") + self.assertContains(response, "2021-01-01 10:00:00") + self.assertContains(response, "2024-04-04 04:04:04") + + def test_history_list_contains_diff_changes_for_foreign_key_fields(self): + self.login() + poll1 = Poll.objects.create(question="why?", pub_date=today) + poll1_pk = poll1.pk + poll2 = Poll.objects.create(question="how?", pub_date=today) + poll2_pk = poll2.pk + choice = Choice(poll=poll1, votes=1) + choice._history_user = self.user + choice.save() + choice_history_url = get_history_url(choice) + + # Before changing the poll: + response = self.client.get(choice_history_url) + self.assertNotContains(response, "Poll:") + expected_old_poll = f"Poll object ({poll1_pk})" + self.assertNotContains(response, expected_old_poll) + expected_new_poll = f"Poll object ({poll2_pk})" + self.assertNotContains(response, expected_new_poll) + + # After changing the poll: + choice.poll = poll2 + choice.save() + response = self.client.get(choice_history_url) + self.assertContains(response, "Poll:") + self.assertContains(response, expected_old_poll) + self.assertContains(response, expected_new_poll) + + # After deleting all polls: + Poll.objects.all().delete() + response = self.client.get(choice_history_url) + self.assertContains(response, "Poll:") + self.assertContains(response, f"Deleted poll (pk={poll1_pk})") + self.assertContains(response, f"Deleted poll (pk={poll2_pk})") + + @patch( + # Test without the customization in PollWithManyToMany's admin class + "simple_history.tests.admin.HistoricalPollWithManyToManyContextHelper", + HistoricalRecordContextHelper, + ) + def test_history_list_contains_diff_changes_for_m2m_fields(self): + self.login() + poll = PollWithManyToMany(question="why?", pub_date=today) + poll._history_user = self.user + poll.save() + place1 = Place.objects.create(name="Here") + place1_pk = place1.pk + place2 = Place.objects.create(name="There") + place2_pk = place2.pk + poll_history_url = get_history_url(poll) + + # Before adding places: + response = self.client.get(poll_history_url) + self.assertNotContains(response, "Places:") + expected_old_places = "[]" + self.assertNotContains(response, expected_old_places) + expected_new_places = ( + f"[Place object ({place1_pk}), Place object ({place2_pk})]" + ) + self.assertNotContains(response, expected_new_places) + + # After adding places: + poll.places.add(place1, place2) + response = self.client.get(poll_history_url) + self.assertContains(response, "Places:") + self.assertContains(response, expected_old_places) + self.assertContains(response, expected_new_places) + + # After deleting all places: + Place.objects.all().delete() + response = self.client.get(poll_history_url) + self.assertContains(response, "Places:") + self.assertContains(response, expected_old_places) + expected_new_places = ( + f"[Deleted place (pk={place1_pk}), Deleted place (pk={place2_pk})]" + ) + self.assertContains(response, expected_new_places) + + def test_history_list_doesnt_contain_too_long_diff_changes(self): + self.login() + + def create_and_change_poll(*, initial_question, changed_question) -> Poll: + poll = Poll(question=initial_question, pub_date=today) + poll._history_user = self.user + poll.save() + poll.question = changed_question + poll.save() + return poll + + repeated_chars = ( + HistoricalRecordContextHelper.DEFAULT_MAX_DISPLAYED_DELTA_CHANGE_CHARS + ) + + # Number of characters right on the limit + poll1 = create_and_change_poll( + initial_question="A" * repeated_chars, + changed_question="B" * repeated_chars, + ) + response = self.client.get(get_history_url(poll1)) + self.assertContains(response, "Question:") + self.assertContains(response, "A" * repeated_chars) + self.assertContains(response, "B" * repeated_chars) + + # Number of characters just over the limit + poll2 = create_and_change_poll( + initial_question="A" * (repeated_chars + 1), + changed_question="B" * (repeated_chars + 1), + ) + response = self.client.get(get_history_url(poll2)) + self.assertContains(response, "Question:") + self.assertContains(response, f"{'A' * 61}[35 chars]AAAAA") + self.assertContains(response, f"{'B' * 61}[35 chars]BBBBB") + + def test_overriding__historical_record_context_helper__with_custom_m2m_string(self): + self.login() + + place1 = Place.objects.create(name="Place 1") + place2 = Place.objects.create(name="Place 2") + place3 = Place.objects.create(name="Place 3") + poll = PollWithManyToMany.objects.create(question="why?", pub_date=today) + poll.places.add(place1, place2) + poll.places.set([place3]) + + response = self.client.get(get_history_url(poll)) + self.assertContains(response, "Places:") + self.assertContains(response, "[]") + self.assertContains(response, "[Place 1, Place 2]") + self.assertContains(response, "[Place 3]") + def test_history_list_custom_fields(self): model_name = self.user._meta.model_name self.assertEqual(model_name, "customuser") diff --git a/simple_history/tests/tests/test_template_utils.py b/simple_history/tests/tests/test_template_utils.py new file mode 100644 index 000000000..b094588f9 --- /dev/null +++ b/simple_history/tests/tests/test_template_utils.py @@ -0,0 +1,314 @@ +from datetime import datetime +from typing import Tuple + +from django.test import TestCase +from django.utils.dateparse import parse_datetime +from django.utils.safestring import mark_safe + +from simple_history.models import ModelChange, ModelDelta +from simple_history.template_utils import HistoricalRecordContextHelper, is_safe_str + +from ...tests.models import Choice, Place, Poll, PollWithManyToMany + + +class HistoricalRecordContextHelperTestCase(TestCase): + + def test__context_for_delta_changes__basic_usage_works_as_expected(self): + # --- Text and datetimes --- + + old_date = "2021-01-01 12:00:00" + poll = Poll.objects.create(question="old?", pub_date=parse_datetime(old_date)) + new_date = "2021-01-02 12:00:00" + poll.question = "new?" + poll.pub_date = parse_datetime(new_date) + poll.save() + + new, old = poll.history.all() + expected_context_list = [ + { + "field": "Date published", + "old": old_date, + "new": new_date, + }, + { + "field": "Question", + "old": "old?", + "new": "new?", + }, + ] + self.assert__context_for_delta_changes__equal( + Poll, old, new, expected_context_list + ) + + # --- Foreign keys and ints --- + + poll1 = Poll.objects.create(question="1?", pub_date=datetime.now()) + poll2 = Poll.objects.create(question="2?", pub_date=datetime.now()) + choice = Choice.objects.create(poll=poll1, votes=1) + choice.poll = poll2 + choice.votes = 10 + choice.save() + + new, old = choice.history.all() + expected_context_list = [ + { + "field": "Poll", + "old": f"Poll object ({poll1.pk})", + "new": f"Poll object ({poll2.pk})", + }, + { + "field": "Votes", + "old": "1", + "new": "10", + }, + ] + self.assert__context_for_delta_changes__equal( + Choice, old, new, expected_context_list + ) + + # --- M2M objects, text and datetimes (across 3 records) --- + + poll = PollWithManyToMany.objects.create( + question="old?", pub_date=parse_datetime(old_date) + ) + poll.question = "new?" + poll.pub_date = parse_datetime(new_date) + poll.save() + place1 = Place.objects.create(name="Place 1") + place2 = Place.objects.create(name="Place 2") + poll.places.add(place1, place2) + + newest, _middle, oldest = poll.history.all() + expected_context_list = [ + # (The dicts should be sorted by the fields' attribute names) + { + "field": "Places", + "old": "[]", + "new": f"[Place object ({place1.pk}), Place object ({place2.pk})]", + }, + { + "field": "Date published", + "old": old_date, + "new": new_date, + }, + { + "field": "Question", + "old": "old?", + "new": "new?", + }, + ] + self.assert__context_for_delta_changes__equal( + PollWithManyToMany, oldest, newest, expected_context_list + ) + + def assert__context_for_delta_changes__equal( + self, model, old_record, new_record, expected_context_list + ): + delta = new_record.diff_against(old_record, foreign_keys_are_objs=True) + context_helper = HistoricalRecordContextHelper(model, new_record) + context_list = context_helper.context_for_delta_changes(delta) + self.assertListEqual(context_list, expected_context_list) + + def test__context_for_delta_changes__with_string_len_around_character_limit(self): + now = datetime.now() + + def test_context_dict( + *, initial_question, changed_question, expected_old, expected_new + ) -> None: + poll = Poll.objects.create(question=initial_question, pub_date=now) + poll.question = changed_question + poll.save() + new, old = poll.history.all() + + expected_context_dict = { + "field": "Question", + "old": expected_old, + "new": expected_new, + } + self.assert__context_for_delta_changes__equal( + Poll, old, new, [expected_context_dict] + ) + # Flipping the records should produce the same result (other than also + # flipping the expected "old" and "new" values, of course) + expected_context_dict = { + "field": "Question", + "old": expected_new, + "new": expected_old, + } + self.assert__context_for_delta_changes__equal( + Poll, new, old, [expected_context_dict] + ) + + # Check the character limit used in the assertions below + self.assertEqual( + HistoricalRecordContextHelper.DEFAULT_MAX_DISPLAYED_DELTA_CHANGE_CHARS, 100 + ) + + # Number of characters right on the limit + test_context_dict( + initial_question=f"Y{'A' * 99}", + changed_question=f"W{'A' * 99}", + expected_old=f"Y{'A' * 99}", + expected_new=f"W{'A' * 99}", + ) + + # Over the character limit, with various ways that a shared prefix affects how + # the shortened strings are lined up with each other + test_context_dict( + initial_question=f"Y{'A' * 100}", + changed_question=f"W{'A' * 100}", + expected_old=f"Y{'A' * 60}[35 chars]AAAAA", + expected_new=f"W{'A' * 60}[35 chars]AAAAA", + ) + test_context_dict( + initial_question=f"{'A' * 100}Y", + changed_question=f"{'A' * 100}W", + expected_old=f"AAAAA[13 chars]{'A' * 82}Y", + expected_new=f"AAAAA[13 chars]{'A' * 82}W", + ) + test_context_dict( + initial_question=f"{'A' * 100}Y", + changed_question=f"{'A' * 199}W", + expected_old="AAAAA[90 chars]AAAAAY", + expected_new=f"AAAAA[90 chars]{'A' * 66}[34 chars]AAAAW", + ) + test_context_dict( + initial_question=f"{'A' * 50}Y{'E' * 100}", + changed_question=f"{'A' * 50}W{'E' * 149}", + expected_old=f"AAAAA[40 chars]AAAAAY{'E' * 60}[35 chars]EEEEE", + expected_new=f"AAAAA[40 chars]AAAAAW{'E' * 60}[84 chars]EEEEE", + ) + test_context_dict( + initial_question=f"{'A' * 50}Y{'E' * 149}", + changed_question=f"{'A' * 149}W{'E' * 50}", + expected_old=f"AAAAA[40 chars]AAAAAY{'E' * 60}[84 chars]EEEEE", + expected_new=f"AAAAA[40 chars]{'A' * 66}[84 chars]EEEEE", + ) + + # Only similar prefixes are detected and lined up; + # similar parts later in the strings are not + test_context_dict( + initial_question=f"{'Y' * 100}{'A' * 50}", + changed_question=f"{'W' * 100}{'A' * 50}{'H' * 50}", + expected_old=f"{'Y' * 61}[84 chars]AAAAA", + expected_new=f"{'W' * 61}[134 chars]HHHHH", + ) + + # Both "old" and "new" under the character limit + test_context_dict( + initial_question="A" * 10, + changed_question="A" * 100, + expected_old="A" * 10, + expected_new="A" * 100, + ) + # "new" just over the limit, but with "old" too short to be shortened + test_context_dict( + initial_question="A" * 10, + changed_question="A" * 101, + expected_old="A" * 10, + expected_new=f"{'A' * 71}[25 chars]AAAAA", + ) + # Both "old" and "new" under the character limit + test_context_dict( + initial_question="A" * 99, + changed_question="A" * 100, + expected_old="A" * 99, + expected_new="A" * 100, + ) + # "new" just over the limit, and "old" long enough to be shortened (which is + # done even if it's shorter than the character limit) + test_context_dict( + initial_question="A" * 99, + changed_question="A" * 101, + expected_old=f"AAAAA[13 chars]{'A' * 81}", + expected_new=f"AAAAA[13 chars]{'A' * 83}", + ) + + def test__context_for_delta_changes__preserves_html_safe_strings(self): + def get_context_dict_old_and_new(old_value, new_value) -> Tuple[str, str]: + # The field doesn't really matter, as long as it exists on the model + # passed to `HistoricalRecordContextHelper` + change = ModelChange("question", old_value, new_value) + # (The record args are not (currently) used in the default implementation) + delta = ModelDelta([change], ["question"], None, None) + context_helper = HistoricalRecordContextHelper(Poll, None) + (context_dict,) = context_helper.context_for_delta_changes(delta) + return context_dict["old"], context_dict["new"] + + # Strings not marked as safe should be escaped + old_string = "Hey" + new_string = "Hello" + old, new = get_context_dict_old_and_new(old_string, new_string) + self.assertEqual(old, "<i>Hey</i>") + self.assertEqual(new, "<b>Hello</b>") + # The result should still be marked safe as part of being escaped + self.assertTrue(is_safe_str(old) and is_safe_str(new)) + + # Strings marked as safe should be kept unchanged... + old_safe_string = mark_safe("Hey") + new_safe_string = mark_safe("Hello") + old, new = get_context_dict_old_and_new(old_safe_string, new_safe_string) + self.assertEqual(old, old_safe_string) + self.assertEqual(new, new_safe_string) + self.assertTrue(is_safe_str(old) and is_safe_str(new)) + + # ...also if one is safe and the other isn't... + old_string = "Hey" + new_safe_string = mark_safe("Hello") + old, new = get_context_dict_old_and_new(old_string, new_safe_string) + self.assertEqual(old, "<i>Hey</i>") + self.assertEqual(new, new_safe_string) + self.assertTrue(is_safe_str(old) and is_safe_str(new)) + + # ...unless at least one of them is too long, in which case they should both be + # properly escaped - including mangled tags + old_safe_string = mark_safe(f"

{'A' * 1000}

") + new_safe_string = mark_safe("

Hello

") + old, new = get_context_dict_old_and_new(old_safe_string, new_safe_string) + # (`` has been mangled) + expected_old = f"<p><strong>{'A' * 61}[947 chars]></p>" + self.assertEqual(old, expected_old) + self.assertEqual(new, "<p><strong>Hello</strong></p>") + self.assertTrue(is_safe_str(old) and is_safe_str(new)) + + # Unsafe strings inside lists should also be escaped + old_list = ["Hey", "Hey"] + new_list = ["Hello", "Hello"] + old, new = get_context_dict_old_and_new(old_list, new_list) + self.assertEqual(old, "[Hey, <i>Hey</i>]") + self.assertEqual(new, "[<b>Hello</b>, Hello]") + self.assertTrue(is_safe_str(old) and is_safe_str(new)) + + # Safe strings inside lists should be kept unchanged... + old_safe_list = [mark_safe("Hey"), mark_safe("Hey")] + new_safe_list = [mark_safe("Hello"), mark_safe("Hello")] + old, new = get_context_dict_old_and_new(old_safe_list, new_safe_list) + self.assertEqual(old, "[Hey, Hey]") + self.assertEqual(new, "[Hello, Hello]") + self.assertTrue(is_safe_str(old) and is_safe_str(new)) + + # ...but not when not all elements are safe... + old_half_safe_list = [mark_safe("Hey"), "Hey"] + new_half_safe_list = [mark_safe("Hello"), "Hello"] + old, new = get_context_dict_old_and_new(old_half_safe_list, new_half_safe_list) + self.assertEqual(old, "[Hey, <i>Hey</i>]") + self.assertEqual(new, "[<b>Hello</b>, Hello]") + self.assertTrue(is_safe_str(old) and is_safe_str(new)) + + # ...and also not when some of the elements are too long + old_safe_list = [mark_safe("Hey"), mark_safe(f"{'A' * 1000}")] + new_safe_list = [mark_safe("Hello"), mark_safe(f"{'B' * 1000}")] + old, new = get_context_dict_old_and_new(old_safe_list, new_safe_list) + self.assertEqual(old, f"[Hey, <i>{'A' * 53}[947 chars]</i>]") + self.assertEqual(new, f"[<b>Hello</b>, {'B' * 47}[949 chars]BBBB]") + self.assertTrue(is_safe_str(old) and is_safe_str(new)) + + # HTML tags inside too long strings should be properly escaped - including + # mangled tags + old_safe_list = [mark_safe(f"

{'A' * 1000}

")] + new_safe_list = [mark_safe(f"{'B' * 1000}")] + old, new = get_context_dict_old_and_new(old_safe_list, new_safe_list) + # (Tags have been mangled at the end of the strings) + self.assertEqual(old, f"[<h1><i>{'A' * 55}[950 chars]/h1>]") + self.assertEqual(new, f"[<strong>{'B' * 54}[951 chars]ong>]") + self.assertTrue(is_safe_str(old) and is_safe_str(new)) From 733f4e0a6046917848ef46277079cefcf6c87c98 Mon Sep 17 00:00:00 2001 From: Anders <6058745+ddabble@users.noreply.github.com> Date: Thu, 2 May 2024 22:06:00 +0200 Subject: [PATCH 13/13] Made Bandit exclude test dirs This removes the need for the `nosec` comments in files inside those directories. Also, the existing `-x` arg doesn't seem to work anymore, so this fixes that. --- .pre-commit-config.yaml | 3 +-- simple_history/registry_tests/tests.py | 2 +- .../tests/generated_file_checks/check_translations.py | 8 ++++---- simple_history/tests/tests/test_models.py | 6 +++--- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 01f36a5e8..9cb99a317 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,8 +4,7 @@ repos: rev: 1.7.8 hooks: - id: bandit - args: - - "-x *test*.py" + exclude: /.*tests/ - repo: https://github.com/psf/black-pre-commit-mirror rev: 24.3.0 diff --git a/simple_history/registry_tests/tests.py b/simple_history/registry_tests/tests.py index ff55f7389..2217d06a8 100644 --- a/simple_history/registry_tests/tests.py +++ b/simple_history/registry_tests/tests.py @@ -51,7 +51,7 @@ def get_history(model): self.assertRaises(AttributeError, get_history, User) self.assertEqual(len(User.histories.all()), 0) - user = User.objects.create(username="bob", password="pass") # nosec + user = User.objects.create(username="bob", password="pass") self.assertEqual(len(User.histories.all()), 1) self.assertEqual(len(user.histories.all()), 1) diff --git a/simple_history/tests/generated_file_checks/check_translations.py b/simple_history/tests/generated_file_checks/check_translations.py index f74eade85..05126e376 100644 --- a/simple_history/tests/generated_file_checks/check_translations.py +++ b/simple_history/tests/generated_file_checks/check_translations.py @@ -1,4 +1,4 @@ -import subprocess # nosec +import subprocess import sys from glob import glob from pathlib import Path @@ -44,12 +44,12 @@ def main(): call_command("compilemessages") log("\nRunning 'git status'...") - result = subprocess.run( # nosec + result = subprocess.run( ["git", "status", "--porcelain"], check=True, stdout=subprocess.PIPE, ) - assert result.stderr is None # nosec + assert result.stderr is None stdout = result.stdout.decode() if stdout: log_err(f"Unexpected changes found in the workspace:\n\n{stdout}") @@ -61,7 +61,7 @@ def main(): sys.exit(1) else: # Print the human-readable status to the console - subprocess.run(["git", "status"]) # nosec + subprocess.run(["git", "status"]) if __name__ == "__main__": diff --git a/simple_history/tests/tests/test_models.py b/simple_history/tests/tests/test_models.py index 281dc3f5c..c2eb327b7 100644 --- a/simple_history/tests/tests/test_models.py +++ b/simple_history/tests/tests/test_models.py @@ -2462,7 +2462,7 @@ class MultiDBExplicitHistoryUserIDTest(TestCase): databases = {"default", "other"} def setUp(self): - self.user = get_user_model().objects.create( # nosec + self.user = get_user_model().objects.create( username="username", email="username@test.com", password="top_secret" ) @@ -2503,10 +2503,10 @@ def test_history_user_does_not_exist(self): class RelatedNameTest(TestCase): def setUp(self): - self.user_one = get_user_model().objects.create( # nosec + self.user_one = get_user_model().objects.create( username="username_one", email="first@user.com", password="top_secret" ) - self.user_two = get_user_model().objects.create( # nosec + self.user_two = get_user_model().objects.create( username="username_two", email="second@user.com", password="top_secret" )

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 tAMKLQ|8Z{qv_t-wpZ~8oH!~M#-J`{}1a>Ge`gc diff --git a/docs/screens/2_revert.png b/docs/screens/2_revert.png index 3cba44148c0a7b40cb7a1fd13b0e1aacabcc117e..c9a52546b8ca50a5a96a4c555a044a5adc6fd553 100644 GIT binary patch literal 17844 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 literal 111293 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 aTf{N4L6Rw(;oiI8-_2|CQfZQUUjGB{7|{6u diff --git a/docs/screens/3_poll_reverted.png b/docs/screens/3_poll_reverted.png index 6b7f3e6f37d70666a543882eaaeeec550d29d1ed..802bcab4e2aff6ebaf0602f55ed60150242e9827 100644 GIT binary patch literal 16449 zcmd732UL^YwkV3fAR-E)Qltwa2tw$gV?>G~AWb?*2}MfifzT9GlqxD99YjE-i8Lt* z7K$PzQl%sj5C{YaB@hS%-WSw=?|tq$`<*w=yLa4g3{BR`TyxE~=A3KJkB8R{b&nn4 zK0-%FckGJZWfMBOgUfVu2f`2k1gM62E<|i<5fb!pQ5UjMFpxIz z)q=Wv=pp=}rU*kbXN0G-vWt+WhM-!A3V^^H8t5n(;_c-Vpc0}kw2xN>_)eP!2?_3l z1bV6qL1-HaS{hsz)Png#1r?+eC7osDl?1`cQZkD2(sGIy1ZAaVltI!;AQ?GHX&Du1 zMHL0G;O|EW*v;R?RmJ48&hNc|k-Ct3V4$xG2n2`2rQmW>Fn>3YjIuI-Llz_}D+xeI z288+qI)+I41PK4Za2Xol?C;?l=mGN)q+xV)f&~St3jvh=V!_+@Z?rxEzr_Ry3>4z% z3zCtNrm^$~(7@o|gL-@a4IL1u9SrR9o8JEvae!HQV* z{(G%&kiXYHr!LMQs29{501E&JllglqUw2p_EWjQ1U-0qw&wq2{tD@x(bqs|0o55gS ze-w574;DdLfNMc93lAR`7(C!SjiTQRpqCv3q3S}i(z5cB(z22=N@lWhD)I^{(n=CE z^-2E%H300u#WB$FzXuF+@o)|O?|>Q@s9f<02z2yuhF-a>E(8!I<>BF?;wU4pDCZ)h zAStKhBroZzAg?5;q@e5~DdQ-uB&VRPsHEhoxK9_b{xZxth$cST`d?=20&@m%{4F6B zu&j%cqN}2dBoqvlk(5@FmyvXIkyeycaCVV}I>|y^} zA2%Vve^8?Z^Md&sz+3>C%h9YEzz*!I=Mey?F7)^LFopX4{^sQ&xNmeSj?Oe&R~K@o zDH-Y_^n2RlKat*lkIr9c;qFiX>Az9_FR%cZYaraw9|~~;B>n$tT%iAo_yEV?e^2^< zPx1d7N&hWYXLm;*Hz?pZK|(ZUKr|QgODUlLsIUFs{>dHv0S9~>?d#vp6&U>Oo}oSf zYJb4__B@Iq)6uC2T)7M}3mIL^v9mbk_WUK8_)K%6Y}&d(IRFfQf*j7wDjQ#D$ozc8 z>q*W1{2$-TPblFJpIdC@KR18B{ESXabhP24hYpvEKlDfDKmY68afXx!2UA!aKTR~R zQ*R8~3^GKAZ>kY8j>-?34-VF-QCDxQz*?})oNTnm;^kiZnTwZ!=PZ7IA|+p!Ho6?m zPaFR0h>Z!c|J!fSe;xe>{ZG;SS@;X-pV3*ogB9!9Jj}JF2_-=xA)!hCBNWUc7?*(p zHAPYk!86OEL~aVoiDP%^7PHq4n_1b&8Att_WxS28b2GKiwSe1xL)axB(6&42#~YT!#MzkRo;O`IMWRn?Pa`lUqEXhEh~5+#a{>3*!7_T0SK=<1|GkEGTqQVB_KQ zAEr!mBVIN~eHpK);ddr{$VL3HtF9@{Rrp>Sq-d8ODusCtx>?a_`>tQ*6ycU{fioFV_3g9YC0#7;-`czr$~iX@>VzdjN}6|y zt{JkFUvZAlJ$7DgFw>aVd^V}t$S0J1b$#w#)wAj+?JSnTEP8oYC3-U$J0q`eNLHlw zHVVA0IzfEAaVsy^3_CeGtDk|jc|EJIk+6YiJt;re@@-`H(Wg?ikGX}M&6xa8>~p9J zXP=1VAdS=(eOFAc_2=(9L~)kU`mRQgW<*v#YlgVpXq0B~wwR{HVFX|(4t0jt2oNu_ z-!ygT$$_mUr1ssW7I<5t$vb^djnvR3uWwh^3{~-ReBU<4BkKjdtywAhqTN(t_PS!@ znmKGzA{tw0x$>@Hnb5H ze4ifqpeq7P-CTH2>!L4apO+V;{AxH zt&}42nLgP*RVg=-RgHKz$(M7fy5IRocgBvX*rqI%9;Lj8pSlz0V#K>W8W8XHDAHrL zA4JT@HP@pesDU;Oq*q~Emj`nxF1_pIu7F!jns|@#MUAYwve`&K>I||fGe>ZasLfT~X(k-U`rO4q1DjZwk2F|3t@$l-=7}C_DCWc4 zjV{K9Fv7a3Pe|}|;c8CYoQ{G6EHqfub-{ayk`}Kku5R2^5;RpkglVZLd-t-u8*$x9 zhFUs(%qF(UY37{ln5VdU?7;eiE+Ywet?kzP$OURSyUmHXPwu!?N~B*Iww@&{d^2k` zXmaCZ+mdPay&2>JpAT_>7*zQ}s#Au^enKselOUZYU_^qC=)QaLDl-_;`behDG-Er{ zwJlTN=P^oSmvhvDxKGWJh~l?-?iWON_WCXbd}45~`ylpw%Nf7Nb}W8{!+G%0PaD=t znnYe!7KFz{I0TelbJFMo1O$c>C7VvMXEeQsfRe&7m1}{%*!*E!)w`&S{Kfm>@$BjI zsk+AyC0Ey{i!LUgBK6#;S^thCgdY#_D&h{lzoEX(yNo`i`#nrLrk*G8olu14h0Eyp zr<`AwjKW#zBfiVp?Aj~kU>ZckbSlew?Z!s^LwZ$^8pDG=0!#LL3*$aU59_kUdV<)& ze6MA#HA4f(s<(L%^QAwJwYAEUC)E?1oDc>mdsNfzPHY3=%SJ*NtAs>_olV}?bMxi3 z$gNqs(Z^&Bcg<(Sl_5?e-1%mVS;_^lVimzD_!B9J{5`-4zP-NQQ2M2jYTj;>^m8Id z-Hy0kdn7Fo#t%WdZ`w8(Tsn>D2_7V)O8*X1? zE|O^to_RaO#zADtit{If>jLTy2~noT+~E`O8^kh=u!bNsY(UR44WeW5v6pmJMnV zZJJD%`3u0h)NbLaI5X;pMuB1?$FR>c31f9rEc|j$x=P-t@Cp`uX4j$QW%8RzGS7jr zV`{c+OHI-cT*!J|lun{1K7C{1`!qjkl&kzyKyHHmjj;A9GHMt4B@likvGlTY|8Tu| zQ+pQqT+8mo$h>^cd7Y>fPrq;ntP|AqT$(2+erv-tOjEEf>u|({?clJEsgu+7P1DNS z=Ia)UVnYt+qr<2*s`wIO%WOu%3-y--9_=?vev9oDo^}-;`n&mgOW2UbH(~L4Kn!sR zktt%K%rg_Gr4};#kDivq!+aJr?Uc#RCq(eVnjj~0Ox5_HN$=wzZ<#Gl$b$#|w=9CQ zU)K~~zWPK>m{ejduo+_?RLDy*T;Y*hSDjJ1RM}hqEw*?4ZM`UYmI+b%t=6cG=f3F# z1cqt~8P5dc7sb+bQnYmN<_s^`EpKD&9VZJThuurXzO7Re&9QAJsaqEJPKj(?bQ8{9TjQK@v<78O=tj^U)l&i0mXvla z9(?I1vyiwB$0F}H6C1;ga8sXCq7C9xI+^~aCBt=Tqce#CM-jbWDmQ#1bI*gFnkcFV zyj2o|!%+G4=O)8k=NWq%{ql}-bC3|uR*5goi*GHP4|=b$AlC1!=YGoq;fqWaivqNY zFzC_&er|HEl-h9-e1u$&mJz`$JLD$r`E1krtGb}j>0MPs$@n|bt&rmJO@T}3`U-fb z0Xp~~tHs@Igxl1+K23jgi+RL&6dz9%I_%uYNzxJ<`MzWTGr~J3Hy?D%_(kqJjD6Wo zFkH?3nam5g52o=k886~aOS*SVJ2m>+)DJw%68PlujR#uDLLlb zNs$A6jkThtn+rW*6c0eA7WXp;P@}bhe>odspS!)ZS@}vI%58MJN^9D{;LDgr-BDaP zXt+Fw=~iVmz+XZj%)ERDz2>XS^9!%%~F1ttS(Uz2a>& z*(BvqJ)%HpSN8{Xe-81smsbA`uQ5;^J~{auh|vf>I}#5Q-Oe`&+F_(X&J-2WjRCbE*QTq9OcB37;-2<#30~f#UJcz08p02c@mIPab3Q z`<98_Tr&~EX^(^Qs>>f%~Y--?1OYPd#S#FYbEi2eud;^k|IHj@GM?K`s zBHETKmW!I#B%5us-#uCRd^AD%5A-+yh5BC%piwvCA-Hnuw6GBB0`9d2O3khz3}s^LhvP5(F_YF={$YnW!#RC18pqMyVszW1q^W z+Xbxq47bXSj^cKfowS^`x(X^=cJ7c$@<}argXir=>L`}>!WY?wnd^C2alkow?WUhf_o+K z>#x2i+Qcr_VlFgeUQ!3ewTb7%JyF=z1;eiK*`>|p>Ez}pzAK?u-;1&@<`8Yjl>Avj zoFtR>TwI%!s|Ff0EX?wG`%^l6snph9w5>hKi`anru)d6G$$Sveus(uZpOiL)dzUhe zO}y-AZTT3g0ip*AkwPa(`laFKn?-rk$q#@>58W$M>0FXMwV{=~YR7)_g{r^aWA z5gLH_zrI?xNl6#!$A~C|7t-#+LXf@53RPpZ2=B1fB5%Lh3QsVOX**tAiQKCk z#+5tAe43;xmFK6u<0gRPwSK>_yF4j`(%P?-L`NzgqE_xwKT=0@gFwRg+Hf*MeXw&k zsmzN4!tb}>N|KU?kL9kSaV z+u0z)$urG*svv6lzJmVjhYr>3a4>A3eRKUoWaw!>PPYYz+*xO0Ocm3%eotnt`ifKn zP12RO&=S%y_N?xzOWIO4eqKM{ej9J+?n)wG5T31t4>&0E@=H(aG{NvaA<@`SRzaWU zAIA`qD099Aaj&+;I}lJM+Wuip9hgNCH6c&{=RiNkpzJbjV9kuu!(~WyX`ggl2(Q;K zot-XVi>RRy+~FypRJcx~Tn|00o&DGcv~UDr+}q<6jE-kj6Js7r8h)fq z+B+TO_7hrDoL3u_xLo?$nQ`aU0=xX{q0Bo>!bJkSpMrl{I@6gH|Xz$lYR8m1?IKQm8q~j;sM&`La6ZH zHNNOvt%o%3{&f#M^vQqgAAUQLfAI`L5TiftL*L6y%Cz6YiV}r85y!f_Qj;OdMJqZo zQP_`@gr>Dy_lQwDpk#r_?XVS*Tvu9=?JPbW2Iy$#FL~=j z#rOKr+TP)485ryk!DK#)5-!?~?U41mj5gp4PMe`;p z`K;@$h1_9WSktxkzZ4=;CrwvyTZ|FGP0H?|V+TFg>=*8Yn}=9AsM}C0Oyvy8dNG|F zAA2a>%18e~HZS71@k~+{DFF_mGV76@)}G6(cJZn4>s-!bGcH`jN6l%QL7d%{D#nqL z=FpCsv|)-b>dEkW&n zu%)=jsfLXTTdX=+vI5q88x}My+gDka026l$82Yxsh}N zm>+C7+)Zk#0lEZ%1wGrS8WAyxe%aomU1nod*m1)htCDfTXrU>-VZAE`HonB4izV9(CTuCso3P-MCcc<3@gy{}rQ?c?M!w zvu8NP+}s=28deq?RPfZ2)0;kiF#QILdH9ZrwaBa z1Mo#o!BaMBb6tgv z=KP5F*Mps~5EvitRI3A_CGOR^o=T;zhvujAruHRPv%!uTMJx|s{@8)R>xW3$f_PJav> zOc2Lw&G39D=j1}o&&7LR`I=pdU>X0c+f zQ}ocrsM^riRzyL# zN|`$%s$2J+*K~HYMsMnmT9R>hLHc7ofvFlp$D?`3a+tAtti3~nKMU118mpF}fENcF zUer%dcsl!GyGGSsIo4iN_=b9HBm@Z6wxJu%q$*D{EFUSZ0X+I-I!lYF`f+~nbsqE9 zwr-|YrOE_EB|r;6sPOeOC8;lJ&pEsdH>}`nAEEDS&)AFf+nd+oA7%wg0EY%d$M)P? zl0F(b14&8iAV2B(5B2nS8E)OWEC{mMY3+koI1edHBtk|_Wl0jV?;abXzCVx)(5lD_ zw`fSId@5U?4|o0g{b~$;BOU9G#M@5mG@5jChxH_oWjCxVV;!d3BQ4%6Lx}UvTdg;? z-b#-}^xHkvCNyv-P!3Dn;MufQ!f95Nj_VD7@tYsQf~U=WPKEhY+P1t;niNv2fFG`~ z`RSp#!DC1~D?|jB?39WQuIEHc*~~>A)S?9dR3}8Bj}%b4rR^tTC@!s~=3;+L>RIKI zRl$VmFp!L`urni635liShdn9cg}XB6qxsWU$EMh+Hu~8t@if;^neQZwH&z#x_(8Np z{?+o-*G`d<7CnCTsG@WKZO$qBtK0Qow6Ol**zbY;jWN<5qRG7fs)ham2rKQ&MfAb_ z@vjjbz51__(XZ*_r2XN)0$l`R=Kl0=;NL*>>i_p(T)x$Z!$oZ@j8M19#P3ywFJHbq zeu*tsk5|m^T`S~dY*IcWz`<>i!lovhyXO;kg&rIfV-fyEKPambMTz5e5NrK#7JmQ$ z`yrC@b(-s$LqY+x4R&i5P){MPZ+6M24 zg(|*!&ZS?la*ch>OC&S24uGCH^2FQz(c8Cgp&Bc$=JeD7y_vPR$8hJB?t4|1Wzv3v zaysZz{HypDyP!y~drSL5m3E_SZ=YY~bPNnMfo5WB$kzO#JtF4}z+9WuY&ZdHp15&1E4gE~GnL*xxZaa_hcpoyv$B=|nwvAiJ#R1kF&s#^Tq! zFQYsyZa#f&F+SPa$kBP@LA(i^qu<1et%I*3IxS2^32z4z?W%l*l?)la$r$lnhoO4) zlhty*!$&Kyga)25>+xE$KX4!bwOI}>e6JFA>LsKs{j3G!6Ay$<#aHBmbtb2K6Kg}Q zZO5H%g#64WSDsY^wyn_`?M3H2 z`>EM#r&2z`@us*mzC>r#Q@>k;S--SbKmJw%#`{Y8oCAh8875wiT)}K1M?0$Oohga; z%y9|yi}yku*2Z2au1(zx_*mh+&?ffX^hmxuSb0vm3rInNLB z1`- z1=Fj)uTb&sXx*4>FL+rUyl{{HN%<t6o}A8DQPZVZFeeJz&PFD6 zb@XM6SFsMS@Hp>e11AG&Xl!geu%(C~bjD2P=EGI6CrL9|2Z-Mh#n;ux`5ikGNu{?( ztZNn>_7*Benb_W9UHh)WAipx#GZJlOvQ*L04wE3`u+v zl4=XKj<U__<+eC>wP(bR68>YVdL2KpW1|v0R^zp6U z=hZ?h-I46CGTph%P;Q@jNY=i?!C_0PqbAnJmGN!dSCLsJ@+0x zu<#>hml>OogR}Dwe~&GVb}0<2wyRxvbVUK1&*^E3Ja9Z~S6_$kHSjd%CTKC{)}xQ&tEt%Z9bRqJd-M9l<-A>v}-_b)W9_IQhpwkmN)g3=YXk? z{UOs&8KajkoICb5E*Cy(XZ=PJYMyzDBt)goDX)8XTILfi9p}gLtG=s2K+mgReA`?9 za9>mV7^3P>H3mva;^bae^KCx+qgzK04Hrl%F^5X=`%hG9cvfD`LW({Cr{7nzG(som zR9**-!@~n!d&`CsUQg|8+>yeC#XJIYt!}YTPW8#NimFD%YZs#W>&Q!H}n0Om?gy#G|;~K7CaOfQ2*sg1O@N)d88;bT0<~rRyr0% zxDN4p;)FZWKlA0FFs_&xY%yTRz1*dGgauIoJ%|&17J#2!y{Qg~n!0$Wv95@0mXc(? zT&!-Box$DQ@4th-^VIM4rzQq}v;==bQ245*?qro^3FAA1dTJ{x5aumWmm9o_$WF31 z)SIMi&L@8W{y%LyvC4iH^ThE*sc~n9RJmE{Vt=3Ob0D+!F*6J%+tnxpjC4YINUn`- zi4ET-K7GOFvt9{?`syB|cm;ikXN=hO`|&Ep%T#4f0~XZA5b?e$j)Rn(DG?_z-xI`| zkZ5o%1INS$)NBJzZCV1(KTYB5G^_sUoW-1s>c8-di#fnZ^1$=E-5c{N%fTvgCq?k< z?n{Sl-w>{Q`4pU&@h=_#k7%*ZcCYSuIs7oJD=PbZ%JaIxVdLV}i&`IZ>Gvi9+qr-(X+G6AVnx*wA$!WLt%aHfOG`w$!(b?e9T3_7|uCmu$gM_lhIVa=3pxi&La z)|1b9g}c7OzR&!mMVE#J12VYL?K4x-Wa%Bwj;>;`0Fim*jCWE~1kEM1mV!OPMiYY2+7{Y%8l*ssdOkW@ArnNw1$cmAst`L0_qw zOyLk9#z(GJog|^aFu911_(H=5V@=(N4*eHToNPKL9W6G2AZ%F?2#5Di$0sU%rl;=A z-751YRD*ov6oN|{uA-h61j~GUe6VMFu%w+bdaKmt5ETOAD3`jR{M3(wZ_%^#iVdeF zDKaRyOf|r*>j;M|wgAZ3%GZia90g4#5` z8Bi7kxXkcEn0gN<1d8!1r2DMe)~$xjxf0GYvSW2s6dr$JxqO)N$}6b3=3C=x^M>W? zzPXper1mu%F*`1^72by(CYFO<4)Ou6x1__G=PfxkMd|2nZmkVkID8wAk5y{c-`=U% z%m)Ic@*7pFO`i*OSGG%az6`8X2w?QxqmGK5#=Xes?qE-T3c#M6Mb<0X@`Vmh|l%=?j=Ei&)>Y-ZioL+2L7onpoJK^8JYtX`_0AjfS6rMi$L*GiWM+Vc=(Y?PK(*Q2@ zC_V;EYoXj;%ADTI&Sj*#J*WeRgSFN{8qzH_ZXZsN=+!q*f6gZGSM{>y0*>Qp9PEf{ zC?}u+?f(5F*@~@LHF!ZxT>SaBPk-mgHXjMyCxNARrDc3yRS2;S8-=j%8Qc;zGF<~s z^_vrd`>8SA;r(=&?)T{Sep(HTer3sYzw+b%07QE=3P3^k8~8WS?R?Syn=wX0Wn^T& zjg4h>yH@`7K3d5B#$=m_y%T6Hi1V#6z)W;x&`|T{%HGc}Pv+)4k`BH9_y;7nSMfMg9tExi+_x+*6Zvnmre~+wsvd*|Nm4I;s#rKu?{2QD1LC&)9L`=E`x9%*v&; z=B4}h@1F|-`p#Vx!JkcB5^SDwHzbCLBVqtNq($Y6Yjr~R!3*M(BIoSgbB8f&v%OKf zTW-Sm#bUBc#PyNAWY(scL?F;}5XfGqXaaZ0u|*HHoe60&%n>5;8dn4g(hOy2guzh=M34>4EGE zdZ0-d$J@DkI5)a|t>3ng19q>k-sODwD*Q9^*m>B%j%~F4sS3#3Q1>%$ZMIDyZ#|Zw z4Ah$ePEv51)f}dz$8E%TOKCbWA#SIhB=zQLlI4+6H5#BNCxW|qO4$j?%kycsESa}I zJ6_lgx+=e&Wye!zBoDTrT|()p;>Rc-id}Z|(&MQF*J%Emq4ZQEO)AN@!yTbaNPOF3 zU3o}-EU*l+R+Pq5TaGPbCMn?STVn^^ z*5=A;BxVjWwZuoV0>*k9$Yv)y^i=F}Du)0n*|md$)(dr$f7-N`lo;l8@{p#cru_TI ztSZ-*L%bG8I}KHb1R~aFrw(dvrz}mrXf|GRqHZ~0mKx3PzEkr8?Ga8%UlO48SC95d zZgl39zeI@>(boe4hN`Wn?S3+l-qMc3VagV{dGq|F0Phhluf9m$*SfE>^K?c(TLlfN zDHy1uw9yAI_;gp=HEn3_PH8R_a|%4LD17&=pR}7Vz{4Y#iG8vj-IZHgHKqA;AaG~o zbZzf7z3+fNnk}QS7WFHz2RpA+Taiq;%0TJT%%{uZ&8ZOCab$_j)m&&JK~YSHt54lFEmzai7UiaZ8$tKjuP& zrx~26Ahk;{g{qd#S$0ypCX`|0e087nJ-ItTIS6MF0aFf#5FH9ie$bptbY!kxisatQ zuN1c*Vlh~`k1kZPpu~!9cm)fD_04qy0kgHvd|CmZCGcn2@K<|!>QdCMi_mM#P5AcO z>|)b!#h(BBPI4Z9_-UIxXv^S=eQSzkpnEV`ONxB@9)Gh%CxKjMzJZ z*^7KVL_4Pu^v%=WyMZf7k@pyo1kp!|e3}I67Z>ciH$a+pa=U(;sBqL1yif}Zsh{W= z84=*YRl~lA8C1Pr@QtZ%6$Nv+=Fok8I~Q}y{xqquu&|d#U&C9^MM`1BlE%V-7P&>igXCA{l2w9-c%FIS zOvydgDNC#iL!1vC{H(V3j?4x76;i8^hn(-VcZLQ5r6@?tMRlS;+2dWOr*agic8lL& z=A+W_@1DZ=12>NB=0~mm{PG~lc0;kSFd_)1pI(3)bY%}4+pF>kE2-!W06Ckt-)f`$ z!n7wIe2A_&J6~WZ^tqhVN?}}y#?$x_KA7N*o>GA7{W!!SffpbgwNXpq%3xmQTdX}T zF*|q+&@!#;63b|AdW7ca55Au~WA8M1ZzdF@ zjv%?Co%AMG##4wsm8NC5>feE(Z)|M)=a-ZJ47*MyYld$wr?lnA6I_7!upPlrz zYu8+=t=M=I`VU@EnuLnj+wQyg-QgVfC4tDziGtQb&iD2Y|0#Cd@}Xd{_A66+;&d0p z_E&Viv2Px>`>X?`n*SQ3|7YPh(l6vFa0=+&r~z-Xe>zM1`hN9K?EdrlOSHgGeydUOHT(jvySVqOKjp+v)a5e@3d=R`(MccwmSim!}=ZqDo% zDrueT2%t8BRe13C)NfQkdC1`*WY3h?K;XD^LUuAUsB z^;|G#B8Xw1s*|LNaNN7<{F?;aC_-09haa=!RPtc8ow!O*Eiv&(u30)C(zJ7ph&Rd| z^m)Qj9izcnqpXg{Nj(@I|5Z)|6rdq%od<0EeQr%ofE_Qwr+^p88MQjTXR{%S+op%2 z8GQ_yDMmcpaFks*Nov0=Nej&1(2b!sQ{+`i(YSRRp=%8?OG=qrV~h+8#B(eW{i=_@ zo+QO}Th+Tm^4Rj0E_}bS7xAmk2?(9C#efXeA7Dcyj(_g1&O7JCP?gNx(u=%~Hkv_I za*nC5{Hos4wqd*8ednP-R~&1Pxsu$dXq5Z7)pgrFJD??zVE^6p`f`1#BV@0CI{BcY z8w2u36Qy-bmB%Rj>VC!eIEg+&Bca+1&fnwi_G-g**G5y{yoI;>v(@5MA(;Q+80f_$ z0}m^v3n)(*6~YN88CJBwAEU9OQUzv|0;y@ zXi6m^y=~!d1#=shKR;7^5;hPl?KsXqwz|?lOenImC_2To`?6@fnb_1O03KHWT{?Y= zwA9`9I4_r=U{sPC6DbQP<2m+|PaqYVfM`lf3nGyFM%Q&oBe4*k%$=Uf`_qQ|x8*uq z_>++~@E>+E@PaqCCWeHg$JBXh5@)DS&CYh+J^vC}3GQ|_@)R#40~uQejd zm1>KX*2h}1l~ypV(F#dDk@ERX4W1M<47G_XwBBy`u(G zWNT;kQOQaX*6@uS`?a>>Nqg2k(C zrHs6_<((AGf!aJ}bFDw7i)_m=tz;K?8Kg;Ck+F&qWfpNNTRDovF^P`m%zJ zFn=|CtNMvt{nz^9$i2bElsr)#ABACTMh-P};hOiY?%biJm8um7*PQ&kx$+&cb?evb zlw{|r7(ScUj=@FY8)%+-&3FC_;I>zi7VIq|zDOCG+~}fr*;x@m0%LrYER+&m(^tdu zKB}JI5#r7Xq~Tz-oi?jPwdwYeM;jc^Db)vXS&YticN?qA!M(@WXeD-<+yy#=QWmgm zlrN<<^3It{vwr*7g?sAG*htR1mEyx%IMox2K#OGbFbdRY>alht|M zD;GmlwqGDuuMt0ko;-<3AGU%-QCmwq>-bgIrdoeq19C7Nf0L@R{%^gM%Hw12-@jbR z$smjpPYX>kNU+@t^CFkDL){{)C2L*b0qxE6-9KXjbR(-3YF)?fERF=vii72xGwutw z3|9KDjq2)Z5Hhm)T8w?lCs>1q1Rf#6m5Yr&vPBS&tbF51jjH0k!VrAJQ(c{+TbQONqVg@#m!xa63P$pu&)|x%mwTTb>v9PoDj*;b98H%{S+* zu0QhO*b~`zj({WegAiRJE}{u-l__4GilUFZwOpT;EVfm9Y@;?l_KlJzq9Pc&wPLy- z{>ALg;6JWPmXxl4jsuTmdmAE#nP{6`MC$^t*bh9Mfr!4-im|u;E*@0=qkoD0D;qJq z4BArr)0WhbrPuc3Z}!5NT2!Za8 literal 90104 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 z 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 diff --git a/docs/screens/5_history_list_display.png b/docs/screens/5_history_list_display.png index 6b1f033967b77420833ed29129a4bf8943b8a82a..fc07c568020d4293ca1f7143e3f88acd0beb56cd 100644 GIT binary patch literal 14499 zcmcJ01z6Ng*Ea@>!HP=h(umUC?IPXXy)3ZQ(jCf*Qo_>GODrMX(xTEx!wLwfba&Uc z=zZVseLeAh&-;GY$91vu-{H)eGiT;M=QqDIgs3XZ0B?bA;o#r^B{m)Ro#CY6Wu;rQN7+rlp2ih|=otDsd<|K7(4rWWAlC8s5s95N}(EpareC z7`2F}5LSUb)YXjI)85X(MaWZ>_Lp8E?DJ(cJ1zAu5m#GLTJU9u)VfNl)X(6~P-dWij`n>@p5oA^JH~!dGx0SNvI3N z8RqB;gF8@PYBV#4ySa+eVlDkW1bfH7)H=BQ;U=uZ*gef0**V!bE{F7|ppw#mFKTc9 zm$ZwklsmSUKkWUNid{6l9HH#$P#3tHGXyH-4s~#S^k-)lkiXhGx;fkZ8mR?@9cl-) z$BMaN4deW)D@SX%E8N8z{%^+d*Ps6yjib;rXQ-Jg+*uP2xBGLVRR7dM&4nE`HG>Y! z!2<5#!gy)X9}S?AX0A|CS}qPQ9##%6R!#v;E^Z+n0U=I7=F92h_${i0T?ZCsu4ez4 zFx&!W>Ghw8Dk%xcIk>o*IY6LtlA^R&qu5|D3n4Q>eojFyGbk%JloQG-$irjKYQ|&9 z&1z=OZzjOY2jMfbg#NM%+g=h5al3TiW&7XD)&dT}>iEk;LJ)pFeoJ16AgejA04J*% zCyynoAe2{-)slzH%)(rdTfhSHmo^n=81~IEv-`W&ORFrf8Z8AmdCd6v%vmAk+}y0( z7CaDEGcz6@R(>;10W%IWL0&TfOIm6Rh>#`R+1?DhPGI(CR#0|F2P<0Y|FY&8+z#%n z1h>HYocnS$W3^*PAq#WCPMy~u?}rA|>5nHn81=73Cu9b>TkoPu^T5l?d4$DFSnTAlfwRw^Y!a*f7_1!6vysymydsKuGlYsZO>2#tZHZM=Iboo zl7xf9^+HY(tm!$vmU;#!!i<%kP|e|82u2>SbVVbop2rPWzR+>E(PNCn=t^nd$PiEt z*1*@-3Ci1il2MdpbFaJ#2`C84y>2d!+_UX0e;SYO*zoQ1YqGR#q?)QKQBbR7si?5( z6?93rU3cl-4)eoCisz6{_PonT^AvFzIQpqCKY4CkeggliI-&+(|4m4^evqGZ!UVnc zfVpDfyur*1h;0v8vJ*Esx7+@fpOK;Q=uz$~d3xzKD+kdj(NNIthV5KSKD^rJTZ2tzT1`Z7K@Z75B31?T%$SbrNvXrJag{g~Bmc??2jKW*o*$o}7`I!o zBnj56h(v(>bTSB3A~tOcW;s?s+>(E(i8Ss<_4gLX(>G7CdEy4~*8QRCt&Kj zJ%08|hXXo0WjkCPA%hnl-Z$0VVLTVFt(MYuW*d{G*3#>%IWYzI)z~`Mr3}T)Df&&y zc7Hd5XugW#rZOyO93N6SInEEDnMyGBtE8fXTb`T6?k??dHD$|72BUlq2EHw3 z3!utQPolOa$naQ;`cWGT(t|f!8rSyP(v;!?CB%}1g}F{@T#tsQ3dZLu9=UYE7UnIj z68Kwlo6?yBP$g~3-#Rd;Y0Y&03~)(;mGpcQfpKvF_nel#`oh%MsDszWwtf7EnbLfr0K@)It`P3=eD$>{1RtnyR@l4IzL&xak~Gl$oj)n!I>E4IK}j#=eZ)2 z7LB-%InTl2bF>n%)lA<4%NQsbAeu&1#?m!*Y`M*kNvEfJNS-v(w|{!Pc$mt%)#hM7 zKm08#{Wech4!EAIig`i0xUeDOY$UJp!*ZYqA?P{|4zd6o$wtsSy8YThg{2MNs6IV$ zZpj7N3n%~B_+zi@(OFo@=V!$pY15itc7o-~+WBV24ASHz-;E9CgjO6xCYJj_V{^cf z3(8-Lb(y-DrK6R1cs~{@Zb-Ck6BO19-h7dNw0_3XRYjG4N=Ui3uOrPn~|(nPCTX z4zWBdhh$WiKD%^2wFY9JsxQH+Y0_2;;Xn1B*UNIdLO3!V4sV_sdcA1})Gveksq^I3 zDj6ujR2k^ckJqC-avjc2+)j8q(mx0hdLeaKxx0OEORimxU@;GH)cJN`MJ2#Nj-|Re zZCGY(Z#gj#Gz;9HsR8jd28(Ms&KKhXLtW8)J~lbkwxT&-v)_KwKMg50^}+14az~(L zm2B?Dm}9po`+n3JhM6k9o2t0M0nBn5BzC|XBB$ut8DIAQgcf0?x$|Qztk8v#-)&rePwRh zBKc+c;~_4baWH7j!y`;?@Yu!v8w(UF`lGFPYapYsXt{jeLbQ!O>|x3F**JOZXo zE_g6$VE5WVl_Qyy+7y<%Q_~avbs`5DD^&H?5{R^^`Z&9pX&*N$XN&c%zD~KHQX=9q z(D$ds)n@))`;%J+E2Aa-UaosR->4SaMp_5(4kuBudj>PPmB1ZL`*f<&y&-SwyEr%> z{G$T&-F()1=LmY^Udunr4fK=Si0C`_fc!1-Eu9Vg=G4o*BtVSw(680`kob|+6LACobwvW+4DbXq=7~(!hUh^{RnlQ+IwrCh zw|PN;EC1Zr+%@sh@s^;t$k~};Z8m#^!?_2dl5YpArI>Jr%2?_$irlhMEh#H=otJ&n z*;kT&gd#ZC^1)W~EcQn!L`GiS574@X{n}5Ry0=`bfr*H~T`TV4s}cZVD+B z)GsXSQ}eq!H6+grYos@7ZsUMv3DUQvi%f2`pJ!!*zZfg<7f*&oeo{zY8$v0bGQhR! zJ`JOcW0=rVw?-&;???E6*DO=(swT!0PZ;*E?luDKwN(TpE}TYD#rQtfcR|;U?%u<` z{NF&a#M1}^rx9V(r|FcTPr`dnU5rkpyc?*fclrI!%2QjmiSH;V^l>z3601FnrP)R3 zbUwzXYcpkzURe(G)_s>PRb|qoZUjz@iGIt=!Y0n*Wy-ymt(mD@9{SE28PIF3u4q_( z5mC_?{XCgS3t*x^_V7{Y)VD#pQv{(Dx2sa`r#2U_{qwAZ(J2zMPN~P%ZkbdMFV@sm zb?C*;G;N~_ryO`phA0GBbiLEEd%!>)#6cGK3dPfUs~K@7C5XM#9%B2jl9dPT?winP z08lb)L>elOCz%0f-P7Ld7dASH3-^Ali`nzj(IuSEm=vq!FUjjunjvvFs#+z^M8?&z z8ee(Z&cnc*aQ9o8c`)&{NG{~(gNlF#=#AJY*D7O-IQor&oZ;QFk&Jtt9=KpSwm}=I zi2R>bpweuDM9Lh=0JlMooo%hHcf;H}_TGF9`HkOa%sO|%YzCxgK#*X`a5)__KA9|p7 zEe^Ei;^n$hjNcc8)$zz)fAMAHI7bR&Hw|^~MiC_A`Me(1;lJ&cmZ$%6OyKx=RXR~G zVCL&FpD;sW2YDGpYj?Kal&I2HLDsTu)mhF9u1dLCBgIlk zQ;EVY1SsTDTdefq+ z>3l6Gq2O^OCH^Y^6VUa3USL-$(a=oLz1<=~FV?_zm@&lrW9ms1u&5dYCnRi z+u9pTipx;lmi2q7ohx`J2aFqPlS-t()WS&^^3lq92X$fV}jgK3P~K z#~+OUHR7d-C0~d4TCe=*3LUxW=W$XDZDf1}xH@LR{ri)0@cx~<{`pnOg7wy~080mI z`yPVwab;@E-0VMl`iQ##OB5v(pjkz0Xr+IKooer?FzCAD4N!Kme29bH#49goq7=6+ zVz5;xv4XEyHrF@RT(i0g>^<6^11@%>Z+%r(*bT1-5Hq}!LM#(=w?;Se$x^cS#@8mb zH^#P8dAueJ+xE5onlX;2PnKO3w35k045MGi6;iTQjj944QRo`QXR~q+kaQRbKNru@ zX6lt=TcCJHXPw0&CH0N#PBUk7H%r{$YyJY#-H|O^3}DV$m24CMwMDM&4}f}W`DAa3 zjn28Yy+Nh)SMxEj>tB6Z0J5;CEt;vjH&#?{8g8V2(zW_rK=(-6$2xesEiRN>C*9Z3 zi0W>$(SSQ^i29g6TlwZt!`XK7DC)f>3*jwikzU4k5PPKH#Nr`TuQzO} zbuo-Gr(de7;WalmScMNHcCLOE&4mHvYiXi(hz6*w#GT-J36q8WAPu%6D-?q$s`%a~T0YLJ zKNASZ;Dfgf)3&D4-cJPI&iS4&roOg?*DltCGFllV___RXBUNuoF6_RxsV7KJ?dNCH zjgXaYs&g2{re1iq|dkNbpZOoWe3D5>;e{w5( z@iV?Y| zwo#M_N3b@Q!ukvGs|~8goR?;g(8qNi#q?E2XuKtvP{}#p^h5t9Lr|l-!L(PF%(KVF zo>7abAt4^o&#hxyiotK{o0;RDz{SVLm+bgD>W@B^mN(9g41QJ3KOK$Q>4JvaDuEg>@#5V!TY+#6xFgNJVG5@M5ll0Q})cs7>hy8J2^W-Q)7JzY^f|t7j6oS29qTZ6;O^gs`_+^(6V+0@moh%z7)*zWd{~= zvf6GM8*EB#{viHQhxmb6&yz_X4bQ-Xy2$VJrMi;-WKWA{dgld{O2M%ps?E!t{8e`RW{A*RC|#D4yI zyHC5779w-BnzQE|!$Z60J!EZB$Qbjkn74~ZwEU&Ek!t=VX1g&*OD&@s;E17bmBmm(-Vb(c|$-h=$zFmM~uSyUkna?K2y!+2EG5gU$U_y$$1g-RyNJ zaPHYcazagerc-MGmqG~xKiRBNUJoVIrk}f6|5QdxyuXKK3EyOG1SwsW}r-duQf92tz5D7@rv~4M;Aw8LT&CtL0S1agLB#0Apof$ z#aEjaV;a(Y40-!YKEl;@$op9zM+B*A%$8n@<{ZtD8+j68K4FIB2#b6TBZQ>YY2;|8 zMe4WG(oHpZ7(@iht~C0mfP{{JIEx^YDcIjozF}{l&389uImvM8CrGUYS@0Q>+79|- zJ)~$$%_-Yn4m{bs(r$zZeE3k57bJc69zuO@%Xs>*Dk}z;QD%Zr*N2xu@pjRd=9qa; zG~g&o_CBkUR`>VZIr``Y`JEsBD=Rzb76sfH>oCyl^aA+vu8C|kv_cRxD|&uM>B7&d z1_i+7wnmRlC~V+)`S2{7MpnZzIpsPMW6WFDkS1&Aw=a}^H`>-ByIU&YO#rE^VHt&; z=Jn6nx*V^!p^p^yURLSC>pXeh$b07tiGyNUg9R5h>>pZv8AUxUtrR7RcrenGX7>hG zoS%Yv8NFGoc>5@w%nGkP-oY4u!=zcffxCIX&75W|#ystL1TZzNM3|=|ASpVWse8l2 z10yDC1Tr{op*S)EVj7cN4Fj{DoEdEF=GyKbg^ua3|ME;`kTc{qfk|+Xvp9pF!-5I_ zDSZ)ffZT@n<}mL?qnk*)?K;SO3v$A1ZS|?|7X3=F2GCohUVx#gJK)Lf1<)|p^(zG; zE`7{P-hO6wsz%Wb6;;)q+Us6RNWhvMZ`$eE;NtiGql*dE8P5kdejdgZfv2Lzktw<0 z0j>$vihk6!(njYci~Q4i^!MVB(VADbp}Ea>yaV1#3K?3(o2>nyUiO$ARQ+lcW{o_E zJIFbk8>G;qJ?qhEY#C4pNZ_w{h9KuR5=!!Ze6~{Ayv)a90CK4o8EqCx&jQ2UtBpkr zkBw?wz0Whs_$4CM?AJT1-_C;?8cCf14CeKh*%in5_tfGQY}4AR>(2(OFmx z74J{QCh}{i$rrl|w(h|DBkQ6XOlHNwfX?rS2z&dxVzJ$A+o!WjdE99t0sOiiwdZSb zWie*CLZVx(@-uIquoc^oYA~s74_5QZDwjQ;{7Qxvs?g|ZPHb-Q+?T90IoqZ0O*Jo0 zR*uMdQ64g&c~twNf-rp;R6j0%@1h5$BhD$b)mdJf_Gv4N(w^9xJ7)}U!!#y|+!bN- zzNToda`ZHvSoV&sh$3WTsVvN6)V(sjQ&nGsCF;(TSAn=Q`UE#etHV+f(;@y=W?ycn z($DlCoyX0+DeOoeah%MP!#uVa$v$;@J+xucP+tvsm_hyt4+U;?)jIVxuQ+_BOco#b zi!ie8=VZFXx&MesQQ*Vtm+<&G;0NI^Ug#eMcIyC*t5_K9Ii|Af2sK2_S~+3@IPH%Ho%-SntUfrWpQu3stBq)863a38|v^(^1xW^!CDStO?6pv< zw^FF$>5se{ArxU|szsg`p|W?o^JD;zKjBqt%a7zK7#>~RNVPSR<>JGKAn#-z27w}x zWN{{D%v*!BALuWx)=ErtqPb_XPQLNiv)%kN>tG%?ve1R_edKPQ&PxCVZ{Q7-yG}`Z zaw-+hu|6UikJlu`|7b)7Zq@P4U z=`F4N=e+*xuPPKH)CmtCe0pyGbUd83h3wUr2IVWjF3p&DUIw}N&#gC_Y1sZ>65Et}{Z`aHa*}xVI%s+}-<5u9 zEySrQX}g$sUQh{v2_i)gIH{va!y(Nc_0UEgvHPRh2t;=)#lk7@9%qxW0pPI#BGeLL zhbb_A4;|JaxPiC&u@+hRZYD54jwx1S=To6mhG_02n{>Z6_5 zPMI&<3=>JirCli!jk6R*L(RVO$a3?J+`%qSOCpknw|6H8U<|>&3?YDl!F1K6zm3S}Io^pl%5Hz09WSJj-R{dq7Qm-}76qmPSm)O<; zHgcYGqVbBpbNjt9l_p}<@2Ox#>%`z4J5hBqiW!8xoY>kdMJmzGM+rw6A17+L&95H= zcdFunp;UD?nDU(OJ_-m)D+PU%=EUHS5elj^E`VMqZJ$mBXMXXWEsMW%8>Nm)=^&h zFot4LSr~)4KSU1>MT}SSbsRr8mPK$$_iOWZh!jNuyXqlxxHhCKDcuzT z^~>b>eju6R<@5M^)7{!7~hL|)q|l% zTh-_w43l#Kvw<}BqDn99kjz0EAC!kv%{wz+7m{%quon_0g_?#anYDdO(K3S)<}&*i z#<-4RSPzk-^@YN%AD5#a>tFzhUXR8UGxzK}MQT6hpV=a2jZ%t%(FI<^Rp53>#80c~ zMdjhwb-R3=ym?QhN%pJg-_i|x;Y;;<&CJB_;z%)fBi9g)S=PNyKrJ|g) z!Wf(21Nb}Ql_!OFY?1y_dd@MU26GaYeAXtDigZ~aMeU&gn+xSK(;qJH(^uvton>;( zz!Qw_hCB?z8Y{}2QOHslGV5LjFR=XEs~o^mOS^C(3c$Ey=m0ElpS8$_t0VUJta9gh ztzCAsjG6Kv$!|hos{7ZaYIySwzUyQQx7(nZ6TM1?JRlk7GVttAR4)>xukhsEm?ucA zd(t{9`Id_@z6k8q_h7$Kc=SyTtPQgtn5A4kBXiXmO?42&q9NzqtideI4LP^^5juzXECb`TQ#*2~;vX{ZSN% zNZk2B7%3~3`jnD-MUZ$=7jZaqg;%y)jTZ{uYlw7ps8DMHK;e86zitsQr0kcjn~%j_ zv?(8#EEei>JuS2PTupTPBv1;`;~SlLr)(qF$p%@**#1>?NDZ>sWBJJb=*ZDR=i20H zh{A8$j9lYSx-0|yk93*pB_qdkBOP_gxBW?*{ac{$&jMJFUna#sFMs93{s+Y`Vh`tE z5re2dj2!eD6Q>i~Dlb_ax&%JEj7rx14j0J7&kiO7xtD-v@t?*e@ta!2n(>Qi{M)#| zzj;L8tC#uWr-;p)zb>UQ44t2s3NmdonoL<4P*Vh`xePDA{?dGYyro=drtF7 zc+x-gHlQf0D+Eh572E{gBDNSf33$iie?8Kst$C^yxM0=SJ{_%@bQ&Cx#<4yTsfo|H zQs+DHP~R}c*#_zTvD7IG^i`Fu2=A3l^GB(bZ{i!Il$S_ocYos9@yr!0*{{hf`?C52 z>?4sHt#r_nR{zyJz*rA8MJaJ(a8}$iL=I)%qm>`Fs?m2s5O$7b2Q#sV2}o?&n7@=% z$vSwIAvE?Y%km2w?(;4FTXN60!BW+`mg?@pZNb?EI|`_$F|J9$ zD>s52`bW2fPSAcSc$}^tsmabQ#lGLJVK=ARFE*EKeCNeV^GXev%w(40X&=39$ahy5P_cV+1E(<`>|YuN zNv9hAh@>wShXgh^ITRg!1m_ zLKq3JY^v!XZ^vN73xPKHv3!Pq{oCia-_ZCO(Fh-=VunX`t)aG+GYcdWPA~)zjE)M1wOc9v78NJ2?61Ni{dtTJ_Hu z-y#kJR8>m~bsjVP=nOLlAFlkcQ_bX>A6yEzLu$VM^aYR~mXpQvG$L%)8mX(B)!?3- z=%TCDW_J)}KS=F`Hc#Bo2Xs)d>cdU_Q1T>(=j>$27f{x0{xQpe+PMXElQLS zi`lN-he`&IxL#IWf!a!Cg1IJ=&IHEWDh)@cD5`2_jLjz5Ag>bWqVpO%wo~ACXG<3L zVG`p?yXRgNrt!mW`edR}z;WJR=qE{!ES6V-VMgiD)Nc`F;a`tMKP$}J=L73##UqYp zBPBkI;Z48EY3CWACV(DqtNW2OU&s4;p)9bVEkdzYPTrvpFcv|?YONp!8$(rJR0r-7 z`|x#ufDx4dDc~+D-wxSNO``2#ZYWj~aYm36IKdRIF!me$Fj#FUzXCv6kfqj0R-y+J zXyNi?x=mI$#WFTiSsjY6mhjU@uZN*Gu}gO#t%TB$%wi(r(YYrFP@d(S0|OX~KkvAc z>VWCe)it$17&4|9t%%Me6`%vpMzf@uZ4t&SX{5}GZ{C$EaY#izp@nC!>GzGGNPK1e z-8^aLmCH)&EVA-!5j_o2c25S5t1Z$De+-{jfw$R|F@Vkyk>zm|Bon+f0yZUM~())U^pV&qcV9k9IZ^4dn zv$AiZrs6%%V%w`T$|Y9dc-02s5-yO7>uzoGR8>kwqt~soc_n&YSyrp^;ia`!vISOg zw1y;NI5ae{3jJwGPz$Q&-p0<6SoRcu?cvASK~xQE?I;h#PSn8hUF*)Mk}kz4wdlBI zr;%pii!{zR1I3E!-Lr1_<&StkY1Wqa&x8 z8V&AG0_ZtB(?IM#l-no`1ZDTQ)bcU}Y$)^d=5>6$mIX4gn_bR%_>$t`iZ4)oIUA2B zZ{ZT~be!!Nb@uoiDDsmqQGR#Wc=YxX@7(<-yyFgx_VKt?1e9-X>=;L7iu0Z0Qh>fCfF-6P8ZoUgB1s}9vDvJk!lEOqCF z*&>hi7NVa|bpz&#j2*v+PxRU$Po?g6e-7d%qq{0_8Mr}oKP?m7eR0Td0_6i@71SQ) zgVjA|W8>>2^^1?ywV$tr@`Sro_8OB}2uLpDRpZ{T(?n-#$Rh6WVbTv)$FV4AG7uDd zF3Ir=1w7q(aGM10vvQfWSofjeeTb-eWgK{7+oljGPfGmoQ+1OPSWm3v%%Y&0@ME3K z*Yh!~hnj0byc;g4RU|7#t-IRF5H|hA1!4o#m!W!FjlLl^ov!MXS?GZEAxdBeG@-tk ze1inYwIes5w=o5#?S`GSy9`G%97B%|TqMiveV*6RrXF4Nr|Hw|n@p(lPi6grD&#cc zGbTz)yB%SFVuarq1e>$`hg{?TE35KfVCi>0^f@2{jD<@7lj86B(m!DlQ|7k#`abRM9f}dXm(*FS5{U)eBY+*B*&2`74RRLY3hm!PRMkV<8Iwk{XFtm!x zF~k3`^>E#CfO>PN(Impy=rAPy+H>P!R60qH+n%_e0+BM&@BD}`pgP@wh(x5lY}UOkwM8CiRQo_biP+^+rgxu z>GZ6Tg~-bLgD&HdMD04xZ3~xx=+k`ZaHq|7P@H$kq)jsH0<5UWO_~CGJKS~w+Zt7y_iaLI=vFQ8ur7vhKGt@Nq;F1|K&c9@a%8R>6Qwc|w zadQC=nUJF&a-3nJ93scWZ2DGJgD=}r;InM-r%&{|?bmp2e9yB%-mrf$^pY`CGW?cO z=-IFuusjjWW$K}U=qa()LqxmEo{qG%7Pm3JzIp^0A--gUN-C9!7|ZlxwSCUF6r|6r z{DWu=q`SR&Q+!K&i&EaLi-M6ahzo_|+xA&&BwFM5QL7^c zaGz{+I6r}FFHa6o-@EdpNnz@2L2`Hgi#|DXptU2rJd?`g38x&#NlDe)?|!GtA3e4b zPd;RRbjW{6@mL@@+;lrPksSO#N#cF`m3%MHdxv~;GUWPkb zK^VZ}fp^$D5xWm3Y1Q#YsLMJ!*b#q&K$DrjAkah=^B)jM17A(2`h|&T9A_0>_l&on zDzMxn(Am=C7I-6t&8#ZCWf`v?K}r%RJRWvUF0h@1B&DRvPW7~3t3I9=ciI3%CuA@f zd%Q+c6Q;F0nW&E=;0u&bkfqn7dMx6l#&RRT0#VLI%L+wQ?qPo9rO(h}^EMdiQ>P;= z!}F1bs~o)kXd)ZD6xVeE^w@4a4v6D6{Gmb(%#wzYTsXABUQ+uL`d%( zQc0uRLK{A8xEHrw3mOh2=q$Mtwu}k)mZ(sIUK1Pz=o!d2jm7;F2uV7~yT;ri^9KmQ zeLgktCxfB@kZ`(MHmLnjdHCV2BS{D0$oLjzQWmRIWyJ#FR*TLUY!<(mO^f9>t|(B@ znOsiSvax$=5L;yT!if@Qqxy=YmdE<*{xkVZ8kT3Wj_+)wCj5qofrG+wx|U}zEt7LL zG}$zF(`C2{B+5P%uM^!S5qo`7>!3{M;R+(DOf_$pLVOf3on(AM)y4vAx3?tY%^Z z%yWR+D&*E>hT->R8Jz#^-5E}x_dguKEq))b$>o5{Ll;;BaDWnszZck}_22*T}i{$VfXfsex46c*UoLl-G zwm1yo4)2>Ixye}b_+H1}2=`jEuJ?KN+w-2_dISVU4j43*5I6$J_unstu(9sJ111@? zp7@;p+s*$l5yH>|4F&&$@xSgnx`D$KXm`M){_WBK>j&S>IsV@>Z$bi=fESecgp7N$ zU{iMzIgUr*kD0}_?Go&EWQLNiXlI-T1xRYYkaj1%5~0K1FJEzF2?8OJZFKy+f|;JZ zH$+4I*>3n)?TxT(EcqHfiEhfaZea^TG>X#z#BR%didwEezc5}Ze};-jLF50 zs_y1xL6z->Fj+U&jzNE{ChaeJ%xs(Q|7#}xOB9^r`Dr3ZA?-=UwP_#{g1vc*pccAg zv{a34#>emJfvvOZef*&~ZGTT5q&_3E8M{R8KWQbYrMps@gJBg_EZ_zn10W8T(7q9< zw`SoS*Y}z<-+!e=qmFNHE~+FjZg|LBBl9yh`5j)xz!rW2Ef7$>KPn2aL!(>rHg~*V zuNNiY2qe8bSupUJ%KY%G4O=jysVn}FJM@Qa%-8;$>8*N-sr{U z)^<7L-&f6lICP!igDo#rd$kWc%Uwo~FSVJZTSxXu$tqve2y}DPgayRvuTcLOW-9H# zWo{9@CU;yDM)nOJ->z4Y^Wr?6K&vP&mtESLIdjf8AwG_Ec{60G+T@K^{k+qn;XLeN~yk%Blb82#9%z8wnN1`BzI!I^$G3|;GBn^fE-t5 zjPLnyz=&~dHkXL!jO{ zNB22GR}QcF@VL4q=RP-kOQMCm342Is zWhI8XMO`(W73y~d6+Qp>pyd3VYt~{PRv1hlntIQ-fS%ZUaRQiMJ;yRVy$;MSDFjIz z%4D3B#6?vaS>C?pA1AR(#m4Cw$v4r{opW3feM|$Ld(0DN)za>-5ql={7jSX_S8tVg zjGfH7Z4+G!pkIIwTovf=M`d zv>-_NP4OzmX;yL~N-e2-yHZhEm5FZ}z!YS)*V)?q6V$Jt{)yC;+q7!eF|O?n?w$(> zzBTqu`*cAfBn*?NUf6>$E>AJvi-D>5@8`=?kmpt_K+6Sra6(Vin<6(IvpJJ;FPqC{t-c5Nw* za|_o|I`Pp*m))0yP9u58R?K6i1SPiVwYrJ;&0CI)=8+q4{)PqXVhQZyCiE0GUe7Gp z>g`+_D_V%Osv^(bq+z1sLpZeSS--L(ytR4*n^6Uv6BC6jKlIo(pJH^hoOcc~R)ReS zky;Na8Z-wZp}F55g1%*i2B-!qBK0h{!KNS#%dA$|GsPsyZB?H$;rPl8etbczK)MePA$#wD6pzvv|wpWz?* zlSAutzaV~4w(-V&pd=RBETjXl9M!l#t2}Bj`?derE3Ag>w^(mgRKRI>j%E!o; z#&S>8>3>WPS|8^#O*G$GUezjJb-@GA+lnP);3$Bqehqae!$v1!p3&KQ+a`08s26jq zI8uQZ^b($SH7R+>NFSZQ)c7FKyoeHZG})_DzyUmPnUQoSC!X68nm!&>dsCp1{aHS@ zKdLCHT}||8f<-!Dc{;v(NH00`2GxDxkStr5LX+d}L31f+E!z2+S`u9=5_kai$y%!B zJjvaSW0B4_U%H)XJBW@BZ#6vJ(BwS<*x{V#OcHvI{H5Nv{fKOznU8e#7wg zHu#;c?DkfYS)yjc(Yq`UT3n_D(5|LLNsRh$?mEnHJz1d!BgMxX!$xo`+sKN(e%8B9 zZ-%QyX0*xbIfO2=lSL+n-1g$jfhyW{nsUSm>wE&^i4aS2MD@VXJqZyznk2X_tuO!D zoJHh`CqMp-Gs$w-J?uNoj#*qBPr-@PNQKQBeBV=X$x7AUTFF62|4(f0+yJ~WU=l^= zb1$XHvbx#IuL+9~+QuW>(n}@*UKd;*X0pxI`;ftS7e=L}=+cKEZ4 zk@c8Za|&r1fytC&>>Ow{phpK<@4)AM9fUf|gy3d)E3siVsc0 zK^Eqd?mT#3e*Y4M(|Aod0*B^5dfS%&`1a{5$7(7uj7WOT7wYvbNa6_SpUZTD0h6~% zV2!!|$k9wge3yVFT#+4Ca4K!Ja50PgzRTzrrEGioKMuX>+jWX(^|M*n2n66f^r?;C zk{3#EIOWL9fDAC|NbNS`-icZ1`VscbOD%i(PPhySn+4MJSvuFqyU1oXIHvyRq9F6- zB^g47?2=#=oe_A*@8{M-PzU4A0Sa!WZ9nBf=E|H5svd$NGmM`_Zr0p95Z+U0pgBNf zme&r>Tw?1Rhh2M0d}iUPs5_9U&5gkp%;~u}Li+QNN%a zxhd>`{aD~jaLmJWqM~YdM<6%S{YYp0z3(}{F!A__)J`$2ZvUH>EFXGEMr!v*rO7gP ziw~DE^&bzTTe zo(L|vkl+t440_aN|EBXx;>gxavh`A-5Lc+mZg40?|M%6^da!81^gh#m5T@jFl|)}P zyPcgtFpkH;q8X!orX=L<3-i`pGmc5Q17uoyhgc(Qz`6}{;HszKDRhB#Vm7d37=?@T zzib}<%cW_y?-Q_O!sOcLvc^E7zG;0Tc5fPIN)WE)tfQCm31#zI8PfJ`O6}rS%gwYS zK1Uk)NxE!Rx9c#O#SXd4_c!`Q1`V9<>k&G^^L?FN%{6$uLM+RI7??$^?s~UG^B|o7 z5((H=p>%iND^CW$O0?V3(&TX+eT)1nY4&~v6!1s6qhAq967^i>p9y-AI8hR8_^B{g7fvq`N!$38bklZ$>e6N1uby?$0_Z39rfaa_n)3g+ zO|EaVcpBATlplio(JcC)hRJ6+){F64t5M3NV}x=yzM)_AsQDZbnND@n){mE>9bvpj^AKK73Q*WNc9My@M7Zg2UH=JIraWS^QrujE<_^|z2TLjhc;mY^pUS-`MLxgi zgY*MGZ+1iYj5ymfT{d&c)lwF9e@n4`CE^3czkil1+_W0?zAy7!qJRT?9Sd$~WY4?c z<@aobC0+L}ds&^%y$H9hBy^zDe)&+h=N}1Pbu{T=iinc9CQ`6r{m*IZRNoI7w!o!z zv?McCP1hT|$2&f#Y2vnO$Gb7xrFHmCnOetN8?pGE*amGazHnIoqxL{0l*$$x&M`AbsS==nI^JKlw%G!{e=9^ngw*DB6}<|5@>5Mzd&-E- zYbo3s<+djeg-4_1(3*!VDe<2e-n$$S4c(#z8tVVw%1NLu4PPMj64XEOqd%xMu>*~h z;QT-#1on@i^M{qcoBv}r{=eq`*LD9t4VxTAe}#4(6kXjl4;|GiSnEBr!>almXrUM) z{`IFk-tnVf?hW&ENc`95HzVAKHxqCBvv*FdNB3iMG+!pH!Q~pJoQbbFY+Q>3!8or? zn`a^JZ-h{Mu-B-Cy_V0N++|M7r|jJ5kINy~c6Yma{+0rp=Af;asb=yz4xtXyG}e!> zLxH8)-(BPmNL75Cd4-EkB!0#T7eAkAcRXt2iSB^~Ng$w39_*D!^aXRP{iv6Pl3^?f zYHL|fWdWC^#%~k^Xn#i)q6T;;7v_uWO{?7W5a)r*ktb!GdISFX9E&xSr^w1BZ!ylG!+bgIrKVH(5|4sZg84%#luLp@hrw~o=Grjd&@Wl%lFGZwq=j{H$Vw}Khj1Lz)rox8I-kRLT z?sQa`w=;y4&N~}Inp_ITF^+CoGTDS(uNu0=dHs1IGK`wkBa`A--_No9iS7=Y2t$!M zYHHeVv{(FGTFjR!U%g?&kK;rRSImouxVKMMe?`Gyv^S$Ynrt#VSe`9;I`Sju2Y;-P z4jOrOEcSoOamjI$em6UG>HGL7XReggKi_W6M!?wJALDzUk8^#yekRS(d6g!sx0Po9 z%*Ft&|H9*}w>Q_iq$S2j@b6gd=K<;(%~6Vh{2~(P3?(_X7LkJ14z3MZ*Zg^KUOQxD zB@w4;jSRYA01<5yx~GS?Z0yj55$LG$h1Vk?%{^N=Y0MG#RXth#ATB{mAt>cF(@A{n z&SK$cN);d#v}!zlR@yr&a+K>0>80Bl%jW^ zb{@IBZA4bJTAEq2@dY#YkMA^*+Q$C}Np9Y*& zP;v+OV!hemyfWEq6^|LZLgB($>b(6e>ZM9WunL_792>17lg;-b@7M)}kf^W-`ExUL zh!Amu*i$f?4p6H9WRkn3Zn9t7%A{S-?pFghtxpg((`1HHY;{s7%Q|sXbiXh>mN=Bm z;u`ow1W?#H+7tcbRJ1ekhJG+}*AJSar)os*^c*r#zETWvWpKi@ zAQ>6)!sV?Ij(6-ab|LzvjaFZ>#Rja_)HUmypLrfF7wSWM!o1C|OK7|MS;`)|p9% ze-(Q&!gM$<9mv@kh!Ch`5ylW&7z;mQ9Q1J{m!$`F8b=MtmpLCEw-gBafOSUl_&t*y zz+n{~#x6w)!1!P;HBXDM(@U6#kQ%Z}x;kZz-hd&6Jl{7g6XqA?|+|fcJDDJZdVGn@tEDrq>#oVYUyGJs^HYl&d`1evagW+ z9B_+x5gr)Gevrc5Ajezj!jVnz3iq14U5C^nGGj)7#a{;Ht7;msvU}iS2`Fi64bl0A6uy1}l2;vj6dl6WkY?evRC@ z?6OW>E?+doDUv{?uucNsJRiv(KStlG~Gx#7WBG1r&Df8f?W;6g%90LyV`Wt4W3`opbU# zZhc0D?=7R);F7XmY^duQHWh#x+14a;p#-6QU#vvHk5X5t?=MdJgbCpe z2_JEHcnv0cK6}CXc!TwM*vmWSf2QjxFBvE6HFvF?r#(>wGu(=MC}&*N%?jZO)KhdL z6~6^LY%oJ@t%ND%J_tSV`i!8~Z~Wa}<`aYZsEB5*4CH7FUZC_B@iwWLsFLoE?q0pg zM(KThPdp1j8WAziY@pc_asIv4!1kvKGuid`fI-p)>&48m zT_rJ#Rw&49X|kqnN0xEm9475}eogwpCN0bFTg`m{g5}g7wkNfX__S*m*gN^iB(FBH<{w)Vg46>+moK7eAt*Z*m%wKAXFWbBkTP zsgMCTpk-6*VxT&O-AIy%HmIc#F+Kjwub3o*YRaJ1byVr|+{iEeLSlG=x-#S32Z&aKz> zNu`M7G6e?0oI=4}JD<$wFBS0?KIzl_hdILTvH*q`c5G;gwAkvh5BkZ-%}uM#4=3ZJ z)PLImc8Pbj=S*{n&R?LKkzWt3Y6e|wqIZ0NlLSiVaeZxv*!4-?{f;PNx1*t#ebssQ zaOWI2HYV~sD`lE>30;{fr19(=`QU}zZzw37$Aa2y&&WcF0NV&48%h2>!I{x@JLw)M z69Ejp4{1=&haN6%02!-w@Oht#ToXq#4 zgo0&xO!V(I-$dYB5~u<13o#Ksw<>9BW6wTDn>>dDxo=G+8t1}w=+&V5&h^JMnbLkA z2A&l_DSv_y$D?erZ(U56mOFT4A+S40n29Dt+SsVUlwJx~iUy60?i2aAJP(x# zb%c+Ly?qKW+HoU`%Gg*ZrLBD19Jq;==U%_X?#In0H}^al7oL;jSbANyr&+n!ia^R8vyN{uTn1+{HEi1G}rDMnby zxOI9x?bYbQ>F?;(Nhm^#i_*m{I=gD}^0`a$tBhhX)mkn!sH#6%t=VbTpQE{ZwA@>! zMi*a`aLkx|u|n%MG5PZIyjFp6pXhUt8n28-#$d^eM?m%0au}-!L=cx|P$AhusG3IL zNV{_AaRmS=dGUZ8d#+vpyL`{O!LxJX)L^b&e=1Hm@)}m7G`#v#C)&Z$<_=MDVQoV9 z3kOC5w(v|I_yQS49@R&DChY;xhcC1?&RL=#hvfDVVon9jKmJ|5ix8&zj`C@!Qu~gK)r-E9*(M6Z zg2!0hbw&XK#*ob>r_95keAw#Pxc(%p}q(S!*8#v85n-I!HgCaPTdX zWBx2_g3SuPXLx?EMQ5(JRw*BdnsEevYcOR|!1TDdfoGExAT%x7MzmL0f3RStEcpd< z`Uc5qzOxlBWQ+r1v`GHKEdHbp!kDzsP11;!PIJyz#0b`Qf6M1PG<`9b0wf?Y!U|D9y_oIED(=;FUc`uATuD2lBAEauUWS{Ldn`f$VA4+TZTE@fMV* z7sn7IEDZf$wZ(_OEkHFp?^3aI!atV3XNQ$MCF(|0p$8oYtuI9lpi*I z+n(Ruz=DoHAf6`%XA-1;qrzyhlvD~4IADdb_Z*c_#0-LHhf43OwH*IFvzJrACvr^P z+|Y*bGf`Ns-@T-$tfMtfypp|qIz4I8sIiR z#!sD4CS4NXB_YFT_aAFwqIxl2htW9 z8S^VOEFu*=R}8Awf!z zjr)}d^w7Fg8ED}*V<4+C(AcIjcyf-=TcT7bgBLSsGLYApDR!WpIFnWO;F4CF?glF5 zjFzo-Iq^A^#K5v7G`x6$YbSEQ@1C2Rxv9)+g!B~rZ~O>1L5knRvYStvzmAt?!ovXI zy-35j`&H{^l?F7A>IbbkGp~thL!e;Z!K84dvgd>C@ngkQxKD@v_G~E#^78q+#V`W% z{+a?;QCfUtN;VW2=QhGEV*mX)Y6R(UzkYsuckKD*72M=p=oRGRNT)eKs!?xB!l=-V za5Thd4HWzZ=A*G4pAwLsN+T--j}lmdW2pl#Vn2HY2O3&{xhCQzqKVkpYG{|S>M?!D z74)Pp{g$vX$l$M#u6$&}OvR3PdJJ7~Qi50nECB@}AM(;oDBJ3p%sk=WNaABgxsy_5 zF4F~_c3;E(hKxKZKZwdeMcvF% z0ww5xp5}ZU#_BNHSQlB!a#qw-D?#-}MyO-*BTw5pqsRf1l4h=T=L+3|A-6mwoZ9C@ zG9a%yFx=QeJf`4DWd7p{np5kXot6rXugaIUcRXD0gdR~!21{z(1n!E47FeR5?qpPO zZ8|oh8}VZIWum9NvBfRtP3|4e^th=K-TlJZ&6kFoN{|;vU^1 zV+p3rd#WzIuC(VUl?FVLJ;~EaM=4N@(pM~ig74*%rl6W=%9I+Dz#T=*@F*B4@H{EX}u9vHtv}og)}&LK^-RW)WPc~ir0*f;KV3DKX>mA0lKuVI(q|{djUmRX@dBK}xh!fM*7dRxoES=Vn@+xvH{R zdSiV{#Xcry!G4xyD|!{;O3i1gtIdTdg&)IJX_MaWJ#Cu&{H)3TwoRib%JpiQI+ya?jIb0) zQxKitCbsj~V0pDGD9rWa+a44qiecK)EYH59lQtrjuvElDrp%PT(rJo6`dNjzm>%F; zk<`fq*Nnd%SEJFAWvmBuL;*`W;uM?GY6Jh$(TVQHannm6^(SeOGwqora%_GcD?!cZ zPS{1_gtWy>UZ9z+BDBh$s?dwZ4-73@#l-nkShW^pE`~Duiul5>v11BpoDICa4Y-}5 zG2v3vqDL0UeqWx6sAYblGe-|=A7DlMI%V-W^+^F4X-7Y=`@3+uw;+1)sz0>4#*~2^ z!|Q4eo%@I6u)t8%>0}$=Wea2|8rCt+@8C%J_*^l#$tzao%b!>TG?Lw~>(XZONVUn= zLK*=niRq}g^MUk;Q@uf9O7{CkH8pL;pOLy_Q?q?nWp*a=tue42J`e>aHoqxNvBaU` zhL%15RG#IQkmvfr9IzqD!E&EyNJn=C&C-gUiR zLsQ*DTzdL<<(7j!odwS$8w+3tP6>M~ati@6@GGz!N(b@$$cGvN{OB(bbJ{FGTZi0qx0iFO?lf|n=R`}J*)4n4Ze z4^fxUE*efsYkEt)hUTnlI4_P-hs}5@2~msaP_f*W>bMA2j%Z^O5<&{!cmCvbJf^Sq z@+v!z(1D~L77*@QRQ>)tVugKk<=#pP!q%;G-kDmJxp)}){4xDxZjw5x`fbr)tbRMT zBbsvu<|j97Jw!d&#`=+N7mvAT00!lZ%7sC}~_&QckzoWf|O! z-IW@|Rn3NBrke`UR5)Iz#z)!1#hHKJmBM(3in+S+d`8c8u9JqrGFVmJR6m%CO>r|~ z$>SF(hS-a_R-g*^VfL%Ru3A|$Y1ItL7Bo`b(9oG3e3$N}t)3bMP3=c3cejRVBBAAD zw&oE(klYF6iM5e_I)!O17MWoq+mg}xv}>_bD+t5^(>E~HhgzCThaay9T`Pn^KpnsY zt2=r+Gx60dY7gy0obSkVDn~@){ zQL&^Y232LuHNJL(Kiiw*1$M+WT(wF85Bfu9aFi;0EE zA@%N@eWrd=R$IH#w`B!4R9WCGrVQojX?To`kayw9jp{QO_rsWi`(eK{ zlJIZq2anJ9Z5`=!^ccn1?z`gY+O(OvPwA!M=fYYIHCl)HGLoqr3L24PhwhwHZ?VH} zJtx}s_y4WpR8Mz3$zQ=v_5CR5cYW?tOiRz)+5?lzQ^;&yftafg%6(czj@9C9-`b6P zT^;yJ>z4>Ewa#mLdLiB+3hTM{kQJ}_VZQEPSUkt;vAET2v+$`}MS6-e_Z)U+eJ z&3@V*)zY`MX3hcjoED>xW}ODCW)!W4R~{XXnuyx_n;wa5FW~KGPPM$iZ1!{K>g$hM zg-vzGI&1UC{aoo;I>k98+eNK*v7Mb{&^vTbv)z z$Vs3JG(RHBQ!rZYDEArax1{(Iu^Tu=m)% zpRHLV?AwvtBy;h6Bu-T%L{WEfD0(koZ=@oT<8=^C88bvr8czxyzY_a<1?nnoSI)G@ zQ80Pl|L*wPIvy-watUg*=kL4F|7q}V&sbOY`}To^9;vwO>e#z=b5&T_cSM?mrj#~| ze?0Zy&-c6dsk?Hnv&vPnF#b4)7eY<|etPy>zam5cEM&INX-T`C;NOcCY(w79qgOW& z);IpBLCYL|#Lw#ugr&m-`+{!=EJZ`;1^=^Kf0^1=Au>_5&sn7GNxTnT2<_ct4-M}_ zzA9WM`}Y~~NIC{#Ni`e!unU1-7aetiC01T?w)Vf>n!nrGVZS-5{3;i1(vzP7dr&~$3? zc#h=vac8@3qyGDUXu33^a1z|V$W#;jaWs$mAD8(3qe~k9_--~$zxglUsr_jP{6C?g zqdUm_z5{cA7dHDeQ`&aQcXsyZymh=P9;J8X520w{h2|mOz6!QDv!W9z!dcB64J#=8 zkGStb@|!)={5?93A|P1jHD%>t?3~xOoB(kO$7Qj0dOT2JwFEG2N4{U#+nQZ!Vt%is zb<_YYdhU|UTCavs1SkdiQc~*uiik%IRY~~D(DPfoz*GS4SdgGrCnNgxE)}~Gb8*Co z$_5ZfK})#un&db7X8MDRxHAr~JX|@~_zVVvfQRgD6t*;!dm^$udZz^1v;hsym%@Tv z32VT3`?JL%Fo7c%tJ zoLPB=jHiWNo!NwJ?BSJX6n^03x=L=W-WU{%^ftpR6#PBvjhjWhY?ipA-Xlv(;j)bE zH|ulK`@b>sI{F41H4#TsDmZo|b5R)3!xk5*M$qU(+w`HbH9)tIT_?U$ub zx6UbkRHFJ68rb?#PkN2H9KARnCxkMw%0kk4$M5@-^N9Pr<&K$&p`D|Mhcewhy$4tm zBf*2uwT*Rh$ly0;a$_V+0n8!i+ob~Av#k({vBJ%sg_(lXUlYysYK;`%cYhNs`~ z44Ie6Cb)qI^@eH<29z2bA-@$Va+mgqH;X4ipUUErnKWANbr5^^L$iN^TnH$~IU&6$ zNEyxi)l)TV9Nq`hN&%g|^4dU<{`Nckryy}a$O~AH6C~07FV=hY2rS&bdZAbZdGyCz z^D}{rHzJ%`5_l9(9q7zlqMgkEPcZQq;%IBQF4i}~=#Z1=Z*xRU)*|mfziy3r{&lcu zS@ixIH(FP2KO(+QBLl6fJAFRsN zEq#LFd8FeAF{Y`zZ#zX$b$5XI3&Yc$1iDgT*PINVwd`N{J?q2$F4Z@cq%L0}=@e#g z`nQSA`3DuKXx-538krMUW2_E;CCTyMLiboq&t*`b&xkO;P z&P3$(bUFnbx||n{W*wieP(IH; zG=qaf4(M&h3ms(TnTnI_R>?}7b037*9zE6UJx&`mKc7XPJ_Q2gN_wZ9M_xTOEEY-k!)e#wd`5r3N%;l2(dIs9!QkYKN(;N?5f_?Nbnib& z>k{?DW~Q6O);L0@xkm%X!l|kiZ>=me`B0&$){P*t01ph_b>KEHCjc0UB13OAlJgt+ zZL6~G_}`5B!ajmsKkFO$7~vPMExXJ1LQPb6uAU@F9kx&i9k;nO@+D*N^N!RZMp4SteuGkZ#aZZ7D+xFo-@@ zZS$h?o@g$tr3AT!vaA$KlD9Zx467upKXy@V(ISQ{tBE-ik!$m`4?w$Hes9Q^!h=y7Igx8 z*5Naex$%*16hknIPuqG5KEwo1JuJ+{XgX4$(rYT{M>2gGh{v~c3ye<{!cnfRMnnmV z-l{1O)a0gw(cdsXbJ0K*NL9)6uBm3i^b@WrLyRrnu_#yIsNtQ}_QvVs&fE4*=UpH5 z;8&Z+*cTb$0k`V38B{ka5=Ko~p1?OYCDLm)iot7>=-FTjX73Cu&z?THZ@p*<6McV# ztoP9h9?fnLeg@oCC3-LKvw|P|77||t-XqQE&Da#g*?6w-LS(*c=$#lisP&$S%<7yk z?j*1UbI(lYzx3+7wPPZpD)!&jsy=QkbQu4beb*`L=tzngAzB*0H=pQ_NTmhEmj#lh z)6fn7?y_DBYrr$(@_!ckNeXc%yS0=0PKZw7UD>u-5iLFaVGN{Qxu*4v+YyhoJ(kSl zNSEi|!H4;^p35C3rNaPI{0_tB%eJo3XrY81TEf_&rXe8eIO!*Umb2A~e2+6>9KKVM zuRWRN;Q@)D+M`s@&dXQ=iCK^QH6bo?=c0Ya?{xQTIMR-r_Mn<%r*R=Z&urqr<`!?P zCmIT*>z=+BH`lV`wq;0Q3%Yy*3Qoz-A+-aTB^}V=79vLI{Woj{zT;q(J6p>h1ynkNmyc4lmz`WDRC&YQo0~T&{U@1gR4*-4zk#Ud01n z-`ZQN<5X^2t}It2(}9(9rxUvjv+H<|1R6z_Td{jJ!31J%$eBn-Q*mhFg{l?jht{8J zi5kAMltpBFeZNg#cP;9^<3F!MW@mv5WlrZ!4;*@1K0BF7kxATnNrmtiEPH#we4OvZ zyfI<;j`?z7t^*NRS86ja*pMhJ~>yl1c^^?5TvsuNyYCJ0ZYi33Pxqbxk-vZRgTpDmoFsaydH zjMm}v&DjJ#7!-ujfEqqGmKzM4`A zq|7I?T}!9pHtY(_=aW7(?DW!HR=d0Q+wg#dkrBMr>}qJ1O_V-+R2i z@XNO0yb!JOS)=KFRREdC7Fl4pn~dEKq<0r*y~f8TGXasM2ajDu)bY2S8=bjvLbdajRsEzXBjz4S?FRnOUe^~M0Z(JR`g!d%e3;Hq<4WIwceJS z0}=Zo5chub9^2JZ7()pK-a$aJhpC`1;~0sa)uURc{R7QL?)o#3Zk#u8gONVu5niwr z<><~p>@wre2Bqo4JLPbx`3|+HL2}qfbpcx$5yH7u!CyaFjiGOvnwfL0C;Q=6`&-Bg zZO{ofOqq)4&vBg?1-A`?fQ4ABf`QEHl&KV(TW-bx+E~r|R!StBjdRZkSZK>&Jue@? zu!75XWz+a!iS?BNH&7CdBC-Vm#aX^Y$>_wB%}`vOLWH%*d)l@sXx<7`^$3_`MoixD z^D3*BV;C`&fq1^%&DAAr1<*`BL~*;-oaq)fS!L>3pdzS(ZUT*={Fx2K?%yX0n8;aNDEiSA8Tl6z2oc;~ zYuFp{!9ATf9|aiDvCiRowMK<3(Nt!SSPA5Fz3;2iN|Ek}j>W9X?S3vHA71y(;hMm0!cr^Rtucb>#4Dsp!@mv)mt;IF)tx&-Z znI~cGnP4~L z5b_?98lPke)WdKu4XWOmfg#a1e@%}&uWnnP9itXOz`(x1Yt#M10GD$iF1X>IVZpM; zw6Q$RSqWNFuLwjYdIE&0fCH)p=b1?SvKy729v2n^XlsL*rd?=sY`vocE+z~5W+KGS zQkBR#ylfirOZH8W`-X7f-5smu!^pLO(dKemJ3h!(G8JkbHeg`9`}x;pV2f4#=GRW_ zsP-hjPXjA|1e2y=sQ1lo{r9$WZPOs)pWCWyaprW9NXg!D^)0uD+xmCASMszX7f%wO zNH!iqcG4ZpF#K>55Nhqcya4H(C%w3C%#h1-#D{CIQl!v%CW;dnsddSkGydp@IT31)RtU_`{k;0W>=izoCPTey!kzfH54*7KS+z z=NO*P|D=LE0x6 zJbjFv<`19RJTNvl`$+ftxNC#@a#ds%^>t+-kcSj&wb(SdByinryuWqVUegIya7mQd zWr-OfyVnvG+;&v)AVu(Y96=G(pMkkmg0?;`^*7HWO?;B;g@Rkc6@$>77VWAI4>ly3X z?5+10tXDQci29|8%Dl?qXN%kB<|FecXlL>XGhoRDaQ#U|>ueWR&}Db1#Z1V8cHJc# z-(ouAtU21++xr|%<;(8BUa&(4^)AJ<%FOAAXwp{do*BP+Y;Yt3yN)qL8m2r{b58i2 zI~rkwV?U?d9Cvx#@wplQr4g(v2&rvXX>tnQ&$}^jEDy2P4wKnKA}kAlo1C;xN&Pk! zI&$K4$djc7xOg(czw1HnjQST^f3nQ-CUhdK+dsm1nOK7kX z{wx7lXq-zYR8%k|Uh6^r|2hrtJvdi*e?O9r1~VPjUwQVAKFme^e;fX%EB~LkrwT#p zW)AOs=Iv@AhWG$}ziMNcmWOY;k@NIUfe-7?BJ9#8{}bsmVm;CL_9*{3WjO`8;EzN= zxZ{nZM7-`=x2-6meZu)3+Tj6V`E?cO-sJ;#lxMDDhoy!s&o42IjNVaC9yk3W9fB=0 zQ%w$MwS$MJmkxG0`wQ=H9l|_bQH&ZM`dPUKc6t_Ol11eA6Ij^^CP43w@;Upi|CEyg z;*F+nIumK|^Z(%Pt-|66x`o{YNU-4UL4s>=C%C)2ySozz65QQ_46ec5A-KD{yE8EJ zPx9@3p8cQa+?~69**)Do)vH!jEqPaUdRQJP1pvMshv zLwR-4N35#REw#I7)SIci^fD?)jh7WrVpOt$89J-V2KLwlf2BP4xI98ZRWem#lvJjx;37NZS7$eBD2w zVlGqfmITN!y_`OjWE9_Qq477Bw?2}gW(p$htKqxaXYI9oby2{yjQ#F)F_)fwBd~r= zoN(f8^hl7%aLX`fJaZ!bN@k9qBCrfnSmeYxy|Q{^uYZ4ZJ=KT%VhZM+DTTz>AC0Z2 zu}lGDeX~uTjOV4rye-idkg_eJqDm0%Cd^&;?E7A#CnR6*+7I6ET#6L>5EZx_U>bay zjE4n*MjkJ9-RZH+Zom(Fg=4kw(l(FS#>2zv!{c3o?!|mQ68L|zE4YX=|4vS;P{at& z_#<^J+@)}yy3wX?B$h55`N%>C7t*2+(2WY8#5SrCl-Qa2i+&D1K17JV-fcVqTcNHy zj@w4^{3~D`3*O@uP>Mtf_0#8s00sR>AgDBIiuTV26_H=n>oHTyUW#I(!aoCp2|m;} z{(5A>KoyjZU8=1uA;ACW=7_qI5wp`BPr2oU6amJKHB<;TB>w8!cJUM{j}f<$G&M2u z>-URMqYH9bn7cmpSApaQ;@{1vA$4-O$uH|NsM%`o=j%PAni~;6n92Pmlgxv6eM(yO zWKc6z0^>@rpFV(MqT5bU(;INo|CVqOr9?%GeNg>rzz5Z~fc2|XgKtD81lC~4Y?@Qm za9>C4d#>x+1%KP_5hFteYETe)2y*3}MIOe)XE8O?^&Y7+9R;4Kl zmWm#k!JT~DI+LUN^V?PH{q5Q?1b>U|2v`ceUlghF>0xDLExGLEi416ZGCJzsc$(nb zJW&s8(IVMBKAycwh>Vi0pm_Vx-d6hQ%jP@5V}hSODDQIpH-eeABLPg}yU(5eO-+n$ zNKf^hSb|+ydafEi$>ZDLqD^)30yvoC=|ZjN{+w4<-+iVu2%3%*+zgX41sO|(k zT1*Y>Uy~n5gQxSKJV}EpCCZLYQ3>!78fp@~CEVLD_>7jWl^s!t zG2?>x84zMI$@(Gn+|{tY=f#)a9mJi;AamN*jfXntg7;Phl)J&T9gV*%^|^k>$BaDA zArq_W)HsQ9A@olgq&adjTyPQ$m#m@v82neQ5GY5IY*ffxr(}mFY+=#&%39PubPNrQ z_NK?ficT5$K%I8p`k2VS80wxp@Y^|?zvOh1M95M#u^rhvPANs1Gyt$25j0^7_ARSd_E@mcryEZU!L)UZT zL_+hFdZYrItZ{lDdim3TxNntmTwed0)Boy!7kjxKjVP=z4YyY9(7nK5wsbv@bWP|_ z_!XC%DR_tU-6v^&waPV=zxD<%6fxX$(uOhoDlLmk%`xSn;sP9n2F0&-wvRxfyEsKC z{L@E{WQ)&a$7~2Ah%84zb0)5KT3Ee%O7#p4ur;RR+=UKNoF4%p$susHokIyfW)7Q@ zO%4oIF557;(KKspP$TFT-P<)vVLvT%bjWm*O`WR8p3zKO`n2F4V*v6_@7rck->xN9 ztCV(UF4#<8A(a`6ji0M4q>fM`#_XPdCaq?6Zo{Zg=zNFP2=)m5%pX8BM^1<^0iR#!`TN13zpCP?yoIKZ55B8_2&9qj*MPB(@nh1IiSG+zctgtN`h??By-%csDE0g?okc8xV+^% z>1|UG`^EyxutGm}jvgTr~23JKCj_7zBq<1eg zOOhGjOGv2;NbsIrQO325%A!I7n`i9@52`5O??PWc`JKL0BTBtG(^@3-W|0>S9e?a2 zc2b)CGeToIyQ+zbEpCrg}ts++_b-~5^wx0iK6i|`LM5?=WVxN!g5TWTux|Cp1LqG7h~It+iYuJ;hTAMvwQi$CuMcskZDlP- zcu7HFAN;=E;=msF`(P0E3U~k(lW+@n3zi|3D`0h8W$s5>z00eA+j-yHWPrz}>$x;K zfb=QMkBR&GQn*`cs!zBVy)N;n2+?h{lp%JPK&^hvmh7a%b_eR0u>u))K-8~hMk2v^ zr&6AxRNI250LFQkh3uBiJ1%Y@a#8N1w4e=ScU@K|WFwL&Ss$eBZK?J+Wm)-p1A{!J z+Bnn`zQMd;<$d)pdDEq~PUsr2xjCTV8G-y_6N3fM_(b=#^vr<4nd1(@VOVtObJEJ= zFJ^JX!;`6dD)U21Ws0pFNqzyklIq)xzFjTdC+8$z7Y%p0pxR1UI0dpHTM3j%D$I$6 zregd7fm3Gnv!t!_298N5Hq8P@2%@r5sYB?_*S z+r->0G{i0}LW>8G{8r0b3O`eT$ei!sn?K9_oAI5@vVgKnrnmBEHG7mV_xUe1jM*Bk z*31rIMH!=fgq%&>W4%Tq)zyZ$R>ow9dg@ROYHfnSK*5PG{2nO&9%U?4B%!~u=ZJCg z?n-roW9w!|kP=uYX1ON9I-IKWe3gcP8n$C;O=%bou!aiBMRMyLH*Yl!*f#6V%L>ay-an|@%( zlW8qg-Zq;56YK0P&>H`kaM=_r* zkMn5_oFtJy=-*J21yC z7+*RYocMc%2O+cNdCt<8V_yWQnBlQzW_Fcto5*E77^;k+oBPg+O3U#^l94R~f0XJn zO@67Z(!rokRp{&kdTF!>SYaQ!2j?{xq8%*~A&R#K5{#wshjrxXC+#gNPw)3J&Ey|b zPg0d$2tX#i5n92J0PuL}FbUg>ViM?<32x!~uNS}dye`lhlYbf1N12!FDO zi+j=o78+4VtAp-ZbYm!CF9%p0WBV;*K7ho0w8xn2b+B)pl57_i14n`~>A+wNkB42T zDH)nH9#d{zSj{UaWyAQh6MC`Yec)!(iH|mL+Rvfp3f!q8h@Lms!ZcxbPnSfCogh5E z#&VO8QiW7RouBsV=C_{H*ml0uDkq!HOx!H8Q6}kMSL7fsWOrCi^4B z2hZk9PkiYMG!g93i%QE8U{+WNj?W#cZ-WUh@6kFeBPJ~IYB;t5?)x#WZKLp4O`k2>dE%$%P7U!Fgmv&Hkh?Xj9m|L?r#)mR zAXey2)pjJBLMUaw3n^ZILhtH5)3DDRJ!C~ro-z#5X({OgsQ@x|4 zO?W=;ZX^|3r34<(TIFIt`E@+{)$1E04K|AVP{_7m&ySb`?F1WJ(+llB9Fjwot2ZG5 z8HD)&DPOgL5x#~J4?a+ebN;0Ea+?WsBwHTD(fXmXCom_n>Cn0s=A#k*_6zwkWZM)R z8AkclAGAX#u!_4Qy4(;TZNpBd&{$&~oi0~LJhNbAvO_T+zx{2fL3$xz#eQz$xC7jx z_p-!uxly#c4b#p)WCe^`Ln&+KTTK_q#pjC=KE7qBc=dvwRb^3PxOko#oHl7-n?T-| zwdAFXU8mq3j|#A1cgV3dn&my!-1mrF>cCm9T)2JqN36Aa>5@BCD?ano6H*hICFTQBnx>yHP%Jldoyx`r%4JHWBXq!J&QnCFk zxVsJ7E!1?Cs7*m^tc*!wJ@2nZ0T>6sC)WvcHMz$Ka1K7HDlPI=$(L&+C8NjUcb6d4 z(cRkDxS8<9pLpAp?~mKA)9_UgR>xiu`_K!QKAyU0zP)-Tg`sQ#6XCOne!&-e>xU9l z=$TN0)cCh6X3A(Eyr(JAq)CiE?xT}_h6(O={5z29cqx9Dm3a&AHmrIqTWSpMvZlXx zNkZPMQWVh_(KvS*PA^%2R;|%ybn#r5rir34g@A)d$ zWw><0sA~I(Sdm(8f{JQEU(^~kufAN$#jA@&^c&6MGJd?`$sEpM$_s|{DN4H3SVIj} zQ`)mW$ArDqXNzs(h~3nk!&6(grX-T?*E+Idap0)M$;zexSy=pU!%{dvKrUy|niw44 zJ`AxLWJS}Sb_o(toJFpb8Spf%m}S<@Yb}`DeqXaau_%!HTIqMw@aP+plP%#~qP;fx ze5Lg}%m4%fk~kA^&nf#dC|OA{kd<>I_JrG3eafRgK2XAx3JOtH`<(TYm^i0Aq?wmk z-}EA4E_h}{qmMdjuJ4%0#Vcc?T&%s#&7(9vQw1@zE5DV^Cq(&8;AC1(%$*UkpV?mj zDsjc6jgehe`crCFB+)&~8Vy6mWXVD#9e+S%Jw}7B`$_e-<2~D;F);Q}Unq2?Q0^ppJS!boo;pYM|&nAoKP}_Jr+eL4z zB6GBR{Bc9(VBLp!E_!sexa$ivCC8eBZ(fY$Me%)m ziGv7SN;0xTcZJS>oE)uqcu+O$J2Yqj$oO^3isM`}k2KK$`(}B^sjFwuYd5#_ zAyI|#A-Z3~$)m>~mK7$fkdY)sjH-hcA7%xRww;+On zT=A1aLS~8MI6o(1!%dPC1i&gd*)QOoJujH~7=z4u&o?_EK|#H~6;0!h4x049=NRR- z-3|pXtmOH%CUz+sEo79cC>TBg0s3J+mxt>*S$b$A?>G5XNn&T5X?0>USpxFgc!3zw zK4jMB+6}skw}cN?9p{}r*ISO#oQH}HJpgJ0AEcgbDXxQfk5^D4Awc0R!S(bVPge!m z%N;`)nJ_{NP~qMwY2}0LxYkmBL}qARO))2j^COP(l`eB`2S(wWng_~>cq?AYSL4YI zN|T|F*p@Lf_R_zdxxE#t157-U9uNSA9&IO0Q+>eVmZ*(+rIBo&jn^mIa${ro+N3z& z0nr2GI_#?IST&F4k6!q1Vhk`1pHxyqmfljYkhNqRQ^=nLBp&x&w$TUyG5F~nZP^BD zXxXrbGrcV!DMqOPS`&F$q8_jHY^ z7m-d~NuHop^OC24({i1<43J*(i2AN0D$w?Mw{Jp3!m}@c5A3DH;I1qxYL0hoq;eOr zS~p9>0b2sZ^P9bW=L@a>>%gKc4SMzKtrpK>@nc&Z zmfY)+0Otp=+O5!_qIy#zjWw>{8N9bk5)=w%+F95pW`krjo*;XG=@w>!pH(O-vG?psPvoO5n(mbB{U=+H+x-7m8haA>X)R{vN zDIoC02UY) z0EnDjP@f9ec*H<^+oNU=p1Gz?HS1*CKlKtn#79=Q5uvfr@m)sc?TWo(ZdT;Ud0`#0 zy7!Ari`!0W#NW?P9{p=EBEWxg=u*XJ`L0-Y0pM#=dfiaIU^|E};n|J8%>NcLBlJh9 z@6_S6CH<{6Lo!BTz_?in>^LIZD}g;n2pF|E^=X#QU&1&a2sC7OlfhgLTV&mzFynAo z=mM9;4&Bjwf5epk>AIW^6NUPSe0gj-&>1?TTF^oZbWtvopPaB!6UAAdaYqJ$hzbu+TT&;bVtA#1yEWbFr9U&PssBrt?71 zxI8!lp-Z>k5ds4BA6pcc-;vV&+(Vx(R{Q4qfm1E-Zp8F=W2obsEH_D0DU>O0^oL?e zpvt@4b4}SHoc;cs2K*Mo+}+y|>q@}~Lcqj_LR|!D?v@}6%Ti2)K{={XLP-miA1Pf) zQmou{Cd_%Re7UI_&gZ#7;klQqte4+NNzXL5#Kf+>5LPJTIu>OQmsKbXlr--P%qns~ z-xHrxOPV>;ZP^tnQVQxdaNS(-1ObqF-puPW;#mhaGI9ArVl5P<+cZ@uYhR&yhoIO@ zYG;O;X47rih+p;i%6-SVXQzEbiU=Isdx-V(kz$J@ep1}b9KAH8WgZS1r5&8!V{TMPIFyn!OhD*{( zNUkml$vjc*gbY*B?p3~m;-}-%@Uh%uZLbrw#qd>Jft|PgubilkdR>T8OtMtQDV^d; zIyg&&9kXyApA5H0v90;;jj^>^if4Z2AawI@FN=c|b!5Is)gtF5e1qQu`y#%7W9)k0 zFI8+kfQs4?7F!?D&*2=@N4=J%F#pl#Py2#N1V^y5P`Uk?=hCK&^-6JHh5Q7I{wG6) z3klJ2r#lUlFG=b<_%8+l)LH#&Br5Aury%$CHaY^J4fMmng)6_BT#yK|A_L}ppx5RH z!@G6TNrOvn1oojsDW3cQS{PBPEsaEx{a#mV6|$$np33sW*Ha>kT+m~1;{rMkoEV)j z_jTi`ZnKe>G{#@oLIkh3*)sGtek|U{s0XNsqGFI{raXA;9wN zs^#qN*%Zo#Un)L)(EkrC$%++curh`pFey%{g8#b<2y|;?q{z!2MK5^I%I5Voi4<Z5(Gr@}*MWPLF?1m_Oax?a85%@U6MM*t)%m%5^D3 zxnTsT(Lk}!{uundJb8t619`@u^HU)#yMKP9V_QILAi&y+urILLQjT87;C`kWXw3)G zjBGQN1^#jYnGN;orvO@GAx1l5hS_uLzUKQM7h|v zAoh;0ZI6*E>C^6+;`4CLO6*X`zZ{}xZ+}>mUYFUsPxkhhlqp&kn;6^ZQpD?HZ;W-0 zEc7FZDi4jEm3zCr;P^2^s`&gKv!ovuBwyKG@_P3bBBa{#A7Squ^d<(fu$NWP?%)kL z2?5oNMa*BnXLiw9_(47rVDWX7Y8{X-$K(mX(fL}>Q(PN0n^p4VeIz$d!G)Th3P#Cp z1m(>aHxt`}imfOmMd^-c93PAVcG5Pgxs53(J#h6z@xq|2=h6%lk!>UrPRiHS*&)=q2}n_s!^L@68V-oo));1q1n-!qCHT{ajy<=7N7 z1Go^8d*cz32%R0=-eRW5Gcyel3@VtZ^urUMY*P(8#|6^ki8t+ILdIzAaG;|#TaRrx}`^^wNvuth+D z$(U{Hx>ERXvz5g!0E)6CfA* zIH)^>^BOF58-nmrc(%k^FRN zp~A)a8yc{S%Wk>hITOzs4LF}tMiv_?_=>Rky+yxGr&ar3vLqyz-*`)c{fN#Q;@A4d z4+U8A=Eis94*prh!iLmPWH(4+mPd;r+fz|{Q9~lXI&#`?QHw*v1&<3>rLFAwZ+8o> zh>k@PsMbANx***nyoE>gOLv@(sIm(^f zUo*})A@HVvwCH@D*rxJHFZqtx7r}KOgAZWO9%gPLvp#~-Hmp({ZXa~>4qbJ_}Q-1}z_h`@J zf-b#|cb@{qkA(7&jaDIOXr@?sFK?Jpz8^|JVEd_g#ij=%{(F zQSwo)GJjut%N^3)(Zr?9g#02_-~O{i{g1~pi^Km^wj@>+Hzp^q z{=c92PkjFla0_5Wsfh|O$k);THm^DR`%m8j3EEE*lZx8^qrv~x`Y0tRvZR>l@OXRp z_oSa;*5v>83prM3fdw_gzoqhjwBs|(AoY7R>7k>3$)ln*sWb*av$mxk6iTjV1bnC&)T_O+IAPDGF zdaxfaxYu9S*+Z_`1CCW10&1z`g=Vvfy;)2~cJ)@FPjwJDyFjcM#VAXA2+*bjVk$u~*6v;h|gzoqkO z`;qsZk0^bbv@|@f zT(KU1av;c&ywAeMi9frbmLtizaUd0`_Ew@1IV;qLoQf-|uXdS@VsgltkMK5Lvy1@U zaot~sz}m9aFO0VmI}Jl3tFaMCT!|x7+RT!p=>j7la+Yhyc|tS6G`|t~KCIoGdT|*&t!Zsyow3Bufu?zio~*{#&R(H4oXAz9!)Cg1`$|^ z&=QF+2NZ@OyTBFDN8929SyC)F?5p&l8}@Q7E}3G0<|z$r)6{HS{uVn`P)Qs}i$9xA z!TX;d9@5r6{nLCDIq#VuC(oxM^YXyKjbulvx%krge6gZJ!;RkZSpBGOJbm z#0&O##hSq=0ZXlIF28SWAx@oduq+Th39t z4kR*oNuI=!x}SIl1oE&=re`fToQ2cJQE}KfoBSQi-36$QiGM6A1%ynU(b@?ICQ5Lq z$N8c@ND8XR^t(b5Wg~wRWn?R{*Loh!x@sc4HN`b4C0dm9#barLtsQ$ec2A&Fj>cf>wA8d(7zTq>X0VN1p}BT7ew zXV6*M$IM3CdNBQyM1XS)s;T8r7u|kJ73}SgmtxG{HtV8u`Eo`>06!j!SEV;5A8uhq z@QE+Eb9mVSb8Ddt#br`(u4~{17cQxOWBOSUk0%-j|Fy34hkI>A_^N~!VtO@$HM~<%!cHz zulwFjP%siJ|2VO=*>1Ii`o{D;b6nyOT~{Npi;lR^|Jw>KT9%;5IkI3`Ey?veI8p!x z1PwtD4=E`d9dyTUaHyh!2FZ0-%mB6b0-)*%B*V7Vk6Pqvgg&am8JQ%)l8d_x`n5!i{Ro<46bVDNbgP3 zvKzVw&d2K?uNX!UUgo(M0Dev_DMy^%T)Vh!(_oL~ndc+egr@@n1hr0`f4&YI`R>$} zz6`%^%f;~GB45foFPKpNS}UVq<56oH?M*WNoe#v>!4&J+vkY)QO3lA><3j1^#CqeO zxr{aWPYiV~bLdfV=b82{MFl=hFeodMTec-h+Eki<`LH~#+MMmH z=zKQv<@@euZJ427f|yK>8w_7Gb5eVPYH(j>5%`dIMsriAEbeN0gND4_#(0vlQLM=1dFc~qK zQe0nie*U7Qt#mI2c*CmgMIJhD5opE|7D>I$CNLzu=>%cBZ+KHC&wVsFc;gPsA7oJF z>{qJePl_05UE;ydn{#K6t$9L8Z!=|-!@(1#Rx9D|%tfR(TMP}!@M&mZ4xCSi1c}pF za`oliymTj_ql2gB=|?Iljbhffx$70R6Y*q~^VXO7+wm;BJilL^iI^BI8 zz?t>h_Q$|FtQ?DN47=7@#vvTuALmxJODpG{pff39_}N=%j|D5mZ`h{P2V#&?-B1Va ziwF;*H3mOowKs6vfG+861!X7146R|bNU9IzC(IwzO8p;O2&uVePAy3`nD^=bEdbwP zLhB4#e~II{ilKh{k{ke|A43Yhl80jJ=_~RZq#~Lo!N*7vx}I#>Di$!XruhPTbNH!c zY_=)!ateuG)wzVA0jB0hwmmcw3&fb|O;^pC{HOVH4Tz$83yZ$et|=Ism%3*w+z}&y za;fQ)Oy3P^Ngo z9-6x>(x1>Mq>`KNI==>1I>n22vc)7+_{O*|Sp-0( zw~fI#{U{iku(4OTze0hd=$mS)0=LHXGZi~i(u{E%duQ1*pP}KfM^|J8adbp~Ak8za zfSVh7I`u`jnY!GE&$er_^f~HbGccg^zZCdDvX>~xpX9fLy#azs67cMz1ANxuFQFNFvk)xs8_KkSMyXc`cLCG18k6}J0g!p z=qIO(z~hghzuAV~1=`aAg|Us!Ep~) z&}^pkfClF9`E+*rs7;Z%tQLCh8z_r;c9M97`PT1BZ~%2=7zyQiitOJWB&aQAKVKuC zfAC0WOKEerlO+&t^3M^+o&be<2U|jGq1`zJvC>C5<+u zZhB?cLN8bm3!zq}i8C&bTOP&uE;mMSD^ll9XwnibggG6f$pjP@S;bCSC_cOTBG36T zkJU?QEDkJG8_3-`w9|ry*zx|XPlq&|;lnmP0ULzwVe&<6V05#`qMOKiNgg$p+QGq~ zIMf}3lO4+qHGG!%78{~(yV{atB?qmCs$a)@Tsh_w)ICzg(CC(c(3=8}Ufb2+o|snP z*#;!ys`9IrI(5&6*z`hEVybY%s^*dD=-!Z{1EHmu;OTYSRQ^nFpdQRKIg-eE6~Ldi zj!3Df*>=$9&hZu}jvd!fTv(eB8!?Ef< z`HgC@e&PY7xT50>Ss7bg@H0U!8EmTz+`Dbk0u@L$P6kMhY&gpbY7cBY>+3R(P@QLV zAP3_t`