From ab5bb66c8f2d26ea9c24e06fc8de5b50a0092a99 Mon Sep 17 00:00:00 2001 From: abog854 <82101619+abog854@users.noreply.github.com> Date: Thu, 14 Mar 2024 03:59:50 +0100 Subject: [PATCH] Add feeding method history (#774) * add feeding method history * Make it a specialized breastfeeding card instead. * Minor improvements: - don't print days for an empty card. - make the width of the bar for each day proportional to that day's total feeding time. * Don't make bar width proportional to feeding time, actually, it's kinda ugly. --------- Co-authored-by: ag Co-authored-by: Christopher C. Wells --- dashboard/static_src/scss/cards.scss | 4 + dashboard/templates/cards/breastfeeding.html | 36 +++++++++ dashboard/templates/dashboard/child.html | 1 + dashboard/templatetags/cards.py | 74 +++++++++++++++++- ....23e5e36822aa.css => app.8ad40502e08e.css} | 4 + ...36822aa.css.gz => app.8ad40502e08e.css.gz} | Bin 35288 -> 35297 bytes static/babybuddy/css/app.css | 4 + static/babybuddy/css/app.css.gz | Bin 35234 -> 35242 bytes static/staticfiles.json | 2 +- 9 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 dashboard/templates/cards/breastfeeding.html rename static/babybuddy/css/{app.23e5e36822aa.css => app.8ad40502e08e.css} (99%) rename static/babybuddy/css/{app.23e5e36822aa.css.gz => app.8ad40502e08e.css.gz} (86%) diff --git a/dashboard/static_src/scss/cards.scss b/dashboard/static_src/scss/cards.scss index 23381917..323e86ec 100644 --- a/dashboard/static_src/scss/cards.scss +++ b/dashboard/static_src/scss/cards.scss @@ -73,6 +73,10 @@ font-size: 2em; } } + + .progress { + height: $progress-height * 2; + } } .card-sleep { diff --git a/dashboard/templates/cards/breastfeeding.html b/dashboard/templates/cards/breastfeeding.html new file mode 100644 index 00000000..678cb3b4 --- /dev/null +++ b/dashboard/templates/cards/breastfeeding.html @@ -0,0 +1,36 @@ +{% extends 'cards/base.html' %} +{% load duration i18n %} +{% block header %} + {% trans "Breastfeeding" %} +{% endblock %} +{% block title %} + {% if total == 0 %} + {% trans "None" %} + {% else %} + {% trans "Past Week" %} + {% endif %} +{% endblock %} +{% block content %} + {% for key, info in stats.items %} + {% if info.left_count > 0 or info.right_count > 0 %} +
+
{{ info.left_count }} {% trans "left" %}
+
{{ info.right_count }} {% trans "right" %}
+
+
+ {% if key == 0 %} + {% trans "today" %} + {% elif key == 1 %} + {% trans "yesterday" %} + {% else %} + {% blocktrans with days_ago=key %}{{ days_ago }} days ago{% endblocktrans %} + {% endif %} + {% if info.count > 0 %} + ({{ info.count }} {% trans "feedings in" %} {{ info.duration|duration_string:'m' }}) + {% endif %} +
+ {% endif %} + {% endfor %} +{% endblock %} diff --git a/dashboard/templates/dashboard/child.html b/dashboard/templates/dashboard/child.html index 81101d36..945e87b3 100644 --- a/dashboard/templates/dashboard/child.html +++ b/dashboard/templates/dashboard/child.html @@ -26,6 +26,7 @@
{% card_sleep_naps_day object %}
{% card_tummytime_day object %}
{% card_diaperchange_types object %}
+
{% card_breastfeeding object %}
{% endblock %} {% block javascript %} diff --git a/dashboard/templatetags/cards.py b/dashboard/templatetags/cards.py index 0d98d28b..0f490571 100644 --- a/dashboard/templatetags/cards.py +++ b/dashboard/templatetags/cards.py @@ -5,7 +5,8 @@ from django.db.models.functions import TruncDate from django.utils import timezone from django.utils.translation import gettext as _ -from datetime import date, datetime, time +from datetime import date, datetime, time, timedelta +import collections from core import models @@ -107,6 +108,77 @@ def card_diaperchange_types(context, child, date=None): } +@register.inclusion_tag("cards/breastfeeding.html", takes_context=True) +def card_breastfeeding(context, child, date=None): + """ + Creates a break down of breasts used for breastfeeding, for the past + seven days. + :param child: an instance of the Child model. + :param date: a Date object for the day to filter. + :returns: a dictionary with the statistics. + """ + if date: + time = timezone.datetime.combine(date, timezone.localtime().min.time()) + time = timezone.make_aware(time) + else: + time = timezone.localtime() + + max_date = (time + timezone.timedelta(days=1)).replace(hour=0, minute=0, second=0) + min_date = (max_date - timezone.timedelta(days=7)).replace( + hour=0, minute=0, second=0 + ) + + instances = ( + models.Feeding.objects.filter(child=child) + .filter(start__gt=min_date) + .filter(start__lt=max_date) + .filter(method__in=("left breast", "right breast", "both breasts")) + .order_by("-start") + ) + + empty = len(instances) == 0 + + # Create a `stats` dictionary, keyed by day for the past 7 days. + stats = {} + for x in range(7): + stats[x] = {} + + # Group feedings per day. + per_day = collections.defaultdict(list) + for instance in instances: + key = (max_date - instance.start).days + per_day[key].append(instance) + + # Go through each day, set the stats dictionary for that day. + for key, day_instances in per_day.items(): + left_count = 0 + right_count = 0 + for instance in day_instances: + if instance.method in ("left breast", "both breasts"): + left_count += 1 + if instance.method in ("right breast", "both breasts"): + right_count += 1 + + stats[key] = { + "count": len(day_instances), + "duration": sum( + (instance.duration for instance in day_instances), start=timedelta() + ), + "left_count": left_count, + "right_count": right_count, + "left_pct": 100 * left_count // (left_count + right_count), + "right_pct": 100 * right_count // (left_count + right_count), + } + + return { + "type": "feeding", + "stats": stats, + "total": len(instances), + "empty": empty, + "hide_empty": _hide_empty(context), + } + + @register.inclusion_tag("cards/feeding_recent.html", takes_context=True) def card_feeding_recent(context, child, end_date=None): """ diff --git a/static/babybuddy/css/app.23e5e36822aa.css b/static/babybuddy/css/app.8ad40502e08e.css similarity index 99% rename from static/babybuddy/css/app.23e5e36822aa.css rename to static/babybuddy/css/app.8ad40502e08e.css index 5a00536d..f0050f2b 100644 --- a/static/babybuddy/css/app.23e5e36822aa.css +++ b/static/babybuddy/css/app.8ad40502e08e.css @@ -12145,6 +12145,10 @@ textarea.form-control-lg { .card-pumping .card-body .last-feeding-method { font-size: 2em; } +.card-feeding .progress, +.card-pumping .progress { + height: 2rem; +} .card-sleep { border-color: #ff8f00; diff --git a/static/babybuddy/css/app.23e5e36822aa.css.gz b/static/babybuddy/css/app.8ad40502e08e.css.gz similarity index 86% rename from static/babybuddy/css/app.23e5e36822aa.css.gz rename to static/babybuddy/css/app.8ad40502e08e.css.gz index bf3c2f9ce9ddd85ab7ae3f401bedef6198bd1b93..14cbfdf06888c8199de7d7684f32d2b4eeb2fd9b 100644 GIT binary patch delta 4786 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 diff --git a/static/staticfiles.json b/static/staticfiles.json index 0da08b0c..83c0d8cc 100644 --- a/static/staticfiles.json +++ b/static/staticfiles.json @@ -1 +1 @@ -{"paths": {"admin/js/vendor/select2/i18n/pt.js": "admin/js/vendor/select2/i18n/pt.33b4a3b44d43.js", "admin/js/vendor/select2/i18n/hsb.js": "admin/js/vendor/select2/i18n/hsb.fa3b55265efe.js", "admin/js/vendor/select2/i18n/vi.js": "admin/js/vendor/select2/i18n/vi.097a5b75b3e1.js", "admin/js/vendor/select2/i18n/lv.js": "admin/js/vendor/select2/i18n/lv.08e62128eac1.js", "admin/js/vendor/select2/i18n/gl.js": "admin/js/vendor/select2/i18n/gl.d99b1fedaa86.js", "admin/js/vendor/select2/i18n/pl.js": "admin/js/vendor/select2/i18n/pl.6031b4f16452.js", "admin/js/vendor/select2/i18n/el.js": "admin/js/vendor/select2/i18n/el.27097f071856.js", "admin/js/vendor/select2/i18n/dsb.js": "admin/js/vendor/select2/i18n/dsb.56372c92d2f1.js", "admin/js/vendor/select2/i18n/et.js": "admin/js/vendor/select2/i18n/et.2b96fd98289d.js", "admin/js/vendor/select2/i18n/is.js": "admin/js/vendor/select2/i18n/is.3ddd9a6a97e9.js", "admin/js/vendor/select2/i18n/sl.js": "admin/js/vendor/select2/i18n/sl.131a78bc0752.js", "admin/js/vendor/select2/i18n/ko.js": "admin/js/vendor/select2/i18n/ko.e7be6c20e673.js", "admin/js/vendor/select2/i18n/hr.js": "admin/js/vendor/select2/i18n/hr.a2b092cc1147.js", "admin/js/vendor/select2/i18n/ms.js": "admin/js/vendor/select2/i18n/ms.4ba82c9a51ce.js", "admin/js/vendor/select2/i18n/fi.js": "admin/js/vendor/select2/i18n/fi.614ec42aa9ba.js", "admin/js/vendor/select2/i18n/th.js": "admin/js/vendor/select2/i18n/th.f38c20b0221b.js", "admin/js/vendor/select2/i18n/ru.js": "admin/js/vendor/select2/i18n/ru.934aa95f5b5f.js", "admin/js/vendor/select2/i18n/eu.js": "admin/js/vendor/select2/i18n/eu.adfe5c97b72c.js", "admin/js/vendor/select2/i18n/mk.js": "admin/js/vendor/select2/i18n/mk.dabbb9087130.js", "admin/js/vendor/select2/i18n/sq.js": "admin/js/vendor/select2/i18n/sq.5636b60d29c9.js", "admin/js/vendor/select2/i18n/ja.js": "admin/js/vendor/select2/i18n/ja.170ae885d74f.js", "admin/js/vendor/select2/i18n/ka.js": "admin/js/vendor/select2/i18n/ka.2083264a54f0.js", "admin/js/vendor/select2/i18n/he.js": "admin/js/vendor/select2/i18n/he.e420ff6cd3ed.js", "admin/js/vendor/select2/i18n/bg.js": "admin/js/vendor/select2/i18n/bg.39b8be30d4f0.js", "admin/js/vendor/select2/i18n/hy.js": "admin/js/vendor/select2/i18n/hy.c7babaeef5a6.js", "admin/js/vendor/select2/i18n/sr-Cyrl.js": "admin/js/vendor/select2/i18n/sr-Cyrl.f254bb8c4c7c.js", "admin/js/vendor/select2/i18n/ne.js": "admin/js/vendor/select2/i18n/ne.3d79fd3f08db.js", "admin/js/vendor/select2/i18n/af.js": "admin/js/vendor/select2/i18n/af.4f6fcd73488c.js", "admin/js/vendor/select2/i18n/id.js": "admin/js/vendor/select2/i18n/id.04debded514d.js", "admin/js/vendor/select2/i18n/az.js": "admin/js/vendor/select2/i18n/az.270c257daf81.js", "admin/js/vendor/select2/i18n/ca.js": "admin/js/vendor/select2/i18n/ca.a166b745933a.js", "admin/js/vendor/select2/i18n/nb.js": "admin/js/vendor/select2/i18n/nb.da2fce143f27.js", "admin/js/vendor/select2/i18n/zh-CN.js": "admin/js/vendor/select2/i18n/zh-CN.2cff662ec5f9.js", "admin/js/vendor/select2/i18n/zh-TW.js": "admin/js/vendor/select2/i18n/zh-TW.04554a227c2b.js", "admin/js/vendor/select2/i18n/pt-BR.js": "admin/js/vendor/select2/i18n/pt-BR.e1b294433e7f.js", "admin/js/vendor/select2/i18n/da.js": "admin/js/vendor/select2/i18n/da.766346afe4dd.js", "admin/js/vendor/select2/i18n/fa.js": "admin/js/vendor/select2/i18n/fa.3b5bd1961cfd.js", "admin/js/vendor/select2/i18n/de.js": "admin/js/vendor/select2/i18n/de.8a1c222b0204.js", "admin/js/vendor/select2/i18n/en.js": "admin/js/vendor/select2/i18n/en.cf932ba09a98.js", "admin/js/vendor/select2/i18n/bs.js": "admin/js/vendor/select2/i18n/bs.91624382358e.js", "admin/js/vendor/select2/i18n/tk.js": "admin/js/vendor/select2/i18n/tk.7c572a68c78f.js", "admin/js/vendor/select2/i18n/sv.js": "admin/js/vendor/select2/i18n/sv.7a9c2f71e777.js", "admin/js/vendor/select2/i18n/hi.js": "admin/js/vendor/select2/i18n/hi.70640d41628f.js", "admin/js/vendor/select2/i18n/uk.js": "admin/js/vendor/select2/i18n/uk.8cede7f4803c.js", "admin/js/vendor/select2/i18n/cs.js": "admin/js/vendor/select2/i18n/cs.4f43e8e7d33a.js", "admin/js/vendor/select2/i18n/km.js": "admin/js/vendor/select2/i18n/km.c23089cb06ca.js", "admin/js/vendor/select2/i18n/fr.js": "admin/js/vendor/select2/i18n/fr.05e0542fcfe6.js", "admin/js/vendor/select2/i18n/nl.js": "admin/js/vendor/select2/i18n/nl.997868a37ed8.js", "admin/js/vendor/select2/i18n/sr.js": "admin/js/vendor/select2/i18n/sr.5ed85a48f483.js", "admin/js/vendor/select2/i18n/hu.js": "admin/js/vendor/select2/i18n/hu.6ec6039cb8a3.js", "admin/js/vendor/select2/i18n/lt.js": "admin/js/vendor/select2/i18n/lt.23c7ce903300.js", "admin/js/vendor/select2/i18n/ar.js": "admin/js/vendor/select2/i18n/ar.65aa8e36bf5d.js", "admin/js/vendor/select2/i18n/sk.js": "admin/js/vendor/select2/i18n/sk.33d02cef8d11.js", "admin/js/vendor/select2/i18n/it.js": "admin/js/vendor/select2/i18n/it.be4fe8d365b5.js", "admin/js/vendor/select2/i18n/es.js": "admin/js/vendor/select2/i18n/es.66dbc2652fb1.js", "admin/js/vendor/select2/i18n/bn.js": "admin/js/vendor/select2/i18n/bn.6d42b4dd5665.js", "admin/js/vendor/select2/i18n/ro.js": "admin/js/vendor/select2/i18n/ro.f75cb460ec3b.js", "admin/js/vendor/select2/i18n/ps.js": "admin/js/vendor/select2/i18n/ps.38dfa47af9e0.js", "admin/js/vendor/select2/i18n/tr.js": "admin/js/vendor/select2/i18n/tr.b5a0643d1545.js", "admin/css/vendor/select2/select2.min.css": "admin/css/vendor/select2/select2.min.9f54e6414f87.css", "admin/css/vendor/select2/LICENSE-SELECT2.md": "admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md", "admin/css/vendor/select2/select2.css": "admin/css/vendor/select2/select2.a2194c262648.css", "admin/js/vendor/jquery/jquery.min.js": "admin/js/vendor/jquery/jquery.min.2c872dbe60f4.js", "admin/js/vendor/jquery/LICENSE.txt": "admin/js/vendor/jquery/LICENSE.de877aa6d744.txt", "admin/js/vendor/jquery/jquery.js": "admin/js/vendor/jquery/jquery.12e87d2f3a4c.js", "admin/js/vendor/xregexp/xregexp.min.js": "admin/js/vendor/xregexp/xregexp.min.f1ae4617847c.js", "admin/js/vendor/xregexp/xregexp.js": "admin/js/vendor/xregexp/xregexp.a7e08b0ce686.js", "admin/js/vendor/xregexp/LICENSE.txt": "admin/js/vendor/xregexp/LICENSE.b6fd2ceea8d3.txt", "admin/js/vendor/select2/LICENSE.md": "admin/js/vendor/select2/LICENSE.f94142512c91.md", "admin/js/vendor/select2/select2.full.min.js": "admin/js/vendor/select2/select2.full.min.fcd7500d8e13.js", "admin/js/vendor/select2/select2.full.js": "admin/js/vendor/select2/select2.full.c2afdeda3058.js", "babybuddy/img/core/child-placeholder.png": "babybuddy/img/core/child-placeholder.7c0a81f0d7f0.png", "rest_framework/docs/css/highlight.css": "rest_framework/docs/css/highlight.e0e4d973c6d7.css", "rest_framework/docs/css/base.css": "rest_framework/docs/css/base.e630f8f4990e.css", "rest_framework/docs/css/jquery.json-view.min.css": "rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css", "rest_framework/docs/js/highlight.pack.js": "rest_framework/docs/js/highlight.pack.479b5f21dcba.js", "rest_framework/docs/js/api.js": "rest_framework/docs/js/api.18a5ba8a1bd8.js", "rest_framework/docs/js/jquery.json-view.min.js": "rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js", "rest_framework/docs/img/favicon.ico": "rest_framework/docs/img/favicon.5195b4d0f3eb.ico", "rest_framework/docs/img/grid.png": "rest_framework/docs/img/grid.a4b938cf382b.png", "admin/js/admin/RelatedObjectLookups.js": "admin/js/admin/RelatedObjectLookups.ef211845e458.js", "admin/js/admin/DateTimeShortcuts.js": "admin/js/admin/DateTimeShortcuts.9f6e209cebca.js", "admin/img/gis/move_vertex_on.svg": "admin/img/gis/move_vertex_on.0047eba25b67.svg", "admin/img/gis/move_vertex_off.svg": "admin/img/gis/move_vertex_off.7a23bf31ef8a.svg", "babybuddy/css/app.css": "babybuddy/css/app.23e5e36822aa.css", "babybuddy/js/graph.js": "babybuddy/js/graph.66b7e81f642e.js", "babybuddy/js/vendor.js": "babybuddy/js/vendor.c796c6355a2c.js", "babybuddy/js/tags_editor.js": "babybuddy/js/tags_editor.cf5018f5a70a.js", "babybuddy/js/app.js": "babybuddy/js/app.0e79b2a38e49.js", "babybuddy/logo/icon.png": "babybuddy/logo/icon.df80640f0465.png", "babybuddy/logo/icon-brand.png": "babybuddy/logo/icon-brand.32cbedf6aee3.png", "babybuddy/logo/logo-sad.png": "babybuddy/logo/logo-sad.47c3d5c2d397.png", "babybuddy/logo/logo.png": "babybuddy/logo/logo.62870041cc83.png", "babybuddy/root/safari-pinned-tab.svg": "babybuddy/root/safari-pinned-tab.e8c8ac2f55f5.svg", "babybuddy/root/favicon.ico": "babybuddy/root/favicon.ee5ebcd40fb9.ico", "babybuddy/root/android-chrome-192x192.png": "babybuddy/root/android-chrome-192x192.ac7d2baba4df.png", "babybuddy/root/apple-touch-icon.png": "babybuddy/root/apple-touch-icon.bdc75cec89fa.png", "babybuddy/root/android-chrome-512x512.png": "babybuddy/root/android-chrome-512x512.e1fd38ad828c.png", "babybuddy/root/site.webmanifest": "babybuddy/root/site.2a6ae1d670dc.webmanifest", "babybuddy/root/mstile-150x150.png": "babybuddy/root/mstile-150x150.08524a406cf2.png", "babybuddy/root/browserconfig.xml": "babybuddy/root/browserconfig.84708aade0e5.xml", "babybuddy/root/apple-touch-startup-image.png": "babybuddy/root/apple-touch-startup-image.749726217484.png", "babybuddy/root/favicon.svg": "babybuddy/root/favicon.12fe726d0bac.svg", "babybuddy/font/babybuddy.svg": "babybuddy/font/babybuddy.ef799e0dd5c7.svg", "babybuddy/font/babybuddy.woff": "babybuddy/font/babybuddy.1913791605fb.woff", "babybuddy/font/babybuddy.woff2": "babybuddy/font/babybuddy.998e9bc52faf.woff2", "babybuddy/font/babybuddy.ttf": "babybuddy/font/babybuddy.b6a356bd9752.ttf", "babybuddy/font/babybuddy.eot": "babybuddy/font/babybuddy.ae7049e685dd.eot", "rest_framework/css/bootstrap.min.css": "rest_framework/css/bootstrap.min.f17d4516b026.css", "rest_framework/css/bootstrap.min.css.map": "rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map", "rest_framework/css/bootstrap-theme.min.css.map": "rest_framework/css/bootstrap-theme.min.css.51806092cc05.map", "rest_framework/css/prettify.css": "rest_framework/css/prettify.a987f72342ee.css", "rest_framework/css/default.css": "rest_framework/css/default.789dfb5732d7.css", "rest_framework/css/font-awesome-4.0.3.css": "rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css", "rest_framework/css/bootstrap-tweaks.css": "rest_framework/css/bootstrap-tweaks.46ed116b0edd.css", "rest_framework/css/bootstrap-theme.min.css": "rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css", "rest_framework/js/ajax-form.js": "rest_framework/js/ajax-form.0ea6e6052ab5.js", "rest_framework/js/prettify-min.js": "rest_framework/js/prettify-min.709bfcc456c6.js", "rest_framework/js/csrf.js": "rest_framework/js/csrf.969930007329.js", "rest_framework/js/jquery-3.5.1.min.js": "rest_framework/js/jquery-3.5.1.min.dc5e7f18c8d3.js", "rest_framework/js/bootstrap.min.js": "rest_framework/js/bootstrap.min.2f34b630ffe3.js", "rest_framework/js/default.js": "rest_framework/js/default.5b08897dbdc3.js", "rest_framework/js/coreapi-0.1.1.js": "rest_framework/js/coreapi-0.1.1.8851fb9336c9.js", "rest_framework/img/grid.png": "rest_framework/img/grid.a4b938cf382b.png", "rest_framework/img/glyphicons-halflings.png": "rest_framework/img/glyphicons-halflings.90233c9067e9.png", "rest_framework/img/glyphicons-halflings-white.png": "rest_framework/img/glyphicons-halflings-white.9bbc6e960299.png", "rest_framework/fonts/fontawesome-webfont.svg": "rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg", "rest_framework/fonts/glyphicons-halflings-regular.woff": "rest_framework/fonts/glyphicons-halflings-regular.fa2772327f55.woff", "rest_framework/fonts/glyphicons-halflings-regular.eot": "rest_framework/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot", "rest_framework/fonts/glyphicons-halflings-regular.woff2": "rest_framework/fonts/glyphicons-halflings-regular.448c34a56d69.woff2", "rest_framework/fonts/glyphicons-halflings-regular.ttf": "rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf", "rest_framework/fonts/fontawesome-webfont.ttf": "rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf", "rest_framework/fonts/fontawesome-webfont.woff": "rest_framework/fonts/fontawesome-webfont.3293616ec0c6.woff", "rest_framework/fonts/glyphicons-halflings-regular.svg": "rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg", "rest_framework/fonts/fontawesome-webfont.eot": "rest_framework/fonts/fontawesome-webfont.8b27bc96115c.eot", "admin/css/widgets.css": "admin/css/widgets.8a70ea6d8850.css", "admin/css/dark_mode.css": "admin/css/dark_mode.e18e9a052429.css", "admin/css/login.css": "admin/css/login.586129c60a93.css", "admin/css/dashboard.css": "admin/css/dashboard.e90f2068217b.css", "admin/css/nav_sidebar.css": "admin/css/nav_sidebar.dd925738f4cc.css", "admin/css/responsive.css": "admin/css/responsive.eafb93ff084c.css", "admin/css/autocomplete.css": "admin/css/autocomplete.4a81fc4242d0.css", "admin/css/responsive_rtl.css": "admin/css/responsive_rtl.7d1130848605.css", "admin/css/forms.css": "admin/css/forms.b29a0c8c9155.css", "admin/css/rtl.css": "admin/css/rtl.aa92d763340b.css", "admin/css/base.css": "admin/css/base.9f65b5cd54b3.css", "admin/css/changelists.css": "admin/css/changelists.47cb433b29d4.css", "admin/js/urlify.js": "admin/js/urlify.ae970a820212.js", "admin/js/core.js": "admin/js/core.7e257fdf56dc.js", "admin/js/collapse.js": "admin/js/collapse.f84e7410290f.js", "admin/js/actions.js": "admin/js/actions.867b023a736d.js", "admin/js/prepopulate.js": "admin/js/prepopulate.bd2361dfd64d.js", "admin/js/cancel.js": "admin/js/cancel.ecc4c5ca7b32.js", "admin/js/theme.js": "admin/js/theme.ab270f56bb9c.js", "admin/js/nav_sidebar.js": "admin/js/nav_sidebar.3b9190d420b1.js", "admin/js/autocomplete.js": "admin/js/autocomplete.01591ab27be7.js", "admin/js/inlines.js": "admin/js/inlines.22d4d93c00b4.js", "admin/js/change_form.js": "admin/js/change_form.9d8ca4f96b75.js", "admin/js/filters.js": "admin/js/filters.0e360b7a9f80.js", "admin/js/SelectFilter2.js": "admin/js/SelectFilter2.b8cf7343ff9e.js", "admin/js/jquery.init.js": "admin/js/jquery.init.b7781a0897fc.js", "admin/js/popup_response.js": "admin/js/popup_response.c6cc78ea5551.js", "admin/js/SelectBox.js": "admin/js/SelectBox.7d3ce5a98007.js", "admin/js/calendar.js": "admin/js/calendar.d64496bbf46d.js", "admin/js/prepopulate_init.js": "admin/js/prepopulate_init.6cac7f3105b8.js", "admin/img/search.svg": "admin/img/search.7cf54ff789c6.svg", "admin/img/icon-calendar.svg": "admin/img/icon-calendar.ac7aea671bea.svg", "admin/img/icon-clock.svg": "admin/img/icon-clock.e1d4dfac3f2b.svg", "admin/img/icon-hidelink.svg": "admin/img/icon-hidelink.8d245a995e18.svg", "admin/img/icon-no.svg": "admin/img/icon-no.439e821418cd.svg", "admin/img/tooltag-add.svg": "admin/img/tooltag-add.e59d620a9742.svg", "admin/img/inline-delete.svg": "admin/img/inline-delete.fec1b761f254.svg", "admin/img/LICENSE": "admin/img/LICENSE.2c54f4e1ca1c", "admin/img/icon-changelink.svg": "admin/img/icon-changelink.18d2fd706348.svg", "admin/img/icon-unknown.svg": "admin/img/icon-unknown.a18cb4398978.svg", "admin/img/sorting-icons.svg": "admin/img/sorting-icons.3a097b59f104.svg", "admin/img/icon-viewlink.svg": "admin/img/icon-viewlink.41eb31f7826e.svg", "admin/img/icon-yes.svg": "admin/img/icon-yes.d2f9f035226a.svg", "admin/img/icon-addlink.svg": "admin/img/icon-addlink.d519b3bab011.svg", "admin/img/icon-unknown-alt.svg": "admin/img/icon-unknown-alt.81536e128bb6.svg", "admin/img/icon-deletelink.svg": "admin/img/icon-deletelink.564ef9dc3854.svg", "admin/img/README.txt": "admin/img/README.a70711a38d87.txt", "admin/img/selector-icons.svg": "admin/img/selector-icons.b4555096cea2.svg", "admin/img/calendar-icons.svg": "admin/img/calendar-icons.39b290681a8b.svg", "admin/img/tooltag-arrowright.svg": "admin/img/tooltag-arrowright.bbfb788a849e.svg", "admin/img/icon-alert.svg": "admin/img/icon-alert.034cc7d8a67f.svg", "import_export/guess_format.js": "import_export/guess_format.1e929842623e.js", "import_export/import.css": "import_export/import.f3b70b0d21bb.css", "import_export/action_formats.js": "import_export/action_formats.11c3e817b80a.js"}, "version": "1.1", "hash": "9dc4f5b45314"} \ No newline at end of file +{"paths": {"admin/js/vendor/select2/i18n/id.js": "admin/js/vendor/select2/i18n/id.04debded514d.js", "admin/js/vendor/select2/i18n/dsb.js": "admin/js/vendor/select2/i18n/dsb.56372c92d2f1.js", "admin/js/vendor/select2/i18n/mk.js": "admin/js/vendor/select2/i18n/mk.dabbb9087130.js", "admin/js/vendor/select2/i18n/fr.js": "admin/js/vendor/select2/i18n/fr.05e0542fcfe6.js", "admin/js/vendor/select2/i18n/fi.js": "admin/js/vendor/select2/i18n/fi.614ec42aa9ba.js", "admin/js/vendor/select2/i18n/az.js": "admin/js/vendor/select2/i18n/az.270c257daf81.js", "admin/js/vendor/select2/i18n/af.js": "admin/js/vendor/select2/i18n/af.4f6fcd73488c.js", "admin/js/vendor/select2/i18n/sv.js": "admin/js/vendor/select2/i18n/sv.7a9c2f71e777.js", "admin/js/vendor/select2/i18n/ps.js": "admin/js/vendor/select2/i18n/ps.38dfa47af9e0.js", "admin/js/vendor/select2/i18n/ja.js": "admin/js/vendor/select2/i18n/ja.170ae885d74f.js", "admin/js/vendor/select2/i18n/bn.js": "admin/js/vendor/select2/i18n/bn.6d42b4dd5665.js", "admin/js/vendor/select2/i18n/km.js": "admin/js/vendor/select2/i18n/km.c23089cb06ca.js", "admin/js/vendor/select2/i18n/gl.js": "admin/js/vendor/select2/i18n/gl.d99b1fedaa86.js", "admin/js/vendor/select2/i18n/ne.js": "admin/js/vendor/select2/i18n/ne.3d79fd3f08db.js", "admin/js/vendor/select2/i18n/hi.js": "admin/js/vendor/select2/i18n/hi.70640d41628f.js", "admin/js/vendor/select2/i18n/el.js": "admin/js/vendor/select2/i18n/el.27097f071856.js", "admin/js/vendor/select2/i18n/eu.js": "admin/js/vendor/select2/i18n/eu.adfe5c97b72c.js", "admin/js/vendor/select2/i18n/hsb.js": "admin/js/vendor/select2/i18n/hsb.fa3b55265efe.js", "admin/js/vendor/select2/i18n/sq.js": "admin/js/vendor/select2/i18n/sq.5636b60d29c9.js", "admin/js/vendor/select2/i18n/pt-BR.js": "admin/js/vendor/select2/i18n/pt-BR.e1b294433e7f.js", "admin/js/vendor/select2/i18n/tr.js": "admin/js/vendor/select2/i18n/tr.b5a0643d1545.js", "admin/js/vendor/select2/i18n/zh-CN.js": "admin/js/vendor/select2/i18n/zh-CN.2cff662ec5f9.js", "admin/js/vendor/select2/i18n/ko.js": "admin/js/vendor/select2/i18n/ko.e7be6c20e673.js", "admin/js/vendor/select2/i18n/is.js": "admin/js/vendor/select2/i18n/is.3ddd9a6a97e9.js", "admin/js/vendor/select2/i18n/hr.js": "admin/js/vendor/select2/i18n/hr.a2b092cc1147.js", "admin/js/vendor/select2/i18n/vi.js": "admin/js/vendor/select2/i18n/vi.097a5b75b3e1.js", "admin/js/vendor/select2/i18n/lt.js": "admin/js/vendor/select2/i18n/lt.23c7ce903300.js", "admin/js/vendor/select2/i18n/de.js": "admin/js/vendor/select2/i18n/de.8a1c222b0204.js", "admin/js/vendor/select2/i18n/ka.js": "admin/js/vendor/select2/i18n/ka.2083264a54f0.js", "admin/js/vendor/select2/i18n/et.js": "admin/js/vendor/select2/i18n/et.2b96fd98289d.js", "admin/js/vendor/select2/i18n/zh-TW.js": "admin/js/vendor/select2/i18n/zh-TW.04554a227c2b.js", "admin/js/vendor/select2/i18n/lv.js": "admin/js/vendor/select2/i18n/lv.08e62128eac1.js", "admin/js/vendor/select2/i18n/nb.js": "admin/js/vendor/select2/i18n/nb.da2fce143f27.js", "admin/js/vendor/select2/i18n/hy.js": "admin/js/vendor/select2/i18n/hy.c7babaeef5a6.js", "admin/js/vendor/select2/i18n/th.js": "admin/js/vendor/select2/i18n/th.f38c20b0221b.js", "admin/js/vendor/select2/i18n/ms.js": "admin/js/vendor/select2/i18n/ms.4ba82c9a51ce.js", "admin/js/vendor/select2/i18n/bs.js": "admin/js/vendor/select2/i18n/bs.91624382358e.js", "admin/js/vendor/select2/i18n/he.js": "admin/js/vendor/select2/i18n/he.e420ff6cd3ed.js", "admin/js/vendor/select2/i18n/hu.js": "admin/js/vendor/select2/i18n/hu.6ec6039cb8a3.js", "admin/js/vendor/select2/i18n/bg.js": "admin/js/vendor/select2/i18n/bg.39b8be30d4f0.js", "admin/js/vendor/select2/i18n/en.js": "admin/js/vendor/select2/i18n/en.cf932ba09a98.js", "admin/js/vendor/select2/i18n/ar.js": "admin/js/vendor/select2/i18n/ar.65aa8e36bf5d.js", "admin/js/vendor/select2/i18n/pt.js": "admin/js/vendor/select2/i18n/pt.33b4a3b44d43.js", "admin/js/vendor/select2/i18n/cs.js": "admin/js/vendor/select2/i18n/cs.4f43e8e7d33a.js", "admin/js/vendor/select2/i18n/sk.js": "admin/js/vendor/select2/i18n/sk.33d02cef8d11.js", "admin/js/vendor/select2/i18n/tk.js": "admin/js/vendor/select2/i18n/tk.7c572a68c78f.js", "admin/js/vendor/select2/i18n/da.js": "admin/js/vendor/select2/i18n/da.766346afe4dd.js", "admin/js/vendor/select2/i18n/sl.js": "admin/js/vendor/select2/i18n/sl.131a78bc0752.js", "admin/js/vendor/select2/i18n/ro.js": "admin/js/vendor/select2/i18n/ro.f75cb460ec3b.js", "admin/js/vendor/select2/i18n/ru.js": "admin/js/vendor/select2/i18n/ru.934aa95f5b5f.js", "admin/js/vendor/select2/i18n/fa.js": "admin/js/vendor/select2/i18n/fa.3b5bd1961cfd.js", "admin/js/vendor/select2/i18n/es.js": "admin/js/vendor/select2/i18n/es.66dbc2652fb1.js", "admin/js/vendor/select2/i18n/pl.js": "admin/js/vendor/select2/i18n/pl.6031b4f16452.js", "admin/js/vendor/select2/i18n/it.js": "admin/js/vendor/select2/i18n/it.be4fe8d365b5.js", "admin/js/vendor/select2/i18n/uk.js": "admin/js/vendor/select2/i18n/uk.8cede7f4803c.js", "admin/js/vendor/select2/i18n/sr.js": "admin/js/vendor/select2/i18n/sr.5ed85a48f483.js", "admin/js/vendor/select2/i18n/nl.js": "admin/js/vendor/select2/i18n/nl.997868a37ed8.js", "admin/js/vendor/select2/i18n/ca.js": "admin/js/vendor/select2/i18n/ca.a166b745933a.js", "admin/js/vendor/select2/i18n/sr-Cyrl.js": "admin/js/vendor/select2/i18n/sr-Cyrl.f254bb8c4c7c.js", "admin/js/vendor/jquery/jquery.min.js": "admin/js/vendor/jquery/jquery.min.2c872dbe60f4.js", "admin/js/vendor/jquery/LICENSE.txt": "admin/js/vendor/jquery/LICENSE.de877aa6d744.txt", "admin/js/vendor/jquery/jquery.js": "admin/js/vendor/jquery/jquery.12e87d2f3a4c.js", "admin/js/vendor/select2/LICENSE.md": "admin/js/vendor/select2/LICENSE.f94142512c91.md", "admin/js/vendor/select2/select2.full.js": "admin/js/vendor/select2/select2.full.c2afdeda3058.js", "admin/js/vendor/select2/select2.full.min.js": "admin/js/vendor/select2/select2.full.min.fcd7500d8e13.js", "admin/js/vendor/xregexp/xregexp.js": "admin/js/vendor/xregexp/xregexp.a7e08b0ce686.js", "admin/js/vendor/xregexp/LICENSE.txt": "admin/js/vendor/xregexp/LICENSE.b6fd2ceea8d3.txt", "admin/js/vendor/xregexp/xregexp.min.js": "admin/js/vendor/xregexp/xregexp.min.f1ae4617847c.js", "admin/css/vendor/select2/select2.css": "admin/css/vendor/select2/select2.a2194c262648.css", "admin/css/vendor/select2/select2.min.css": "admin/css/vendor/select2/select2.min.9f54e6414f87.css", "admin/css/vendor/select2/LICENSE-SELECT2.md": "admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md", "babybuddy/img/core/child-placeholder.png": "babybuddy/img/core/child-placeholder.7c0a81f0d7f0.png", "rest_framework/docs/js/jquery.json-view.min.js": "rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js", "rest_framework/docs/js/highlight.pack.js": "rest_framework/docs/js/highlight.pack.479b5f21dcba.js", "rest_framework/docs/js/api.js": "rest_framework/docs/js/api.18a5ba8a1bd8.js", "rest_framework/docs/img/favicon.ico": "rest_framework/docs/img/favicon.5195b4d0f3eb.ico", "rest_framework/docs/img/grid.png": "rest_framework/docs/img/grid.a4b938cf382b.png", "rest_framework/docs/css/jquery.json-view.min.css": "rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css", "rest_framework/docs/css/highlight.css": "rest_framework/docs/css/highlight.e0e4d973c6d7.css", "rest_framework/docs/css/base.css": "rest_framework/docs/css/base.e630f8f4990e.css", "admin/js/admin/RelatedObjectLookups.js": "admin/js/admin/RelatedObjectLookups.ef211845e458.js", "admin/js/admin/DateTimeShortcuts.js": "admin/js/admin/DateTimeShortcuts.9f6e209cebca.js", "admin/img/gis/move_vertex_on.svg": "admin/img/gis/move_vertex_on.0047eba25b67.svg", "admin/img/gis/move_vertex_off.svg": "admin/img/gis/move_vertex_off.7a23bf31ef8a.svg", "babybuddy/font/babybuddy.ttf": "babybuddy/font/babybuddy.b6a356bd9752.ttf", "babybuddy/font/babybuddy.eot": "babybuddy/font/babybuddy.ae7049e685dd.eot", "babybuddy/font/babybuddy.woff2": "babybuddy/font/babybuddy.998e9bc52faf.woff2", "babybuddy/font/babybuddy.woff": "babybuddy/font/babybuddy.1913791605fb.woff", "babybuddy/font/babybuddy.svg": "babybuddy/font/babybuddy.ef799e0dd5c7.svg", "babybuddy/logo/icon.png": "babybuddy/logo/icon.df80640f0465.png", "babybuddy/logo/icon-brand.png": "babybuddy/logo/icon-brand.32cbedf6aee3.png", "babybuddy/logo/logo.png": "babybuddy/logo/logo.62870041cc83.png", "babybuddy/logo/logo-sad.png": "babybuddy/logo/logo-sad.47c3d5c2d397.png", "babybuddy/root/favicon.ico": "babybuddy/root/favicon.ee5ebcd40fb9.ico", "babybuddy/root/mstile-150x150.png": "babybuddy/root/mstile-150x150.08524a406cf2.png", "babybuddy/root/favicon.svg": "babybuddy/root/favicon.12fe726d0bac.svg", "babybuddy/root/site.webmanifest": "babybuddy/root/site.2a6ae1d670dc.webmanifest", "babybuddy/root/browserconfig.xml": "babybuddy/root/browserconfig.84708aade0e5.xml", "babybuddy/root/safari-pinned-tab.svg": "babybuddy/root/safari-pinned-tab.e8c8ac2f55f5.svg", "babybuddy/root/apple-touch-startup-image.png": "babybuddy/root/apple-touch-startup-image.749726217484.png", "babybuddy/root/android-chrome-192x192.png": "babybuddy/root/android-chrome-192x192.ac7d2baba4df.png", "babybuddy/root/android-chrome-512x512.png": "babybuddy/root/android-chrome-512x512.e1fd38ad828c.png", "babybuddy/root/apple-touch-icon.png": "babybuddy/root/apple-touch-icon.bdc75cec89fa.png", "babybuddy/js/vendor.js": "babybuddy/js/vendor.c796c6355a2c.js", "babybuddy/js/tags_editor.js": "babybuddy/js/tags_editor.cf5018f5a70a.js", "babybuddy/js/graph.js": "babybuddy/js/graph.66b7e81f642e.js", "babybuddy/js/app.js": "babybuddy/js/app.0e79b2a38e49.js", "babybuddy/css/app.css": "babybuddy/css/app.8ad40502e08e.css", "rest_framework/js/jquery-3.5.1.min.js": "rest_framework/js/jquery-3.5.1.min.dc5e7f18c8d3.js", "rest_framework/js/bootstrap.min.js": "rest_framework/js/bootstrap.min.2f34b630ffe3.js", "rest_framework/js/default.js": "rest_framework/js/default.5b08897dbdc3.js", "rest_framework/js/prettify-min.js": "rest_framework/js/prettify-min.709bfcc456c6.js", "rest_framework/js/coreapi-0.1.1.js": "rest_framework/js/coreapi-0.1.1.8851fb9336c9.js", "rest_framework/js/ajax-form.js": "rest_framework/js/ajax-form.0ea6e6052ab5.js", "rest_framework/js/csrf.js": "rest_framework/js/csrf.969930007329.js", "rest_framework/fonts/glyphicons-halflings-regular.svg": "rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg", "rest_framework/fonts/fontawesome-webfont.eot": "rest_framework/fonts/fontawesome-webfont.8b27bc96115c.eot", "rest_framework/fonts/glyphicons-halflings-regular.woff": "rest_framework/fonts/glyphicons-halflings-regular.fa2772327f55.woff", "rest_framework/fonts/fontawesome-webfont.ttf": "rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf", "rest_framework/fonts/fontawesome-webfont.svg": "rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg", "rest_framework/fonts/glyphicons-halflings-regular.ttf": "rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf", "rest_framework/fonts/glyphicons-halflings-regular.woff2": "rest_framework/fonts/glyphicons-halflings-regular.448c34a56d69.woff2", "rest_framework/fonts/glyphicons-halflings-regular.eot": "rest_framework/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot", "rest_framework/fonts/fontawesome-webfont.woff": "rest_framework/fonts/fontawesome-webfont.3293616ec0c6.woff", "rest_framework/img/glyphicons-halflings-white.png": "rest_framework/img/glyphicons-halflings-white.9bbc6e960299.png", "rest_framework/img/glyphicons-halflings.png": "rest_framework/img/glyphicons-halflings.90233c9067e9.png", "rest_framework/img/grid.png": "rest_framework/img/grid.a4b938cf382b.png", "rest_framework/css/bootstrap-theme.min.css": "rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css", "rest_framework/css/bootstrap.min.css": "rest_framework/css/bootstrap.min.f17d4516b026.css", "rest_framework/css/bootstrap.min.css.map": "rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map", "rest_framework/css/bootstrap-theme.min.css.map": "rest_framework/css/bootstrap-theme.min.css.51806092cc05.map", "rest_framework/css/default.css": "rest_framework/css/default.789dfb5732d7.css", "rest_framework/css/font-awesome-4.0.3.css": "rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css", "rest_framework/css/prettify.css": "rest_framework/css/prettify.a987f72342ee.css", "rest_framework/css/bootstrap-tweaks.css": "rest_framework/css/bootstrap-tweaks.46ed116b0edd.css", "admin/js/calendar.js": "admin/js/calendar.d64496bbf46d.js", "admin/js/theme.js": "admin/js/theme.ab270f56bb9c.js", "admin/js/cancel.js": "admin/js/cancel.ecc4c5ca7b32.js", "admin/js/SelectBox.js": "admin/js/SelectBox.7d3ce5a98007.js", "admin/js/change_form.js": "admin/js/change_form.9d8ca4f96b75.js", "admin/js/prepopulate_init.js": "admin/js/prepopulate_init.6cac7f3105b8.js", "admin/js/jquery.init.js": "admin/js/jquery.init.b7781a0897fc.js", "admin/js/autocomplete.js": "admin/js/autocomplete.01591ab27be7.js", "admin/js/collapse.js": "admin/js/collapse.f84e7410290f.js", "admin/js/prepopulate.js": "admin/js/prepopulate.bd2361dfd64d.js", "admin/js/inlines.js": "admin/js/inlines.22d4d93c00b4.js", "admin/js/nav_sidebar.js": "admin/js/nav_sidebar.3b9190d420b1.js", "admin/js/popup_response.js": "admin/js/popup_response.c6cc78ea5551.js", "admin/js/SelectFilter2.js": "admin/js/SelectFilter2.b8cf7343ff9e.js", "admin/js/actions.js": "admin/js/actions.867b023a736d.js", "admin/js/filters.js": "admin/js/filters.0e360b7a9f80.js", "admin/js/core.js": "admin/js/core.7e257fdf56dc.js", "admin/js/urlify.js": "admin/js/urlify.ae970a820212.js", "admin/img/icon-unknown.svg": "admin/img/icon-unknown.a18cb4398978.svg", "admin/img/icon-no.svg": "admin/img/icon-no.439e821418cd.svg", "admin/img/selector-icons.svg": "admin/img/selector-icons.b4555096cea2.svg", "admin/img/icon-addlink.svg": "admin/img/icon-addlink.d519b3bab011.svg", "admin/img/icon-changelink.svg": "admin/img/icon-changelink.18d2fd706348.svg", "admin/img/search.svg": "admin/img/search.7cf54ff789c6.svg", "admin/img/icon-alert.svg": "admin/img/icon-alert.034cc7d8a67f.svg", "admin/img/icon-yes.svg": "admin/img/icon-yes.d2f9f035226a.svg", "admin/img/icon-calendar.svg": "admin/img/icon-calendar.ac7aea671bea.svg", "admin/img/calendar-icons.svg": "admin/img/calendar-icons.39b290681a8b.svg", "admin/img/icon-hidelink.svg": "admin/img/icon-hidelink.8d245a995e18.svg", "admin/img/LICENSE": "admin/img/LICENSE.2c54f4e1ca1c", "admin/img/sorting-icons.svg": "admin/img/sorting-icons.3a097b59f104.svg", "admin/img/icon-deletelink.svg": "admin/img/icon-deletelink.564ef9dc3854.svg", "admin/img/icon-clock.svg": "admin/img/icon-clock.e1d4dfac3f2b.svg", "admin/img/tooltag-add.svg": "admin/img/tooltag-add.e59d620a9742.svg", "admin/img/inline-delete.svg": "admin/img/inline-delete.fec1b761f254.svg", "admin/img/icon-unknown-alt.svg": "admin/img/icon-unknown-alt.81536e128bb6.svg", "admin/img/README.txt": "admin/img/README.a70711a38d87.txt", "admin/img/icon-viewlink.svg": "admin/img/icon-viewlink.41eb31f7826e.svg", "admin/img/tooltag-arrowright.svg": "admin/img/tooltag-arrowright.bbfb788a849e.svg", "admin/css/dark_mode.css": "admin/css/dark_mode.e18e9a052429.css", "admin/css/nav_sidebar.css": "admin/css/nav_sidebar.dd925738f4cc.css", "admin/css/widgets.css": "admin/css/widgets.8a70ea6d8850.css", "admin/css/forms.css": "admin/css/forms.b29a0c8c9155.css", "admin/css/dashboard.css": "admin/css/dashboard.e90f2068217b.css", "admin/css/responsive.css": "admin/css/responsive.eafb93ff084c.css", "admin/css/autocomplete.css": "admin/css/autocomplete.4a81fc4242d0.css", "admin/css/responsive_rtl.css": "admin/css/responsive_rtl.7d1130848605.css", "admin/css/changelists.css": "admin/css/changelists.47cb433b29d4.css", "admin/css/base.css": "admin/css/base.9f65b5cd54b3.css", "admin/css/login.css": "admin/css/login.586129c60a93.css", "admin/css/rtl.css": "admin/css/rtl.aa92d763340b.css", "import_export/import.css": "import_export/import.f3b70b0d21bb.css", "import_export/action_formats.js": "import_export/action_formats.11c3e817b80a.js", "import_export/guess_format.js": "import_export/guess_format.1e929842623e.js"}, "version": "1.1", "hash": "3a6329c996d5"} \ No newline at end of file