From db9f4a66f641c788fe2b44ef6fcd336ee33ea399 Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Wed, 3 Jun 2026 17:39:24 -0400 Subject: [PATCH] Add PDF generation for collections and enhance admin functionality - Implemented PDF generation for collections, allowing users to create printable itineraries. - Added support for Noto fonts to ensure proper rendering of text and emojis in PDFs. - Enhanced admin interfaces for achievements and adventures, improving usability and data management. - Introduced new fields and methods in models and serializers to support geolocation features and improve data handling. - Updated migrations to transition from latitude/longitude fields to a unified PointField for geographic data. - Added tests to validate PDF generation functionality and ensure reliability. --- backend/Dockerfile | 1 + backend/server/achievements/admin.py | 43 +- backend/server/adventures/admin.py | 823 ++++++++++++++---- .../migrations/0073_pointfield_geography.py | 96 ++ backend/server/adventures/models.py | 29 +- .../pdf_assets/fonts/NotoEmoji-Regular.ttf | Bin 0 -> 656852 bytes .../pdf_assets/fonts/NotoSans-Regular.ttf | Bin 0 -> 569208 bytes .../adventures/pdf_assets/fonts/OFL.txt | 2 + backend/server/adventures/serializers.py | 29 +- .../adventures/services/collection_pdf.py | 787 +++++++++++++++++ .../server/adventures/services/pdf_fonts.py | 147 ++++ .../server/adventures/services/share_image.py | 435 +++++++++ .../adventures/tests/test_collection_pdf.py | 98 +++ .../adventures/tests/test_geo_points.py | 109 +++ .../adventures/tests/test_share_image.py | 166 ++++ backend/server/adventures/utils/geo.py | 30 + .../adventures/utils/serializer_geo_fields.py | 226 +++++ .../adventures/views/collection_view.py | 86 +- .../adventures/views/import_export_view.py | 92 +- .../server/adventures/views/location_view.py | 44 +- backend/server/billing/admin.py | 24 + backend/server/integrations/admin.py | 64 +- backend/server/main/admin_utils.py | 91 ++ backend/server/requirements.txt | 3 +- backend/server/users/admin.py | 118 ++- backend/server/worldtravel/admin.py | 160 +++- .../management/commands/download-countries.py | 113 +-- .../migrations/0019_pointfield_coordinates.py | 45 + backend/server/worldtravel/models.py | 43 +- backend/server/worldtravel/serializers.py | 34 +- backend/server/worldtravel/views.py | 4 +- .../lib/components/SocialShareModal.svelte | 260 ++++++ .../components/cards/CollectionCard.svelte | 84 +- .../lib/components/cards/LocationCard.svelte | 28 + frontend/src/lib/shareMeta.server.ts | 115 +++ frontend/src/locales/en.json | 21 + .../routes/collections/[id]/+page.server.ts | 7 +- .../src/routes/collections/[id]/+page.svelte | 79 +- .../src/routes/locations/[id]/+page.server.ts | 7 +- .../src/routes/locations/[id]/+page.svelte | 40 +- 40 files changed, 4207 insertions(+), 376 deletions(-) create mode 100644 backend/server/adventures/migrations/0073_pointfield_geography.py create mode 100644 backend/server/adventures/pdf_assets/fonts/NotoEmoji-Regular.ttf create mode 100644 backend/server/adventures/pdf_assets/fonts/NotoSans-Regular.ttf create mode 100644 backend/server/adventures/pdf_assets/fonts/OFL.txt create mode 100644 backend/server/adventures/services/collection_pdf.py create mode 100644 backend/server/adventures/services/pdf_fonts.py create mode 100644 backend/server/adventures/services/share_image.py create mode 100644 backend/server/adventures/tests/test_collection_pdf.py create mode 100644 backend/server/adventures/tests/test_geo_points.py create mode 100644 backend/server/adventures/tests/test_share_image.py create mode 100644 backend/server/adventures/utils/geo.py create mode 100644 backend/server/adventures/utils/serializer_geo_fields.py create mode 100644 backend/server/main/admin_utils.py create mode 100644 backend/server/worldtravel/migrations/0019_pointfield_coordinates.py create mode 100644 frontend/src/lib/components/SocialShareModal.svelte create mode 100644 frontend/src/lib/shareMeta.server.ts diff --git a/backend/Dockerfile b/backend/Dockerfile index 3ba994e1..be867a9a 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -49,6 +49,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ nginx \ memcached \ supervisor \ + fonts-noto-core \ && apt-get clean && rm -rf /var/lib/apt/lists/* # Copy Python packages from builder diff --git a/backend/server/achievements/admin.py b/backend/server/achievements/admin.py index af087ce9..ef3abe3c 100644 --- a/backend/server/achievements/admin.py +++ b/backend/server/achievements/admin.py @@ -1,9 +1,44 @@ from django.contrib import admin from allauth.account.decorators import secure_admin_login -from achievements.models import Achievement, UserAchievement -admin.autodiscover() +from achievements.models import Achievement, UserAchievement +from main.admin_utils import admin_image_preview + admin.site.login = secure_admin_login(admin.site.login) -admin.site.register(Achievement) -admin.site.register(UserAchievement) \ No newline at end of file + +@admin.register(Achievement) +class AchievementAdmin(admin.ModelAdmin): + list_display = ('name', 'key', 'type', 'icon_preview', 'earned_count') + list_filter = ('type',) + search_fields = ('name', 'key', 'description') + readonly_fields = ('icon_preview_large',) + ordering = ('name',) + + fieldsets = ( + (None, {'fields': ('name', 'key', 'type', 'description')}), + ('Rules', {'fields': ('condition',)}), + ('Art', {'fields': ('icon', 'icon_preview_large')}), + ) + + @admin.display(description='Icon') + def icon_preview(self, obj): + return admin_image_preview(obj.icon, 32, 32) + + @admin.display(description='Icon preview') + def icon_preview_large(self, obj): + return admin_image_preview(obj.icon, 96, 96) + + @admin.display(description='Users earned') + def earned_count(self, obj): + return UserAchievement.objects.filter(achievement=obj).count() + + +@admin.register(UserAchievement) +class UserAchievementAdmin(admin.ModelAdmin): + list_display = ('user', 'achievement', 'earned_at') + list_filter = ('achievement', 'earned_at') + search_fields = ('user__username', 'achievement__name', 'achievement__key') + autocomplete_fields = ('user', 'achievement') + date_hierarchy = 'earned_at' + readonly_fields = ('earned_at',) diff --git a/backend/server/adventures/admin.py b/backend/server/adventures/admin.py index fcd13127..2ff0b14a 100644 --- a/backend/server/adventures/admin.py +++ b/backend/server/adventures/admin.py @@ -1,214 +1,685 @@ -from django.contrib import admin -from django.utils.html import mark_safe, format_html -from django.urls import reverse -from .models import Location, Checklist, ChecklistItem, Collection, Transportation, Note, ContentImage, Visit, Category, ContentAttachment, Lodging, CollectionInvite, Trail, Activity, CollectionItineraryItem, CollectionItineraryDay -from worldtravel.models import Country, Region, VisitedRegion, City, VisitedCity +from django.contrib import admin, messages +from django.contrib.contenttypes.models import ContentType from allauth.account.decorators import secure_admin_login -from main.utils import build_media_url -admin.autodiscover() +from adventures.models import ( + Activity, + Category, + Checklist, + ChecklistItem, + Collection, + CollectionInvite, + CollectionItineraryDay, + CollectionItineraryItem, + ContentAttachment, + ContentImage, + Location, + Lodging, + Note, + Trail, + Transportation, + Visit, +) +from adventures.utils.geo import has_coordinates +from main.admin_utils import ( + TIMESTAMP_READONLY, + UUID_READONLY, + AdventureLogGeoModelAdmin, + CoordinatesDisplayMixin, + TimestampedAdminMixin, + admin_image_preview, + coordinate_display, + generic_object_admin_link, +) + admin.site.login = secure_admin_login(admin.site.login) -@admin.action(description="Trigger geocoding") + +@admin.register(ContentType) +class ContentTypeAdmin(admin.ModelAdmin): + search_fields = ('app_label', 'model') + list_display = ('app_label', 'model') + ordering = ('app_label', 'model') + + +# --------------------------------------------------------------------------- +# Admin actions +# --------------------------------------------------------------------------- + +@admin.action(description='Trigger reverse geocoding for selected locations') def trigger_geocoding(modeladmin, request, queryset): count = 0 + skipped = 0 for location in queryset: + if not has_coordinates(location.coordinates): + skipped += 1 + continue try: - location.save() # Triggers geocoding logic in your model + location.save() count += 1 - except Exception as e: - modeladmin.message_user(request, f"Error geocoding {location}: {e}", level='error') - modeladmin.message_user(request, f"Geocoding triggered for {count} locations.", level='success') - + except Exception as exc: + modeladmin.message_user( + request, + f'Error geocoding {location}: {exc}', + level=messages.ERROR, + ) + if count: + modeladmin.message_user( + request, + f'Geocoding triggered for {count} location(s).', + level=messages.SUCCESS, + ) + if skipped: + modeladmin.message_user( + request, + f'Skipped {skipped} location(s) without coordinates.', + level=messages.WARNING, + ) -class LocationAdmin(admin.ModelAdmin): - list_display = ('name', 'get_category', 'get_visit_count', 'user', 'is_public') - list_filter = ( 'user', 'is_public') - search_fields = ('name',) - readonly_fields = ('city', 'region', 'country') +# --------------------------------------------------------------------------- +# Inlines +# --------------------------------------------------------------------------- + +class VisitInline(admin.TabularInline): + model = Visit + extra = 0 + fields = ('start_date', 'end_date', 'timezone', 'notes') + show_change_link = True + ordering = ('-start_date',) + + +class TrailInline(admin.TabularInline): + model = Trail + extra = 0 + fields = ('name', 'link', 'wanderer_id', 'wanderer_author_username') + show_change_link = True + + +class ActivityInline(admin.TabularInline): + model = Activity + extra = 0 + fields = ('name', 'sport_type', 'distance', 'moving_time', 'start_date') + show_change_link = True + readonly_fields = fields + can_delete = False + max_num = 0 + + +class ChecklistItemInline(admin.TabularInline): + model = ChecklistItem + extra = 1 + fields = ('name', 'is_checked', 'user') + + +class CollectionInviteInline(admin.TabularInline): + model = CollectionInvite + extra = 0 + autocomplete_fields = ('invited_user',) + readonly_fields = TIMESTAMP_READONLY + + +class CollectionItineraryDayInline(admin.TabularInline): + model = CollectionItineraryDay + extra = 0 + fields = ('date', 'name', 'description') + ordering = ('date',) + + +# --------------------------------------------------------------------------- +# Adventures models +# --------------------------------------------------------------------------- + +@admin.register(Location) +class LocationAdmin(CoordinatesDisplayMixin, AdventureLogGeoModelAdmin): + list_display = ( + 'name', + 'user', + 'category_display', + 'display_coordinates', + 'is_public', + 'visit_count', + 'city', + 'region', + 'country', + 'updated_at', + ) + list_filter = ('is_public', 'user', 'category', 'country', 'region') + search_fields = ( + 'name', + 'location', + 'description', + 'tags', + 'user__username', + 'city__name', + 'region__name', + 'country__name', + ) + list_select_related = ('user', 'category', 'city', 'region', 'country') + autocomplete_fields = ('user', 'category', 'city', 'region', 'country') + filter_horizontal = ('collections',) + readonly_fields = ( + UUID_READONLY + + TIMESTAMP_READONLY + + ('display_coordinates_readonly', 'city', 'region', 'country') + ) actions = [trigger_geocoding] + inlines = [VisitInline, TrailInline] + date_hierarchy = 'updated_at' - def get_category(self, obj): - if obj.category and obj.category.display_name and obj.category.icon: - return obj.category.display_name + ' ' + obj.category.icon - elif obj.category and obj.category.name: - return obj.category.name - else: - return 'No Category' - - get_category.short_description = 'Category' - - def get_visit_count(self, obj): - return obj.visits.count() - - get_visit_count.short_description = 'Visit Count' - - -class CountryAdmin(admin.ModelAdmin): - list_display = ('name', 'country_code', 'number_of_regions') - list_filter = ('subregion',) - search_fields = ('name', 'country_code') - - def number_of_regions(self, obj): - return Region.objects.filter(country=obj).count() - - number_of_regions.short_description = 'Number of Regions' - - -class RegionAdmin(admin.ModelAdmin): - list_display = ('name', 'country', 'number_of_visits') - list_filter = ('country',) - search_fields = ('name', 'country__name') - # list_filter = ('country', 'number_of_visits') - - def number_of_visits(self, obj): - return VisitedRegion.objects.filter(region=obj).count() - - number_of_visits.short_description = 'Number of Visits' - -class CityAdmin(admin.ModelAdmin): - list_display = ('name', 'region', 'country') - list_filter = ('region', 'region__country') - search_fields = ('name', 'region__name', 'region__country__name') - - def country(self, obj): - return obj.region.country.name - - country.short_description = 'Country' - -from django.contrib import admin -from django.contrib.auth.admin import UserAdmin -from users.models import CustomUser - -class CustomUserAdmin(UserAdmin): - model = CustomUser - list_display = ['username', 'is_staff', 'is_active', 'image_display', 'measurement_system', 'default_currency', 'map_style'] - readonly_fields = ('uuid',) - search_fields = ('username',) - fieldsets = UserAdmin.fieldsets + ( + fieldsets = ( ( None, { 'fields': ( - 'profile_pic', - 'uuid', - 'public_profile', - 'disable_password', - 'measurement_system', - 'default_currency', - 'map_style', - ) + 'user', + 'name', + 'category', + 'location', + 'description', + 'tags', + 'rating', + 'price', + 'link', + 'is_public', + 'collections', + ), + }, + ), + ( + 'Map', + { + 'fields': ('coordinates', 'display_coordinates_readonly'), + 'description': 'Pick a point on the map. Saving triggers reverse geocoding when coordinates are set.', + }, + ), + ( + 'Geocoded places', + { + 'classes': ('collapse',), + 'fields': ('city', 'region', 'country'), + }, + ), + ( + 'Metadata', + {'classes': ('collapse',), 'fields': TIMESTAMP_READONLY}, + ), + ) + + @admin.display(description='Category') + def category_display(self, obj): + if not obj.category: + return '—' + icon = obj.category.icon or '' + label = obj.category.display_name or obj.category.name + return f'{label} {icon}'.strip() + + @admin.display(description='Visits', ordering='visits') + def visit_count(self, obj): + return obj.visits.count() + + @admin.display(description='Coordinates (lat, lon)') + def display_coordinates_readonly(self, obj): + return coordinate_display(obj.coordinates) + + +@admin.register(Visit) +class VisitAdmin(TimestampedAdminMixin, admin.ModelAdmin): + list_display = ('location', 'start_date', 'end_date', 'timezone', 'activity_count') + list_filter = ('timezone', 'location__user') + search_fields = ('location__name', 'notes', 'location__user__username') + autocomplete_fields = ('location',) + date_hierarchy = 'start_date' + inlines = [ActivityInline] + readonly_fields = UUID_READONLY + TIMESTAMP_READONLY + + fieldsets = ( + (None, {'fields': ('location', 'start_date', 'end_date', 'timezone', 'notes')}), + ('Metadata', {'classes': ('collapse',), 'fields': UUID_READONLY + TIMESTAMP_READONLY}), + ) + + @admin.display(description='Activities') + def activity_count(self, obj): + return obj.activities.count() + + +@admin.register(Collection) +class CollectionAdmin(TimestampedAdminMixin, admin.ModelAdmin): + list_display = ( + 'name', + 'user', + 'is_public', + 'is_archived', + 'start_date', + 'end_date', + 'location_count', + 'updated_at', + ) + list_filter = ('is_public', 'is_archived', 'user') + search_fields = ('name', 'description', 'user__username') + autocomplete_fields = ('user', 'primary_image') + filter_horizontal = ('shared_with',) + readonly_fields = UUID_READONLY + TIMESTAMP_READONLY + inlines = [CollectionInviteInline, CollectionItineraryDayInline] + date_hierarchy = 'start_date' + + fieldsets = ( + ( + None, + { + 'fields': ( + 'user', + 'name', + 'description', + 'link', + 'is_public', + 'is_archived', + 'primary_image', + ), + }, + ), + ('Dates', {'fields': ('start_date', 'end_date')}), + ('Sharing', {'fields': ('shared_with',)}), + ('Metadata', {'classes': ('collapse',), 'fields': UUID_READONLY + TIMESTAMP_READONLY}), + ) + + @admin.display(description='Locations') + def location_count(self, obj): + return obj.locations.count() + + +@admin.register(Category) +class CategoryAdmin(admin.ModelAdmin): + list_display = ('display_name', 'icon', 'name', 'user', 'location_count') + list_filter = ('user',) + search_fields = ('name', 'display_name', 'user__username') + autocomplete_fields = ('user',) + readonly_fields = UUID_READONLY + + @admin.display(description='Locations') + def location_count(self, obj): + return Location.objects.filter(category=obj).count() + + +class TransportEndpointsDisplayMixin: + @admin.display(description='Origin') + def display_origin(self, obj): + return coordinate_display(obj.origin) + + @admin.display(description='Destination') + def display_destination(self, obj): + return coordinate_display(obj.destination) + + +@admin.register(Transportation) +class TransportationAdmin( + TransportEndpointsDisplayMixin, + AdventureLogGeoModelAdmin, +): + list_display = ( + 'name', + 'type', + 'user', + 'collection', + 'date', + 'display_origin', + 'display_destination', + 'is_public', + ) + list_filter = ('type', 'is_public', 'user', 'collection') + search_fields = ( + 'name', + 'description', + 'from_location', + 'to_location', + 'flight_number', + 'user__username', + 'collection__name', + ) + autocomplete_fields = ('user', 'collection') + readonly_fields = UUID_READONLY + TIMESTAMP_READONLY + ( + 'origin_coords_readonly', + 'destination_coords_readonly', + ) + date_hierarchy = 'date' + + fieldsets = ( + ( + None, + { + 'fields': ( + 'user', + 'collection', + 'type', + 'name', + 'description', + 'rating', + 'price', + 'link', + 'is_public', + ), + }, + ), + ('Schedule', {'fields': ('date', 'end_date', 'start_timezone', 'end_timezone')}), + ( + 'Route', + { + 'fields': ( + 'from_location', + 'to_location', + 'start_code', + 'end_code', + 'flight_number', + 'origin', + 'origin_coords_readonly', + 'destination', + 'destination_coords_readonly', + ), + }, + ), + ('Metadata', {'classes': ('collapse',), 'fields': UUID_READONLY + TIMESTAMP_READONLY}), + ) + + @admin.display(description='Origin (lat, lon)') + def origin_coords_readonly(self, obj): + return coordinate_display(obj.origin) + + @admin.display(description='Destination (lat, lon)') + def destination_coords_readonly(self, obj): + return coordinate_display(obj.destination) + + +@admin.register(Lodging) +class LodgingAdmin(CoordinatesDisplayMixin, AdventureLogGeoModelAdmin): + list_display = ( + 'name', + 'type', + 'user', + 'collection', + 'check_in', + 'check_out', + 'display_coordinates', + 'is_public', + ) + list_filter = ('type', 'is_public', 'user', 'collection') + search_fields = ('name', 'location', 'description', 'reservation_number', 'user__username') + autocomplete_fields = ('user', 'collection') + readonly_fields = UUID_READONLY + TIMESTAMP_READONLY + ('display_coordinates_readonly',) + date_hierarchy = 'check_in' + + fieldsets = ( + ( + None, + { + 'fields': ( + 'user', + 'collection', + 'name', + 'type', + 'description', + 'rating', + 'price', + 'link', + 'reservation_number', + 'is_public', + ), + }, + ), + ('Stay', {'fields': ('check_in', 'check_out', 'timezone', 'location')}), + ( + 'Map', + {'fields': ('coordinates', 'display_coordinates_readonly')}, + ), + ('Metadata', {'classes': ('collapse',), 'fields': UUID_READONLY + TIMESTAMP_READONLY}), + ) + + @admin.display(description='Coordinates (lat, lon)') + def display_coordinates_readonly(self, obj): + return coordinate_display(obj.coordinates) + + +@admin.register(Note) +class NoteAdmin(TimestampedAdminMixin, admin.ModelAdmin): + list_display = ('name', 'user', 'collection', 'date', 'is_public', 'updated_at') + list_filter = ('is_public', 'user', 'collection') + search_fields = ('name', 'content', 'user__username') + autocomplete_fields = ('user', 'collection') + readonly_fields = UUID_READONLY + TIMESTAMP_READONLY + date_hierarchy = 'date' + + +@admin.register(Checklist) +class ChecklistAdmin(TimestampedAdminMixin, admin.ModelAdmin): + list_display = ('name', 'user', 'collection', 'date', 'is_public', 'item_count') + list_filter = ('is_public', 'user', 'collection') + search_fields = ('name', 'user__username') + autocomplete_fields = ('user', 'collection') + readonly_fields = UUID_READONLY + TIMESTAMP_READONLY + inlines = [ChecklistItemInline] + + @admin.display(description='Items') + def item_count(self, obj): + return ChecklistItem.objects.filter(checklist=obj).count() + + +@admin.register(ChecklistItem) +class ChecklistItemAdmin(TimestampedAdminMixin, admin.ModelAdmin): + list_display = ('name', 'checklist', 'user', 'is_checked') + list_filter = ('is_checked', 'user', 'checklist') + search_fields = ('name', 'checklist__name', 'user__username') + autocomplete_fields = ('user', 'checklist') + readonly_fields = UUID_READONLY + TIMESTAMP_READONLY + + +@admin.register(Trail) +class TrailAdmin(admin.ModelAdmin): + list_display = ( + 'name', + 'user', + 'location', + 'wanderer_id', + 'has_link', + 'created_at', + ) + list_filter = ('user',) + search_fields = ( + 'name', + 'link', + 'wanderer_id', + 'location__name', + 'user__username', + ) + autocomplete_fields = ('user', 'location') + readonly_fields = ('created_at',) + UUID_READONLY + + @admin.display(boolean=True, description='External link') + def has_link(self, obj): + return bool(obj.link) + + +class ActivityEndpointsDisplayMixin: + @admin.display(description='Start') + def display_start(self, obj): + return coordinate_display(obj.start_point) + + @admin.display(description='End') + def display_end(self, obj): + return coordinate_display(obj.end_point) + + +@admin.register(Activity) +class ActivityAdmin(ActivityEndpointsDisplayMixin, AdventureLogGeoModelAdmin): + list_display = ( + 'name', + 'user', + 'visit', + 'sport_type', + 'distance', + 'elevation_gain', + 'moving_time', + 'display_start', + 'display_end', + ) + list_filter = ('sport_type', 'user') + search_fields = ('name', 'external_service_id', 'user__username', 'visit__location__name') + autocomplete_fields = ('user', 'visit', 'trail') + readonly_fields = UUID_READONLY + ( + 'start_coords_readonly', + 'end_coords_readonly', + ) + date_hierarchy = 'start_date' + + fieldsets = ( + ( + None, + { + 'fields': ( + 'user', + 'visit', + 'trail', + 'name', + 'sport_type', + 'external_service_id', + 'gpx_file', + ), + }, + ), + ( + 'Metrics', + { + 'fields': ( + 'distance', + 'moving_time', + 'elapsed_time', + 'rest_time', + 'elevation_gain', + 'elevation_loss', + 'elev_high', + 'elev_low', + 'average_speed', + 'max_speed', + 'average_cadence', + 'calories', + ), + }, + ), + ('Schedule', {'fields': ('start_date', 'start_date_local', 'timezone')}), + ( + 'GPS endpoints', + { + 'fields': ( + 'start_point', + 'start_coords_readonly', + 'end_point', + 'end_coords_readonly', + ), }, ), ) - def image_display(self, obj): - if obj.profile_pic: - image_url = build_media_url(obj.profile_pic.name) - if image_url: - return mark_safe(f'{}', admin_url, str(linked_obj)) - except Exception: - # Fallback to plain text if any error (object not registered, missing id, etc.) - return str(linked_obj) + return generic_object_admin_link(obj, attr='item') - object_link.short_description = 'Item' + object_link.short_description = 'Linked item' + + +@admin.register(CollectionItineraryDay) +class CollectionItineraryDayAdmin(TimestampedAdminMixin, admin.ModelAdmin): + list_display = ('collection', 'date', 'name') + list_filter = ('collection',) + search_fields = ('collection__name', 'name', 'description') + autocomplete_fields = ('collection',) + readonly_fields = UUID_READONLY + TIMESTAMP_READONLY + ordering = ('collection', 'date') -admin.site.register(CustomUser, CustomUserAdmin) -admin.site.register(Location, LocationAdmin) -admin.site.register(Collection, CollectionAdmin) -admin.site.register(Visit, VisitAdmin) -admin.site.register(Country, CountryAdmin) -admin.site.register(Region, RegionAdmin) -admin.site.register(VisitedRegion) -admin.site.register(Transportation) -admin.site.register(Note) -admin.site.register(Checklist) -admin.site.register(ChecklistItem) -admin.site.register(ContentImage, ContentImageImageAdmin) -admin.site.register(Category, CategoryAdmin) -admin.site.register(City, CityAdmin) -admin.site.register(VisitedCity) -admin.site.register(ContentAttachment) -admin.site.register(Lodging) -admin.site.register(CollectionInvite, CollectionInviteAdmin) -admin.site.register(Trail) -admin.site.register(Activity, ActivityAdmin) -admin.site.register(CollectionItineraryItem, CollectionItineraryItemAdmin) -admin.site.register(CollectionItineraryDay) admin.site.site_header = 'AdventureLog Admin' -admin.site.site_title = 'AdventureLog Admin Site' -admin.site.index_title = 'Welcome to AdventureLog Admin Page' +admin.site.site_title = 'AdventureLog Admin' +admin.site.index_title = 'AdventureLog administration' diff --git a/backend/server/adventures/migrations/0073_pointfield_geography.py b/backend/server/adventures/migrations/0073_pointfield_geography.py new file mode 100644 index 00000000..fee171ff --- /dev/null +++ b/backend/server/adventures/migrations/0073_pointfield_geography.py @@ -0,0 +1,96 @@ +# Generated manually for PostGIS PointField migration + +from django.contrib.gis.geos import Point +from django.db import migrations +import django.contrib.gis.db.models.fields + + +def forwards_fill_points(apps, schema_editor): + Location = apps.get_model('adventures', 'Location') + for row in Location.objects.exclude(latitude__isnull=True).exclude(longitude__isnull=True).iterator(): + row.coordinates = Point(float(row.longitude), float(row.latitude), srid=4326) + row.save(update_fields=['coordinates']) + + Lodging = apps.get_model('adventures', 'Lodging') + for row in Lodging.objects.exclude(latitude__isnull=True).exclude(longitude__isnull=True).iterator(): + row.coordinates = Point(float(row.longitude), float(row.latitude), srid=4326) + row.save(update_fields=['coordinates']) + + Transportation = apps.get_model('adventures', 'Transportation') + for row in Transportation.objects.iterator(): + update_fields = [] + if row.origin_latitude is not None and row.origin_longitude is not None: + row.origin = Point(float(row.origin_longitude), float(row.origin_latitude), srid=4326) + update_fields.append('origin') + if row.destination_latitude is not None and row.destination_longitude is not None: + row.destination = Point( + float(row.destination_longitude), float(row.destination_latitude), srid=4326 + ) + update_fields.append('destination') + if update_fields: + row.save(update_fields=update_fields) + + Activity = apps.get_model('adventures', 'Activity') + for row in Activity.objects.iterator(): + update_fields = [] + if row.start_lat is not None and row.start_lng is not None: + row.start_point = Point(float(row.start_lng), float(row.start_lat), srid=4326) + update_fields.append('start_point') + if row.end_lat is not None and row.end_lng is not None: + row.end_point = Point(float(row.end_lng), float(row.end_lat), srid=4326) + update_fields.append('end_point') + if update_fields: + row.save(update_fields=update_fields) + + +class Migration(migrations.Migration): + + dependencies = [ + ('adventures', '0072_trail_wanderer_author_fields'), + ] + + operations = [ + migrations.AddField( + model_name='location', + name='coordinates', + field=django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326), + ), + migrations.AddField( + model_name='lodging', + name='coordinates', + field=django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326), + ), + migrations.AddField( + model_name='transportation', + name='origin', + field=django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326), + ), + migrations.AddField( + model_name='transportation', + name='destination', + field=django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326), + ), + migrations.AddField( + model_name='activity', + name='start_point', + field=django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326), + ), + migrations.AddField( + model_name='activity', + name='end_point', + field=django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326), + ), + migrations.RunPython(forwards_fill_points, migrations.RunPython.noop), + migrations.RemoveField(model_name='location', name='latitude'), + migrations.RemoveField(model_name='location', name='longitude'), + migrations.RemoveField(model_name='lodging', name='latitude'), + migrations.RemoveField(model_name='lodging', name='longitude'), + migrations.RemoveField(model_name='transportation', name='origin_latitude'), + migrations.RemoveField(model_name='transportation', name='origin_longitude'), + migrations.RemoveField(model_name='transportation', name='destination_latitude'), + migrations.RemoveField(model_name='transportation', name='destination_longitude'), + migrations.RemoveField(model_name='activity', name='start_lat'), + migrations.RemoveField(model_name='activity', name='start_lng'), + migrations.RemoveField(model_name='activity', name='end_lat'), + migrations.RemoveField(model_name='activity', name='end_lng'), + ] diff --git a/backend/server/adventures/models.py b/backend/server/adventures/models.py index 1f9b7903..012a065d 100644 --- a/backend/server/adventures/models.py +++ b/backend/server/adventures/models.py @@ -1,7 +1,9 @@ import os import uuid +from django.contrib.gis.db import models as gis_models from django.db import models from django.utils.deconstruct import deconstructible +from adventures.utils.geo import has_coordinates, point_to_lat_lon from adventures.managers import LocationManager import threading from django.contrib.auth import get_user_model @@ -23,12 +25,13 @@ def background_geocode_and_assign(location_id: str): print(f"[Location Geocode Thread] Starting geocode for location {location_id}") try: location = Location.objects.get(id=location_id) - if not (location.latitude and location.longitude): + if not has_coordinates(location.coordinates): return - + + latitude, longitude = point_to_lat_lon(location.coordinates) from adventures.services.geocoding.reverse import reverse_geocode as reverse_geocode_service is_visited = location.is_visited_status() - selection = reverse_geocode_service(location.latitude, location.longitude, location.user) + selection = reverse_geocode_service(latitude, longitude, location.user) result = selection.data if 'region_id' in result: @@ -163,8 +166,7 @@ class Location(models.Model): price = MoneyField(max_digits=12, decimal_places=2, default_currency='USD', null=True, blank=True) link = models.URLField(blank=True, null=True, max_length=2083) is_public = models.BooleanField(default=False) - longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) - latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) + coordinates = gis_models.PointField(srid=4326, null=True, blank=True) city = models.ForeignKey(City, on_delete=models.SET_NULL, blank=True, null=True) region = models.ForeignKey(Region, on_delete=models.SET_NULL, blank=True, null=True) country = models.ForeignKey(Country, on_delete=models.SET_NULL, blank=True, null=True) @@ -234,7 +236,7 @@ class Location(models.Model): if _skip_geocode: return result - if self.latitude and self.longitude: + if has_coordinates(self.coordinates): thread = threading.Thread(target=background_geocode_and_assign, args=(str(self.id),)) thread.daemon = True # Allows the thread to exit when the main program ends thread.start() @@ -322,10 +324,8 @@ class Transportation(models.Model): end_timezone = models.CharField(max_length=50, choices=[(tz, tz) for tz in TIMEZONES], null=True, blank=True) flight_number = models.CharField(max_length=100, blank=True, null=True) from_location = models.CharField(max_length=200, blank=True, null=True) - origin_latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) - origin_longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) - destination_latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) - destination_longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) + origin = gis_models.PointField(srid=4326, null=True, blank=True) + destination = gis_models.PointField(srid=4326, null=True, blank=True) start_code = models.CharField(max_length=100, blank=True, null=True) # Could be airport code, station code, etc. end_code = models.CharField(max_length=100, blank=True, null=True) # Could be airport code, station code, etc. to_location = models.CharField(max_length=200, blank=True, null=True) @@ -564,8 +564,7 @@ class Lodging(models.Model): timezone = models.CharField(max_length=50, choices=[(tz, tz) for tz in TIMEZONES], null=True, blank=True) reservation_number = models.CharField(max_length=100, blank=True, null=True) price = MoneyField(max_digits=12, decimal_places=2, default_currency='USD', null=True, blank=True) - latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) - longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) + coordinates = gis_models.PointField(srid=4326, null=True, blank=True) location = models.CharField(max_length=200, blank=True, null=True) is_public = models.BooleanField(default=False) collection = models.ForeignKey('Collection', on_delete=models.CASCADE, blank=True, null=True) @@ -685,10 +684,8 @@ class Activity(models.Model): calories = models.FloatField(blank=True, null=True) # Coordinates - start_lat = models.FloatField(blank=True, null=True) - start_lng = models.FloatField(blank=True, null=True) - end_lat = models.FloatField(blank=True, null=True) - end_lng = models.FloatField(blank=True, null=True) + start_point = gis_models.PointField(srid=4326, null=True, blank=True) + end_point = gis_models.PointField(srid=4326, null=True, blank=True) # Optional links external_service_id = models.CharField(max_length=100, blank=True, null=True) # E.g., Strava ID diff --git a/backend/server/adventures/pdf_assets/fonts/NotoEmoji-Regular.ttf b/backend/server/adventures/pdf_assets/fonts/NotoEmoji-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d786ee8fd3e7d6b0c431ab10fdcab0003fd27897 GIT binary patch literal 656852 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

-0LfS zU+36VH3M#qA{q1Jic}LjqUb01X|!EP0xY@@8&zaDp!)<@@PAk z>di(s%Mr1A>BpzGkoeTNo7MD@Tso~_<75ZosbKjYVmwrNHFck_3=uG4AoW!5Kr{LQ zIGoUU29rUsL(!pDhDu&qG$bPd#R2t-Xd$D~up3pi0(3ak4?s;W|m$P9U+}brK*Ppc6`eCAGi~>p&UeDsba)+x`Y!UH3h4~NO1}TsZ3;ZGt*vrq?8|D z+%mnwGyhqxmCM;eA(xq+%4WvLGnvs!0R}sZXGWa4muFoE;h$G#>lFL(mMz z<3w+{p0yM9h_1_wP(N4%U?rCsE*M(M9xlb1rLiqj%g4fL_%h>vq!v<**HmCE8;Ng!;h;Sij zj8=pEln59DurV5v=nz9AXS7trK9vL`7IQNAf|`9jhEJcsltFOokr`XrjVPLe-4j$S zR>oc&JntaLLZgfT%hOe?*jR+tj(8PB4NT)qTmp&l7dMPWN0hM>9BLC8Z1sjQjnfpA zVBmJt3mIVGBT@9Y!YBxtA(2Wo0+BvZ49RsATY|!lW0@f&77AE05L*Bx5CEiuHfp7` z^Fwy1#~;U04g+eyU>H7USWx&l{+X6#mh8rZQ(MfXGPy#{(*$}!iRTf>F-n_eMO~7! z*s_hWZLB%O279)Qeb)s?nb}-XBwLXa*dPwkO5VVpCJ&UC{0(UyU@l=l2$MP)D_}?C zh47X5&&6IEuZjI$`-~#CUM_gepaq>|gg1hPe{_Qp>>6U1_?}n$*~_RoKMx%Pl}YFA z=?;>98<#G? zjO~)V9{#8#trtOT`OivobEV?^d=WYUOiC9V)5}`ebJui6t}Ue5x6yf^lh>sS?9$r~ z!o0)|fQq^(3o?!`yzKz}Nsp>uq;$J7rJQy&-acO}&CjEb{Q|R5Q8qHdVkzz9c}vM9 z)9GYZN$`0mUGh2ecL;a?3{E8FjTg(tO4umAiqOnfEKb~yrSF)0hyF%f6Y9L=Z$L#i zp~4?ut(18GsY2|K8rh0(HQnFa1v{47WxVr1tcZAmz!R}tzv9&o<#OyhbGdud>Gl3` z^6k%553*x|DlV`HRKsAPb5SQ7WqFi&gL(3&?48!hYuOj;pU+j4*Gv}YhDQol3nMc* z=KHzaNc*X83+cD*&rF;4lv}$w z>F?@t8&|~h4s1;HX%K@6$72s8W~w2PC&{lHGI^kJZR1*e{ta0s%ZQ}#ZANe(T zvLVq_ygK%o{*`*;Gr00Kkko?z_)O+f?2NMvfBbOlD(t*;Jv{MS5O%%;fzy{_ooB7! zkJ{K@38O1Kp=z~`6O7h4!C$R}&w^F(3Qox%p{owvNiJDky~~$Kug5R&#qpo_?DB1q zg=Cr|S?kr9#gK@VCxRp^)K*Nreml>)Z1v=GZ1$ylgmm&XD(1ln>Zbx+v*(YRk0O zIF-05Zg^wL1i5!h<5)8f##*FwIe+QIY5%~c>ZvaGP7R;sa;oJM^<(3TdLeoAlYR>ugl!!&sp3uFa2g#EU z(-o9@GWmA0b?0rS9E_ZFp%I}hE8t?p`t@}6Hk3GhghvwEzjyfrO{QqaX z{4JlaFK^@P37XQC0E6*TUL)N($akPaZtlg?TEX#oN*8jt*atGgQ4bDLzcRkIH}n#O zUC)y>$I+ho`KkT6Q;mGzgtl%(vT(X40WQtu3U zMXNIeeIV>7{?fpIW`7$aS{AC|^RchR{*k2oNrt8)f!^+WV7^ubnGA+b;Xzl-vQ!bk zd7%!G!T9q~lx}{23h7N-08^TSfba{cl-vx1Ic~v2(sgTjcyiV=?V`%-N%9N$3%VgF#nJR)xw2sd&W7PM{=giD zB7(Io!jgtPyGM4O)b08BfV(B0ZIcamzEx z`mrP)qQXvgZX$&zJp5^M3D11M|G+;+RL$|EJwZ)sJ%Mltr(@Mi=_12U8oKKck1pcI ziqr?-3DG4J_>U)}6+HNYRT0=0%*u}^-BQZMY77MZJ@O<><*DaSQ|F}zmL~Z-EbDX?n6-oZE0&_RG83NeJ3NXPCrnhtUe>G0B=9=LdJHnZJr9ysP^s~bV%eu z(6^}F)wFrK8gf>g2pe@atO*5jUohTX*F8J<2z_9-Q=@qR#dLBj6 zNdpFGg6{xTs3SVis|{Y5(9N!h_M<4e=y^A!(e!}J0ovfZ4Rw$(5c;Q=+R?V133t$r zf#6c%JheR%Hl6D)aM};BegL(&-q8%}hv!i!{qQ+})en0^cp+PTdaVfot}()*V4~-p z)Jy;*_#Oxl)&(GR9s$yqi_qN_Xh}`b)UfSTM%GjX8R;kB9c4!MirZV=1|Uf2Y}3)(k`tcA_#Yz__Dh-m&Zi&@BsJ`gvwr<>qWtb++sh|XQuc7BGLlf$pY;MW^~XxGqfHu@H7Z%6w6?`Fl2T=09#0( zf)4M7HOlrg(=)`~hmeM_!;_~jq|sJHh4;+J`w-F)XL!=IL?Z@GpH@bH{ihE|k^XYl z9Xkr9KW+!W`e1SkV94AK)@VN+J2{Zf>CtamklO9hXeCiuiYmpxrwLjg%6zNNP(Y%M zK7IW~KXpYhbgef4(xd(mQ0EbMP$*Glc1BqJ&?m$fo^-Qto(j}zM1=Z>JqUS2_#xvv zcFRE<5mjYp1RnIxe#9Zf+ewr4gEFc-x+3cXQKVCzHN~P>`eJo}s}Byh@P(Z1pvU^5 zSTs*piVcK_s+Pi`LIB~(ne|vdSUO2bS6n@K z62b~k`jwJyD5L3tl$?$%_}!tShd9C$DkN)yW?h9O+Ko=Hx<{3*9&#pK5^YQ> zD(=CA7J!iWew!oaS=Tmq>XZXjNmqqNmU6DCDB8x;3EJXa3x0cl?q(lFOYUysw(1B7 z6R8VYY>n>dVZnCm(d{({T4Bx3E2($GkzM zZb0ONAZ{TYFc8sAtfE*46r}+7AQBYf4<)CgEjlR0qpcf2R{D{V5b+@4vgoMMo2q9f zVrwKhJDPRF(pw*%jw{p`?KEo#*rM5hQrZvJ!RQ&{?k=T0@ISp2kM^~8DLtLy!SBHc z-oa(+)|sNj?hjf&kXpPSsAqQr(;v43VEr&T1Q;^+ENRwT>6{g$cDpng38+LXjP~BZ z;tg6K%6v<7!bXQDozz)Bl|>oSwc-FtF90F=JIcwRQ2L@r0IM$o1^8MN>!Qq_3e5J6?u6{Ti z;tM(3L6P;t*C-{=$je?l3=#F#V^Lk-i7MTR&^}b3NlLoa)k$BRUT@gnT5WCz&}#D; z^;kbx`k_aNt6fTZ;OkdPx}l89av&wAQ!M!1AHjOY%c3xPRo$z~7H`hbGrCpQiyJ}3 zy_gUJ2#Mb_UKWMXsZ$PAC5@Lcb75$%>)Nb#OSHwkDC{+By}Fhbh236qJFS8mLP~YA zOS)OG(aNGS(!Jty>4c7bnBU;;_-Hl+qCAGVRt|ZQ;+0oj1vm~gwd$(;N2$A&N>L~dK=_0K< zn{Rw+*(%Wzql0{4ceb}9l%MvV-L0^wq?}%GK(Lm4gcXD*od$t^>WcQHZuNHP)nUEu zC!L3YL9tXLn(mCadT^i}Uno)?G+{p|`{7hS91D?AAzAZu@0!`3skT zkanO^8^9o;pJfe$LXGAh0QNux4)C`q-q#~rQD{->4w`;8%{m+Qgv|@u`(MGY-aRjX z9kM4#=+Pwuv~BRigwFO{H{H;URRba)1aS*#ACaei#3zb1+MYf{DZm|2zMl>r;tzQ7 z^iX__;n?;r#{giPtPF&B5Ix>MRr?^~Q>0lpEK%ub=l1EiLfUnpSsTDGVNku$57ypN z+7)*o1OwqeJ1OnfifHxao9z>v8eT#tTe)?4YE6{Nr}T{Us>*4!wNLL^QQrBQc=wM^fjv0>{2brx3DV|8@2 zvi=wnFro*508uakM1Y)Tly+-(6iQT76S@U0578>q4fx%=u3{UPfEQH$}bnk<5(PYI1;iArmCiUqg=N$o+g5MRjIRYexT z*%!qIQ)K-hYS&}Qi0+Ek7wy}p$D}&+(!Sc; zSnVIY<$XI+5}0;m}Y4x>3w@dfc6I21PhOihl8LiD^7F9L}OzI(Jd ztUusIv&GD4*ge<8`=T{>BK9CPo<6G+H6nTslpTys3cLFflxT5Lg0*Y7fK(l-2q^>w zc3OODjRNadS(J9&D-I~w13<{Lpf^W06*x`h_k$&x=ghc5b=MET7Sg8>2#C@xinTvR z2J{SZ_rc*1c6buL}5ldVRvXDF?(QYOqPg)2=_MRoxq7xV0sn!Q0TaW_dB<$N=bxc$bcdxtyr$Xrt#-6aQ)4Z%`uZz|e zP48ZFFJTEGgeQXuOE)x6pRk0$!jrQRmMG4_dVepzg^+?lJ7i#2Vd*WYJtQ(woJ+~l)ENGifjB1RicqSv3eRomqK3zf)S%4f84}dooewPpA^lhT^_g4U zU%&3zYX8L%VOLz^?nFiKbbqo{W=p=?U`OFa3yaG0=>><9+o6V5RULTMPi0YFb*;Fa zRbjp1Nq1ItgAwfaNzW#)u0vTBiZzUiiepfAdzmdkYwuQ3)X~y95iBUVoldP9 zLi(((L+OM%T4#W|SDADj3SCplY9mhS8m$o>YT7kLYYc2PrnfN~ zWo%Ti!?FWBb2A`gc_p}%+Ys6zgF03~>hy>4(4}{-8l;Hvao*MKsTuB_R;bfdHS$V~RqE3P3cyJG6cv zg|s_+nnl6%$L#=EKTHk*hRj_ZvO*`N&yF1(H@nkpAV|ISSyVrEq)QKBZ|Tf_o87Ip zsMv(fZmT&=Xo+t-gpd_ymX&_c^hc8rSvzNXAbhG+i^_C&ss(b~AJKX`nNfoEuDn;J zEe@TblXR=DH&249d$A&f5VD}}c6aQdeepl6G*}THm`Txg_U;KCOva#lcXl75#q}mz zK&}o|ghc9Khj+sstt<+nyPSqJ?17*~!ZUi;(Mr34iKh1ftPc`}0G}$&dUvk?Ng(Te zk*v*O>&Cm@b@!+$j-Y#mPD|0&R)uJ#L+pVxD`PvH(NY++CNT`5SVNGCFKXnbps_yj<-s1ik z)xAc_Ci;v=z@~bHHBo8?er6jDTeMphu8?+X{M0DUDEotQ12GO2UkEv@ASBMJW8DdI zw3^e4ZZ9!L$b;dl5Z3sbq42Z}g&0E~j7&7I$sVOtcxynaRuN%SVk~)ZjjP+Ww4NpR zsG(KW8SIK^1<~`UR%&ZfP;tnu4s8q(gePY^5dVP!p<9j&e>N5ZOm zaH0hvuEbji;K#18}N{7o$6?H zs5A8KZq=PF!&=P@A@s+vD3EA}X=`^o!#dR29J5+a_(f%L&3W5mffh9*&-nG^ShT#3 zWD7afF5j&>LMlPjB4T|uqSh*uj$U*?^6knsMTKN-8EAo!cXG3Oa->y6$n!ucg$C`K z%A=+AC*vKeXw`KFH>+E19eEWL{j=6+zv>cdse~0q?}Ds6d8= zhYf0#+UhsG*%d9XBhkXL0|D<;M@Xbq0q=x7ssuvh?c|66hk#SX>>GM(?C|jR(54GW z78r%)h#lKe3d3fFMYLqD&64d_T7Lvbu^eIH>7E(E+Rait=6j($RTC>(@LE+8eJz&w#V+!+5=IxM35ssBrwF>xS z__s9P2=33Cn&O${(X8ZDD8**RknUyS~`Gxcbx2>-k9NT>#}@Xw~c3)kTVY3sd*6tzL0# zx4O7oM{a|m7>h!wR1^i;Dx~A6;1cN4#E)yMH!Rj@It30;u4gc0ak;hx+5wu&j+ZxN zIfZ9fk(0MvzMfP0J-6kP36Wuv8etih5j382#JI$>JY!jeA*et~^NPTTc~#;FFAGwV z<5?o5C63`l!tv^;sVW@GL~cnIJ(b5VQ{`nYCy5y_*)e&E6D*yR<1Q;^6H-cIQI{id zsT~Dg<1>pkYo?PMH`*-6s2PKBtiTE?!&wT7mpDKo`Q4?-D~bg}k_aOd3_YzeXkQPXk8A~M5GOe?yhNoh4H z+p;s4X4yolFmbe!-n`K*>{_?-KFu^W)ih=+!kp(#+8HEI+i{`M*7^aexR7c?wqLPqAjUzTL3z97HGOs43gw8V}D;T2a$)d!F zri3;!8i-D0%>~_9BJ)CmB|N7jWW^8}I|~Q}*GY|>w@}_%!4Jcni4%qgdq5y1g%$!9 z&q^aZ(!+U0NUGqhk(DG>B8mX2g4`%a)fnE^-SI51DGUL>iK=T!Gi6E)nt^5^5w#K- z3^O1)XdZaVacHR^CE`h*SG9~|%x@=~Kp)FeH4}Zd8Y?o-U{2tXN}YD?Qr#9ozU%iE$zzW{-q`RMdAzY6Dyw?xtK?4Ro470Hv3};Sy!Wm{ca3A= z{ZAW?pW)-I%>0^W;0e_h1@g|un@Ht#WNa7tYjRuTK0njHlb~*>r%LW?y#Ei$6@T!xKfUG}KZD4K%;(@pp&BSRlK%;L zLIgSgva!i8|F!HF*{Nn@eC5Y5jfHj?7PO-A1S z_Lu~keTexSduz;!ofCUO?ESHaVxNrtP3)WgWH~e=bP@VI)C&|qu>!qUnPn>#s+Dk1 zk9D_fci6Rphcw)HPIaZQUIDsJqgGldni?&SU+V*ro5ak6jN1Bf{I~{ZHF)3pPHy_dJZ|yH2~K#?N``w({bZ* z`&C}taGbc|HNK!4>*V>gVP&S}x~cf``aSXl^H-3$7+{lo5+I#)p>|^Ay z#)ims*S}sX)vEp<3UW%#zY}-uqyMfyhyKex_NKYT`FFi*esS(izUGlp`kPR?5|+=_ zs?LeK&bfZylTW_vadK|s;l`g|b(Pgzz`M{jGq zZ78Blb~B%1uAyY9SL%+hmHy+g$HzSvz2RprkY3oqp{&Sa_q6) zN6_?lANlQWkk%@%Q{RJn`;reSRBxY|d7L8pYGd3l+X zN^J5i{A_HmQAFe+Rt6#&h)BUHdG%7QsorpMAUAStbHT5)pliH;>n`4=y+iI6=QJtD?7q>p|z}_47&l$7QCGWWL*!|~^ z+sOsTJbc^v>z7njx8tH(-g^F2b!Sl#MU5~+b3=vYf~<@!C@>~i&WSrvje=sD?r7R_ zL_?5u-q~~F*dB9s_tK^7ue)z{_SuUEZrWJ8?DlQKb3gRV^X|EP;|u3zUUk)h=WT!d z+-i1R!l`Bw!{$h4`rM- zlqE5jr9yS;-RvhY)+J*@WSZ=wZNq_&2(XvWT5Qo z5v8O*qKy@shOAHCRccZ@7pw!%ngbw+9brHuzdvF%N0)#%f@r&r(`0=xcKXbtR{63& z_<2=YUI)V+Wl-QvY4N3D^#?@?gPgXaNQdRHIn+jX>}K7~8vwdOr2?ez$7i5z7Fz`x zw1R%o!SKl|-+T9-J$JwN%GK|W^0G+ONrly|tImJ@E&J86VXtWIoJ*Dk#gPO>5fieW z)f8J*Ey0s{$rVJI=XimGIjUnI^b!dPcDk;DYxt+Yf=!Gj6j#<2*pw2Nf|V+&I5;&= zkWpe3Ipt0;yr2uRqA7x=CKAM9lZ>HBhBTF$Qg~fS411QK^GaOQXB;VS$f67b*-Gh( z$ny*rPl~c=>niMD9^&Je3efO8E5PjM#W=&G^id+Hd z2O~h{;|2&v2YWFoi4G$gV!Z5%mKe9h+ROJIdHd}<$e+L~Oeg!9dc zLu|6>OTF6^{AQPP>>^xKTAt99ae5YsL?EI;`-7jksrz7Uu69>cjB{E~Q}R*nYLBL0 zorM2NN{#xQo;93&I_JQqO28mxI4>=7nr3R2%v;Qm#@iXuOz8TsQ7ki}qPZ5VMkzN$ zcHaKhH-H0@38@g%9E>cUCoC%p9AS)vBwV0d7WCO}S+zLZOekQDl2jV+fwKu0&LsDx zMp8)P&0alng$IrRl`fh)5Gks1q1}An1Cp{T zcFjWZ>6c5zgG%fyLO)2st-jn*9qS(eg(855o_H>@h9VT4`}YPSyNg8%bf5XKY8{E%wC4Z@GOZtEOy8vb}@}gCG3mM1_@IGgUB>X+?+&EJ7>%hzZe2 z<%*KT!#Uv+&~Ab@oF6VGRj5n2=()V=s^f@waD>w}Wi+m)6Xj%|iC}lWDR85JBnzP3ZIjIS8jdQ0Hy3LEGK9Z9pLowot>`1bqD6Wzm@kWzz zN3oSe#Ho6N4fkJ*tN8A)w{ z_|mfPFEB4Lrc&vx8yeSU$ScCK*QI<@?tin#Sq8p=74u?QiXA=yT$&QxGvfO{y#I*+ zO`&@AHO%v`xw>&3`OV&yE9l4N%#M{$ZexDynrl{GcFoo7_}-P1%)x8+uBW24 zkgvI#`Q+8tG=`a-dsmXpk9${ceA$7)E$9UVGt%L{G=2%W_oWQC2eQ5{*)A&OYv2~VhyqVniBg6c`%9r5a zd5s@8eq1EuJ9hZw{wMZg<`*$1R*9`gSc)3^Y{b}SD=nQ#RVGw+!KX-5@A}Hs72yyx ze#8;>llyWxLaamD|*e%;c=H{SG#iJ~{`*3#vfTspmhEM(TFGufGPx^Cyw z#cSN9^5(_GP33B4;^6UDpSS0(W6R6O?%MN=*B;+L_M>bucTOgm93RhbNhafFBDrO# zGM=z=yR)V2Yb67Nx1q|0V+I;gfqU=4`>lJTCss)Q^>6vr@-I*Pa`~5U zzVFT4bzeC2{zIo4=e_^X7q0tT|Hgl1i_Etma`2yhcOQMC1W&whf($pldxFGIkdelB zPBgwlMriifF!SfkhiG=xf_j>joVe?ApL;Qm&wlo<&ki@w@A}+lU;J6Wf*-OT^Hp@h z7+(|DVsps3e{tl~pFZ*zC;sB-U*Jf8=a#qLg5$g2yOn<5`dz>Ce2YE6{9kxvSV4EX zHwFe#;?u#AGRP&LI{b#4HgCS^4TmqdpMKwe!R-F&>HV`a2d1YF6r<@h-;bsb%!Jqd zs!peC^93)>vp zX$SJ1#ZWX5JzTE)_Q2|l(5iI+DS|UePG0}+TSssu&TDe|iaTDl<8@DL)3b`1x%H3! zXk=yDqRL31OrC&fqX+_T<1Sv^u`owQJx^0r^M zckGofOf6@0o7sB(7LuPH9-f*S9-e-3-DS(laH=>JpV>GxbzmX6FltNYR&U{g1vJh$ z^>gl{%uizX#@-wIIHmU(wJTO(Q{%>u)S^+V_KfcsvuG`h96uLrPLmhtE#cu?V7{?4 z1W&qY1kqb*4*zCEP<aY4$}v=!>VNv)aa6=ko>3aHy89 z34Hp3+WL#u=ZQNvoZFPE-+cQvWwJU4H!EwY@!ZJNIiAu}qA_m4<}^AR#4>Urf62;M3w4Q=?8L~$ z!-)}rXNq~d%2@WeX{UBgCpPE3g@maW(j%9f)1&T=qMCCODP?iCe(8->II4-^WM)`~ z%bD3e&#KO7&K^r!Iji8L7BiS35f#jAX_AuD#W*TdVVW5#(X~`wwnvj%Ij{FuYhQYOJi!mDyB% zUQH=desOHFW*D1l3;QN#&tIC^X{pO|V>Lr5q>>IR@Y1aej6Vs1bxx8A4}(WO`A=nA zfg8^x6LCi)n1d2nd8RTtZi3|eaJ@9Kb#%|ViFupws?3w*L~(q|By61JQeLTIv8qJx zEi%MOkP(GXl4VgZIK?_^*Tz|1AMzYEUYI_xFn8YUh#ntKDQXJd5Kn%*l@LXI*&E=h z`yY+%%&Xzj>LzCUAXItB)%bL(ylHgvJ}<=}a$=d;9AhwAc612Qbds|;!5xML<-}s# z3Fc9#W)G@zF7}1k7h_Mvz7qR7;*=48H9A!u^<$&yq*$w!>X?J^yE$bcU!tZ-+y)*QA$2K!19c-< zc2a~@$g4>-;P^zRQ}aX*a}-QTD= z&d-1DIOMbULs+>5iFw`~u6xHFE_rtSrseugH`SMKsv`nkJ@pWKH}f5Yl;>lcVtZnT zV^_wmiQOE#Gxkb<6aYUVLl!3KEX?hrr`BLh<5z+9ZQ8*t3<2P&P$Gp|!H=Hc8vV^9 z)}AXU~9?nT}bbb2^4w%-AdK@$rOZCCIJ^ zO~+4b{JmGgIrHpyZ;?42%K>&7nr1Y9*CPi!ukon&nY7ugq;bv<*Ee(QiDX3ote*Nl z^A`5JSRAHIHZ~laLLaTiHd4Ej(u>lTQj-#rdL-0>qjMM){E6sKKIPD-dR^PE=(@tx zR9#nB{+=0G`Of3^jrOgFUdgh53Oo3Xr>Ep~h25kWhH~;R6`g#EJnyk*Y~A{dk(rqn zvL1`0LC7oq_VCuNhYMj6H85jo_D9U0#CBp}xGZ*E?6%lTV)w+}7JFapBe74!K7#<> zcVn?y%?77|8oI!#;mpF>nzVxBUxPP+s}6EmI9roO!UCF^nuQI1P6~eY1*{^0@QP1U zsnV>3VG7kOU}U6GiDMKjk!W@RMSO+A1#naGl*}+1x*;;=BBq6agxAV1~aR^ zc%9@RdarRZzi~WS%Oaes^Lm=E$>K%4c(E+a8oLmt-fjH3p-4J{a>fBerYcD`e7|Wk z_b%pru{&ZvjQz^@n_#!YHW-7IQN!1&N6~Z+nleEd=u#)bw>14T->Ja(1F6A51;=+3 zR`aw0!8tn_GUsAKycQCLaU=^t_#`oLVCR|vz(?Q8qY1? zd(;?78Y32#tYK#H+IhvzA|9_HG$>>iQj*N@8kZ=VN-hbC2ff@Y}FIZoS~M#U_@4Z%>zTr}k&k2NYeoi3w8e@G#~DeS#4nJ5@)2EK{|XGvlcx{!8~8CmmmEcjx%gpiu_ zjA7f*hMm-U$4c8+eZmQ>;whYLA$G%f&O{ z(_BY2R8!>5QK!f-3Pxm1@HqvQRT83AcJk*83nnk;RW*%;D{0J-s6!)|=+gz&g|V-G z)WnLIgrPeaoi#+pe!{%k_x)`|I?J)e*m7(`Yzs!`WPvRgk_C~P!}U6~Y7iT)S4BRW zu;yyHUVs*A{{8jG*c(4~^5g962Ty+KmQN}2m*~_W^Tw%LrcQq0y{h`C0xHjZR*}C& z)5(ZTeoJl~SIBuv;{k=-q9F3Ma(IY&-X$*93z4!a+G*`&?|i3*X*Piw#q?25eP#2K z!n!%FP%2&EAGF7v`V_a3{2N-c5Zh0^fTo8|JJS$#!|Mj?bx5N@7TN=%`IyV64n5A)=i!KF$*g) zp*KoNqwy0R-nz?NNli;!Tluv+;w5xO)~&jcOd2ci(G$M%+QV7Q<3$AVO>`DBQIc?O5h z3=z|U067J+m0Q#A6Z;Ha(iP;mFcQWbRo=t8^W-v zun4cj1%zAa`b>Bqm^FZl#BfNWt7&;w7Fik7@v?@BkRozYA&J}wTwraRwMQ2f4~t-h z{JNZgE-YYzpJ9cBmeHlSn5m|RHs$1u!--{e>gcqd(sS$bIGhPr&tY<7;ppu zQH)0y7)2|YnOdgwyiEiX@yMAx_{Gyf9+=Qa}QR2^WH?u6(O_fl8a-B<0zVDtRk(jBOv<)8e!!tm0G=C^*jeX{{t`i_kVwh z^pb!3x0e+D^G^QG|MWlnPW~HCXTA$R?JcnfsVmWxoz^I|Dxtni`Jw}vq;f-rtvP}P z=S^usIvve?!GZnc4{KDS=s8WK;~SMxe~^SR)jDaOA#WYM5v4c#Vbkoc*UIG@Uv_xj zDZec3IGC)$BH;M2jx~$Cu4=ZERZ@mzh%=MkyeHYJ=84JiWMVXFr1e}TTT0l@qz!Wn zi#uR&siV5Zi(*~Y&oWz%tly)cnhv4_ql8_xf|LnYfC zUAedH*a}GUvKjM9HyOEriKx zUWYM*Nlu&R<5&QZ%-fDx0@T^VqxSrSVh$POm86S%Fqw!sPz9C`R!rzgjEz|RAjr=} z|AGhiwvy|X8rPTY@ySOXp8V^-o_zR`$T_ZVwvihfSCdN zz|}5n^+&8#TWaljz)qi;tE>$fyUI^+a}6t_(If)tf-uyYqJ$sT%Q7}}i=@NyGfkL* zx+o}MZgMOM(;{1n>*<7@QMJ756yiq4Or}*e=Q?w)H*SHqswf(`(=uT*>R8$X_9n`< zJ>z9Z;|8qjw5kueE&d|h=}ta_xg%sP`GS+rJ9a+b_?0x8slE2#_~F9XHB;OF*EN*O zSjJ)uCG9CMy_goD(ISLfMcjwQ!yQim1!zgx2viIAflv#$+%0;+t!qqSx#l= zU1uC?*>&BE<1V_64eM@XMG&DQd#)4VF*)Spv7LP5Yo#6e;Sw3DZ8^MWrp`6K z?k|A}cz$o}4d}w}h`lHF`~P3ze6ngm7#t5@9>P6X7>1~iAK}4pR)E~W)BEq|ck1(R zEIYsc{O5oD8+Y`7|K>N11LU5@CYyZyFG}`r{u{YWt|JMz^fi)r{Y53W@siIr{_y|2 zrEEK;34bQ(yKEIoIf_JUwxq&OY*qQt1=)k6d)gi4&LjGopVQyJUJR<|-xc+FvFtcF=le=u^rrg7wtM*dQM3|-508c?Xyw2I){=TuYrW|=?O z(OX=P+G8UAXmFuv#M7a$x?K0iK02vMFFMTu4>;h=H8FYcFdc-D5U*firiln8c;xRz zhR1RftTbUifaM{QM_4(|m`oh&_6Ywfmk^l<78coknHWeAu~0=6u|yH00b#Q0_b^uQ zdR8WJSY#G#u!UlNhQlKO4ABTCcrIpCnP_pk^qwPlY(-;iJ;{?X9U=d zDi%T}a}u+W#hkRlU~w-;B%RTdSOE!>@wHfch}AW$GrVgUD<%c@K?du8K53|<%>O)q z6)fyB7x!iOPVObF0por@V$bjOWjNq^)2s$>eODWPdCM{p@sz^q8Y>JyO^+L)CfBxo z6PdD-F4Oa$C_y|5yllEZR9O6ok>Hnr;m(D`QPUfOMCAcClD|X?%%=xrhDHLK_aG;9 zBlE1$-8%~VerLZqRE!U88~&Hl-f}*F-CtcJ<sUF;riPi(`i+a_1KaRS6d6B%e01-DO6i=+mbxeT$MPm2Ml8g3@EG$;)&%Ijgg(hqHWtb$;#-@G1E%%+0&fm>F_Y)>7-EJ zUx}N)5Sl`LQ<{ltP#5bQs1-t8rlxq{ zURbNXIZN+_6wt0NppLN$b&VhZZ1d@%W-U+_v*^xLW#D2nFIh^ZMD7ZnI|P@8y9|>j z9P6dLjl)_>htEPDs4!U4iU&*Raxo$e!MP%LFw8JIi^SUSXjq$J4lZ1F!%iz}7kAI{ z%);-j8)G;(?QIx7y=bgyUM)JeE*H;<#`2b$#v6(-Ey`GktTOu2<|R!`s^VOM7U6DO zCo#fNUJ%*C9Cs;ZD^vRL20+JykCPsGpv+)>oTY%JI^rVI5X0O786v}wBsgg-3)mdl zKVMD4#FF&VJSLs_*#|an)?8&|Q`$p}>GZ&hY2w-jUF0WEZYKk0{FXxh#8r?0JZDzbp13JhVn*+>kb327UQ${%YFg zv^oC5WIA=}%UV;S42<_r7~PbZlrB`<(GQvwZT@y~BVz5X8eszX#HK`K&Rh5Ft)n|GSsLEHY)Cqm5jc4# zUCM3B4)4grCeO%LLSms{psXvUM8a9#Ha2q<>FY0F8Xm&xNL^?A;2( z6i1XYmU&qvl`zX!VM?2jSqu^q8OgK4p}WsLdV!mF8Fp;$ z)a-CRpPm~klHcN04)T}D&h9Qb3ETF#F>C3f>c#ggT)uVTvVD`u@e#vS)FH#3t8FY~ zw-2Q)+fwYTE9w}#uqK*G?wcrVP35YEsmYQ3#f?|g71dR+WYSwO)QQRb)S=_s;zRLG z&)<@abC`?7B9HpDTQR1-5u=r`{>FMPx8B3 z&wu$#))l6ATZZK(DqBZq_U=8hY2Eb)<2*Z(Ph_&5=^#A0`vv>Ay=vFY(R0@ul7KM5 z+^PS|ZepIm1aF;oLrAcX$CtqX1B9{$+mFhRh(76JqSq-w99h4k`U77QLn2ZjLS*CJ z_piTrda`i*x;;my&e`=_9RDwlJ2fKfx$Ci5RsP=Ykz0g(dN{MO#Ex%IekNz`P;R(k z(}5Xt4uQc7E88j?4i#T*Z5W!z;4?hG@usA9Owz>6kG6a4Y%uBgroalSw|3{1ci?SGWdC%=)p` z+m@JZyzac|>GQ7Jxcc3;%9ne>uP!}Y6A^4a^U!hso9;gxtbkkptb1?(Xxq%bsi}Q4)AZAa8{9*`Uq~}Y zZ=RF{o<9bt1$T{ zx@2tO=*~)I*U|a;qr1l|yN@m$U)ZpI;mLCO_(zW4IQo%|^T&_R)GIqLSy()}i{@Lz z_Zabxm&cx5T)$!A`0?X6&TiWDg3;s0NBwU1Rr2XI4`u)6@jKsf=Que+{-|+*pW!Ra zCCooyWD1{=+|&4%zkJ8z6XeTeq2aHFj9JV-GJktn~_ffjWjKuR`uU_`yx@ ze$VC)9z5{DP49Vd^9L<@e((dEAAHZI4;(!3`SA5Q!!h{f6;OD+PX6$MkL~#IM|OVfg2Nx%@sWpie(dmGvhODwPmuj@Cm;FoyZ7$h z`;!eHZan(-kNo64d*d|Q1%JHrp^xnN;|mV|$Q~#Kb!mG|9H-gzxn9wH|GfRo{6u2ef+^j@^UiegHys&)W+~xh}r8YnJ;@f|F)5~6` zj*qWfH$Jvu!_UZ#pL4g*Y}|d`-if*NT-ljCy!roO?ac$^sH*+(xmDd=)m^<;cUSN0 z^fukov-I@zESW8t$z+nuWR`@GeJ4Od7EHn_TR;T_WL0F5MG^Uepdh#*h)?44`w#(@ z_j5&`@2Mc_!`;VJexGw|CQMj-zdwFSPj_|Ity|T%&OPVcvwY5~{h5`2&9~PJg?f9Q zU-p10FYf&RwrUre&v@eMRjaOk;*9yv>Ff6P_3gz3G(JDF@EEl@u;3tX#0TmIvCBw8 zZWdrtPO+=>&wye-t54r>>|5vG#+!_y$yr3USp?3bjUekKkZh~|-BG48_1JB=_w@0< z2(Mwt@}zbd`blTK#-la4jL{_GCB(R^Fj;#t$b~0YD4g^LH@7c2vv2d7re)>+17rQC z48}b|B%OyG-g3Df6lvL<}i7#`E+$Mcf%35unM?WLL-Mva zrh6B+C)<2mwwoMoJ0e8wHm?oJXH8QBK2YGk4siy@4R5v9wgiAMQM#&{WnjRC{jr?XRo(n;zy zbW+$PptH_D8us=0P)}n=DOiXg#MS1Bb!O7xw zhXPBcPAR0*NTJQAn>)(u*G>*c%4>_!q26qvt9e5;KRq+WUWhHu1e&$>j3=JxUQupe z8iO}3#sibaj9|C9Vj~xKNYTo8T`TknZXc9`4ij) zG{lDiZE;r37$QDKCnisOT?1`l1<6l>MU*cle_NQUx2*2OQn@AXM!t>79MC+)ns?`Z zWL6HhwO3L>te3;FSTP-HJgv2BN52y9u1xG(np}VDmZ|fL>0)CvTUk_yx?KU7P~u+3 z5))%qXVUHS*{rG5(t7hqK~zC3!Hyu{SyU_VY-GFJVcNdM*OqKw+?#G}_d0HeH>*^|+a>b>q%j+%~?nvWFR?797CFcpS8?~g)PuB9>4(Tbliw_pdPkAV%umm>?30;xtvLWgd(;!JPHkz9<~tipD|=FGs3o;= z+f21B9>W9>><(X|ZTWaK)0H0_&ld;EaM`HoC?aT>kO~#2M~aD1I3EC&hU0;y?d28S z3AWo8m*q@zlGL|`OT}JcH3U6n0W9L&?Y-19Vr&bSwua`$2?`Sv=HDj{J-lt}!-tLc z_18>|e|XDB?w`75{gKNrKXUG6mmg`_+@I?kO|@@YlwGv!((W@xmz~kwefrqw8Qp!w ziCTTUuwklWywoz>-Me^kZ|~x=voR4$cqL~h8BBP2a!A7oA%h%`n%P{dvd^-$5H$AN z&i~f2^G_Bs)P%vK$y(X>A!n4^j_I#MP2!Dm!WV@5-=6$&&;FNQ+V|3n`(MN>M;kA_ zxbMZ6_PxkS>Q6!#QYqY!gWf=b9PF8ka?HB9c?kLA7Z(Wfucz*UFD2ru)Ynb)?f=lB z3#&uT$&seMzNX@$MQ^h94?69UCSNLB+c~oN)DG~Pv=-9;R&MKPYU*e!V}HSH3Df{j~ViuZsMXU%`RTGj)vI9zssx zIYdYZI(OuiS4Mtz)HqLT`VWHpdX)c4JR(-zFx;>eoP z`iqCF8F1Q`Qdfsb0IN+d?J6%Vi0~!*4c={anmO}!IZX+&?t=NMTEgWmL~3hV-^qsO z*b06!A3k7C(16TSFO38-7%hP0qB&7dgAAi5XUPWlCIb^6PQKFuk#9Ol&-;lR#$~NjvEh$3MX;gcjMpe zOT>dy4qto$y>SK85cwD%VlYH`G*p<^^L!cVq@fC7c!&+1nEJJTs0ExNp_0BuqjkQ} zCdR-w@^l*7f!YjX&AreRJz9Vu$4FC*dA*&hTk2DVVsF6ZjusYGve8Be_Vb~2u1_wV z(>ix_weHG>(#2RTESgE}Y;PMzp4k3#tYZ@i#=KF43|LjaJDD;$UC1qv6{~6}il85_ zSXf%_TAGCBY3b-HwWRAYD4rLuFRd9VX3bdW_-6Li6Ujg|nJ9pF_-u|j%`?&F+qyl` zx~3K`l7i`Nt5uL}{7zcKbi%}%S27{;xor|OW)K`kY;F*^=!aP23=#uuXr!bAfbwe)QPW=Ztk5rz||3 zZ?B~$k6m%>sUu_PPCmv~_RV*<5__pT?A0IZV=g{cZ&_kI8CA`A9y%Y3*#dirl#aLC zVl+>Nv5e=h|H9X@Mb<`Y2dps*?Q)2^GS)t%MjGnoyBNUUmipO$+M-3L_4D_4*yJ9Z zKSIa(rQV+U$#c1XJo`g-K>r9&{(PJf$Y=HVr^O#JiUg~WDRLee$PdOq{1;jRT#fVG z*|^i{*rlJ@w(T>Qj+sP9@9Cd9_t3q2`ry<1-j@3=8XdjpzAbZ~>(hzOqNWu)6KO>@ z`^#ClNXmZuQ?w`Bl~dJRSC(4vRFaR2|0=dL>}j|FnVL5>+}`jIoaoOY<*Pxf(Ha^u z0=x{$Os&d!T^$}b__?dJz|na45Pc)Dq45S)KURPiDD&Wp^-kD^jPtqs)Ssaf@_cOs zCs2lZ%JT*k{KJo-AH4i^a0gtQx}s}m0!RrZ$qhyfy?_3)gu+Li!T)1it(qe%gk&+= znfW=@y_06#XWBh_&NTCi!l_pm3pi`j)XZ$B9B}y#PETz{ z$m5w`=^t!cc4XSU^qgtoC4Sz-*{7*nXJ&T8fxq#(VnN+@cSkran|zmV*|PuiFAfZ< zO2DDw^iAHgrlz*+eWblz-7>T0Gb_Y_)99Uj9Op5e1sHMl|H265RM0u7D82^eY^M>5!H zaL8ZOa9zV44G#di@yiY0gmWHGDn%5}pgcj5qb;nktMmo*Kr%It7u2=11%?@-F`^8{ z*Vdp3;O*tOR0SDSonmGowW#O_^kJwrfh^7@+69?V4`%AY=otYO88jqHVw}tj^2y>B zQe+ije|PS_bDKE4=C%u_oqDZn*VWToK7n|M^Hv?*R%@=TKDbyA)yb>ZWAG;~+uErF zMxCpU+&I1EQ)m0^0rnu;&usa`UN_URB(iM2`)ows+a0S8Uq7{F>d#~Da`iG}U5WoX`GnRkm z2H0lQl!{=5pZtW~kH0h7nffjIEoig+_;I-IogU_z92F>53MgPfnQOmsu48FgGZq0 z5iQM!5|NHaIK{LV+A(KV)S9{^t&eCKUJMJ=Foaw~!JY>r4Nxb%BMTZ4BcqiJ?`}?+ zgk(c#i{eu~k_-$8L4HIUtZZkhW|?j*5Q!up-~}jX7NGOtcLB`Lt00|3@|x{2uPsiA*s|Qw zzwC;GGcCeor0&6eTSeKUc*8cN>&gYBlW=rkfZ5oC_;I!<&OyqHhMx@e8n8gX)4}kF zN(A5~GO&aYoP9$UYoWWD3A;Xb|od z%dosJAv_4em;oUgj}Rd(lnn=uB`2)8uoOy}^&_qUWW`AmG=LTqu)@P$5O;uuVue|S56Ryu++6XP?b2g?&d52Ct2 z8lK>)(nF=vL$t@LdI2mj-uz&x^kA{u>v1)eT%N+phaOs4@YpNO0Fme}-29<@cUR#< zq+l%gO*0K^k>|MuR{Y%!2mk;1eZaxMz~oaPZwQTf%+8ZPJ1F_J-53H;nqVsMA(&j$ zRkTgcJZ!dWfmE}?2Cd~(0J%u2ia4+!09WFVT-$gp z24|J#MwCAdPH4gyoK>2KAhX?pReW#?Jzlq)2B)}!5010k|3g3!E-4qRefUpVykuWdN^qwJ>DWdBlg2En1!>widf9y6R9e7hR2FT6eG(w zMQJLS`hLJ6kOqV}TaZL1BjFn@L!nK9b`Wh%IRF7m=0|SCN3#jLTUFS&;?+F*bzb{< zb}vg$mR*qWeph*-Jn7$rFO##g9-HmbN6)v}JV7`6xTj!aEjF9}g00}uPjd&E)9LXz z^*2~)jnCcI=Jq|ayb;;d?nXWDb3XjA(+3~e5&RHc^g;ueX;|N|t>OJhF}S+n24wo) z)$nP=!F&P1UEe@7%nJ?wP8q+9lXES@*`!32OHaQp)=!r7Lff{eso$dd3XAfM;9|+Y6qhl5)hKR{%U|%d?T9CMi8d zMGgdHr8xT^NXfGgmhEzot!)We9ZOmqa#-&PmhBxlP-bU^S{$8W+0mju?6F#poB{tE zi{_NDRF0luwchBIKLZxtJtC{-n=O``&8iGU_S?+n+mK55TiO0)hxIR-^C6SzGbT(I zDXhHmQ3(*7A7!5`0gpZ?E3>aVt<2$be9mP0oWrO8(dxX@Ym@I}k2ZP{CNFuL%ZeNd z$;wW|r`_6Omm?9`erCJf3OlI1TJTvF#p*k)6d(YDfWA$2J@;IixaRTCiQf^6m@tPM z9tQQ`0U~@u#L|g4!~6@>Lj+_k_V+FZU)yGi#u zA-J&zA|DyXknA`aD@VfX=6%zpxSS=+#e!?obc8D4M~JZ&H*4(y!SnRF*PUNsu|i%s z?K`^w_@HDUHZWB1;C`Ko+9gi=-_{iXjp-8nRdcFefsLWXW5Q-evLlo`)r?y{D%Qkf?2V zy3Vj8+#1JH4qYS~EusaMDz%98E-1QD#TzL3(?FFG>@GLJGejtD(EChJ39leDB#P+2 zE@*+=bp$TR*&qfOvlk%|SS+elcp>SLsQjP`QOJ*FaI9X<3n@2(EX}s}0~io+u9l;A zQ;DpR(~V)FAzQC@zy#|`C2cv`W~4hg`PbY5~)VG1kH z{;LA<&i*9JI;ut}^0saAu}5&PiQ}KZntC0$b|+xb)|0^@pC#!H`pX*RLNb{QT9V&P z%nTdAh#`Zvp&A-gsY3b8W{r?j5EY#ck4qqs=i4OJVG;XNDyZL~r9*ypZn>v0Tr4gr zbeGwoKr|iH?+hJQydv;>2%1K)Z*WH3fad;av17WYXQoyJoY^{m?6=`;HXLqj+@{=W z>j(k8$$IY|*LWNHDJ&_rjl1^TZEM#CLRIBfMXbA!+~Pq+3M(8D^6c#v>DD`Zu4NT1 zmC`E9T)sPRv06R=tWi}(kYqy|>7sG*yKviQ5wqEcRR6UQ{rh2QxRPg>J>2jW)O~pg zEdTX}|3P4T0mz%fY?^I`PJe`5#;#*`u+OkBu&+aV|9@a2;Y=GLpA|CI(`b+%fNc2l z8Jn;%VvzB$F`}6T+sH3DvH!$2%}UBVIdO#0Bj(S3*KK~riGKMv^MZ30_Vr%d3;R9M z=Hz~HTPIraBPV~G3r`;qh=hoB;g7%&u$}-z%Ff@<$$kE_Z@AuxJ9*poiQkI-*aokg z8(e}#AkGRu7B0VV5Ki1Ibp^BxoRNC_<5<{jugm9iu{!gl+f#APYj=l=(T=7dD^hrE zDXAz)Wl_>*ODeiAX}2d8_NA1fq#zFUJL#Z(hW6T~`LU0uZMHNH4bL@Ujr{!C=lD@U zF#6fJ;5=5GYx)vzGClWgkd~TXA#2o7?6q)qdw)ZGY>$Pvik11ro(T$<`Ui! zEA3X4-HLuMeY5rPD=ta`A||Pb7qdWj3R$Gg>XB33`p5ZQP4hd|H?l!R(VsqX2L0mY z7$3>y%jQ&<(~ovyHX0p#E$9J8{syB|&#>pfV){$B9t2 z6Cj0E@jGvxFZRFr%pYo>|9rc4)50K2vVQ%UA6|VmY9(NOCq5^9n~#>l5s3&PHG%BrJjW$MR3{t~16a`looIe6 z=MjmxrbgNt{t!yQKmYfA2-+1t{^n;z+naxx85kc}iNEoI*&E(<^E>Rf!nbETM}-zlQ+pKk9dp`A%tg-wCOB^*_&1UL_@-a{`DXKl@0v(uYbLiO^xagkK%n4 z!$T|F|3O?;6$lSwuyCFVA;%E~u=1wW1Bogw?(y?@#6HRG4064>0LO7!*JGE3@#O{2 zPQbchK1%^hxeTcWeEs4B+C+djF|F?YZRyO~HNCxS*3K;L8j9?T40SD?Ipvhz-cwGQ z-@)9ywbqtQKCl1Z-h4jO()#$meK+Ovw3F@OJ8HetBV$whrp895o0c}s%;4=EJA|$^ zrBXT9e8HMrbFN$}eSV*QUvrM{n=$rqZ^moFmxT{w)F?(&RQ*&s1iv#S)p*h`iXqh` zR`~OuANfVgu>SKVHdcvTtG{`ppShX)695K1*w@*^j9|C%R9V)hfuC-I7%86 z_t2B%r$rt_4~ZYH1`b4&)SeLqd|)?-Zc8lcf)Rpi3z0 z5M=aFa1~^a@Dqd=e2r$`+JonI+Co9Mz-)C-!sQRQ`79n!5Nlyecra~~EDqTZs6TCq z0Ptv+B#)fGCb)RTXtXhILb8m>rD#LL-GEO=$t|CxE?GIOT3oj1*!W0r<)M}C8kW@P z&D|<#5vB9cS*!hlE21Xf$^#$WsvnLumiY^Hd9E8TMJ9m*_Am3Rdhrb z3|OlsY66Oc*{083>}{?TU8);uJt`6KOONz<&2Z8BCI86yhzg^ZtJG3ad-tvJ6j=n z^R*EOnTDA!j&L5gN}?Nj(K4QQ2J+<{^Mw{ahBs~_n}7(VN^O20M?6}8SgpLi5p{w%`PB80i(j=vCAx7PQebII6h|jl$Zb$Ms&KA zpZkySaPAR?HyHmBI8Gj6)5r90h+B#~#``aKePZ;EM}PO1M;<%#>r+o}-TtMvuf6}) z@9wgCc#2-b<6;+^B~dXK zdc0Eq6)KqhR`)&r$$Kwc#T~i77xxMOLQP;f1`cV8{g2*d6fpC!J+R^bkkcv!EV&Bp?u)#*AZyDA% zE2Su#ozhLA?@Q2B_k2*ldvmUJ7prV|gR`l>i!Uwc2AIcE%AW@SGQ#87<@&?yZgzZ= zzB$g`)J^)U@92TMHrOiRG5XC_&Nnl!e;L)(*m}19!MTcPmk57Hh#-opH4A{!Mr|p^ z*f%eE^;Nz6Za)M+Lrh6^;0)ExY={0d`_z!a?it>q3zZOib4nMZ`h60{yxx`Dtl!{b-40Zx&@ZpkH$89cYnAO`7|ELcPnn>3if9B07vH}ary)WYnky3dPn zWnU`qRqLrpZydG!Wathk0w{%hOa4g2A8z%?0lQ+81njmb@!nl7)w|}%2bL`Pz~NK8 zDhe+mOVWl6FyUWOnI+(j9-5qdUrccUG6oao+t_cHQMH7JBp$y_{DIg#M_CyDlyKhc zmjzx@`xg2_5hZGd z-XOpDqx_z}jeUa6>SEG(l3{i(JM%I9hLN`@;iuyDVlNUlx@iQt!M>x8k$Nk}ioEzp zhr*C@3q1zQhy)_e2$=%uyYT?H-_U*=h_+L2ZGiQZJ2@b^i7e}=D#Vom z4GZ5)1|kQK6$+r4gz4>BrY|Ye=8$VPwRfFkNs1tQ6 zt#Y}$*ce=;UlVGzb|K{7UALCQ9`=w2xH8Uw?~p6tcVnr22zC3ME=?2mxN5y&yW~S@ zK2+!v%j?R>$9G6RLGWlkQvjhS7G(>v%ORX>wg{5{k-kagEdCvJAyAvohG6DszylEp zyAraI=tANC94xl z30yfCGLiWoPDV{YoRh3DLS<*2h_82S!`h^jLCyp zyBnwsL36YOY>5a#QZ#m=@Q{Si!RWGlCZqUJqSlL+o|MxK|1Zi|C8SWrjhd2XxfTRy zfQ%^GXh3U34cq)FVMl8Q2^%O&<%FLYO05I#WJH}*TyfO|zz4~Ms<*x+IWsVNttPGN zkZnM}GbNU^n*@(NoKj41%mPivrveO}=p*7&TLW%uZF#CsvqvH>&5f#FcB!0l+D$P} zEcGs;TmyY9`a@^{M6hMx*gfy?0m&uJaR;!tak7~JWc0*nT{(qsLt z1uwk18LR^FhZEka?#TJ#eBDR7#S{Ib)FATVNUx!VGdug(e3eIjrP06rjbH4aX;atU z!<+O&;o3J(k?4+{(75`!!G!0=9{)Cq3!XwVM}t`ftvuDQ0gvoi{hqa*_8?6yOWhi7nTE!?f)`{V5rZ77V15NHr2>$r8xPUM{vrI3G8i$9kpU;cpuzs3cN^6jP0+3O=wGE0j<~<-@&7a( z2HxKgT;CsQco3L>PvSH_izUof2ppQ41T#Yt2-8xdi8{AtCEtLA=*@iIV$6MF0!|?d z#}t=Ew05nSXeayvcwsN~hHi`*5Bn?e4PqK~l7mqcWafy}Tu|BswuEIanI{Tq;IiwBsc|9RV zVSO=DD_hOgqT1o_S=|_DDmhH-R(IN)Ts9nyL+7|Bmi2hDu@xxfWQ~-|5qv1@mrjqv zDJ7iy;Eil_0p!800)((|S?`8`kZMO!zb21ri>DM{zul4U=&sm$c7+ie$)aA@b>^{d ztLO}R5xim+u5vk{dq!jKp5=KtUu{X)WIeU!G#85IqL7_8hyr;M3l}VfQl!=8t^{oX z0Xn~| zsW!Z`XOD4#xt6C4}WpVN>&<*&?oz@ z?fbCDb0I$TzrFKq;h}Td8^zt3YBlrbt&Q#Jd|K>F7YgY&zmd-Gx=9V=SqstGU)p4w zFRb1q{LY7eI#iIIw6V#LfBbDD|4MKAKQ3%Nu^Ugm8QHb>Bakf(1(()Y!~tq2=Dx(m zJWav*)LODs&6)m~{ouYeYx!FBws>OoBs=x|)#VLK2e&p~x%tc?+y1rV zTY$njwPfndVsue3G0@dDvO@pDvTXD6mZr}yUePm5RCN6N!b`&Qc)Sf7RbrZRSJPbQ zk-U7;L&-+HH)2gNl;Mj7pjMrAo+b;P1a3esaQeh6pO+p)#SfD^5G3C2eb z+2n9U_IOYg431;fTkow{o!K-rG?P67IA5R*d901eUZthCyKL=8Fqh=E!RcL6BssLC z&+X_aNI}Wz?O76Qi$(#B;gs6bsZ}exZSGXW?68`nW-rPuIDEF2RKIg*W@fSLjC2Vl z4dFjv{D;1kw(dd2AWSgW@Qq|7%sB8>5Bu=``}9z zV@KsBI;MZ0Pr+VD%wG`mud7+JN`LvUT(19#RqCCvwEy|&k9(Q_x;$&re^B^{{+f~U z9u?h25_>(bo=9Rx`2Ej1zM+59$9e}@k57O08?|SmIcDG8w;NLU3;59ggs-@0@c6^x zX~HZIZ4|PND$3olrv_=&HMkfS(_5#oF~m;OZyg-sKl?40}tU*qS!M+K)-2Pxcskc}Fj`u*%wJ`ziX_X!_-dlKKa z${+vOjMp1)RNh!>Y*+sHM)Mo|0>6UoW-c!*dtw~SQWkk(GfC#xUrVyUAPXe**O))4 zzdHEAuDkB)x{D3zPvHYESThFsrSAp*{C5fqsApBxoJEzXY?h_;FW>tT+pgdF(oOto zZzWog!3${?^q+4MW&-}R4S^SLJpQX+9l!C#z*&3!FWhka*S|h~!wdesCH}r}kFia> z`}lhV_|FIz&0fX>{9A;J`1KEoyT$bg@CUDi7SFPn?L2UcG;3z&@0L-lhc@V+K;0iK ztVBuF?_=8~^P8^ zv|h(@nT#bI!OsBLLv>R!>(e2!Dr13-pMzlkb~=|fvA~Df1;2|LP_rs;c5)LD&1pA` z258LHAT7WiNGGE4_{}%RrPFjd>|(U} zxj3$ucBfr8-JD3J6MXZLgm53aPbAn)KCj0YQ*qVP`Q>oQ9Il9qxIhZ%T$Bweq{gXpYD$M7xij|V0*4@Nk?a6P=lyILC1YJ~fY;fqvejy1HbBP9Zdb_Z32~3`i^8zzf`siuoGGU< z?&u-XGSpqJBOBH@9zMZ;EhHK6iI9f^Vj{6-SbRvI#_!J?l5TzhUaR3d|Mf(qG%9%v zs9{>F=lL1vgt{O_oOw$Xry~*di{?xymR!-_*ca*?&LaLPRKluO5Tj9Z^~g2VJw3Ke zBT6h+a}IlI)4r}`PIZ#OL)H*_Z9_(*(6PN;!D%L|Q*}AKvI%AoTj}qu9t5Yl{Y}vT zioRJYakp#nibW`{o6D5fwY6-Vih3NaONaexMKd+V%`HPqd)?`lu&J@m9*tF9`H2qM z7FvlM{_m!Gv;LyT?J>FhW;q1@gOFyQ)9-4HYC#hNV6j)W0fpPG05`xNygpoVq@8Ye zxY6VCAWVzarwziDSSa$kck|xfs&LBe^MZZ$PxyQw%LqfNdi;~(<=_OvhPM=qI0G^y zUBkp54WIfL;P!+-ToMn1N9)lr^GJFa)_4FOrZ8gM7jgrd`~g`1h^*mTxBPfNTgmJc zm+o9Namq{zIN@3&{Mjf(!JLfra;)Im+MBGvu>+iDdAy)N0*x%n6Qa2&{9F{jgs3+L z)a5S{x}^RFAfru{z2{o}d)civSS65&&_6NJ=Mse&>e-szG1#ZT?qGmI&(Wd&HU)s? zf>2w(2vBF~)oVtZQ4*GYLwu27{(zwPA_1ABrp|BOHo>Z#f5sv+AD{cgzlghGgBpbD z-N5pk1c@+FJrk@gfSE^8KU@)8c$C6|je}sFC+JvX+*V5Z9iISojLnIL7+o4hi}@Bpj34Q5@ZK6BDix5M^HrhvTdj#WjP0?f?uph|d?;>}O!#QENz~6woo! z)N62hnZ`_GsJ9rliu$W=_Hwg|1B$$t#cRN1e1(|rzKP7UPU9;Zz|Sn3w;=vrc}rtkOUSitA? zRU>x_v#U*5913Ef5Rd0$POtDXK-apPVzrnOcL*k6GfMKy0+I<#qTTNspNhGg5?wAw zWNgsoMAd8An{)eOnS?*4+Jp@vN=AhcnQs;DwK%Qr#1ai@6CQUSsBZcjr4?=yZlKBE zm(lNvF~3_*4Mgq`^e{pW6HVUO)VL4DO-*6DN%#R^LdB%nJJu9yMq-=5QiAzqL3PB6 z@p!?H1P%*8Elg?()fTjn*Om7GRlw)04fLoRQDQ6@0;=}OT!4I9Jbs3q%mf5GSEL>i zeQGEoOuU*(M#fAn-L5crN-Ye!iP1!Z6*75IYwsHk-|TKw+Da>SWHX}@saK#vxy zMU_a>ltoF?QHT&CZ%Xw<2ot`xV)V+=^t<6EmBAy~6{6Xm3=B!B~&VB#lGKHg8+K z%^QhJL5p9tq%x>!?Fcqm)BRzwbhL}(h8p$pAi2F z&9f0Akb+VWkTRF#L<5NQHiJoMhC?3)a;)W4h7n|ePL1XeH~nCcF$;i7YzROk8%Xtz zPGcmw6A;EHuq1*s9<#V*X|Xxv6;jS(lOxrrqEMxR1fJRNp<2AQa@|bt6G9~zb}O^L zcEm0adIO#6>@n~RA#8O<^Fj;(#=`7(MAL7cp`AcOMPg(ej&U$ZAoF**{M%%wIT!j3 zK->k*=`ck-p0sN3(jsNY>@QKR+8T+4+-!r;ESPMz**6$FO=$JEyJx>;@+h$XfE#ZX zsCI)V>6!g^YwOlJwjDlz5L+CUbOOGQuS#4;I)1OX4J+dS5-zwGl$gi-a2Yg53vy#X zh#gau0=U;3+ioB2>+jz6p^2#*duGOZYF(FIKX_qFTWd>u<(#46^ETG18_wCZdbIDx zl@lL4t!J=z=I-(FOKM%6d)iyt5SesATcxdI!+9f1&e>4KBCmS<7~6md;ttG>y-1e) zCXyq507FqNZ;*10W(8>at;xZeK7XE^xC!O}|eB%dF*57X)Ismd~Jh6)OyA*IJ;i zVfjIP6T+A@bF8s2N2QE}yFg*fkrK~rvL&p=%OQjvGszaRdr*2r^x9lryTj`;JFUnw6M@T0G92Cj%xNov zCYHJYMvVzhnOO2Bt254=sAVKtTvnwlLf)BBRor7XJ5X#LNpJx{E{J8t>b8h>tJM*s za#J=(Pr>KQHxCRnmj?!faaOd;Ne^=(tkK0Gihfb|*z2T{^p5N%H8 zNy?7GE(AiWafd! zZ!1W(vswg8r%6cW>`s@GO$eQ!Rtt6~ly7UOQs}V$xlEO@%6Ml#Fd;1avmOXuk7D=0 znio3$N7GM)*Ljk8Kd`V*nXAP}Ue!BM9^eZNUvGF0+yPcPVhx#|~T+1AeaPc^*FzfEkiIl`ACdeV-HSvBlX9@tVSJi73P=*E5&R=YEG_N{MO zd=78;XLMUu*#=Z>*@{YDwi#^L5CcRvgYK>JL2B`Ce`niphqwX$i;yTuXYwwLE)j8o z4gMRr9DYtbDn<>Z{X|iDadNgv*f{&is<`US&z;A9!5hv)jb?~Do{UWZzDPa34n4X4$w6d*=zsp|AU224 zjQVWwi@|v#-bqN5zgzxA{pBbtZeYcz{_+>czUZ&bZaZZw>(alq^^~o8&4{jf51ZU( z{Z$s&EN>>`*X9%pZ!m9QVg0}Gq5l^jbK^W7i)=->SH3_9Dmh5FjE@kg(YuUf_Wf4^#coR7|X*!fm$U}O3d8(8-S z_{tvNpg+!*^B>*^49)A`Zs$8R^y;gFc>U%#L%-=8{LQOFul@$_gTLVycn`>^G5xVe zXUE27AA4-p^^d-95Dwm-OuwrmVB$#`#~q_ci)quN|U+ZJ2L__%FkVs3Be)gDQc! zvAGlez@BQaR$qN}{=}irW?Ar$*$>QA`LlTsOW;iu1;Z_Y2iTju;Ue~sxCJBF0x7PRFyQu^1Mhs^CZ7rQ7MUPVbvczca^PmZlKk0eKJ+=6(!NIc@FWx&ew0CiRU9GmR-nqV3Ti@9>-P$_c);`tRIyDy5Trn{& zhgCH!$HkaS3p!(B!WvQ4h&3U`*dt=+5XA?@j3MMBm=| zZrgE*MbyPymvJ#}bcqe8aY-wmI3E?RXIV%B0~=e|{LyQ#<@)Fy;#J}@=noeFxZ~l5 zH(?iW8wxVeHJ~;Uss@eBoOz9ONCfPX^!Ib66uPKHN}ypfBmIKE5Xvj6P&>Hb!0BXX zg#3W22r&X36lAB7U9wJ(gieP>%cHRJd^yK82i_9` z$(BIWmRR3j*;MS?*0p&5m0^=ywhD5p=3!#p1SGAH#fD7LY=05p570y#DX_*GDk)5C z6-8Uf>Gu_Y`H=320{24_LO`b%0fQe=sBX9*?m#MXygE_O&!l_ytZsu{ENpS-P;9dh zL2hSj5&CvsOO#+d6;KUR3RGjLz3JE7C`KA+3oTyLrdfnX&G^--%cFXbNaghkKA+tY zalzbevRh%bw%SqhT(pT&FT#1?N0i)FE6^5HhcNpHl75SQx$f0*i%0UbwK^*~%@;fE z;*q6m%C6<22SsW?Caoc?tq1w(X?8PFZbeYPOv&g*e7uj8UdzXdjqZED;Ct<=sc zD-dk83VCi!j7nw~bB>|B=F;Q8GgZV3Ab8dw_5ZAf^BO36;6uQgx~t(SK(KrpSW_=z zb^F7HpEmrW;lHpJVL-6J>_g}PaS)Bd2oOOq_W@2oH9zKl{fR7^jGtJ9#-j^xYKoy$ zH{~mG83rDY^)2yxa1lyne2;Bhib^kLaV<*RN4@!XJw-DN0vPfd!cHM15kHE>5cm}C z3b$5=9s%fuIx3yL^OIq}8T-!$F!!r2*L~HZk`G!@sSbZDV8>(M_5{Tlv(;+$c=)?N zZOheecexNz|LNIN*|({!-f6Sj<5nwPtyXJ7mRo^cY_;B2?&>P*l}tt$g%%K&<&{=z zlhum#?09%!Kyx-lol!@lN%QEP?x3j=AUrUi1p5bEASghP#879sf}rfxK96gMFW~+} zG8+6+DjU?FS+uOcwl3OK@Cq$wJDq2*w~OWhmvg(zNhR$O7HZv2Z~a)TZ=mC|F9=UL ztyfct>8q{IJ#?EVzeY;SmX%D~w{JfHCJ5{k*TFDlU_~KA3cVnIh}`f5S)QL}aC~C?B-sqnMyKEfC*z4GIFoi7$EgQS z2j~Z~kGD2@CGo-!(Gdi7aeBqYxTS`F!#4k7eA3lLI*u3BqQ>vQi>5o>4UEt*W%Hx+ zdqmt7TJXC*=?K4H99nQh&GU5Ox0){udDbK@h`EE0%SLWO@2sOAj22BZ^ffoIn)qN4 zR-lR8>AON^0yqJJqTJl*r@vi2iI|uvh??aIw`ThgzR#byzJXMOC7% z2wlM@of_+nm~Ef81Q895GG}Jl;x)JB#%5nr!(kPg?Y-7WNcD!THbt>{^gUj!qm-?w zCb248HK{{32YWN6eA{kZBIL-F*D?{M--FG;RHm_3YdmlJx}EgdQHoVU!9``0w5il) zZS=~hcNs&Dm=#3f4K(|0sL3=TBK6DWFfSGG5tOVhi!+3Pa^`DMVWt4Yk}2+&eIDfK znoukr+!}T>3FUQB3Jf+$q3!F6wmPhO!eNgZ4x|(mZVjt0 zd)n&IHBUKO><&oG+VyklJH#I~Ui8`oR79~~MqnXbd{jAKba zY~m7hZ*-sJ{A(xW8SmWi#&2rw-cD*shv^5yaLiA~jq$dC??+eYsZQw(@9YnDxCQNu zrsxS>1)j=xpIUD0%R230SGd}h?O2W~%5IZ0*Julbydpxtp>qQHi?SwR!40~YM-^fq zUx!JEHwT=lsBBLrY^H$fb6eaFxS*Rh#Du=N$z)N{H~N4F3waULo5ZYOfM&PZ58hQwnW>o_B2wgG$d>QC5<`VW~T`bXc(96E=5L>M?r8{O?Jq1)J*^; zoYm}awpyG0$Td;GE9@}V+f7y!g%e!Z<3b}*f!W<@b~_njXn~BSp;$3n3|1qO`yBTH zOgYiC5=##F#>o_pn>Pcm4W@Av_XegZ3VzGD5rGC9yG`ab7y^X%N`eb!1pvUoI}EU4 zQlCeJ7liE%wgw)%O`)*R*J^MzB8b)x#Cbn^{Mlz8UHg>&pZfbz2j$2uBdD4E*V7SF zyZQ9f^?P>jewR*==Y;@pbfk&sgaTCAg#MpTt$p;_=h#)Z+%mG3J$w3J*Ivb%=6Y~I z1^IyZhB$(Z=b?r#LV^8d!|xmZiWNkS^+OpMXS?|l8S@|0i%)Bs%9y^G8WfDh83Pmn z^3LD@54NOb?g>dvGoAc5^$tWm)C1KzSO&2LYKnb`)%4R8#T>>Ir4Ru~=X!gM&sqto zXL+y%Zr>mV0fmTKreWsrcOc4&W-?tAnNZjOi;!>#9arHJ!u_Zytc3fdj=6S(&gf^r zpIU?RL+f%C%W623a6b}p8q%$O77BEu4J}8!0IO#(9Aas>CotMMFHjyAAQeBKr_sPA zzzy>>D!gA@oG*fKI{{MSJ2G?$I4G)q#ClL)#3AuU%*pr_z$;Qux$~0JQ19NcvyQI4 zaxC8@xn>kBqUg;!w809^@S5MUF8 zdWh)?XABW2oPz?2SVCX{#t`%ebpR>BlG6tt6OKcF0nuZIqi`cu=%8N+Iz)Y7mI*>} z|AsC{BEBrq?2JZ%FKx0!8~p+6rhy$Z(}&=&vRSOHHY;WvJWgiI{qCV0F#Z>xeQ~(# z%{bH;id&=-@x(>y3M3Ajy@J!}bomlc-A!SSGwo@*%O=MB>`IqECjKhz>?dyoq`3{r z(1@`}Hv&3JFrVMEcWmEfYwx(!7>%Q+U|fcnZ^MBdpKfg*=x*KtL}e@vfI#TVBc?}) zXpL3*1)K?qkFa&9F#-}a!T0d9G0iDnMX-YPDGu;3gsdPu22-0)ZrLOu0t+53Xcm-= zh2{uy!Nj(ro;n5w%#g+tY)X&xcR_c??Ip5m30G|NMMY%PZ{DQgF6NfrLY{7yMNEsj{fXhx$ET?=6Q7;#ZM7x+2^a4$D%M;&Xb8eD4$Qv0HG!cyOusj_` zC>IP=M9px*YnTXpB4OP~z0=&FWou^#?t-sG=@z)$HLikbKX-lP`{q-cmdTm36N?MO zXZHAuUVkd9DNq1o@ghPCz>GD;nu=x=t;OebHU|-G;IP~D*LQsO@)b*t+_|A(Esdvy zOtDRk06sn(TYmXx^+4aAYbF;TX`TIfW7An=R=8^G^IJ}n?RI%shURA%0gZ`bfpD4P z$pQ_5^l*n6gM6ng;B|Qch#)aAct8&utHe6jVlcQE zM|wPXmKbL!d74wC$H}=2aV{Ju9(iJoIKM%U+F)D8GncsgoOZsWh?MXKpa5K!Ac{z} z7Q&faI(K+t&6ShU{%s?yy+36i+TGK#BO6Q<>_uYJQL9`-*-CjF(O?EFIZqUp!$)TvNIjudFNu(`lR1vn=I_E~*T@ zZ*7|;+FDBHdTf^B#3`KzZY(QtKN}9-bxm$~ZF{Qi5Ajly-4YHoY2I-2vO@2vHH+wV zl~!)A53Z|lJ9(e5L)gnR-SRA7H>*;9W05`kdJEG$t)9Ln_N=?bt^cOwx4iKhAuAA4 z43f;ySjxYDIim1?*->3XpB?|fT}cgVgkIsB7-J;%aRtU`%9i|1Up&`b*tK=*>>n1M zQxfkHK7^$X3VLD9K|@G9iWrN*mWV0MmGmMKCz_^1Z?UtA$VuBc!8kuodD8sh5OwpX z2s}L!SvEDMSxkk_#_nV| zqdIe|$0}@1Ap!fRPYJwz?$5b#D6EBtFk#%ll~0Tc&EU~YR$&+Z|6s=u9$Z0nCsUb$xcNG_F6M+&VdG8448{NN!#M-$?!mdUWScwp41 zC5PG;PYPa4T})ubhpCJtY)os@rgdsdyxiTDOq3uVJzB0Q6L0s$Gxa^=Y8~~w0>$C! z;_~+mwkM-CBs{fM5oF@@viHZ*ZnYGvO}8-U^_7kapZK2=2ZYx!@h2O$&QJXMJjKy~ zVRcMD7As?3yCcU{JIkCytv)v%#)8}6u~-#S+d0(3T)q`XE<{p2j@j8R#ahdWe2-0{ z*?I8Bl06m(W>S0tyQ4iHFoy$0%^PW6R_s~Vftl&1nK`tsIaX@=Zn{;Q{OD+I_|y#( zS3SD3tzxi^ZmmsC_s+8oTcD*FikAFY;x6pw_uv`L#832ZfesdH#Zo-N#~rz0YH~rh#9ODRETiu6KV=4a!4}pR&w{YN&TX1&Rp z&lMmClSOH6E{+sfhc9L^Ckg?24#%Gq9u*d$_;!Q2MR20%iIfL>qoqe( z>lf=SWC0@fiH|xq5Y+|(MM&HHHwpGzG9nYz((X?Wd%w#vbzLzr>~>4Y*&K$ zlIjk?=mw1&YBLrjNt;Fn258l=9hj4dVqX%{3sRx2D4*AKw%240cE>em=b{!VbwEIc zI%r;IZgGWHZb~XhnH6AhFgwATtuk=8RvH)2D>vnT) zBQ$r(!4oSsiqqozvHo5HC}%{Kn*U$c-UL9BqRJcZ$gDH7@~W)Nto!Uby1V+UuCDH$ zv!{FRgSm%+IbgU4hI3|+LqLQXE)@_^JOR;F@fKNK6;TlvRPa_jSato>byvStS67tE z`Tt&Ibx#kVuKWFGs`HGDjEwi<#fx|HS%(|h^1cJw(v;$f!DvxQW17!EaBT-^^d>1P zN|Os&bam$amp^Aax8JySVq)!$+YkNZqT$~C*WS5#`QGtFIRUHCa$!aaK(-z z>;K1{LP7BgaC5y6UXpPbT{IvdAvLE_z#M@e1wiab6H#^aAcCxvIs3m^rDdNdR{|M&r1y5Zg(;VP)dL`>o^>oFh$O2G-C1vTdu zs4xvkD*|)F#s(q)6wN>pGgmwE?wcEnl_7-8?-Bv}_O6#S z@ns++cICTX$-XJv2rqkr4z23>3fo&;Q&R}-Uha(DL0);qLg5oJ{7Y!YhjPUtJOB&q zwrKk8$!IkB_H^_jJ^l8Ct|#7}*6*VW$RCDVm}@4xeC(eD>NBp|pM42@-946?zjoG; zidsJ(sq!;ggLwqJ(}Gd+k*^_Bc`1dvRo3 z>0WvzmAKcCxq$Q2?5pfcFaQg2+dac+8C94L`kTSVGfzK#-+=>c$$?KZ^}qr5w-@9l zCl4N+#8aaPeDw(X4Qz)q`G>T*!AR}M7-nh*?>nSGWgmxWL>%fGybH0nypEv| z1N3ef2LyH+5w?svgZ|tkAQz4k~Yj8`EZ_u7aZ>3t(C5a+0()<-hW78|8o6D zQ4`Q%_#*1R<7aI5TvxfDwBXX`M5E^+O$@!6ofb_$Kz;W>%6zY$WEQ>A{r8k67)cgO z8b;FnkE8)UGJ5P$_7hcA6D*%zXb-v>0!pzXWo9WP4>)rcH2 zlkI1nuzA7>up8mc*e3y@yayo|W*kR}S!fZS6SDuwh}`61FH;FvA^kQ$>uE**8G-A` zCu#fhsPwc!UhYi{o6iUWg~^2%fj2M_IbwFql#C`-ap6z+*7p#B|6=y}_t5?#cj3#l z40X(nt62n|#i8vqP;R2CZqq}wbAOAm^fO&SThKx&`g0mvPd=$fxCP~Vgj+>FP-+Yz zF)oFSa8~%y3EqI+Tn4vTklZi$rn9~w?i!149>bEBnmG5wP2LdzoE1zSy5(=&JmEo9 ziRakf*7@5sK z&*^kA6?-<8NSWWY6LdxRSMsA!V1Ba4sw5yhhC5WEP)I-_4-Pj`vD|Nirx#$4CJ5_V%0`pvFX`Ss4N6CU8|UGE|A`yBN=lM5X3RW0$W#OQk)s8s?y2oK>Y z%6mWlrVgls6%;18LxO-h=2=I!_!_P1HH-8yXb*`AIGUrSom%KRUsQYOKU?kaRn6*e+b>v85LmlC-&Mt!_L{V?N5fx zAuSZnS>0u=s;2@Fo9hv{SRt3aFH?w@B!5;nEUX}c5e;q$P;!=&nQ~ByAOsh@-jJ{) zBIS}p3n9mWOvP$|5`X`p4YShCCm@4|j zhhG%MXMA^G%IO(2->t zbmzh~SiIH3SBH0EzcXA4h1lCW*K*w}8jaJl#pD9{V;q4jf`X%n&gjX zB|QflNl{BCVbNU(L;1@-M!r%X^F@y6+-WL&k`4psV3<$uzZF*qcVmgL2m#!8!k3); z%g%B(t+}rAaFKI1bIhn%pqYdwAnHSyQUV`IZ8!H2`rFTq#l5M4>$E#C{G6SySlRCE zaA+*YF3XLDMl#)5tCX|tf_pG`Ncb@H37XjSr8W08TH4nXHQl+@$_O!ut%Su@#&Q?g z*{qE}AwmaME~n=0rCIBtR9$)`+uNIcM5?DAva(CT1=vfmWjmoi^(l{2evQWwTQNEk z^WPwAntX#l_Svk(E6L98dDr|9(KL6!afNW1I_Jc$F(G7xpu?MyOyHKs_s#W=+4)=# z)x?5W0HZU9!}I&%-DavTBR7vJ#KiKND|T$VVneS#tRR=KF4vPWGv%I<9Amp9(P+ed zhZ2n*5KfWWpXlY^pUDV{d89K`_44U6;XG{i?2O5p3WMU2pDs zd)GUVDgiD%+%D2?&~OVPqAm@~7Fkg_)FXb6m-X|}Pb($Pl+v)Ccf=P8uwg-=Rtx(% z^npFFo9V3&KgLBcc#BU;i{XEFur`3ax3OpYi8_!DI*Ia*}@+PN{88Vhvm=( zV7p`(A-GRuYdu-_ZK`ywteUEHorC}*(zTM-{x`d@Jq}}lC2K^%wuRj`)DLTxK#LyV zo_CyrdwF3cE4e>o{j6JZe|9Iiv0cJp0-T(MN&DZ=J(v9fb~BQ<7q5=2l-LNgM*^Gy zU`{l`|JI{sw&y@w=X;bn4NnEV0yt9hsgeK=!+NNYd$ zOKD*^s<_Zxy1!In1u=|71YZluthcw8$iT)_khI$8 z;nRY^@>;^^%_hA5ctT>W5IU++?V*7nCnd(;&$im@ z-vK;;B8>s3Fxm7D@s<73*pq$w@>;N z3F|AEa%D%l13isFB{Pv}T{bLsn5#3!SuR{5A5=mot2?U39Cwkq`}ij z#|dM5fA{GZA8ZX6`B>`b$wE>#qR11NN@oyp0+EfN%Cn`IR9d3?q~D3kc2x;jpXcVC|Z;p2xSNH%B zehb@VxGaPfwK>rvrV&I$zbwh(u;suVksdBW_C2a=51^JCNLGbXKH)uMlTkN z#Z&=7IY^i$g)_>ETh}PC5@1r=y}nknBUa7``?aC55#1OZGLTnB%W0q&*?~O+YVR*# zTQSe0g9je=;>uJYmlU+{evS)$no2O;<6j26}f#6WsOxKBr(H&1(xmsWab!hBr~Rz zR#hMakpQrWrAx8F#Ne3&1^B|{3>bnV|2Ec6whVi2e+2Xzc#g?WE}eGaWv%W;UN-zp zi$(J5`ovf|v*ncP;Dl_)dMTWbgOP;E7^zHq232IeE>D*NVcTf6Vz45FT|4{^Q;FU_ z%%x%^3PT^urX<|~ z_hcQ^~?Q(+b&s_aZ0&q`O>j6@)viP#$myy zClZ<&-?ScZE$jLJUU&WGo`EUt3Ei7qz9gQ9$hb11JoiCaiKQF_4&Y}XUnspe(hF>N zKp4EQ#317Xmj>J^)vE9dq!hbt^|hzBTBl#Tdi8auwOXfLx4KXt$mRR{^9V+$Lq5>t z#oF=e0xGoXIx2kKDtd?|hO$&JH`q(rDI8Ug@tN;E$m4qvs2-*K`V8nC#2seIGBFKd zY|s7pT<8(32I&USB+OSB^+c#3KmsM3BM4R4%i{*_^GIQVYNNyL*bP|E6Fuu_=mBbw zPt--#;D_(^7$tnRM_6!|Nawt^fCll`Q6MoGKExLNq9dFiyQAJ<6W+oOgf6ep#N@-O|Dxd{$ zkMSevuO$3m%Z`Mug>RPzMriC=8J=B&5z@2p68FbS1w<$tnaCjgaZHIvkWw1v?4V=9 z%xsF^ga5^X?(_fUHhGfYM2uW2WZmdC>L=H&jGAqXm(*bxNh9op4-Q)r7!gSh#*oj~ z_Q@b4%&+_UknPc@>d(YMk3dDOK`?~lFF^)k?X&s?b zhwdEzMXZAx1}V}T@C#Y&KL7QvKhVCB9dvIS5Eipg`*ZFeg*WW{I_qnHh4t}8-!@-T zT*3A8vsno#z&XY|Ps)ol;9kr`gyS_3l{bJ8D}JY1b`TcQFB)Z|Rc$&@(_#I=M}ub; zB;q3bGeYsMh3_GJ2k@^5Y-`+Y%({`T?zI9UJJz88K0MaKibcW2nA zzT)orRqsIGtC-LmNy?H~2|5we{gg;9MA1Dc<3CIghtb1M&m z0-z{%e8hLCJ)HBo){f+RAQK*4BnwaY%s|D%6R=bp?3+C+6RF-b^;I;VPb{)5jCr5C zoOjz-$eQ9SFYdIiPV1~-!GlCz@M(Ctr0TZNceUW|wg zI{P_YdCu4{1YeBFjhN%nwQ6r7v3NoI;-ql-tR;({QF5u5_O|;O>RkA5WRhgyk*OgL zWnWbeNdZY#l;O=LR5dd#Zcu@gRDojB4~t$f9w=KKKyZuYL$Fzk$e2Q~Kt{r>yC71@ z!8UZFYX#OVr*)l=Bmqad?tpacp{_@|KHv4Vt{-&$vg?oVv@wweY=BL|J8BEt%MP$B z*p2K?_BQrjm>hhLJ%v}3vitN<=(S`9UWU9 z-utufqX*`{ZvOSzil_|f!U0K)DReN+;lx4B@fh>v!ey@{z(!>eMFztYW6m3LovXY8 zuxPVY^7B{a1_yJn0U8?0w^s_6S(%L0ehs9=&jdvc>v9C>z9uN@rWB5v?SJD(l3}uI zkTO$}4fD0|nv_f&#aIb0<#0W0zZFddmk`9tjqE4k>jf|9MKEJT2*5gSz;Ox6^EE;I z!|H@}@zQ~l=>#{0Bj99%@Ff#b1XFs@=YCOww|XQXBYHBEafmo1y5U|R>j+C2l(pz9 zq$n;1Q_)u-9VAj6p`g2x8bP5EmIv?;b&pWxSPBH#)ARydbT92RVT4}*0Sc_3MxfCj z^%@?yna)v52shBCV5l!_nuzydyaJz2`}Qx;8FcVxbW}KCM_((WtNeEKGASOllR%~!G^sui_D0mnc*~2 zK}1bS4-4KwP{&j%qt$dLWX8gfOnDcih!&Iah?L?b;Zq~T5c$yz2f?AyBe8HQ3$T*l z2EFv+BXk$~neIZ?gbt_v#lJ;V8C0oKl&UcJ9v8w$(;AHca-AC-^YC_L`3rbOsdyBD z0c?IQ8N3c^Al=AQFTn8_TiVms+tU? zehFfaSV)6+KQ;)J2?hqPg9Pb50U-q;^*17tBydIM0r6q+9WOC&Je?-rziHsunQ#Bs z{Kmf1g-1`{=jMdzRc+JT+}1wW;XaUUHT?H-AFmfL-M8+`_zen%U9C{M3qXt2-8!qI7 zJ_Vw&h%uTF!tT0|s)l|ra^%zylF4)<)yH6&BD(sp_DM@4js9S+DCK&q$yZY}=5QRA z3H>#=7!{e2k7L-xV)9mEmfCM=%5qcwQVU6Ie6+c!8HqFz>)q$mQgCrqa|3+>7|~M7`oi3w zxFC>_w4{Kz-;S>PpRzN;2DP9gB=+`@d7BhQn#7YB<=y4(;mC=mTL7vUW)}#enz6LB zsv;}}Q^-p10A%Gr3MgG=soJYYa{tY?X5C+iZ**_SuvfMb4GobQa2q)_VH|~k6aHWn zp&>%Tpb!E2D2P$PK6G*WR`v@w&OYw0V&4-Ni7`pbBZrx;!=m$MyBuc1NorD(bI}j0 zw}pIq9?ko2ct;};dRXhJVwRu=M1lgl0C6TnO^~{6)lm_ng{h)&0rGBQ`lXzrGVJ!; zrtpDm`?bQQ+4g4kGa+WG8u2YORN&TvM<4~Q^(q4*0+lP_pu+aN?QIv8N(fPjALf_F zu@Cr05rK9U77vHJZo{(SGl&WHQx;?uwzZ=I;lKbUaCm@|^-YNQn=s>NGdLpt)Ev3uNtr8D@i=ZCk3D!SMbmTPc`#zL;D>%2eHI` z{Je$`QRi-lxP{iD0=%<1is0QNP`dGYyekd75Z}rlc1onn5jQzQvA)eYD zy-weX6oUE%Bd~`t^~gZ0p$+fbk`Teass6#C_|!tpa3t9RTjk~HgpMHDh$xU>Q(Ck! z4*{=FsCJu!!be!hAB(F%86)o40sEhnVk%;#Cmhtz{DaTds|c*%*P59~Ae?ZKHIU*C zP{@^-j@%rG_125XiBhO1=~ILepqyrF&P2}YHGSlbUSE{0E-)oqaQ_WaVdOkKL;^lP zj6x(mB!O-zY1vA`89uM4gE1Q!D(uY&r2t)bE1hnoBQZosX%rE7AdyL}+f>XhOvd67 zUv@zqA}cIa^=3kY&0%sfTU^m?_dB_znRK%#98mpEPZFUDAQ(cr9#wc$%Jim&R_azC z^6OfPfvmIvC2=?$Of_KMh?KfvL1mZED`BXx<^V#OQB$< z45s!XvQ0sWCFC$vtwMSr)tifs#)H~4W;NG9A1F5^X=LS7O>TNiCr6bAi~x;`6?^}Ie$dULL${3j^hM0 z9h4s8X=l!6tz)J(-(>A~QRRU9Ln9tHgtyYx{lSHhja7shvhHbr3R^L)Wfi@w#gS`H ziG->ZS&mA&m7dhq)C-@KSsrLJsK7O@{S^BzRdpi>ya(N}qO^a5qx;gbF&sD8r+MYm zMtsl z$_K&CU@FeqSTrA@O+~!3e}toPH5$0XB}=4EZ~co#}}W|OE~{H$5?Vn44(WO zFMOG&{+`!)U({)*UHBiq4w0NKN*Q?;ty0-*W7%xXeHFV1(G>4M46{JLhQC1giUI5g z0^zGV`zr@D4X5tYxW@~GFUBb^627!w*ZXypq!MBG3oou>{_X#L1y>FY4FxkX;dW|q z`{Gze=+PFTk&6Q1vvgP+gR#|Lx<`Saex}z>`kv!Q8nu^x{L)#x?SalW@cr@I+F8dR zJAULneU|om)bRR1SodnzkMB`|4(8I7Wh{#tUAnI-+|rc*ndpIA#{`UlcfuU_3K*i? z(e>7@cXoXkrVUSaeXHxoo`)1+GB>E2v#KF+A6(~}{#m>R9+&x~NHirDC{v&(KGpFF zm?lCS-n&@_ZJ>6Z8nlrA|06b1d=@bH0Y_1nCoO!=PnCJWoEpPDK5=vGpS4 ze$n;)cA;QjWNE@_nst$r&pYijeBRCw{%9EOkRkkOkv}0n0WnNC zJWk#rp>ZVelEM?-mA-JeFQgZ2cDs|`NdY%^<{kH9yCAGxzy2wsKN{^f3`HUj4oQ(6 z$GwYM<+bg^ZGpE7jiT1gKkhNEi$-sS8`?$hUCBmOd4eUKy$~5sAGB7r~pF87L~z7(jlN?^$V2p2-Yk&NbD1i zJ@6K2W!z{G|3{d_IXf?sEZoj)7T1)6#i5uAc=l!?RD#XYg(~J(Bi9QE$09?;OBBt$ z2-%oq~nlf_v1$V^NQkD73J|bJKekL4znU|eN!Zo=uwt%KV=;A=sSJmcqy4p+%(KPe^|1MU=RMz!$bzAyGKwka!4J+#Do%~->aeB_ zt9rb`Ul%gnN0sodU15dmh(02|5|LXv31I!d@hTRea$U z-fl*XL{zRu{DAl*j6O}S@_vb?pEKPaCvAeoMieFZYN0Yf+GMTHO2C9x~;(Oj#f-fe#5$Jia>opw@5{eJ!jpt&u zN?|KJLQYxJL3)X()9Q!}IFNM+(kt`~t?=j~t(oXD?6QkNhcBS`WPlM4oUU?N0QEM{ zA?nQ=L=X5h!sFBhu^6jX`5kdrW9vvsE63E^5=JUKx~7iv@>Gq5vyq0Rr!2Fc9@;YQ zQw>#=Yhy?S2hq*P)pQ^hNJTyxQ9~zfp3t1JOk>N)$d>l*+(_1^&q#`DgqItNktOme zyk>9;L^Ks&g~-T=*1aYeni58~HWm(Pja9>n6;0NbmWQ`C>T5j>dTJgaK$$@fOaUWp!vfb zu_lt%2Bx?*#xKM#L8<&m*E3z;hg6doPR|CbO2%5$-{>Rif0&n*0>u&+(okpf+q5NS zl4vM?#bBTU3&UUsP-6|Kf9CF^e+i0#AQr?;uL8%$Qg-%fx`p>~KbKay6Jm=(p5r9| zG==~@2>^AL%_JirtN_Zu>LQi^=iJA&A)%m9(QRA*4L0ROsgy_*i{Hav0>^P( zVsPwT(88LIsX@3=U>V8~PcMX=aU_umsS&cZWUy02pm4<8Lm)qJIRy|=03VVSkOTuJ$F@fsIdU|_26A7Qs)eA5u%aOd9}1+u%w!XrAil0w%;>(aV#D) z1KH}TqMDD6ROEU(t?B(S^G^#OkA1#aaR0qyT=l87-v&57FcWX7g z&L^Bysv$*d4}e~F#ZnV#7L-gX5xnAxbS?w=TxcXObQQ7E@6mO&R%(A(IH~>NSG+mo@j7!=p76N5o3>1B4j z4N~!Ex{k0cH?$#20V!K&M^hNaEq(+B(2cpsTi#WNU#B4na)GkM+IxRoL*YqyF{XJS z9!{5W7l3F{VO%9@Ko+JjV^#(5_3+UpBWW18QV~>35U+5mg9F%Z5FNq0_%yN@`Aq2k ztbHoz2(_{EhdX!|C=SiLT#SLn6ZrXcXfzVjqJd{RMMA%6ocrNmOWOB(O%#tw;2L%BFoKPma0&-y(F*1ZM^+zO8&ZqJfcFmab>U1_MkeWO$q7msv(ijTBi+VuvbHMW zhRl z+t4y8N&@b%14GfYlU2s1^U8>`ZDQ+GCfe6MT7}PR92$5fuT^lEqCtS~3C!(VlJ9*u+FVPyx}1V015A2Oo^c(3q7Q zTi)25AIT)gD+8xDWKo?N9o=H|4CaQ?+RVC?G&~#;^;BUdxvo2>EnJaT`l4GWcC9PM zvhn4U-PO_VzG!A@>%=x^M9EK&DOo2S9U9Qe>4c&*MkIUrwAr6Yh}FavYO5h9Qx9vx&h$^%Kb={vB+4C(0u`FtAvX;sb@$ zFvRLHKm^`r=GK#1S03tLJ*GPPxD>CJdKMLxc()0)V{NL2p4Tf{tTfa5&}mDSqI5*J zbStJPslIr+*&Qpge~1ObRvK}ijTFp|!t&a9A&Nv4`S{f{lZAS3226|JhrG%0G)#T$ zl%2qYAX|1a4kx&tUaMZ3xTg$SC}%Up>5b#XniMjm0+i{Q!qm>?g;GgL?&!OGbg-FD zq#YRgCMu^*Q(3#%K{qFv`42K8LQQVt3Xsy*AWek6r4e2>B^KnZsnJa zB7<#nu(qHlUF&u#@NglofnN$g5G8mFB$53bq0AV(1soa;kP4Alz=S-Y*$h^Z-+=@~ zg=P>bPmw?M=#e9GHuprlRj?j>Vc@)% zHTRyUp4|J89ita_jf-0$+URqS)V`-q8xQW-hXPjBoxF>R135|OvH7wEo?$d112kqYU$O*4aQBRYu zrAmXVSz@eY6@pILKsr^ZPLNNlQAM|A1>w}1*MCQ;M~|>u@amKIKKbMxh}KW}$5VH? z|Cp!_j7z!f6A9S5Q$E|HM{c}~EqeOtk#w)^{`uVV2r?(Un?spCxzMU&XhMt%+G;h* z1u~C-+!(wr*uAPz5|-nW-NT0uKaVzKJ{M0NZRgk;ysz}}UF^`4do1gH^vy?)-Y94J z`>l6!G;o9b<-mgz-pjukGDEn=(dR-UfiYepVI$N<_-vTuVG@Aap>g;yyM?}2JDQ4r zE;H1sec*kTwFe*VzUkxC-|i#3$8S7(guXUL9iGj~m+?M+`f2w7I{l63(TnHMn!nhO zK!SwXAWEEKRKcnf-6;W^TMj34CHBk_!fOCA4j{@$+;0JPR$r>|G`pQc^Nlt&49QxK zbQ<>j;cx7DpB3BtlsmY4*T+l!wZu!`jLPv{_)O?r7#y^WY8mKEBraGG4f5QyS`9gu z{Q@9paR?q|ea}2IlIpWRz!rY?UK&~U^R+P=MyVt2Z-CMO$~XS`sl74leeS)0NUa|b z!9pZ=Y_;#5NZXo&=+WdER$nFuW3Wp9>;H1ynP0v4m5&a8V&7?xZTjr~hd=a(Uw`zi zE8ni&uz39$J$uD}WJi^?Q)9OTp1J2A?|tX3%ibQ`vSsp6@LhYq^x({Os%Q>F1x% z-p-U8&O877^S;STeMfkn{or^#j#9?0%%t0fM?d_QH#+p!H=JJ4tw$nu-`BpmpZm`}Y0Q zLu~i^+;{OWxlVXq*b134g$woj8|({619I#-_RU}Z@}=KV5b-4~##&{kU>1Z2yIr#82tnt~>|U|2Yupo6SFrAD(mc;+ zZijPIRhj_c|53&Akh1`EFDrKBNS{ef=A=NV;PZ!6*$GyfRyu9z#w!ryTg5e?Gcur^;7oEpSi=l%&qKKVh@!;MoOAHzI^Y!tZ=AP zK>M;*y0|ccd>>T&r!Ys_4r4Hch{U1=Fb=GV^YG~@eBzO@pi<(gUc;oPk{I67~bohdMylq zjzf&exjnRi2z#LTektGspkeF^o*IrV`7iWI?DCZx){sV#vTt3x_yReQ$o$V zNExqN_MMQO>#Ak7KZ2Yn;mUd>$BZNvj;5ib48d{~Dz_v>5GT_yq!+pvX;a{I;X|xY zi1(rFS4q0h`ggMLLd6#^1(A?T4eGG##qtRza)^8dgJooKf!{$c>%enBu$bunDS}Ks zdIVW>b-2vy(HIm5a8g0uGlZgrNIH{5uHBJtI|Yfs)L^BaR&(ege;`(>+Nu$?R9FyW z9c~9PL{=CkWZOs-#2^_UkB?B?m(Ihg7!8NE z1^@hho{+ceM$r-~!1t~)IJQEy;UG=%TidS`u7At)Cq8lG!;>HV>espiRsl&gxhYiw zNDbJNSqVT1=_K&QAlxA|U<(k$0ntPvOmTk~(b$>mVYOlg6Uy*1w2_h1YSrSpa(P`b z$WjsWhf#&owRibS@IFUeT4zo|Iwws4x2%ed=@nW3qE%~e{Lqz98%*iiw=Oh@r(EzvB+Z zcHI7x+udXQ&F>X|BU*4uN4kAJZ=ns(>5P}!~C`AZ3^;z8lKjxOb#MXiw z!5@Q@2qIDV@ni7)-ZGE4BFs2kP0%^!6a~cV3kl?)7P}oAGBqXSQxowfR=N>QA4~+Z zK}fKrvaS|&WC4s84B3nr#b|9+T9M3<7EF$H2mET%$NDmU1e3u(2Efb;UFU7 zDIv3#jFyautw^dAM2rMsbT|;-UdR|3pBgFDgApimbVp66BKG3Knx>>VL(y20QtpWm z<=aT+%mfQ5%lw68#DH_@bk2~ZkkW9F8z5d;X2CxL=@#J!U}m)ej8(*sKs*S9byc~` zml7xqDan^G7no%*dNH?mCaMva?Pd>bWSizO7cVofcReS3hJBl0>oHUgdmefGo_ON9 zmFKSJY+0v(Jqvs|h{I$HdHjM1I9bBqH}1P{Xk_s2C!V-_aD<+se^+0<691@;bM+(h zPUj5{o@dv&A7$&m7(b1_=juQHk>lB4WbR(`z-v9`ZZX)u3y-&!&9Z-s?{)8Wf5DOQ zDPg0qov4|=ij;-u7OVts-QnKPzPNqt33lebPTr6{6#F<8!#cvC%+x5icgL-_Z0|dR zo%zHQ?!;ej(ZgFm=C$Z5v2+4MD#&h)eHRSrKllH0r_JJH!r@Mvi6;?uwZ9|uurn9m z#&WN5f6CvpkF621=r1sFVBws7>{HK?nZUf>^Kvor@#m0xga-xmJkziOD z=d6*Z8QKi1(7^|H5*m#sfEw4XI(OC8?%u1fUUe>i#dpM($4C=n52R=ar62#8O@WPm z_5Qz5GcrI@*-p(=DeCUjOSN+Yi7$!kz;6z~mTE7Yz-Yp$dZc+i8L4>cMWPk_hn+_; z5VHwW1tfK(Kdypg1mM~#+TODyff^$&2Ly!w$QuiM5!4pomZ%1zE1Zb6s07N8XaSY8 zH;kP(xOBT5R1&gEsVkC_?{#f_Y%Jheh6yUCkU?~v#Bcp*5 z_dhSj65*H?L>90ZaTbZR6wAdVM`LV6?^Q-FI(^Z^=9*etTB$CrKs`NqT4fSu0^MV& z`q@nwd~I21^;_Mo?D(bQv5Fo`hmwPtW>p=`RW{YiE4#z#73KQ6L|?xM10lqaK^9RT zPbAv@6NBn8T#SvKcVK}a8}$^TL!}0LP~zvXS}2SxDdl>Tfo#5Ks$7|>DG7M07m)1^ zX;iIBR@QZ(1$;=r6t}xhfpzIe;B4N7@DCg&)HOkm3Rj8Mockeo6(&exP|?|R1Pw6M zKi;u-byiUgXFT+6PMB4`AVV1`@rYY>@W}y7B*_Vc6nlNyBIyV{_idD@29N0W64XxM7{`#23@mHlc8lpx4B29SMa35n zF%90vrFwbelu=t!Zk;yCZqX4XT~}l|DJ8R214(v`U?PNpjNnD^0Zg13geV5tOOTKo zi76rT6)=~^VV?)X8(*>RlXBL;&co)o6*7Hh4a+CTy~-G|B{8J-b;~kx03@*D%sVSt zq5!`==1&BXBWNPHP&K6~q0j?ujH962rCOwSL&NA(`pu%@KHJzdAoZ{AZFD2JQY;Cq zP~`2Aeg`UpHNkGjmqXIAP|u<~A7H-|Uk!^e6DHlO;i7PaBA{0Lh;rH}};_mGTm zl;bW469UB%;sKY*KMFf61cA36Dde92KwILX3A^ziU-fYo3x=osQ4l?k3-fB>$m{W7 z!MPIN5a5*1L1_?1uZka>{N{tpmK}Wa$vfUe`!_vMs`eBL3mTp(OsWTO~@`Ek3pQT2_KD@n1DPxXfb z?oZ+FiELOwUnCTcRAMQooEE!>17^)i3_>02Hw|+zVfUHAdO=85FANt_AT4C zX0qG1_HFIcR8?1QI&#wyb=x-e=uwo}p3Y{sZP~sxqp7`H`+B$Xc*M_%YlT1HrBy74 zR>5lQB{)dIDLs9qrwway9T}g8`OFD*DB8+#lh2x+054p!z&^A2bq5wNKJdEDn{Pj` zXwiY&H_seCrO`O$@XYLfY|qM`6_>AEb$G>!!>h)2Hk&)g#!hZFPaf-EvZQ}t$&w;H zH2W~^m(PEiYMJg?xo6CKe&yvWrts)oH9Jtn;>82~ONcLFD}^&f;&)QS@ld0&w4r#y zfx-!A?9x_4zw(!%!Ts*Jvqx;@nYr=qAL)lKyJgYwqnFeQK^XeQ!bD;`GL) zb8J+= zl}Biqu9nz9R5q?qBMQ+m+oH|@C9$mep-4VrY$wx$N+q&kL48#rJ9NtE-V0KrHM{<8;I8+5G zX&PM{;G%i}@Icr$AUA?W1ZpsjNF(Jns*+as@X!F0d~ZFzmB<~85G;?(Kr#1{)J=M ziZw-neSm6?!++{bD${;TEHiGZ`9C0>{Kv^))?KC9YgH73aOd5}uJ_#}ybgkulK@$$ zvA8~+yAxYPG7wUZOguYUb`CJkR8>Wffda5;;(~HhjDc$dT>*9m%D_-Q!O^6JS&iLP z-Z0%;U%p|5o$85OQ-j@07cN=~L18=_H$i7Y1URH~#9%;*u;JBfSaYy9y?9BwI$qhb03NtIH)s2riwEA5sL^ui z*jL3KF@uQbpsUpZ0#nN-_7pz|^C;vB`v7vHPi)=2X|!N&dT{gR2RE68#^&8y$KmWc zBnZW&yAHp0^R8P4^6{RYcz)oPU7KHbc-PV*Sbok${Hypjks?Ihh1ls|Ld1;kbD<1I z4BB!Jh$A3=08V_|nhsXswgb^^i(7$n-B$}?(H-KhH37MTAT5W+j{t|} z;ts!rx|^d*1ddCzkvl56~{|R2sK>h&pWeIgvcwQy7_;u=EtNqH-%W# zGmuFmJ3XXN7`|XT#8xx-BXE;Tz>^6Jz!w~ZZFDj#1m$E<4cEq??Jnnnk)Yy8f`I(5 zir)Yqp@`$#yJLRD@~c*Jp`H~zy(@Y`IrI!&>vlAE6Gnc-`~>pkyibr7%|SYBO;H2! zP*Bqm5Tg*C>8VZ|#qm;cq8O}t|G-JYxvbDC;0I1q5`OLz&S!_z$iDA=FXIy&hDDKope6a`&8N^7;oo1ijzN~kq zr)Q>j*>*aM!GsHUtoBh2+DV_GZyh(|1+>A-R}{42EwWD-^(6Z*(6u`x1pM8#t2xRCs`0OR^Qm zY=~uKWvw=@te?$}l)ijLG0ooWK6urh(GTvP_Zo0U800}Pqb(pHINPe&xT<$~q<>A? z2oFXQMfuRpY?Btq8}(#h!c8_D#FYViT>ON^_Bxb4IiX2OTPmOQuZ=Qr{NjD2B za}YtcB4S+?P^!sXJX(oKDNRp8TraQ9b{j@_cC8FMtyH~^yrM5`H5M+uf5E}!z2~2| zB??VgEDB%wh&fnWcwrTb3nA+Su(+(6k$@i7d!(?9q`tbMY9}4Y*U~iQcWv|CA*8rS z1+guW%IwI^PRAjE=N91xNQ`d}GexG#s_E zpTB%F{@N!55HpW|0{cJ5zk04Gwt4+jOC0Z~oMNJ5RcW?kM>n3(v4uGZz`D$X$;UCw zaq7-}WN0^UK#+8e%W-HfAUv4E1vy+F>aFW5JT+qXY|j^T>;Pk>^qhbiL`=$-<4|w?Gwk zA=}71yFQ9I;C~Nw@Z71KS(?B*glC<7F>TppblqV8H5DaHeYuOf4HEhiY z`s}1ohFB`ChvdOhHKXMX#ey8NyB62Xnnfv^?#Bd(H9(7qp!AbFUsA<2AcZuHKlW6jj`g8LU9UeR~K z{!IpSyG|nMq+-p!{KiQ;8Z0AhX0%VWp;(n-wTPLnAa;uA+i;*TQ0q2xxeHI)eQP>k z_ax%|xk@n{442LBRmei5E5)d_XsJ`EXPuO)1})j#dfxt?nM)_{Z;nOTFThfUf-y-? zO0CNfgHtUG$JOL0w7gP04R;U~>{F?0+IOEo*(eAh-s2$zQ8|x5wqBk-!cY{0JqXBn z^n><9COLqJTm8#a5^8o%X9*2j9 z5W-T93PiW@#Xn7W9IE>T4|)FzGE_UWW;MuZBYfgscA_AZm_JW&r1)!-g=cb6#h@M_ z{RF`6(FV?sknJ(eKm>WG#mNTE%P7Io!Ul)Ni34bn1DjXi4eqtTO(F0|eJ`q8bE2&tdYDu~;V5@!6Q2W;} zGZP7K2!@N5Tz@>?Yx&c+?%sGHmybr9WA{&9I@7cNye)9y3@Td6$<_<;C5tSC$1w_~ zv#LAx{}K1z0dibbzVO_t?yjz`?&_{i)j8)dJu^K$JyFtVM$*hEjgl3uWXm~c3me-w z;4EjBwONpDf&(^S8y;X-!!9N)(ZCYCYx1(dvP)PS!)i+3@7(Gh$-?a0?~nJM)YDyE zb?escd(S=h+!KB$ms4G`@8Y%;QA7QgIU|_m@Tj#7S+S*a#6sXTr$vGmNplA^)xUB1 z@a~{M3<-OscO9}?Ljf594|X^9*tbX^2F2bM;0x@qx||_ULwBuMhU`># z^!yb7)UZ}qF~>Wi6HRt={T!l6dHk~Z7gkN~;5^i(1=VEw7vaiyRSBaP=k?&2d(%z%d32FxuT%B&U+NtpeMi}E|)bXxu8S$I6-f0Nnt#<{oN zoK$>GP;4(QE(jT#WQy?dKU?36|IG^Ej~=%IM3;kBJ4;7UcLXCjw+pP^zp2COhgx25 zDtYca)(C5$66&rIAiEjem)7_iu{6Zj2=+%cLi~vHCg-t*;3Qfkz@2RNh4;Lv5mCg|&#Z&w5*LOFA7{i`hH^Ea0N6H?8e9J2-1R`^>`Z?839pF3gUNF~_}^ zGx@7yV`Ii^_grDT_O&thpC&%}{KTLBH1YiNOP>4k>F<2!I|oi@&CUVe}ty0QAlyTHoMZMavBT{gsoHJ9- zZM(zozel+6l1pdjeAUopu9!QQoXoDA$ho8HWeseecI;j_#2@=LVOIDhX{}+g=esj= zbB4Xy)4wjQbnY0Ty;*Ufv-OMeVg!$q=`tRcR#WMj&^LWq40J8Kg zfGp8`;fjOBO ze;_hk^&=?8?els8C>AX_q_K(7C33(CLY5x zh2Vsk8W}*2Fkjg}NC_3>dE|5nnEEoj-FtEP5je!a%eNNS(+Mz(xzF41XdR z0?wV_PEfMDh$gzj!G!TgFJj-&{v6^QPO+{}D{v+SW~P#crg7!bClT-dS3t3Of6t3V zX*8S?hLy<3e8GX6bQs;G)jZHKarhdVu<8MdO|}s|(2Elw5hXw3uC1sNUor9~wJeqa zt0hvPdWfoteoSVLifGj~Yc<8V&f|i?cCd4cPU|=+L5l?xg_~gzXIR2!g}Dpxq97WJ zL-fPxQMWrj5Kck=8g}~;C2Ut>!DJ=Y*S5na5I%d+T5F^guvjBey9iO-1G_2&oN`33 z!i5(8PaeT(b+xj&2|I(EB9c_Q+!~VTz~~%S)0*WKughX_C`ugOn2dQ5_2qZDy>?0S z_&uuK9gQI+D<%Aukuf*maK`?CBsTz+v8g~P6`Y!mEW3)`>1ZH{jn%#x$kNbBNicCj z1zu&Rx8_1&vWltx>hSK33X&L$tu1Gqcc3%|JVDt4Vvvparz|p*m6lh;5JZt6y!k<7GY9{jTw3|yO=B{fwkb8 zgxS?%YRKor9b&QP2B=2A2NMIWjkIlFBJ!OSu@wFtV+dYB6C6ZR?p{E*qIsy)W<$1kEZZhSL&ZVKERQ`LSPT~f zIMbuYgPob;0o_jA3(q*NbdjH7MJeRhf_6)OczMbN7-}FKW>X?yCM<5KytSkY-VRA- z4{H997g;$?Tzp~|c{U(1c@20$Z_GuJ@bnYqKu`|2yM>chZ$#F8IK$nQekCS_@4}*`AT$aFTjbB+`tc6D6F36RZPR9s z$!;zhh1H!NG8ejN-1!z$b<-ilOVmw9!X?~ zB^S(!cu-pvv$zGyPH3$-_sOFiaJuvk=dzm2iR#Fc`H^^-DzYcnUB9nY@7;XiazXIV z-?jrFCu^_YJLC+kQrBO0@5VikUhH=Ufs7>WK765H2`R4im)B0_piHQU+c)#d)|AIU(s>vW%shTy5}#sYyHY= z&RnHBk>&B^_goloh7`}bix15+wsPH#rwrBR51q`!Ws2_DaOcVJ9>KY`v7}Riv0aBR z3@D){okjK_6k+1#PIXTA`b!VZ`)m9@s)}2~A4LE5a)7-Z=-IcBB!t=6#wvhWsPQgF z*P^!(1dio<7@4^VI6+x6s{OUO29d^ z_xiOMhaI=gFSX9!eJQF4DgFx&?*@ZqSD=dRx6dm2irWe6!rW&4xRc@%So-xKwn>czQ0}*?yEMhyj$7vuFIzj3-9e+Q!h@G11^s! zsySmW2mXqkQ9)2A(IXzay`G5T)} z|rh5u1&&gbmRJ5db)t1gz;o(vLGwLrE~KeV7SS7lP$kn&sWQ_U?FT_ zic2r|ty18|M-B%1?S9IdMhl3EOQob1@A|@8O*a2h>H2bHsSanG=TU^5Zb#W0L z)@2p66-Hm-b`p&InE0S(;vmFyMHD=w)-sW#WMQ(`oi2vF+NvFWs|(4&fLo1~$NEaq zOfg-!Z0(j?=3`6ttzZL7($2}#M;oW)L&)Y#c{WX(HzYs-d1{co79edTbx z5-cpv)<$A}HO<2A425^4TT?5seBFe-$2ZL@Tg1P>4NS)?#=L>3n3)J%e87aK z^Bd;pmg>mDu`HCFC>3&r>2z-W#*KyKWNkR^3CmIdKyk8OiTYyM)vM<+!#D0+ci}i3 z8LZKyK6c4TyKWuT#^&bpg*?=*kwA6f`k>q2N_t^j$ye($8)tQ!r8JZuNk)({yRdn- zw=`X;*Bp?rVbKW{bx*dud~H73Xl@ydBs39Tjzj7C*3tfWV0u+wS$6@JF?&B|1x;gl#^0KcGSFgE$B-B@|l}Titmy zMvkyOgxG-(zkSV`w}1G+fsfp@X3b3>`9`rean7L)(^n0=?-LsGe!L4uTV%V_`%3>Z z50XJvujK^}9(T(Ds^Sj=S50p?bk0Pr_`Y|k4zF>u@%379OWW&EpL(?a+YZl1J&tQT zMcyBCVmNOnBqS~*@pCv0(>CAn z&^tO;3PR5ogu_!HhI~Lcz&AP#;xNl0&$q;v8y!;_^hNhWw&L0XT7`7(1A-#-GC$~S zP{-{g_QUgVQHzLkxK*<0MF0Uov53_l--`vP7;y;~gi`IK5w{yql7c7|8-B~^Tq2*f zJG0mCtdZk?RdJ1m?K+dKLR2fkJrM9c4hiX|fJ+JGiO3S6c*z6wC#OeG*r8=Z$OnAj zkrNZqthxdKpcsP9T-bae?Tmm((cWbVR>OXPiRUs*ES*`eXNT^xOLsB3_hLApiI!We zLJV1Z0K)GGs>qmwRK=2-M7rkWNU`s2OG0DGT_^jYen0{*7*!p}V53@vq;JS?M;;r$ zMewB%YJgM}5|Txr405I*8rBI|JUF;Wh*Jf`C361Yv<+%68yq1;#N7FS!YJUM1JSw8 zq>MycP9*a3SR4qOcm^pT(6F6?C5wD$;s_g8pg|I%_LBYPz0hunY(lVAY?x$MBhvJ2 zadXeB!1@O~0I3LxQ-d@}kIqMl4>c+Gx);FGJI9<*Fg#{Sy>VYC#zsQ$y%3UaWZh`A&7_1rQohD!&Ii zdGNq)o5>{9X)tf1ujA;6w&BU#<+JFu`2aU5%BMeU3j)a0AzMT!*5o+wac?=GBUO}) z>}42Cg&_pedh1GxP1a%(urS4t%9h!~s)9Uz09kY(`B09l>u>w`5YXKWUGCF)nU!_O|nG|Phk-Ps2fFf!q2?bE8m*zC%?N0gj7NdZ$p-l$>GFYEx=%#vWVpsk?MdVA+1o<>Xs6F+N#H4v-NF2iYH6Z<(0I8 z>UOIoug&X%59x+J{2-gCws$A&Zfo2gu}aE7H8N8WEQ%*kpNkJqs`x$qh|^p*m71?3 z`7eaz@=T(&R2khPxm@dqtEUek3P%D4WMfaMZ`!pP39u~rsJjqy#kKL7g40=;8Q0>j zP{AF|TO8^}*K~hzPeZVKF-_j@!asBe68u2hGkWxW;s-&95ht|{JrOu?hZu2aaxl)Z_$1(@f`ySw*5npW3JS`^T?9vz z=!;HYSeGz~@T^3r9Z~~k2`5G*?4ju;Nyy->W7QQ~xQj>?RbnHLVFEdCdPK2>hYYqQ?R)ZGGrA7FB%=c zWDu$1Rp_>Noaz-$(FT*Ztz08--t1Vt^0wsQW%maQ>gv^MA!yvXCEN^$2f|x+?C#%P z-?{hXU0cEf5uAw3twx#|U%~Gy_`G@V>QCM`7q8djbH-D*rUty5YPN}l5dV(li_m|``b;{mt7RvW&xeAZ zL2EG*DOj6t_!x#`uG1wie6=jOoX_D+{TRI=sn!P(v&NkEz(hDQ2q5MA-ITwTlgo~*;6+a`UM$ADe<4+6PWi}pWtVt! zfc_o1IWkeO1Bt-~Umdrw->!<9j+7DVKwf;aBbR*Sd$Q{b(q`#(++^8qOEUxv+>h^H zbUHrnTUYZ(+)xAm`QRPG@IBG<@t)5i;|vG<{(n1&i>5pN$#?54ls$LB)6O7 z^M7Z!H%U&X#C}Bi9Srz*|L=}ZU!(@(AeH_KCAa)PNf^TXV!q36@`$s$*|rxCjNdGh z%DcP8p%+n({z3SO@KwH@>0mAJFz*1lHB+>G(Tw^g5C${&9v2SXaKp=ym+9@(pN@R` z*=PCNTV4*+DSC_JRG7|(xk~#8vdw)L(h!*{+;|et{Z5(8eaQdLGn!-5+Z6t3;Z($_ zKe~qfy>S(S#GhaDqy^`4%W(2HI5)nGO~3x+lh`fK9KGLC6F-Q^;N3veytC&4zWiV_ z+-j380gMLnNC4kpXrmo4LQqU`hp$06fqvMCu@fXb`4OSquxUb`zQCzzkoVyZ`ESqI=Da zC&_-tj=N4mA}+`JtKYK|(hZEI!Js!Cv^tQb57D}ED}pjGGwpuwwQFoxbsXDo+X}Vp z)*Dtkn_JJnVpKaT^~4iw@AO5hHr%jw<1L#v-@0+*Et_VqST%Fy?A#SI#`QmSSS2AY zdY<%%F+q}|4#9q(T~Iz_!z%Y#Cm7b**5cHzQTcZR+oyds{>7EJ@0a2Lxh-PBii_@u_hF*oEC-_-WzAN$rXt%t>*v8T>9zMdN|2tsv5 zxw@)SSyip9s^pjC3rq6(C3i@Y{9#S|Ffs>UF=e+;?T2l3W(LV9F@QWlq;S)5Bmo>@ z*snM-oS2AlkNB-4bK+keIYao?8&V*agr^oZCWMQ=e|+jehPr<%-YfhAg_t3!t=1l* zeGo-s(I@2YA->HiVAu*6G#frKcrcyqNo?{))YZtC`tZ3JcdR`{6jf7u1cD?aAkXP0J;-zIuI zJ*A`fAi>&)@ndzk{Wf|gd)6Wq#(_nkrNccR@M{D^7*GP2ub3$kS+5xV5pyx18zY(WnI<^_uy^!N}yEu0G)C$5e1+!0Edr!DT~8l^6q9mDA#D7G$LAhC9ly9(Ezg z&0$~-2+kyqt?I+rzFUj*&YZTx*x3ut)L}ZO9)@4IBZacm7MxCs4Yyu9; zrUC&WhGgQ{j-h#Ni|9tXt-}^Uws}M=eW&x1+gI2WRK3*^H!?-SYqhOfJ;?Arq#|vL zii(61-MC^-l?|QEq3>9oodhEi7`z>yl*bj#on{~^82xpW&w9`G`Cn(tJ z2=qm=Y^HCjr4QR)+h$%?68dq)Onh{zc#BxUhU;&7en>PzibqqZ266P8qmQ}Ywn?@^ zkxRoM6Doo=2`eE4_BJ__pae#g)-Mb?Tz_cjZIUU}oA2fo8y3i-`Gy+#0*QCn<8fE# zcGcpeFFb?;g^^ogV2Ooq^Wi2(gv1rh;1Yo1fRdt!dj9+@xzW+e%G%n*((0-!W(C>l zNV-c2K$uya&=)zvm5AUAIW(lwl!5#_I5ibzZUoZ{5)u)Kxn!`6fPM$aM{6@{Ec4iia$4X)LZ=74w!H zqE|_^{I0xHiv*%rO-1I@t@cE~YL7bLL@WAB*|0@X1#eVTEDlTAo%W^z@VBc%*MQ{m zGUQBTgtj1jPYELP0rEF7Ai`l+nn-B~{Z+&mx=gM^1DnZZXQoDLA$Fr9P zTZC^SQ0H9u9^Yy1?H5giZ9d@Kh6`HYnjoT^jtOCr=7@^O6hz~TWC^C7$D~=4_y9Bm zH6<6XNV*b9x`L9RfEqw4s$ivyAXrigfV8gNdjGQigEJT3G_a-R)|A5NL?|`VzrNwA z>b-AW>07#bX4sXi=M}%E%W^Cb=^f9M_BE`T(Nb~eDb0b&yeD3aM>0-NKAM_5b>Sn5 zoEb{RqoG3Z@0Ol7Q=d(QBNL}YRA=u9c14W*J1xr7QMeo4#XP4j5m#!W5*2=FwNh zuM172)Hw+KGTC`~kMO0P=Aquv>6w!?%dKxT;V{XuNjA-M#H?Z0r8_YgT+c#EJ5x|V zr&B%0K1>BOrfNq-#u#^Q!Ps=};i5D}@1A%YCOE$hwmq8cLL}B4&F5BSePMq&ndsL% z@J|h9m6c1NXRw440A7>>SQ{E%hb=O(qNvseYOcswCbNF2>_~?a)#|9;yS=w}Tf^V% zO#m>h8ZC@1tJJsjmgi>jh3UNA=Kwg3$CgYdr_;%H++T^-H`EHVh0II@3SW0z@>Vuh zFoCKYtEE*d^5La!A5b@}GILJGL%ljMGeULUU;8Ft^WbH!tauF`v&7|;Y$l26J{5N*vAG>OD!A{E=ry`V!#Q%KVPU93ieW+|F|y37Xf$& z@Z(H?FB0(yy9j5c-+p?%G~{<`rp!E+H>8}(I2*dRR3 z?WMdrKtxjncbf!f6Htx9aX)nR>=`q)KYnQTs;g&=${!zmk*za6^6P#37QV&S0cDLW zsif%oj%AJ)tA>Ay#Xwsn^#u8f$xd*RpNZ@$qVHeB4+|Ikb>Vk-Zz9 zE+PCG3E{kjd&otdd9f# zD*T@2(a($TK(2|wo{640>@`mA*@ykcnPBD@Le9Jr0I$~}pyZvMtgX-snX0vH3u@PZ z9^ez$gbpG0(*2J08y69Q&vkA<=r+rdO{3K!*4+k<3CI(205J#JV^eZ1ou}t2^2A(k zc5FrPw6$X#pk8brcZ_;WX#(f}((!F>cclD6l<6lmgC%X(2QEDL*cU9GQmB8c&Y~}r zBS;N=+O@%?;z$LJU(`anw-Vmlwk{V=9T?WUmf_uzidPRAQop^vpT}k=H0&5W zbyyg@psf!6=Q8Km70ZP2w=dJijK5nwsE#qnAEyAx?p&GRGf zcevxvedK0mDWN)G?67XRWc-HfAd=u)qUgH$BhSTALO5KbL{Kj(j(}IR1WG{fS5pCt z=mkdsUOWCxM(E#Mg8sc0kKd0y1a?7AFIW!;Jtg4NH~r(znh%OU6RSNJ0omtqWaoXk z=QqH%0{%Ak7d&GQ_u!y0#($tC5XXn3Z_%_janX{5Mtbo#4%R?RN%xNniUFugu&5BT zC+>v%@d6dVw#iTC`MqWhoz>keQ7Gbhco=Tv&}mdFUIV~d04Yh-NV78j-d%UFjB&x0 zPSUw1-9?-cS{E`yk(QWzn0O)3rdf%3H`Pz#>j|g%gK?fY(`~=EkoNo2MX#@&27a`R z^&WN|rxY2h2BOhGq+g>b&zMgM601LF6T~t^^a*yiT~1BJlz1zN++Tv~b+JG(=Y!$L z@0L84{+a&X^;zVMMXqoqG0J`hoM}AG;{rvdL_p-9-qS()m^eC zOWAe3{WA@#`$@kw25*y!q}g-JW6{2lfK)q9H~{)(%fyE1irZEke`pTM7IF6OStNeU zi9+w@9U}k;39Q&SpMox15RiB)F%h?;(tT$Gw#Ko^B4k!(f=$20ZCAp!+P11!K7b$* z6XE*OlYnqdnd6a1?2EKV(Y&!s=I1YtD;_|Yja)jC8Vf+LG+KeFgkH?z0#FI^0|9&j zf_HhKD6F{qnktj>5cI5mSyq9JA#S$9-~nfm9n7H%`P0VgC)ewv2rLHxGBUhbAaIL2 z9Tv}EV(hIGYf+B?M{$`l*9XdWxOTo9vM{z*b~r*pdk(9v-Q{z_4czM3?9O;Z*($3M zq$ZPG>lxs@RHnKV4e=#z$+@1n0C_4aqHI%wQ9H9+CD$rsO@wLJ1K)61zLlsISZxXx zn$1UlD&8+%3$|&dx8|yIqNEHcoP!YaIZ@;kZ;}>>T_-ULcB<|PJ{?G@$Y0zvLU}X6 z5N@NzQ zMQ;T1NL1PB2!grngdF3IM!k@BR=Wb0%{L~fEKfS(fm=RpQU-6I9KUgpS=?Xk-PxP$ zO%Q;fq7Lf)`v&^<^;K&?-9yJWa;LDLATyAkfOtBeF^?=n;zA?I9!>W$SxkE_VWRmw zk8+_!v|XTh=;2-<(q1ZuRKV|9DrsX^vcXb*o5PLULs0>;V%&>w?;z0HbXHqmZ|z4? zI$++3R!gmsS)EIa#7c2dW~<^pe>Cd%#cz+A&4_X}b4fT${1q^r*7s~eUf!LHTjVyO zMuW@2j}Eh6r3`|!tQ3k^-YNcyG~N7RFVsq<}P0~yl<|uYG}t$4T*h(`!bnSW=m#^U(<|H*Sf(HCFw2=u5;B~LvuBh z67Jmc4_m&xg-6T%hnNvwfl{3^96%5PbSmV*COf&!b{g+(vo%9(m+|P3@dz`4Pv(Sk zg&U|ivc^HL2B22^Rs()eG>T92BafeC23S zND~O1XwpYq6W^LGlU}XxZ^CKfx;PM18hjQwAxi-d+jPghF6+t}f9Umgzv#KwxGFoF z^SgBW*pP*-x;4Av3zC?r4a_{pdhFYu+?roqw2!^x?q25ExmgTb$0m#y<9EJ8NL$3O z2yAM8_6zDiFl+I;fvUy&MW>-Ld-TDOZm~SkFka>Ew6BXf;Vsxc!SNQ@iFu~w*%QXi za7e$>c)Rg!yKwzePc3|sU3%+@g^?>UZ-sQtu4GrBe3h47xcaFx*iqv)UihDdkHTQm zshNrCv`_dbpv$j+$~Y7CWxF??SXTFm3}RmMsi%bNjkWAjgB>d>LuUIcOG!M)(X`so z5$}PNb_c9??}yM#3~W{vGw9IZrCtPttJ3t?oxk}GSW7;^nxI z*oAlcJM#NKzk}WN=jV=Gu~?1p?#06+>(;Hni~ZPZcL2|tCF!BYj~rUkVfWtals-t0 z{-ESEzPB$h9Ek75TLKx}0(;|lTlmGB-SuYY?seLqq?(?zJC7Z?Mn-Zu{BdW`M-Z6% zUCfuBeBK%rgcpoY7$5)9X{SB1ejPw-2aPX-R>qGmh)=NlG5ON4t78+7RRlZL|OzJG7Ea}VPkC+#1RAopPlCS z8-I=bNJ9MR2gK(@9nDPj0C*1DGs5cYbQQ4osHe~%aPzdeRp~UDdw=pKBZN@A2W>&c zq6fVwu^~m&Y{omVuclu62Jae%Wa_+Y6yr;FSk>4wHYkW=isc!2yy5dlG!|)}agGu{ z*6)&Rd&YvkY##jp`-fwVL?R8|ZTapPqY02hk2O*xc)-q&K!OAFSDZuxgRzn@tevs4 zn@t?D*fES~Gj%B+TCAQJcFAFV#zMmnI$+{r3oXyskd1+NJrPY@K?}1-AGO+q-}Z#j zi5svcENb;kM^=*Mp@V}+jkU0|U~-)wA95H!Ap${}+yXlw9Fb$XzSfLKe=lE?EZnR%M0lx+eapLjKv&Ew2|APBnv?}1_vF>&zO=+{rb?3c401F znfiWqu94bM)ru$0I7YUOjckN5)e)*@_+G!8d+}h;J+QBQ75ku0UQw_Bk|lju zyV=oea?Ld)FZ#9I@JpZA=X6d%hQNKDTZ?V1dHBM6aH!2?Lz3Qj2sfNlaJ5^VXgbUj zifWeJ;Yh?om8A6HVH%vJA_XfF;uIQ*AudW*Kxa%Nx(ywB1 z?kvL{c@p))L{umM?k6a0)bb%$W}=)a>B_J>qz=vYUUINKzX{146_WE@&g4Ke)d)Ep z6TSJ2-;>Ziy>p}1fz>hiX6GSOSCZkVd+&$Z(^B7%m9WR2xype|+NI3! z{8T2MP>^Le|G-GL7O0ecJ~b2x22e{RjD(XOhc6ZazNE$KLNdxqEj>D&9;_tRRK_Q> zo|W4h_MDVUxm|XTY%MF9R0PQ<#a3hR^6J)zE0;-6@0d)-q4EaIzkR-M6qj|tkBaV4q8K2 z8a1p1qcC+LpGw&6@hVp66(1HI;jl&P)f~VMwRmJnRj`}O!A!z@J^_S2bM#-u!#s!O zK^Tetw&zDZN0{Ff+F(EK&^kUi&C@5g97Mx7Bq{}o6M2JJn@u8E38F8F7cd>6R1qA3 z2M_Wo11dw=05;lqfs~3STcG8Dh>U#RIoT4-rv%$&FbLQYB27>>iHNZGK%Qv@yJi8D z>g?P(C*e2;R0YMgLnDDoi6P-Re7@jzihS%mflhV`m{<8FYBD{J;_-t4gqE_6>o<3a z+UZL5N7KC^>LtD29H;+mG2|FV5{;qR`lSa~9!JoP3MXg}h@ZKWK~L}MkuLSiioKi) zZ-|5t4K5u=eR4<+c|z5wfVlZSfkkf^!OLqWEfRAAyW}_0za6=BP5O6aIsLOWqQ&Zl+G~;i z0$%Lxi8?(EP^a;Ali=56Is{Mi0BJpYKMRbnMRJD!iwB4li^OiRpQXaf*5QmI$E$!T z5)Q)qG^DzGJ7UR54iic^HpSpbWI9$1bJwM2&r+ywxAvR@CFhl$UHfA_&-Hw!y9+e! zAm;Xuh@O<}CX?+rrE%v8*g4F(06K;)bMY9usKw(qo`?9$g`oUjEb*7_eDm|iw}2hl z`#2mau6u0X{>R{0aouBkPIRT{csYFN4ek$65Wgna;fFd;IuEVcOYR-3-}V9SQZdtUq8KL+4|1XqK61R913i54?{cp~ zUl94;`Fz3ozP^L5h+av;)dN`iydC`W;cg|}PjaH*iqGz6&FiE_I=v)JGG@$%wm~YbMOBvbgTOTJC>SFO&~xbs$l zzwcGtZpGp8bhqJ~cN)Lxz55-)lSn5to-LQN<4jsOlPL`b;4~SkQW-&r#_zBLe|fQL zJRpHu7oQNyFEJ~p_s5YcjX#3#l|Lsw2kajYx{~y5ki{4Y%gA^MeHq7(9xO5}ArhnB zcye@UimfOO4wl%8)RM7+!J_j2r!E6~k|%C6(&n z(k6~jbr4*Nnt;1a;y^_Zzs*{34yIjn7#$HLiK3L0u7#Q zTQ*l%Ue3hyWy{-cEeC*f%{?@^EaZ&4S5;EugHQt@h^ibfL@eQ0fHiVV6Kf6G<8~O2 z#D{|Ja#D4tgK>{1=>~|goY}ssT;6d~j&#ZP+%Qc0k#vMHD_|9U`Rdr-k&(S){M~rM zrCI$UyH-zuujq`)2dtC0f`fh!<6g&_sG0G(BYeoEF>9bk>nWdj(-4~#a%G1+6f z&GU6cE-`FGfq%*nCP6P2lgGm#I#28_IZ{#@K@X_bZscLuER`LMZ_WHB#d{kHlC z;t=}O54cemV0#gXp!%Jv)9VkXU25Fjx^dPMc4pEJM>6S1c>+2AvW*jIS32wqAW0wW zJTAgtV6S+hnid5P3cVXgz0S}?N)D!is^254VPHbZUJix$VKoGWiLeAXUWnT6H zTt(&)6#zayxAZZ|J}t=(+qBgIZe2S18LvZAv!=e6j3rlj9Vz3$uml{Eb%VE)$O{GT1(*6N`WNEG5KOgVw zJN21c*RlHpmGNSIO>d%{u|O(JB>c5}tOAq)i|BC~Uzoo9T|1P!uWVKu1>OmV#e>2J z(Fr3IcTJrD=0i3vE(@DKT|e%(0)v8hhL5(UU?Zdaf@z9&Hac;V1VYb(4TYkhI*$I0HYn8)nuOo&bQXZp8I74CR<_&3M;);h%d zHmXtI+Nj_8*8LvwPvSE@7r+bYk)BU5l@-}Mbq48EFtkJw)GK&#{R+T5_&$NSwaLbK zmvuS|e36PC`^HrmoQ8B_t1ws+`|a3U(0^utCS?NPEEU^nBE%uWBt|`)+v?l_inpM1 zhTjK|Cmjtio7TM$WE8)-c#?hr)(FmhDcF*vjT7Mqi$y2v|kG3JwqpK2aL)r2vJ^|OuZTn&b@HsNt(Sqi#Ck%@?_4!{o;TcWVv z8G+cM0!vfT{E{Q?a=_!Isg-AI<%kkgD?6%oDc@g>r$#br!z%!$sFa8o+=?3v4(u~K z=2QAJn$Ox--1tSxbq}N#_&Wk1${_=7%Nw^p5F5_G8rmC8_Jv^@Y6@Z3hdljlJ-0Sj z91XXx99F<_e7Q09YGYNRY_YiI$hhVk&&sLjnoaA*RY%w^d98{&7S_U|J*g=rwHOoO zEEw*~HxfxTq>!7vMaN!7b-3$|lEb?+qh;L27s_EcYT=UPQI-C%Ee3X~x~uGI-QAMl z%m+_9Ut~iAF7Gf&BHM)>p=9pST6LSi&`C~@hJB9%!j2ue7ImLwQNTo9#b|R2z(o*j zD6zyqESs}gl!zjG)n+o2t0Y~`lp=c?p+s+~H+51*c7w?S=O5V?3ulh!R_46mlF7}* zjl%ccKq++~6o83}%YnFBTYNqlOU2Z5U!aJ6lkSg>hT?^wssf%Q?Vh#y{WiGud6G6Y z1wU1{AF%`r_pM4S2_aZEGCw$eT2^)j!pMBJu9nJKC94wF=ISu9W+JPzdJ)FwG!jQ@ zFzksgU6B;PDR>Bf=UK&VMKZ~iad^F!CcUsQ8@EySpo3tMMaR|~eH$a119lba9zCv14OJa-)1E`oebmJO1l1CteT8a@UyQUq(moCJOHi2|x5#@#JUJWXmA_$(mz zcQM&FpJ;G~N_@8vtbjlD1s%>~e78R|ysY+^2+bAP6LHusdz$EQ-_sm-U*4)T3gEaW znT&q2F&5L(Gqe_DLV>vRxV0cz`=Q$_+FIL37g;}NPrchFX<68P$9qD6iP$zxOnczy zTd;C{7D)srU_CbFSd+;tGGS>6!kNtV3BQzHe5PZ&z^5o?DCEAbcP}P6OFSnYe=Rz) zjMY|Mzs%bXHuAJweXY9=Bm-Cn%8MP1Wo~URxojQnnh?`G-R-fh(Hjkj;AJiRKoU)@ z_$2G$|HOP4Ye!Fpr!QF$e=Wg!_}1ZbU;N*h4+Y^15WS}6&nDZU>kC%D5jfF!*uyN3 z3-<$74OS47VVlHgF0dron~HH-YRs|e${ZNWnM&0nO&hrBBe?i@VTS_qW4j}-O~4(*+-9i z8Vu;!gS%QgQ{WZLxAvbp)7*eg%^rPPybzfYX%m}5^0pp?vhutx)D|#!O4DU79+YS$ zL$W%S680ryJ9|Ge+;3+W8+RCYvaRqs3&N)C8(B8CG?vLke1$?GxWO!A+`%rUau;fa zYAl}7mqe^%ldp-?dhu?edMYV`xOftKQ{ur z$n&Bs{DIqHwKP(iXl$GDGCP}{ZG3N&_-^;D$C%U(tiY~9=D(~1wB`K@oAdA66mn^Hd;`_3jV)YAjskdN}-L26OjyYpDH zB2eM-P4TNo4vI^TeD>WfhX1XjJ+R%*trAMcssYw#e0|`LyeWTR!@{RJO`$xk?>g)H zx1A*mnMWU8c!f9Qd&1Azt5g8~0eNdS@PjAW4z}Zo@9qD@C-(Ci-on1kVe$ag+tM|u z)z$+=tsP*NZ#?_#H@@-AGdF&G>LKA(%62{V(1P;N6t6YPsv_gLQ{mWXCWw8SQZVB$ z`Xbu_=f(H&a>(K$e1+uaw&wF`&0qdfVxMEoIBJaXXWuM-172Tb_|~$FApxuYQ}#9X zwSTz+@yII|K4CnKceg$}PQEIn) zEiK6k5dzE#wn@BWdkC?pO}RJeIH*HDX?K+{`mrKOf=1~SN8(MC(u?^b#oFn@SvS}m zvh4=>0s+3VmJ#D8aIV6(5sNPV+wFE{kyc={BucUsLu;|@w7UTS;CI`1V5!8g%9zm1 zx&qf2HYE~HG0SG`PW(aRCnL0o3m2@Zm&>*GI(K{d(muQGd~G=#uq;zGyUPNc(h@@b zu~~z+QP4M)*|esAVC|;VRML*faHJJ)52kPgW2V#I9!EmH<=Xi+d0=vR%W0;bc~*Ek z%)iiDSOM!Mf>$6F7K9_=}ueXe(KdwX~ruuR6!U_GM`aFxZcgfELvLEqF>cHY$j1WkPwK}LLV zAx+{@=^qsqef*y#E)AR8{+dwX81W^ly9y$|!khjUK*00+#*sP#f zN3+1!M0Q;@uBLzkP5J0u4Mg^Mym0Cg96-Jk9bUH+X+mR>^58&Dhief-wolokQmXrL zcaZ0*cTpBGcK|X?FsOQbLF3zq^@pNLgrJIu9tCmQiLe5UvLGex^n|hiM20^UJo=D7 z^$ecY-W77L^!P;!w){wIPvR{S+e=c&8bxAzf-!-A67B^R+Kf+2F0!#B4X&`DMe6op z$cpN)+=!?Pn_J;@I@|>8fK~ELZrCy#Di_DkX?xuRm$qGTb=7KZ+me0CqA+KuNSW2+~knZ64D)pNZjP_kaLc)yAC01yK(ex zUIg4tct0;<^0v1SV~ZjYGtx01S70&iHxD@m_g!?*x@wmGnTftvMGrRy`tE!2#ru#6 z{4iJ8%BcT-uzk`3!wtOS5#D_L!>g{kYF23N-3tfswV(gI@eKc6C$2Ux-0_1~?tH^) zbM(gm{d$5Lj0K7K=$GHgLM-&o#2c2R706<}pZX^c|0{BD*MzOc!<4yt1>1entw;lI z{+Ss-u5 z3t(BKMV)=?s@XGUjOy&wSIuNzq%^}I`zJX2-~=r-YX_~cZi%|9v>0+31908Vv__}xT^#<*G<0PC$&CS%I=ol zv{AA5ue7e~K?bw=_YG;NJhD$$gt? zu<7Pto01?ln_Nu<-8GyLvcbSWQZSJlppM5DhLAVd+q|BO3dU_d#Lcn(Igb!wQ-Uy! z&~wCJt`Nm(78bQR)-StkZq>N8aFOP9>IJ}di_K)bkv!-Fm=kv6V2bc1@EuHMD(*sD zH2%w5(0MEWf`jAWEtC-R7M8u4HI1*_46bPYsNaft;U|1DhU*9sZGU3x$hhfbG8Nyc<6G z{Eg?`^w5px-}wBeZaV+Q$n!Uzf5W?Q=F^|L@w^-PX{xJ-i8bLLDTf^}JW&lrpmR4% z=6&nm9PKwAGWv|ax#nGL*Y`HvznM9WS2x|i>3h4r_uu{4%0sMdeCHt+Hb0GjWEB+e zF{utX1iohl99QeI?>LBl)aru@vh-+Xxrc*lIqes&&Jz5 zPvySUy+YS%VjevPHvz_N3jYKy@jAKUaYTu4fm|r^`d0CM;&PsO>4KhXfzo~#wT;Ux zEw~DIw%vSBO5%$N9@vEVgV_op3c2@eQUF#T!o0~6z#sW^p;!w$S?(m>)M*yOZvvtb z30;t*xF7@p%CzD@Y{HM{@>c=Jq@6`l*}(DPFzj|jj6EFABVGI8p7Gw*H7)J&de{mz z0&|;K^$Z5nqh%|Lrmj(t=>5uo*Ld3M9Aqi$@8Lsd`8U<^0Cw;4?+!$A#_tPD5L5e%&P*!8hNONPqWOMow(oGP) zVVTd26@ld6J09(ii;D3{iz7A_h}mx!EHhV#_H{!R2U}^ChyK>#6*A0nK)2PR#=n%7 z7e=Q7FrySFOQlIoiS@TK)e(U8H&UVA#6^EM@!1CgE;ZnHdHi7Oi1V^|gujDV+R2Mi zN?+{xHr!cyIyO)+NYizN2FB!4e84a=UVTG zSL@=v3DFmI($I1C+!}=1G=pt5*&n*L1oGV^@U>tNo+^9*x#sw|W9ffzeEdM)87~K- zZhv1;O$J1_l3I}gx|e|DiX(b>OmoSi-I<!+g z#A@YUVb~cBxIG9MI}2hc1Xh6T*)@sK{45b9eiV{OV@?T!Lw>08L{&t(c}tM(1wg9D zqX$2%MgpoQ6rNHeLDd}!eqKXbGfyaTiKa(XPdLJ&{6sjK$uz^|O@-!Z{mDF%*dqI* z&+7ICkShV{A5_Kbv3XSq5HxmQRqsEo85(c8)NnJCZq%L7od#U>Mv8q?cdL5H?e$&> z4Y4YUA==6@f%4jlHth9CL`OJ=C`LjSOfkhGGALzrtQ7qLkE-h)w;wuLcQB;-v{|Z4 zcY6Z+f|}1Cgp%2Y19+!#I9;{f_60!Z2@W_kt?7Pq!%BVq*h_nh8y4xqrV zGkXW{%-#)a!}|f9^mNZh0M7BLp3fq~$CuzZ_)^b5B9+5G_585sXFb2@`S+gJdj5oI zVr7syiFMFc2mgC%`*loZ1Y)ydLB#*g3t{pA5+)R872)&=Kn$2*XV!L+ie&Mvh^i!s zV9nClHsJ(#2Yk9IFe=M;)%+?Igvv>$4;04rW2fnR_Z*$qsg@#K{&f0=G(q%c{vBTo z=g^$Rn~#-kqA=*4SB1?SDyK)&Of0g$??0y?c@RW{ge#e-hs9FMFSuj%iaW2IO~pl* z*XIKQ12PRGc*&jAQp@wXU3)hSG}fHFyI9$~YfXJ%{^ac}?+F1Wky_3M>#mA$uIDSxY2EQTw^>SM)f@%`0G^&wZ;7*ABN?fEqBWu-Dh4NsMeWmdqg z_m!*V$8hTtrCQPWirvXRDa!Yv+_x%K-El{`j2jd=P&9taGUaN_s$5g4RSv86SgG>X zkY5R&3{XOClMm>FlH`9WuViEa2V4ND`f-wER$NKRK@$5 zikeXUy+D_*_SR|)S1aXO`Mhck7`${(y^Ki5utz?phMH@&(12R2R%^;YuzYH+T8lH$S*urb zq6J=NjYxoOKqCBWRZO?bg zAb9`;9w>r`|4&@Bnp|T5ZcmFZt=tgbB%Ny%kRA*4X|ut$fHh*V$l~!Ey||8*`Ag@! zk20UMSj~~$XZP<|!b;;i2k?1c8=*Xv*?q(Ob8cT-RuR3Xs@EV;6ec6}r}(o2koE?T zF3h@8+hSA5J>!xti|$Ohu4a+%(`6Jd@!MQ3_BFZ>UyLQ4E9`E%gfGT($5$D2UdwM$ z)m!eXKYrSZEBD49cp$#_;PlkNeaZVihmfN-1sPH35w(o{*h!DU#y{dMz@lC-eyLU-sRsS2aUZMYE zGK@~&n0ns{Su;$f7YTfB-r8Mbaz9W5ECuYf1; z6Vz$cbNpq31CzjN8nXeoj;gUeA}1cMfusBAMN$#&LB~>Q5^n=iz&D`N;P4;QN@JSQ zHL43z7e#&Hk(4=|zL8AZ&0-W_v7kqBIgz4E%_343EJ1Pv!*O@fX;%s|fKEU%78wbn z5W)tvuEu=pS^}SXQ!qqbkQgIG=VgC0Jy_aU@su=Q&EEIF63m2 zj5K8atQzv#JWiM5)=xulC|D4j6A*ff#6(CsWYHvBJSKrp;@bUg zSz1F#E9?ro3qHX2+x#wvh_oHvqB{tjB_PfQ1-H#cd5(f{SJh^73&F5W;#!RFuzT3I zxvd1IjC3GRxCLyF@wY5%{PTAVBk|czss3Z7np|&@!0A-qoi^LoxX=j;Ar8%=A>OFp}aOJJh4TfE=&pt)hhT;weCxH)fXkZ8*CoeX#S>-Zbe zESG@jfGrPc;=xhdLo}T^Yt?Nu8o2aPyR&zOdu%sCf`q_@OlHkw*}>*lh=QPJ>pu9n z>FOYyw3T`-P|u7!P*}Z0BO8oAn2$wVh~WadA)>r3QX%K_Avqhq0MJ>mXb|}`dI+v* zk&|kd5B3hl!d1l{MG`lE1}U#x-cU3IEwtznN07%kl=fl^kqWK$+vGsZ4V=Cx0^N=b z@7Ie?A{)Yu*~-U)KV=Mfw6Jl(es7R ziof6^_e{^%5jIYRZ}s#9W=zN#$}WF6O%W$&S;m}IOc_iHdP(CO1^ql$0qi6M=U}(1RNb> z>Q21x%Q@7Gm2*{hb?)l!>gfqRIcb7MGaAKFLOFm0k`)XRG9W+_2y9H02nI}WAV^5q z3w&@|`v=%wv;Hi|tZdd`fpEt58jPl9zvsT{(MTff?jQU4b*Osv>c0E#yZ794&pqLL zGz4ov-U(&5f~Xxu)}mWX12OWZ4?G-CaS%_5&1Oyx5QtR&hFLb?qg*y!L$hVGEDS&E za|SG6V+qs(8*9@nGC0HTh&3%I4#Ly19WRJ*dUj=HbM@>7$Pq-jP~UpZ^q!e=z2GCr zfvpFf3=SU?)p^62^x~Pcy4Ame-Bb_Vg~hH^v>I>=f^SZ>CRbdi9vMX~%=;AwD<43= zkZaMLt0Z-6eCu7;wI~itkF>bet@Ji_FWb-nK%K|xNqOf~yfm$=t^-W;EzM|Q(sBTt zH)(jSDBMw=--zVuInC<^rOoqUS<+=kyV6dpooX&@0oBs2SfzavDjVKiX!&ck@~(>N z+i^$k&LKu$m&zN%#-d+y+J`FhZ7doqr~XvjBRmBKWB`^cw3k{zKPLm*qzj@UQeuzq z9e#<;#@!SD}v8HYabfkOvA_>mEnJAdWip%1+O@FDIC__tym z3Q8Nn=;P3z&tX%s0#Ooi{28V&DdGU!lf``^!j0NH)2pU|Hp4{ zmV}p;TCLK_zqli1QF>jP9v=4gr*C9$9Nxb5@BZ$?AO70A4;+YY7Y3zfvvl$;#b)P= zY5K)fxH%pE4qHo4J_&Ec^ujbH*lp-ss-L07^3-oZfkB7_wA3Kyi0o&tSWw>1u4mWd z6%RN3qdiZtk3RL(@cj3Gf!+9pFAU$t7utKpjlwZ#umRH2&a{P?`q_L2SLZVk6PS2( z%$~UA6IZ_E6EDZ><-d8`74Nz5f_Gm@uMgk5dfo0l*R8Hzw`cctt5ehGZrpfm2Co~= zoy9F~KJ~PChwu-4Ej+Cry;;;wE(mWsd1FD;p8dh9@HTwiKJ{JceZoF~QoWkiD{dah z7#X<{Lg?cHBiRYSKe9jmj^R z-`L9j=_f^UrJQN`i>H|u?5(?69hLYTvRNTo&jz21L%>zC7e!uyO#!=UolQX-2J{XU zjvc@=QGkq*B1BNu8bAit@`jBJX4Rh%UB$(emk5uDxA5WRqK+7dVggBpT|4|TdAtn2 z{BQWV;f5O?5dd*{@<+qV;XCu5;Z=`+=Fvwv_5K@>ga0xk54aVvj}9MTx3OD?4|40` zcg*a=@H;F|CpgUp?90OMWLFGCtoBe1o%#xX-uAY)1?+rweE9MI_z&QBVQP#W6yAh< zWje70XpqP}!xLDefz2-TS|8f?+fVP=^YrJ=`rNIz-a2#Zo2RDU{ECBr@rEa#e8XS7 zp?&Pw>yO=c-!b0E`^1{K52#)HG5tXs!~kellWBrE^??@Y6gDiBpMo!oU=IO5%Y_}# zEK%cVNmMWJU~>0j1#aBuj!z%Ea4Bd7cFhfJS_Mgte}GPZ@iaxCW+o>tkHk89X1*Y2t1@08Z)RPBBbAs5mmtwu;4$PWLShC- z?B^^0Af~S5LJ3auKl&bjBy8~Qc$ZJrKD6QMl0WIk@qK2#$YG$mO!FUaJ6c?qDZcEO?r| z+~ne1c^tO7cqGmtL*S2<9d$GPS@P=hWZZs^%ebvl9vFZ>Mofj0`KL*@)gLEDW5dgd z_!)5(U<-W6X@vkTsn3SPB|gTVq2V3gnowNC@Sfpk*>R#sNx!Oke!Irs{nVy{2O zV5J$~x^*0PIn$m7j#zu)zV0tRdit`vKl)KP zZuC!mUz`>Ge$2uG*dN;gAfL;jF?{XVJI6jsUQSC(1CU}>2%B&*qD6=kCQNXoQdvi) zfWQjkQ^Q6C@1~!zhGszn1I|1`VEvKarq6xju|;nz4Hg&p9pip>j|K&WHu>r|YDk|z zw!2+2mUC`{d$Na&CZN+f8fJtUT_?vAvZryt0 zwrw}i-~8G0^mk-#?#SPrkfcim;AaR6aO@FJ$nuGk-=Hhty#$0tfoc#uSW7Nc#5tH; z#0liG9saAvn#NA#Qg1Nf9z(oXmM<2K>lI|Ym1Wig90yu}+e6noLDDe0P#(S%ci#@e zxncYE8@6toJAxL>&GAOu*MN_Z&{U-zhOq;=vKz>%&Klpzt`p|@O$7lBl7ML}Ux?*S zy+OVhLL)ihT`ZG*b?lWugI>u~s=Cr_Y^ZBjT&BuMO$?L}S@;TUB2YSs=c)1q@M9Ft5++5s zWi4P5vrCkwd@gpzDytzHKvZaai$B!HPvj)NhXc?f)-^fsZMT z6EMo555lrTM_Gj7Pe08?(NPhut{)xq=*6s->@=^C-S+=-xbHXI)Z8?09jg7i>be87 zp*Z*av{NUO)8De6KYa*%i0oSS!1~euOFBCF54P^cW`DxGVQN3X&CQ;u;$ z`~JBj_w?nb58z+|7j5w!@CBS7J3e+b82p`J@oxb9{aeP~23G$tB62?jhX2X2&%%A1 zblhhGlM;u{cr9cY;2M&kzJy$i zP4d;HSCyTHGX?X2SO|BHI&!Atr~{!-9`w~d5__Y1`b*iMhgZsRV1*|@{O~! zaiA?GFi)_VK-dv`Q~SVXAhO6o0=1^&!k7T96{&jKEqJ%F7pX$0nj7AJ`{L|Urqxsd zSKZVk$H^t7Osff31g`ozLm8STqzpZ80q_{>%GM@OVhl)$GkeblRL%c^telD0tuyqQ z|0iFJ~5i4Wg!O z+Xjd%<8D5nEC>|*C3_{bTR1%ur4bjP&0?1y;T=~)0|RU&BGh$y<7*i0dkE7FjOh#+ z2U6iHbx4JZ*wp_;6?y`)K@0361>zWcAA~vxg%{%l1Oe7#Ux(bK_iSzDqUF`gH|@C@ z={ekz1w7i`ZcozH(rkHh%a%#l&g{K2)9vZC{<)FaMXI`wwzqTzVA_k7*gLiiG>5A% zQPs;Bk|dg_7H;t*dtM|7zi$ecs_LbJd9`v8EdNkuXWt2I9-l&~rB?!SPG zz%7KXKMB;=>`CEx)DyU);ZwqUgb$L>v<#I5TqIe2JTwX=_Br899CSDp(IV$__!YkJ67VD85uwBD{7(LX- zzHi}%i^K1&3d6rWUHo)YvZ{IUN54*w_H|x09(Gjr2dA4|&&uu|{yhV9@e^pzJE3#v zvn4z*FT5n|6V9S`z~`qvsQaq_immM4;e*H7qvtNIv3rjX4;*K=@uI2l8sS>rWFJ~m zD$Jf9{`c!yd-(Xn?6H*X;~yR#@&Or}h4bo>QN`_njA)q?J?Neu8nB1cL4Fp;`9U(g za=>opmA8fKgo~b6{Jx_=kbmMH_Hc4f+{SToPddEn9^iS<(3rv_!fm`QB0NN>e)e=Q zy#M6zZy!hfCLGNlI2k^U3!eXw01XA|O9F3JV|dST_SkXg!tPyKf8Jph_;C6;2U%H_ z{g+4BV-F7>XYK2U|2=(#J^JwQ8`rZ8Df0AVwi&{M+6mNwlf(1zXzby^@FDiGSv>Pw z2JAg}=HdCzf70i!h=-q!@4*%K44+^J+u38kC%q@h0vn!t*a5!-++d!0JZ0~B0?zag zoHXfypP*;wwVy$=F#KYq89M+>mv0KS;ScX5e_4x9%HdZ4V);B89}G~wi}K%nW_SgA z?=w&F!XVc(ivD0kvXHgvB31p)@1OjbaQ?p>WWn(7Ef#M?zyI;+ivN8?h3gfw`6q`H z>}yXx#&W}dut2S6)I2JiH3IYOTTcw%#jbuF9F)p}SWlNdgJA1yz%Yk@83a1KhiG-_ zTz2o);XUlu<0B$GV<<<3|MX$DpO4-n>BD?H*}g|kQ|vL}?2H84s5wZ)4}dy{7Z9l~ zC$q~1_R$H1TE1*~L{(>y?5O!u!#p!2T8qw_z6#{YKH8(Fn*|*%58p!1dVb*r1bfC6S7KJO zLq~_7X8YTqMNYYRTJGfk9KrH?VAGb}gP!peOHAD1iQzM+9vB8x|EcHJ4j+pLRt}%7 z4u6=j*5+xty_2Z;h2>Q$-}PDP87hwTV??)4frfe6=T;D3rm}4xZ0dWw?(a2(^S*zO z=ORv{F#T$ZE3W0}|YE1KO@}8H%@yJ4=)8XLM^6CX5o2*GSqT#XQx5Ht}lkVO^Aa zuC}Z?IQG#sytzws`RFc)%%=MIW07%+w>ZZ0QloGd%{a5_?5gLr^Ncq0^IRQ%MvKTx zLq%8Oo_I9wvPd?F(R1=k&_~&xWc^mBpAe7HMyt>e{=`w(FCRWjb?-hRBp&r|nW<2dz4-o1G(%j<`xK9V3SIP&o zEzM5uy5O_$u$qW8cuc7|(~XRBq6k;R@=z`zDTU@Bj9AqHG+_a3JdKhn_9iF)hgU(W zYPDbkhfh)q4Ynzs2`y8sjQg_}t`=;T^IVvlB>>5*cC069D`IJ9!%MEQETQQDx&kRD zCE2tpDchW%D5kpy)m@2b=;@yN&O^mqHP~D7bxn10h~-6kFU>5PLAjN$bQga$>BfN{ zBLW!Nr%hQkik2Vuw(TwVdN5TP@Gw2Hd#ZC=P)bY_`K#bJ2D7sa2sq!}Jf-TzLAx;g zJ*!u+oNoVY@y$X|>BerT8={W%*44mrOwAND(?E9d(1f}TPJYN(0N_pm3Ab$^Ss+=x zXP}JWpl(UhRPbB@fyv(C4=K>{BT6Z0=HmXiQ?}uX=Bwp#8}J!&Sn{BxDfV;2M>Pjl zA!v?O(f4FYdNUl^Lj)=VEeV*42pfegZU=@HCVm8*Am~Oe_Dq15BKd)avOD3n{psinAQTF48L!wy7&U~iNh&z0^57NZLfG&tQTp{eRy zl2nqAE6mc7PC=3^SoMQS7&p4r@tOD36TceSN)Bp6guzPi$%gBHuF!yIje+cQW`43( zMT(&?^c_3V5%$bf320DW(QeMDf~=KhOL1d9S1noAbUT1o%<@=Q{IpmZYeS#28P1)A z!gvdK*Bi&)0WbPbjP#D*8vDnwA2A(ENE>`_J3E_Q%5Gvm&+cdMWWUNj!+sA!C8iO# z<&XU5p&KOL1$MWNdCo|=0;@hy`!hw$=oqvA^!d}r91i{TCtQK!b*S|0(~GY;^E|&E zIbQ!aO1ML4I0MnLy&ut#zPzq~Ri76Vu&I{Zd(QAbdam2E zub%*ljeC91ae9cc|2%ziuA@V_hxao};3Awp*?r#0?6S*wjl8O#d9kkaWDP|%WkS($ zUk#si9W`ijPg(y$8#O_}0Ro`uir1mQ>lA&slf6^X-Ql&k==g-9q4ByfH9EK)1=m}N zLa4J_%(1hB!t8uL^u5WrFdw)x)mGw$)lDmfVED;gksU>@pBMjV3iN2%=`#+`EXPk@ zj-GV*(`T>rG-$$e=lD~dS>lXxSMWYZN59}5Hy(|^`g_(%FD~g^fpM}`-i0{e&wj@H z^SHh^W)wiD3UcE*RsPP_ zI?Kx){D0>X`GkbTYoVjRRCT;>`nLK~9iKEqJ|SOnN!x4Z@Gt!8GHlt)0BSk;J{EuK zN%(WArWqr)C*VHg@=Uq3r`4N68=K?w(woy-vFYYh%0bc-wrWtotZ)U;f_f( z$&frqZMs6!6`N3954v%cp;oY>AovK^QEf14l0Ge0d(M`;hq(j)`UL)L^sA=`}l@l21%48YXVB565I{< zhbp|gCSu1(U%*a_uhvAo_7iwQCu|%hDRg~e?MJiA}sD8xW!Vp7^ zj9h7elV}|pFXQRyX1EV-*vCE4n7iUos1`K_b$apq9jEuf(qb9l)Q3-C2 zEFUTjDzzP!2^r0zPK;(n3?$A`cQ*&L&mEhkFmro?)Mlg^c>?Jv*&Ui9riwD0PdpFX2lkM!1agRc7Q>5?qTB}DX0C)#PvDaz zqKGsRHI#wO+ZKfZQc~trV;8XbbwHgUQo>PV#YLbD+&m#h3NQ6#WUqv!11Y;O^oYiU zjvC_}D6Xp}Azq14Rn3&@dTbgMu_A8Z%1J@I~1o$-SvL z@IHq0?MOZXsNjn1X%%gnuvy>=WCOm)KwMxIvDP4c;LlpJ76WUhh%~bRzLA4zp#B5> z7RpKNg-l6PB2XwImYC#WX9K?s0Y5>V!F3TRO6M2G#|u{g_*ubFI80-Thi7t;P74De z$G*P#Xjd;2h8b9Ns+1Hf;x! zMKpv2bTB(ENSODg>M98OLhK19mln7nKSu*|s7Y+2QMac=e|T20i%myGLrN87Enx<3 zFIjj95D5^I0JCEwn~&&9=J|?Uz_iAA74n@I*mllA1;HP5H(~96$ zgdBx_17t4w{*;S{2#8MejPN&{dBdRGC3ai1<>zXYEc8A2mNpbq8`Iuu+(pb|); zH)+b4Z7#k-zBvufWr&Ff=W-Abq%c5eAJVBI2Bw}YAH~dR!H)=!ss&(9;7*QU<;n4PmV%o8x%G3O(`y%;SqIg1W+l8b zwiy+4f-@>Wr9mgFRIi5oMpYd*;;Oj675+rHo}+#6M_*nZVaa8oO6=9U@4N`1M;niR z{p&|JUbwh);?Agl(H*;SHV^$Ad3^6Fp16Jct~*9RDo+WY7VdbiI*RUqUJf};<)u0- z$oK5N*F3zZI}UxO($+b)8NZ0a@*+ zPIZo2clGW&FD$TqtUG*i_*?7kK>M1{Yw-?xhUY)*Y4lC5u!7*!7sdXMHX_RE`R#}b z7v8!1%r>(;4MB^8Nx;l-vSK0{j3Z0q;C`HNmzzqMMQH z96aaFFu_Kli#X<=VMU%5c%9s$%3br;J;vaT_CoXO>DsdvBq6n65ndpiT%p?$_P`}? zQAAGpKE#aSle)Ya6B?ZEb-J`qWPhWodu07SEYvPzo8@PJf@9wQl<(K|Hwlig=Gc;O zzhT^e@`L;W93Q7%b9eaF7E+jk~ahT>WhZB$ee4CZMrWCugBubP{I9xyt#`C zL&LKL7F}_#Ebpb2aSL<7h+d}+Z~KXUc{igX6P3DGx%gv!NjIeasWBHmhWBZB64bI; z5H@4w5cf&ieK_sjt=}(**v-AzE*|R_`o|W<#~zaw zkM`N|d{&Mw!Qm$9HLsCyN%JwOf2^NJLFqG}k#G$T`_g0JP3EbWi~k~?4-zYmO}=;w zg+z|nb!5t*I^Rx>b|KgW+%kid)?#^fd3ko<)ZDXwbx^o&b@t>hvG2^b+q1*`OuPN& z!Hig<@1Onl%wWG*n_k%3+kEoI*1S-g?Tk;K{N_v-9tI1iz9YKAUm=aiufzT5i(_9I z`|jAYS@;7m4#`^_zoan-+anb&(2>wPq^QpJv7GEdgk0lH83U+XrpD&10XtjxD}q;2 z1ymOSMdJ@VBaR>fji1izS3>w0K- z#t;^06k=07Sf=~{*ij;Ei_#g8#{;UMOE@>crUGBU?}>YJV{d`WV&PFCP)uYAb%46x z*&BryuO$;{?3IG)$%?4Jr)4Uf*_F;f0t$+S$!c#0R{x@_77CTc?d{(5F5&81l%#0; zrewk5H(r$?M-(Qu_@2>f?y;0hZdCL%iL0flogEJ|k1dQvg(7-31zdDuY&;nvH;pgLEcDutCAQ1KVWk!opISgPrvQ>(QK z$R=g@x~wUFZf2r5Ro%L5Ty;UCjl4nWK5@4@zlacN2tPB8THA;mwu)R>$IqWc1Z6iL zrtN8<6e0prEJMci;X9h7yDNt5#@>#2uHl{#7Uv2GGF%P;VnP6ac@saw*I+vX@j6)v zoci#|NG~^H!&4+9Uog&v`;;0LA!q6SS}9J>f#eSFD%aJ57JO|N#&W_5;Y(xx8DdTZUx#_Rhk=W zX0sv}tPBc*+J*W~PYBdOGl2@O7Y3(C#WV{rCr~!K>42MnaNX$#qUvEhqA5gEDVs0+ zrq7!^qkCZ@utQD?piT!0a92PmU}8ir;uWEopV+CZhGuLNHehRl1Q9D@A2=_jKGkHR z1{_ieq>01|3hh{daE3!>LT-fA>A(X4J7=4PVgW)da+`?-sNV22%ESu5Cy~Ezev=I$ z5e@?OK6VZ^Ffa#fJZ{Qxauy};dZ!aaX0utDnZZuA5>e*(>GKZHAD*GT2ZT+mY zRdMfC-iRHuB;|hLuAFF?3bw9yzZxbI#RkUFt8WLGB^G5xzvX-rb`sS(_lSpv>gMiM zs2s>0TQhdDO*(8ex;&m@Z-USo;4xHNgD7v>_WZnM)@xB408+9sITcolr9pMWw$`9z zg<1}M3S$*ENFpF*&@GYSE1r%04EFEh+S)%ks_j%_q)>+OMJku0ni-vAVHfG3W|-ZS z14vkvrk(SpzR?)d6DKa)s#&sB2^rLY~g8!nL+oXGqkP{<3~|Y zZf2Goz`c@Rg)Hl#l7;hT=1heCW-|(9|Js1XNP@*Eg43!{tofeSKY#h~@!jn(Y%VSe z$jF>%W{5`Y+BSXG6wn;JAjBq3$VElO8$fFyOOPMR<*6Nh)v~L}C5WnZy3p{ z-|XhnoP!N{4lG>ATO9PkvY@y@FdMQsd2Vl`EEn_bR^(5WoN8<9__2fA4vgo5aU_x` zByPiip-WD3ji@x<*`HtCRbMFN9XOs&LG2_ax%PyrR4Y5#l!Jt7ZacBd$P(=(mVbez z2Y$nM?MZK{ev<;^eZ_oxnsXD$ruD>4L?@RX08k_rcHb z-DAHw_9?(VeUGF8bUM~hj1*@loR5GFqNl-mMn-F>>A-0@OC7EJU{x4Q3@8m8#&{Gj z4M~-_o~mM<&#DtKU0^6*w^+`rhP3Y9Y?x7-#;{hNy z;Ui0SbgBr;K$fWw>ORC#8+luuPBk!EI0U4w=| zUGj=~Q%a#m0fR$eHsB?_t6c?L&hcycCeZEb`3hA3h^W$CSKqA7b~-D5wG13{bhRaz zR$u~Dq|r<|jd(6B2*+$CDj13eMW9p5xr(tYbz0pGuH)`*#un5m?Dr=o}VCR=XxRlH=~!FyE-#)#WfOLJ0!3m(HeyS*666b&35p2=L~yF9Ub%FUP(;_Rqv$ zKzyJqtmNP%N|RgiDh;GMuSPv1(o9Dh)lt`a6Jf#wrvVg3mVCbf~KL&2aV%< zyn+0-^iXP_Jah2~Bq#jq__B_;S!^n;s{`BW3At)F2ZOmFLc4|-e9b~K zqm7d81Y+y~;;=PHJ1lk6#pxo}Ko07;W`8)fK@ zm=iU|gK9@Dd+tP`I8`j5egyLhQn&HFEQvg?iM8 z6QQ^3oQXg;nHuW#c&b{7jgG#&u{1g9L^ZF1nOHJfZOG6QVce^$)^c1M-`ZSeQghGR zBs9I=gc%udjcAnXfPxmy*f5%=U{s^QmI)Rt?8~>N)>5qe!NT;611;_LoC9>85y=j( z5IuN3d|oy$8Aw4d=_5$dz%s|!W5Rz0RNj9b`^MO}V8Cy%ZR{*|n4OyuB1j9QgTWe* z6AqCjL`%>Um46verR5iu(wYGQ(&4uV+$ zctSB=s6AWdaL7p!Yb;eu6=6YKB7dluI2xS;<$?O}sY?@q)<*DSS|LXg;<|tcTQ^7- zS5TwWL>%p!65J{ZVYuR=W0U3+JqupI7hy;NOXbsx+5~P(lLdU4)?9khgp0Nbur=^3 zv?$O6Q4Rc^*gl^X*gL{%g!?K9iX>gS&3nrE$Sju)wOkU!5O72-QP_n1IKG<#I$=I{ z*3967d?7Td;W67NxSoO?hbn{%*pj9H35i^Uy^Z2x5F)kdrZ5#fBi&n3O8Yzc()jU) zoQ$XK@k3=eki;=qZW2n0VuNcUlPn8511NMSk%ctx=iC@<--q`INCE~7WQfr%#n&b1 zc;Ssy$U!9gHoTI4qY|5byc;T3h*ypRtfQig1VTdrl+!qfw#zS$*tFb5e-u1I2T z&Tu=}QDKLaP8U!y^FvYbJYCZ#71@VYUvw){52hf;*(t}>L$Esl@7=c((rDVDo#t7& zot7XZ+JLuo4`U|Edfqin%PO_H{YKLO#}Do4tF~h@9yAd^AJr1GgrqU1&%%<^%^#Tv z+D_Un)kQ1=tk;q{Gmf(`C99RX=`YC0LkX}Z*;bLpUR7HT5SA9}+pCsh*{&;;D_T;I z(*iQbx$&mPw3oI9<+zm>*?waCJBkKOEZ>X+r{tC!vu3(bIXmZT!aJmGrf6XNpreIo zFRM{bLVDKvf^ID|nHv5H8GUSJO{zdF7G*PF@a=a^Xl@oxJqz!O zr^YH{8@X}>%$PG?u-;5C%y>5D195E#cbs^MXLD5m5n9Gm-!xg#^~GvQWV898*IPlV zmp}c}vQw#fB{T5?xR+JuB|k|fA6z;D-!Eo_Qx(h6qv*)NSGPJ&Dc^kc(l!h|5(+tv zH;zq-s_tHX{UKViP7T?!!UP24mjdbUZs-T!gtm^>o_;nvGG+i#D4V?5yutiKDEWY9 zV;z2VP>Xi;m*Vz=r^CIA4r2T*z08pC{u}B$0lOMlb(rxe)n1o&Y!N5w&jU_Dn z@h3Z4eo%+hI8zQRv#L3DHNP0JW~W!kOQJHq?Lg~Of)4!zl2S#w4~Htu6x*tYK8#zK z49Jlrdw~%*1tcC60h$;39VCG-*~V?`;)VUwGN`9H{)KOhKP^7f2C{CDSF=_dHrMbIZC03ca7 z^;_&6LKn)kIq3Qbe-V-^@mb>h*_!Ve=`pwM#U#i1>dlcnXvTo4D%1ZxZ61;OuuaG%jw7xsKSIxQ#IzQKUsg)X$K z4pgeCtCF0Ij^pVFVSuOYUZ@a2GJv%4~hn$tl({^ z+7?_0MHo?YNh~Q=1-4>hwcJRAjWj4E+@h8O6INBBRMq7g@>OVJ8Vg!;HD81wsZfBT zNLT=SU}-39)yU1yoyz-?mniT)k(%<^JL<2y^7;e8O#RZU&(`PHHg;L(f`xNlIeAQY za_Kx>7o#*MBx0f$U^s;3$ph2%S#Y6Vijitw4d5kD2xrS|67e+|bV;kOs%EP?R7CVyeutFP`?{E0W#l_lilw3nlFxWyNIBH>%ndig|C@Y9eh1VAg;x@ybFol>A}= zxG)d`0LC5Vih*%eVN0iaPW9|vzM6I?gJNC_np2KnFp(R@D)(X>S>l4@&>_|(O{kUU zwg{@nz8l0%zcf8;&b17Z6!(@X6#S4S8XVJ zY`Z;GN*(Vdt9c=30%yy7WM(`mdF3eSFry*XbI9AffZWP^h0<7x>}RWEyCF1QJa#R@ z{$D+I|JW~s27Z0)iLu`UhVmGqv%y3%_LB`W^*IIz@FO&i_>x#WUl+iL2rBQi3ge99 z=c_VkiNlDJJNb_-&7;HVZn#yOOLYTnmo*PvTPZbGst4<}K z$5B#UNy`pO>%Q&Se%kmRYKd7yGb&3a+ba;BzR-|v$8j@G3A+t2sc zX3|D!^i#<<8NevYteLN@pKGKuwXh0RoC_HS8kW;P0w8YTTjc>)jvT7sfn@`=5uZH6 zumHSz=8vFwNb79Wf)qbcC2K$9y`v! z!2&dvVHN2Z|M`ZL&(+H9V&dftLuteL%W@P32o4;;vq4VCy~2Tm%X4So24lkGOiffM zyWyyTeUJpjJaj`4w&CT%ztiAz1tldR$V1Nw1u`}jl4GMbeg-~b_zFpnp~`H-wLa&j z?7vYIJNm;gF8--Um!AHXD{aQu?+Ksd0Cj7?u-O9@@mQbKbpdDzaWN`*8iXv8Hb}UHy7s0PAIQJ?JoQ6X1x_*y9ht95bjkPy!Bbm8a@l}HEgfN47b?HCuGJD0B=OgLMYq|p8=A~UY@aknuYX?m|!^Q_p^*~QIzn# z0juMTLWGD4-7ihe=FDo)kv$M4{NmtG1g|!xBcWF(F(K(6 zc7njMf?)W_Kj&2Q?~pLgMRbkluartVqH#y9w=O(q`S&153#BA3F;+TS298Dmw?<1V zA)-W7ovGP!EtI0~?!lp$Uo(7>}`lQm67>r3DjeHrfS}H2{k#gc{zPLB9*O^#o!wJomf@<1Qb7jl&r0GV-lJWRS0YL$(>O$mB?BWc1rMkLw@k_Q| z(ef35eP16J^`MZu_2HMz@83{9I5+?1OR8arsgz1uJRZl@nX6Y`wx9im1xKcg9@s2g zW?~?LuVPn%r=n+~VI`bz8gD!Z;V^*6(Qa^1T4l*@h)G0jpB@b?6Ea;CepN{evE1w( z5aUu_al80&gEG{6!IZ;nqa49!L4*>p5QYWaNDOsq=UG*KvAs8+-?w-Eh8wTE>PFz< zUv_DC{KRFwD~?;DUrQZK8nlXIHaoEe@5yxH$WNMdfHO>7lOc#FztvSMHWyLydbd^~EF6k_W+1mAMa3UG zOHhaZCZ)9kyyrfCH|+8oZ1KIqjJmx$AwArEP*b1irZ8gO;R=>(Ab-(~Y{DTy)f~Q2 ze>qsXez!>w9=LQnA zh=f4uDbmK_FiJ#l%ub^VMc*2)% z8AK#7T`W0Z$3OOnzJU0ACO|ze{DO1zk#M`uN!kAiLq_fl+5G%l>GhZX6TODAxoSyp4_&dOMcLeLNiD^gG36#Ko92`MnO-ME zb;SUJy1Hh_JyG3d$OTc|*gL0lMQv|>`KwRQ#TWN(tQ~5!{`i9*{NpkbaNmhKP5C&l z=X%B1Zpt^%t!}!UUSE zD_-%cSM`1+eshD5#2EX4@D;F?m-6MY3(kk-4PA#`TU-;KlS+v{o}L{vPl#PYcf)Os zB&tGYpx9l`@i7kcHQ?T9E>Q>=pC{y_M;Efo8m%0#(2Y_huh?OLT*0|58`9MGw=MzR zSd?;sk(jMKVc)3!+`MI&HUb;lenHRG-D-KphRoi)SGH|Caq!@ETelA1FU+3&vtMqvw=FN9)9dZ-^#E=1rr|3l zJn!Z-eOsranm1qTYsNLfOfVVrgV~@HyiAvY2(L&x7J`nY&IWx;oz%=3OTEQM>05mE zVc3+Bupw}KPhibSXzX=o*>fwUvZIz31lFIECtLb-70y==&C<_}^=l`ypO=*0cJWpC zAxb-SF8d}BPp%#NI?S)oo_5HHI)a-e;fm%RE%r1Dqp^hzh=c&xE@|%Z8BF626*dNr z6dc4CX?3GX3Bd*vnqQ7pikI(V%Swfkn1opP0C24=D&jy@Su{S;0ntMy?qxDFuM@MJ zY)&*6$hZV?32H8)8L>%XBiI6h(dd?g0iuJD42lf>z>6Y)zB-8N$(-IKf zVTnf$1y)`V!5M;1n6LYYZ@3w$b>U6}145K*)l(~Prm^oW=88UO12$~iQT37q9PYQLytgN1vc0BUj5nVnPj7fdx5 z+m2&wC?Vb(DmW-&U9S%FyyGQs9njS+MFc8%`B^b-pv^GaGZvalt>ITEx0lK@6mo#@ zB}MoJZ6;KG&fy_Q!;(J@NK;yCvwaMRVO;{kxPlRIjlw$paP}U;kTc-IF<%6@_zTrD zryDAsNlU*HmW@EFBi5sUr2^3M~1OW#4!1wBuCv^~!>%#1|J@PMp-rvQ~^Kbfed~ z9bT*F4eX}V5k8=4D@Xm%h^%zA(5e+RAaV2%r8F^~FK83+egWiuFMwOrfj#G_J8CY% z$L?#YTJGg=G*h;QWzD;J>2M#`8LL$A>u~{10SrO!#?23!jgkjPH{(9|`+d+smIC#q zGuz5=KX8TSRJUPPHkk(JM$fWO2zP>r4qz|MBTTUZ5J}M9c(fQ~{f8L~Lk?G}!t09+ zYv3t>JVcZvZ1o*<9jzqf5JpS@iB8E34qG+fYh6-yI}I41R|GpwfalfLO=!FYJ7+j0 zu`;_5y~VSOh*A;C22e_^*o0eK{B$$?l)XH^ob#8Gu(mx927oA=_Z2SPvy2{jq&$U8g=%Z1 zqVk>NmF(|?ov>!z1jtCB$zl%%ngD@;NfLYG;tlADx`a4#!c7YqVc?bcDt(LDN0vi@ z_5+!SguVbf<`WJVl9CS=1bDb`&YBP*lKzHQ3PR&5MN|=m>>|rg7c&e1FNJxxbF8%?rFi5Mm>baYRTP32~*0s?qa($ zt=Pr$r#5@a_$0C|y4^}t&}s0xj*#T3>D8d5o|@P`wblUnNtNl1^|^ztH$U&|m1-0(_;W^SKI&Db1E9X+^!q}W} zT=-qMEB+=@>wRJD_s9MexhiRr@NvT22C;Js+ES-8D-bm&>*GP3mZkvpCVD=TKe$Dn zu7-$^tcxc!Q0Tz=(G&}*C$&=$RgX6x=0G*-;Y|V;C!yXL`DG?jF~))n?V7Pp1NiYg7Kj;>@1zrrDWYjlq(wYVEvF zUaoN3p(&k%1O@K}d2wOt+-G6Zu{P+gAtkMxB^EC$D@FoDgwn=*Xj}HAE|cHDm5%oYg z<$@3AzZieo_JCYC=@AtnybJOGxGRxflYaqqc_!G-@~tbCrv(fc3E{iSuCDG74Q+92 zF_E-978JJ#HypXO~ytmB^mlG>?y6*6og*NpYpM?`Sa zT8MV`4_AlZ%H;w$=Es+8V`jcLSotq+FkoPIn~3XF6AOMJ2of{$pal`0A?Crsp~Zzs zLrP6Om+Ka%@_83%Kuve!8&aKFwo;tVwGi^sP>fYc&J}_sT|Lr&HGqUVu!p$5Qw;Jt z61UB2TKmvcXR)YAlL`AH!!(WIFKHVuOCgm)+$elVMMSQ8Kr|r5Scog61b5IGaW9Y0 zvP*^cjh&Bi`Uni|U*uvJt!}hUBnb=SHaa2|Iv+lTpV$I-OD=h3Bb0z0V=iLYxEw$q zXoNBSxgLR*SZM1>u;N<`RLei`D!Uzg4LAY}44=|`I&&Z6b$-tc?{H+Nv8CIbp6ggp zcq71exE#kO^uTJ=^juhk4cmYPCIDO%f`otfZl_d)`O4P|Wwp^7k2Tq~3igg2u0EAJCl#k*E|rWp&Bbf794e*yu6VYM z?8cYO&bjKs6+zIR&X-z10xKbE-H?mhin)mj`;AUFbzSIhLkQe8-%#ofduxDKFOM zTczSs!=GrD+qQC6+Vu1Dl?|=&?Z3ETc|%W5t}%PFfb}Xw6I1g~T~?V4U{3DNc2~zI zmoHonf+Rr5m?|wDU)a9T$iak%AQ(h+YkFlGBZsUx@QK}<$m#yU4X^7QuJ&t4p-y?u zdwL-)^u|keM{G_YEKJe;dU>&4T`Il%lI63Ca>5=kow-uZ_P|aTTIIgeSt)fwfDP!4 zu+;a44{q$WFS~Aj!ZXWx*K$-xo4n@A@u>~DLOEQWN0bccr`vZX>dmFb46>VdH&(~% zF&{3SeMxu*dWC-)``5AmApVM(wQldD&VzRx+0x1fksMEH>}UX#W>FTUyK<| z?-)KH-eFKNlBltXe{9%7$Yf|G>E21Y;EX<7D^QAxp=!?A$9 zAR@O|*q$UgSIwt}d!SG^Y>Ef8V_V7R@~N!*W_zWK)MR+ZP63+LZOa~X1)@`dCJ(Ov zZd3$xM4=rNdIp>ob=TJeGW_O{_tQ7QNISWt>ZEYa0pf%l26{?($biq2wBxx#DYSqy zf|x=I2h#P)eBQF19t1oO(Ya}mE1Iprsto9baiAZFKmhTZrdFBsbBzS)4kfvQ;1feO zb?5~y-8uz6F#J;;MS2rJt)$=4}sx1I2 z0a>pjr!-dvbct|HZx;+HLJ^1=uK}Ae#N2!r)2K#2 zWQ8`&Qob7Ha)L6Mw68NoFEN4{zXHsu)h%Al&!;}@;ecNO7zued`t>|4P;ojtxg`v1 z=#bxOB-(2|j5dZn_OU|(xbxAr}3jCffpXt%B$egM^@RWwkDKTv^qgN z1f+L%2hb>%p7mp_T6~(&3YKka!JeogP1={xo`f1gQ-CjKXMCbf2p)+F&}4(AHWNRa z3iPX(8fRRE-oPDEN5%yCJn4-1C1hJARQU>;o#_)^BxGbdh3VEsK`sl!>aUXMO)VXr ziW=cOHtn?dE-eCxd;$LNbQ64^mFrSeCTbhqJ3CEFa3)%fJ`+zthmhVcyDWQ6iG5@2Ix3EA0MDD z{G+VNIJK?Rfn%I#>2Y~n1@0g~&2yz9Je`f$4+A7TlS41xg*&8{%9>^(Eh1bYrN9py z0*`@GfMU!X!FIGzkUPlKukd1VT2iB zS3%iZfF^WLG9WqOUxhf*MguE}YeOfDr9wd%k=FqHKLVEo*#=aW0K_XmY6)o>T6*BNAa^s9 z%RQuou0+9(SxsozGy#YLhfn)cP;x_^*kw`;8k!mK>1o90Tm+%-%CQ?^tok2h4?}Di z7yE+qP{UtHi?w#khsB(Uu3stJHN^9GJ*$blT2(NU;-FXEG_J0OlACYG zte^q?ltoHm(S)CL61s-y7orNX6eGUI*j*`Z>L7?v^Ga7#g5+w`hd-nP$41fdbXm}r zL}0e+Qj!235m~t92x?HEvekYBPFH8ZY+Dd%fMj46^_^O|7Rlv-T!p8IowKk* z7mi*jiRYfJU3y6M0Yeq4d0402llLHo+VxF9EMQrO(qh+?CIX2Jj&c_SnEY^JTC*7_ z8?aCS*;0Kohm4Ylg@Gh=Bt+~X5QUDW9#kF{%oVy?c!@+l+^2phY!iBL%{ex94U%l! zGxk<&Eq@I-uJGL@6Bt$wT4(qQ4=IwU3iOiD%7`VFXop4#|5Ol^lN}+}i;l$p7I6vW z$5#;yry7!nHgwM*$_~zE+kNi-L#r0wqtJImZAfE0faU=NJSrET=>weUhNv0{mOQU9 z6;(Kq(GHgI4dCoT&Cf(qc5ZdEU7T%I6U2YiEG>?za6e?{RC7>nm+Jt`I)Cf9-|*u0 zL^D5G1~Wbis3y+@`dhfDszACEv9V;B(BqDlGgsf;+13U8MM-Jhf56vT#mNmKaP;j> z!0=k^12E6c6+YvHp<{>PBd+hNsaMY{^Z)3Mn?*p}dhntW4E+zWdto{7A6HBAwr&((Nph%z%-|j9p~N#y$qaW)-Iaxg70` z*&VX#9K0A>IBQobbEi2RE7{_u=HcXEeJHfBXLtRdQK%2b$lAtzXU^DlEu(|3MzzWm z%^G*lI6G4_Ntjz99Nfgt$o$rgG4Y6AHcB9$V9tO+LRQfsAz?`^1FlI%#qz2EG*+pv zWPvWC3gJk7Y^p25uHK(88r^n#a#vk2Qf!$_B;pBYfZu&#v8A;=TNk)ud(1WFuqA!G z%4G>AjAI>d8M|BvP7lP-9v${%vWPdW@^!T&&N`>7*dJJYh0!^;#kaK|^hX;j4eepJ zV}7O-bF`sY5OhIH!;aR{5*jRPT>btQW7g3cVTrP6Om4EvOEw0 z)Xd*(^#ZE2CWfPt8`Mn^e^#GxCEeJU!%-LrVnesY5CqJIbUbPUMg~$C#Er06?U27T z=phvw-5axar_)7UA{TaZZV!gVBz}-HTcdC`M-;TJ2qt5&3Na(^^Xm%fHJQ+Sd(mVJ z1UDN=qtPgS&8YAIo&A{H%X}L_sn1bd1dp`qkY?;&#k+yf{tYPY86dUqA}QW4;adGF zHgp}r;34}v((vR-8~E}@z#bhE$uv>geX294k;NkDJ+PECs}M#~nYi6aeWU59U|8vB zN^Cqm$S4yy36CS@4|Y9X+70onYzR&Z``fM@^YarGeB2|)Tv%#NwK1pv`R|-294R;> zi4dZ0UTra0<2fg9uFKjGq@F8xX^D~Z*m)a5eR5_FUJW5zi{IGVz`Fy^3ra{T1iMq6 z)ynAwdf2dZwr1(9o1T^EAx{r;l^aMgj&E6d7^jCBh;p~klMp?;7tRU@R=naH!7e+y z9$we5Wo|g7T7%4+oZe{`5Ceo`JvNh*MkE9mk_v=V(Dy@iYqhE%c18qEtp?mS7d50a zuC&HbpR{p4-W1V~jyyckeBRDsg8^EBc@PJjH7FguHRpkv^CszBB^?XW5jI%(Rf`n} zpOsEKrK3(ddg$fa5|!wj(RK0ztTFS71oH(Zk1&8V&d z?mAzE-}eiOmlQ`3#6}=dk|XVi2)7!++s`H!ldH+Cq*pUqPW-V7F}{;Kl%Q023?@_B9LlU!3dIlj=}RPH=n`Fu;|GgtZi=rP}`*Q>2NRJq?+ z`E*u3tL5&le6KcXPvv{Hp0g_7`zxQc>-3$_!XcY{8o`c`LE0{^vf1m%7sao7^Fjl; zUV5VXl>&$s`^v%DZBfxTE9)sCy|0-jbvb7s=gbleW07HB->ps76-l z_S3+r#D?sP(YVeuptWf&ERujY!@MVu6(YJ+ESfGtYBOf`oQZH(HnTY!?ig+M*y}=4 z!~-Oo@$e&SW8RPw!VJiW^{QA)Io#~^g`?qc6eeqCom1bqChG3#5~2omC}DO6Y~hfy zOxlx-qQ_Ufo-0DcE%NA+OhF#^D$HKeayu~Ar59wl_0CH`G76#@y74ojaYD*lo zMAc%0m25c67&4Gi^nRI|F+t`=2>`f3R78@}Rg9*?K48^twD1vIz;vyhYjxODush%Y znQ2=XLU>m;9k;-YfF!kU!IFZa8k?^ms5q_hK)Zi+`JC?fKnAh2`!)q<^1I@uaz}>o zvO&(*Q?_{Ly9b6R26Cf;$;Qa0mf<;$iRT*)ksUkwOT*FbnZEAcEdh8w!2aWLW;=6% z!U(FUC<#21Wr?-B>7!pbZ%^*ZtAG3Wd_EF9yJvFh`mT*@@r&~n?_>Xi{8^ErI|TTy z3O!U7Bp#1S5alyK3#ItW=%-rE{C?mfe|lf{(59?)PRkVr+V}W2Fid7BRqSHt+5E!$ zHja$Xwrp-I4(cN%AwO{Gxmuk~*Sx;Cd%@;VyPWH;97f$2DjrpR1(J~f>dvysGUXov zFtG!iLP-T=nMkta9l^=zQE#`Wf2c=zHnruVk%fQ0y?Lbb(a)UKcfnlfsYfHL*N(e; z-GgHT90sqy00*6xv=->#cH$c86a+Y%HQp9Q<^IvpjIG${8k7d05>!wHAva1`qJ6q;T>^u`G z`20T3HIrB8Ak~w5F?X< z#vL;U``>cC;m|GFXm?v{VskdXDjQuhI<_V<|A=lr+!BpPwCnsk+kNreU?`Rvs!tC0 z1T@i7y!VVEY8yH7b3|87f+e8Sg*66_3)2OMyUL82nAQ63%XW1NuHQ(N1G75~E_>0D^Dyb*O}bRCvHOB1b=xLKQ!b(^9zgEO zsAI!JXTIaVFTU$)gL%~K)~$cf)sxJxZaK)=jC&3&p4Yzpk}f09+3iCIX|lu5E7p*2 zFkb>)N7o#13(S)#_QjM^I3nwsTA=u0$wtJPR@&gzJ8SP<(|q3C)~6QOEsqUsJwKVq zG@_hcifwEi^GR6PA6>h2sAxg7U-Y9`pzC#eH(Uwlnx zqYZ;~L^-d#d`9tC<`pYVqj$GP17sz*Xx*apy8jPli9dFGCC#U*SKQlDsLZL!S-putE zTwNXYsCczvoc%3(JGzmU<`%n~CJE+2+AO500Cyna7)bLZI6@ONfX!m>Dt*45-B&M` zC#NG_nPA@SAK4uYIuilyq%j-u4bA+E(=fhgZMojRioCo^e68uwcwtSG5b5mxWUe_{ z^x6mV^^N<|+jG+jM!fULmuYeqOr9ImN--A0C{{2tHQ1IGC3-L3iHuZw^-Z7Z$#?Af z#FbX@Q_NL?tF~P84pZ|SdE#RaJx6KKE68J>?{q2eyZPUSY{&$J74Jr|o}2z*ReGH_QFQLD+WnF~AM zHqXEF%aO7C??3pfUrx`CUQwQW+s>}D2OfA=d%iF-e!;$;)$2Ai`~YR%q1ehSGJ9b% zs3;R;LnU$HO9=A)Ze&eB7Rc+!R`NmhyjI-6%wslpDfTd*guAAL0>9h@ss3u^CdO97 z&5*Mv4)ovmuI$ywfDBhv9x3-qXCfbMmgulhYUEn|r;k33zFeqI3r~ z6!`)3C9gl|>y5{QtzxN=Y3~pBUpTyuoNJG_HK!&An*9S^!S=!I5rtu% z>1W@EED_<1i5EVEP?S&b#SV0R?U4_#IqdIQMYAmU#{5zwh5b1yE0EC;8ax|E%!tO3 zF9{kfS`0}Z0m9TIJ9nXRjk%+(XIH=0mEybFc)qijPYUya{&?KIshHmqW(spj-Nswj zn&bA=+Svhrs;PC)Fm#1px6OmdbXMI@K87$sv-&!rkC1u7oN?PUc_;Dnn8q8AJj5oL zd%?bg7N_m$QevS=D_kfG8k4FzMOa!t?7L)3xpmXoJI9Q-s_#+r8*HjW>Z`bct$Q}M z?s`kdp@gG+`BtsFKH_id=o%PJ>E?8UtF3cm+?=+!X{x6X(;IoMVS~X4Y=Sb`zlCDK-jP9KBp!hY(2QIUQ-xf zw`Rx@gd1oBnJ+b$N1BC!z?w6*&P8KmvAqvuf(;+MN{wWGt?PE|SnIWycl463!R!cf zid=H}C1)lXr0ksacww$rIC6o~yAR1Y zf>5MN3mFk<;DvhfhHtyJX($;CwuZX{<(|x%&6%O}@E=a03u~sYZJNo3<39hmC(5ty zZJHU0cX3;e>kC3K($#j#!;Xbkl$Ty2ig5lC3kMaOyera<(a=`-P@lYOL?53?M5n@M zl>5?|_M$)0IGj&x%+^oj%FVrPrBj)xakF`w#X40NnoGny(d4wp=WWe3jvHBRZ?SDG zdfZAWQA~4M{e=TDoIk10Fx-pb`A*Z4XilMTEkFM0p5fucmr$z{jYW3~Gd6p{4B0L| zHh;mFH)&&a0oLNP95-8Ir`LMyF-K>MvMFHnquBZ?Ab9d_ydD|#het#6El3h;&N_+j zDXlf2AKF~rata+9Gn;qt{A@k}xeRe_IakT7U){Ajb=;&3%7Tv50zw&m2@Y(O=vSfI zC29^#ubdhx3(TE$?TviYXo*@^O>!z*Yie|S%ZA}dG}M?rmHu6G#a;I?>?Wmh-MUa{ z^Yn(@TQ}8ZbM?ul*U=-Rzp!xl2*OE=-Dcw!vxr5@y;pEMR@A0Y#|fRPGs@QG`8jQYYJgc*y|35 z+^J+;X7p5MWPErcH{$aT)@9lP{$=Y3h%Vc|PW%vFLpf@s9|dTkCM*9HpE8(w@pz(Bdh9;kPVNQz)@|R0E47z~8#Lv##p^0LF$Rr!cMK zfIrRrOxLEVxjk23djA6?oK2+)o9h}tqTr9oAtkO#p=crn5_XV_wu@gTHl`GUe%bAKS1!7kG!Isg;J;)fjT7Ghz<+2%b{d%5rnREA{kEtcmzNUWv-#~q(mH8 zI6}P+@Q{=E`}efJZ9ntCNPp+R{7`$(Fgvn;;QTe0IVaYyY2Q1pY~R_}JmIn13gnO~ z)gI2|SL+5ZTYK%TW6zzj@9GPU#tX0Bu|eH2pFi`ma}5{H4`04UH+7)5F&m9;Ceztf zjTu*KJ%*|G$SaUYf18>?$+V^{#sXx64wrEWZF!kT3;ZD{9Q zzF^J98e8%kS`cq?e%_Y#oxN|Ot)~#^)a~9-uKrjU#$6YJG7SvlSOhWI)M| z5488%2V}wTE9_?&J7&X76G7R40BT9%s-r`my-jQxpPU@0@Ad1~lV_%;#HP9N@j3b~ zoR2?w4j3yt2!;V^Om0G%-W%yC>@#R_$tA_4YH{+s}Nvbv`$)As-a=k?pAB{r}NpFJ#B4gPG?cZRsekp{5sfDY}7oJ^w8>WDkB0pjT=Z}))$80qHB?y6} z{QSDf{NzLDw^V*c%8BoPKT-F-ni|a2pCSecXoy0krlioGc(xv_^;~HFBK;>(}SIy7JO-sp2cI+_>?|D;E}4EXGDlv7wM^F&*0WmX>yH zgJxtzvs4UG+FEKK=UZ%(IK7*AWH$TdR#=br9^tVu-jwpH4EUqF zw>NL!z2Ta^O0CatJaS~?75`cp@w-v2)K)rrbg|0+nEtoU&)+$JCw}w|lEu246rZH; znu%H(@=CCnn#tQQ%4J1EKQM@U%%Hy3v;A(y;GF$-+JW5nw90N>2Y;!)fT*Lo$WkYw6spE z3vTg$Yuk&JgeoX3P|<>n1SDt(^QxLA%TOU+PQo>%E`f*X_!22Ppee;FQ*?AiFDn&z z-?B-#rAr`jbQWz?WWI#1YVgeQ(^!jh-dj@<#kr(> z6#0msSYDY6!lB2|l?wb}k=cL|*h*b`cKGt<%YS~~Kba8!jd^xV z{Dk-nx&J447UqA7C#n-z+dj62&^+LxNt=$onRV5#i~n3b1DcCMh@C}Q9LU=wiG#EV zt9JF1QH03(7MiDRZYJ0Le$CVi6^yumN2UFf?w(=CR`Qy-1)-&$om%|X6j}ymhH1bf zlx~#i6cm`pLn`tbbLrI7;@hU^V@J`CsRlx1+#`?iA8xo|e!e=u`nP7^+P`icnh-eh zTc)3R9to1r+IX@|h06r~k=Oj_N8%wXLpKt=ZG6pt|M!~l3&q#O*U%7PU}i6xRGkq* z!dk?q?AwI`^EdoV?SK{JQZc*4{EAsX@!(fjuPw~ zgj|&%S8WpiI4%B>ZdK$@qL#i9p7JF;-hs!_tuU`aE^onxO_4;CJo&<>H-4<}k>AV{ z@5WCvli&YB^E1TYaESl;{lzCMaHGNx^`I%B?giXXnhe25)KNAJaSC4umBU+adhnyV zkAGbE*~gHB&Gwf#PYibPtIV^H-Z}NiBjonqEPf3;=8>PF4WE+QU_+>6w1YB?NXB<; zX~Zjjfvr1lo3>h__0?*LmrYKtzV~REGU-IIoCMO8;Hm7Nz-c#6-XhJD_!Jp=18N0Z z3pN*o0~9J0!u(rCh7Nve^<;IDb7|*PuRR^KPp_kSR4ItO6*XeuF&L^MHtjei*Y?iO zi|=5bedQJLeXlIuBR|Og3m%k75eMK>{>MhYm7NryBT?~rL=Qb*d;n1T<5fqdm`l-2 zsRHSD(o&~bYU!60vT0R2$gRtNPVt^p1X(417)5}LQI=4(w3mQZ1od-lF~9mTBmC&N zlCTnfw7e*Emqi2R?n*6@2tpTHe>H9StE>J}ZMCwD=PDCHi5aQ2aAVmqzxYe~=;GVZ z!_v`Ss_64l6X}!7dl{uYC5Mk~;Jo;COiOKVj}|9w(Xi2|B6dIn{wwr?ZSwOnF#KG6 znDFB7E0DcbYO$FrjisMe$S=D061=xE|2O~A{7WyrL?&N)Nm@~L;`a!BA0R47F;p09 z{4rmXI}S>vAmF#<0^v!!_{_qO=YPC_<-3{;|A6Slmw$jXxR1*}K@yG%WPn&kU+E-) zX6FC!hv|nUy8hwmKalQMZYB|s4d1-^74hjRc4E)QN|cENS=;V(P`VLxZb1?wZQYw0 zZD<(H>;-eM_0h&iw2^rhUvW_$d*<0lV?D{EEk9x>`_YuH!C*@v~z`d z_)`t-{aLAj6-EMSqL(P}*I%u!nJQaxtiT+G#it`vA|U>;JcVRI1HF!La@i8u*xoue zzTbLKH?O;d-#>8*(g>11cVGQB%XIMaDIKeDPyI#ESms&)6jRc zjGPI$aq?bV@7l1_y!lMeDo?+A(ml7+vgIt#DtDhN-e>7Mg&xh`H?c5r5B~6R-+lM} zVgbOuT!403{W*DiPoYhK-olY?^%3@+vgVBP%CMq?m<8r@aH4_@oNVd>s}Y*{QgRP~ z{{;Me8OdryKp2^OF8=km9&h!A%;vDC{qb-9>cGXn`sTm1`@;C{qu(#y{;g*oXlOwm z)`vg+mF-)<{HaHZtpRUz{~hmn-_tsq+q~}X2NpIxc+VQM+oqGg-}S(jE%(239sRyr zYq9I@d-1~0t=HSlTCLfxzkTu2ul6BHyF;YN&v%IP$OzR( zZxT-NC-PuF+axrk^9frubGGfjJSRQ-@-2?mh;bpHnOq-gPQ196%&>>bNiNcax8-@)U`~vjCQ4I?f zmto>1!7J(QY@w!o^G!|NP33GNkuBx>TU$0;Q}shl*;rnu(dOg1##ka=)NgAk_2)~u zcp_VFigbE-(z&yjWXEe_a zwU3Qvq5(l!*OeGQuWLtdYj#7xScr|+2V83FkSeOXF0UO~UahW>L%YsQ&W#AwqbL5>WNxA4m zNz!mhBb$^?;k8D6y2l#(;#`X>9(T2H$)3is?##~K=X_=}`C{C)B^=)3_^vrrzh)p+ z%q4c!XLlqT%Bg|XshD;fLVd!Lwv9v3$J?#evfaR488p)f1}d#72s-dG4C&d-5d^H+ zfy{=76xSn#`~!%q`WWJ>(xltZD88=v@zM~p6*G{fAq6r#Dz4WEwkkkUD7DF|4SDpV zQ8|c7<(G8PA<+>gq$1*{FsP|Hry0eoDkyjwE}hq2Cnd=npQSh?348*J;&M_|)~Ha4 z08BuqNz&3C{c`liiKdcWV6|#rvd-sET1=NZ7*8tc^Q8pGd|C+C`FwR@AwBO9Qa*no z~oTbg z?)x4{Ia=fKR=W%z--7IcB!j+0(r*cKUmzwlHI?)`Bb-RQ%D4wj^n2n;@#i8Jar%=f zbVPjd3tZUZM_im>k`VD1-vTHxPdViT*v_!SY;hnHwv%3PSj>*uV=ss=zmH8@!KuLtN%K_Jw zX%aOoSr93Fl8Q#9<%`d#h6gVOt`L!TtMR9Wa5-!PaSridSOb2IzMtqwClcvH9glPz z%EaTDj>R95Pn6HwdtSMZwA#dnqTt_t9wl4t;^%wFC&a-Hrm*;58wUnRve9U2VcJJcb9~baDXhc`UBYeA zHj7&`_=$S6x&9OI-|RE+$oY!*@S61l{TtR6r>7&+(^m+kaJcNWTT{Vc$~y0vS}=uv|2syT%GH^xWN*p zwn1S_!^OS1)y{dfI*r>l)7A{iVxHy=dY;!Cc=6z5f7b<($OT>flfDm!rl&(6-mbx4 z6Wxj~K$rlyb0gB1Qlm#MZ}u9Kv97M*3WZ#Sx;i6>SaGJUc;kN*1Vd^4D zU%=bc;-K=P!zs}YxFxwt(4DXVwqM!@aE1Ue42IX?h=-*REA;nHJH={I`lv)cRLZK9 z30jeAw@?{1O2ex_tDG=EB|(Qj`&| zU5AkIUUR^O7(5LckbgD~5r54-AKYhMMZFrn&LkR$b)CD~hG>VqI!&UpcMK&BL)?JRoqy zVS(qe4-p*<=c|!+uT^PxHqAQpac>BLYdJ1}6qF3-vnLIfVI!ig#&yn&KaM1eAxqF= z&uh~rtyN>`OYjS~EDXM5N?YzkPas1<4yCO z1AUzicR8Cad+Z(k16}iti(e$K=QnmwU62WSy}`@{Q(X)B_^PWn+v^95t883E2*%*N z9@W@Z6$k6>o3CCKFZZ6m)}DxUFC>H3utg9oVPwl)=#C}qYtIMCyqubuR%}+BtvD!c zz^6vhNb%ijC>l!f%7BGrzo2thqHn5{B%nK@RsoyPv66P_6B9ntKDq*})7aPAyU$ee zj^@lp&^l&Dqf{ctuTpb=4b_urNhLz%w9tBZ#P1ImgH|vnk%Bc?3iP$!5zavveNMWkw&a_%RbgRO|oQNiRkK)6M z&zve9WLr)L)qeYbLkH2#r6>`zl;TahYDlJm{saDyMZAw0!plM_+@;Ov?N2!(|6EXN zZ;P1@vdJLc$dXG9;=5X<3(Vx=lP920_Bo~;;u(%P{6k!}oG#h@H_{`N{E{+!I0`H! zpx=P%I4#Pe33LQr)Bb@0Bw$K997*S_FNySGNC50knvjevd0ONGSu0Tn;{WP&aY`3# zrs-P1NWef4z>n}x7@4D#z$|=%_Wm8{03==qdc{lTo=F~31fhrvbmwpgU?;(Y0PDis z=C9txukGVw0cX~wO_zPF_%JqLBj>|jY;h27l6BgZzNkvc|1EoQ|EfC=r9+Kob#(2O zyW)N1R-KM$5swB529@gXn&KuE2oH|xmyhnIX+`N&c2p_7l4LOmdIsdMp;gz6gBn5DmbofnR41W{YYJ^FEKQD zQ7r8kSeG46^rh-X^y*AqUCUG`9P0O^;(eLb9Ua&AB<45Pb*zE;QOeWT!}C-}SAgL9 zL*QtFa2!&E;o>Oq0uttxwpOV|h!LrMFKq=SIizhhDt%D015I&~d84X>4k0 z%#7AYN7uLY%=NVd*C%##c5d(#8~i!naMwVuFXvB}3J2SE(?&zTpJBcS5h3)Ch?Hex zZP1wKUdP{4PkqcpE+iLnzQt3Lw#aytUBOylEaFg$}~%@smw9v6{Cq+rgT26tSJ?b z5Liyisx?z#Uqygh$d?fS@Y=C88e^BQf7QUirQx)&w!5J&HaXz!GO1@L#ckxg_q&rD z6HV=@=`ORmXFA#5l-QVbzkhFe$Y2@i=>nzyN#O*ljW9(g5-GL}Ou!BRi;#KOXnwofRSO3m&$gyfSNrAt z*K~I@AD!w_Pxn>5mr)Vx(fO2SQ<}-jEXp8SnLTV2bpDQ=z}opccKRwqh({!U5s9Ip z(iMPnm3VdvSoabcP0iY|(C8Zba@UaG+*e;(*Mvz9#!ME+j@i}QAti|gq5o-GS4t0< z0hi)DIXFCo%ptScL`Srz)tBQv7HfZd+kn;Lu{QWydZV53?5xuz3=QwK=j(mZ-0EU} zGGowNindjo7N%?^v)+)IC=^%cqP|StfjP+SoJr)O?XlK=$XxvW!BS^uDcFz1s(gQI zv?H2L&hE@oB?MOPcM+?XE`o~2Ee_d2t;t}4dGF#)%)sJ*kcbP}$UTuLE-W-M1LC`* zZg(^;xT8Rr%L}R)bI_uwa;Xx;M}5L#FK|aA9(OcKhAStP;-7@AZJgF1{&V$=YJ!$E zI0ylXq$WJJrrKI-&zCw=t@Z9opYC3v@()z|_<^NH!1npLMwCz7jPMGbuf2X;la>ZT zyzXQ}Q*G1HA*x=%e4eP4{U>i{ZNQG&^HXc{mn!4=rBiMC@dLcn1#X2dOr5+FOUA0e zg0&4_>H5hhAx=i+F2%*SpGMy(2xG}0aT)zw0-~ipN-GB<=$`>csla^M&^H3ZIOG{B zAV~w(4mF%s7svzTfkhv4oA?xO>9z1?XFTp?ezq8BV%CV0q#*v+l~yN&3D(M*9$T+KC8R#OxS*w<;RRs__%)qRW5<{T_1AB)Cj#NvRXg;qf zq<0XB;YR>+7j|l-jX<`tBl{9;zG-tNe>N6YNw?zyPYpXcchBQT5lb~xd zs#W(QqUC#(f7YALdPKn@27}pb0P`!Fi;ac0$KIccUHFHWyVH>~S6eJsk?p+w$}4x1 zX%++qr%PQHx6zbWN)3Xj>h!#&E`&I<2D4z=;P7ioMlDi_B7{vg!D{0CS5vVq2*Aj3 zyOfQH4r{UKb^N`&PO6RFk?FGvXYbv}TYGnGq!54Pb@l-B zGK?nTvi&`1oM^GC#fIG3gw=GEzk|HFR1OCi^6i2B8;Z)gc};2k1$|xT&9`zJHmHgl z_Mbg<=9zfa4W2uw5*hW-dCHb;R}TAQ!-qDP3Y#t)i}^>c*w#YcaTa|}92&i9&DyI* zq?M;;euZ?)Hb~*%HVj91>In`CTwiy67qRUcy|(V!j!yB=Dz)@X&9je_w{~}4S9jgy)-#^$ z##7^4&zKM|@2u>UcLFR0WN6x>xP~%?VM$Ui9|}@PW%&?pmNmyX!ixg36nVo28H=y* z#DmljhbSb!bbV8}15ZP0o?3nfiSPf)dyHy3{_5#LWVYv;w{LHDA|(ZK6FYG(e?vy% z08bu7VsKm)T)3+X@J{ic<;U>2bb}{1(owVyO#5^4xw;8KtJRh3ovBQ_M37ct1!f4xLJIUf z;pH$<1Wde#sayQsaS%Y<*GSyVA6Y%Kh=@4w4=?aA(h)RCS)i-Jxr7JkZXzpepjwg; zHQ-QE%{Uxo;l0!0_rE_p-P=o6;e!vZ8=9CHS{LNc%a-mi+id1LO4;c!bJaxhkw=mf z`|Eb@NWEmnS$Et$J~%k;j^FpKwxZK)b~d+PGLe)P<%?`5^M4Q(WoeFL8lnjb8kt2Q zlnDg#lQVK z;Xg^-c;J9h{J{YuiHkp={63h6N@IH!BM3%$YR!cdq=cl)bO}>-hN`tFFH4+BUQ-s5 zd?6{>o}FSx5Jel2vWY(96BiNwlvC?q{h#p@w`U*i;X|j&M_7hi78@FNO>Ay-_hXIawtHSba!-2+I<0o{^|o@7 z+16T0-gQ^9)VlcKU2R1uoZ9Y^*2pXDH&CpNMj@eA6I5tJqXg2OSBevuNBkYkW+D;| z%Qg;z&B-v97%$!%^+(unIAFsmfYW6BG2+mA?cyQ3S8dY&#Hh>rn87wHvOC#zasT2c zeEH{{{@Wpa1I4x?H7N?Jk~G1 zfT0t=)&HLv7%v(gd{TT_d|Dd8y$cKCPw;;7i(hPj?~cSG!48=^#Hc|~N`58Ok`l(u zgx9h*_|h;hi&vA-;?vB<;!nl>&}9Fjl_`opXI@^^lMj*L;tfoP_%rHZLOhG_Ak?jl zwp%XKNDYN)dDOp;%G@>BP7xqO@~&cDo}X>qb=~CKcKoXUKyLAs8GNCo-f`xYlh^KQ zn_WC7lVEha-a2vJt~O~xj;Qj?ML-eQEh%YEC9qW=at9?YA;y3`a&^~%4GluE!Tk)} z;vMnk`_9RgnBV5(XBS6I_01QO=6Jk$@rR_DnYdAzjg;|SKT6iNwWYfga|=vM`Yfde zIiKQs`az1VBQ;}n6u7Aov_q2&^K=$!!I@bUFJAv^=H=I8@*nf;xzoR1)H8D%Hry+{ zUf8gqA|^^PuVb-blmrc5C_BP%ODO#BXB&S1Y?ddBlptaipi-q@1gLT-!59a*C55p`a|u zBtF?TJw0I*bTG_F*PE<^v&m$CU4K)&Eo{x7lOXv-m&=w(aN-_vkFikKHXwdk)zs-` z4Cx_{+ud9jjJL;|dR^}JrlP$q+u6f_L^Rq%c82jag_}Bq&A~>iGGf2LWHdVscRgSa zdJigH4x)sju`NvA=?+Dj_iKweNpqL%7c-sF0)Uopm#7_F2LDnnHOo>Sxdz;)uP9|~aD$dE-Cn96nPmjfN;S7=!zhYTtL4ao zu)jja>j(P~@*L`53nb7Caw*tDPF_n>ur&pp22IN64J$d9DHJ6Pb+|$7XpW2IJf4Vv zL{cyUP});oB!n1c`CI^gmz(&SOqcEoi1Axxw37_)yaUls}XTc5V{|c zwur?dfVCn(@zS5!>IRNO<`>k0ONb`V==6e7twGKQ1`^R2nuMqqoY|qpcZ4B;xeLg7 zvw!pcw!uWqVkvH&O10YbHZCxdM9LzA&C7Lknd7lk)S&CgA2j$ZeB2gs6_6Ao*cyxa zEdxPwm&2XWw~hyqDuQ<#v%JR~b6WjE+zuVNXQ+(}*?m2hV2?f+ZW4r|DZkzp8S_VW zweoS^;x}9pO=dFjfw(DTaX0XMy^9Z-BlffnAEl;LG}pm5Yy*9!))+K+;iRxLE7bel zc8?(}m?jeqlS!l7q_b*+tzLVKcUzzrs25G88El{*AJ6byQQ@*LVeZ(GU_WS@*TJlkc!68Hf zeIA>0AhEiB(;4-XTJqJyhX)3>&5Ij)N`-#2*HDUV&<3=J4{zGEbxRTIX*hTMqjJR*%Ybzs^sU~*$qG^pQ6nu`HL)1@~Zyn-Wff(G7u z)9$TXclXD)V!Te!qQilnz-Zuw!_NeOSX$78XPGq^Eh>eiTwj$1lj_0d&4y)Nam$@| z7UnM=9JqL6;m$jM@WUI(A1q@#+FEyw4u6hbE6g7p_}nn{5+JiJYjTZiF&PL!#}uVV zalQ&b$VBzhAj?ot10~?`z~_PI6CBr7pup*rpupig3LtN?VNvFY#! zop&96JbMLpi!&967!5N7!YE9`2CW2!l&GN&zflLkMFNoTx0TyUfq=p1jD<&h4%eRk zRAXaLx||H=y>365r!|}WMnIr0#Qo^7H<>f++O+8{3Binx(}``BR)Pg18Zof21L#$J#o4^@Dqlwd~#ZwlXv zRa6U?fhAf~#luqhJra=ARB;qGWO26$HxDXlqkbtx0!k~1BZ2E(fw`|~aaR-h^JX#1 z%!>LZ=H8~o-4|^pe}bFF>?ToPf$wl-7~)9&3&w`R_ws=_AxMCyup?z$sTT;14KogLLuvk-#dR2x;+(8x!Q zH)_pIjN5M=Ouj)=?#wytp2q*7P;%ro`1DbHX@Mwa@RZvTsh})LRzYLu@#I!+?JrFcYbx%KhaAYW;Yl0VfFqc!0C;Yx>2RAo z$$4ARTltzAHKuKUPG#7iD^Xj^Ci#S0XN$j`C+=xL}@y2NYN zAAFNwlv;-GqTskdT6}#8s3;>O;ffRN9n#7>eE5<}4&NBryEpcBATJ;+xGH}b#YrB& z%L{~{62%KO!3t7RsTXxV)Y&uCSJ&7W?;WlyHeF-;4lBNBd|89z#6YWxb44B>L4z996gc zN>?{7EM)S?W%nD@U#;sm2lwws@{IX)>*mEHw9mAXBi}?~96FE!sz9*UWtG%yI&j#k zR7ph=lthRiWb<{~78bVES2rECphLYyHo6KmS8M%sbsl_-(+OS$itq`k)wAztJaY5dUgUDH`@-*1dE84?aw$Pg!z zl2bC|m&*_(VEEPw1*N4yK##T+O?g8~=~fDS-&vV73XBCd{c>euh}L_Eyo9wQX?1Gq zU0Ov_4NuZ)=xRZ6hovK$e5TaoAxN~_(B$Jb6mT{al+`Ee!Vk*rJ*8mK;P%FnW60K& zn+d*sr4G$^mrFgSpgEV?z_8tc{f5JD)HjM3UY78JO&-$%?Nt%WS87?*aY1}09-n!g zg7KEan>Qccy&Ic7K=FIgdw>>bmmShiAiq@OH+fCD z7(sDG`qk-N@Wf&s@*a8=Hxs%@Fc@^Me1E}i@2C?)TXj|HbaTN39Z&-%ta&@#c7% zs3W~d9H#T8O~ek~on;(`2y$2(@Xx~FS;v5b)TrRF0Z($4(Fk#)NtHLy)P-8kW+_DS zCWp)a*;d{H4%R1GqoGeo9com14IJKJKKU>(SM6L2EFo|na=%73 z8fm^9)Cdid0BS@IQUUW>q;pz~XfVZ?bXW*S>2w1QfY;!fP{wvxE>oEaJ(c-(I@5IS zQ5NN=02avqg>ylZhdPk{Q==u#O0!AK4ChsPReB3j;qiKN)JIsKi_<7A8na0-fEN!L zGzG2R0s|w1jT4ZA5H3ktt3!Y_8&N6+gOYc!R;8_uVa&YCRzUJSGc4aU9$!>%ODb6l za=x@D%@7ZmLqjTywz%?y-o@Bl$ZAQv>5SP4W<5%COADNmUysSN~_6&UAJ~Ziy#=NXUItwCuLI0bUNt_N_3uyVd>hW3IcGfbX{VaG4M`I7&uv| z4XBM6=BWhLDMVkG7`!l%5C&rY=^TOnaR~UN+2E!0eSi&FT~$VEFHNbK#LTa}EkT4>avvoRHuUFfIXtr7&XumDRVZJEo0IOJ|G-_OpoOV;VV)sYt$y6S`9#k zBrWbTt~>+Z2zDn6JCU+XUgx1Q zrbYzOQqc+YrpC4d8v!~C8bCKC6sVIcb-dAF29j6{0@jNL=rFqCj`SmB6IBB3AR#G> z^k^ov9l7caYM;($C0dVQ>QM@PMtxL?6tdcgRtY3vFsK1>szQjE%fzZOpPyvXf@S4F zJu?!vtnSyFY5G^a%V5_)+{h_2IS#odm0X*dL(){_rS*8?utJ9q#e0n*>kCD%nltpV zum$Kdn88xk;+bJYo4iKxQN@3sd>pAA1_lG*1xK}H8KPGK(sFPal4P0Uey0EoqE=y8 zC5bb(e53&cEYdNBf}ZNjfs?>XNgS4pTkwEGO?Mm!fRQ#5mO2ScNQv$}bPljiFio(% z1<65i6J|-?PtX$VE41JwT10Q7TKYp=LUBNND3_8Cf@8&%K(@QQ!HApE3KkV>M)pI4 zU1b)`IsxC6 zykHL-4MgwLBX7kTgeUT+u)^^?GBYbpZUaXwN)>h|o!i898E$rmbT+L$=TieyDuW!& zahyiNKb20)SaV3qi*!1AuTrBL;tAvTC0Ii+h@3lSR-<9`j1x9UoWsP~>~<}Ly|u8G zgZ=j^c%siK7U2E3?c@*#Y<3dTRJtv(>yiYQdVOkmz8qB*qb!uhh2ly`aJ@uSdL^Rr zC6I&gQ59dadOX&E-SlUZjW_(~p}xM$`odvo`+gF}YvoyJih9X6z0s&wZ16^dP7C=g zFF1Lz!{RhW$P*@bz>3ortG}NV`}@Ra$+}1+A`apJm2mCo6yb*cImI^=&(n0jC*Ak4 zlS3%c%}|3F4GwixikNige^!Bk?8-j4p|k;TEJga3IkitmJI=v|z^S(nkw^oo!`c zATJObjJ^y8mbcLsz%=VSdgM5F=`0!zQloPwYQC>EyUYxni%14R8;S{?;Yy4 z8&xdWJ0wz%TB2LRt7>7A2k~?)P$F7|1e2`sltB{t;ZF#WNG%VDEIa>dfMn8OT6`ch z7}jLC6q-=28e1Kdc?{Ca8y-FxY=VZMpoxw26d;o|o)9p#>KOK+HwMh*J4FL*K-a-L z{-=uHD_&KIrv#cnO%iNULIhMWRrt#!00mRrDFI;t6N2M`_q+tEZ+2My1PBndvd5`Z z>Mi9YQpq!1EP{9(hPZo}H|gs`;SAKvYOU6TWadEwpwwN;aGh@|=*?W;F~L zl{(~T=UJjvPkDgC!Bi8a5#F|hz{u;Se-u#GFT=5&NVvWUcBAi5yae{iKoGw8WScuA z%@Q_ELZgHo7VIHVEdJ%K6;NK5L^mL9DdPfgr`cJt;nHoIMn3_GUZiq4!FCKq@a96r z#AsNBURa{=(zhTt_xvjCrh22G(!(J)uCdz)XL8z979G8fFfq!U0TgRS-M~8``E!|& z)V79p_(#Xn1YHAk8Gu`$C>{nI_)5>pQ~(L$7GJRyfX2loT!(1#O}#Mw143%M z)^9_Ai+T?vX=aW!yS=PR?{bAbASNva7+Ypk#yHGLY?d^_C$g%H5~65Et+sdtwOLnE zSvW4K1n)r2l}5n=nw3tzVXk1<~~cI-Qc=G)^JqA0>H7k&0>@U{2oL^!sI0 zXuFwVjC$~Z$}TW?C9~GxWjLkX?kWxIET3091q3Zl`LthGG9^$HUP6Q*xbrvBUIFVt zgU*J{PG=>sP_#kYq_Z0|0(K3RSE)S96$z-3SXr+z8`*qFPfSLY${|=T|3?Au<${lK z#R0{46#oNK|D}_IHZ{til3dU_%~1)PV>6(#hjIyso>E8}J9tzurTFru#`1)z^OlKQ z0n_EelJe;ZOCT)=7KY>lGVDB+l?xD;Lp(x3m8Qj($&%xQc5gBg zy+iPutc*nkogTj`5yq#%YY|;ZsMpmF8|!uDHoU1I^h51|s7lbm=~Ah088sOQ>ccu}!P$jQ;D4Nyoa0ZLc{9H9jRbpQx;fO~`h zMN-WG#o`LpBvM(jglmCb-`wQE-e^c;(8E2}V&Vy>Wub-Fz{r48r8738Ic38|h|2Q5 zHtHsztTT^Iys5zVj$|RKv=J56%qi6>8}v7VO)&5c2EQX3@<9b}vG93lcr|{fWoz_p z|0s}bT_!Sl6fx31jwoqgQ2ZANgP$sn5EaoQ?7WkNz(K;p>16b8Jei=#7yeE_yYNki zwgW0cnD2rA1EVOzGlVJ|ebuZ9BkBMR(_Nw6^T7~ow z3LnknO@HZhP=2>mphm?}O;MvM!cl_0!1YqC4O&JGWn~3*sen2J$|$2abOT$BR4|SS z=xJBB(;!wh;W66O2DKZmF^nT>Rx&~h%Oo7|>;g+^HMyavS8Ez=N}oZEZ1g(T$VW_W zr!N$Qi;FuGj3cg@-5@j=w0d{kpmG{jZX^8m{C*bJzh`PE z>L6k@^Z1Mr7$C634h6>*7OO==Znqe`MhG&B9OY=OY7=4gtd223Ne%|j#VK`4?UN9M z=+6j2*Qx!1(ZuTX@8z@x)=1#K3YQwC#ty%FwbrQSV4<+Gj%JGF*Js)-YSrbFSmyri zLr{Jecx3ae4Js%itudX63#bf5sFfSEdYcAT zZJa4(&_Wt8;fk|rPZXYtwF;g-xU8Q?LtCG0#n=FzWjUk*76qkRBv6OCjsh>DDoBtk z*}OXJD?SX!JO1gFG_e1Z)-dqDfSZ&ioq>u@1@A2`!{KlF4F-l%l{+g>DY>}8X;!OE zJZDksmCy?2a!!~OX^mzZWP=t*L&*9N&p%`pA8D`y`ixf2tkJU?`8f^IsEj6usq)~1 zR_lY-W0bS~ib-h7-l=#9;jB+%FpnL}%J3{3O?GMMSAM#13eUu8$O_mbJM7`5vz5mF z=NND(^bvnGlcw5H247Wdn&Y(Bo$$^pC%h_t6h9y-9NutZY%s90Acm}wQ5&7PoJ+4J z2AEo4ejv2fH-z|ydAu+)RvVo`v)M>sVMQO*;6WoNK+Q`ZJlXw9L2_}&m>%>ic4Pi7 z#r%C1o62|pK6Cij&I&n&+5BtEUTMbHo^S?FHm~BZ{;Hq-E#S~_GH{U>^3rntn}Oyb z>r#pE@vg<5M}g-30GdB4Xi}WN%i{lQCzm=P$XI%1Q~?5`f(B0I>A$ume_t>=G1B?} z2OXUh{$%_jA3r7Gq+^hqQB{N7ERXQ~BbHB}40oOEen>7yJ|ffEv0!>*Wp4tQ!T~Qx zQUrkpPJPo~8Jtc9Ku+bEqq`HFC@TPZ^z8425&!mL%fmG3)P(0Vp_`mfet=O4kK4{6^yBv`Hi0~{2iWn;{~LusX?OOk8kkl zGy=jN$^;x=$Q!p}rN#4$G^x^?Y+W6QO_|u2NXJ`Jl=zfr(Pj7ct#JLEqt}^KOobG=e5m<@&_>6#nM%6)@n_KlED4|7DFL1!R{ zP=)vbS~ZNu3}#&AoFTtuuLZAH!&bdoqr+pIQlq0!!LE!`8!fP_=N#dsyE^7XckNoW zhBF$qxXam&{jHxr$6`5$uRXpRhF^tRr#I+Sh{_{Zr)G4tI>abPb=BKC_C$AShd3il zgmGK0ulC0$sP7n}`(jvd-KcoC;&q}X7Lq)z4GFwxl?hclAj$wlQi%waen{UWURB~z zA$U2;c2bkoL{kYrhE$V^dLW-s*R0i}tPu>(skns7XQ+9A1I43sC*{T{^g||ErM09= zHEIDS1P}wE6=({5xXS9v>~U2_+Jw4MGfJhRBm9HmmwtK_VbnANVjj3t(Pq-86G`f) zEv)EYu%Ur26%OW3%5(oBnTXRGHVe`Cf06s5Co=Y zgYZ03yS-qrNgWPhwJYc5G%C)Wb*fkCA?l8%4`&brU0NyXdV||+A&iw5>{^5pF_~GX z$syN|lGAvQ#xP+SogZE~0he3J1@veT0UN17LWL9#*J?D)DYYYI|NqE)6Zpoi>V91J zJxNddzVEUu$-8XHlDyk9p0Q`OJ^Q{TnaRHI0TKcUVF^q&2q6U0mj0nY!VYN*1PE(L z!xA8r7D!1brL;5+&<{{7|G($yJ?Tl7Yum9iQw)~#na_&9no_o%@=iYmc(ID`y zzJNB+@6oK#g|4Tup5`5=0^!6gIBBwQ2FklySvA7Nm<#xlhgW)`GVYwT|@h%6# zl6W%61;T5!L7iYxTb+K5hJtE1-($BwVUy$6wI~|ws9ovqsSu7~Uyb$8CF^Y_9>MWlgSMQoY`Sj)TVfzeIED;kjF; zIak)JF*m6)lU0D$)ss$aq;<=>_y30)n0DOEO9_E)Q{Af){$4ADG7KV=v=XPZJ zb_@>g$n@{X^=<9x+S;Gn($Tx6FFlpowl2Lcm0Fh`+>#iH=eBOn_ZJHN{{F~lPjX-& znHm^Kh1=Vr!S+ORy>rLV(cv+ac4BPgNHNm4kVW+Oft|VRjy_B8mY&}2eSO<9y_!etQtf#mZA%EsWJ05}q0cRHSxkNM6NtdFDx;iQ<|oGl#7}8cYD#)LHJOS|_9FiUGGX*g zIR=xI+%{2=UJj+jmou(#^<~7DQL;fdvJ_5ZY)TmbFIHWzx&>M0?uBFeL#j_;q}mE2 ztk%+G?~2h$!xgI-7sDcxFrVkJ5eO0 z70=W@Uv6iLWkwNf(irg2ScY6@bc9%_@K^17k~D`9csa^x#w#~UZT(S+CrVPAza;U_ zXT`P;hM$ml=vUx@--g5CzX2aSiM@b7Kg;)55Fz)-?JplIJhhCsYIv-|XCkk?UVd9X zo(UAh@@+lgF&WmW_R7bGWrajl;BtvacPJPP(Z@eLQ6V2fSLGXCXcT-nGnC5=@XLQ2*Of{B#Jm`yasnY<%g&9t9PF0Yl|qpY*? z`J!ZLCF-nl@)(oFrL1G^dsW;LP4KLJzHHGoE2o*oHA9Tk*4x|WZEN#-VhEmH?v-{h z>u1{f`r2^+af88hugKfrZ^ivj$NGBXZM}VuBbwTMltP={w*>+=dWKjG@2zX=2VsBEXw^9K0hZ3K$4)Y7k^lm9&&G%-fQ;$3cYx#50$4LTruajKAw`Lvc}(hB!ia zoQcr*gWSvIW2NqulI3159~<=c_L|;4k5TAbRQJOZ{Snn?RFA`A{Fdq;FfREG*4_%t zie$QFO*&0_6g~WWb~$?Z9qeBAUiNn?27f`pC=CUzD=teG5ecFP7 zMDK@iKN!S!`F^~wEfh?MA4J*D#ManfpLm6zH^_2BI<6*vn#+%PCKl?^YP&IB8HSu-%S^0QI@5oY1K8n(dBv{32`I;P913ou{$=QU-q<;XP_rjnttg#4LklZdozC|t( zz(0Ub=_Qo#D1hIAPw6`?lu-IlsrHXZN4W?Ybm<#X8Mikrqq+EEPt%~GQ0ODOEYsIl zDEMU2QGc{32M@AYK}UOe7*QThR0b2`;AZiague7j0}6yV+rO zl3mKKWv^kku{+s)$SC?g_9gZt`x*OJ_7eLer{T<;n+tO(t{-_Ac5nx{BizXrq*OYU z_7<^46rp$9kRT9}BJIWWn--h%C>{*t2)y7BUv2>jQfN_(R&djD6mhKyR;!>>(oKX1 zMMOmklvsqIOQZ!_yOu~`HqVI?Qt32pfTGP&E^P`46c7v}FRntN7^B#Ngk>>+lN*#) z*mwb-E?@~xo+Ks~g?Rym9>L>O6iHHnrVQNzWCBI#@DL8=RW+iprHxHu-CSbUd*G6$ znnCKI?oNhk2BXv63v&a6y!+vNXX~C%W&} zA|y2`;r7ttXL`Xai9Cv1iEq+-m?6R5th5$e#8b6!vqe+{w?IqaB1%gy0d#pG>?$L} zH1J6mAtv$9i)~^^5F(_7gj^fhr(UT95H61-wVFB+TzQ19qePDeltPsd-<9%s0SC|r zEr`1mg`4OCYGaX*7x_$ak!ppwmjFXymzzeqycN+P!-CprH(-Sjf?GSW?#1asq)UXe zHQAU>%ei=m6EPu~#im6fB|(o>X2x6RFuK;9k4NiWNsTjp3)-z_gpkCNZ@K zQ5J$B*5gGiI#<#f3?jy*K9*t#o9*@J%@&I*;Lz$ZHSc3?lR1L*LhG5)#q0?4Y7vYY zH!~vSFNaNC1{We{>NS3&V6(gIE?uzAXiEh(>aLv8=Qr7OyxG9|yx0@Q|C@<(2N3hh zYDS0?gsfG&pVO-?hH0bGgrIk(D8hbFtV)x56cINqdJZ!@#t4?c^$09zxWyL;U@sTq zB|M1$sut8yuRmzB8tooez+*MIJ=kyJi5XK`1V_^%>MX;aI9}k@7Gz>Is!ba1)!44S z8F%OKdDfsqTnUYtD?I~O<^8xah|je~jTSp=O245fo}8V{3U=gt8s#{>HXheujTYc( zHD>Jw>*vgR%d6BT?p=1yBkUwREvmLIyaB4cOkXeV~BebdhAuz>AW_z3rT?TR00ggbG+6rp6jJXXydXiEx4u80SA>h$t^&3NCKAua@SrOG-8whX+$SfeMmCJ=4 zvSu9%@ou}*A~2mP7)Hc7htH@%94npK?>Ff+2A$EtX-!6p86nue$gG->8i5x_buQ3X zt<`DbX5MCUX%YF<&}RaLc{GbY%NZ?39yy8i7&|A8a0a_{dOfxwTA4u*qV9+{Xr;K| z%oFqA$BH#=x>tvNZme~4yL9a?lTPDv=zSX3x!7)~9Z{Qko|@9e5H5*glq8X5Y3kU8BNe=h&QFSTeJp^QEM^?reQ1;MFbvH5Rs!b zW~;`|BL^^t$d5+e)Qw21CSBbEfH$)dwuv2Ncd>`q2iYU+JM2g7pP)1TlWS$iHdY7b z$n2s$r=sDB9jmlMR1^@jfDm%HjbcH&1PDWjFzjH(%0gVlNm-J3DQE_X6le}HdXgZ9 z?Su{~iy1BA6hL)g@iSs7wc$CGBey-E%ZpBJYbXA1# z8*x%%J;oW)Ikj3oLE(&%e%62>$-tCzAx1NWH8u$dX^LRh%z~&+hiZLPPIC2CS3?b%r8w|nli#o4M%|RlWwVc-ZaZ3cRwHr8(-Xa7Mt{eM+ z5l^srO!+S&6f&nZru^vjh}(*YYzY6127x$YypzJw>aFfhSU(7kjuugC5Ns1Ig_W{K zq!L81LL1`CGv?%&M(YYD5RbO>ZirBm5jufZ_3F_Mh&y0pSapqG{i(5-h2 zt#>#z_O1gHv4~y(K=rypuHS&z&KD14!#hZ6Oh9e-0-|Gu> zc=$vdaqacabZ5k7$9=CitP3Jppq8KugpT@*+WXsM5CC`zaSt!+W@JuHdE zB6ScR;!~qGx&Q#&gH6%E(W>c&a?x_21A-D^6E!#pHii&$noHln;$yW(uv)bSQb=Az zO11JVhMbQZb$XY{uY;Iprk)74-s%m44I9FBuS(gG79AqrX6n`;M~QMuVw394NQv-Q z*wFFUsxPX(0q5i*%Uy>r6Awp3v-~=CGkXJj8+!-)IQwgu?f0OUlI%a{{E2xB;3{W1!#XX+<0fKkE0Q6chyjf(Vd3EDE?HVveIni_%Rz z!J8zlC=M4d1~iA=NTRPu|6tt`G`#I~c{P&VD%*v!Nhy%A2Q$=31&~QDN-|L_QeqWI z7!v#9N^+E3)WQ&k)Q5<|HyGzsQ?j`Ql7v(m30is^A7}%Bzz#Mel&A&evfwgYu9 z#vCZu;|0!y3q&$tLhfoPhX_e$F&rgX$QT*qiB@F23&{NGC6TDrrkdeGcoQj819?bC z2wTKkfPBY)!3FfZX^;jcHpDQ@YbYa9co>Harqek<_EP;3(+>u4u6ao58_`LPe2~{e z+}OMUJ;Jpo1g(R&X{;n>j0Z_zfUD`lTN%=om#oHuZL{0${%3st7U37aj?YK+h_Pz+8SOzMVl^faQN++@aw3wnQ;Uot5NTFn zj~-h>^qlqyjmCh*?mCOs)~5HFgH{caZ}LcQ9Ea&@g@n?Xz54fC)E1M&`g>=aTAMge zZ}bSB&oic-&_y-a0b(sZtw(BZwbM2ZD~LbW2w{pqUv|d3xCOVHxm}N;ZrGzOd>M6n z7IG7!%BZ#_Agl(AA)br#m&2Z7J`4%05KBIGj-cVa2sU6dCJ|z?-2^Ie%(E}V`BxB% zPjfKkb;#5nv#Dd6@URK0#bMf5ZND)C=5RqQ}HZ2ai8HXVP8SBB| z<#jIn=$$T?6QNxMonF9C=?}rAZ@h>$4e4|t4f71LnA2eoxRDh^GdY|HVDw@CCx|p4 z{P%%=Z(FC6Lxe!1HacxHIohI7tigz&by;}U-RE53bqN;vE@gJ`+mXlB%rPUd6FkV! z!+1yB1p$j_47NdSqD{j^Q^pP>LJ`dY6F(b~@~KXbxj1%5OvX8ZOmuK>H(mrBX`1 zlYN;z&3*`H#IKN73d)poB1n9S>*EUC6t{_6fIH#@cOiErcO!Qz_a^Rc?ji2|+{d}U z;l9c}-GZc~L@{ZMswpJ~gb2i#yO1aA1{S3ky`Kac!n2hV2&Khti~dUz4$-wZ#iB!gb(uAKn8+-cmjWrPY8S~+D7mTz;yw^Lxw3}(K((I4N^)-MS{$m z#s!E9{HM3YyAV8NUwJ*b9Fig`q{$pa~PP-F)!X`Ym5w|d}vK)unzq8A9I zNk@4mO7xJ3PoTW=5if&kkmvHFb+1-H$S>4ACxV8=7S$)X4mE-HQPc^Z98ocPX>bG| z3@GhEI%pf%_m zx~LF9OfZC+(I8@!(S?0eNQYrids8OFJhLJ#4*mou5_~u#W{nr-)c1HHsz-=Bt;u4* zpv7)y4_@7`S2i+L%aDENQA4M&++775AAJX|CsJ<009z5ej zRuvirXn5=Zg>4U)2wZTqcMr{r`^X=Td<+^jg7|vPK2xOh5vDO;n5+ zi_T)vo82^^z*u5{^I^n+(G(OqyfGH{C$No&ncxm%dK0RP(VLy=vGo)#LW|jI>IxXm zcD-OvqGOQ7M*oR4;Cs};U^OEOD%2efZ<*R>L9QML#*39lDaeid8v3#PB#jkup0EeC!&G{C6eFZG#JxaX1W}Na1|p3G-GR$FC=a-( z;UO=k1uy9=(dP~*w6zr@5&A$5X`z})m}{s4JWii(Azy~ z_*k`e&Iaq+itIur8;6MgrUdUn$3zrgy;f}unxbCbsyBvA5rjS$qUcq+B>aU>$G~e^ zXUMEGxj7zkqtnYHQ(F)gZUXyIzb5EOCYh}0E^5~=!%4H%Z~vY*%8g~QW6YunXWa>3 z@8#1U>k7Zo6k;FCdW!8cS*>MqHmJ!tbiR=`EGmazU@JqSpk~=0*$`zzG}2 z7#V5jz{CPcHvwWAOo-Bv5R6iV=HXr_nGu!-fyH^RX?- zLEE0Y+)<b2$qa$fMc2sB zhKInY7#xC=se`1z_IX%9U}$`I32BspUV=Zm0uC0qIKGYGaQwjQ z0Z$16uDi7sgRZ;B>eUG@hu)NiO0(%OPXJp%&wSBDpY22%%%jCXP7URfHu}`Y5LwqB zhJ$3I#$t|JA3P7UV5odC9q#H160lvX2F;bBPVx6S1f&9FPPgsy0#zjS`PU#DG}1w>>IRB}TOU>L+ zL+#I&5)FNOW21qPy)>-5~P%w-{1R zlUHKJjS=7jcu{Clmc%s4PzZ7OfbvD~9!W+BTah>2_zEYsTk9nUj3{MsoA?Jpo_H{k z#(b!k+%Eu_;Sfax(~JW20R?cUGKdL9UkyDBmk(MMcWCfH@*TYI@fOKrf>T^W-=LuY zF(-y&UJrN{;+`G?G|)}@01Eyv4ieG=F5ys200|t+RyL{w|4$T=A3YdVq~Y(P-UTxd z{fN3G;59d`VKZQg#cT{C;hn+Ij)((#Er+Q47zn$NWRG)V#t>TF>CiC^QsTjkf+eap zxsAvjXY;v{xXOlrZ(u^0pF)S${esCZ7))-gEPz33kHGRanZ2VXml>0SE<1b;-bA~D zcbh$!zH+DR0b9tR1Fz^zoe>xt9*b!ztu_OgWwY9;H*;petlJ5{I70a*^mreaGMvl3+$+@AGu~=E5MkATL9@mSMm}+hnYUJU~r}M z$j+rlwo8t)BZ(|*7W8IV)G*>1Y<)P8ZGCV-3>EE0*ga|?;DUch1C!UpSsX5SjI|t} z>7Ic18zvcV?n;{+rJ}~5#T=gyk01tR5^*Xq8M?6-KJ_*|h9D+;!pUXy$)LvUw#5xL zt%1w7>6{(|vWD3WMz=QVio-aEU1roG=L2T>v{rotcD&tf=nXNLbI3ku)gu0x@d zk~w-9O2;c|87K_gzP5^_w}G``!Z;3m*}`Mn;Xs*>>}m1l^NfHQ>!H=Jr{maWsbW z@`LTEKr(>{FnlDuLS9J@ffzj=jR^^qy&)LcdXt{FMcTCkNS=X2%5yHkYU=jdf@*E) z6b8hcdQfj%=NZ=;v^j$zCulHrG45V(&=2BO?O+a5rsM0@je~V_gLr08ZTy#$?wv9ih8XV9ZF-cR8r0TF>7%NfRZqgp7Gr&@OKA$fPSyfMv|9iR6k$t4mgb<_ zA+gEDgx1UzNSu*502c-1rW@bDJA#|617ZhASX_e730&Bgc9HE(wzw<7gI|kcA_4$T zB#Myyn0G`*0+Nn!{)<4ZJnRv09PW|(hCmRn0|*KsO@RxfLtqI(=4;(>t3Wb)0RwA( za1~EM;KEWuLSO(QEV=EMDJRBNms|?9})!G=|bT2qjzG#a{+9)T+mT6yrkV zwH7Qsy%Fn0tb(1HM(yqGFf`$I#9W+Ujq!q)5^;nO!B=e+(y+sQ+6c#O=tU|PL%^>= zU|)|JRyvnJ@>OpR&I)@Pd7+^*Fe`|}saBl{;i@rYupvu3^4SqhwHLw}IovUoW!Jip zdj?5lseJTPrnb7^&er&mol=VkJ$hX@jM&_uAXaT~Mw9g%r&BY5^*G38l~CJk2$0%` z(Gcpz%xPrzK=xj>%?n4BLEY)=KIJk}%1f)-;&o#Y2$tfwpi9kKhuP=_jUc7ffWp-n z^lp`36^64osp?eqss>bf)v#(@wNABBwHd)}cdHH}$INo$$KEE`;XZ|8Ig<}q-JVJ~ z3oxkCm;iCx6}ED)bOjZ?K>*$&GVI zR4N)5K%t;_QOAS%ltTY3pTIVQ#G$z{F{uv5;^^SzTl5Ab2?UA<9hFXN{v-eh*Nw-a z+HiZ&gI7pP<-}*P79p3VRT2^efRpt5!)I3YDR26C@x+r07kT2#U}W|L7J;u~ZsB#PWe1YA=nYL}O7DL@DV( z!cHouj1Fq%r5cILCa46Q%a{Rhn%2CD(96{jA0=!=bgEBc1xUI6B2@BRlla4%IEr{e zzSBGOCVUiw(lvY~@`&W}qU!lUz$sT=Y`p~9(jyQCDXb~Mh$=;ROJhn@6f>-(TIec) zFH-;48=dgI863!!r|}pV zhESNZ@}|6c2MHK>A+_Y*hJS$s9g<3+4m4K>2L(hegHwzlmKZrI;SlGw9)!r!*xX1$ zi^+dZ?etKjNwMX0eaDb0Ch+b&l?C9^5VkN{unaLo3S_#YY(ty1M|CZM8fll?CAK9$Fw%x zJY+8j0f`J101}c@P=n=-P7DIzR5Z`L^ zkiDHGwZo;S)`1fXB-Cn83U77cdB6gWT+%|GWKbLV8?buPC1CnbgEg8c0=76%#JIx; z7e1{qA;&AFhNm_J*7y!C!Bj9X2Tjn{L=d$J%TnM!!eET%x(#?555oWXM3%P_kOgnPZHv;T=||CDLUzX{}%a11JTxuW@w3Y!Lh-E;HCc zFj~4SR=7~{09X#$)xop4YS2gFImW^xG=JEr#f$>b(!n97#h8Z}%I3jLFpK(&5f=t- zAU@TWLom8n9E%UJyap>FEw&W0s0%KmEsFH(aEM_QkASV?T4Yb;uf;-8OuAsH6kO#r zLxA>15n8x4aK>5u7L7%)!-r;o_ZUPXWTPk(6~qHXQjigRiw=?jJ|G+V4VoT9LOa?Y z&iDuM3IA}*_uFJ=sxzJH*p1p$u=-U`>b|$FdM0nSMw3eMZ}`(E_$|Q;2in|y$(ujaksI&GjkvreFZ+SnIL2;d zpUD+mZ#rks>GPaJ7d&{^H}Ut)-FNkuzT0*J^y^#tA-}-4p;W}RWcHk$M>aiDZe9!L zc15@xGGjx;!-%IEU=`e(F39e?=aR97xk5MMMeVt2!^W$3XM)AjXl2m?#m}8F28&CuDdUvoV@(*UF)yjH!!g8>hCXQCsjgx=nhpBHFS!zyWGsWdwSCb<+!zcwya7i?xF0+jN@Yx^jvTou<+YY}3fj26 z4N13Sv1rH=GTSU}3>8A2wisF}xAgD)&$(w*1=R>@oFoNYOcpU@6ByYV_=818N}ucw zjHt9QJJR?knJTC?6o0a);Vvot1BO?n|7vGOH^-%PP|039#2~b#mVW_@gHF<_xqDn; zy$#w?XS4C=mj11cIsf~EW)A{dJuv2g1LsSWb-NSmtkv8HAi@mlV;arfUaXkZX@#K0 z5z}*5y=UY-sP=W}pg-ki5dNYEq+Eq+-h44nqC#+c-G5uAS)#4GLbH&gBiMgOXXo{u zo$R1UE5rqjMI~B!Ogbmg>L)J4`wj3_;2#?E8Z_pAa2wH4yHwdGHBdI3w6lU7>*bYd ze_dM-3$XKw75T)W!-u=GaMiE_wRJ(9O{l=7Fr<5)`!tp`cAyqx zRF4(=!7_4^*w5jU$S2(AbOotbVBfvmD}s)WQ2%>n!v1A)M>4sCJ!wX-@S99+^)3C2 zDsf9o&mTSd{Q2jDP*lYkv5ILT_-Yl*L+-m1&`jwZw3Dchn$+vh$KN|XHM72>zdyNd zwj)2-ykd~!k+1yX+RJwCy!5(*2hrSAr%AC+84OluFi>5!UduI!INwuVMuYiOvgQ*B zH_4+!qDhTEBq^Mk@mxp1F*uM&g#!-1*B|fCMw{3EpOqRZ9B~9R=FUXqHoM(r`m1z8 z6h$ww$HB%S48m13y-VYR8X*XA1ThFt5H1rR{=w0eEcTs${KCW0JzGa7tm*dlPJ7zl zK0fgcdt0VA+_NyaWDt0xl44tEBhjkQltZ;;wkX1T%D>6S0IqZ=KdVsM zg5e|EhbJz*d)HM*i;uA3^WVDbl1GY1uiAC@r4z&3$aJ|3lIb~ay~-+e=UT&I6-oJ7 zsbxRVOtT!WHsa4$QY*JXKK~B25Ks@5lW0esK-2h^FB;mt-gf{ z$nQsaK`8#5YE%j%cnE=nFNX4cRn1oFWv-l}9ef}6#?c$>aoWKveuw6@yF8SCf!GZm zNbx9d43<|T%NvAWuJ1B@xx5GZhKBn1F!rKmHuv=Z>8IPd3r8}G_p)DPlF3ZT-rXHA6}RxQ-t1J@_~Iq)16(YV>gZj3t}o5aLp{daQ9z>4a0JEB$-eR- z8apovK=e5kjmM+(*(aY2MPlK21Ql`9!zu?FZc@9%za94PdISL72~XQOs*7NOQ(p8p ztL{;~3o+6^CXJ_X}ySlo6-rL(z+SA$D&7SP;?nrcYcP?)2 z?e5&r-QCH(8&?+l=#`L_ZeMQy&nG9yBA;et@TI+Y1DFm>ITqYC(5AD_Kx0efbQ

AzTseU)q#(K^qOcw?ob@4IQ^(c+0) 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

*akG6iL#jt$xbL%{HDIRBEp2t@jH9LI?&cAv7 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 Collection: + """Load a collection with relations needed for PDF export.""" + return ( + Collection.objects.filter(pk=collection_id) + .select_related('primary_image', 'user') + .prefetch_related( + Prefetch( + 'locations', + queryset=Location.objects.select_related( + 'category', 'country', 'region', 'city' + ).prefetch_related('visits'), + ), + 'transportation_set', + 'note_set', + Prefetch( + 'lodging_set', + queryset=Lodging.objects.all(), + ), + Prefetch( + 'checklist_set', + queryset=Checklist.objects.prefetch_related( + Prefetch('checklistitem_set', queryset=ChecklistItem.objects.order_by('name')) + ), + ), + Prefetch( + 'itinerary_items', + queryset=CollectionItineraryItem.objects.select_related('content_type').order_by( + 'date', 'order' + ), + ), + 'itinerary_days', + ) + .get() + ) + + +def _plain_text(value: Optional[str], max_length: int = 2000) -> str: + if not value: + return '' + text = str(value) + text = re.sub(r'!\[.*?\]\(.*?\)', '', text) + text = re.sub(r'\[([^\]]+)\]\([^)]+\)', r'\1', text) + text = re.sub(r'#{1,6}\s*', '', text) + text = re.sub(r'\*\*([^*]+)\*\*', r'\1', text) + text = re.sub(r'\*([^*]+)\*', r'\1', text) + text = re.sub(r'`([^`]+)`', r'\1', text) + text = text.replace('\r\n', '\n').replace('\r', '\n') + text = re.sub(r'\n{3,}', '\n\n', text).strip() + if len(text) > max_length: + return text[: max_length - 3] + '...' + return text + + +def _format_date(d: Optional[date]) -> str: + if not d: + return '' + return d.strftime('%A, %B %d, %Y') + + +def _format_short_date(d: Optional[date]) -> str: + if not d: + return '' + return d.strftime('%b %d, %Y') + + +def _format_datetime(dt: Optional[datetime], tz_name: Optional[str] = None) -> str: + if not dt: + return '' + if dt.hour == 0 and dt.minute == 0 and dt.second == 0: + return dt.strftime('%b %d, %Y') + suffix = f' ({tz_name})' if tz_name else '' + return dt.strftime('%b %d, %Y %I:%M %p').lstrip('0') + suffix + + +def _format_money(amount, currency: Optional[str]) -> str: + if amount is None: + return '' + cur = currency or 'USD' + try: + return f'{amount} {cur}' + except Exception: + return str(amount) + + +def _trip_day_count(start: Optional[date], end: Optional[date]) -> Optional[int]: + if not start or not end: + return None + return (end - start).days + 1 + + +def _build_lookups(collection: Collection) -> Dict[str, Dict[str, Any]]: + return { + 'location': {str(loc.id): loc for loc in collection.locations.all()}, + 'transportation': {str(t.id): t for t in collection.transportation_set.all()}, + 'lodging': {str(l.id): l for l in collection.lodging_set.all()}, + 'note': {str(n.id): n for n in collection.note_set.all()}, + 'checklist': {str(c.id): c for c in collection.checklist_set.all()}, + } + + +def _resolve_item( + itinerary_item: CollectionItineraryItem, lookups: Dict[str, Dict[str, Any]] +) -> Tuple[Optional[str], Optional[Any]]: + model = itinerary_item.content_type.model + obj = lookups.get(model, {}).get(str(itinerary_item.object_id)) + return model, obj + + +def _overnight_lodging_for_date(collection: Collection, day: date, scheduled_lodging_ids: set) -> List[Lodging]: + result = [] + target = day + for lodging in collection.lodging_set.all(): + if str(lodging.id) not in scheduled_lodging_ids: + continue + if not lodging.check_in or not lodging.check_out: + continue + check_in = lodging.check_in.date() + check_out = lodging.check_out.date() + if check_in <= target < check_out: + result.append(lodging) + return result + + +def _iter_trip_dates(start: date, end: date): + current = start + while current <= end: + yield current + current += timedelta(days=1) + + +def _scheduled_keys(collection: Collection) -> set: + keys = set() + for item in collection.itinerary_items.all(): + keys.add((item.content_type.model, str(item.object_id))) + return keys + + +def _group_itinerary_days(collection: Collection) -> Tuple[List[Dict[str, Any]], List[CollectionItineraryItem], Dict[str, Dict[str, Any]]]: + """Mirror the web planner: one section per calendar day in the trip range.""" + lookups = _build_lookups(collection) + day_meta = {d.date: d for d in collection.itinerary_days.all()} + + dated_items: Dict[date, List[CollectionItineraryItem]] = {} + global_items: List[CollectionItineraryItem] = [] + scheduled_lodging_ids = set() + + for item in collection.itinerary_items.all(): + model = item.content_type.model + if model == 'lodging': + scheduled_lodging_ids.add(str(item.object_id)) + if item.is_global: + global_items.append(item) + elif item.date: + dated_items.setdefault(item.date, []).append(item) + + for items in dated_items.values(): + items.sort(key=lambda x: x.order) + + start = collection.start_date + end = collection.end_date + if not start or not end: + if dated_items: + dates = sorted(dated_items.keys()) + start = dates[0] + end = dates[-1] + else: + return [] + + days: List[Dict[str, Any]] = [] + for day in _iter_trip_dates(start, end): + resolved = [] + for it in dated_items.get(day, []): + model, obj = _resolve_item(it, lookups) + if obj is not None: + resolved.append({'order': it.order, 'type': model, 'object': obj}) + + overnight = _overnight_lodging_for_date(collection, day, scheduled_lodging_ids) + meta = day_meta.get(day) + days.append( + { + 'date': day, + 'display_date': _format_date(day), + 'day_name': meta.name if meta and meta.name else None, + 'day_description': _plain_text(meta.description) if meta and meta.description else None, + 'items': resolved, + 'overnight_lodging': overnight, + } + ) + return days, global_items, lookups + + +def _item_type_label(model: str) -> str: + return { + 'location': 'Location', + 'transportation': 'Transport', + 'lodging': 'Stay', + 'note': 'Note', + 'checklist': 'Checklist', + }.get(model, model.title()) + + +def _location_paragraphs(location: Location, styles) -> List: + flowables = [] + title = pdf_markup(location.name or 'Location') + category = '' + if location.category: + icon = location.category.icon or '' + label = location.category.display_name or location.category.name + category = pdf_markup(f'{icon} {label}'.strip()) + flowables.append(Paragraph(f'{title}{f" {category}" if category else ""}', styles['ItemTitle'])) + + if location.location: + flowables.append(Paragraph(pdf_markup(location.location), styles['ItemMeta'])) + + geo_bits = [] + if location.city: + geo_bits.append(location.city.name) + if location.region: + geo_bits.append(location.region.name) + if location.country: + geo_bits.append(location.country.name) + if geo_bits: + flowables.append(Paragraph(pdf_markup(', '.join(geo_bits)), styles['ItemMeta'])) + + for visit in location.visits.all().order_by('start_date'): + start = visit.start_date.date() if visit.start_date else None + end = visit.end_date.date() if visit.end_date else None + if start and end and end != start: + flowables.append( + Paragraph( + f'Visit: {_format_short_date(start)} – {_format_short_date(end)}', + styles['ItemMeta'], + ) + ) + elif start: + flowables.append(Paragraph(f'Visit: {_format_short_date(start)}', styles['ItemMeta'])) + + desc = _plain_text(location.description) + if desc: + flowables.append(Paragraph(pdf_markup(desc), styles['ItemBody'])) + + extras = [] + if location.rating is not None: + extras.append(f'Rating: {location.rating}/5') + if location.price is not None: + extras.append(_format_money(location.price.amount, str(location.price.currency))) + if location.link: + extras.append(f'Link') + if extras: + flowables.append(Paragraph(' · '.join(extras), styles['ItemMeta'])) + + return flowables + + +def _transportation_paragraphs(transport: Transportation, styles) -> List: + flowables = [] + title = pdf_markup(transport.name or transport.type or 'Transport') + flowables.append(Paragraph(f'{title} ({pdf_markup(transport.type)})', styles['ItemTitle'])) + + route_parts = [] + if transport.from_location or transport.start_code: + origin = transport.from_location or transport.start_code or '' + route_parts.append(pdf_markup(origin)) + if transport.to_location or transport.end_code: + dest = transport.to_location or transport.end_code or '' + if route_parts: + route_parts.append('→') + route_parts.append(pdf_markup(dest)) + if route_parts: + flowables.append(Paragraph(' '.join(route_parts), styles['ItemMeta'])) + + if transport.date: + line = _format_datetime(transport.date, transport.start_timezone) + if transport.end_date: + line += f' – {_format_datetime(transport.end_date, transport.end_timezone)}' + flowables.append(Paragraph(line, styles['ItemMeta'])) + + if transport.flight_number: + flowables.append(Paragraph(f'Flight: {pdf_markup(transport.flight_number)}', styles['ItemMeta'])) + + desc = _plain_text(transport.description) + if desc: + flowables.append(Paragraph(pdf_markup(desc), styles['ItemBody'])) + + extras = [] + if transport.rating is not None: + extras.append(f'Rating: {transport.rating}/5') + if transport.price is not None: + extras.append(_format_money(transport.price, transport.price_currency)) + if transport.link: + extras.append(f'Link') + if extras: + flowables.append(Paragraph(' · '.join(extras), styles['ItemMeta'])) + + return flowables + + +def _lodging_paragraphs(lodging: Lodging, styles) -> List: + flowables = [] + title = pdf_markup(lodging.name or 'Stay') + flowables.append( + Paragraph( + f'{title} ({pdf_markup(lodging.type)})', + styles['ItemTitle'], + ) + ) + if lodging.location: + flowables.append(Paragraph(pdf_markup(lodging.location), styles['ItemMeta'])) + if lodging.check_in or lodging.check_out: + check_in = _format_datetime(lodging.check_in, lodging.timezone) if lodging.check_in else '—' + check_out = _format_datetime(lodging.check_out, lodging.timezone) if lodging.check_out else '—' + flowables.append(Paragraph(f'Check-in: {check_in} · Check-out: {check_out}', styles['ItemMeta'])) + if lodging.reservation_number: + flowables.append(Paragraph(f'Confirmation: {pdf_markup(lodging.reservation_number)}', styles['ItemMeta'])) + + desc = _plain_text(lodging.description) + if desc: + flowables.append(Paragraph(pdf_markup(desc), styles['ItemBody'])) + + extras = [] + if lodging.rating is not None: + extras.append(f'Rating: {lodging.rating}/5') + if lodging.price is not None: + extras.append(_format_money(lodging.price, lodging.price_currency)) + if lodging.link: + extras.append(f'Link') + if extras: + flowables.append(Paragraph(' · '.join(extras), styles['ItemMeta'])) + + return flowables + + +def _note_paragraphs(note: Note, styles) -> List: + flowables = [] + flowables.append(Paragraph(f'{pdf_markup(note.name or "Note")}', styles['ItemTitle'])) + if note.date: + flowables.append(Paragraph(_format_short_date(note.date), styles['ItemMeta'])) + content = _plain_text(note.content) + if content: + flowables.append(Paragraph(pdf_markup(content), styles['ItemBody'])) + if note.links: + for link in note.links: + if link: + flowables.append( + Paragraph( + f'{pdf_markup(link)}', + styles['ItemMeta'], + ) + ) + return flowables + + +def _checklist_paragraphs(checklist: Checklist, styles, _body_font: str, _emoji_font: str | None) -> List: + flowables = [] + flowables.append(Paragraph(f'{pdf_markup(checklist.name or "Checklist")}', styles['ItemTitle'])) + if checklist.date: + flowables.append(Paragraph(_format_short_date(checklist.date), styles['ItemMeta'])) + mark_style = ParagraphStyle( + 'ChecklistMark', + parent=styles['ItemMeta'], + fontSize=10, + textColor=COLOR_MUTED, + ) + rows = [] + for item in checklist.checklistitem_set.all(): + mark = '☑' if item.is_checked else '☐' + rows.append([ + Paragraph(pdf_markup(mark), mark_style), + Paragraph(pdf_markup(item.name or ''), styles['ItemBody']), + ]) + if rows: + table = Table(rows, colWidths=[0.35 * inch, 6.0 * inch]) + table.setStyle( + TableStyle( + [ + ('VALIGN', (0, 0), (-1, -1), 'TOP'), + ('LEFTPADDING', (0, 0), (-1, -1), 0), + ('RIGHTPADDING', (0, 0), (-1, -1), 4), + ('BOTTOMPADDING', (0, 0), (-1, -1), 4), + ] + ) + ) + flowables.append(table) + return flowables + + +def _item_flowables( + model: str, obj: Any, styles, body_font: str, emoji_font: str | None +) -> List: + if obj is None: + return [] + if model == 'location': + return _location_paragraphs(obj, styles) + if model == 'transportation': + return _transportation_paragraphs(obj, styles) + if model == 'lodging': + return _lodging_paragraphs(obj, styles) + if model == 'note': + return _note_paragraphs(obj, styles) + if model == 'checklist': + return _checklist_paragraphs(obj, styles, body_font, emoji_font) + return [] + + +def _item_card( + model: str, obj: Any, order: int, styles, body_font: str, emoji_font: str | None +) -> List: + """Render a single itinerary entry inside a shaded card.""" + inner = [ + Paragraph( + f'{order}. ' + f'{_item_type_label(model).upper()}', + styles['ItemLabel'], + ), + Spacer(1, 4), + ] + inner.extend(_item_flowables(model, obj, styles, body_font, emoji_font)) + card = Table([[inner]], colWidths=[6.5 * inch]) + card.setStyle( + TableStyle( + [ + ('BACKGROUND', (0, 0), (-1, -1), COLOR_LIGHT_BG), + ('BOX', (0, 0), (-1, -1), 0.5, COLOR_BORDER), + ('LEFTPADDING', (0, 0), (-1, -1), 12), + ('RIGHTPADDING', (0, 0), (-1, -1), 12), + ('TOPPADDING', (0, 0), (-1, -1), 10), + ('BOTTOMPADDING', (0, 0), (-1, -1), 10), + ] + ) + ) + return [card, Spacer(1, 10)] + + +def _cover_image_flowable(collection: Collection, max_width: float = 6.5 * inch) -> Optional[Image]: + image_field = None + if collection.primary_image and collection.primary_image.image: + image_field = collection.primary_image.image + if not image_field: + return None + try: + with image_field.open('rb') as fh: + pil = PILImage.open(fh) + pil = pil.convert('RGB') + buf = io.BytesIO() + pil.save(buf, format='JPEG', quality=85) + buf.seek(0) + img = Image(buf) + ratio = img.imageHeight / float(img.imageWidth) + img.drawWidth = max_width + img.drawHeight = max_width * ratio + if img.drawHeight > 3.5 * inch: + img.drawHeight = 3.5 * inch + img.drawWidth = img.drawHeight / ratio + return img + except Exception: + return None + + +def _section_heading(text: str, styles) -> List: + return [ + Paragraph(text, styles['SectionHeading']), + Spacer(1, 8), + ] + + +def _folder_sections( + collection: Collection, + styles, + body_font: str, + emoji_font: str | None, + *, + only_unscheduled: bool = False, + scheduled_keys: Optional[set] = None, +) -> List: + """List linked content by type (optionally excluding itinerary-scheduled items).""" + story = [] + scheduled_keys = scheduled_keys or set() + + def include(model: str, obj_id: str) -> bool: + if not only_unscheduled: + return True + return (model, str(obj_id)) not in scheduled_keys + + sections = [ + ('Locations', 'location', collection.locations.all()), + ('Transport', 'transportation', collection.transportation_set.all()), + ('Stays', 'lodging', collection.lodging_set.all()), + ('Notes', 'note', collection.note_set.all()), + ('Checklists', 'checklist', collection.checklist_set.all()), + ] + + order = 1 + for heading, model, queryset in sections: + items = [obj for obj in queryset if include(model, obj.id)] + if not items: + continue + story.extend(_section_heading(heading, styles)) + for obj in items: + story.extend(_item_card(model, obj, order, styles, body_font, emoji_font)) + order += 1 + return story + + +def build_collection_pdf(collection: Collection) -> bytes: + """Return PDF bytes for the given collection.""" + body_font, emoji_font = ensure_pdf_fonts() + + buffer = io.BytesIO() + doc = SimpleDocTemplate( + buffer, + pagesize=letter, + leftMargin=0.75 * inch, + rightMargin=0.75 * inch, + topMargin=0.65 * inch, + bottomMargin=0.65 * inch, + title=collection.name or 'Trip', + author='AdventureLog', + ) + + base = getSampleStyleSheet() + styles = { + 'CoverTitle': ParagraphStyle( + 'CoverTitle', + parent=base['Title'], + fontSize=26, + leading=30, + alignment=TA_CENTER, + textColor=colors.HexColor('#0f172a'), + spaceAfter=12, + ), + 'CoverSubtitle': ParagraphStyle( + 'CoverSubtitle', + parent=base['Normal'], + fontSize=12, + leading=16, + alignment=TA_CENTER, + textColor=COLOR_MUTED, + spaceAfter=6, + ), + 'SectionHeading': ParagraphStyle( + 'SectionHeading', + parent=base['Heading2'], + fontSize=14, + leading=18, + textColor=COLOR_PRIMARY, + spaceBefore=8, + spaceAfter=4, + ), + 'DayHeading': ParagraphStyle( + 'DayHeading', + parent=base['Heading1'], + fontSize=16, + leading=20, + textColor=colors.HexColor('#0f172a'), + spaceBefore=14, + spaceAfter=2, + ), + 'DaySubheading': ParagraphStyle( + 'DaySubheading', + parent=base['Normal'], + fontSize=11, + leading=14, + textColor=COLOR_MUTED, + spaceAfter=8, + ), + 'ItemLabel': ParagraphStyle( + 'ItemLabel', + parent=base['Normal'], + fontSize=8, + leading=10, + textColor=COLOR_MUTED, + ), + 'ItemTitle': ParagraphStyle( + 'ItemTitle', + parent=base['Normal'], + fontSize=12, + leading=15, + textColor=colors.HexColor('#0f172a'), + spaceAfter=4, + ), + 'ItemMeta': ParagraphStyle( + 'ItemMeta', + parent=base['Normal'], + fontSize=9, + leading=12, + textColor=COLOR_MUTED, + spaceAfter=3, + ), + 'ItemBody': ParagraphStyle( + 'ItemBody', + parent=base['Normal'], + fontSize=10, + leading=13, + textColor=colors.HexColor('#334155'), + spaceAfter=4, + ), + 'Footer': ParagraphStyle( + 'Footer', + parent=base['Normal'], + fontSize=8, + leading=10, + alignment=TA_CENTER, + textColor=COLOR_MUTED, + ), + } + apply_fonts_to_styles(styles, body_font) + + story: List = [] + + # Cover + cover_img = _cover_image_flowable(collection) + if cover_img: + story.append(Spacer(1, 0.15 * inch)) + story.append(cover_img) + story.append(Spacer(1, 0.25 * inch)) + + story.append(Paragraph(pdf_markup(collection.name or 'Trip'), styles['CoverTitle'])) + + if collection.start_date and collection.end_date: + days = _trip_day_count(collection.start_date, collection.end_date) + date_line = f'{_format_short_date(collection.start_date)} – {_format_short_date(collection.end_date)}' + if days: + date_line += f' · {days} day{"s" if days != 1 else ""}' + story.append(Paragraph(date_line, styles['CoverSubtitle'])) + elif collection.start_date: + story.append(Paragraph(f'Starts {_format_short_date(collection.start_date)}', styles['CoverSubtitle'])) + else: + story.append(Paragraph('Trip folder', styles['CoverSubtitle'])) + + loc_count = collection.locations.count() + if loc_count: + story.append( + Paragraph( + f'{loc_count} location{"s" if loc_count != 1 else ""}', + styles['CoverSubtitle'], + ) + ) + + desc = _plain_text(collection.description) + if desc: + story.append(Spacer(1, 0.15 * inch)) + story.append( + Paragraph(pdf_markup(desc), styles['ItemBody']), + ) + + if collection.link: + story.append( + Paragraph( + f'{pdf_markup(collection.link)}', + styles['CoverSubtitle'], + ) + ) + + story.append(Spacer(1, 0.2 * inch)) + story.append(Paragraph('Generated by AdventureLog', styles['Footer'])) + story.append(PageBreak()) + + if collection.start_date and collection.end_date: + day_groups, global_items, lookups = _group_itinerary_days(collection) + + if day_groups: + story.extend(_section_heading('Day-by-day itinerary', styles)) + for day in day_groups: + day_title = day['display_date'] + if day.get('day_name'): + day_title = f'{day["day_name"]} — {day_title}' + story.append(Paragraph(day_title, styles['DayHeading'])) + if day.get('day_description'): + story.append( + Paragraph( + pdf_markup(day['day_description']), + styles['DaySubheading'], + ) + ) + + if day.get('overnight_lodging'): + names = ', '.join(pdf_markup(l.name) for l in day['overnight_lodging']) + story.append( + Paragraph(f'Overnight: {names}', styles['DaySubheading']), + ) + + if not day['items']: + story.append(Paragraph('No scheduled items this day.', styles['ItemMeta'])) + story.append(Spacer(1, 8)) + continue + + for idx, entry in enumerate(day['items'], start=1): + story.extend( + _item_card(entry['type'], entry['object'], idx, styles, body_font, emoji_font) + ) + + if global_items: + story.append(PageBreak()) + story.extend(_section_heading('Trip-wide items', styles)) + for idx, it in enumerate(sorted(global_items, key=lambda x: x.order), start=1): + model, obj = _resolve_item(it, lookups) + if obj is not None: + story.extend(_item_card(model, obj, idx, styles, body_font, emoji_font)) + + else: + story.extend(_section_heading('Itinerary', styles)) + story.append( + Paragraph( + 'No items are scheduled on the itinerary yet. See the reference sections below.', + styles['ItemMeta'], + ) + ) + story.append(Spacer(1, 12)) + + scheduled_keys = _scheduled_keys(collection) + appendix = _folder_sections( + collection, + styles, + body_font, + emoji_font, + only_unscheduled=True, + scheduled_keys=scheduled_keys, + ) + if appendix: + story.append(PageBreak()) + story.extend(_section_heading('Additional items (not on itinerary)', styles)) + story.extend(appendix) + else: + story.extend(_section_heading('Collection contents', styles)) + story.extend(_folder_sections(collection, styles, body_font, emoji_font)) + + doc.build(story) + return buffer.getvalue() + + +def pdf_filename_for_collection(collection: Collection) -> str: + raw = (collection.name or 'collection').strip() + safe = re.sub(r'[^\w\s-]', '', raw, flags=re.UNICODE) + safe = re.sub(r'[-\s]+', '_', safe).strip('_') or 'collection' + return f'{safe}_itinerary.pdf' diff --git a/backend/server/adventures/services/pdf_fonts.py b/backend/server/adventures/services/pdf_fonts.py new file mode 100644 index 00000000..58ce65fa --- /dev/null +++ b/backend/server/adventures/services/pdf_fonts.py @@ -0,0 +1,147 @@ +""" +Register Unicode-capable fonts for ReportLab PDF generation (including emoji). +""" +from __future__ import annotations + +import logging +import re +import unicodedata +from functools import lru_cache +from pathlib import Path + +from reportlab.pdfbase import pdfmetrics +from reportlab.pdfbase.ttfonts import TTFError, TTFont + +logger = logging.getLogger(__name__) + +BODY_FONT = 'AdventureLogSans' +EMOJI_FONT = 'AdventureLogEmoji' + +_BUNDLED_DIR = Path(__file__).resolve().parent.parent / 'pdf_assets' / 'fonts' + +# System paths (Debian/Ubuntu fonts-noto-* packages) +_SYSTEM_FONT_CANDIDATES = { + BODY_FONT: [ + _BUNDLED_DIR / 'NotoSans-Regular.ttf', + Path('/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf'), + Path('/usr/share/fonts/opentype/noto/NotoSans-Regular.ttf'), + Path('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf'), + ], + EMOJI_FONT: [ + _BUNDLED_DIR / 'NotoEmoji-Regular.ttf', + Path('/usr/share/fonts/truetype/noto/NotoEmoji-Regular.ttf'), + Path('/usr/share/fonts/truetype/noto/NotoSansSymbols2-Regular.ttf'), + Path('/usr/share/fonts/truetype/noto/NotoSansSymbols-Regular.ttf'), + ], +} + +_registered = False + + +def _register_font(alias: str, path: Path) -> bool: + try: + pdfmetrics.registerFont(TTFont(alias, str(path))) + return True + except (TTFError, OSError, ValueError) as exc: + logger.debug('Could not register font %s from %s: %s', alias, path, exc) + return False + + +@lru_cache(maxsize=1) +def ensure_pdf_fonts() -> tuple[str, str | None]: + """ + Register body and emoji fonts once. Returns (body_font_name, emoji_font_name or None). + """ + global _registered + if _registered: + return BODY_FONT, EMOJI_FONT if EMOJI_FONT in pdfmetrics.getRegisteredFontNames() else None + + body_path = next((p for p in _SYSTEM_FONT_CANDIDATES[BODY_FONT] if p.is_file()), None) + if body_path: + _register_font(BODY_FONT, body_path) + else: + logger.warning('PDF body font not found; emoji and non-Latin text may not render') + + emoji_path = next((p for p in _SYSTEM_FONT_CANDIDATES[EMOJI_FONT] if p.is_file()), None) + emoji_registered = None + if emoji_path and _register_font(EMOJI_FONT, emoji_path): + emoji_registered = EMOJI_FONT + else: + logger.warning('PDF emoji font not found; category icons may not render') + + _registered = True + body = BODY_FONT if BODY_FONT in pdfmetrics.getRegisteredFontNames() else 'Helvetica' + return body, emoji_registered + + +def _char_is_emoji(c: str) -> bool: + if c in '\u200d\ufe0f\u20e3': + return True + o = ord(c) + if 0x1F1E6 <= o <= 0x1F1FF: + return True + if 0x1F300 <= o <= 0x1FAFF: + return True + if 0x2600 <= o <= 0x27BF: + return True + if 0x2300 <= o <= 0x23FF: + return True + if 0x1F600 <= o <= 0x1F64F: + return True + if 0x1F680 <= o <= 0x1F6FF: + return True + if 0x1F900 <= o <= 0x1F9FF: + return True + try: + return 'EMOJI' in unicodedata.name(c, '') + except ValueError: + return False + + +def _split_text_runs(text: str) -> list[tuple[str, bool]]: + if not text: + return [] + runs: list[tuple[str, bool]] = [] + buf: list[str] = [] + is_emoji: bool | None = None + for char in text: + char_emoji = _char_is_emoji(char) + if buf and char_emoji != is_emoji: + runs.append((''.join(buf), bool(is_emoji))) + buf = [] + buf.append(char) + is_emoji = char_emoji + if buf: + runs.append((''.join(buf), bool(is_emoji))) + return runs + + +def escape_xml(text: str) -> str: + return ( + text.replace('&', '&') + .replace('<', '<') + .replace('>', '>') + ) + + +def pdf_markup(text: str, *, emoji_font: str | None = None) -> str: + """ + Escape text for ReportLab Paragraph XML and wrap emoji runs in the emoji font. + """ + if not text: + return '' + _, emoji_registered = ensure_pdf_fonts() + font = emoji_font or emoji_registered + parts: list[str] = [] + for chunk, is_emoji in _split_text_runs(text): + escaped = escape_xml(chunk) + if is_emoji and font: + parts.append(f'{escaped}') + else: + parts.append(escaped) + return ''.join(parts).replace('\n', '
') + + +def apply_fonts_to_styles(styles: dict, body_font: str) -> None: + for style in styles.values(): + style.fontName = body_font diff --git a/backend/server/adventures/services/share_image.py b/backend/server/adventures/services/share_image.py new file mode 100644 index 00000000..87f8db2d --- /dev/null +++ b/backend/server/adventures/services/share_image.py @@ -0,0 +1,435 @@ +""" +Build branded PNG share cards for collections and locations (social media). +""" +from __future__ import annotations + +import io +import re +from datetime import date, datetime +from functools import lru_cache +from pathlib import Path +from typing import Optional, Tuple, Union + +import qrcode +from django.db.models import Prefetch +from PIL import Image as PILImage +from PIL import ImageDraw, ImageFont + +from adventures.models import Collection, ContentImage, Location, Visit +from adventures.services.collection_pdf import get_collection_for_pdf + +ASPECTS: dict[str, Tuple[int, int]] = { + 'square': (1080, 1080), + 'story': (1080, 1920), + 'landscape': (1200, 628), +} + +COLOR_PRIMARY = (13, 148, 136) +COLOR_MUTED = (100, 116, 139) +COLOR_LIGHT = (248, 250, 252) +COLOR_WHITE = (255, 255, 255) +COLOR_DARK = (15, 23, 42) + +_BUNDLED_DIR = Path(__file__).resolve().parent.parent / 'pdf_assets' / 'fonts' +_FONT_CANDIDATES = [ + _BUNDLED_DIR / 'NotoSans-Regular.ttf', + Path('/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf'), + Path('/usr/share/fonts/opentype/noto/NotoSans-Regular.ttf'), + Path('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf'), +] +_BOLD_CANDIDATES = [ + _BUNDLED_DIR / 'NotoSans-Bold.ttf', + Path('/usr/share/fonts/truetype/noto/NotoSans-Bold.ttf'), + Path('/usr/share/fonts/opentype/noto/NotoSans-Bold.ttf'), + Path('/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf'), +] + + +def valid_aspect(aspect: str) -> bool: + return aspect in ASPECTS + + +def aspect_dimensions(aspect: str) -> Tuple[int, int]: + if aspect not in ASPECTS: + raise ValueError(f'Invalid aspect: {aspect}') + return ASPECTS[aspect] + + +@lru_cache(maxsize=1) +def _body_font_path() -> Optional[Path]: + return next((p for p in _FONT_CANDIDATES if p.is_file()), None) + + +@lru_cache(maxsize=1) +def _bold_font_path() -> Optional[Path]: + return next((p for p in _BOLD_CANDIDATES if p.is_file()), None) + + +def _load_font(size: int, bold: bool = False) -> ImageFont.FreeTypeFont | ImageFont.ImageFont: + path = (_bold_font_path() if bold else _body_font_path()) + if path: + try: + return ImageFont.truetype(str(path), size) + except OSError: + pass + return ImageFont.load_default() + + +def _format_short_date(d: Optional[date]) -> str: + if not d: + return '' + return d.strftime('%b %d, %Y') + + +def _format_date_range(start: Optional[date], end: Optional[date]) -> str: + if start and end: + if start == end: + return _format_short_date(start) + if start.year == end.year: + return f'{start.strftime("%b %d")} – {end.strftime("%b %d, %Y")}' + return f'{_format_short_date(start)} – {_format_short_date(end)}' + if start: + return f'From {_format_short_date(start)}' + if end: + return f'Until {_format_short_date(end)}' + return '' + + +def _text_width(draw: ImageDraw.ImageDraw, text: str, font: ImageFont.ImageFont) -> int: + bbox = draw.textbbox((0, 0), text, font=font) + return bbox[2] - bbox[0] + + +def _truncate_to_width( + draw: ImageDraw.ImageDraw, text: str, font: ImageFont.ImageFont, max_width: int +) -> str: + if not text: + return '' + if _text_width(draw, text, font) <= max_width: + return text + ellipsis = '...' + low, high = 0, len(text) + while low < high: + mid = (low + high + 1) // 2 + candidate = text[:mid].rstrip() + ellipsis + if _text_width(draw, candidate, font) <= max_width: + low = mid + else: + high = mid - 1 + return text[:low].rstrip() + ellipsis if low > 0 else ellipsis + + +def _open_image_field(image_field) -> Optional[PILImage.Image]: + if not image_field: + return None + try: + with image_field.open('rb') as fh: + img = PILImage.open(fh) + return img.convert('RGB') + except Exception: + return None + + +def _location_hero_image(location: Location) -> Optional[PILImage.Image]: + images = sorted(location.images.all(), key=lambda img: (not img.is_primary,)) + if not images: + return None + for img in images: + if img.image: + opened = _open_image_field(img.image) + if opened: + return opened + return None + + +def _collection_hero_image(collection: Collection) -> Optional[PILImage.Image]: + if collection.primary_image and collection.primary_image.image: + return _open_image_field(collection.primary_image.image) + for loc in collection.locations.all(): + hero = _location_hero_image(loc) + if hero: + return hero + return None + + +def _cover_crop(img: PILImage.Image, width: int, height: int) -> PILImage.Image: + target_ratio = width / height + src_w, src_h = img.size + src_ratio = src_w / src_h + if src_ratio > target_ratio: + new_w = int(src_h * target_ratio) + left = (src_w - new_w) // 2 + cropped = img.crop((left, 0, left + new_w, src_h)) + else: + new_h = int(src_w / target_ratio) + top = (src_h - new_h) // 2 + cropped = img.crop((0, top, src_w, top + new_h)) + return cropped.resize((width, height), PILImage.Resampling.LANCZOS) + + +def _gradient_background(width: int, height: int) -> PILImage.Image: + base = PILImage.new('RGB', (width, height), COLOR_PRIMARY) + overlay = PILImage.new('RGBA', (width, height)) + draw = ImageDraw.Draw(overlay) + for y in range(height): + alpha = int(180 * (y / max(height - 1, 1))) + draw.line([(0, y), (width, y)], fill=(15, 118, 110, alpha)) + return PILImage.alpha_composite(base.convert('RGBA'), overlay).convert('RGB') + + +def _apply_bottom_gradient(canvas: PILImage.Image, start_ratio: float = 0.35) -> PILImage.Image: + width, height = canvas.size + overlay = PILImage.new('RGBA', (width, height), (0, 0, 0, 0)) + draw = ImageDraw.Draw(overlay) + start_y = int(height * start_ratio) + for y in range(start_y, height): + progress = (y - start_y) / max(height - start_y - 1, 1) + alpha = int(210 * progress) + draw.line([(0, y), (width, y)], fill=(15, 23, 42, alpha)) + return PILImage.alpha_composite(canvas.convert('RGBA'), overlay).convert('RGB') + + +def _make_qr(url: str, outer_size: int) -> PILImage.Image: + """ + Standard black-on-white QR with quiet zone, then a white mat for dark backgrounds. + """ + qr = qrcode.QRCode( + version=None, + error_correction=qrcode.constants.ERROR_CORRECT_M, + box_size=10, + border=4, + ) + qr.add_data(url) + qr.make(fit=True) + core = qr.make_image(fill_color='black', back_color='white').convert('RGB') + + # Extra white mat so the code stays scannable on gradient/dark footers + mat_px = max(12, outer_size // 12) + matted = PILImage.new( + 'RGB', + (core.width + 2 * mat_px, core.height + 2 * mat_px), + COLOR_WHITE, + ) + matted.paste(core, (mat_px, mat_px)) + return matted.resize((outer_size, outer_size), PILImage.Resampling.LANCZOS) + + +def _draw_footer( + canvas: PILImage.Image, + width: int, + height: int, + username: str, + public_url: str, + padding: int, + qr_size: int, +) -> None: + draw = ImageDraw.Draw(canvas) + brand_font = _load_font(28, bold=True) + user_font = _load_font(22) + footer_y = height - padding - qr_size + + draw.text((padding, footer_y + 8), 'AdventureLog', font=brand_font, fill=COLOR_PRIMARY) + if username: + draw.text((padding, footer_y + 40), f'@{username}', font=user_font, fill=COLOR_WHITE) + + qr = _make_qr(public_url, qr_size) + canvas.paste(qr, (width - padding - qr_size, footer_y)) + + +def _compose_card( + *, + width: int, + height: int, + hero: Optional[PILImage.Image], + title: str, + subtitle: str, + stats: str, + username: str, + public_url: str, + highlights: Optional[list[str]] = None, +) -> bytes: + padding = max(48, width // 22) + if hero: + canvas = _cover_crop(hero, width, height) + canvas = _apply_bottom_gradient(canvas, start_ratio=0.3 if height > width else 0.45) + else: + canvas = _gradient_background(width, height) + + draw = ImageDraw.Draw(canvas) + + title_size = 72 if height >= 1500 else (56 if width >= 1000 else 48) + subtitle_size = 32 if height >= 1500 else 26 + stats_size = 24 if height >= 1500 else 22 + highlight_size = 22 + + title_font = _load_font(title_size, bold=True) + subtitle_font = _load_font(subtitle_size) + stats_font = _load_font(stats_size) + highlight_font = _load_font(highlight_size) + + content_width = width - 2 * padding + # Large enough to scan from a phone screen; scales with card size + qr_size = max(120, min(160, width // 7)) + text_bottom = height - padding - qr_size - 16 + + lines: list[tuple[str, ImageFont.ImageFont, Tuple[int, int, int]]] = [] + y = text_bottom + + if highlights: + for name in reversed(highlights[:3]): + line = f'• {_truncate_to_width(draw, name, highlight_font, content_width - 24)}' + lines.append((line, highlight_font, COLOR_LIGHT)) + if stats: + lines.append((_truncate_to_width(draw, stats, stats_font, content_width), stats_font, COLOR_LIGHT)) + if subtitle: + lines.append((_truncate_to_width(draw, subtitle, subtitle_font, content_width), subtitle_font, COLOR_LIGHT)) + title_line = _truncate_to_width(draw, title, title_font, content_width) + lines.append((title_line, title_font, COLOR_WHITE)) + + for text, font, color in lines: + bbox = draw.textbbox((0, 0), text, font=font) + line_h = bbox[3] - bbox[1] + y -= line_h + 12 + draw.text((padding, y), text, font=font, fill=color) + + _draw_footer(canvas, width, height, username, public_url, padding, qr_size) + + buf = io.BytesIO() + canvas.save(buf, format='PNG', optimize=True) + return buf.getvalue() + + +def get_location_for_share(location_id) -> Location: + return ( + Location.objects.filter(pk=location_id) + .select_related('user', 'city', 'region', 'country', 'category') + .prefetch_related('images', Prefetch('visits', queryset=Visit.objects.order_by('start_date'))) + .get() + ) + + +def _location_place_name(location: Location) -> str: + parts = [] + if location.city: + parts.append(location.city.name) + elif location.region: + parts.append(location.region.name) + if location.country: + parts.append(location.country.name) + if parts: + return ', '.join(parts) + return location.location or '' + + +def _location_visit_range(location: Location) -> str: + visits = list(location.visits.all()) + if not visits: + return '' + starts = [v.start_date for v in visits if v.start_date] + ends = [v.end_date for v in visits if v.end_date] + if not starts: + return '' + start = min(starts).date() if isinstance(min(starts), datetime) else min(starts) + end = max(ends).date() if ends and isinstance(max(ends), datetime) else (max(ends) if ends else None) + return _format_date_range(start, end) + + +def build_location_share_image(location: Location, aspect: str, public_url: str) -> bytes: + width, height = aspect_dimensions(aspect) + hero = _location_hero_image(location) + place = _location_place_name(location) + visit_range = _location_visit_range(location) + + subtitle_parts = [p for p in [place, visit_range] if p] + subtitle = ' · '.join(subtitle_parts) + + stats_parts = [] + if location.rating is not None: + stats_parts.append(f'★ {location.rating:g}') + if location.tags: + stats_parts.append(' · '.join(location.tags[:3])) + stats = ' · '.join(stats_parts) + + username = getattr(location.user, 'username', '') or '' + + return _compose_card( + width=width, + height=height, + hero=hero, + title=location.name, + subtitle=subtitle, + stats=stats, + username=username, + public_url=public_url, + ) + + +def build_collection_share_image(collection: Collection, aspect: str, public_url: str) -> bytes: + width, height = aspect_dimensions(aspect) + hero = _collection_hero_image(collection) + date_range = _format_date_range(collection.start_date, collection.end_date) + loc_count = collection.locations.count() + loc_label = 'location' if loc_count == 1 else 'locations' + + subtitle = date_range + stats = f'{loc_count} {loc_label}' if loc_count else '' + + top_locations = list(collection.locations.all()[:3]) + highlights = [loc.name for loc in top_locations] + + username = getattr(collection.user, 'username', '') or '' + + return _compose_card( + width=width, + height=height, + hero=hero, + title=collection.name, + subtitle=subtitle, + stats=stats, + username=username, + public_url=public_url, + highlights=highlights if highlights else None, + ) + + +def build_share_image( + obj: Union[Collection, Location], aspect: str, public_url: str +) -> bytes: + if isinstance(obj, Collection): + return build_collection_share_image(obj, aspect, public_url) + if isinstance(obj, Location): + return build_location_share_image(obj, aspect, public_url) + raise TypeError(f'Unsupported object type: {type(obj)}') + + +def share_image_filename(obj: Union[Collection, Location], aspect: str) -> str: + safe_name = re.sub(r'[^\w\s-]', '', obj.name).strip().replace(' ', '_') or 'share' + kind = 'collection' if isinstance(obj, Collection) else 'location' + return f'{safe_name}_{kind}_{aspect}.png' + + +def resolve_share_page_url(request, path: str) -> str: + """ + Build an absolute URL encoded in share-card QR codes. + Prefer the browser Origin/Referer (frontend) over backend PUBLIC_URL. + """ + from django.conf import settings + from urllib.parse import urlparse + + if not path.startswith('/'): + path = f'/{path}' + + for header in ('Origin', 'Referer'): + raw = request.headers.get(header) + if not raw: + continue + parsed = urlparse(raw) + if parsed.scheme and parsed.netloc: + return f'{parsed.scheme}://{parsed.netloc}{path}' + + base = getattr(settings, 'PUBLIC_URL', 'http://localhost:8000').rstrip('/') + return f'{base}{path}' + + +def get_collection_for_share(collection_id) -> Collection: + return get_collection_for_pdf(collection_id) diff --git a/backend/server/adventures/tests/test_collection_pdf.py b/backend/server/adventures/tests/test_collection_pdf.py new file mode 100644 index 00000000..4924e70e --- /dev/null +++ b/backend/server/adventures/tests/test_collection_pdf.py @@ -0,0 +1,98 @@ +from datetime import date, timedelta + +from django.contrib.auth import get_user_model +from django.contrib.contenttypes.models import ContentType +from django.test import TestCase + +from adventures.models import ( + Collection, + CollectionItineraryDay, + CollectionItineraryItem, + Location, + Note, +) +from adventures.services.collection_pdf import ( + build_collection_pdf, + pdf_filename_for_collection, +) + +User = get_user_model() + + +class CollectionPdfTests(TestCase): + def setUp(self): + self.user = User.objects.create_user(username='pdfuser', password='testpass123') + + def test_build_collection_pdf_returns_valid_pdf(self): + start = date.today() + timedelta(days=30) + end = start + timedelta(days=2) + collection = Collection.objects.create( + user=self.user, + name='Alpine Loop', + description='**Pack layers** and good boots.', + start_date=start, + end_date=end, + ) + location = Location.objects.create( + user=self.user, + name='Trailhead Cafe', + location='123 Main St', + description='Morning coffee stop.', + ) + collection.locations.add(location) + + CollectionItineraryDay.objects.create( + collection=collection, + date=start, + name='Arrival day', + description='Settle in and explore.', + ) + + location_ct = ContentType.objects.get_for_model(Location) + CollectionItineraryItem.objects.create( + collection=collection, + content_type=location_ct, + object_id=location.id, + date=start, + order=0, + is_global=False, + ) + + note = Note.objects.create( + user=self.user, + collection=collection, + name='Reminders', + content='Bring passport copies.', + date=start, + ) + note_ct = ContentType.objects.get_for_model(Note) + CollectionItineraryItem.objects.create( + collection=collection, + content_type=note_ct, + object_id=note.id, + date=start + timedelta(days=1), + order=0, + is_global=False, + ) + + pdf_bytes = build_collection_pdf(collection) + + self.assertTrue(pdf_bytes.startswith(b'%PDF')) + self.assertGreater(len(pdf_bytes), 500) + self.assertEqual(pdf_filename_for_collection(collection), 'Alpine_Loop_itinerary.pdf') + + def test_folder_collection_pdf(self): + collection = Collection.objects.create( + user=self.user, + name='Ideas Folder', + description='Places to consider later.', + ) + location = Location.objects.create( + user=self.user, + name='Museum', + location='Downtown', + ) + collection.locations.add(location) + + pdf_bytes = build_collection_pdf(collection) + self.assertTrue(pdf_bytes.startswith(b'%PDF')) diff --git a/backend/server/adventures/tests/test_geo_points.py b/backend/server/adventures/tests/test_geo_points.py new file mode 100644 index 00000000..3618aa60 --- /dev/null +++ b/backend/server/adventures/tests/test_geo_points.py @@ -0,0 +1,109 @@ +from django.contrib.gis.geos import Point +from django.test import TestCase +from rest_framework.test import APIRequestFactory + +from adventures.models import Location, Transportation +from adventures.serializers import LocationSerializer, MapPinSerializer, TransportationSerializer +from adventures.utils.geo import make_point, point_to_lat_lon, has_coordinates +from users.models import CustomUser + + +class GeoUtilsTests(TestCase): + def test_make_point_and_point_to_lat_lon(self): + point = make_point(-73.968285, 40.785091) + self.assertIsNotNone(point) + self.assertEqual(point.srid, 4326) + lat, lon = point_to_lat_lon(point) + self.assertAlmostEqual(lat, 40.785091) + self.assertAlmostEqual(lon, -73.968285) + + def test_make_point_returns_none_for_incomplete_coords(self): + self.assertIsNone(make_point(None, 40.0)) + self.assertIsNone(make_point(-70.0, None)) + + +class LocationSerializerGeoTests(TestCase): + def setUp(self): + self.user = CustomUser.objects.create_user( + username='geo-user', + email='geo-user@example.com', + password='testpassword123', + ) + self.factory = APIRequestFactory() + self.request = self.factory.post('/') + self.request.user = self.user + + def _serializer(self): + return LocationSerializer(context={'request': self.request}) + + def test_create_persists_coordinates_from_lat_lon(self): + serializer = self._serializer() + location = serializer.create( + { + 'name': 'Geo Place', + 'latitude': 48.8566, + 'longitude': 2.3522, + 'is_public': False, + } + ) + location.refresh_from_db() + self.assertTrue(has_coordinates(location.coordinates)) + lat, lon = point_to_lat_lon(location.coordinates) + self.assertAlmostEqual(lat, 48.8566, places=4) + self.assertAlmostEqual(lon, 2.3522, places=4) + + def test_representation_exposes_lat_lon(self): + location = Location.objects.create( + user=self.user, + name='Stored', + coordinates=make_point(10.0, 20.0), + ) + data = self._serializer().to_representation(location) + self.assertAlmostEqual(data['latitude'], 20.0) + self.assertAlmostEqual(data['longitude'], 10.0) + + +class MapPinSerializerGeoTests(TestCase): + def setUp(self): + self.user = CustomUser.objects.create_user( + username='pin-user', + email='pin-user@example.com', + password='testpassword123', + ) + + def test_map_pin_serializer_lat_lon(self): + location = Location.objects.create( + user=self.user, + name='Pin', + coordinates=make_point(-122.4, 37.8), + ) + data = MapPinSerializer(location).data + self.assertAlmostEqual(data['latitude'], 37.8, places=4) + self.assertAlmostEqual(data['longitude'], -122.4, places=4) + + +class TransportationDistanceTests(TestCase): + def setUp(self): + self.user = CustomUser.objects.create_user( + username='transport-user', + email='transport-user@example.com', + password='testpassword123', + ) + self.factory = APIRequestFactory() + self.request = self.factory.get('/') + self.request.user = self.user + + def test_get_distance_uses_point_fields(self): + transport = Transportation.objects.create( + user=self.user, + type='car', + name='Trip', + origin=Point(-74.0, 40.7, srid=4326), + destination=Point(-118.25, 34.05, srid=4326), + ) + serializer = TransportationSerializer( + transport, context={'request': self.request} + ) + distance = serializer.get_distance(transport) + self.assertIsNotNone(distance) + self.assertGreater(distance, 1000) diff --git a/backend/server/adventures/tests/test_share_image.py b/backend/server/adventures/tests/test_share_image.py new file mode 100644 index 00000000..c7782eab --- /dev/null +++ b/backend/server/adventures/tests/test_share_image.py @@ -0,0 +1,166 @@ +from datetime import date, timedelta + +from django.contrib.auth import get_user_model +from django.test import TestCase +from PIL import Image as PILImage +import io + +from adventures.models import Collection, Location +from adventures.services.share_image import ( + ASPECTS, + build_collection_share_image, + build_location_share_image, + valid_aspect, +) + +User = get_user_model() + + +class ShareImageServiceTests(TestCase): + def setUp(self): + self.user = User.objects.create_user(username='shareuser', password='testpass123') + self.other = User.objects.create_user(username='otheruser', password='testpass123') + + def _png_size(self, png_bytes: bytes) -> tuple[int, int]: + img = PILImage.open(io.BytesIO(png_bytes)) + return img.size + + def test_valid_aspect(self): + self.assertTrue(valid_aspect('square')) + self.assertTrue(valid_aspect('story')) + self.assertTrue(valid_aspect('landscape')) + self.assertFalse(valid_aspect('wide')) + + def test_build_collection_share_image_all_aspects(self): + start = date.today() + timedelta(days=10) + end = start + timedelta(days=3) + collection = Collection.objects.create( + user=self.user, + name='Coastal Road Trip', + start_date=start, + end_date=end, + is_public=True, + ) + location = Location.objects.create( + user=self.user, + name='Beach Stop', + location='Pacific Coast', + is_public=True, + ) + collection.locations.add(location) + + for aspect, (width, height) in ASPECTS.items(): + png = build_collection_share_image( + collection, aspect, f'http://example.com/collections/{collection.id}' + ) + self.assertTrue(png.startswith(b'\x89PNG')) + self.assertEqual(self._png_size(png), (width, height)) + + def test_build_location_share_image_all_aspects(self): + location = Location.objects.create( + user=self.user, + name='Summit View', + location='Rocky Mountains', + rating=4.5, + tags=['hiking', 'scenic'], + is_public=True, + ) + + for aspect, (width, height) in ASPECTS.items(): + png = build_location_share_image( + location, aspect, f'http://example.com/locations/{location.id}' + ) + self.assertTrue(png.startswith(b'\x89PNG')) + self.assertEqual(self._png_size(png), (width, height)) + + def test_collection_share_image_without_hero_image(self): + collection = Collection.objects.create( + user=self.user, + name='No Photo Trip', + is_public=True, + ) + png = build_collection_share_image( + collection, 'square', f'http://example.com/collections/{collection.id}' + ) + self.assertTrue(png.startswith(b'\x89PNG')) + self.assertEqual(self._png_size(png), ASPECTS['square']) + + +class ShareImageApiTests(TestCase): + def setUp(self): + self.user = User.objects.create_user(username='apiuser', password='testpass123') + self.other = User.objects.create_user(username='apiother', password='testpass123') + self.client.login(username='apiuser', password='testpass123') + + self.public_collection = Collection.objects.create( + user=self.user, + name='Public Trip', + is_public=True, + ) + self.private_collection = Collection.objects.create( + user=self.user, + name='Private Trip', + is_public=False, + ) + self.public_location = Location.objects.create( + user=self.user, + name='Public Place', + is_public=True, + ) + self.private_location = Location.objects.create( + user=self.user, + name='Private Place', + is_public=False, + ) + + def test_owner_can_fetch_private_collection_share_image(self): + url = f'/api/collections/{self.private_collection.id}/share-image/square/' + res = self.client.get(url) + self.assertEqual(res.status_code, 200) + self.assertEqual(res['Content-Type'], 'image/png') + self.assertTrue(res.content.startswith(b'\x89PNG')) + + def test_anonymous_can_fetch_public_collection_share_image(self): + self.client.logout() + url = f'/api/collections/{self.public_collection.id}/share-image/landscape/' + res = self.client.get(url) + self.assertEqual(res.status_code, 200) + self.assertEqual(res['Content-Type'], 'image/png') + + def test_anonymous_cannot_fetch_private_collection_share_image(self): + self.client.logout() + url = f'/api/collections/{self.private_collection.id}/share-image/square/' + res = self.client.get(url) + self.assertIn(res.status_code, (403, 404)) + + def test_owner_can_fetch_private_location_share_image(self): + url = f'/api/locations/{self.private_location.id}/share-image/story/' + res = self.client.get(url) + self.assertEqual(res.status_code, 200) + self.assertEqual(res['Content-Type'], 'image/png') + + def test_anonymous_can_fetch_public_location_share_image(self): + self.client.logout() + url = f'/api/locations/{self.public_location.id}/share-image/square/' + res = self.client.get(url) + self.assertEqual(res.status_code, 200) + self.assertEqual(res['Content-Type'], 'image/png') + + def test_anonymous_cannot_fetch_private_location_share_image(self): + self.client.logout() + url = f'/api/locations/{self.private_location.id}/share-image/square/' + res = self.client.get(url) + self.assertIn(res.status_code, (403, 404)) + + def test_invalid_aspect_returns_400(self): + url = f'/api/collections/{self.public_collection.id}/share-image/wide/' + res = self.client.get(url) + self.assertEqual(res.status_code, 404) + + def test_download_disposition(self): + url = ( + f'/api/collections/{self.public_collection.id}/share-image/square/?download=1' + ) + res = self.client.get(url) + self.assertEqual(res.status_code, 200) + self.assertIn('attachment', res['Content-Disposition']) diff --git a/backend/server/adventures/utils/geo.py b/backend/server/adventures/utils/geo.py new file mode 100644 index 00000000..3eb0a4ca --- /dev/null +++ b/backend/server/adventures/utils/geo.py @@ -0,0 +1,30 @@ +"""Shared helpers for GeoDjango PointField (SRID 4326: x=longitude, y=latitude).""" + +from __future__ import annotations + +from typing import Any + +from django.contrib.gis.geos import Point + +WGS84_SRID = 4326 + + +def make_point(lon: Any, lat: Any) -> Point | None: + """Build a WGS84 point from longitude/latitude, or None if either is missing.""" + if lon is None or lat is None: + return None + try: + return Point(float(lon), float(lat), srid=WGS84_SRID) + except (TypeError, ValueError): + return None + + +def point_to_lat_lon(point: Point | None) -> tuple[float | None, float | None]: + """Return (latitude, longitude) from a Point, or (None, None).""" + if not point: + return None, None + return point.y, point.x + + +def has_coordinates(point: Point | None) -> bool: + return point is not None diff --git a/backend/server/adventures/utils/serializer_geo_fields.py b/backend/server/adventures/utils/serializer_geo_fields.py new file mode 100644 index 00000000..9c88c9f7 --- /dev/null +++ b/backend/server/adventures/utils/serializer_geo_fields.py @@ -0,0 +1,226 @@ +"""DRF fields that expose latitude/longitude while storing GeoDjango PointFields.""" + +from __future__ import annotations + +from rest_framework import serializers + +from adventures.utils.geo import make_point, point_to_lat_lon + + +def _register_declared_fields(cls, field_map: dict[str, serializers.Field]) -> None: + """ + DRF only collects fields from Serializer subclasses into _declared_fields. + Mixins must register explicitly so Meta.fields names are not built from the model. + """ + declared = getattr(cls, '_declared_fields', None) + if declared is None: + return + for name, field in field_map.items(): + declared[name] = field + + +class CoordinateSerializerMixin: + """ + Mixin for serializers with a single `coordinates` PointField on the model. + + Declares writable `latitude` and `longitude` on the serializer; maps them to + `coordinates` in validated_data before create/update. + """ + + latitude = serializers.FloatField(required=False, allow_null=True) + longitude = serializers.FloatField(required=False, allow_null=True) + _point_field_name = 'coordinates' + + def __init_subclass__(cls, **kwargs): + super().__init_subclass__(**kwargs) + _register_declared_fields( + cls, + { + 'latitude': serializers.FloatField(required=False, allow_null=True), + 'longitude': serializers.FloatField(required=False, allow_null=True), + }, + ) + + def _get_point_field_name(self) -> str: + return getattr(self, '_point_field_name', 'coordinates') + + def _pop_lat_lon(self, validated_data: dict) -> dict: + lat = validated_data.pop('latitude', serializers.empty) + lon = validated_data.pop('longitude', serializers.empty) + if lat is serializers.empty and lon is serializers.empty: + return validated_data + lat = None if lat is serializers.empty else lat + lon = None if lon is serializers.empty else lon + if lat is None and lon is None: + validated_data[self._get_point_field_name()] = None + else: + point = make_point(lon, lat) + if point is None and (lat is not None or lon is not None): + raise serializers.ValidationError( + 'Valid latitude and longitude are required together.' + ) + validated_data[self._get_point_field_name()] = point + return validated_data + + def create(self, validated_data): + validated_data = self._pop_lat_lon(validated_data) + return super().create(validated_data) + + def update(self, instance, validated_data): + validated_data = self._pop_lat_lon(validated_data) + return super().update(instance, validated_data) + + def to_representation(self, instance): + data = super().to_representation(instance) + point = getattr(instance, self._get_point_field_name(), None) + lat, lon = point_to_lat_lon(point) + data['latitude'] = lat + data['longitude'] = lon + return data + + +class TransportationCoordinateMixin: + """Maps origin/destination lat-lon API fields to PointFields on Transportation.""" + + origin_latitude = serializers.FloatField(required=False, allow_null=True) + origin_longitude = serializers.FloatField(required=False, allow_null=True) + destination_latitude = serializers.FloatField(required=False, allow_null=True) + destination_longitude = serializers.FloatField(required=False, allow_null=True) + + def __init_subclass__(cls, **kwargs): + super().__init_subclass__(**kwargs) + _register_declared_fields( + cls, + { + 'origin_latitude': serializers.FloatField(required=False, allow_null=True), + 'origin_longitude': serializers.FloatField(required=False, allow_null=True), + 'destination_latitude': serializers.FloatField(required=False, allow_null=True), + 'destination_longitude': serializers.FloatField(required=False, allow_null=True), + }, + ) + + def _apply_endpoint( + self, + validated_data: dict, + lat_key: str, + lon_key: str, + point_key: str, + ) -> dict: + lat = validated_data.pop(lat_key, serializers.empty) + lon = validated_data.pop(lon_key, serializers.empty) + if lat is serializers.empty and lon is serializers.empty: + return validated_data + lat = None if lat is serializers.empty else lat + lon = None if lon is serializers.empty else lon + if lat is None and lon is None: + validated_data[point_key] = None + else: + point = make_point(lon, lat) + if point is None and (lat is not None or lon is not None): + raise serializers.ValidationError( + {lat_key: 'Valid latitude and longitude are required together.'} + ) + validated_data[point_key] = point + return validated_data + + def _pop_transport_points(self, validated_data: dict) -> dict: + validated_data = self._apply_endpoint( + validated_data, 'origin_latitude', 'origin_longitude', 'origin' + ) + validated_data = self._apply_endpoint( + validated_data, + 'destination_latitude', + 'destination_longitude', + 'destination', + ) + return validated_data + + def create(self, validated_data): + validated_data = self._pop_transport_points(validated_data) + return super().create(validated_data) + + def update(self, instance, validated_data): + validated_data = self._pop_transport_points(validated_data) + return super().update(instance, validated_data) + + def to_representation(self, instance): + data = super().to_representation(instance) + o_lat, o_lon = point_to_lat_lon(getattr(instance, 'origin', None)) + d_lat, d_lon = point_to_lat_lon(getattr(instance, 'destination', None)) + data['origin_latitude'] = o_lat + data['origin_longitude'] = o_lon + data['destination_latitude'] = d_lat + data['destination_longitude'] = d_lon + return data + + +class ActivityCoordinateMixin: + """Maps start/end lat-lng API fields to PointFields on Activity.""" + + start_lat = serializers.FloatField(required=False, allow_null=True) + start_lng = serializers.FloatField(required=False, allow_null=True) + end_lat = serializers.FloatField(required=False, allow_null=True) + end_lng = serializers.FloatField(required=False, allow_null=True) + + def __init_subclass__(cls, **kwargs): + super().__init_subclass__(**kwargs) + _register_declared_fields( + cls, + { + 'start_lat': serializers.FloatField(required=False, allow_null=True), + 'start_lng': serializers.FloatField(required=False, allow_null=True), + 'end_lat': serializers.FloatField(required=False, allow_null=True), + 'end_lng': serializers.FloatField(required=False, allow_null=True), + }, + ) + + def _apply_activity_endpoint( + self, + validated_data: dict, + lat_key: str, + lng_key: str, + point_key: str, + ) -> dict: + lat = validated_data.pop(lat_key, serializers.empty) + lng = validated_data.pop(lng_key, serializers.empty) + if lat is serializers.empty and lng is serializers.empty: + return validated_data + lat = None if lat is serializers.empty else lat + lng = None if lng is serializers.empty else lng + if lat is None and lng is None: + validated_data[point_key] = None + else: + point = make_point(lng, lat) + if point is None and (lat is not None or lng is not None): + raise serializers.ValidationError( + {lat_key: 'Valid start/end coordinates are required together.'} + ) + validated_data[point_key] = point + return validated_data + + def _pop_activity_points(self, validated_data: dict) -> dict: + validated_data = self._apply_activity_endpoint( + validated_data, 'start_lat', 'start_lng', 'start_point' + ) + validated_data = self._apply_activity_endpoint( + validated_data, 'end_lat', 'end_lng', 'end_point' + ) + return validated_data + + def create(self, validated_data): + validated_data = self._pop_activity_points(validated_data) + return super().create(validated_data) + + def update(self, instance, validated_data): + validated_data = self._pop_activity_points(validated_data) + return super().update(instance, validated_data) + + def to_representation(self, instance): + data = super().to_representation(instance) + s_lat, s_lng = point_to_lat_lon(getattr(instance, 'start_point', None)) + e_lat, e_lng = point_to_lat_lon(getattr(instance, 'end_point', None)) + data['start_lat'] = s_lat + data['start_lng'] = s_lng + data['end_lat'] = e_lat + data['end_lng'] = e_lng + return data diff --git a/backend/server/adventures/views/collection_view.py b/backend/server/adventures/views/collection_view.py index 3c75d4be..6420ab5c 100644 --- a/backend/server/adventures/views/collection_view.py +++ b/backend/server/adventures/views/collection_view.py @@ -14,12 +14,28 @@ import os import json import zipfile import tempfile +import logging from adventures.models import Collection, Location, Transportation, Note, Checklist, ChecklistItem, CollectionInvite, ContentImage, CollectionItineraryItem, Lodging, CollectionItineraryDay, ContentAttachment, Category from adventures.permissions import CollectionShared from adventures.serializers import CollectionSerializer, CollectionInviteSerializer, UltraSlimCollectionSerializer, CollectionItineraryItemSerializer, CollectionItineraryDaySerializer from users.models import CustomUser as User from adventures.utils import pagination +from adventures.utils.geo import make_point, point_to_lat_lon from users.serializers import CustomUserDetailsSerializer as UserSerializer +from adventures.services.collection_pdf import ( + build_collection_pdf, + get_collection_for_pdf, + pdf_filename_for_collection, +) +from adventures.services.share_image import ( + build_share_image, + get_collection_for_share, + resolve_share_page_url, + share_image_filename, + valid_aspect, +) + +logger = logging.getLogger(__name__) class CollectionViewSet(viewsets.ModelViewSet): @@ -477,6 +493,53 @@ class CollectionViewSet(viewsets.ModelViewSet): return Response({"success": success_message}) + @action(detail=True, methods=['get'], url_path='export-pdf') + def export_pdf(self, request, pk=None): + """Export collection as a printable day-by-day itinerary PDF.""" + collection = self.get_object() + try: + collection = get_collection_for_pdf(collection.id) + pdf_bytes = build_collection_pdf(collection) + except Exception: + logger.exception('Failed to generate PDF for collection %s', collection.id) + return Response( + {'error': 'Failed to generate PDF. Please try again later.'}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR, + ) + + filename = pdf_filename_for_collection(collection) + response = HttpResponse(pdf_bytes, content_type='application/pdf') + response['Content-Disposition'] = f'attachment; filename="{filename}"' + return response + + @action( + detail=True, + methods=['get'], + url_path=r'share-image/(?Psquare|story|landscape)', + ) + def share_image(self, request, pk=None, aspect=None): + """Generate a branded PNG share card for social media.""" + if not valid_aspect(aspect): + return Response({'error': 'Invalid aspect ratio.'}, status=status.HTTP_400_BAD_REQUEST) + + collection = self.get_object() + try: + collection = get_collection_for_share(collection.id) + page_url = resolve_share_page_url(request, f'/collections/{collection.id}') + png_bytes = build_share_image(collection, aspect, page_url) + except Exception: + logger.exception('Failed to generate share image for collection %s', collection.id) + return Response( + {'error': 'Failed to generate share image. Please try again later.'}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR, + ) + + filename = share_image_filename(collection, aspect) + disposition = 'attachment' if request.query_params.get('download') else 'inline' + response = HttpResponse(png_bytes, content_type='image/png') + response['Content-Disposition'] = f'{disposition}; filename="{filename}"' + return response + @action(detail=True, methods=['get'], url_path='export') def export_collection(self, request, pk=None): """Export a single collection and its related content as a ZIP file.""" @@ -516,8 +579,12 @@ class CollectionViewSet(viewsets.ModelViewSet): 'rating': loc.rating, 'link': loc.link, 'is_public': loc.is_public, - 'longitude': float(loc.longitude) if loc.longitude is not None else None, - 'latitude': float(loc.latitude) if loc.latitude is not None else None, + 'longitude': ( + float(lon) if (lon := point_to_lat_lon(loc.coordinates)[1]) is not None else None + ), + 'latitude': ( + float(lat) if (lat := point_to_lat_lon(loc.coordinates)[0]) is not None else None + ), 'city': loc.city.name if loc.city else None, 'region': loc.region.name if loc.region else None, 'country': loc.country.name if loc.country else None, @@ -712,7 +779,8 @@ class CollectionViewSet(viewsets.ModelViewSet): for cand in Location.objects.filter(user=request.user): name_score = _ratio(incoming_name, cand.name) loc_text_score = _ratio(incoming_location_text, getattr(cand, 'location', None)) - close_coords = _coords_close(incoming_lat, incoming_lon, cand.latitude, cand.longitude) + cand_lat, cand_lon = point_to_lat_lon(cand.coordinates) + close_coords = _coords_close(incoming_lat, incoming_lon, cand_lat, cand_lon) # Define "very similar": strong name match OR decent name with location/coords match combined_score = max(name_score, (name_score + loc_text_score) / 2.0) if close_coords: @@ -739,8 +807,7 @@ class CollectionViewSet(viewsets.ModelViewSet): rating=loc_data.get('rating'), link=loc_data.get('link'), is_public=bool(loc_data.get('is_public', False)), - longitude=incoming_lon, - latitude=incoming_lat, + coordinates=make_point(incoming_lon, incoming_lat), category=cat_obj, ) loc.collections.add(new_collection) @@ -933,10 +1000,8 @@ class CollectionViewSet(viewsets.ModelViewSet): end_timezone=item.end_timezone, flight_number=item.flight_number, from_location=item.from_location, - origin_latitude=item.origin_latitude, - origin_longitude=item.origin_longitude, - destination_latitude=item.destination_latitude, - destination_longitude=item.destination_longitude, + origin=item.origin, + destination=item.destination, start_code=item.start_code, end_code=item.end_code, to_location=item.to_location, @@ -972,8 +1037,7 @@ class CollectionViewSet(viewsets.ModelViewSet): timezone=item.timezone, reservation_number=item.reservation_number, price=item.price, - latitude=item.latitude, - longitude=item.longitude, + coordinates=item.coordinates, location=item.location, is_public=item.is_public, ) diff --git a/backend/server/adventures/views/import_export_view.py b/backend/server/adventures/views/import_export_view.py index 81e2aaaf..fa22155e 100644 --- a/backend/server/adventures/views/import_export_view.py +++ b/backend/server/adventures/views/import_export_view.py @@ -25,6 +25,7 @@ from adventures.models import ( CollectionItineraryItem ) from worldtravel.models import VisitedCity, VisitedRegion, City, Region, Country +from adventures.utils.geo import make_point, point_to_lat_lon User = get_user_model() @@ -364,8 +365,12 @@ class BackupViewSet(viewsets.ViewSet): 'price_currency': str(location.price.currency) if location.price else None, 'link': location.link, 'is_public': location.is_public, - 'longitude': str(location.longitude) if location.longitude else None, - 'latitude': str(location.latitude) if location.latitude else None, + 'longitude': ( + str(lon) if (lon := point_to_lat_lon(location.coordinates)[1]) is not None else None + ), + 'latitude': ( + str(lat) if (lat := point_to_lat_lon(location.coordinates)[0]) is not None else None + ), 'city': location.city_id, 'region': location.region_id, 'country': location.country_id, @@ -410,10 +415,26 @@ class BackupViewSet(viewsets.ViewSet): 'max_speed': float(activity.max_speed) if activity.max_speed else None, 'average_cadence': float(activity.average_cadence) if activity.average_cadence else None, 'calories': float(activity.calories) if activity.calories else None, - 'start_lat': float(activity.start_lat) if activity.start_lat else None, - 'start_lng': float(activity.start_lng) if activity.start_lng else None, - 'end_lat': float(activity.end_lat) if activity.end_lat else None, - 'end_lng': float(activity.end_lng) if activity.end_lng else None, + 'start_lat': ( + float(s_lat) + if (s_lat := point_to_lat_lon(activity.start_point)[0]) is not None + else None + ), + 'start_lng': ( + float(s_lng) + if (s_lng := point_to_lat_lon(activity.start_point)[1]) is not None + else None + ), + 'end_lat': ( + float(e_lat) + if (e_lat := point_to_lat_lon(activity.end_point)[0]) is not None + else None + ), + 'end_lng': ( + float(e_lng) + if (e_lng := point_to_lat_lon(activity.end_point)[1]) is not None + else None + ), 'external_service_id': activity.external_service_id, 'trail_name': activity.trail.name if activity.trail else None, # Link by trail name 'gpx_filename': None @@ -482,10 +503,26 @@ class BackupViewSet(viewsets.ViewSet): 'end_timezone': transport.end_timezone, 'flight_number': transport.flight_number, 'from_location': transport.from_location, - 'origin_latitude': str(transport.origin_latitude) if transport.origin_latitude else None, - 'origin_longitude': str(transport.origin_longitude) if transport.origin_longitude else None, - 'destination_latitude': str(transport.destination_latitude) if transport.destination_latitude else None, - 'destination_longitude': str(transport.destination_longitude) if transport.destination_longitude else None, + 'origin_latitude': ( + str(o_lat) + if (o_lat := point_to_lat_lon(transport.origin)[0]) is not None + else None + ), + 'origin_longitude': ( + str(o_lon) + if (o_lon := point_to_lat_lon(transport.origin)[1]) is not None + else None + ), + 'destination_latitude': ( + str(d_lat) + if (d_lat := point_to_lat_lon(transport.destination)[0]) is not None + else None + ), + 'destination_longitude': ( + str(d_lon) + if (d_lon := point_to_lat_lon(transport.destination)[1]) is not None + else None + ), 'to_location': transport.to_location, 'is_public': transport.is_public, 'collection_export_id': collection_export_id, @@ -574,8 +611,12 @@ class BackupViewSet(viewsets.ViewSet): 'reservation_number': lodging.reservation_number, 'price': str(lodging.price.amount) if lodging.price else None, 'price_currency': str(lodging.price.currency) if lodging.price else None, - 'latitude': str(lodging.latitude) if lodging.latitude else None, - 'longitude': str(lodging.longitude) if lodging.longitude else None, + 'latitude': ( + str(lat) if (lat := point_to_lat_lon(lodging.coordinates)[0]) is not None else None + ), + 'longitude': ( + str(lon) if (lon := point_to_lat_lon(lodging.coordinates)[1]) is not None else None + ), 'location': lodging.location, 'is_public': lodging.is_public, 'collection_export_id': collection_export_id, @@ -1032,8 +1073,7 @@ class BackupViewSet(viewsets.ViewSet): price_currency=location_price_currency, link=adv_data.get('link'), is_public=adv_data.get('is_public', False), - longitude=adv_data.get('longitude'), - latitude=adv_data.get('latitude'), + coordinates=make_point(adv_data.get('longitude'), adv_data.get('latitude')), city=city, region=region, country=country, @@ -1107,10 +1147,12 @@ class BackupViewSet(viewsets.ViewSet): max_speed=activity_data.get('max_speed'), average_cadence=activity_data.get('average_cadence'), calories=activity_data.get('calories'), - start_lat=activity_data.get('start_lat'), - start_lng=activity_data.get('start_lng'), - end_lat=activity_data.get('end_lat'), - end_lng=activity_data.get('end_lng'), + start_point=make_point( + activity_data.get('start_lng'), activity_data.get('start_lat') + ), + end_point=make_point( + activity_data.get('end_lng'), activity_data.get('end_lat') + ), external_service_id=activity_data.get('external_service_id') ) @@ -1198,10 +1240,13 @@ class BackupViewSet(viewsets.ViewSet): end_timezone=trans_data.get('end_timezone'), flight_number=trans_data.get('flight_number'), from_location=trans_data.get('from_location'), - origin_latitude=trans_data.get('origin_latitude'), - origin_longitude=trans_data.get('origin_longitude'), - destination_latitude=trans_data.get('destination_latitude'), - destination_longitude=trans_data.get('destination_longitude'), + origin=make_point( + trans_data.get('origin_longitude'), trans_data.get('origin_latitude') + ), + destination=make_point( + trans_data.get('destination_longitude'), + trans_data.get('destination_latitude'), + ), to_location=trans_data.get('to_location'), is_public=trans_data.get('is_public', False), collection=collection @@ -1331,8 +1376,7 @@ class BackupViewSet(viewsets.ViewSet): reservation_number=lodg_data.get('reservation_number'), price=lodging_price, price_currency=lodging_price_currency, - latitude=lodg_data.get('latitude'), - longitude=lodg_data.get('longitude'), + coordinates=make_point(lodg_data.get('longitude'), lodg_data.get('latitude')), location=lodg_data.get('location'), is_public=lodg_data.get('is_public', False), collection=collection diff --git a/backend/server/adventures/views/location_view.py b/backend/server/adventures/views/location_view.py index ce91a219..c3206e66 100644 --- a/backend/server/adventures/views/location_view.py +++ b/backend/server/adventures/views/location_view.py @@ -5,6 +5,8 @@ from django.core.exceptions import PermissionDenied from django.core.files.base import ContentFile from django.db.models import Q, Max, Prefetch from django.db.models.functions import Lower +from django.http import HttpResponse +from django.conf import settings from rest_framework import viewsets, status from rest_framework.decorators import action from rest_framework.response import Response @@ -19,7 +21,15 @@ from adventures.serializers import ( ) from adventures.utils import pagination from adventures.throttling import ExternalGeocodeThrottle, ExternalSunTimesThrottle +from adventures.utils.geo import point_to_lat_lon from adventures.services.geocoding.reverse import reverse_geocode as reverse_geocode_service +from adventures.services.share_image import ( + build_share_image, + get_location_for_share, + resolve_share_page_url, + share_image_filename, + valid_aspect, +) from worldtravel.models import City, Country, Region from .location_image_view import import_remote_images_for_object from .quick_add_utils import ( @@ -466,8 +476,7 @@ class LocationViewSet(viewsets.ModelViewSet): location=original.location, tags=list(original.tags) if original.tags else None, is_public=False, - longitude=original.longitude, - latitude=original.latitude, + coordinates=original.coordinates, city=original.city, region=original.region, country=original.country, @@ -537,6 +546,34 @@ class LocationViewSet(viewsets.ModelViewSet): status=status.HTTP_500_INTERNAL_SERVER_ERROR, ) + @action( + detail=True, + methods=['get'], + url_path=r'share-image/(?Psquare|story|landscape)', + ) + def share_image(self, request, pk=None, aspect=None): + """Generate a branded PNG share card for social media.""" + if not valid_aspect(aspect): + return Response({'error': 'Invalid aspect ratio.'}, status=status.HTTP_400_BAD_REQUEST) + + location = self.get_object() + try: + location = get_location_for_share(location.id) + page_url = resolve_share_page_url(request, f'/locations/{location.id}') + png_bytes = build_share_image(location, aspect, page_url) + except Exception: + logger.exception('Failed to generate share image for location %s', location.id) + return Response( + {'error': 'Failed to generate share image. Please try again later.'}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR, + ) + + filename = share_image_filename(location, aspect) + disposition = 'attachment' if request.query_params.get('download') else 'inline' + response = HttpResponse(png_bytes, content_type='image/png') + response['Content-Disposition'] = f'{disposition}; filename="{filename}"' + return response + # view to return location name and lat/lon for all locations a user owns for the golobal map @action(detail=False, methods=['get'], url_path='pins') def map_locations(self, request): @@ -776,7 +813,8 @@ class LocationViewSet(viewsets.ModelViewSet): from adventures.services.sun.times import get_sun_times_for_visits try: - return get_sun_times_for_visits(adventure.latitude, adventure.longitude, visits) + latitude, longitude = point_to_lat_lon(adventure.coordinates) + return get_sun_times_for_visits(latitude, longitude, visits) except Exception: return [] diff --git a/backend/server/billing/admin.py b/backend/server/billing/admin.py index 92761120..241426d9 100644 --- a/backend/server/billing/admin.py +++ b/backend/server/billing/admin.py @@ -13,6 +13,30 @@ if settings.CLOUD_MODE: "trial_ends_at", "current_period_ends_at", "cancel_at_period_end", + "created_at", ) search_fields = ("user__username", "stripe_customer_id", "stripe_subscription_id") list_filter = ("status", "cancel_at_period_end") + autocomplete_fields = ("user",) + readonly_fields = ("created_at", "updated_at") + date_hierarchy = "trial_ends_at" + + fieldsets = ( + (None, {"fields": ("user", "status", "cancel_at_period_end")}), + ( + "Stripe", + { + "fields": ("stripe_customer_id", "stripe_subscription_id"), + }, + ), + ( + "Billing periods", + { + "fields": ("trial_ends_at", "current_period_ends_at"), + }, + ), + ( + "Metadata", + {"classes": ("collapse",), "fields": ("created_at", "updated_at")}, + ), + ) diff --git a/backend/server/integrations/admin.py b/backend/server/integrations/admin.py index c749b4b2..78b277e7 100644 --- a/backend/server/integrations/admin.py +++ b/backend/server/integrations/admin.py @@ -1,17 +1,69 @@ from django.contrib import admin from allauth.account.decorators import secure_admin_login -from .models import ImmichIntegration, StravaToken, WandererIntegration +from integrations.models import ImmichIntegration, StravaToken, WandererIntegration -admin.autodiscover() admin.site.login = secure_admin_login(admin.site.login) - @admin.register(WandererIntegration) class WandererIntegrationAdmin(admin.ModelAdmin): list_display = ('user', 'server_url', 'id') - exclude = ('api_key',) + search_fields = ('user__username', 'server_url') + autocomplete_fields = ('user',) + readonly_fields = ('id',) + + fieldsets = ( + (None, {'fields': ('user', 'server_url', 'id')}), + ( + 'Credentials', + { + 'classes': ('collapse',), + 'fields': ('api_key',), + 'description': 'API key is not shown in list views. Expand to view or rotate.', + }, + ), + ) -admin.site.register(ImmichIntegration) -admin.site.register(StravaToken) +@admin.register(ImmichIntegration) +class ImmichIntegrationAdmin(admin.ModelAdmin): + list_display = ('user', 'server_url', 'copy_locally', 'id') + list_filter = ('copy_locally',) + search_fields = ('user__username', 'server_url') + autocomplete_fields = ('user',) + readonly_fields = ('id',) + + fieldsets = ( + (None, {'fields': ('user', 'server_url', 'copy_locally', 'id')}), + ( + 'Credentials', + {'classes': ('collapse',), 'fields': ('api_key',)}, + ), + ) + + +@admin.register(StravaToken) +class StravaTokenAdmin(admin.ModelAdmin): + list_display = ( + 'user', + 'athlete_id', + 'expires_at', + 'scope', + 'updated_at', + ) + list_filter = ('scope',) + search_fields = ('user__username', 'athlete_id') + autocomplete_fields = ('user',) + readonly_fields = ('updated_at',) + + fieldsets = ( + (None, {'fields': ('user', 'athlete_id', 'scope', 'expires_at', 'updated_at')}), + ( + 'OAuth tokens', + { + 'classes': ('collapse',), + 'fields': ('access_token', 'refresh_token'), + 'description': 'OAuth tokens are stored for Strava sync.', + }, + ), + ) diff --git a/backend/server/main/admin_utils.py b/backend/server/main/admin_utils.py new file mode 100644 index 00000000..c2fc4b74 --- /dev/null +++ b/backend/server/main/admin_utils.py @@ -0,0 +1,91 @@ +"""Shared Django admin helpers for AdventureLog.""" + +from __future__ import annotations + +from django.contrib import admin +from django.contrib.gis import admin as gis_admin +from django.utils.html import format_html + +from adventures.utils.geo import point_to_lat_lon +from main.utils import build_media_url + +TIMESTAMP_READONLY = ('created_at', 'updated_at') +UUID_READONLY = ('id',) + + +def coordinate_display(point, precision: int = 5) -> str: + lat, lon = point_to_lat_lon(point) + if lat is None or lon is None: + return '—' + return f'{lat:.{precision}f}, {lon:.{precision}f}' + + +def admin_image_preview(image_field, width: int = 100, height: int = 100): + if not image_field: + return '—' + image_url = build_media_url(image_field.name) + if not image_url: + return '—' + return format_html( + '', + image_url, + width, + height, + ) + + +class TimestampedAdminMixin: + readonly_fields = TIMESTAMP_READONLY + + +class AdventureLogGeoModelAdmin(gis_admin.GISModelAdmin): + """GISModelAdmin with OSM map widgets for PointFields.""" + + gis_widget_kwargs = { + 'attrs': { + 'default_lon': 0, + 'default_lat': 30, + 'default_zoom': 2, + }, + } + + +class CoordinatesDisplayMixin: + coordinates_field = 'coordinates' + + @admin.display(description='Coordinates') + def display_coordinates(self, obj): + return coordinate_display(getattr(obj, self.coordinates_field, None)) + + @admin.display(description='Lat') + def display_latitude(self, obj): + lat, _ = point_to_lat_lon(getattr(obj, self.coordinates_field, None)) + return lat + + @admin.display(description='Lon') + def display_longitude(self, obj): + _, lon = point_to_lat_lon(getattr(obj, self.coordinates_field, None)) + return lon + + +class UserOwnedAdminMixin: + list_filter = ('user',) + autocomplete_fields = ('user',) + search_fields = ('name',) + + +def generic_object_admin_link(obj, attr: str = 'item') -> str: + linked = getattr(obj, attr, None) + if not linked: + return '—' + try: + from django.urls import reverse + + ct = obj.content_type + admin_url = reverse( + f'admin:{ct.app_label}_{ct.model}_change', + args=[obj.object_id], + ) + return format_html('
{}', admin_url, str(linked)) + except Exception: + return str(linked) diff --git a/backend/server/requirements.txt b/backend/server/requirements.txt index 15f35170..aefd1e2e 100644 --- a/backend/server/requirements.txt +++ b/backend/server/requirements.txt @@ -33,4 +33,5 @@ gpxpy==1.6.2 pymemcache==4.0.0 legacy-cgi==2.6.3 requests>=2.31.0 -stripe==11.3.0 \ No newline at end of file +stripe==11.3.0 +reportlab>=4.2.0,<5 \ No newline at end of file diff --git a/backend/server/users/admin.py b/backend/server/users/admin.py index c8871d28..0c4d13bd 100644 --- a/backend/server/users/admin.py +++ b/backend/server/users/admin.py @@ -1,15 +1,115 @@ from django.contrib import admin -from allauth.account.decorators import secure_admin_login +from django.contrib.auth.admin import UserAdmin from django.contrib.sessions.models import Session -from users.models import APIKey +from allauth.account.decorators import secure_admin_login + +from main.admin_utils import TIMESTAMP_READONLY, admin_image_preview +from users.models import APIKey, CustomUser -admin.autodiscover() admin.site.login = secure_admin_login(admin.site.login) -class SessionAdmin(admin.ModelAdmin): - def _session_data(self, obj): - return obj.get_decoded() - list_display = ['session_key', '_session_data', 'expire_date'] -admin.site.register(APIKey) -admin.site.register(Session, SessionAdmin) \ No newline at end of file +@admin.register(CustomUser) +class CustomUserAdmin(UserAdmin): + model = CustomUser + list_display = ( + 'username', + 'email', + 'is_staff', + 'is_active', + 'public_profile', + 'measurement_system', + 'default_currency', + 'map_style', + 'profile_preview', + 'date_joined', + ) + list_filter = ( + 'is_staff', + 'is_active', + 'is_superuser', + 'public_profile', + 'measurement_system', + 'default_currency', + 'map_style', + ) + search_fields = ('username', 'email', 'first_name', 'last_name', 'uuid') + ordering = ('username',) + readonly_fields = ('uuid', 'profile_preview_large', 'last_login', 'date_joined') + filter_horizontal = ('groups', 'user_permissions') + + fieldsets = UserAdmin.fieldsets + ( + ( + 'AdventureLog profile', + { + 'fields': ( + 'profile_pic', + 'profile_preview_large', + 'uuid', + 'public_profile', + 'disable_password', + 'measurement_system', + 'default_currency', + 'map_style', + ), + }, + ), + ) + + add_fieldsets = UserAdmin.add_fieldsets + + @admin.display(description='Avatar') + def profile_preview(self, obj): + return admin_image_preview(obj.profile_pic, 40, 40) + + @admin.display(description='Profile picture') + def profile_preview_large(self, obj): + return admin_image_preview(obj.profile_pic, 120, 120) + + +@admin.register(APIKey) +class APIKeyAdmin(admin.ModelAdmin): + list_display = ( + 'name', + 'user', + 'key_prefix', + 'created_at', + 'last_used_at', + ) + list_filter = ('user',) + search_fields = ('name', 'key_prefix', 'user__username') + autocomplete_fields = ('user',) + readonly_fields = ('id', 'key_prefix', 'key_hash', 'created_at', 'last_used_at') + ordering = ('-created_at',) + + fieldsets = ( + (None, {'fields': ('user', 'name')}), + ( + 'Key metadata', + { + 'fields': ('id', 'key_prefix', 'key_hash', 'created_at', 'last_used_at'), + 'description': 'Plaintext API keys are only shown once at creation and are never stored.', + }, + ), + ) + + def has_add_permission(self, request): + return False + + +@admin.register(Session) +class SessionAdmin(admin.ModelAdmin): + list_display = ('session_key', 'expire_date', 'session_preview') + search_fields = ('session_key',) + readonly_fields = ('session_key', 'expire_date', 'session_data_decoded') + ordering = ('-expire_date',) + + @admin.display(description='Session data') + def session_preview(self, obj): + data = obj.get_decoded() + preview = str(data) + return preview[:80] + ('…' if len(preview) > 80 else '') + + @admin.display(description='Decoded session') + def session_data_decoded(self, obj): + return obj.get_decoded() diff --git a/backend/server/worldtravel/admin.py b/backend/server/worldtravel/admin.py index f0d74d62..4ae8a31c 100644 --- a/backend/server/worldtravel/admin.py +++ b/backend/server/worldtravel/admin.py @@ -1,5 +1,161 @@ from django.contrib import admin from allauth.account.decorators import secure_admin_login -admin.autodiscover() -admin.site.login = secure_admin_login(admin.site.login) \ No newline at end of file +from main.admin_utils import ( + AdventureLogGeoModelAdmin, + CoordinatesDisplayMixin, + UUID_READONLY, + coordinate_display, +) +from worldtravel.models import City, Country, Region, VisitedCity, VisitedRegion + +admin.site.login = secure_admin_login(admin.site.login) + + +@admin.register(Country) +class CountryAdmin(CoordinatesDisplayMixin, AdventureLogGeoModelAdmin): + list_display = ( + 'name', + 'country_code', + 'subregion', + 'capital', + 'display_coordinates', + 'region_count', + ) + list_filter = ('subregion',) + search_fields = ('name', 'country_code', 'capital', 'subregion') + ordering = ('name',) + readonly_fields = UUID_READONLY + ('display_coordinates_readonly',) + + fieldsets = ( + (None, {'fields': ('name', 'country_code', 'subregion', 'capital')}), + ( + 'Geography', + { + 'fields': ( + 'coordinates', + 'display_coordinates_readonly', + ), + 'description': 'Set the country centroid on the map (longitude = x, latitude = y).', + }, + ), + ) + + @admin.display(description='Regions') + def region_count(self, obj): + return Region.objects.filter(country=obj).count() + + @admin.display(description='Coordinates (lat, lon)') + def display_coordinates_readonly(self, obj): + return coordinate_display(obj.coordinates) + + +@admin.register(Region) +class RegionAdmin(CoordinatesDisplayMixin, AdventureLogGeoModelAdmin): + list_display = ( + 'name', + 'country', + 'display_coordinates', + 'city_count', + 'visit_count', + ) + list_filter = ('country', 'country__subregion') + search_fields = ('name', 'id', 'country__name', 'country__country_code') + autocomplete_fields = ('country',) + ordering = ('country__name', 'name') + readonly_fields = UUID_READONLY + ('display_coordinates_readonly',) + + fieldsets = ( + (None, {'fields': ('id', 'name', 'country')}), + ( + 'Geography', + {'fields': ('coordinates', 'display_coordinates_readonly')}, + ), + ) + + @admin.display(description='Cities') + def city_count(self, obj): + return City.objects.filter(region=obj).count() + + @admin.display(description='Visits') + def visit_count(self, obj): + return VisitedRegion.objects.filter(region=obj).count() + + @admin.display(description='Coordinates (lat, lon)') + def display_coordinates_readonly(self, obj): + return coordinate_display(obj.coordinates) + + +@admin.register(City) +class CityAdmin(CoordinatesDisplayMixin, AdventureLogGeoModelAdmin): + list_display = ( + 'name', + 'region', + 'country_name', + 'display_coordinates', + ) + list_filter = ('region__country', 'region') + search_fields = ('name', 'id', 'region__name', 'region__country__name') + autocomplete_fields = ('region',) + ordering = ('region__country__name', 'region__name', 'name') + readonly_fields = UUID_READONLY + ('display_coordinates_readonly',) + + fieldsets = ( + (None, {'fields': ('id', 'name', 'region')}), + ( + 'Geography', + {'fields': ('coordinates', 'display_coordinates_readonly')}, + ), + ) + + @admin.display(description='Country') + def country_name(self, obj): + return obj.region.country.name if obj.region_id else '—' + + @admin.display(description='Coordinates (lat, lon)') + def display_coordinates_readonly(self, obj): + return coordinate_display(obj.coordinates) + + +@admin.register(VisitedRegion) +class VisitedRegionAdmin(admin.ModelAdmin): + list_display = ('user', 'region', 'country_name', 'display_coordinates') + list_filter = ('region__country', 'user') + search_fields = ( + 'user__username', + 'region__name', + 'region__country__name', + ) + autocomplete_fields = ('user', 'region') + + @admin.display(description='Country') + def country_name(self, obj): + return obj.region.country.name + + @admin.display(description='Region coordinates') + def display_coordinates(self, obj): + return coordinate_display(obj.region.coordinates) + + +@admin.register(VisitedCity) +class VisitedCityAdmin(admin.ModelAdmin): + list_display = ('user', 'city', 'region_name', 'country_name', 'display_coordinates') + list_filter = ('city__region__country', 'user') + search_fields = ( + 'user__username', + 'city__name', + 'city__region__name', + ) + autocomplete_fields = ('user', 'city') + + @admin.display(description='Region') + def region_name(self, obj): + return obj.city.region.name + + @admin.display(description='Country') + def country_name(self, obj): + return obj.city.region.country.name + + @admin.display(description='City coordinates') + def display_coordinates(self, obj): + return coordinate_display(obj.city.coordinates) diff --git a/backend/server/worldtravel/management/commands/download-countries.py b/backend/server/worldtravel/management/commands/download-countries.py index fc5ce614..b63f74f3 100644 --- a/backend/server/worldtravel/management/commands/download-countries.py +++ b/backend/server/worldtravel/management/commands/download-countries.py @@ -12,9 +12,16 @@ from django.core.files.base import ContentFile from django.core.files.storage import default_storage from django.conf import settings +from adventures.utils.geo import make_point COUNTRY_REGION_JSON_VERSION = settings.COUNTRY_REGION_JSON_VERSION + +def coordinates_from_lon_lat(longitude, latitude): + if longitude is None or latitude is None: + return None + return make_point(longitude, latitude) + def saveCountryFlag(country_code): # For standards, use the lowercase country_code country_code = country_code.lower() @@ -220,7 +227,7 @@ class Command(BaseCommand): existing_countries = { c.country_code: c for c in Country.objects.filter(country_code__in=country_codes_in_batch) - .only('country_code', 'name', 'subregion', 'capital', 'longitude', 'latitude') + .only('country_code', 'name', 'subregion', 'capital', 'coordinates') } for row in rows: @@ -232,8 +239,7 @@ class Command(BaseCommand): country_obj.name = name country_obj.subregion = subregion country_obj.capital = capital - country_obj.longitude = longitude - country_obj.latitude = latitude + country_obj.coordinates = coordinates_from_lon_lat(longitude, latitude) countries_to_update.append(country_obj) else: countries_to_create.append(Country( @@ -241,8 +247,7 @@ class Command(BaseCommand): name=name, subregion=subregion, capital=capital, - longitude=longitude, - latitude=latitude + coordinates=coordinates_from_lon_lat(longitude, latitude), )) processed += 1 @@ -257,7 +262,7 @@ class Command(BaseCommand): with transaction.atomic(): Country.objects.bulk_update( countries_to_update, - ['name', 'subregion', 'capital', 'longitude', 'latitude'], + ['name', 'subregion', 'capital', 'coordinates'], batch_size=batch_size ) countries_to_update.clear() @@ -274,7 +279,7 @@ class Command(BaseCommand): with transaction.atomic(): Country.objects.bulk_update( countries_to_update, - ['name', 'subregion', 'capital', 'longitude', 'latitude'], + ['name', 'subregion', 'capital', 'coordinates'], batch_size=batch_size ) @@ -302,7 +307,7 @@ class Command(BaseCommand): r.id: r for r in Region.objects.filter(id__in=region_ids_in_batch) .select_related('country') - .only('id', 'name', 'country', 'longitude', 'latitude') + .only('id', 'name', 'country', 'coordinates') } for row in rows: @@ -317,16 +322,14 @@ class Command(BaseCommand): region_obj = existing_regions[region_id] region_obj.name = name region_obj.country = country_obj - region_obj.longitude = longitude - region_obj.latitude = latitude + region_obj.coordinates = coordinates_from_lon_lat(longitude, latitude) regions_to_update.append(region_obj) else: regions_to_create.append(Region( id=region_id, name=name, country=country_obj, - longitude=longitude, - latitude=latitude + coordinates=coordinates_from_lon_lat(longitude, latitude), )) processed += 1 @@ -341,7 +344,7 @@ class Command(BaseCommand): with transaction.atomic(): Region.objects.bulk_update( regions_to_update, - ['name', 'country', 'longitude', 'latitude'], + ['name', 'country', 'coordinates'], batch_size=batch_size ) regions_to_update.clear() @@ -358,7 +361,7 @@ class Command(BaseCommand): with transaction.atomic(): Region.objects.bulk_update( regions_to_update, - ['name', 'country', 'longitude', 'latitude'], + ['name', 'country', 'coordinates'], batch_size=batch_size ) @@ -395,21 +398,19 @@ class Command(BaseCommand): continue if city_id in existing_city_ids: - # For updates, just store the data - we'll do bulk update by raw SQL - cities_to_update.append({ - 'id': city_id, - 'name': name, - 'region_id': region_obj.id, - 'longitude': longitude, - 'latitude': latitude - }) + city_obj = City( + id=city_id, + name=name, + region=region_obj, + coordinates=coordinates_from_lon_lat(longitude, latitude), + ) + cities_to_update.append(city_obj) else: cities_to_create.append(City( id=city_id, name=name, region=region_obj, - longitude=longitude, - latitude=latitude + coordinates=coordinates_from_lon_lat(longitude, latitude), )) processed += 1 @@ -420,9 +421,13 @@ class Command(BaseCommand): City.objects.bulk_create(cities_to_create, batch_size=batch_size, ignore_conflicts=True) cities_to_create.clear() - # Flush update batch with raw SQL for speed if cities_to_update: - self._bulk_update_cities_raw(cities_to_update) + with transaction.atomic(): + City.objects.bulk_update( + cities_to_update, + ['name', 'region', 'coordinates'], + batch_size=batch_size, + ) cities_to_update.clear() if processed % 5000 == 0: @@ -434,59 +439,15 @@ class Command(BaseCommand): with transaction.atomic(): City.objects.bulk_create(cities_to_create, batch_size=batch_size, ignore_conflicts=True) if cities_to_update: - self._bulk_update_cities_raw(cities_to_update) + with transaction.atomic(): + City.objects.bulk_update( + cities_to_update, + ['name', 'region', 'coordinates'], + batch_size=batch_size, + ) self.stdout.write(f'✓ Cities complete: {processed} processed') - def _bulk_update_cities_raw(self, cities_data): - """Fast bulk update using raw SQL""" - if not cities_data: - return - - from django.db import connection - - with connection.cursor() as cursor: - # Build the SQL for bulk update - # Using CASE statements for efficient bulk updates - when_clauses_name = [] - when_clauses_region = [] - when_clauses_lng = [] - when_clauses_lat = [] - city_ids = [] - - for city in cities_data: - city_id = city['id'] - city_ids.append(city_id) - when_clauses_name.append(f"WHEN id = %s THEN %s") - when_clauses_region.append(f"WHEN id = %s THEN %s") - when_clauses_lng.append(f"WHEN id = %s THEN %s") - when_clauses_lat.append(f"WHEN id = %s THEN %s") - - # Build parameters list - params = [] - for city in cities_data: - params.extend([city['id'], city['name']]) # for name - for city in cities_data: - params.extend([city['id'], city['region_id']]) # for region_id - for city in cities_data: - params.extend([city['id'], city['longitude']]) # for longitude - for city in cities_data: - params.extend([city['id'], city['latitude']]) # for latitude - params.extend(city_ids) # for WHERE clause - - # Execute the bulk update - sql = f""" - UPDATE worldtravel_city - SET - name = CASE {' '.join(when_clauses_name)} END, - region_id = CASE {' '.join(when_clauses_region)} END, - longitude = CASE {' '.join(when_clauses_lng)} END, - latitude = CASE {' '.join(when_clauses_lat)} END - WHERE id IN ({','.join(['%s'] * len(city_ids))}) - """ - - cursor.execute(sql, params) - def _cleanup_obsolete_records(self, temp_conn): """Clean up obsolete records using temporary database""" # Get IDs from temp database to avoid loading large lists into memory diff --git a/backend/server/worldtravel/migrations/0019_pointfield_coordinates.py b/backend/server/worldtravel/migrations/0019_pointfield_coordinates.py new file mode 100644 index 00000000..74695f9a --- /dev/null +++ b/backend/server/worldtravel/migrations/0019_pointfield_coordinates.py @@ -0,0 +1,45 @@ +# Generated manually for PostGIS PointField migration + +from django.contrib.gis.geos import Point +from django.db import migrations +import django.contrib.gis.db.models.fields + + +def forwards_fill_coordinates(apps, schema_editor): + for model_name in ('Country', 'Region', 'City'): + Model = apps.get_model('worldtravel', model_name) + for row in Model.objects.exclude(latitude__isnull=True).exclude(longitude__isnull=True).iterator(): + row.coordinates = Point(float(row.longitude), float(row.latitude), srid=4326) + row.save(update_fields=['coordinates']) + + +class Migration(migrations.Migration): + + dependencies = [ + ('worldtravel', '0018_rename_user_id_visitedcity_user'), + ] + + operations = [ + migrations.AddField( + model_name='country', + name='coordinates', + field=django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326), + ), + migrations.AddField( + model_name='region', + name='coordinates', + field=django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326), + ), + migrations.AddField( + model_name='city', + name='coordinates', + field=django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326), + ), + migrations.RunPython(forwards_fill_coordinates, migrations.RunPython.noop), + migrations.RemoveField(model_name='country', name='latitude'), + migrations.RemoveField(model_name='country', name='longitude'), + migrations.RemoveField(model_name='region', name='latitude'), + migrations.RemoveField(model_name='region', name='longitude'), + migrations.RemoveField(model_name='city', name='latitude'), + migrations.RemoveField(model_name='city', name='longitude'), + ] diff --git a/backend/server/worldtravel/models.py b/backend/server/worldtravel/models.py index e4f69e6d..e7385a14 100644 --- a/backend/server/worldtravel/models.py +++ b/backend/server/worldtravel/models.py @@ -2,12 +2,14 @@ from django.db import models from django.contrib.auth import get_user_model from django.core.exceptions import ValidationError from django.contrib.gis.db import models as gis_models +from adventures.utils.geo import point_to_lat_lon User = get_user_model() default_user = 1 # Replace with an actual user ID + class Country(models.Model): id = models.AutoField(primary_key=True) @@ -15,13 +17,22 @@ class Country(models.Model): country_code = models.CharField(max_length=2, unique=True) #iso2 code subregion = models.CharField(max_length=100, blank=True, null=True) capital = models.CharField(max_length=100, blank=True, null=True) - longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) - latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) + coordinates = gis_models.PointField(srid=4326, null=True, blank=True) class Meta: verbose_name = "Country" verbose_name_plural = "Countries" + @property + def latitude(self): + lat, _ = point_to_lat_lon(self.coordinates) + return lat + + @property + def longitude(self): + _, lon = point_to_lat_lon(self.coordinates) + return lon + def __str__(self): return self.name @@ -29,8 +40,17 @@ class Region(models.Model): id = models.CharField(primary_key=True) name = models.CharField(max_length=100) country = models.ForeignKey(Country, on_delete=models.CASCADE) - longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) - latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) + coordinates = gis_models.PointField(srid=4326, null=True, blank=True) + + @property + def latitude(self): + lat, _ = point_to_lat_lon(self.coordinates) + return lat + + @property + def longitude(self): + _, lon = point_to_lat_lon(self.coordinates) + return lon def __str__(self): return self.name @@ -39,12 +59,21 @@ class City(models.Model): id = models.CharField(primary_key=True) name = models.CharField(max_length=100) region = models.ForeignKey(Region, on_delete=models.CASCADE) - longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) - latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True) + coordinates = gis_models.PointField(srid=4326, null=True, blank=True) class Meta: verbose_name_plural = "Cities" + @property + def latitude(self): + lat, _ = point_to_lat_lon(self.coordinates) + return lat + + @property + def longitude(self): + _, lon = point_to_lat_lon(self.coordinates) + return lon + def __str__(self): return self.name @@ -77,4 +106,4 @@ class VisitedCity(models.Model): super().save(*args, **kwargs) class Meta: - verbose_name_plural = "Visited Cities" \ No newline at end of file + verbose_name_plural = "Visited Cities" diff --git a/backend/server/worldtravel/serializers.py b/backend/server/worldtravel/serializers.py index 8df5d3fd..3c5ccae3 100644 --- a/backend/server/worldtravel/serializers.py +++ b/backend/server/worldtravel/serializers.py @@ -1,9 +1,23 @@ from .models import Country, Region, VisitedRegion, City, VisitedCity from rest_framework import serializers from main.utils import CustomModelSerializer, build_media_url +from adventures.utils.geo import point_to_lat_lon -class CountrySerializer(serializers.ModelSerializer): +class ReadOnlyLatLonMixin: + latitude = serializers.SerializerMethodField() + longitude = serializers.SerializerMethodField() + + def get_latitude(self, obj): + lat, _ = point_to_lat_lon(obj.coordinates) + return lat + + def get_longitude(self, obj): + _, lon = point_to_lat_lon(obj.coordinates) + return lon + + +class CountrySerializer(ReadOnlyLatLonMixin, serializers.ModelSerializer): flag_url = serializers.SerializerMethodField() num_regions = serializers.SerializerMethodField() num_visits = serializers.SerializerMethodField() @@ -27,33 +41,33 @@ class CountrySerializer(serializers.ModelSerializer): class Meta: model = Country - fields = '__all__' + exclude = ['coordinates'] read_only_fields = ['id', 'name', 'country_code', 'subregion', 'flag_url', 'num_regions', 'num_visits', 'longitude', 'latitude', 'capital'] -class RegionSerializer(serializers.ModelSerializer): +class RegionSerializer(ReadOnlyLatLonMixin, serializers.ModelSerializer): num_cities = serializers.SerializerMethodField() country_name = serializers.CharField(source='country.name', read_only=True) class Meta: model = Region - fields = '__all__' + exclude = ['coordinates'] read_only_fields = ['id', 'name', 'country', 'longitude', 'latitude', 'num_cities', 'country_name'] def get_num_cities(self, obj): return City.objects.filter(region=obj).count() -class CitySerializer(serializers.ModelSerializer): +class CitySerializer(ReadOnlyLatLonMixin, serializers.ModelSerializer): region_name = serializers.CharField(source='region.name', read_only=True) country_name = serializers.CharField(source='region.country.name', read_only=True ) class Meta: model = City - fields = '__all__' + exclude = ['coordinates'] read_only_fields = ['id', 'name', 'region', 'longitude', 'latitude', 'region_name', 'country_name'] class VisitedRegionSerializer(CustomModelSerializer): - longitude = serializers.DecimalField(source='region.longitude', max_digits=9, decimal_places=6, read_only=True) - latitude = serializers.DecimalField(source='region.latitude', max_digits=9, decimal_places=6, read_only=True) + longitude = serializers.FloatField(source='region.longitude', read_only=True) + latitude = serializers.FloatField(source='region.latitude', read_only=True) name = serializers.CharField(source='region.name', read_only=True) class Meta: @@ -62,8 +76,8 @@ class VisitedRegionSerializer(CustomModelSerializer): read_only_fields = ['user', 'id', 'longitude', 'latitude', 'name'] class VisitedCitySerializer(CustomModelSerializer): - longitude = serializers.DecimalField(source='city.longitude', max_digits=9, decimal_places=6, read_only=True) - latitude = serializers.DecimalField(source='city.latitude', max_digits=9, decimal_places=6, read_only=True) + longitude = serializers.FloatField(source='city.longitude', read_only=True) + latitude = serializers.FloatField(source='city.latitude', read_only=True) name = serializers.CharField(source='city.name', read_only=True) class Meta: diff --git a/backend/server/worldtravel/views.py b/backend/server/worldtravel/views.py index baa604c7..7f1e4dfd 100644 --- a/backend/server/worldtravel/views.py +++ b/backend/server/worldtravel/views.py @@ -82,9 +82,9 @@ class CountryViewSet(viewsets.ReadOnlyModelViewSet): adventures = Location.objects.filter(user=request.user.id, type='visited') count = 0 for adventure in adventures: - if adventure.latitude is not None and adventure.longitude is not None: + if adventure.coordinates: try: - point = Point(float(adventure.longitude), float(adventure.latitude), srid=4326) + point = adventure.coordinates region = Region.objects.filter(geometry__contains=point).first() if region: if not VisitedRegion.objects.filter(user=request.user.id, region=region).exists(): diff --git a/frontend/src/lib/components/SocialShareModal.svelte b/frontend/src/lib/components/SocialShareModal.svelte new file mode 100644 index 00000000..b5fc7ee0 --- /dev/null +++ b/frontend/src/lib/components/SocialShareModal.svelte @@ -0,0 +1,260 @@ + + +

+ + diff --git a/frontend/src/lib/components/cards/CollectionCard.svelte b/frontend/src/lib/components/cards/CollectionCard.svelte index 66955818..13ec775d 100644 --- a/frontend/src/lib/components/cards/CollectionCard.svelte +++ b/frontend/src/lib/components/cards/CollectionCard.svelte @@ -20,6 +20,7 @@ import TrashCan from '~icons/mdi/trashcan'; import DeleteWarning from '../DeleteWarning.svelte'; import ShareModal from '../ShareModal.svelte'; + import SocialShareModal from '../SocialShareModal.svelte'; import CardCarousel from '../CardCarousel.svelte'; import ExitRun from '~icons/mdi/exit-run'; import Eye from '~icons/mdi/eye'; @@ -27,8 +28,10 @@ import Check from '~icons/mdi/check'; import MapMarker from '~icons/mdi/map-marker-multiple'; import LinkIcon from '~icons/mdi/link'; - import DownloadIcon from '~icons/mdi/download'; - import ContentCopy from '~icons/mdi/content-copy'; +import DownloadIcon from '~icons/mdi/download'; +import FilePdfBox from '~icons/mdi/file-pdf-box'; +import ContentCopy from '~icons/mdi/content-copy'; +import ImageOutline from '~icons/mdi/image-outline'; const dispatch = createEventDispatcher(); @@ -36,6 +39,7 @@ export let linkedCollectionList: string[] | null = null; export let user: User | null; let isShareModalOpen: boolean = false; + let isSocialShareModalOpen: boolean = false; let copied: boolean = false; async function copyLink() { @@ -77,26 +81,50 @@ dispatch('edit', collection); } - async function exportCollectionZip() { + async function downloadCollectionBlob( + url: string, + filename: string, + successKey: string, + failedKey: string + ) { try { - const res = await fetch(`/api/collections/${collection.id}/export`); + const res = await fetch(url); if (!res.ok) { - addToast('error', $t('adventures.export_failed') || 'Export failed'); + addToast('error', $t(failedKey) || 'Export failed'); return; } const blob = await res.blob(); - const url = URL.createObjectURL(blob); + const objectUrl = URL.createObjectURL(blob); const a = document.createElement('a'); - a.href = url; - a.download = `collection-${String(collection.name).replace(/\s+/g, '_')}.zip`; + a.href = objectUrl; + a.download = filename; a.click(); - URL.revokeObjectURL(url); - addToast('success', $t('adventures.export_success') || 'Exported collection'); + URL.revokeObjectURL(objectUrl); + addToast('success', $t(successKey) || 'Exported collection'); } catch (e) { - addToast('error', $t('adventures.export_failed') || 'Export failed'); + addToast('error', $t(failedKey) || 'Export failed'); } } + async function exportCollectionZip() { + await downloadCollectionBlob( + `/api/collections/${collection.id}/export`, + `collection-${String(collection.name).replace(/\s+/g, '_')}.zip`, + 'adventures.export_success', + 'adventures.export_failed' + ); + } + + async function exportCollectionPdf() { + const safeName = String(collection.name).replace(/[^\w\s-]/g, '').replace(/\s+/g, '_') || 'collection'; + await downloadCollectionBlob( + `/api/collections/${collection.id}/export-pdf/`, + `${safeName}_itinerary.pdf`, + 'adventures.export_pdf_success', + 'adventures.export_pdf_failed' + ); + } + async function archiveCollection(is_archived: boolean) { console.log(JSON.stringify({ is_archived: is_archived })); let res = await fetch(`/api/collections/${collection.id}/`, { @@ -176,6 +204,16 @@ (isShareModalOpen = false)} /> {/if} +{#if isSocialShareModalOpen} + (isSocialShareModalOpen = false)} + /> +{/if} +
@@ -360,6 +398,15 @@ {$t('adventures.share')} +
  • + +
  • {#if collection.is_public}
  • {/if} +
  • + +
  • +
  • +
  • + {/if} + {#if itineraryItem && itineraryItem.id}
    {#if !itineraryItem.is_global} diff --git a/frontend/src/lib/shareMeta.server.ts b/frontend/src/lib/shareMeta.server.ts new file mode 100644 index 00000000..ab9f3050 --- /dev/null +++ b/frontend/src/lib/shareMeta.server.ts @@ -0,0 +1,115 @@ +const MARKDOWN_PATTERNS: Array<[RegExp, string]> = [ + [/!\[.*?\]\(.*?\)/g, ''], + [/\[([^\]]+)\]\([^)]+\)/g, '$1'], + [/#{1,6}\s*/g, ''], + [/\*\*([^*]+)\*\*/g, '$1'], + [/\*([^*]+)\*/g, '$1'], + [/`([^`]+)`/g, '$1'], +]; + +export function stripMarkdown(value: string | null | undefined, maxLength = 200): string { + if (!value) return ''; + let text = String(value); + for (const [pattern, replacement] of MARKDOWN_PATTERNS) { + text = text.replace(pattern, replacement); + } + text = text.replace(/\r\n/g, '\n').replace(/\r/g, '\n'); + text = text.replace(/\n{3,}/g, '\n\n').trim(); + if (text.length > maxLength) { + return `${text.slice(0, maxLength - 3)}...`; + } + return text; +} + +export type ShareMeta = { + title: string; + description: string; + imageUrl: string; + pageUrl: string; +}; + +function formatShortDate(value: string | null | undefined): string { + if (!value) return ''; + const date = new Date(value); + if (Number.isNaN(date.getTime())) return ''; + return date.toLocaleDateString('en-US', { month: 'short', year: 'numeric' }); +} + +export function buildCollectionShareMeta( + collection: { + id: string; + name: string; + description?: string | null; + is_public?: boolean; + start_date?: string | null; + end_date?: string | null; + locations?: unknown[] | null; + }, + origin: string +): ShareMeta | null { + if (!collection?.is_public) return null; + + const locCount = collection.locations?.length ?? 0; + let description = stripMarkdown(collection.description); + if (!description) { + const parts: string[] = []; + if (locCount) { + parts.push(`${locCount} location${locCount === 1 ? '' : 's'}`); + } + const start = formatShortDate(collection.start_date); + const end = formatShortDate(collection.end_date); + if (start && end && start !== end) { + parts.push(`${start} – ${end}`); + } else if (start) { + parts.push(start); + } + description = parts.join(' · ') || collection.name; + } + + return { + title: collection.name, + description, + imageUrl: `${origin}/api/collections/${collection.id}/share-image/landscape/`, + pageUrl: `${origin}/collections/${collection.id}`, + }; +} + +export function buildLocationShareMeta( + location: { + id: string; + name: string; + description?: string | null; + is_public?: boolean; + location?: string | null; + rating?: number | null; + tags?: string[] | null; + city?: { name?: string } | null; + region?: { name?: string } | null; + country?: { name?: string } | null; + }, + origin: string +): ShareMeta | null { + if (!location?.is_public) return null; + + let description = stripMarkdown(location.description); + if (!description) { + const parts: string[] = []; + const place = + location.city?.name || + location.region?.name || + location.country?.name || + location.location || + ''; + if (place) parts.push(place); + if (location.rating != null) parts.push(`Rated ${location.rating}`); + if (location.tags?.length) parts.push(location.tags.slice(0, 3).join(', ')); + description = parts.join(' · ') || location.name; + } + + return { + title: location.name, + description, + imageUrl: `${origin}/api/locations/${location.id}/share-image/landscape/`, + pageUrl: `${origin}/locations/${location.id}`, + }; +} diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index c9900dde..be1d92f6 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -490,6 +490,9 @@ "import_failed": "Import Failed", "import_from_file": "Import from file", "export_zip": "Export ZIP", + "export_pdf": "Download PDF", + "export_pdf_success": "Collection PDF downloaded", + "export_pdf_failed": "Failed to download collection PDF", "export_failed": "Export failed", "export_success": "Exported collection", "location_actions": "Location actions", @@ -968,6 +971,24 @@ "invite_failed": "Invite Failed", "invite_sent": "Invite Sent" }, + "social_share": { + "share_externally": "Share Externally", + "modal_desc": "Create a shareable image for social media.", + "aspect_square": "Square", + "aspect_story": "Story", + "aspect_landscape": "Landscape", + "download_image": "Download Image", + "copy_image": "Copy Image", + "copy_image_success": "Image copied to clipboard", + "copy_image_failed": "Failed to copy image", + "share_native": "Share…", + "share_native_failed": "Sharing failed", + "preview_loading": "Generating preview…", + "share_image_failed": "Failed to generate share image", + "download_success": "Share image downloaded", + "private_notice_collection": "This collection is not public. The QR code and link only work for you and people you've shared the collection with.", + "private_notice_location": "This location is not public. The QR code and link only work for you and users with access." + }, "languages": {}, "profile": { "member_since": "Member since", diff --git a/frontend/src/routes/collections/[id]/+page.server.ts b/frontend/src/routes/collections/[id]/+page.server.ts index 02e659ce..1ecce247 100644 --- a/frontend/src/routes/collections/[id]/+page.server.ts +++ b/frontend/src/routes/collections/[id]/+page.server.ts @@ -2,6 +2,7 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; const PUBLIC_SERVER_URL = process.env['PUBLIC_SERVER_URL']; import type { Location, Collection } from '$lib/types'; +import { buildCollectionShareMeta } from '$lib/shareMeta.server'; const endpoint = PUBLIC_SERVER_URL || 'http://localhost:8000'; export const load = (async (event) => { @@ -17,7 +18,8 @@ export const load = (async (event) => { return { props: { adventure: null - } + }, + shareMeta: null }; } else { let collection = (await request.json()) as Collection; @@ -25,7 +27,8 @@ export const load = (async (event) => { return { props: { adventure: collection - } + }, + shareMeta: buildCollectionShareMeta(collection, event.url.origin) }; } }) satisfies PageServerLoad; diff --git a/frontend/src/routes/collections/[id]/+page.svelte b/frontend/src/routes/collections/[id]/+page.svelte index e184a225..58704c2e 100644 --- a/frontend/src/routes/collections/[id]/+page.svelte +++ b/frontend/src/routes/collections/[id]/+page.svelte @@ -31,6 +31,9 @@ import Lightbulb from '~icons/mdi/lightbulb'; import ChartBar from '~icons/mdi/chart-bar'; import Plus from '~icons/mdi/plus'; + import FilePdfBox from '~icons/mdi/file-pdf-box'; + import ImageOutline from '~icons/mdi/image-outline'; + import SocialShareModal from '$lib/components/SocialShareModal.svelte'; import { addToast } from '$lib/toasts'; import NoteModal from '$lib/components/NoteModal.svelte'; import ChecklistModal from '$lib/components/ChecklistModal.svelte'; @@ -255,6 +258,37 @@ // Enforce recommendations visibility only for owner/shared users $: availableViews.recommendations = !!canModifyCollection; + let isExportingPdf = false; + let isSocialShareModalOpen = false; + + async function exportCollectionPdf() { + if (!collection || isExportingPdf) return; + isExportingPdf = true; + try { + const res = await fetch(`/api/collections/${collection.id}/export-pdf/`); + if (!res.ok) { + addToast('error', $t('adventures.export_pdf_failed')); + return; + } + const blob = await res.blob(); + const safeName = + String(collection.name) + .replace(/[^\w\s-]/g, '') + .replace(/\s+/g, '_') || 'collection'; + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = `${safeName}_itinerary.pdf`; + a.click(); + URL.revokeObjectURL(url); + addToast('success', $t('adventures.export_pdf_success')); + } catch { + addToast('error', $t('adventures.export_pdf_failed')); + } finally { + isExportingPdf = false; + } + } + // Build calendar events from collection visits type TimezoneMode = 'event' | 'local'; @@ -816,6 +850,16 @@ /> {/if} +{#if isSocialShareModalOpen && collection} + (isSocialShareModalOpen = false)} + /> +{/if} + {#if isLocationLinkModalOpen && collection}
    -
    +
    {#if availableViews.all}
    +
    + + +
    @@ -1609,5 +1671,18 @@ {collection && collection.name ? `${collection.name}` : 'Collection'} - + {#if data.shareMeta} + + + + + + + + + + + {:else} + + {/if} diff --git a/frontend/src/routes/locations/[id]/+page.server.ts b/frontend/src/routes/locations/[id]/+page.server.ts index 194770bb..2c3dc9bb 100644 --- a/frontend/src/routes/locations/[id]/+page.server.ts +++ b/frontend/src/routes/locations/[id]/+page.server.ts @@ -1,6 +1,7 @@ import type { PageServerLoad } from './$types'; const PUBLIC_SERVER_URL = process.env['PUBLIC_SERVER_URL']; import type { AdditionalLocation, Location, Collection } from '$lib/types'; +import { buildLocationShareMeta } from '$lib/shareMeta.server'; const endpoint = PUBLIC_SERVER_URL || 'http://localhost:8000'; export const load = (async (event) => { @@ -16,7 +17,8 @@ export const load = (async (event) => { return { props: { adventure: null - } + }, + shareMeta: null }; } else { let adventure = (await request.json()) as AdditionalLocation; @@ -24,7 +26,8 @@ export const load = (async (event) => { return { props: { adventure - } + }, + shareMeta: buildLocationShareMeta(adventure, event.url.origin) }; } }) satisfies PageServerLoad; diff --git a/frontend/src/routes/locations/[id]/+page.svelte b/frontend/src/routes/locations/[id]/+page.svelte index 7d6fe6f2..ba37eca7 100644 --- a/frontend/src/routes/locations/[id]/+page.svelte +++ b/frontend/src/routes/locations/[id]/+page.svelte @@ -29,6 +29,8 @@ import ExternalMapLinks from '$lib/components/shared/ExternalMapLinks.svelte'; import MapFloatingControls from '$lib/components/map/MapFloatingControls.svelte'; import MapTrackLayerControls from '$lib/components/map/MapTrackLayerControls.svelte'; + import ImageOutline from '~icons/mdi/image-outline'; + import SocialShareModal from '$lib/components/SocialShareModal.svelte'; const renderMarkdown = (markdown: string) => { return marked(markdown) as string; @@ -57,6 +59,7 @@ let notFound: boolean = false; let isEditModalOpen: boolean = false; + let isSocialShareModalOpen: boolean = false; let adventure_images: { image: string; adventure: AdditionalLocation | null }[] = []; let modalInitialIndex: number = 0; let isImageModalOpen: boolean = false; @@ -210,6 +213,16 @@ /> {/if} +{#if isSocialShareModalOpen && adventure} + (isSocialShareModalOpen = false)} + /> +{/if} + {#if !adventure && !notFound}
    @@ -244,6 +257,18 @@ {$t('adventures.edit_location')} +
  • + +
  • vmX>MS3Tw;H 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 Dm{n8R literal 0 HcmV?d00001 diff --git a/backend/server/adventures/pdf_assets/fonts/NotoSans-Regular.ttf b/backend/server/adventures/pdf_assets/fonts/NotoSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d55220958aa51eeeb85048d746eabe43d2cd9f14 GIT binary patch literal 569208 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.IN%>(p_~|wOn`C-PPH; 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