From 67ce2af066a6675bf4ba1b1fe4d9e26b1d9e8ed5 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Wed, 21 Feb 2024 12:58:40 +0300 Subject: [PATCH 01/31] Added media file settings Added media file settings to settings.py and urls.py. --- settings.py | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++ urls.py | 32 +++++++++++++ 2 files changed, 166 insertions(+) create mode 100644 settings.py create mode 100644 urls.py diff --git a/settings.py b/settings.py new file mode 100644 index 0000000..5c0d8ad --- /dev/null +++ b/settings.py @@ -0,0 +1,134 @@ +""" +Django settings for config project. + +Generated by 'django-admin startproject' using Django 5.0.1. + +For more information on this file, see +https://docs.djangoproject.com/en/5.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/5.0/ref/settings/ +""" + +from pathlib import Path +import os + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-)uwi$ei!p$_26*lkmjlv&&kzali)nq7b1y^ptq20kqxogwng&t' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'petapp', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'config.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + 'django.template.context_processors.media', + ], + }, + }, +] + +WSGI_APPLICATION = 'config.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/5.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': 'Pet_store', + 'USER': 'postgres', + 'PASSWORD': '111', + 'HOST': 'localhost', + 'PORT': 5432, + } +} + + +# Password validation +# https://docs.djangoproject.com/en/5.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/5.0/topics/i18n/ + +LANGUAGE_CODE = 'ru-ru' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/5.0/howto/static-files/ + +STATIC_URL = 'static/' +STATIC_ROOT = os.path.join(BASE_DIR, 'static') +MEDIA_URL = "/media/" +MEDIA_ROOT = os.path.join(BASE_DIR, 'media') +STATICFILELS_DIRS = [] + +# Default primary key field type +# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/urls.py b/urls.py new file mode 100644 index 0000000..cfb222d --- /dev/null +++ b/urls.py @@ -0,0 +1,32 @@ +""" +URL configuration for config project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/5.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path +from config import settings +from petapp import views +from django.conf.urls.static import static + +urlpatterns = [ + path('admin/', admin.site.urls), + path('', views.index, name='home'), + path('catalog/', views.catalog, name='catalog'), + path('contact/', views.contact, name='contact'), + path('about/', views.about, name='about'), + path('auth/', views.auth, name='auth'), + path('reg/', views.reg, name='reg'), + path('basket/', views.basket, name='basket'), +] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) From e2f4eace140558e70c539bda5cf7409d17f91e0c Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Mon, 26 Feb 2024 19:56:47 +0300 Subject: [PATCH 02/31] Added the models and set up the admin. Added models, signals, and admin customization for Customer, Product, Animal_type, Category, Basket, Order, OrderDetail, PurchaseHistory, Rating. Implemented image size validation for product photos. Created admin views for Customer and Product with custom display fields. --- admin.py | 56 +++++++++++++++++ models.py | 181 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 237 insertions(+) create mode 100644 admin.py create mode 100644 models.py diff --git a/admin.py b/admin.py new file mode 100644 index 0000000..9b0ca16 --- /dev/null +++ b/admin.py @@ -0,0 +1,56 @@ +from django.contrib import admin +from .models import Basket, Customer, Product, Animal_type, Category, Order, OrderDetail, PurchaseHistory, Rating, BasketProduct +from django.utils.safestring import mark_safe + + +admin.site.site_header = "Страница администратора" +admin.site.site_title = "Зоомагазин puffball" +admin.site.index_title = "Администрирование сайта" + + +class CustomerAdmin(admin.ModelAdmin): + list_display = ('get_last_name', 'get_first_name', 'phone', 'get_email', 'avatar_show') + + def get_last_name(self, obj): + return obj.user.last_name + get_last_name.short_description = 'Фамилия' + + def get_first_name(self, obj): + return obj.user.first_name + get_first_name.short_description = 'Имя' + + def get_email(self, obj): + return obj.user.email + get_first_name.short_description = 'Электронная почта' + + def avatar_show(self, obj): + if obj.photo_avatar: + return mark_safe("".format(obj.photo_avatar.url)) + return "None" + + avatar_show.__name__ = "Картинка" + + +class ProductAdmin(admin.ModelAdmin): + list_display = ("product_name", "price", "availability", "stock", "image_show") + readonly_fields = ['availability'] + + def image_show(self, obj): + if obj.photo_product: + return mark_safe("".format(obj.photo_product.url)) + return "None" + + image_show.__name__ = "Картинка" + + +admin.site.register(Customer, CustomerAdmin) +admin.site.register(Product, ProductAdmin) +admin.site.register(Animal_type) +admin.site.register(Category) +admin.site.register(Basket) +admin.site.register(BasketProduct) +admin.site.register(Order) +admin.site.register(OrderDetail) +admin.site.register(PurchaseHistory) +admin.site.register(Rating) + diff --git a/models.py b/models.py new file mode 100644 index 0000000..761ce27 --- /dev/null +++ b/models.py @@ -0,0 +1,181 @@ +import uuid +from PIL import Image +from django.db import models +from django.forms import ValidationError +from phonenumber_field.modelfields import PhoneNumberField +from django.core.validators import MaxValueValidator +from decimal import Decimal +from django.core.validators import RegexValidator +from django.contrib.auth.models import User +from django.db.models.signals import post_save +from django.dispatch import receiver + + +def validate_image_size(image): + max_width = 300 + max_height = 400 + img = Image.open(image) + if img.width > max_width or img.height > max_height: + raise ValidationError("Максимальные допустимые размеры изображения - 300x400 пикселей.") + +class Customer(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True, verbose_name = ("Пользователь")) + patronymic = models.CharField(max_length=30, unique=False,verbose_name = ("Отчество"), validators=[RegexValidator(r'^[a-zA-ZА-Яа-яЁё]+$', 'Разрешены только буквы.')]) + phone = PhoneNumberField(unique=True, blank=False, verbose_name = ("Номер телефона")) + address = models.CharField(max_length=255, blank=True, verbose_name = ("Адрес")) + photo_avatar = models.ImageField(upload_to='customer/', blank=True, null=True, verbose_name = ("Фото пользователь")) + + class Meta: + verbose_name = "Клиент" + verbose_name_plural = "Клиенты" + ordering = ['user__date_joined'] + + def __str__(self): + return f"{self.user.last_name} {self.user.first_name}" + +@receiver(post_save, sender=User) +def create_user_profile(sender, instance, created, **kwargs): + if created: + Customer.objects.create(user=instance) + +@receiver(post_save, sender=User) +def save_user_profile(sender, instance, **kwargs): + instance.customer.save() + + +class Animal_type(models.Model): + name = models.CharField(max_length=255, verbose_name = ("Название"), validators=[RegexValidator(r'^[a-zA-ZА-Яа-яЁё]+$', 'Разрешены только буквы.')], unique=True) + + def __str__(self): + return self.name + + class Meta: + verbose_name = "Тип животного" + verbose_name_plural = "Типы животных" + + +class Category(models.Model): + name = models.CharField(max_length=255, unique=True, verbose_name = ("Название")) + + def __str__(self): + return self.name + + class Meta: + verbose_name = "Категория" + verbose_name_plural = "Категории" + + +class Product(models.Model): + product_name = models.CharField(max_length=255, unique=True, verbose_name = ("Название продукта"),) + price = models.PositiveIntegerField(default=0, verbose_name = ("Цена")) + description = models.TextField(verbose_name = ("Описание")) + category = models.ForeignKey(Category, on_delete=models.CASCADE, verbose_name = ("Категория")) + manufacturer = models.CharField(max_length=100, verbose_name = ("Производитель")) + origin_country = models.CharField(max_length=100, verbose_name = ("Страна производитель")) + photo_product = models.ImageField(upload_to='products/', validators=[validate_image_size], verbose_name = ("Фото продукта")) + animal_type = models.ManyToManyField(Animal_type, related_name='products', verbose_name = ("Тип животного")) + weight = models.DecimalField(default=Decimal('0.0'), max_digits=10, decimal_places=2, verbose_name = ("Вес")) + availability = models.BooleanField(verbose_name = ("Наличие")) + stock = models.PositiveIntegerField(default=0, verbose_name = ("Склад")) + + def save(self, *args, **kwargs): + if self.stock > 0: + self.availability = True + else: + self.availability = False + super(Product, self).save(*args, **kwargs) + + def __str__(self): + return f"{self.product_name} - {self.price} р" + + class Meta: + verbose_name = "Продукт" + verbose_name_plural = "Продукты" + ordering = ['-rating'] + + +class Basket(models.Model): + user = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) + created_at = models.DateTimeField(auto_now_add=True, verbose_name = ("Дата создания")) + + def __str__(self): + return f"Корзина: {self.user}" + + class Meta: + verbose_name = ("Корзину") + verbose_name_plural = ("Корзины") + + +class BasketProduct(models.Model): + basket = models.ForeignKey(Basket, on_delete=models.CASCADE, verbose_name = ("Корзина пользователя")) + product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name = ("Продукт")) + quantity = models.PositiveIntegerField(verbose_name = ("Количество")) + + def __str__(self): + return f"{self.basket}: {self.product} - {self.quantity}" + + class Meta: + verbose_name = "Корзина продуктов" + verbose_name_plural = "Корзины продуктов" + + +class Order(models.Model): + customer = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) + order_date = models.DateField(verbose_name = ("Дата заказа")) + shipping_address = models.TextField(verbose_name = ("Адрес доставки")) + + def __str__(self): + return f"Заказ {self.id} от {self.customer}" + + class Meta: + verbose_name = "Заказ" + verbose_name_plural = "Заказы" + ordering = ['-order_date'] + + +class OrderDetail(models.Model): + STATUS_CHOICES = [ + ('created', 'Created'), + ('processing', 'Processing'), + ('paid', 'Paid'), + ('cancelled', 'Cancelled'), + ('error', 'Error'), + ] + + order_number = models.UUIDField(default = uuid.uuid4, verbose_name = ("Номер заказа")) + order = models.OneToOneField(Order, related_name='details', on_delete=models.CASCADE, verbose_name = ("Заказ")) + basket = models.ForeignKey(Basket, on_delete=models.CASCADE, verbose_name = ("Корзина")) + payment_id = models.CharField(max_length=128, blank=True, verbose_name = ("Идентификатор платежа")) + created_at = models.DateTimeField(auto_now_add=True, verbose_name = ("Дата создания")) + updated_at = models.DateTimeField(auto_now=True, verbose_name = ("Обновлённая дата ")) + status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='created', verbose_name = ("Статус")) + + def __str__(self): + return f"Деталь {self.id} из заказа {self.order_id}" + + class Meta: + verbose_name = "Детали заказа" + verbose_name_plural = "Детали заказов" + ordering = ['-order'] + + +class PurchaseHistory(models.Model): + user = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) + order_number = models.ForeignKey(OrderDetail, on_delete=models.CASCADE, verbose_name = ("Номер заказа")) + created_at = models.DateTimeField(auto_now_add=True, verbose_name = ("Дата создания")) + basket = models.ForeignKey(Basket, on_delete=models.CASCADE, verbose_name = ("Корзина")) + + class Meta: + verbose_name = "История покупок" + verbose_name_plural = "История покупки" + + +class Rating(models.Model): + user = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) + purchase_history = models.OneToOneField(PurchaseHistory, on_delete=models.CASCADE, primary_key=True, verbose_name = ("История покупок")) + product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name = ("Продукт")) + rating = models.PositiveSmallIntegerField(validators=[MaxValueValidator(5)], default=0, verbose_name = ("Рейтинг")) + + class Meta: + verbose_name = "Рейтинги" + verbose_name_plural = "Рейтинг" \ No newline at end of file From b02a0ce595966100046c4651f3ec272b7c77ec15 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Wed, 28 Feb 2024 03:29:52 +0300 Subject: [PATCH 03/31] I connected a DB to the catalog, user registration Added form classes createUserForm, RegForm, CombinedForm and views catalog, reg with validation and rendering functions. --- auth.html | 41 +++++++++++++++++++ catalog.html | 50 ++++++++++++++++++++++++ forms.py | 100 +++++++++++++++++++++++++++++++++++++++++++++++ reg.html | 47 ++++++++++++++++++++++ requirements.txt | Bin 164 -> 162 bytes settings.py | 30 +++++++++++--- urls.py | 11 ++++-- views.py | 97 +++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 367 insertions(+), 9 deletions(-) create mode 100644 auth.html create mode 100644 catalog.html create mode 100644 forms.py create mode 100644 reg.html create mode 100644 views.py diff --git a/auth.html b/auth.html new file mode 100644 index 0000000..119b148 --- /dev/null +++ b/auth.html @@ -0,0 +1,41 @@ +{% extends 'base.html' %} +{% load static %} + +{% block head %} + + + +{% endblock %} + +{% block title %}Страница авторизации{% endblock %} + + +{% block content %} + +
+
+
+
+ {% csrf_token %} +

Авторизация

+
{{ form.non_field_errors }}
+ {% for field in form %} +
+

{{ field.errors }}

+ + {{ field }} +
+ {% endfor %} + +

Нет аккаунта? Зарегистрируйтесь!

+
+ +

Выйти

+
+
+ + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/catalog.html b/catalog.html new file mode 100644 index 0000000..dcc72e6 --- /dev/null +++ b/catalog.html @@ -0,0 +1,50 @@ +{% extends 'base.html' %} +{% load static %} + +{% block head %} + + + +{% endblock %} + +{% block title %}Каталог{% endblock %} + + +{% block content %} +
+
+

Каталог

+ {% if message %} +

{{ message }}

+ {% else %} +
+ {% for product in products %} +
+ product +
+

{{ product.price }}₽

+

{{ product.product_name }} / {{ product.category }} для + {% for animal_type in product.animal_type.all %} + {{ animal_type.name }} + {% endfor %} + {{ product.weight }} kg

+
+ rate +

+ {% if product.rating_set.all %} + {% for rating in product.rating_set.all %} + {{ rating.rating }} + {% endfor %} + {% else %} + 0 + {% endif %}

+
+ +
+
+ {% endfor %} +
+ {% endif %} +
+
+{% endblock %} \ No newline at end of file diff --git a/forms.py b/forms.py new file mode 100644 index 0000000..94229a5 --- /dev/null +++ b/forms.py @@ -0,0 +1,100 @@ +from django import forms +from django.contrib.auth.models import User +from django.contrib.auth.forms import AuthenticationForm +from django.contrib.auth import get_user_model +from django.contrib.auth import authenticate +from petapp.models import * + + +class createUserForm(forms.ModelForm): + last_name = forms.CharField(label='Фамилия', widget=forms.TextInput(attrs={'class': 'form-input'})) + first_name = forms.CharField(label='Имя', widget=forms.TextInput(attrs={'class': 'form-input'})) + email = forms.EmailField(label='Электронная почта', widget=forms.EmailInput(attrs={'class': 'form-input'})) + password = forms.CharField(label='Пароль', widget=forms.PasswordInput(attrs={'class': 'form-input'})) + + class Meta: + model = User + fields = ('last_name', 'first_name', 'email', 'password') + + +class RegForm(forms.ModelForm): + patronymic = forms.CharField(label='Отчество', widget=forms.TextInput(attrs={'class': 'form-input'})) + phone = forms.CharField(label='Номер телефона', widget=forms.TextInput(attrs={'class': 'form-input', 'pattern': r'(?:\+?[\d]{1,3}[-\.\s]?)?(?:(?:[\(\[])?[\d]{3}(?:[\)\]]|[\.-])[\d]{3})(?:[\.-][\d]{4}|[\.\s]?$)', 'data-mask': "'+7 (ddd) ddd-dd-dd'"})) + + class Meta: + model = Customer + fields = ('patronymic', 'phone') + + + +class CombinedForm(forms.Form): + def __init__(self, *args, **kwargs): + super(CombinedForm, self).__init__(*args, **kwargs) + self.fields['last_name'] = createUserForm().fields['last_name'] + self.fields['first_name'] = createUserForm().fields['first_name'] + self.fields['patronymic'] = RegForm().fields['patronymic'] + self.fields['phone'] = RegForm().fields['phone'] + self.fields['email'] = createUserForm().fields['email'] + self.fields['password'] = createUserForm().fields['password'] + + def clean_last_name(self): + last_name = self.cleaned_data.get('last_name') + if len(last_name) < 2: + raise forms.ValidationError('Фамилия должна содержать не менее 2 символов.') + return last_name + + def clean_first_name(self): + first_name = self.cleaned_data.get('first_name') + if len(first_name) < 2: + raise forms.ValidationError('Имя должно содержать не менее 2 символов.') + return first_name + + def clean_patronymic(self): + patronymic = self.cleaned_data.get('patronymic') + if len(patronymic) < 2: + raise forms.ValidationError('Отчество должно содержать не менее 2 символов.') + return patronymic + + def clean(self): + cleaned_data = super().clean() + email = cleaned_data.get('email') + phone = cleaned_data.get('phone') + + if Customer.objects.filter(phone=phone).exists(): + self.add_error('phone', 'Пользователь с таким номером телефона уже существует.') + + if User.objects.filter(email=email).exists(): + self.add_error('email', 'Пользователь с такой электронной почтой уже существует.') + + + def clean_password(self): + password = self.cleaned_data.get('password') + if len(password) < 8: + raise forms.ValidationError('Пароль должен состоять не менее чем из 8 символов.') + if not any(char.isupper() for char in password): + raise forms.ValidationError('Пароль должен содержать хотя бы одну заглавную букву.') + if not any(char.isdigit() for char in password): + raise forms.ValidationError('Пароль должен содержать не менее одной цифры.') + return password + + +class LoginUserForm(AuthenticationForm): + email = forms.EmailField(label='Электронная почта', widget=forms.EmailInput(attrs={'class': 'form-input'})) + password = forms.CharField(label='Пароль', widget=forms.PasswordInput(attrs={'class': 'form-input'})) + + class Meta: + model = User + fields = ['email', 'password'] + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + if 'username' in self.fields: + self.fields.pop('username') + self.order_fields(['email', 'password']) + + + + + + + diff --git a/reg.html b/reg.html new file mode 100644 index 0000000..db1357d --- /dev/null +++ b/reg.html @@ -0,0 +1,47 @@ +{% extends 'base.html' %} +{% load static %} + +{% block head %} + + + +{% endblock %} + +{% block title %}Страница регистрации{% endblock %} + + +{% block content %} + +
+
+

Регистрация

+
+
+ {% csrf_token %} +
+ {% for field in form.visible_fields|slice:":3" %} +
+

{{ field.errors }}

+ + {{ field }} +
+ {% endfor %} +
+
+ {% for field in form.visible_fields|slice:"3:" %} +
+

{{ field.errors }}

+ + {{ field }} +
+ {% endfor %} +
+
+ + +
+
+ + + +{% endblock %} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 7ef80710f811ceadd1c2f244b60fff6d8384bddd..1eb63f3079bb87b069a6761c8a599a29b13a9d5c 100644 GIT binary patch delta 107 zcmZ3&xQLPI|G$Y!4hbm?SqzB`c?{_c`3$-Y1q>NLI*%b0h)WrA8IpjkBA|F0Lne@w d!;r!djYCZ_Lo5R?0~bR8P-PAf<};Lo`2cV17J>i( delta 109 zcmZ3)xP(#Z|Gz|rVuo~vOok$cRE9JLTOc%M&|@$MVj~7#1}=t)Ob$-P4229i3s(%t0 diff --git a/settings.py b/settings.py index 5c0d8ad..3c5044c 100644 --- a/settings.py +++ b/settings.py @@ -38,6 +38,7 @@ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'phonenumber_field', 'petapp', ] @@ -64,7 +65,6 @@ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', - 'django.template.context_processors.media', ], }, }, @@ -81,7 +81,7 @@ 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'Pet_store', 'USER': 'postgres', - 'PASSWORD': '111', + 'PASSWORD': '', 'HOST': 'localhost', 'PORT': 5432, } @@ -110,7 +110,7 @@ # Internationalization # https://docs.djangoproject.com/en/5.0/topics/i18n/ -LANGUAGE_CODE = 'ru-ru' +LANGUAGE_CODE = 'ru-RU' TIME_ZONE = 'UTC' @@ -125,10 +125,30 @@ STATIC_URL = 'static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') MEDIA_URL = "/media/" -MEDIA_ROOT = os.path.join(BASE_DIR, 'media') -STATICFILELS_DIRS = [] +MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') +STATICFILES_DIRS = [] # Default primary key field type # https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +LOGIN_REDIRECT_URL = 'home' +LOGOUT_REDIRECT_URL = 'home' + +AUTHENTICATION_BACKENDS = [ + 'petapp.authentication.EmailAuthBackend', + # 'django.contrib.auth.backends.ModelBackend', +] + + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') + +PASSWORD_HASHERS = [ + "django.contrib.auth.hashers.PBKDF2PasswordHasher", + "django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher", + "django.contrib.auth.hashers.Argon2PasswordHasher", + "django.contrib.auth.hashers.BCryptSHA256PasswordHasher", + "django.contrib.auth.hashers.ScryptPasswordHasher", +] + diff --git a/urls.py b/urls.py index cfb222d..6d646c6 100644 --- a/urls.py +++ b/urls.py @@ -15,10 +15,10 @@ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin +from django.conf.urls.static import static +from django.conf import settings from django.urls import path -from config import settings from petapp import views -from django.conf.urls.static import static urlpatterns = [ path('admin/', admin.site.urls), @@ -26,7 +26,10 @@ path('catalog/', views.catalog, name='catalog'), path('contact/', views.contact, name='contact'), path('about/', views.about, name='about'), - path('auth/', views.auth, name='auth'), + path('auth/', views.login, name='auth'), + path('logout/', views.logout_view, name='logout'), path('reg/', views.reg, name='reg'), path('basket/', views.basket, name='basket'), -] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + path('user/', views.user, name='user'), + path('user/edit/', views.user_edit, name='user_edit'), +]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/views.py b/views.py new file mode 100644 index 0000000..0f7dbf9 --- /dev/null +++ b/views.py @@ -0,0 +1,97 @@ +from django.shortcuts import render +from petapp.models import Customer +from petapp.forms import * +from django.db import IntegrityError +from django.shortcuts import render, redirect +from django.contrib.auth.views import LoginView as BaseLoginView +from django.contrib.auth import login, authenticate +from django.contrib.auth import logout +from django.contrib.auth import logout as auth_logout +from django.contrib.auth.hashers import make_password +import random + +# Main navigation pages +def index(request): + return render(request, 'petapp/main.html') + +def catalog(request): + product_name = Product.objects.all() + category = Product.objects.all() + animal_type = Product.objects.all() + rating = Rating.objects.all() + + if not Product.objects.exists(): + message = "Товаров временно нет" + return render(request, 'petapp/catalog.html', {'message': message}) + + return render(request, 'petapp/catalog.html', {'products': product_name, 'category' : category, 'animal_type' : animal_type, 'rating' : rating}) + +def contact(request): + return render(request, 'petapp/contact.html') + +def about(request): + return render(request, 'petapp/about.html') + + +# Auth and Reg pages +def reg(request): + if request.method == 'POST': + auth_form = createUserForm(request.POST) + reg_form = RegForm(request.POST) + form = CombinedForm(request.POST) + + if form.is_valid(): + email = form.cleaned_data.get('email') + phone = form.cleaned_data.get('phone') + + + if not User.objects.filter(email=email).exists() and not Customer.objects.filter(phone=phone).exists(): + if 'last_name' in form.cleaned_data and 'first_name' in form.cleaned_data and 'patronymic' in form.cleaned_data: + if len(form.cleaned_data['last_name']) >= 2 and len(form.cleaned_data['first_name']) >= 2 and len(form.cleaned_data['patronymic']) >= 2: + auth_form.instance.username = f'{random.randrange(10000000)}' + user = auth_form.save() + customer = reg_form.save(commit=False) + customer.user = user + + try: + customer.save() + login(request, user) + return redirect('home') + except IntegrityError: + form.add_error('phone', 'Пользователь с таким номером телефона уже существует.') + else: + form.add_error(None, 'Фамилия, имя и отчество должны содержать не менее 2 символов.') + else: + form.add_error(None, 'Фамилия, имя и отчество являются обязательными полями.') + else: + form.add_error(None, 'Пользователь с такой электронной почтой или номером телефона уже существует.') + + else: + form = CombinedForm() + + return render(request, 'petapp/reg.html', {'form': form}) + + +class LoginView(BaseLoginView): + authentication_form = LoginUserForm + template_name = "petapp/auth.html" + redirect_authenticated_user = True + +def logout_view(request): + logout(request) + return redirect('home') + +# функцию для выхода пользователя из системы + +login = LoginView.as_view() + +# Bakset page +def basket(request): + return render (request, 'petapp/basket.html') + +#User page +def user(request): + return render(request, 'petapp/user.html') + +def user_edit(request): + return render(request, 'petapp/user_edit.html') \ No newline at end of file From e15b16adbb0caa6c23af7699c3507778007771ce Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Fri, 1 Mar 2024 11:45:20 -0800 Subject: [PATCH 04/31] Delete catalog.html --- catalog.html | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 catalog.html diff --git a/catalog.html b/catalog.html deleted file mode 100644 index dcc72e6..0000000 --- a/catalog.html +++ /dev/null @@ -1,50 +0,0 @@ -{% extends 'base.html' %} -{% load static %} - -{% block head %} - - - -{% endblock %} - -{% block title %}Каталог{% endblock %} - - -{% block content %} -
-
-

Каталог

- {% if message %} -

{{ message }}

- {% else %} -
- {% for product in products %} -
- product -
-

{{ product.price }}₽

-

{{ product.product_name }} / {{ product.category }} для - {% for animal_type in product.animal_type.all %} - {{ animal_type.name }} - {% endfor %} - {{ product.weight }} kg

-
- rate -

- {% if product.rating_set.all %} - {% for rating in product.rating_set.all %} - {{ rating.rating }} - {% endfor %} - {% else %} - 0 - {% endif %}

-
- -
-
- {% endfor %} -
- {% endif %} -
-
-{% endblock %} \ No newline at end of file From bdf24030dc8f2fa246b30bd83b831c628614d7e2 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Fri, 1 Mar 2024 11:45:36 -0800 Subject: [PATCH 05/31] Delete reg.html --- reg.html | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 reg.html diff --git a/reg.html b/reg.html deleted file mode 100644 index db1357d..0000000 --- a/reg.html +++ /dev/null @@ -1,47 +0,0 @@ -{% extends 'base.html' %} -{% load static %} - -{% block head %} - - - -{% endblock %} - -{% block title %}Страница регистрации{% endblock %} - - -{% block content %} - -
-
-

Регистрация

-
-
- {% csrf_token %} -
- {% for field in form.visible_fields|slice:":3" %} -
-

{{ field.errors }}

- - {{ field }} -
- {% endfor %} -
-
- {% for field in form.visible_fields|slice:"3:" %} -
-

{{ field.errors }}

- - {{ field }} -
- {% endfor %} -
-
- - -
-
- - - -{% endblock %} \ No newline at end of file From fff7592df8adab241c2690f2f05d9963ead99d07 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Fri, 1 Mar 2024 11:45:46 -0800 Subject: [PATCH 06/31] Delete auth.html --- auth.html | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 auth.html diff --git a/auth.html b/auth.html deleted file mode 100644 index 119b148..0000000 --- a/auth.html +++ /dev/null @@ -1,41 +0,0 @@ -{% extends 'base.html' %} -{% load static %} - -{% block head %} - - - -{% endblock %} - -{% block title %}Страница авторизации{% endblock %} - - -{% block content %} - -
- -
- -{% endblock %} \ No newline at end of file From 5e68f540c52a1ac92bffe8b605de850416ea30c3 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 07:48:26 -0800 Subject: [PATCH 07/31] Delete settings.py --- settings.py | 154 ---------------------------------------------------- 1 file changed, 154 deletions(-) delete mode 100644 settings.py diff --git a/settings.py b/settings.py deleted file mode 100644 index 3c5044c..0000000 --- a/settings.py +++ /dev/null @@ -1,154 +0,0 @@ -""" -Django settings for config project. - -Generated by 'django-admin startproject' using Django 5.0.1. - -For more information on this file, see -https://docs.djangoproject.com/en/5.0/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/5.0/ref/settings/ -""" - -from pathlib import Path -import os - -# Build paths inside the project like this: BASE_DIR / 'subdir'. -BASE_DIR = Path(__file__).resolve().parent.parent - - -# Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'django-insecure-)uwi$ei!p$_26*lkmjlv&&kzali)nq7b1y^ptq20kqxogwng&t' - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True - -ALLOWED_HOSTS = [] - - -# Application definition - -INSTALLED_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - 'phonenumber_field', - 'petapp', -] - -MIDDLEWARE = [ - 'django.middleware.security.SecurityMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', -] - -ROOT_URLCONF = 'config.urls' - -TEMPLATES = [ - { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.debug', - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', - ], - }, - }, -] - -WSGI_APPLICATION = 'config.wsgi.application' - - -# Database -# https://docs.djangoproject.com/en/5.0/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql', - 'NAME': 'Pet_store', - 'USER': 'postgres', - 'PASSWORD': '', - 'HOST': 'localhost', - 'PORT': 5432, - } -} - - -# Password validation -# https://docs.djangoproject.com/en/5.0/ref/settings/#auth-password-validators - -AUTH_PASSWORD_VALIDATORS = [ - { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', - }, -] - - -# Internationalization -# https://docs.djangoproject.com/en/5.0/topics/i18n/ - -LANGUAGE_CODE = 'ru-RU' - -TIME_ZONE = 'UTC' - -USE_I18N = True - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/5.0/howto/static-files/ - -STATIC_URL = 'static/' -STATIC_ROOT = os.path.join(BASE_DIR, 'static') -MEDIA_URL = "/media/" -MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') -STATICFILES_DIRS = [] - -# Default primary key field type -# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field - -DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' - -LOGIN_REDIRECT_URL = 'home' -LOGOUT_REDIRECT_URL = 'home' - -AUTHENTICATION_BACKENDS = [ - 'petapp.authentication.EmailAuthBackend', - # 'django.contrib.auth.backends.ModelBackend', -] - - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') - -PASSWORD_HASHERS = [ - "django.contrib.auth.hashers.PBKDF2PasswordHasher", - "django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher", - "django.contrib.auth.hashers.Argon2PasswordHasher", - "django.contrib.auth.hashers.BCryptSHA256PasswordHasher", - "django.contrib.auth.hashers.ScryptPasswordHasher", -] - From 6ccf5a9e5b5df620626fa9482ebb6ea90b84b2bf Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 07:48:38 -0800 Subject: [PATCH 08/31] Delete admin.py --- admin.py | 56 -------------------------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 admin.py diff --git a/admin.py b/admin.py deleted file mode 100644 index 9b0ca16..0000000 --- a/admin.py +++ /dev/null @@ -1,56 +0,0 @@ -from django.contrib import admin -from .models import Basket, Customer, Product, Animal_type, Category, Order, OrderDetail, PurchaseHistory, Rating, BasketProduct -from django.utils.safestring import mark_safe - - -admin.site.site_header = "Страница администратора" -admin.site.site_title = "Зоомагазин puffball" -admin.site.index_title = "Администрирование сайта" - - -class CustomerAdmin(admin.ModelAdmin): - list_display = ('get_last_name', 'get_first_name', 'phone', 'get_email', 'avatar_show') - - def get_last_name(self, obj): - return obj.user.last_name - get_last_name.short_description = 'Фамилия' - - def get_first_name(self, obj): - return obj.user.first_name - get_first_name.short_description = 'Имя' - - def get_email(self, obj): - return obj.user.email - get_first_name.short_description = 'Электронная почта' - - def avatar_show(self, obj): - if obj.photo_avatar: - return mark_safe("".format(obj.photo_avatar.url)) - return "None" - - avatar_show.__name__ = "Картинка" - - -class ProductAdmin(admin.ModelAdmin): - list_display = ("product_name", "price", "availability", "stock", "image_show") - readonly_fields = ['availability'] - - def image_show(self, obj): - if obj.photo_product: - return mark_safe("".format(obj.photo_product.url)) - return "None" - - image_show.__name__ = "Картинка" - - -admin.site.register(Customer, CustomerAdmin) -admin.site.register(Product, ProductAdmin) -admin.site.register(Animal_type) -admin.site.register(Category) -admin.site.register(Basket) -admin.site.register(BasketProduct) -admin.site.register(Order) -admin.site.register(OrderDetail) -admin.site.register(PurchaseHistory) -admin.site.register(Rating) - From bbfee97db9135c61587c9434bf1435ac5baececf Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 07:48:51 -0800 Subject: [PATCH 09/31] Delete forms.py --- forms.py | 100 ------------------------------------------------------- 1 file changed, 100 deletions(-) delete mode 100644 forms.py diff --git a/forms.py b/forms.py deleted file mode 100644 index 94229a5..0000000 --- a/forms.py +++ /dev/null @@ -1,100 +0,0 @@ -from django import forms -from django.contrib.auth.models import User -from django.contrib.auth.forms import AuthenticationForm -from django.contrib.auth import get_user_model -from django.contrib.auth import authenticate -from petapp.models import * - - -class createUserForm(forms.ModelForm): - last_name = forms.CharField(label='Фамилия', widget=forms.TextInput(attrs={'class': 'form-input'})) - first_name = forms.CharField(label='Имя', widget=forms.TextInput(attrs={'class': 'form-input'})) - email = forms.EmailField(label='Электронная почта', widget=forms.EmailInput(attrs={'class': 'form-input'})) - password = forms.CharField(label='Пароль', widget=forms.PasswordInput(attrs={'class': 'form-input'})) - - class Meta: - model = User - fields = ('last_name', 'first_name', 'email', 'password') - - -class RegForm(forms.ModelForm): - patronymic = forms.CharField(label='Отчество', widget=forms.TextInput(attrs={'class': 'form-input'})) - phone = forms.CharField(label='Номер телефона', widget=forms.TextInput(attrs={'class': 'form-input', 'pattern': r'(?:\+?[\d]{1,3}[-\.\s]?)?(?:(?:[\(\[])?[\d]{3}(?:[\)\]]|[\.-])[\d]{3})(?:[\.-][\d]{4}|[\.\s]?$)', 'data-mask': "'+7 (ddd) ddd-dd-dd'"})) - - class Meta: - model = Customer - fields = ('patronymic', 'phone') - - - -class CombinedForm(forms.Form): - def __init__(self, *args, **kwargs): - super(CombinedForm, self).__init__(*args, **kwargs) - self.fields['last_name'] = createUserForm().fields['last_name'] - self.fields['first_name'] = createUserForm().fields['first_name'] - self.fields['patronymic'] = RegForm().fields['patronymic'] - self.fields['phone'] = RegForm().fields['phone'] - self.fields['email'] = createUserForm().fields['email'] - self.fields['password'] = createUserForm().fields['password'] - - def clean_last_name(self): - last_name = self.cleaned_data.get('last_name') - if len(last_name) < 2: - raise forms.ValidationError('Фамилия должна содержать не менее 2 символов.') - return last_name - - def clean_first_name(self): - first_name = self.cleaned_data.get('first_name') - if len(first_name) < 2: - raise forms.ValidationError('Имя должно содержать не менее 2 символов.') - return first_name - - def clean_patronymic(self): - patronymic = self.cleaned_data.get('patronymic') - if len(patronymic) < 2: - raise forms.ValidationError('Отчество должно содержать не менее 2 символов.') - return patronymic - - def clean(self): - cleaned_data = super().clean() - email = cleaned_data.get('email') - phone = cleaned_data.get('phone') - - if Customer.objects.filter(phone=phone).exists(): - self.add_error('phone', 'Пользователь с таким номером телефона уже существует.') - - if User.objects.filter(email=email).exists(): - self.add_error('email', 'Пользователь с такой электронной почтой уже существует.') - - - def clean_password(self): - password = self.cleaned_data.get('password') - if len(password) < 8: - raise forms.ValidationError('Пароль должен состоять не менее чем из 8 символов.') - if not any(char.isupper() for char in password): - raise forms.ValidationError('Пароль должен содержать хотя бы одну заглавную букву.') - if not any(char.isdigit() for char in password): - raise forms.ValidationError('Пароль должен содержать не менее одной цифры.') - return password - - -class LoginUserForm(AuthenticationForm): - email = forms.EmailField(label='Электронная почта', widget=forms.EmailInput(attrs={'class': 'form-input'})) - password = forms.CharField(label='Пароль', widget=forms.PasswordInput(attrs={'class': 'form-input'})) - - class Meta: - model = User - fields = ['email', 'password'] - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - if 'username' in self.fields: - self.fields.pop('username') - self.order_fields(['email', 'password']) - - - - - - - From 029bc0b982010e33fca105c7e80c8e82e075acea Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 07:49:04 -0800 Subject: [PATCH 10/31] Delete models.py --- models.py | 181 ------------------------------------------------------ 1 file changed, 181 deletions(-) delete mode 100644 models.py diff --git a/models.py b/models.py deleted file mode 100644 index 761ce27..0000000 --- a/models.py +++ /dev/null @@ -1,181 +0,0 @@ -import uuid -from PIL import Image -from django.db import models -from django.forms import ValidationError -from phonenumber_field.modelfields import PhoneNumberField -from django.core.validators import MaxValueValidator -from decimal import Decimal -from django.core.validators import RegexValidator -from django.contrib.auth.models import User -from django.db.models.signals import post_save -from django.dispatch import receiver - - -def validate_image_size(image): - max_width = 300 - max_height = 400 - img = Image.open(image) - if img.width > max_width or img.height > max_height: - raise ValidationError("Максимальные допустимые размеры изображения - 300x400 пикселей.") - -class Customer(models.Model): - user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True, verbose_name = ("Пользователь")) - patronymic = models.CharField(max_length=30, unique=False,verbose_name = ("Отчество"), validators=[RegexValidator(r'^[a-zA-ZА-Яа-яЁё]+$', 'Разрешены только буквы.')]) - phone = PhoneNumberField(unique=True, blank=False, verbose_name = ("Номер телефона")) - address = models.CharField(max_length=255, blank=True, verbose_name = ("Адрес")) - photo_avatar = models.ImageField(upload_to='customer/', blank=True, null=True, verbose_name = ("Фото пользователь")) - - class Meta: - verbose_name = "Клиент" - verbose_name_plural = "Клиенты" - ordering = ['user__date_joined'] - - def __str__(self): - return f"{self.user.last_name} {self.user.first_name}" - -@receiver(post_save, sender=User) -def create_user_profile(sender, instance, created, **kwargs): - if created: - Customer.objects.create(user=instance) - -@receiver(post_save, sender=User) -def save_user_profile(sender, instance, **kwargs): - instance.customer.save() - - -class Animal_type(models.Model): - name = models.CharField(max_length=255, verbose_name = ("Название"), validators=[RegexValidator(r'^[a-zA-ZА-Яа-яЁё]+$', 'Разрешены только буквы.')], unique=True) - - def __str__(self): - return self.name - - class Meta: - verbose_name = "Тип животного" - verbose_name_plural = "Типы животных" - - -class Category(models.Model): - name = models.CharField(max_length=255, unique=True, verbose_name = ("Название")) - - def __str__(self): - return self.name - - class Meta: - verbose_name = "Категория" - verbose_name_plural = "Категории" - - -class Product(models.Model): - product_name = models.CharField(max_length=255, unique=True, verbose_name = ("Название продукта"),) - price = models.PositiveIntegerField(default=0, verbose_name = ("Цена")) - description = models.TextField(verbose_name = ("Описание")) - category = models.ForeignKey(Category, on_delete=models.CASCADE, verbose_name = ("Категория")) - manufacturer = models.CharField(max_length=100, verbose_name = ("Производитель")) - origin_country = models.CharField(max_length=100, verbose_name = ("Страна производитель")) - photo_product = models.ImageField(upload_to='products/', validators=[validate_image_size], verbose_name = ("Фото продукта")) - animal_type = models.ManyToManyField(Animal_type, related_name='products', verbose_name = ("Тип животного")) - weight = models.DecimalField(default=Decimal('0.0'), max_digits=10, decimal_places=2, verbose_name = ("Вес")) - availability = models.BooleanField(verbose_name = ("Наличие")) - stock = models.PositiveIntegerField(default=0, verbose_name = ("Склад")) - - def save(self, *args, **kwargs): - if self.stock > 0: - self.availability = True - else: - self.availability = False - super(Product, self).save(*args, **kwargs) - - def __str__(self): - return f"{self.product_name} - {self.price} р" - - class Meta: - verbose_name = "Продукт" - verbose_name_plural = "Продукты" - ordering = ['-rating'] - - -class Basket(models.Model): - user = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) - created_at = models.DateTimeField(auto_now_add=True, verbose_name = ("Дата создания")) - - def __str__(self): - return f"Корзина: {self.user}" - - class Meta: - verbose_name = ("Корзину") - verbose_name_plural = ("Корзины") - - -class BasketProduct(models.Model): - basket = models.ForeignKey(Basket, on_delete=models.CASCADE, verbose_name = ("Корзина пользователя")) - product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name = ("Продукт")) - quantity = models.PositiveIntegerField(verbose_name = ("Количество")) - - def __str__(self): - return f"{self.basket}: {self.product} - {self.quantity}" - - class Meta: - verbose_name = "Корзина продуктов" - verbose_name_plural = "Корзины продуктов" - - -class Order(models.Model): - customer = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) - order_date = models.DateField(verbose_name = ("Дата заказа")) - shipping_address = models.TextField(verbose_name = ("Адрес доставки")) - - def __str__(self): - return f"Заказ {self.id} от {self.customer}" - - class Meta: - verbose_name = "Заказ" - verbose_name_plural = "Заказы" - ordering = ['-order_date'] - - -class OrderDetail(models.Model): - STATUS_CHOICES = [ - ('created', 'Created'), - ('processing', 'Processing'), - ('paid', 'Paid'), - ('cancelled', 'Cancelled'), - ('error', 'Error'), - ] - - order_number = models.UUIDField(default = uuid.uuid4, verbose_name = ("Номер заказа")) - order = models.OneToOneField(Order, related_name='details', on_delete=models.CASCADE, verbose_name = ("Заказ")) - basket = models.ForeignKey(Basket, on_delete=models.CASCADE, verbose_name = ("Корзина")) - payment_id = models.CharField(max_length=128, blank=True, verbose_name = ("Идентификатор платежа")) - created_at = models.DateTimeField(auto_now_add=True, verbose_name = ("Дата создания")) - updated_at = models.DateTimeField(auto_now=True, verbose_name = ("Обновлённая дата ")) - status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='created', verbose_name = ("Статус")) - - def __str__(self): - return f"Деталь {self.id} из заказа {self.order_id}" - - class Meta: - verbose_name = "Детали заказа" - verbose_name_plural = "Детали заказов" - ordering = ['-order'] - - -class PurchaseHistory(models.Model): - user = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) - order_number = models.ForeignKey(OrderDetail, on_delete=models.CASCADE, verbose_name = ("Номер заказа")) - created_at = models.DateTimeField(auto_now_add=True, verbose_name = ("Дата создания")) - basket = models.ForeignKey(Basket, on_delete=models.CASCADE, verbose_name = ("Корзина")) - - class Meta: - verbose_name = "История покупок" - verbose_name_plural = "История покупки" - - -class Rating(models.Model): - user = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) - purchase_history = models.OneToOneField(PurchaseHistory, on_delete=models.CASCADE, primary_key=True, verbose_name = ("История покупок")) - product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name = ("Продукт")) - rating = models.PositiveSmallIntegerField(validators=[MaxValueValidator(5)], default=0, verbose_name = ("Рейтинг")) - - class Meta: - verbose_name = "Рейтинги" - verbose_name_plural = "Рейтинг" \ No newline at end of file From b19d8cb4b2af4243c3a90a18525b2b9d43d0a9e9 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 07:49:13 -0800 Subject: [PATCH 11/31] Delete urls.py --- urls.py | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 urls.py diff --git a/urls.py b/urls.py deleted file mode 100644 index 6d646c6..0000000 --- a/urls.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -URL configuration for config project. - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/5.0/topics/http/urls/ -Examples: -Function views - 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: path('', views.home, name='home') -Class-based views - 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') -Including another URLconf - 1. Import the include() function: from django.urls import include, path - 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) -""" -from django.contrib import admin -from django.conf.urls.static import static -from django.conf import settings -from django.urls import path -from petapp import views - -urlpatterns = [ - path('admin/', admin.site.urls), - path('', views.index, name='home'), - path('catalog/', views.catalog, name='catalog'), - path('contact/', views.contact, name='contact'), - path('about/', views.about, name='about'), - path('auth/', views.login, name='auth'), - path('logout/', views.logout_view, name='logout'), - path('reg/', views.reg, name='reg'), - path('basket/', views.basket, name='basket'), - path('user/', views.user, name='user'), - path('user/edit/', views.user_edit, name='user_edit'), -]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) From caf7e326d41c51e2363edb32d31b805aed9c5c22 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 07:49:20 -0800 Subject: [PATCH 12/31] Delete views.py --- views.py | 97 -------------------------------------------------------- 1 file changed, 97 deletions(-) delete mode 100644 views.py diff --git a/views.py b/views.py deleted file mode 100644 index 0f7dbf9..0000000 --- a/views.py +++ /dev/null @@ -1,97 +0,0 @@ -from django.shortcuts import render -from petapp.models import Customer -from petapp.forms import * -from django.db import IntegrityError -from django.shortcuts import render, redirect -from django.contrib.auth.views import LoginView as BaseLoginView -from django.contrib.auth import login, authenticate -from django.contrib.auth import logout -from django.contrib.auth import logout as auth_logout -from django.contrib.auth.hashers import make_password -import random - -# Main navigation pages -def index(request): - return render(request, 'petapp/main.html') - -def catalog(request): - product_name = Product.objects.all() - category = Product.objects.all() - animal_type = Product.objects.all() - rating = Rating.objects.all() - - if not Product.objects.exists(): - message = "Товаров временно нет" - return render(request, 'petapp/catalog.html', {'message': message}) - - return render(request, 'petapp/catalog.html', {'products': product_name, 'category' : category, 'animal_type' : animal_type, 'rating' : rating}) - -def contact(request): - return render(request, 'petapp/contact.html') - -def about(request): - return render(request, 'petapp/about.html') - - -# Auth and Reg pages -def reg(request): - if request.method == 'POST': - auth_form = createUserForm(request.POST) - reg_form = RegForm(request.POST) - form = CombinedForm(request.POST) - - if form.is_valid(): - email = form.cleaned_data.get('email') - phone = form.cleaned_data.get('phone') - - - if not User.objects.filter(email=email).exists() and not Customer.objects.filter(phone=phone).exists(): - if 'last_name' in form.cleaned_data and 'first_name' in form.cleaned_data and 'patronymic' in form.cleaned_data: - if len(form.cleaned_data['last_name']) >= 2 and len(form.cleaned_data['first_name']) >= 2 and len(form.cleaned_data['patronymic']) >= 2: - auth_form.instance.username = f'{random.randrange(10000000)}' - user = auth_form.save() - customer = reg_form.save(commit=False) - customer.user = user - - try: - customer.save() - login(request, user) - return redirect('home') - except IntegrityError: - form.add_error('phone', 'Пользователь с таким номером телефона уже существует.') - else: - form.add_error(None, 'Фамилия, имя и отчество должны содержать не менее 2 символов.') - else: - form.add_error(None, 'Фамилия, имя и отчество являются обязательными полями.') - else: - form.add_error(None, 'Пользователь с такой электронной почтой или номером телефона уже существует.') - - else: - form = CombinedForm() - - return render(request, 'petapp/reg.html', {'form': form}) - - -class LoginView(BaseLoginView): - authentication_form = LoginUserForm - template_name = "petapp/auth.html" - redirect_authenticated_user = True - -def logout_view(request): - logout(request) - return redirect('home') - -# функцию для выхода пользователя из системы - -login = LoginView.as_view() - -# Bakset page -def basket(request): - return render (request, 'petapp/basket.html') - -#User page -def user(request): - return render(request, 'petapp/user.html') - -def user_edit(request): - return render(request, 'petapp/user_edit.html') \ No newline at end of file From 22baf2944eea2a1163f951ed4ea5743f6de5aa5b Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 15:32:54 -0800 Subject: [PATCH 13/31] Update settings.py --- config/settings.py | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/config/settings.py b/config/settings.py index 5b82183..3f1790b 100644 --- a/config/settings.py +++ b/config/settings.py @@ -38,6 +38,7 @@ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'phonenumber_field', 'petapp', ] @@ -77,8 +78,12 @@ DATABASES = { 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': 'Pet_store', + 'USER': 'postgres', + 'PASSWORD': '111', + 'HOST': 'localhost', + 'PORT': 5432, } } @@ -105,7 +110,7 @@ # Internationalization # https://docs.djangoproject.com/en/5.0/topics/i18n/ -LANGUAGE_CODE = 'en-us' +LANGUAGE_CODE = 'ru-RU' TIME_ZONE = 'UTC' @@ -119,9 +124,30 @@ STATIC_URL = 'static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') -STATICFILELS_DIRS = [] +MEDIA_URL = "/media/" +MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') +STATICFILES_DIRS = [] # Default primary key field type # https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +LOGIN_REDIRECT_URL = 'home' +LOGOUT_REDIRECT_URL = 'home' +LOGIN_URL = '/auth/' + + +AUTHENTICATION_BACKENDS = [ + 'petapp.authentication.EmailAuthBackend', + # 'django.contrib.auth.backends.ModelBackend', +] + +# PASSWORD_HASHERS = [ +# "django.contrib.auth.hashers.PBKDF2PasswordHasher", +# "django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher", +# "django.contrib.auth.hashers.Argon2PasswordHasher", +# "django.contrib.auth.hashers.BCryptSHA256PasswordHasher", +# "django.contrib.auth.hashers.ScryptPasswordHasher", +# ] + From be4e7adefd8fcd173b3d0772f87faf10e12b37f2 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 15:33:14 -0800 Subject: [PATCH 14/31] Update urls.py --- config/urls.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/config/urls.py b/config/urls.py index d5902f7..7c258d1 100644 --- a/config/urls.py +++ b/config/urls.py @@ -15,6 +15,8 @@ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin +from django.conf.urls.static import static +from django.conf import settings from django.urls import path from petapp import views @@ -24,4 +26,10 @@ path('catalog/', views.catalog, name='catalog'), path('contact/', views.contact, name='contact'), path('about/', views.about, name='about'), -] + path('auth/', views.email_login, name='auth'), + path('logout/', views.logout_view, name='logout'), + path('reg/', views.reg, name='reg'), + path('basket/', views.basket, name='basket'), + path('user/', views.user, name='user'), + path('user/edit/', views.user_edit, name='user_edit'), +]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) From 71b6a7bd457ae62bf37f9379b2ebcb1c7c4edd34 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 15:33:41 -0800 Subject: [PATCH 15/31] Update models.py --- petapp/models.py | 217 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 186 insertions(+), 31 deletions(-) diff --git a/petapp/models.py b/petapp/models.py index 42d45b8..9e54dd6 100644 --- a/petapp/models.py +++ b/petapp/models.py @@ -1,44 +1,199 @@ +import uuid +from PIL import Image from django.db import models +from django.forms import ValidationError +from phonenumber_field.modelfields import PhoneNumberField +from django.core.validators import MaxValueValidator +from decimal import Decimal +from django.core.validators import RegexValidator +from django.contrib.auth.models import User +from django.db.models.signals import post_save +from django.dispatch import receiver +from PIL import Image, ImageDraw, ImageFont -class Client(models.Model): - last_name = models.CharField(max_length=100) - first_name = models.CharField(max_length=100) - patronymic = models.CharField(max_length=100) - phone = models.CharField(max_length=20) - email = models.EmailField() - address = models.CharField(max_length=255) - registration_date = models.DateField() - photo_avatar = models.BinaryField() + +def validate_image_size(image): + max_width = 300 + max_height = 400 + img = Image.open(image) + if img.width > max_width or img.height > max_height: + raise ValidationError("Максимальные допустимые размеры изображения - 300x400 пикселей.") + +class Customer(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True, verbose_name = ("Пользователь")) + patronymic = models.CharField(max_length=30, unique=False,verbose_name = ("Отчество"), validators=[RegexValidator(r'^[a-zA-ZА-Яа-яЁё]+$', 'Разрешены только буквы.')]) + phone = PhoneNumberField(unique=True, blank=False, verbose_name = ("Номер телефона")) + address = models.CharField(max_length=255, blank=True, verbose_name = ("Адрес")) + photo_avatar = models.ImageField(upload_to='customer/', blank=True, null=True, verbose_name = ("Фото пользователь")) + + class Meta: + verbose_name = "Клиент" + verbose_name_plural = "Клиенты" + ordering = ['user__date_joined'] + + + def save(self, *args, **kwargs): + if not self.photo_avatar: + initials = ''.join([name[0] for name in [self.user.last_name, self.user.first_name]]).upper() + size = (110, 110) + + image = Image.new('RGB', size, '#F0F0F0') + draw = ImageDraw.Draw(image) + font = ImageFont.truetype("petapp\\static\\petapp\\GLOBAL\\fonts\\Gravity-Regular.ttf", 36) + + draw.text((36, 36), initials, fill='#949494', font=font) + image.save(f'media/customer/{self.user.username}_avatar.jpg') + + self.photo_avatar.name = f'customer/{self.user.username}_avatar.jpg' + + super(Customer, self).save(*args, **kwargs) def __str__(self): - return f"{self.last_name}, {self.first_name}" + return f"{self.user.last_name} {self.user.first_name}" +@receiver(post_save, sender=User) +def create_user_profile(sender, instance, created, **kwargs): + if created: + Customer.objects.create(user=instance) + +@receiver(post_save, sender=User) +def save_user_profile(sender, instance, **kwargs): + instance.customer.save() -class Product(models.Model): - name = models.CharField(max_length=255) - price = models.DecimalField(max_digits=10, decimal_places=2) - description = models.TextField() - category = models.CharField(max_length=100) - manufacturer = models.CharField(max_length=100) - origin_country = models.CharField(max_length=100) - photo_product = models.BinaryField() - animal_type = models.CharField(max_length=100) - weight = models.FloatField() - rating = models.IntegerField() + +class Animal_type(models.Model): + name = models.CharField(max_length=255, verbose_name = ("Название"), validators=[RegexValidator(r'^[a-zA-ZА-Яа-яЁё]+$', 'Разрешены только буквы.')], unique=True) def __str__(self): return self.name + class Meta: + verbose_name = "Тип животного" + verbose_name_plural = "Типы животных" + + +class Category(models.Model): + name = models.CharField(max_length=255, unique=True, verbose_name = ("Название")) + + def __str__(self): + return self.name + + class Meta: + verbose_name = "Категория" + verbose_name_plural = "Категории" + + +class Product(models.Model): + product_name = models.CharField(max_length=255, unique=True, verbose_name = ("Название продукта"),) + price = models.PositiveIntegerField(default=0, verbose_name = ("Цена")) + description = models.TextField(verbose_name = ("Описание")) + category = models.ForeignKey(Category, on_delete=models.CASCADE, verbose_name = ("Категория")) + manufacturer = models.CharField(max_length=100, verbose_name = ("Производитель")) + origin_country = models.CharField(max_length=100, verbose_name = ("Страна производитель")) + photo_product = models.ImageField(upload_to='products/', validators=[validate_image_size], verbose_name = ("Фото продукта")) + animal_type = models.ManyToManyField(Animal_type, related_name='products', verbose_name = ("Тип животного")) + weight = models.DecimalField(default=Decimal('0.0'), max_digits=10, decimal_places=2, verbose_name = ("Вес")) + availability = models.BooleanField(verbose_name = ("Наличие")) + stock = models.PositiveIntegerField(default=0, verbose_name = ("Склад")) + + def save(self, *args, **kwargs): + if self.stock > 0: + self.availability = True + else: + self.availability = False + super(Product, self).save(*args, **kwargs) + + def __str__(self): + return f"{self.product_name} - {self.price} р" + + class Meta: + verbose_name = "Продукт" + verbose_name_plural = "Продукты" + ordering = ['-rating'] + + +class Basket(models.Model): + user = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) + created_at = models.DateTimeField(auto_now_add=True, verbose_name = ("Дата создания")) + + def __str__(self): + return f"Корзина: {self.user}" + + class Meta: + verbose_name = ("Корзину") + verbose_name_plural = ("Корзины") + + +class BasketProduct(models.Model): + basket = models.ForeignKey(Basket, on_delete=models.CASCADE, verbose_name = ("Корзина пользователя")) + product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name = ("Продукт")) + quantity = models.PositiveIntegerField(verbose_name = ("Количество")) + + def __str__(self): + return f"{self.basket}: {self.product} - {self.quantity}" + + class Meta: + verbose_name = "Корзина продуктов" + verbose_name_plural = "Корзины продуктов" + + +class Order(models.Model): + customer = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) + order_date = models.DateField(verbose_name = ("Дата заказа")) + shipping_address = models.TextField(verbose_name = ("Адрес доставки")) + + def __str__(self): + return f"Заказ {self.id} от {self.customer}" + + class Meta: + verbose_name = "Заказ" + verbose_name_plural = "Заказы" + ordering = ['-order_date'] + + +class OrderDetail(models.Model): + STATUS_CHOICES = [ + ('created', 'Created'), + ('processing', 'Processing'), + ('paid', 'Paid'), + ('cancelled', 'Cancelled'), + ('error', 'Error'), + ] + + order_number = models.UUIDField(default = uuid.uuid4, verbose_name = ("Номер заказа")) + order = models.OneToOneField(Order, related_name='details', on_delete=models.CASCADE, verbose_name = ("Заказ")) + basket = models.ForeignKey(Basket, on_delete=models.CASCADE, verbose_name = ("Корзина")) + payment_id = models.CharField(max_length=128, blank=True, verbose_name = ("Идентификатор платежа")) + created_at = models.DateTimeField(auto_now_add=True, verbose_name = ("Дата создания")) + updated_at = models.DateTimeField(auto_now=True, verbose_name = ("Обновлённая дата ")) + status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='created', verbose_name = ("Статус")) + + def __str__(self): + return f"Деталь {self.id} из заказа {self.order_id}" + + class Meta: + verbose_name = "Детали заказа" + verbose_name_plural = "Детали заказов" + ordering = ['-order'] + + +class PurchaseHistory(models.Model): + user = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) + order_number = models.ForeignKey(OrderDetail, on_delete=models.CASCADE, verbose_name = ("Номер заказа")) + created_at = models.DateTimeField(auto_now_add=True, verbose_name = ("Дата создания")) + basket = models.ForeignKey(Basket, on_delete=models.CASCADE, verbose_name = ("Корзина")) + + class Meta: + verbose_name = "История покупок" + verbose_name_plural = "История покупки" -class Sale(models.Model): - product = models.ForeignKey(Product, on_delete=models.CASCADE) - client = models.ForeignKey(Client, on_delete=models.CASCADE) - sale_date = models.DateField() - quantity = models.IntegerField() - amount = models.DecimalField(max_digits=10, decimal_places=2) +class Rating(models.Model): + user = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name = ("Пользователь")) + purchase_history = models.OneToOneField(PurchaseHistory, on_delete=models.CASCADE, primary_key=True, verbose_name = ("История покупок")) + product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name = ("Продукт")) + rating = models.PositiveSmallIntegerField(validators=[MaxValueValidator(5)], default=0, verbose_name = ("Рейтинг")) -class Warehouse(models.Model): - product = models.OneToOneField(Product, on_delete=models.CASCADE) - availability = models.BooleanField() - quantity = models.IntegerField() \ No newline at end of file + class Meta: + verbose_name = "Рейтинги" + verbose_name_plural = "Рейтинг" From a51026a86935ced0e442032d5e32d2f5e6794374 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Sun, 3 Mar 2024 15:33:58 -0800 Subject: [PATCH 16/31] Update views.py --- petapp/views.py | 205 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 187 insertions(+), 18 deletions(-) diff --git a/petapp/views.py b/petapp/views.py index 864508f..71247e1 100644 --- a/petapp/views.py +++ b/petapp/views.py @@ -1,27 +1,196 @@ +import os +import random from django.shortcuts import render +from petapp.models import Customer +from petapp.forms import * +from django.db import IntegrityError +from django.shortcuts import render, redirect +from django.contrib.auth.views import LoginView as BaseLoginView +from django.contrib.auth import login +from django.contrib.auth import logout +from django.contrib.auth.models import User +from django.contrib.auth.decorators import login_required +from django.contrib import messages +from .authentication import EmailAuthBackend +from django.core.files.images import get_image_dimensions +from django.core.files.base import ContentFile +from django.core.files.images import ImageFile -# Create your views here. -def index(request): - context = { - "home_page": "active-under" if request.resolver_match.url_name == "home" else "" - } - return render(request, 'petapp/main.html', context) +# Main navigation pages +def index(request): + return render(request, 'petapp/main.html') def catalog(request): - context = { - "catalog_page": "active-under" if request.resolver_match.url_name == "catalog" else "" - } - return render(request, 'petapp/catalog.html', context) + product_name = Product.objects.all() + category = Product.objects.all() + animal_type = Product.objects.all() + rating = Rating.objects.all() + + if not Product.objects.exists(): + message = "Товаров временно нет" + return render(request, 'petapp/catalog.html', {'message': message}) + + return render(request, 'petapp/catalog.html', {'products': product_name, 'category' : category, 'animal_type' : animal_type, 'rating' : rating}) def contact(request): - context = { - "contact_page": "active-under" if request.resolver_match.url_name == "contact" else "" - } - return render(request, 'petapp/contact.html', context) + return render(request, 'petapp/contact.html') def about(request): - context = { - "about_page": "active-under" if request.resolver_match.url_name == "about" else "" - } - return render(request, 'petapp/about.html', context) + return render(request, 'petapp/about.html') + + +# Auth and Reg pages +def reg(request): + if request.method == 'POST': + auth_form = createUserForm(request.POST) + reg_form = RegForm(request.POST) + form = CombinedRegForm(request.POST) + + if form.is_valid(): + email = form.cleaned_data.get('email') + password = form.cleaned_data.get('password') + phone = form.cleaned_data.get('phone') + + + if not User.objects.filter(email=email).exists() and not Customer.objects.filter(phone=phone).exists(): + if 'last_name' in form.cleaned_data and 'first_name' in form.cleaned_data and 'patronymic' in form.cleaned_data: + if len(form.cleaned_data['last_name']) >= 2 and len(form.cleaned_data['first_name']) >= 2 and len(form.cleaned_data['patronymic']) >= 2: + auth_form.instance.username = f'{random.randrange(10000000)}' + user = auth_form.save() + user.set_password(user.password) + user = auth_form.save() + customer = reg_form.save(commit=False) + customer.user = user + + try: + customer.save() + user = EmailAuthBackend().authenticate(request=request, email=email, password=password) + if user is not None: + login(request, user) + return redirect('home') + + except IntegrityError: + form.add_error('phone', 'Пользователь с таким номером телефона уже существует.') + else: + form.add_error(None, 'Фамилия, имя и отчество должны содержать не менее 2 символов.') + else: + form.add_error(None, 'Фамилия, имя и отчество являются обязательными полями.') + else: + form.add_error(None, 'Пользователь с такой электронной почтой или номером телефона уже существует.') + + else: + form = CombinedRegForm() + + return render(request, 'petapp/reg.html', {'form': form}) + + +def email_login(request): + if request.user.is_authenticated: + return redirect('user') + + if request.method == 'POST': + form = EmailLoginForm(request.POST) + if form.is_valid(): + email = form.cleaned_data['email'] + password = form.cleaned_data['password'] + user = EmailAuthBackend().authenticate(request=request, email=email, password=password) + if user is not None: + login(request, user) + return redirect('home') + else: + form.add_error(None, "Ошибка аутентификации") + else: + form = EmailLoginForm() + return render(request, 'petapp/auth.html', {'form': form}) + +@login_required +def logout_view(request): + logout(request) + return redirect('home') + + +# Bakset page +def basket(request): + return render (request, 'petapp/basket.html') + +#User page +def user(request): + if request.user.is_authenticated: + customer = Customer.objects.get(user=request.user) + user = customer.user + return render(request, 'petapp/user.html', {'user': user, 'customer': customer}) + +def user_edit(request): + if request.user.is_authenticated: + customer = Customer.objects.get(user=request.user) + user = customer.user + + if request.method == 'POST': + user.last_name = request.POST.get('surname') + user.first_name = request.POST.get('name') + user.email = request.POST.get('email') + + if User.objects.filter(email=user.email).exclude(pk=user.pk).exists(): + messages.error(request, "Пользователь с такой электронной почтой или номером телефона уже существует.") + return render(request, 'petapp/user_edit.html', {'user': user, 'customer': customer}) + + if Customer.objects.filter(phone=customer.phone).exclude(pk=customer.pk).exists(): + messages.error(request, "Phone number must be unique.") + return render(request, 'petapp/user_edit.html', {'user': user, 'customer': customer}) + + name_validator = RegexValidator(regex=r'^[a-zA-Zа-яА-Я]{2,}$', message="ФИО должно содержать только русские или английские буквы и быть длиной не менее 2 символов.") + + try: + name_validator(user.last_name) + except ValidationError as e: + messages.error(request, e.message) + + try: + name_validator(user.first_name) + except ValidationError as e: + messages.error(request, e.message) + + # Validate patronymic if not empty + patronymic = request.POST.get('patronymic') + if patronymic: + try: + name_validator(patronymic) + customer.patronymic = patronymic + except ValidationError as e: + messages.error(request, e.message) + + phone = request.POST.get('phone') + if phone: + if Customer.objects.filter(phone=phone).exclude(pk=customer.pk).exists(): + messages.error(request, "Пользователь с таким номером телефона уже существует.") + return render(request, 'petapp/user_edit.html', {'user': user, 'customer': customer}) + customer.phone = phone + + address = request.POST.get('address') + if address: + customer.address = address + + if 'photo_avatar' in request.FILES: + photo_avatar = request.FILES['photo_avatar'] + + upload_path = customer.photo_avatar.field.upload_to + file_name = photo_avatar.name + file_path = os.path.join(upload_path, file_name) + + with Image.open(photo_avatar) as image: + image.save(file_path, 'JPEG') + image.save(file_path.replace('.jpg', '.png'), 'PNG') + + if customer.photo_avatar: + customer.photo_avatar.delete() + + customer.photo_avatar.save(photo_avatar.name, ContentFile(photo_avatar.read())) + customer.save() + + if not messages.get_messages(request): + user.save() + customer.save() + return redirect('user') + + return render(request, 'petapp/user_edit.html', {'user': user, 'customer': customer}) From 75ffd406aeb5b0070996c1f2c4655269acc82b90 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Mon, 4 Mar 2024 02:36:39 +0300 Subject: [PATCH 17/31] add --- petapp/templates/petapp/auth.html | 38 ++++ petapp/templates/petapp/catalog.html | 272 ++++--------------------- petapp/templates/petapp/reg.html | 47 +++++ petapp/templates/petapp/user.html | 57 ++++++ petapp/templates/petapp/user_edit.html | 74 +++++++ 5 files changed, 259 insertions(+), 229 deletions(-) create mode 100644 petapp/templates/petapp/auth.html create mode 100644 petapp/templates/petapp/reg.html create mode 100644 petapp/templates/petapp/user.html create mode 100644 petapp/templates/petapp/user_edit.html diff --git a/petapp/templates/petapp/auth.html b/petapp/templates/petapp/auth.html new file mode 100644 index 0000000..82fbbab --- /dev/null +++ b/petapp/templates/petapp/auth.html @@ -0,0 +1,38 @@ +{% extends 'base.html' %} +{% load static %} + +{% block head %} + + + +{% endblock %} + +{% block title %}Страница авторизации{% endblock %} + + +{% block content %} + +
+ +
+ +{% endblock %} \ No newline at end of file diff --git a/petapp/templates/petapp/catalog.html b/petapp/templates/petapp/catalog.html index 8218e19..dcc72e6 100644 --- a/petapp/templates/petapp/catalog.html +++ b/petapp/templates/petapp/catalog.html @@ -1,236 +1,50 @@ +{% extends 'base.html' %} {% load static %} - - - - - - - - - Каталог +{% block head %} - + - -
- -
+{% endblock %} + +{% block title %}Каталог{% endblock %} + + +{% block content %} +

Каталог

-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
+ {% if message %} +

{{ message }}

+ {% else %} +
+ {% for product in products %} +
+ product +
+

{{ product.price }}₽

+

{{ product.product_name }} / {{ product.category }} для + {% for animal_type in product.animal_type.all %} + {{ animal_type.name }} + {% endfor %} + {{ product.weight }} kg

+
+ rate +

+ {% if product.rating_set.all %} + {% for rating in product.rating_set.all %} + {{ rating.rating }} + {% endfor %} + {% else %} + 0 + {% endif %}

+
+ +
+
+ {% endfor %} +
+ {% endif %}
-
- - - paw - - - paw - - - paw - - - - - - \ No newline at end of file + +{% endblock %} \ No newline at end of file diff --git a/petapp/templates/petapp/reg.html b/petapp/templates/petapp/reg.html new file mode 100644 index 0000000..db1357d --- /dev/null +++ b/petapp/templates/petapp/reg.html @@ -0,0 +1,47 @@ +{% extends 'base.html' %} +{% load static %} + +{% block head %} + + + +{% endblock %} + +{% block title %}Страница регистрации{% endblock %} + + +{% block content %} + +
+
+

Регистрация

+
+
+ {% csrf_token %} +
+ {% for field in form.visible_fields|slice:":3" %} +
+

{{ field.errors }}

+ + {{ field }} +
+ {% endfor %} +
+
+ {% for field in form.visible_fields|slice:"3:" %} +
+

{{ field.errors }}

+ + {{ field }} +
+ {% endfor %} +
+
+ + +
+
+ + + +{% endblock %} \ No newline at end of file diff --git a/petapp/templates/petapp/user.html b/petapp/templates/petapp/user.html new file mode 100644 index 0000000..ecefad8 --- /dev/null +++ b/petapp/templates/petapp/user.html @@ -0,0 +1,57 @@ +{% extends 'base.html' %} +{% load static %} + +{% block head %} + + + +{% endblock %} + +{% block title %}Страница пользователя{% endblock %}ы + + +{% block content %} + +
+ + + + +
+

Моя корзина

+
+

4 заказа

+

15.866 ₽

+
+ + + +
+ + +
+

Мои доставки

+
+

4 заказа

+
+ + + + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/petapp/templates/petapp/user_edit.html b/petapp/templates/petapp/user_edit.html new file mode 100644 index 0000000..3b3053a --- /dev/null +++ b/petapp/templates/petapp/user_edit.html @@ -0,0 +1,74 @@ +{% extends 'base.html' %} +{% load static %} + +{% block head %} + + + + + +{% endblock %} + +{% block title %}Страница регистрации{% endblock %} + + +{% block content %} + +
+
+
+
+ {% csrf_token %} +
+ + +
+ {% if messages %} +
+ {% for message in messages %} +

{{ message }}

+ {% endfor %} +
+ {% endif %} +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+
+
+
+ + +{% endblock %} \ No newline at end of file From 17d21ac4b95e2567dd39746a89ddd12991d32f86 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Mon, 4 Mar 2024 02:37:48 +0300 Subject: [PATCH 18/31] add --- petapp/authentication.py | 15 ++++++ petapp/forms.py | 100 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 petapp/authentication.py create mode 100644 petapp/forms.py diff --git a/petapp/authentication.py b/petapp/authentication.py new file mode 100644 index 0000000..3978296 --- /dev/null +++ b/petapp/authentication.py @@ -0,0 +1,15 @@ +from django.contrib.auth.backends import ModelBackend +from django.contrib.auth.models import User +from django.contrib.auth import get_user_model + + +User = get_user_model() + +class EmailAuthBackend(ModelBackend): + def authenticate(self, request, email=None, password=None, **kwargs): + try: + user = User.objects.get(email=email) # Используйте email вместо username + if user.check_password(password): + return user + except User.DoesNotExist: + return None diff --git a/petapp/forms.py b/petapp/forms.py new file mode 100644 index 0000000..9fd1c68 --- /dev/null +++ b/petapp/forms.py @@ -0,0 +1,100 @@ +from django import forms +from django.contrib.auth.models import User +from django.contrib.auth.forms import AuthenticationForm +from django.contrib.auth import get_user_model +from django.contrib.auth import authenticate +from petapp.authentication import EmailAuthBackend +from petapp.models import * + + +class createUserForm(forms.ModelForm): + last_name = forms.CharField(label='Фамилия', widget=forms.TextInput(attrs={'class': 'form-input'})) + first_name = forms.CharField(label='Имя', widget=forms.TextInput(attrs={'class': 'form-input'})) + email = forms.EmailField(label='Электронная почта', widget=forms.EmailInput(attrs={'class': 'form-input'})) + password = forms.CharField(label='Пароль', widget=forms.PasswordInput(attrs={'class': 'form-input'})) + + class Meta: + model = User + fields = ('last_name', 'first_name', 'email', 'password') + + +class RegForm(forms.ModelForm): + patronymic = forms.CharField(label='Отчество', widget=forms.TextInput(attrs={'class': 'form-input'})) + phone = forms.CharField(label='Номер телефона', widget=forms.TextInput(attrs={'class': 'form-input', 'pattern': r'(?:\+?[\d]{1,3}[-\.\s]?)?(?:(?:[\(\[])?[\d]{3}(?:[\)\]]|[\.-])[\d]{3})(?:[\.-][\d]{4}|[\.\s]?$)', 'data-mask': "'+7 (ddd) ddd-dd-dd'"})) + + class Meta: + model = Customer + fields = ('patronymic', 'phone') + + + +class CombinedRegForm(forms.Form): + def __init__(self, *args, **kwargs): + super(CombinedRegForm, self).__init__(*args, **kwargs) + self.fields['last_name'] = createUserForm().fields['last_name'] + self.fields['first_name'] = createUserForm().fields['first_name'] + self.fields['patronymic'] = RegForm().fields['patronymic'] + self.fields['phone'] = RegForm().fields['phone'] + self.fields['email'] = createUserForm().fields['email'] + self.fields['password'] = createUserForm().fields['password'] + + def clean_last_name(self): + last_name = self.cleaned_data.get('last_name') + if len(last_name) < 2: + raise forms.ValidationError('Фамилия должна содержать не менее 2 символов.') + return last_name + + def clean_first_name(self): + first_name = self.cleaned_data.get('first_name') + if len(first_name) < 2: + raise forms.ValidationError('Имя должно содержать не менее 2 символов.') + return first_name + + def clean_patronymic(self): + patronymic = self.cleaned_data.get('patronymic') + if len(patronymic) < 2: + raise forms.ValidationError('Отчество должно содержать не менее 2 символов.') + return patronymic + + def clean(self): + cleaned_data = super().clean() + email = cleaned_data.get('email') + phone = cleaned_data.get('phone') + + if Customer.objects.filter(phone=phone).exists(): + self.add_error('phone', 'Пользователь с таким номером телефона уже существует.') + + if User.objects.filter(email=email).exists(): + self.add_error('email', 'Пользователь с такой электронной почтой уже существует.') + + + def clean_password(self): + password = self.cleaned_data.get('password') + if len(password) < 8: + raise forms.ValidationError('Пароль должен состоять не менее чем из 8 символов.') + if not any(char.isupper() for char in password): + raise forms.ValidationError('Пароль должен содержать хотя бы одну заглавную букву.') + if not any(char.isdigit() for char in password): + raise forms.ValidationError('Пароль должен содержать не менее одной цифры.') + return password + + +User = get_user_model() + +class EmailLoginForm(forms.Form): + email = forms.EmailField(label='Электронная почта', widget=forms.EmailInput(attrs={'class': 'form-input'})) + password = forms.CharField(label='Пароль', widget=forms.PasswordInput(attrs={'class': 'form-input'})) + + + + + + + + + + + + + + From 1aa3042e0df7df139e28040ebd7c983fd4b50a1c Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:29:19 -0800 Subject: [PATCH 19/31] Update views.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Отредактировала функцию user_edit Сделала редактирование фото пользователя --- petapp/views.py | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/petapp/views.py b/petapp/views.py index 71247e1..8fe7721 100644 --- a/petapp/views.py +++ b/petapp/views.py @@ -1,20 +1,16 @@ -import os import random from django.shortcuts import render from petapp.models import Customer from petapp.forms import * from django.db import IntegrityError from django.shortcuts import render, redirect -from django.contrib.auth.views import LoginView as BaseLoginView from django.contrib.auth import login from django.contrib.auth import logout from django.contrib.auth.models import User from django.contrib.auth.decorators import login_required from django.contrib import messages from .authentication import EmailAuthBackend -from django.core.files.images import get_image_dimensions from django.core.files.base import ContentFile -from django.core.files.images import ImageFile # Main navigation pages @@ -151,7 +147,6 @@ def user_edit(request): except ValidationError as e: messages.error(request, e.message) - # Validate patronymic if not empty patronymic = request.POST.get('patronymic') if patronymic: try: @@ -172,21 +167,17 @@ def user_edit(request): customer.address = address if 'photo_avatar' in request.FILES: - photo_avatar = request.FILES['photo_avatar'] - - upload_path = customer.photo_avatar.field.upload_to - file_name = photo_avatar.name - file_path = os.path.join(upload_path, file_name) + photo = request.FILES['photo_avatar'] + if not photo.name.endswith(('.jpg', '.jpeg', '.png')): + messages.error(request, "Допустимы только файлы формата JPG или PNG.") - with Image.open(photo_avatar) as image: - image.save(file_path, 'JPEG') - image.save(file_path.replace('.jpg', '.png'), 'PNG') - - if customer.photo_avatar: - customer.photo_avatar.delete() - - customer.photo_avatar.save(photo_avatar.name, ContentFile(photo_avatar.read())) - customer.save() + else: + if customer.photo_avatar: + old_photo_path = customer.photo_avatar.path + customer.photo_avatar.delete(save=False) + + new_photo_name = f"user_{user.id}_avatar" + customer.photo_avatar.save(f"{new_photo_name}.jpg", ContentFile(photo.read())) if not messages.get_messages(request): user.save() @@ -194,3 +185,4 @@ def user_edit(request): return redirect('user') return render(request, 'petapp/user_edit.html', {'user': user, 'customer': customer}) + From 7a7e9b845849e4ba05b7185405aa26f052c3ccdc Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:32:44 -0800 Subject: [PATCH 20/31] Update user_edit.html --- petapp/templates/petapp/user_edit.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/petapp/templates/petapp/user_edit.html b/petapp/templates/petapp/user_edit.html index 3b3053a..cc188c6 100644 --- a/petapp/templates/petapp/user_edit.html +++ b/petapp/templates/petapp/user_edit.html @@ -17,7 +17,7 @@
-
+ {% csrf_token %}
@@ -71,4 +71,4 @@
-{% endblock %} \ No newline at end of file +{% endblock %} From 4a784e598b7ac2ea8ffd1ff6f4b7f007b4d16c15 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Tue, 5 Mar 2024 12:44:25 +0300 Subject: [PATCH 21/31] Update views.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Написала функцию для на главной страницы , чтобы отображались 3 популярных продукта. --- petapp/views.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/petapp/views.py b/petapp/views.py index 8fe7721..f9ca463 100644 --- a/petapp/views.py +++ b/petapp/views.py @@ -15,7 +15,15 @@ # Main navigation pages def index(request): - return render(request, 'petapp/main.html') + top_rated_products = Product.objects.all().order_by('-rating')[:3] + + for product in top_rated_products: + product.product_name = product.product_name + product.category = product.category + product.animal_type = product.animal_type.all() + product.rating = Rating.objects.get(product=product).rating + + return render(request, 'petapp/main.html', {'top_rated_products': top_rated_products}) def catalog(request): product_name = Product.objects.all() From f230829cd312b7dcc890df7131796c1b8203c442 Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Thu, 7 Mar 2024 14:46:27 -0800 Subject: [PATCH 22/31] Update views.py Edit the 'index' function to retrieve and display the top 3 ranked products. --- petapp/views.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/petapp/views.py b/petapp/views.py index f9ca463..7011593 100644 --- a/petapp/views.py +++ b/petapp/views.py @@ -11,17 +11,12 @@ from django.contrib import messages from .authentication import EmailAuthBackend from django.core.files.base import ContentFile +from django.db.models import Avg # Main navigation pages def index(request): - top_rated_products = Product.objects.all().order_by('-rating')[:3] - - for product in top_rated_products: - product.product_name = product.product_name - product.category = product.category - product.animal_type = product.animal_type.all() - product.rating = Rating.objects.get(product=product).rating + top_rated_products = Product.objects.annotate(avg_rating=Avg('rating__rating')).order_by('-avg_rating')[:3] return render(request, 'petapp/main.html', {'top_rated_products': top_rated_products}) From ecda3b96ba268db50c6d4c2cf23916ccf91cb79d Mon Sep 17 00:00:00 2001 From: Madara <122021584+Dina-Tolkina@users.noreply.github.com> Date: Thu, 7 Mar 2024 14:49:12 -0800 Subject: [PATCH 23/31] Update main.html Updated the 'swiper' section in the template to display top-rated products. --- petapp/templates/petapp/main.html | 228 ++++++++++-------------------- 1 file changed, 75 insertions(+), 153 deletions(-) diff --git a/petapp/templates/petapp/main.html b/petapp/templates/petapp/main.html index 320b405..a9ddabe 100644 --- a/petapp/templates/petapp/main.html +++ b/petapp/templates/petapp/main.html @@ -1,166 +1,88 @@ +{% extends 'base.html' %} {% load static %} - - - - - - - - - - PuffBall - +{% block head %} - -
- -
- -
-
-

Волшебные скидки и выгодные предложения!

-

Откройте ворота в мир заботы о вашем
питомце вместе с PuffBall!

-
-
- animals -
-
-
+ - - paw +{% endblock %} - -
-

Популярное

-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
-
-
-
- product -
-

499₽

-

Wagg / Корм для морских свинок 4kg

-
- rate -

4.8

-
-
-
-
- product -
-

299₽

-

Wagg / Угощение для кошек 60g

-
- rate -

4.8

-
-
+{% block title %}Главная{% endblock %} + + +{% block content %} +
+
+

Волшебные скидки и выгодные предложения!

+

Откройте ворота в мир заботы о вашем
питомце вместе с PuffBall!

+
+
+ animals +
+
+ + +{% if top_rated_products %} +
+

Популярное

+
+ {% for product in top_rated_products %} +
+ product +
+

{{ product.price }}₽

+

{{ product.product_name }} / {{ product.category }} для {% for animal_type in product.animal_type.all %} + {{ animal_type.name }} + {% endfor %} + {{ product.weight }} kg

+
+ rate +

+ {% if product.avg_rating %} + {{ product.avg_rating }} + {% else %} + 0 + {% endif %} +

-
+
+ {% endfor %} +
+
+{% endif %} - -
-

Присоединяйтесь к акции PuffGift!

-

Получите уникальную возможность порадовать своих любимцев! Зарегистрируйтесь
- и получите на первую покупку 25% скидку. Кроме того, акция PuffGift дает возможность получать
первым - уведомления о новинках и розыгрышах.

- - - - -
- - paw + +
+

Присоединяйтесь к акции PuffGift!

+

Получите уникальную возможность порадовать своих любимцев! Зарегистрируйтесь
+ и получите на первую покупку 25% скидку. Кроме того, акция PuffGift дает возможность получать
первым + уведомления о новинках и розыгрышах.

+
+ + +
+
- -
-

Почему нас выбирают?

-

Одним из ключевых преимуществ нашего зоомагазина - является то, что все наши корма и различные
- атрибуты выполнены исключительно из натуральных - природных материалов. Мы понимаем, что
здоровье и - благополучие наших питомцев - ваш приоритет, поэтому - мы уделяем особое внимание
выбору качественных и - безопасных продуктов для
животных.

-

Подробнее

- products -
-
- - paw - - -
-
- - -
-

© 2024 Зоомагазин "PuffBall"

-
+ +
+
+

Почему нас выбирают?

+

Одним из ключевых преимуществ нашего зоомагазина + является то, что все наши корма и различные
+ атрибуты выполнены исключительно из натуральных + природных материалов. Мы понимаем, что
здоровье и + благополучие наших питомцев - ваш приоритет, поэтому + мы уделяем особое внимание
выбору качественных и + безопасных продуктов для
животных.

+

Подробнее

+ products +
+
- - \ No newline at end of file + +{% endblock %} From 24daca780059d462e24ccb2a327e6ec600209139 Mon Sep 17 00:00:00 2001 From: fundaveover Date: Wed, 27 Mar 2024 12:32:46 +0300 Subject: [PATCH 24/31] fasdfasdf --- config/__pycache__/__init__.cpython-311.pyc | Bin 162 -> 162 bytes config/__pycache__/settings.cpython-311.pyc | Bin 2753 -> 3147 bytes config/__pycache__/urls.cpython-311.pyc | Bin 1811 -> 2159 bytes config/__pycache__/wsgi.cpython-311.pyc | Bin 682 -> 682 bytes config/settings.py | 2 +- petapp/__pycache__/__init__.cpython-311.pyc | Bin 162 -> 162 bytes petapp/__pycache__/admin.cpython-311.pyc | Bin 217 -> 217 bytes petapp/__pycache__/apps.cpython-311.pyc | Bin 533 -> 533 bytes .../authentication.cpython-311.pyc | Bin 0 -> 1198 bytes petapp/__pycache__/forms.cpython-311.pyc | Bin 0 -> 8515 bytes petapp/__pycache__/models.cpython-311.pyc | Bin 3445 -> 16073 bytes petapp/__pycache__/views.cpython-311.pyc | Bin 1748 -> 12363 bytes petapp/migrations/0001_initial.py | 65 -------- petapp/migrations/__init__.py | 0 petapp/templates/petapp/auth.html | 23 --- petapp/templates/petapp/catalog.html | 149 ------------------ petapp/templates/petapp/main.html | 92 ----------- petapp/templates/petapp/reg.html | 36 ----- petapp/templates/petapp/user.html | 20 --- petapp/templates/petapp/user_edit.html | 50 ------ 20 files changed, 1 insertion(+), 436 deletions(-) create mode 100644 petapp/__pycache__/authentication.cpython-311.pyc create mode 100644 petapp/__pycache__/forms.cpython-311.pyc delete mode 100644 petapp/migrations/0001_initial.py delete mode 100644 petapp/migrations/__init__.py diff --git a/config/__pycache__/__init__.cpython-311.pyc b/config/__pycache__/__init__.cpython-311.pyc index 509f52e208726233b675a6ae1072f6c70b61f311..ea928ec7767a363c1c2c07302846b5ac19fa4ed1 100644 GIT binary patch delta 20 acmZ3)xQLNwIWI340}%Xt#GE#fXBq%B#|4!D delta 20 acmZ3)xQLNwIWI340}yy+K1`j+GYtSSdId@V diff --git a/config/__pycache__/settings.cpython-311.pyc b/config/__pycache__/settings.cpython-311.pyc index 9169b42a201baf17b01d474976aa736fbaeb7bec..31b2c02bf55dc0d13144d8029b9163f5cf3e16fa 100644 GIT binary patch delta 753 zcmZ8eJ8#oa6uypAC$<`J>^NzgzFR0AlE{?`1$Dq}TxvCqBio_Ks$_*;Cp9#WCa#3C zkbwyyA!G>{7&-w`#|(^!iGd|Z9W1jT^$%ELM&hO+103D&JLh~lk9&2$aNow3K13oE zKz4qCm&-H&7yV>t;lIJJC$E;y?m`+yAp=<$gWNm9!gLzOVZy=?k6rTkB~MsbC8$SX zQfJ_#&cYErhQProhsKr`rr!quI71kiJ`QK}2@`*m7%Hb@&K$|Eo<_fIbQ5 z^eH&6Pb1901$`DSRxo`I;wo6a*1eBC!?3XPBk+caHV*4GvvyK_Xf}C~qBZHRMKIV%^CYDdolYo0hcZqtP_M(N?ye`W+lNWDmjlDgo-R{9<6GECT(s>IZ-vTlA?M{R@@SbIn5A?nrv)IVlL}3 zIT=00P|yfP+|(|out<}O+P@+>DC}=Zp#E(!kA|ZKGL<(rgv}i>pH-dTVToEtzlb5U zJ~{=m93`264~Epa;>Vq@&tzgb(_JlaWA&^yi&*s#+N3 zI;0!9`eN_p{`38}H%_;|M^fjJREKg|t_NtJ0`b)zV19B*#BO}D2UvGBhT6kmB<16H OGSCBw!D-$>xB3Gx^wLQH delta 378 zcmX>taZpr!IWI340}yy+K1?m-Wng#=;=lkKl<`?>qWWrwRQ42sDsBdb6u~)6nT$~a zDMBg2nT$YE1Wby8NwG}Ebe1T=6!9pb6p1L|6xJvaAQnxLj1rsd$EYeVwTy{@VKop# zK$K)ULzGmCbd+=ob1;LZ%;qJGEsTuplQo&AZ@$dDkI7CdB`Yy6Jzp;+NiQieIXg8k zrC6`HFekGl)wqfaCg?1bG^ml=jiKN!~-_!V~D4-o2QSf&*X=kQjljA6vxlW*>UWoNt3imN})*5DnV7M4CzWLwNjA^l>!VzNKq7DBU_FgogF|d ziI~a;@^>gftyuUFEDVX{q4K~2J0Qf)yQVfx<+GpkzxRIk?&;oh7JjBnACgH4!8-U6 zJ^I8W^qp<|mAVvv5|Q_%&7s06ydLX`O_4*O1wG!Ani7X1h=@vzL^Rnys3m-L5<%z` zY_={)kw{w7_bBl*=_Cpa*cCw&_pR<(m|qhD6!7chlTrU=YZz^q&{-T5cF0nl;)tzJ*mmEo~55wyI| zfG+s@?B;x9UPGW+RBk;+<+aaWIVX}8EW2&1oigW%7O`#B=vvNmtfynT*)<3DmM6@F z^99#)KqVEkGw2b+Zc)>;AC*@eiC-J$6|HS_%}U2Kjw%DHTa{T_is3>}z7nM{eE&TR zr2_K^ePXx!eHvpMY^gT!FpGM;YAECtWivl8NSI@CH+C475+jDd4xb|HRn`#wv|t$BEJd delta 574 zcmaDaFquzdIWI340}yy+K1_YY!octt#DM`mDC6@2#)%p_B1{aaEGew1Oj+zO1z8*u z8zk#lQrJ@2vN&OaDeP-FmN7FhtOjBT0Bhs~ssURC5=-I2s)ie=h8wDhA%zF48eX6p z9=IC5H5~O=EaL|%;)N>`z-o{nPz}t73@Jib)d&OC@Wag!!K%hr6sSl5u1E~4B5|M^ zLAV+TbT#Q*Q9>z_!3>&Gn=P0oGfjTTk~uk=)t=c;Q+V<^R{2Qol&r+O^nAV2qMYI) zU^Fq@Vk<~3Nh~NRVg+$niZe@6Z?S-6Z?R_PrKDCAfuf@b6y8Ok04)NASP>{hia=g2 z0{N*3A_$^RfNfrbT7#e=s)YAyeKYgT%$qkeAEMDQ1eQPJ zHxe8|XRP9zI3QgG$UZWVflXAz3dW3cCRgMY-s8L}6h%eEh(km?1oe?W2U2(rJwt}D zhYXS6Lmv9z@0$`Z0vVJH{$SN4b|cR%gP2b=y+BF^)P)z6*x)BNiKAA4t3@Wz2g5xF zL3`Gn1hf^ zw>Gkrpq4dCtCnrJkrj*3wB@YsIe&2&;{%aHiLY~ubc|xjM(uzb?-7%Hjz>3Lu zL{+ydn%VEMufph0s0)Z}nL*Hp5Da)Q z+`5;g)O!DkP@7#c_xfcL@1@ZG-H$}InSSuK-3mqYdVf+6=qxO@v{<@^gi|;ojRV3U1 literal 0 HcmV?d00001 diff --git a/petapp/__pycache__/forms.cpython-311.pyc b/petapp/__pycache__/forms.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d98324708d8ae5bea7ef9a66c74e9066482843c9 GIT binary patch literal 8515 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 BiBA9k literal 0 HcmV?d00001 diff --git a/petapp/__pycache__/models.cpython-311.pyc b/petapp/__pycache__/models.cpython-311.pyc index 36357459d90be96261de44badfa71e86e8db1d7b..e6c2409d298bdc8455e2c97d59264eae2aef0249 100644 GIT binary patch literal 16073 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
o)OlTG}@A8TN3!e)ns|Do^79h{{3U@ z)L9lhZv@Yq!SngOq>m18JF*NBXjwxlsTPn*T0<(Swm_&Pnk}13Dyf^re?>`!rXh@% zI7?pV3ySaxaXi0%f8UX-E4za8*YqJ^^GBQO`hb0{yPRccDV}8r9nNWqQ*m8=0>>F? zAD8%8xRAd@YN#SJwSUBK+dP4|__g%efsUFM_~GS`=*S1V%1zedCaZ90-@%p;9jbmO zw=@Q9+$B7#-=KC9gms?PBV@aMs-b5Us$qG~;(|>pX4@WA%Gpc%7fO|xl!rtFC-eQ^ zN2rvfn>g+D@022N9gj{LsKS*?Moo&Rt!AFPvG-?#?0Bv^9(y-tT7oqfTn_h6^0aCJ zd09Kj$*L_7gP^Y4mcDGY-A2hD$s%P3OZD2wS;Qm3KvjRwpg&ktGa+s4mii)LtGG7C zDgJap`jcOHy9H+%K)98V3^r&ziWi5Zoyf%_uBiBfg&)>bpvIbNRf4dlTCAq0_%23; zV}`WJ*6lbbZwtbmqdbdez7BxJl^Iud8fuG~i{{i54h(<7Na<)pAg z0>$6M8Es7G{{XXA^CPRm28j*RANczCf46v27spzc6<t5lKN^isJhtBX|N1my zP;oAHWf>ovTgj7sFpp1(T6J-(c6qs9#q2&ETW2`At&taIg-XRq9VcuPr!+d0!B36z z^WtKo%zcpll_-MMr>UII3G&leV*ibk&Ks0RaUWq>kq+kqmQzE`mf{`H4)G_Ko!W1K zN4%wn!Ra_ADa!@PpXZ-~)XD63LF#7qyCB`m>~}%h#_V@N+RE&AL0ZM^cR_lP+3$jM zKeOKjsgK$3g4Dz8cl}${l`J&5W&CSSs)8+RWSpt32UBM+Pu`;Z+m*t{WXa*nFQ4kY z+Rx;5hP=*{*DW|4GSR90z%8fbSYOWZG(weS{FM)&f=W3akBsAO^RyEx<&c7D}~#u50K>qDY;Z~0f1ziuOhp%9a Z$fx-zVqosDQuRQL5&48$i@{~i{{bXBC3pY; literal 3445 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 J_=}9}{{cc!c~AfV literal 1748 zcmb_cJ8u&~5Z<-V=f@_*NqC7w3W5Sf!spmVLLfu~1)@k3(L|Qe#k-14Y@eCk<0T3T zegIwm0TA(L&XNmci2_m4S#p<(+4b6RiF6Hj@_e^@GoJZ&W_G?TFP8{DPdh)wR+f-o zdNY4Ab}@Z|i(|qGr(M#c`;-!%`AGINJd2p+4x+ex;&4V=LN(9FCrFs39-c4 z9@$>{t=*o`u?wQl1+=IQqhAgR(je0t2**VIqkE6xKO?1Yb6NzQWp>|{2SWLSLAB?1 z`d(Z0x}Y7P|2&A7p^!>yC)ZEwkM1|0NddCCr$R3Js(!EeSjZz444UXdwr6j2)qK?v zucbG5JI-~G;TtHT0~ckwj_`r}V5^^QMH`hN^G3{z9B+!B$^V{X-JYZ6E592Y{yhrl z(6d880hi;vHGyT^X>M^|J403*v0CKRfT1!qUO`{^EtSY?W&&jlyMzK4G^9ad)h5S3 z2*M-^Ib#587$L%4jj94XdDyi^UvwRMGc_fl*rB87PKlZvGE za1GgPp`=%&OExLm{d2)PNqH$Qj9?Q<=m{7vSbfMEBi4wVhAG(YHXE1u3%`FDcsRX4 zwL&F9Pf#}r2oRe8Qn$dDvc+d-Y*cA^!=Rprn`4wT3rIdar vH>3D(QlhjvAq#LRt?R9Y^V=P*wQ&Bwp4M6@EW8+hxIGi-jy66ECNF;gI;Kc+ diff --git a/petapp/migrations/0001_initial.py b/petapp/migrations/0001_initial.py deleted file mode 100644 index 271915d..0000000 --- a/petapp/migrations/0001_initial.py +++ /dev/null @@ -1,65 +0,0 @@ -# Generated by Django 5.0.1 on 2024-02-06 13:11 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Client', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('last_name', models.CharField(max_length=100)), - ('first_name', models.CharField(max_length=100)), - ('patronymic', models.CharField(max_length=100)), - ('phone', models.CharField(max_length=20)), - ('email', models.EmailField(max_length=254)), - ('address', models.CharField(max_length=255)), - ('registration_date', models.DateField()), - ('photo_avatar', models.BinaryField()), - ], - ), - migrations.CreateModel( - name='Product', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255)), - ('price', models.DecimalField(decimal_places=2, max_digits=10)), - ('description', models.TextField()), - ('category', models.CharField(max_length=100)), - ('manufacturer', models.CharField(max_length=100)), - ('origin_country', models.CharField(max_length=100)), - ('photo_product', models.BinaryField()), - ('animal_type', models.CharField(max_length=100)), - ('weight', models.FloatField()), - ('rating', models.IntegerField()), - ], - ), - migrations.CreateModel( - name='Sale', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('sale_date', models.DateField()), - ('quantity', models.IntegerField()), - ('amount', models.DecimalField(decimal_places=2, max_digits=10)), - ('client', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.client')), - ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.product')), - ], - ), - migrations.CreateModel( - name='Warehouse', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('availability', models.BooleanField()), - ('quantity', models.IntegerField()), - ('product', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='petapp.product')), - ], - ), - ] diff --git a/petapp/migrations/__init__.py b/petapp/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/petapp/templates/petapp/auth.html b/petapp/templates/petapp/auth.html index 29fab98..82fbbab 100644 --- a/petapp/templates/petapp/auth.html +++ b/petapp/templates/petapp/auth.html @@ -15,7 +15,6 @@
- ->>>>>>> master
diff --git a/petapp/templates/petapp/catalog.html b/petapp/templates/petapp/catalog.html index 815aa6a..dcc72e6 100644 --- a/petapp/templates/petapp/catalog.html +++ b/petapp/templates/petapp/catalog.html @@ -14,7 +14,6 @@

Каталог

-<<<<<<< HEAD {% if message %}

{{ message }}

{% else %} @@ -46,154 +45,6 @@

{% endfor %}

{% endif %} -======= -
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
- -
-
-
->>>>>>> master {% endblock %} \ No newline at end of file diff --git a/petapp/templates/petapp/main.html b/petapp/templates/petapp/main.html index a204675..a9ddabe 100644 --- a/petapp/templates/petapp/main.html +++ b/petapp/templates/petapp/main.html @@ -22,7 +22,6 @@

Волшебные скидки и выгодные пр -<<<<<<< HEAD {% if top_rated_products %}

Популярное

@@ -64,93 +63,6 @@

Присоединяйтесь к акции PuffGift!

-======= -
-

Популярное

-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
-
-
-
- product -
-

499₽

-

Wagg / Корм для морских свинок 4kg

-
- rate -

4.8

-
-
-
-
- product -
-

299₽

-

Wagg / Угощение для кошек 60g

-
- rate -

4.8

-
-
-
-
- product -
-

989₽

-

Wagg / Корм для собак 5kg

-
- rate -

4.9

-
-
-
-
- product -
-

499₽

-

Wagg / Корм для морских свинок 4kg

-
- rate -

4.8

-
-
-
-
- product -
-

299₽

-

Wagg / Угощение для кошек 60g

-
- rate -

4.8

-
-
-
-
-
- - -
-

Присоединяйтесь к акции PuffGift!

-

Получите уникальную возможность порадовать своих любимцев! Зарегистрируйтесь
- и получите на первую покупку 25% скидку. Кроме того, акция PuffGift дает возможность получать
первым - уведомления о новинках и розыгрышах.

-
- - - - - ->>>>>>> master
@@ -173,8 +85,4 @@

Почему нас выбирают?

-<<<<<<< HEAD -{% endblock %} -======= {% endblock %} ->>>>>>> master diff --git a/petapp/templates/petapp/reg.html b/petapp/templates/petapp/reg.html index ef88e42..db1357d 100644 --- a/petapp/templates/petapp/reg.html +++ b/petapp/templates/petapp/reg.html @@ -16,7 +16,6 @@

Регистрация

-<<<<<<< HEAD
{% csrf_token %}
@@ -40,41 +39,6 @@

Регистрация

-======= -
-
-
- - -
-
- - -
-
- - -
-
- -
-
- - -
-
- - -
-
- - -
-
-
-
- ->>>>>>> master
diff --git a/petapp/templates/petapp/user.html b/petapp/templates/petapp/user.html index 348bd0d..ecefad8 100644 --- a/petapp/templates/petapp/user.html +++ b/petapp/templates/petapp/user.html @@ -7,17 +7,12 @@ {% endblock %} -<<<<<<< HEAD {% block title %}Страница пользователя{% endblock %}ы -======= -{% block title %}Страница пользователя{% endblock %} ->>>>>>> master {% block content %}
-<<<<<<< HEAD
{% endif %}
-{% endblock %} \ No newline at end of file +{% endblock %} From da2c06b859537378fd364dfb71fe1b0c3943668d Mon Sep 17 00:00:00 2001 From: Josiren Date: Tue, 16 Apr 2024 22:18:42 +0300 Subject: [PATCH 30/31] fdasfaf --- config/__pycache__/__init__.cpython-311.pyc | Bin 162 -> 162 bytes config/__pycache__/__init__.cpython-312.pyc | Bin 132 -> 148 bytes config/__pycache__/settings.cpython-311.pyc | Bin 3147 -> 3147 bytes config/__pycache__/settings.cpython-312.pyc | Bin 2667 -> 3075 bytes config/__pycache__/urls.cpython-311.pyc | Bin 2159 -> 2415 bytes config/__pycache__/urls.cpython-312.pyc | Bin 1732 -> 2331 bytes config/__pycache__/wsgi.cpython-311.pyc | Bin 682 -> 682 bytes config/__pycache__/wsgi.cpython-312.pyc | Bin 618 -> 634 bytes config/settings.py | 2 +- config/urls.py | 3 + media/customer/1196210_avatar.jpg | Bin 0 -> 1224 bytes media/customer/1611870_avatar.jpg | Bin 0 -> 1204 bytes media/customer/1909392_avatar.jpg | Bin 0 -> 1224 bytes media/customer/2142738_avatar.jpg | Bin 0 -> 1234 bytes media/customer/2354864_avatar.jpg | Bin 0 -> 1234 bytes media/customer/2364084_avatar.jpg | Bin 0 -> 1224 bytes media/customer/2673344_avatar.jpg | Bin 0 -> 1204 bytes media/customer/3285991_avatar.jpg | Bin 0 -> 1198 bytes media/customer/3343295_avatar.jpg | Bin 0 -> 1241 bytes media/customer/3761615_avatar.jpg | Bin 0 -> 1204 bytes media/customer/862833_avatar.jpg | Bin 0 -> 1198 bytes media/customer/8671706_avatar.jpg | Bin 0 -> 1198 bytes media/products/1920_px.png | Bin 0 -> 3905 bytes petapp/__pycache__/__init__.cpython-311.pyc | Bin 162 -> 162 bytes petapp/__pycache__/__init__.cpython-312.pyc | Bin 132 -> 148 bytes petapp/__pycache__/admin.cpython-311.pyc | Bin 217 -> 3796 bytes petapp/__pycache__/admin.cpython-312.pyc | Bin 176 -> 3606 bytes petapp/__pycache__/apps.cpython-311.pyc | Bin 533 -> 533 bytes petapp/__pycache__/apps.cpython-312.pyc | Bin 438 -> 454 bytes .../authentication.cpython-311.pyc | Bin 1198 -> 1198 bytes .../authentication.cpython-312.pyc | Bin 0 -> 1026 bytes petapp/__pycache__/forms.cpython-311.pyc | Bin 8515 -> 8978 bytes petapp/__pycache__/forms.cpython-312.pyc | Bin 0 -> 8120 bytes petapp/__pycache__/models.cpython-311.pyc | Bin 16073 -> 16073 bytes petapp/__pycache__/models.cpython-312.pyc | Bin 3340 -> 14807 bytes petapp/__pycache__/views.cpython-311.pyc | Bin 12363 -> 18570 bytes petapp/__pycache__/views.cpython-312.pyc | Bin 1523 -> 17625 bytes petapp/admin.py | 54 +++++- petapp/migrations/0001_initial.py | 165 ++++++++++++++++++ petapp/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-312.pyc | Bin 3668 -> 10481 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 143 -> 159 bytes .../components/users-form/css/users.css | 4 +- .../components/users-form/css/users.scss | 2 +- .../static/petapp/page/authpage/css/auth.css | 8 + .../petapp/page/authpage/css/auth.css.map | 2 +- .../static/petapp/page/authpage/css/auth.scss | 8 +- petapp/static/petapp/page/regpage/css/reg.css | 12 +- .../petapp/page/regpage/css/reg.css.map | 2 +- .../static/petapp/page/regpage/css/reg.scss | 13 +- .../static/petapp/page/userpage/css/user.css | 1 + .../petapp/page/userpage/css/user.css.map | 2 +- .../static/petapp/page/userpage/css/user.scss | 1 + petapp/templates/petapp/about.html | 14 -- petapp/templates/petapp/auth.html | 2 +- petapp/templates/petapp/catalog.html | 4 +- petapp/templates/petapp/contact.html | 8 +- petapp/templates/petapp/main.html | 17 +- petapp/templates/petapp/reg.html | 8 +- petapp/views.py | 4 +- requirements.txt | Bin 162 -> 304 bytes 61 files changed, 283 insertions(+), 53 deletions(-) create mode 100644 media/customer/1196210_avatar.jpg create mode 100644 media/customer/1611870_avatar.jpg create mode 100644 media/customer/1909392_avatar.jpg create mode 100644 media/customer/2142738_avatar.jpg create mode 100644 media/customer/2354864_avatar.jpg create mode 100644 media/customer/2364084_avatar.jpg create mode 100644 media/customer/2673344_avatar.jpg create mode 100644 media/customer/3285991_avatar.jpg create mode 100644 media/customer/3343295_avatar.jpg create mode 100644 media/customer/3761615_avatar.jpg create mode 100644 media/customer/862833_avatar.jpg create mode 100644 media/customer/8671706_avatar.jpg create mode 100644 media/products/1920_px.png create mode 100644 petapp/__pycache__/authentication.cpython-312.pyc create mode 100644 petapp/__pycache__/forms.cpython-312.pyc create mode 100644 petapp/migrations/0001_initial.py create mode 100644 petapp/migrations/__init__.py diff --git a/config/__pycache__/__init__.cpython-311.pyc b/config/__pycache__/__init__.cpython-311.pyc index ea928ec7767a363c1c2c07302846b5ac19fa4ed1..a75cee171c9312b90d7bde8b2c27e1f0900dbb44 100644 GIT binary patch delta 19 ZcmZ3)xQLN^IWI340}zyNI_G2&Eqv5F~5EyypP7;XyygpCOD diff --git a/config/__pycache__/settings.cpython-311.pyc b/config/__pycache__/settings.cpython-311.pyc index 31b2c02bf55dc0d13144d8029b9163f5cf3e16fa..e7acfdceb5a1a9e15c187a74c1421b6703340ae4 100644 GIT binary patch delta 20 acmX>taaw|VIWI340}ym>taaw|VIWI340}xz!%)F7?fd>FQgauy! diff --git a/config/__pycache__/settings.cpython-312.pyc b/config/__pycache__/settings.cpython-312.pyc index d2f2e98b26559a0e7d2fa3ee72ad07cb47f19bce..6ba0ba4067b82b28fd3d2c67a77054033f5aa945 100644 GIT binary patch delta 770 zcmY*W&ui0Q7*5(QZOZD>H0^$LTeqp3McYzD7>a1tWVWtrMt(2|m5}wz+PJo)$tW)#dhF*GwV|Hd;im8U^Mo^htoRC3{;7Ox`mELfE1z>+)Z)vt-*@mgPfiv0lX0urruNxJ$UW2XrY7{||n2WKcJB1SK`bzXB zL`h(IH?Tzu!ZyblV}D}R_0^1q*2XgGzFo_-ms^^xwp!^yr8VI=v@n`!wxQ~E8ft5! z%aTjocm4(R0N-Sp0!<;FSswEqFF34qYNp<0SEa5g#=UwoJnLJX?b1Z~=F@q^!}o4YtGxuaVQi_x`?` zyIz(o&9usQ4NEt*W|`5fJ=74r&bDrb35@fbV#Cya{ zkD4A5>SxGLV0|wh@^tY2lJf(v7sjI8ka6mh!Kd3jCe+aP9yA delta 206 zcmaDa^j<)HIWI340}%K;VNP4e%E0g##DM{RDC0BFM)m8AR_WYK45=)sY+2$k1wgh0 zjJ-y7850A;Y9NMyDj*dlnIad=peet32~!fYh$iDL-jw|0(%jU%lK7(h{1QJ+smT#+ zdnc=~XL6|ll`{fyap&gg?1_v9AH;e1nLbD`uy8e)b!c4Sl3C$#MaTXEv%^JZhbznu SA0>JC9T^+AL9j>#s1E?(1}u00 diff --git a/config/__pycache__/urls.cpython-312.pyc b/config/__pycache__/urls.cpython-312.pyc index 588ab6808b1cac58caf2509249cdbffdde32e60e..3a92d482d9db8ca41cdf838a75a80a077131b588 100644 GIT binary patch literal 2331 zcmb7_&2JM&6u{Tc`Xg(CAvlmwCk&*-c4WK(3Q`SinnGx(Xps<6B`3&iypwptepoYW z3RV&7Ej=|pnPZNr;P2?AJz#aEs4L~vQ*T757fyX|cimWKE43?m=FOYmym?>i{bgiC z65x6G>(u(QxFGz2i{3LD2ycIm3PMLvg^Hj?)TkaYqLpX_ z3b=d-H$K2k05==LogUym0InFqWe2!P;7TFf)BuP6&4qAhLbyvI9697RjzWb+8sGfr zeGar&-`Bo6+v}kgY*w;Q&lRSXXV6yC^1VBxW|`~SMw2PFW|?H&Vu6M3A36ubSnq|n;l&_TLWZPrAcBT)KodiXF7 zx@FKJF%^S;l0!LHkZ$M-=NHx>FtyL>zj)&VguYpu9P%dX&x zSOo;ICaq*mu@$_}O#~9CEYntMHmZCHPOm}F%5W#nt(elZ>#{52)JnieE_$`ZH`xn@&{5O&>|W~%fFOM#vp!C?f66g3o0uR^*s(@ptV z^ZJqXaLC{=h68^1+~KblZ{A+0LVvoFFW$R*_r9CzdkKFM-U2DSlW&w) zmm#fu^-GIujGC)ADSrfi4y)iVufvQju5GNMucgM*cggF9r8af?DJ#JF2>kdQjBkb_ zk;p+b9TEQ`LgeheFuO01eIdIqj32~>*znf)_LWY#UGB`c=YJEYe;1Qmqg%^AuKcj_ z;;|#n;QI9Ta_2$&!R~}3UJhHMg=_6=JKs3s1>8TieSU9rx;r|(JL8BKQ8TfOgBIk`R7nP^Y!j5%U1AUb#2cXpmQ;#^>(Guxisx$20sxXx}jJI~wCcUK(o zV_Z+Zi0zH%yW{!Y?;P=ZU|}y)=w=G9=N26C^M6#uZl?J9@)wS{^ky=hjvh=2qO_IY fld@eYySubkobMLrouSVT&ZN@|k?&J12budD2fAas delta 653 zcmbO&bc9#qG%qg~0}yyme0UN^!R40N(9T%E9ZlF3bEb4gB)bRq3GFa3Jp{WxFs*{7NL$*If1WlnRP@w`A1I5tPi38OsVNoZ6 zP?ydXB~&S?DV12u#K6E68swvpoS&DLnZB8cxtVG5Y}U-lqHOleewxCQm$Au9bEjk_ z=B4NBl@{d`7XhP~;TBs#YDr>2K@sa@0d{d$PM}Z`C=nEKg9siF!3!cl(Okq2A_RcM zEpDIz1&JjksYQ9kD;Yimg&2OxyI92(r55BDPu|Y1Bm)XBMj$Re03<#zGcq!MWa4LJ o`KrLcs5tpIdm`s_t%+I-%&xF#O|Il{;Q1iR&Ck@xT?C2_04r8u!vFvP diff --git a/config/__pycache__/wsgi.cpython-311.pyc b/config/__pycache__/wsgi.cpython-311.pyc index d9ca2c332ddd72b6f9dea2b8aea62f1e533aabd1..afbd93d81274b0e3f5b4fd3541403c0b92fec5a3 100644 GIT binary patch delta 20 acmZ3*x{8&1IWI340}zyNadt_5!DKe3 F6acju5n=!U delta 35 pcmeyx@`{D$G%qg~0}yy^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=S5Y9x)CY?P~0^AkkV*Bm1$<3i>(gs<>-lHrYMt2o@k*_G)WHI4tte82wsp83BxSH+3_XP8)Z|J8qnUxKT5t^d>be*f!x{(o7n>T}nh*qi^g z{x8P`*4uB*t_QX*-q9JY+jPlJhduc3(=*J$7?b``ka)B}XKZEk!?|%#APiikJ@f29RYSX-hZI0{8uK#o2{r=Yj`$^%R z4l;AU?)p(3y=~9dpStU$Q#STBU;k6j^;&!O$2yhmo3_V)o#g+i|FHZOpi&HP-22Y} z_Q$$(*N?i><}P*3Hu6hxx~a9G&(m(}jf)O4XYQ%&*ze3YIoaCdPGujP`2EYDO_wjq zjK5iy8oT|x;$7{k`CgY7HCX)a^^(;-7Cv2^>nTsx;)IjuuKs7>+EbI5c32=f=Cpe1 wEw=jLSWywibD7u7cTHQdYu!@$DI5PYtZ4Z5-TwL7k`hGlBD;}Tw*3E_0Fc<&YXATM literal 0 HcmV?d00001 diff --git a/media/customer/1611870_avatar.jpg b/media/customer/1611870_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f2ccd9b070156822ecd0e9ecc2387cb4ee88c988 GIT binary patch literal 1204 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=S5wViXt50}kqn<{!{bBy-RoR$Q3mVPgWH`&rhwtu>n`C4?R zQgz#>D}4*fkAM1;nPX#~x%{5$nc$es%L-%<%Jh`Uef2-;etPGnb<%%hiffL44F1c@ zkd+zbx^H^Us*YtjHJ>J)mjAFkt15Kc^1O>@8a(?aIoPGzKi?X+ruuhpmG$vxZR$X^{E(aaD3X_^LgI$ z3t?v&L;_vmI0WRQYN(G^Rz&}EeORZ5j)hR=%25l~u-{^PJ^V@84^(yfKR! zEVFa7KD+fqWo?_Z>G-E57kl2x?(Ox|@6an%F~}4veqYCPiHGI;mvz&+7#1$cT)p&$ Y4#T^ma*um!vi^z$FuIbD+5g`J0H27?Q2+n{ literal 0 HcmV?d00001 diff --git a/media/customer/1909392_avatar.jpg b/media/customer/1909392_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b26de7bdc7b7e8ef774f11e36b1ead209cdcd26a GIT binary patch literal 1224 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=S5Y9x)CY?P~0^AkkV*Bm1$<3i>(gs<>-lHrYMt2o@k*_G)WHI4tte82wsp83BxSH+3_XP8)Z|J8qnUxKT5t^d>be*f!x{(o7n>T}nh*qi^g z{x8P`*4uB*t_QX*-q9JY+jPlJhduc3(=*J$7?b``ka)B}XKZEk!?|%#APiikJ@f29RYSX-hZI0{8uK#o2{r=Yj`$^%R z4l;AU?)p(3y=~9dpStU$Q#STBU;k6j^;&!O$2yhmo3_V)o#g+i|FHZOpi&HP-22Y} z_Q$$(*N?i><}P*3Hu6hxx~a9G&(m(}jf)O4XYQ%&*ze3YIoaCdPGujP`2EYDO_wjq zjK5iy8oT|x;$7{k`CgY7HCX)a^^(;-7Cv2^>nTsx;)IjuuKs7>+EbI5c32=f=Cpe1 wEw=jLSWywibD7u7cTHQdYu!@$DI5PYtZ4Z5-TwL7k`hGlBD;}Tw*3E_0Fc<&YXATM literal 0 HcmV?d00001 diff --git a/media/customer/2142738_avatar.jpg b/media/customer/2142738_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f9f2697d2cb8649637f2f96174c66ef1d7ecfc2 GIT binary patch literal 1234 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=5t_KL?05|0tV42! zmrp#p_x|6H_6Ph2vgAWU&i zovr4!I`zx>s)C(z;_3`uJI+78)L^EusEYv^uUz$?;e_1pe|w+&XSm=S^kMs-?rZ-U z!hxLL*sJwV_-p?&#C@uNp|*3b_~EiyZBs?hY>v_1nbVTM&eHG2@FrXO$o5aSGGB}C zRH|er{SsjA69<}U=weBpSok?q+3Nk z*Vb>Cd|h_`METad>*f#p@5Q~kuKjPF=fB|Br{!O1FIm9Ur2)rWv)2D&APCt=Qv=*p=10BBSio0Naoks3F82K25BA5lmipS7TC;B}ZmM+q z_nNP5U7&-^-fdgU7rW`2MterMe_C>}=bh}{-qicAwj0OXx%cwXTivHUD$86SRu^8E z|63gU)bwJCn|r{i!>k@Blo~WMu3h`KD}*!W;p5c1`+pz#YFam|W8(ssfK`hb7#mov LC`umo|8D{SoHgwp literal 0 HcmV?d00001 diff --git a/media/customer/2354864_avatar.jpg b/media/customer/2354864_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f9f2697d2cb8649637f2f96174c66ef1d7ecfc2 GIT binary patch literal 1234 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=5t_KL?05|0tV42! zmrp#p_x|6H_6Ph2vgAWU&i zovr4!I`zx>s)C(z;_3`uJI+78)L^EusEYv^uUz$?;e_1pe|w+&XSm=S^kMs-?rZ-U z!hxLL*sJwV_-p?&#C@uNp|*3b_~EiyZBs?hY>v_1nbVTM&eHG2@FrXO$o5aSGGB}C zRH|er{SsjA69<}U=weBpSok?q+3Nk z*Vb>Cd|h_`METad>*f#p@5Q~kuKjPF=fB|Br{!O1FIm9Ur2)rWv)2D&APCt=Qv=*p=10BBSio0Naoks3F82K25BA5lmipS7TC;B}ZmM+q z_nNP5U7&-^-fdgU7rW`2MterMe_C>}=bh}{-qicAwj0OXx%cwXTivHUD$86SRu^8E z|63gU)bwJCn|r{i!>k@Blo~WMu3h`KD}*!W;p5c1`+pz#YFam|W8(ssfK`hb7#mov LC`umo|8D{SoHgwp literal 0 HcmV?d00001 diff --git a/media/customer/2364084_avatar.jpg b/media/customer/2364084_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b26de7bdc7b7e8ef774f11e36b1ead209cdcd26a GIT binary patch literal 1224 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=S5Y9x)CY?P~0^AkkV*Bm1$<3i>(gs<>-lHrYMt2o@k*_G)WHI4tte82wsp83BxSH+3_XP8)Z|J8qnUxKT5t^d>be*f!x{(o7n>T}nh*qi^g z{x8P`*4uB*t_QX*-q9JY+jPlJhduc3(=*J$7?b``ka)B}XKZEk!?|%#APiikJ@f29RYSX-hZI0{8uK#o2{r=Yj`$^%R z4l;AU?)p(3y=~9dpStU$Q#STBU;k6j^;&!O$2yhmo3_V)o#g+i|FHZOpi&HP-22Y} z_Q$$(*N?i><}P*3Hu6hxx~a9G&(m(}jf)O4XYQ%&*ze3YIoaCdPGujP`2EYDO_wjq zjK5iy8oT|x;$7{k`CgY7HCX)a^^(;-7Cv2^>nTsx;)IjuuKs7>+EbI5c32=f=Cpe1 wEw=jLSWywibD7u7cTHQdYu!@$DI5PYtZ4Z5-TwL7k`hGlBD;}Tw*3E_0Fc<&YXATM literal 0 HcmV?d00001 diff --git a/media/customer/2673344_avatar.jpg b/media/customer/2673344_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f2ccd9b070156822ecd0e9ecc2387cb4ee88c988 GIT binary patch literal 1204 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=S5wViXt50}kqn<{!{bBy-RoR$Q3mVPgWH`&rhwtu>n`C4?R zQgz#>D}4*fkAM1;nPX#~x%{5$nc$es%L-%<%Jh`Uef2-;etPGnb<%%hiffL44F1c@ zkd+zbx^H^Us*YtjHJ>J)mjAFkt15Kc^1O>@8a(?aIoPGzKi?X+ruuhpmG$vxZR$X^{E(aaD3X_^LgI$ z3t?v&L;_vmI0WRQYN(G^Rz&}EeORZ5j)hR=%25l~u-{^PJ^V@84^(yfKR! zEVFa7KD+fqWo?_Z>G-E57kl2x?(Ox|@6an%F~}4veqYCPiHGI;mvz&+7#1$cT)p&$ Y4#T^ma*um!vi^z$FuIbD+5g`J0H27?Q2+n{ literal 0 HcmV?d00001 diff --git a/media/customer/3285991_avatar.jpg b/media/customer/3285991_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f688d01f368bab24c7d09a6765ca17b47441d3a6 GIT binary patch literal 1198 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=S5+UCyRKeMiF;~!(23%=z`&fV_a zoXY>(@?R|f<5=0^sxZ}$b<2&4x@L2JKOz5Ha{+H|()Tw~p+_D(JoMK8dq2}olP$So z_dTx`6rKJ3esRfvhU3NIHStw#kFK5Uu1xqjsr7YV^T%VEv(|TPdF$*w?V`fYFohgd zafZIRFPPT@y(-gu!er~jhpX>z%h;G_Sy5khzuo_`=z0fMkw7>WH3fR(-hT$LKh~wY ze$<^dcd2W(kzb0_O|1oeo_1SrTy&5*b5CW*erLYP$<`isD*M>P?_d6Gx_nV)vezbU zWwv?F`@+9}S!<=iJmUi6mD1gBLl55IpDtE^eu4blk}rV{GW(|RO?@^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGchUHQo1xUS129h`bjm@^G5!IsWTQ z8L}@%n%OB|UjI~3rB|l+(3-`P|E4Z2G`bz_ZT)0PM(oDx3~3E2i*`PIENj!J`|dx( z`_}&qk5*;Zi@uzELU5jk=XostEdrLki7 zL%MlbikYX*bXWe9`TfMl4DrB|iW9G0Jy>M8&Bx?{o#Z`faO~0j&!F^m|JDBtUzEf1x7?0(6YG1Vn$ssQZ}gWp z=)?9u-Piszg#Tx_(3=y$ZuxNLv!?95YGrqFXKU2oJpbuMz0`}>voCGb@BV5zc}mC) z|9uYs8E*QPOo4e1L^H;HyApTPJ1=J0*8_=H&U}-Ttv&8k_OXfIzx>(sa-f6cEVZeBr>BM9 YuK6T;Y5U4AYppaEFm;iS`TySp0ADfZl>h($ literal 0 HcmV?d00001 diff --git a/media/customer/3761615_avatar.jpg b/media/customer/3761615_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f2ccd9b070156822ecd0e9ecc2387cb4ee88c988 GIT binary patch literal 1204 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=S5wViXt50}kqn<{!{bBy-RoR$Q3mVPgWH`&rhwtu>n`C4?R zQgz#>D}4*fkAM1;nPX#~x%{5$nc$es%L-%<%Jh`Uef2-;etPGnb<%%hiffL44F1c@ zkd+zbx^H^Us*YtjHJ>J)mjAFkt15Kc^1O>@8a(?aIoPGzKi?X+ruuhpmG$vxZR$X^{E(aaD3X_^LgI$ z3t?v&L;_vmI0WRQYN(G^Rz&}EeORZ5j)hR=%25l~u-{^PJ^V@84^(yfKR! zEVFa7KD+fqWo?_Z>G-E57kl2x?(Ox|@6an%F~}4veqYCPiHGI;mvz&+7#1$cT)p&$ Y4#T^ma*um!vi^z$FuIbD+5g`J0H27?Q2+n{ literal 0 HcmV?d00001 diff --git a/media/customer/862833_avatar.jpg b/media/customer/862833_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f688d01f368bab24c7d09a6765ca17b47441d3a6 GIT binary patch literal 1198 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 BDl-58 literal 0 HcmV?d00001 diff --git a/petapp/__pycache__/__init__.cpython-311.pyc b/petapp/__pycache__/__init__.cpython-311.pyc index 9d4752de97e3e1240378fe906f5f85374e87db8e..0b01bfa8608afd9e393a566e70302a3b9f14d71e 100644 GIT binary patch delta 19 ZcmZ3)xQLN^IWI340}zyNI_G2&Eqv5F~5EyypP7;XyygpCOD diff --git a/petapp/__pycache__/admin.cpython-311.pyc b/petapp/__pycache__/admin.cpython-311.pyc index d71960231f56c54780c9d28206bb7bab623d4b40..d0a69af56face5ce71101b9534267bf35881dcb8 100644 GIT binary patch literal 3796 zcmd5<-EZ4e6u(YvH=ivd>$DP2Jf^xORY* z4`pZq9+24ECZ0e-LlZ)(fQd0i;ZL|mmWV7NP2y=UC{y8uC(f~xG+7XW3JGrQ<9mPi z+t+PzJ1+60_n;+)5}3E2$){l#&8|qKjtQ8dL_MFHvD-s4Yajt=-e*9(-E| zALzkvZ{rd2B++AMi5`dfOdGuzCFE0h!=`KxxDvpX{0pw(ZV4amXs_=6Qju=I2zK}s z-mnSeZ>*B&@D^6d7X^?6?>~?dc=TTfJr{CIYznUr^D@ATY~hsrLj}0tu4{oe$aq_ z9Z$W+VXit~IO{;mPz7w~?Cths7!X=zb2 z&2Z0ieOp|CT;z_{W!wZLenR;mo-OYs=Zu!rPw|IiopxUw6QS?L z;i}Lfz5x$;e=8?sJ7JrAgzbWlpV%}e8v~$qHg*T}8Rp#8@qT4D*Wht_wVmLx33eyI zH5mxMz_0xaT1vs)_A5Ay3Xb$E7_eiOw^Kk`mVEC`9?OQR?MBr;0~226SA&>Zhxq!I zuetB%_;(Oo?*yUH?LFw^f%llu>Gd8q?R3f!ffD**_d4JXTaUkW_!KC8QWjn@@C7$){XAYi`apqCtL5+Qz4_$f2avk(24o%ta<^Zg$0&~fk3 z3vTv=mp$QT=Do~3Pt7-mhTnZTF!XO&`}qf8*g9Aglh{?hHk*(8F*S&1RrM39YC(QA zDfCmS`ch3ZG175lLh@8~!>*cI7&!hmh$#jbwTsNCI!2`&_$Wg^V0fNOB#;}rFaE$_ zNRsf{HjsMfuaSAN{%lheqzO1yi(KD(uzu7N_aM9n;gDRPy0<>-iIWK5fpAE!Pd(j& zqtcEh>5v2&FVvs$#GO2NLVZw+BD|f}_K}TgfNo8#B>___BuPmZsnnGuB}kI8pK6tl zc8*L{!wMCqNU6$nm4>M;8m8euk%BT*Jmn{#fR$*F8`=FJxF>!5XD-g}0#(3+ z)1e2qP7}B=yBnrh9!XzzdH~SXk#1WQHjlR#CcC|N9KBcR^WHh{&ab$*XM z97g`5>@etoHP{}9xM)TNL1>U1?|qsPBFsdZ!1({54YHs2K24d7J|)zpvk8yvXzY9- z>e*oe%+kiNd)<9;zyGC zfn?4dxnQ|u+9T7POg9MV)54#;u;7w?9@)pqzHa;(m*l*_+TG|8mt;MXNG_?Z-(7bKxh0!dB5&`N-W04d>>@(75iJg$+B!?$rRxwGB9b0KMq z3_?YG!5^r9mHHE*N>N)>N`dyj{WudNN2eko^@~3QR7iYv=FU#y1XML@rLN`K-PxJh znb~>Rzeb}W0^{^=Yep{A5%LFaszazOp7;0(xlUA~ayl_MiQ|asQ~kQn@JoJ!mv}>v z1VfZWqfV+b0#d*TN34=!wefQKMd}hqXYtu{G68=4bh>>RJ`wK(S(u zqV5e8E2|VfvY)7dOGFIqKa7c|VWe6z4e?!^y`a8!qdXg4G%G1W1J`cl@ zf50cure*PoH@RipR<|rJ|FXCu%i;d z*wb-XesABkZ@Y*K-eK{geIJSP9msLrz7LVee?ZcBEN=rB;#4B}R8I1%zDq>nRX^qBYW0E20XPw= zhPVJH0<=skV6uIw74tl3!D2JIiVak7hSk$R7+lU9wHOI zDgWSP+YZf0$4!>n+573|z45b}YK`vf-MYCqzG;`k4?!3%JNk+peZO><`;Qg- zkCpq67yFOTbex!powOq-XB(PafB%UuVSfq!Er4UOBHpp52NOXjAiL#3mYt9+8&Iru z3hRh0f1FozEF8Ggp%TlgX6AIo%Q|NTBqReIHB(H>Sz0#Z#xcW?U}(w|aqsm)9DmU; z1Y!7^I{{oGv$2l~ho14A(Dk@yYvFK-@5W8{gK?>|MNi0|M;d z4BLy-z^I~TGx`KHE2^s|LrvIb1X%05fO;QS2)f{FVj0DN8Y&!`ZCPhG_Y{si8s_W(#Vk4Klwzu54w%EA#1%b_rWRTlSZH? delta 146 zcmbOxvw_j~G%qg~0}yyav7r-85t^>G?`z5 zq%|3Du_mVEX6E^6GEL^^5fxm?@EIijOTon|rYN-_zj*R~RteQ#95%W6DWy57c10XO WSwIL0f#II}12IWI340}ym>2IWI340}y0AX5PrXm<0ec@&xz* diff --git a/petapp/__pycache__/authentication.cpython-312.pyc b/petapp/__pycache__/authentication.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d04604b5467deef5b6ebae6af4ef4510f14724c GIT binary patch literal 1026 zcmZuwO=uHQ5T3U``DxRpuwvp*r8M;r)F6VQQiN)YAexJK=n~j&cVF8io89!i4QV7o zksdtOQ*Po>sb}w=^{dUD=wB0)Q_^UdFzH*aS4{m94=AT4}2x0I6r zz6zyJYES6iN1+2Y*u;Sv(FqZ<#>8+GLorwnm)nfgWpWuqnntX|3xu*{IUClES7K_@oo zk}ccP2GQjf$t%IwT+J*yGYx;Gm%C^wy<-A|Jd9uW1+oq#!AFd!(of$vAXfUF7_haa zH)M-Mh9_!Ut;7eMJ+UqKBbd}yA3_UqgEuAqKQRRiJ35b%O<0rXp-J*m5&NN1@t(ZO zMCC!;TdYva=YfoE3P!CJYE_N8$$8Ubc95F&C@*^c+*+CY`BMR9uMpqk@`z$Fk zB>qOns!fwE^FR^Z<}q|mgmiS{&drjT1~1+7c$rbRG)sBa_v)oO_4!JKX1!iAvCGu; z%a-YvJ-1MA1*riOeLVi}EDD2eQ4TL6TZaQlO=iDnna=d{>0K?it>s>w|ET45w9C(C z_tM&KdU88G`SSXw^u@i*na$w?8OARC{w5p~+v$m)K$6+dTIN7TJmP6g`Si*)c&p8% zzjVzpjF7dbFZFfrYbiJ@_!ZNQ-v zQ?u+;-&4%TgR^$UbeFw?<+(m9FNQBIEJo|infL{Q)5nE`Th62DYR3dHv4K$$Ss{g& zio%W()6o-dv2j$zLh>nO*abrN;p#qI*oVT87$i>a#53#4p%N$A&Gs)q2($bFbFB9e literal 0 HcmV?d00001 diff --git a/petapp/__pycache__/forms.cpython-311.pyc b/petapp/__pycache__/forms.cpython-311.pyc index d98324708d8ae5bea7ef9a66c74e9066482843c9..2c423f5a22479e74ec9f79be5e992a9d50f51de6 100644 GIT binary patch delta 504 zcmX@?G|7#3IWI340}!O|;ZD0gkynyYW1~7FBOeokJ41><3qy)vDq|M^#0}!?LMcMQ z44T55^%yV6N+g4{zyJ%B@i~lP@>)ij`V^)$%*&V<7*+!@1VphiF{CnQvBCH$EGevO z*wEClr?3Mp;JC#dkXV_UnpfhMUzA(L>zJEgnpdJwlCMyZSXl%zQIn}i5J=tP%+1V; zFH6iRO|9bbFG@)*QphXKO-e1Qe<^~biYqsT4I~;M&=E-8 z;FawNy}~QIz<)>K1zyLCypC6R9UI(k2rEr6onpU2?ts$;VfTx|?pK7}8+Pa)Rm2FE~_ytpNbv Czj%89 delta 98 zcmbQ_cG!t`IWI340}y0AW=>O`$ScXnv{9Xrku60am_bu;a|q)FS!O>?p~=$~_9-g> rl@%$12qhr#i^C>2KczG$)vhQN$YliL;>gXlih+!i*C=tbf)xS)Y(f@n diff --git a/petapp/__pycache__/forms.cpython-312.pyc b/petapp/__pycache__/forms.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0c01e2453c0bb930104fa2463816e9d51bb7a086 GIT binary patch literal 8120 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 literal 3340 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 KMYD*m?SBDl&71rH delta 1898 zcmZ`(U2GIp6rMXfJ3H-kce`84Zhu{9ZC#Q6qL|RXP$(gSs1yl9%rfjuw@YVsmou}4 z0HJ7zG5R984<>5ji@_A45B3Fp^3lWxwn-nzBpQvx#1~V8`oN2xa~E{MFgx?@chAqg z=bn4cefJvs?o{lvXtY_vXYbw6!dIDVvGmGcIQl@cB#SwcLI1MDT-lHr@sJa86+;nR zal-Q?3p=VCF(N{y)@@zQ(8M_6G`Y=2v)~$X-OvSZa$4M|5f!}IiMeqjF1YTjw7Ll+ zfrAz+>LlGZqfIDc&K9@bXcs*0Y;{vc3VG{Q$w*rX#11Qo*lD#Pc3E2xyRCM_9y@Mr zy((SDP2Hq@ipS`+QmA{%N+V{h4#aI1J1S*6f0bfr@$xDQRIp2y4g5Vez!d%^tFFz+ zCs;y3byf}{V4tnpo)263jnG`U2c^liKSP)0r4&*~BLpGSaRT)<(=V0^foh*GdcFt3 zUxh9*XsJNis^Nl*He-b%9 z03j5tGBK~m$m^j)x#XL9AD%;5AMe$=g~KerthG&%59~l_^az`$%T*tSP&`1YHiRqE z_j=;}!CKeQx<0(257(4o=v}+5^{Lt@s&UI)LvLomTNQu{QTEgQuNGU=|B85{(${jOPb4wVbV(p(wby6-;n*iR5Ac!i*e z;8g+X^mxyM>fCut`SzLG@KJo%_4y5bzNXA$oi304ti6;&b8+NB#H#`| zT%d@y6VJAR?pm!vTaKVxP}DRlJfc5)BeWNgl?g zDgz}igu(DHCZC?nkWvJ8t^29Z~)x2{>e-R2aR4S&w7^s%**uEXeMGFq| z*wnU>tp3O`pk<7*m0LEQqGkGJ2$EkQ z4<)@F4$}Iq))})@C=YpyW$^P=-{ZgU`+EiGJ{5PIxVOY*Bzj+Tm1ql5+Vy4G9aK?ud$$lbLyWOIQuK=W-I4lgkG^-L?KSc8kLGUkw+>uBz}VQP Y^e<=%JH|Gp25gyS%s|nT|3p;(0NjnR(*OVf diff --git a/petapp/__pycache__/views.cpython-312.pyc b/petapp/__pycache__/views.cpython-312.pyc index bed8b72e06b71757050677f5774ee216d3424c83..ef70712785fdee25b7ab97c4d0797a80f18f310d 100644 GIT binary patch literal 17625 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".format(obj.photo_avatar.url)) + return "None" + + avatar_show.__name__ = "Картинка" + + +class ProductAdmin(admin.ModelAdmin): + list_display = ("product_name", "price", "availability", "stock", "image_show") + readonly_fields = ['availability'] + + def image_show(self, obj): + if obj.photo_product: + return mark_safe("".format(obj.photo_product.url)) + return "None" + + image_show.__name__ = "Картинка" + + +admin.site.register(Customer, CustomerAdmin) +admin.site.register(Product, ProductAdmin) +admin.site.register(Animal_type) +admin.site.register(Category) +admin.site.register(Basket) +admin.site.register(BasketProduct) +admin.site.register(Order) +admin.site.register(OrderDetail) +admin.site.register(PurchaseHistory) +admin.site.register(Rating) \ No newline at end of file diff --git a/petapp/migrations/0001_initial.py b/petapp/migrations/0001_initial.py new file mode 100644 index 0000000..89c7013 --- /dev/null +++ b/petapp/migrations/0001_initial.py @@ -0,0 +1,165 @@ +# Generated by Django 5.0.1 on 2024-04-16 19:10 + +import django.core.validators +import django.db.models.deletion +import petapp.models +import phonenumber_field.modelfields +import uuid +from decimal import Decimal +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + ] + + operations = [ + migrations.CreateModel( + name='Animal_type', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, unique=True, validators=[django.core.validators.RegexValidator('^[a-zA-ZА-Яа-яЁё]+$', 'Разрешены только буквы.')], verbose_name='Название')), + ], + options={ + 'verbose_name': 'Тип животного', + 'verbose_name_plural': 'Типы животных', + }, + ), + migrations.CreateModel( + name='Category', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, unique=True, verbose_name='Название')), + ], + options={ + 'verbose_name': 'Категория', + 'verbose_name_plural': 'Категории', + }, + ), + migrations.CreateModel( + name='Customer', + fields=[ + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL, verbose_name='Пользователь')), + ('patronymic', models.CharField(max_length=30, validators=[django.core.validators.RegexValidator('^[a-zA-ZА-Яа-яЁё]+$', 'Разрешены только буквы.')], verbose_name='Отчество')), + ('phone', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region=None, unique=True, verbose_name='Номер телефона')), + ('address', models.CharField(blank=True, max_length=255, verbose_name='Адрес')), + ('photo_avatar', models.ImageField(blank=True, null=True, upload_to='customer/', verbose_name='Фото пользователь')), + ], + options={ + 'verbose_name': 'Клиент', + 'verbose_name_plural': 'Клиенты', + 'ordering': ['user__date_joined'], + }, + ), + migrations.CreateModel( + name='Basket', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.customer', verbose_name='Пользователь')), + ], + options={ + 'verbose_name': 'Корзину', + 'verbose_name_plural': 'Корзины', + }, + ), + migrations.CreateModel( + name='Order', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('order_date', models.DateField(verbose_name='Дата заказа')), + ('shipping_address', models.TextField(verbose_name='Адрес доставки')), + ('customer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.customer', verbose_name='Пользователь')), + ], + options={ + 'verbose_name': 'Заказ', + 'verbose_name_plural': 'Заказы', + 'ordering': ['-order_date'], + }, + ), + migrations.CreateModel( + name='OrderDetail', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('order_number', models.UUIDField(default=uuid.uuid4, verbose_name='Номер заказа')), + ('payment_id', models.CharField(blank=True, max_length=128, verbose_name='Идентификатор платежа')), + ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')), + ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Обновлённая дата ')), + ('status', models.CharField(choices=[('created', 'Created'), ('processing', 'Processing'), ('paid', 'Paid'), ('cancelled', 'Cancelled'), ('error', 'Error')], default='created', max_length=20, verbose_name='Статус')), + ('basket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.basket', verbose_name='Корзина')), + ('order', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='details', to='petapp.order', verbose_name='Заказ')), + ], + options={ + 'verbose_name': 'Детали заказа', + 'verbose_name_plural': 'Детали заказов', + 'ordering': ['-order'], + }, + ), + migrations.CreateModel( + name='Product', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('product_name', models.CharField(max_length=255, unique=True, verbose_name='Название продукта')), + ('price', models.PositiveIntegerField(default=0, verbose_name='Цена')), + ('description', models.TextField(verbose_name='Описание')), + ('manufacturer', models.CharField(max_length=100, verbose_name='Производитель')), + ('origin_country', models.CharField(max_length=100, verbose_name='Страна производитель')), + ('photo_product', models.ImageField(upload_to='products/', validators=[petapp.models.validate_image_size], verbose_name='Фото продукта')), + ('weight', models.DecimalField(decimal_places=2, default=Decimal('0.0'), max_digits=10, verbose_name='Вес')), + ('availability', models.BooleanField(verbose_name='Наличие')), + ('stock', models.PositiveIntegerField(default=0, verbose_name='Склад')), + ('animal_type', models.ManyToManyField(related_name='products', to='petapp.animal_type', verbose_name='Тип животного')), + ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.category', verbose_name='Категория')), + ], + options={ + 'verbose_name': 'Продукт', + 'verbose_name_plural': 'Продукты', + 'ordering': ['-rating'], + }, + ), + migrations.CreateModel( + name='BasketProduct', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('quantity', models.PositiveIntegerField(verbose_name='Количество')), + ('basket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.basket', verbose_name='Корзина пользователя')), + ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.product', verbose_name='Продукт')), + ], + options={ + 'verbose_name': 'Корзина продуктов', + 'verbose_name_plural': 'Корзины продуктов', + }, + ), + migrations.CreateModel( + name='PurchaseHistory', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')), + ('basket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.basket', verbose_name='Корзина')), + ('order_number', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.orderdetail', verbose_name='Номер заказа')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.customer', verbose_name='Пользователь')), + ], + options={ + 'verbose_name': 'История покупок', + 'verbose_name_plural': 'История покупки', + }, + ), + migrations.CreateModel( + name='Rating', + fields=[ + ('purchase_history', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='petapp.purchasehistory', verbose_name='История покупок')), + ('rating', models.PositiveSmallIntegerField(default=0, validators=[django.core.validators.MaxValueValidator(5)], verbose_name='Рейтинг')), + ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.product', verbose_name='Продукт')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='petapp.customer', verbose_name='Пользователь')), + ], + options={ + 'verbose_name': 'Рейтинги', + 'verbose_name_plural': 'Рейтинг', + }, + ), + ] diff --git a/petapp/migrations/__init__.py b/petapp/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/petapp/migrations/__pycache__/0001_initial.cpython-312.pyc b/petapp/migrations/__pycache__/0001_initial.cpython-312.pyc index ecfdadc3393b43327c135ad9865f7feb45351e10..5bdb6885d3321d5e1cb8def8ced28b9ffdce17aa 100644 GIT binary patch literal 10481 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 literal 3668 zcmcgvOH3O_7+$~D4-8$C1cGgh4V1; z%=nki&HzI`*OR}&Z#o#}H`+P)cp8o8i=^=#0~p|tn4E*WoszTY%DIZ}oZG=TnQIJi zeZ>Gbbgf&_4g%Qk9hd#idCHEYXODJnC!IJ@6bq`Li;Apawx|FoX?YuHKSPbq^Y>Vq z9a@=lPT4 zUGF+#?935kqpf4$%x?0~dK>*8GoL-2xxlvJ+}LY6m$KB1wW>b!>uJY1yDI6{IRAkk z%~f&#Ta|)4ce zng0xyv0sC#C`jUCh=ZF@T~Rd1%R&)iza(h7)!YL_Wzs>8H{lU4LAju>;lQe>Hl}f) zBfLdM^OY~sIzC6iRP}DLG76o}@RmkfbDpYZoq7t;s=amgvC$pV4pOT#ycL=f- zUN4s*W3q|RJf*WXrxr6NTMXHh!V+gJK2YQyyX+m;{eZ- zd&dUh!Q&v$6B-h&Bk6fXS=5QqI0#?~$^goF5o#*E$l#87Yh~P`Hx`v%BXIDFSePSg zW|5X3`{&mL)ouo^QcoMh3#62Gv*U^=lNDumf(y164b&2Rq}$EFqNE6ocJPKwe1HdG z7ZsJ%RK7`8Bn#FBxu9StSiwH4G}Jfm{M`NdxrM8QnxaThknND2cVxJvkVhkfQi6>e z*!RqHqJ;VL+`@%r6_yljnN(C;Q%dwrELi^cvbLPbWG47VfzqY2O0H*&_3)C0RwPCG zih0)6{l&F?x8o%H#ryj{#y{|N!1TooU#uSLdlou{dPl$AGNmnBo z#7*q?25B|kAk~OBRipP+)i~^UHAZ7u`Z82s#^}#f`)$pH$BUd5;pvrHqssK^d)1)f;Dph2?Oj0i>u#^G>R4KHfjCoyJ&BXm(+WtOaBFF k1LU#qayT5%S;mq0l{xb}d%?ke8!)+HgB$*XAss8gKNpW(d;kCd diff --git a/petapp/migrations/__pycache__/__init__.cpython-312.pyc b/petapp/migrations/__pycache__/__init__.cpython-312.pyc index cf87642c6723c83ccf188c29633fd42e6baf5dc9..5a794655e6990103657c909cff17e10eb420a567 100644 GIT binary patch delta 49 zcmeBYoX^N}nwOW00SKhe%B4-@F_N@%wu%WYPAw{q@yajGEK1FbaY-%CF3B&L=_G2+y7v5F~5EyypP814Z8hujGs diff --git a/petapp/static/petapp/components/users-form/css/users.css b/petapp/static/petapp/components/users-form/css/users.css index cf9839f..6865591 100644 --- a/petapp/static/petapp/components/users-form/css/users.css +++ b/petapp/static/petapp/components/users-form/css/users.css @@ -57,12 +57,12 @@ padding-left: 16px; } -a { +a.reg-text { color: var(--six-text-color); text-align: center; transition: 0.2s; } -a:hover { +a.reg-text:hover { text-shadow: 1px 2px 10px #57a09d; } diff --git a/petapp/static/petapp/components/users-form/css/users.scss b/petapp/static/petapp/components/users-form/css/users.scss index 869cff4..ad80e57 100644 --- a/petapp/static/petapp/components/users-form/css/users.scss +++ b/petapp/static/petapp/components/users-form/css/users.scss @@ -50,7 +50,7 @@ } } } -a { +a.reg-text { color: var(--six-text-color); text-align: center; transition: 0.2s; diff --git a/petapp/static/petapp/page/authpage/css/auth.css b/petapp/static/petapp/page/authpage/css/auth.css index 41960e6..8009cfe 100644 --- a/petapp/static/petapp/page/authpage/css/auth.css +++ b/petapp/static/petapp/page/authpage/css/auth.css @@ -4,4 +4,12 @@ .user-box { align-items: normal; +} + +input.btn-login { + margin-top: 123px; +} + +.auth { + gap: 25px; }/*# sourceMappingURL=auth.css.map */ \ No newline at end of file diff --git a/petapp/static/petapp/page/authpage/css/auth.css.map b/petapp/static/petapp/page/authpage/css/auth.css.map index 1a3e6a4..c09e80e 100644 --- a/petapp/static/petapp/page/authpage/css/auth.css.map +++ b/petapp/static/petapp/page/authpage/css/auth.css.map @@ -1 +1 @@ -{"version":3,"sources":["auth.scss","auth.css"],"names":[],"mappings":"AAAA;EACE,qBAAA;ACCF;;ADCA;EACE,mBAAA;ACEF","file":"auth.css"} \ No newline at end of file +{"version":3,"sources":["auth.scss","auth.css"],"names":[],"mappings":"AAAA;EACE,qBAAA;ACCF;;ADCA;EACE,mBAAA;ACEF;;ADAA;EACE,iBAAA;ACGF;;ADDA;EACE,SAAA;ACIF","file":"auth.css"} \ No newline at end of file diff --git a/petapp/static/petapp/page/authpage/css/auth.scss b/petapp/static/petapp/page/authpage/css/auth.scss index f1b9a7c..9945aa3 100644 --- a/petapp/static/petapp/page/authpage/css/auth.scss +++ b/petapp/static/petapp/page/authpage/css/auth.scss @@ -3,4 +3,10 @@ } .user-box{ align-items: normal; -} \ No newline at end of file +} +input.btn-login{ + margin-top: 123px; +} +.auth{ + gap: 25px +} diff --git a/petapp/static/petapp/page/regpage/css/reg.css b/petapp/static/petapp/page/regpage/css/reg.css index 911b310..8bfde9d 100644 --- a/petapp/static/petapp/page/regpage/css/reg.css +++ b/petapp/static/petapp/page/regpage/css/reg.css @@ -18,6 +18,7 @@ flex-direction: row; width: 100%; gap: 122px; + margin-top: 40px; } .reg input { font-family: "Gravity Regular", sans-serif; @@ -29,9 +30,6 @@ .reg .reg__item:nth-child(2) { margin-top: 0; } -.reg .reg__item:nth-child(1) { - margin-top: 45px; -} .reg .r-side, .reg .l-side { display: flex; @@ -42,4 +40,12 @@ } .reg p { margin-top: 12px; +} + +input.btn-login { + margin-bottom: 20px; +} + +.user-box { + height: auto; }/*# sourceMappingURL=reg.css.map */ \ No newline at end of file diff --git a/petapp/static/petapp/page/regpage/css/reg.css.map b/petapp/static/petapp/page/regpage/css/reg.css.map index 25439ad..720bb76 100644 --- a/petapp/static/petapp/page/regpage/css/reg.css.map +++ b/petapp/static/petapp/page/regpage/css/reg.css.map @@ -1 +1 @@ -{"version":3,"sources":["reg.scss","reg.css"],"names":[],"mappings":"AAAA;EACE,qBAAA;ACCF;ADAE;EACE,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,0CAAA;EACA,4BAAA;ACEJ;;ADCA;EACE,mBAAA;ACEF;;ADAA;EACE,gBAAA;EACA,mBAAA;EACA,WAAA;EACA,UAAA;ACGF;ADFE;EACE,0CAAA;EACA,8BAAA;ACIJ;ADFE;EACE,QAAA;ACIJ;ADHI;EACE,aAAA;ACKN;ADHI;EACE,gBAAA;ACKN;ADFE;;EAEE,aAAA;EACA,sBAAA;EACA,SAAA;EACA,WAAA;EACA,gBAAA;ACIJ;ADFE;EACE,gBAAA;ACIJ","file":"reg.css"} \ No newline at end of file +{"version":3,"sources":["reg.scss","reg.css"],"names":[],"mappings":"AAAA;EACE,qBAAA;ACCF;ADAE;EACE,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,0CAAA;EACA,4BAAA;ACEJ;;ADCA;EACE,mBAAA;ACEF;;ADAA;EACE,gBAAA;EACA,mBAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;ACGF;ADFE;EACE,0CAAA;EACA,8BAAA;ACIJ;ADFE;EACE,QAAA;ACIJ;ADHI;EACE,aAAA;ACKN;ADDE;;EAEE,aAAA;EACA,sBAAA;EACA,SAAA;EACA,WAAA;EACA,gBAAA;ACGJ;ADDE;EACE,gBAAA;ACGJ;;ADCA;EACE,mBAAA;ACEF;;ADAA;EACE,YAAA;ACGF","file":"reg.css"} \ No newline at end of file diff --git a/petapp/static/petapp/page/regpage/css/reg.scss b/petapp/static/petapp/page/regpage/css/reg.scss index dc57087..ff32d54 100644 --- a/petapp/static/petapp/page/regpage/css/reg.scss +++ b/petapp/static/petapp/page/regpage/css/reg.scss @@ -16,6 +16,7 @@ flex-direction: row; width: 100%; gap: 122px; + margin-top: 40px; input{ font-family: "Gravity Regular", sans-serif; color: var(--three-text-color); @@ -25,9 +26,7 @@ &:nth-child(2) { margin-top: 0; } - &:nth-child(1) { - margin-top: 45px; - } + } .r-side, .l-side { @@ -40,4 +39,12 @@ p { margin-top: 12px; } + +} +input.btn-login{ + margin-bottom: 20px; +} +.user-box{ + height: auto; + } diff --git a/petapp/static/petapp/page/userpage/css/user.css b/petapp/static/petapp/page/userpage/css/user.css index 5cfd6d3..7f1b680 100644 --- a/petapp/static/petapp/page/userpage/css/user.css +++ b/petapp/static/petapp/page/userpage/css/user.css @@ -32,6 +32,7 @@ .user-info .user__img { max-width: 110px; max-height: 110px; + border-radius: 70px; } .user-info .user__descript { font-family: "Gravity Light", sans-serif; diff --git a/petapp/static/petapp/page/userpage/css/user.css.map b/petapp/static/petapp/page/userpage/css/user.css.map index 4e06219..ae87b67 100644 --- a/petapp/static/petapp/page/userpage/css/user.css.map +++ b/petapp/static/petapp/page/userpage/css/user.css.map @@ -1 +1 @@ -{"version":3,"sources":["user.scss","user.css"],"names":[],"mappings":"AAAA;EACE,qBAAA;EACA,aAAA;EACA,iBAAA;EACA,iBAAA;EACA,eAAA;EACA,SAAA;ACCF;;ADCA;EACE,SAAA;EACA,sBAAA;EACA,aAAA;EACA,mBAAA;EACA,eAAA;EACA,WAAA;EACA,yCAAA;EACA,mBAAA;ACEF;;ADEE;;EAEE,SAAA;EACA,kBAAA;EACA,gBAAA;ACCJ;;ADGA;EACE,kBAAA;EACA,SAAA;ACAF;ADCE;EACE,gBAAA;EACA,iBAAA;ACCJ;ADCE;EACE,wCAAA;EACA,6BAAA;EACA,aAAA;EACA,eAAA;EACA,sBAAA;ACCJ;ADAI;EACE,0CAAA;EACA,eAAA;ACEN;ADAI;EACE,gBAAA;ACEN;ADAI;EACE,eAAA;ACEN;ADCE;EACE,sCAAA;EACA,eAAA;EACA,YAAA;EACA,SAAA;EACA,4BAAA;EACA,iBAAA;EACA,kBAAA;ACCJ;ADCE;EACE,iBAAA;EACA,gBAAA;EACA,aAAA;ACCJ;ADAI;EACE,eAAA;EACA,4BAAA;ACEN;;ADGA;;EAEE,6BAAA;EACA,0CAAA;EACA,2CAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;ACAF;;ADEA;EACE,2CAAA;ACCF;ADAE;EACE,eAAA;EACA,gBAAA;ACEJ;ADAE;EACE,wCAAA;EACA,aAAA;EACA,gBAAA;EACA,sBAAA;EACA,SAAA;EACA,YAAA;EACA,gBAAA;EACA,eAAA;ACEJ;ADAE;EACE,0CAAA;EACA,eAAA;EACA,6BAAA;EACA,wCAAA;EACA,kBAAA;EACA,YAAA;EACA,gBAAA;EACA,mBAAA;EACA,wCAAA;EACA,eAAA;ACEJ;ADDI;EACE,sCAAA;ACGN;;ADCA;EACE,6CAAA;ACEF","file":"user.css"} \ No newline at end of file +{"version":3,"sources":["user.scss","user.css"],"names":[],"mappings":"AAAA;EACE,qBAAA;EACA,aAAA;EACA,iBAAA;EACA,iBAAA;EACA,eAAA;EACA,SAAA;ACCF;;ADCA;EACE,SAAA;EACA,sBAAA;EACA,aAAA;EACA,mBAAA;EACA,eAAA;EACA,WAAA;EACA,yCAAA;EACA,mBAAA;ACEF;;ADEE;;EAEE,SAAA;EACA,kBAAA;EACA,gBAAA;ACCJ;;ADGA;EACE,kBAAA;EACA,SAAA;ACAF;ADCE;EACE,gBAAA;EACA,iBAAA;EACA,mBAAA;ACCJ;ADCE;EACE,wCAAA;EACA,6BAAA;EACA,aAAA;EACA,eAAA;EACA,sBAAA;ACCJ;ADAI;EACE,0CAAA;EACA,eAAA;ACEN;ADAI;EACE,gBAAA;ACEN;ADAI;EACE,eAAA;ACEN;ADCE;EACE,sCAAA;EACA,eAAA;EACA,YAAA;EACA,SAAA;EACA,4BAAA;EACA,iBAAA;EACA,kBAAA;ACCJ;ADCE;EACE,iBAAA;EACA,gBAAA;EACA,aAAA;ACCJ;ADAI;EACE,eAAA;EACA,4BAAA;ACEN;;ADGA;;EAEE,6BAAA;EACA,0CAAA;EACA,2CAAA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;ACAF;;ADEA;EACE,2CAAA;ACCF;ADAE;EACE,eAAA;EACA,gBAAA;ACEJ;ADAE;EACE,wCAAA;EACA,aAAA;EACA,gBAAA;EACA,sBAAA;EACA,SAAA;EACA,YAAA;EACA,gBAAA;EACA,eAAA;ACEJ;ADAE;EACE,0CAAA;EACA,eAAA;EACA,6BAAA;EACA,wCAAA;EACA,kBAAA;EACA,YAAA;EACA,gBAAA;EACA,mBAAA;EACA,wCAAA;EACA,eAAA;ACEJ;ADDI;EACE,sCAAA;ACGN;;ADCA;EACE,6CAAA;ACEF","file":"user.css"} \ No newline at end of file diff --git a/petapp/static/petapp/page/userpage/css/user.scss b/petapp/static/petapp/page/userpage/css/user.scss index cdefec7..4ad578d 100644 --- a/petapp/static/petapp/page/userpage/css/user.scss +++ b/petapp/static/petapp/page/userpage/css/user.scss @@ -32,6 +32,7 @@ .user__img { max-width: 110px; max-height: 110px; + border-radius: 70px; } .user__descript { font-family: "Gravity Light", sans-serif; diff --git a/petapp/templates/petapp/about.html b/petapp/templates/petapp/about.html index 7ef7750..11c42f9 100644 --- a/petapp/templates/petapp/about.html +++ b/petapp/templates/petapp/about.html @@ -27,20 +27,6 @@

Почему нас выбирают?

- -
-

Присоединяйтесь к акции PuffGift!

-

Получите уникальную возможность порадовать своих любимцев! Зарегистрируйтесь
- и получите на первую покупку 25% скидку. Кроме того, акция PuffGift дает возможность получать
первым - уведомления о новинках и розыгрышах.

-
- - -
-
- -
diff --git a/petapp/templates/petapp/auth.html b/petapp/templates/petapp/auth.html index 82fbbab..5e73c19 100644 --- a/petapp/templates/petapp/auth.html +++ b/petapp/templates/petapp/auth.html @@ -26,7 +26,7 @@

Авторизация

{{ field }}
{% endfor %} - +

Нет аккаунта? Зарегистрируйтесь!

diff --git a/petapp/templates/petapp/catalog.html b/petapp/templates/petapp/catalog.html index be81354..738bab1 100644 --- a/petapp/templates/petapp/catalog.html +++ b/petapp/templates/petapp/catalog.html @@ -15,7 +15,7 @@

Каталог

{% if message %} -

{{ message }}

+

{{ message }}

{% else %}
{% for product in products %} @@ -39,7 +39,7 @@

0 {% endif %}

- + {% for message in messages %}
{{ message }}
diff --git a/petapp/templates/petapp/contact.html b/petapp/templates/petapp/contact.html index 34b257b..9b26347 100644 --- a/petapp/templates/petapp/contact.html +++ b/petapp/templates/petapp/contact.html @@ -62,7 +62,13 @@

позвоните нам

Желаете приобрести товар?

Авторизируйтесь для оформления заказа вашим любимцам

- + +
diff --git a/petapp/templates/petapp/main.html b/petapp/templates/petapp/main.html index a9ddabe..af1e546 100644 --- a/petapp/templates/petapp/main.html +++ b/petapp/templates/petapp/main.html @@ -52,21 +52,6 @@

{% endif %} - - -
-

Присоединяйтесь к акции PuffGift!

-

Получите уникальную возможность порадовать своих любимцев! Зарегистрируйтесь
- и получите на первую покупку 25% скидку. Кроме того, акция PuffGift дает возможность получать
первым - уведомления о новинках и розыгрышах.

-
- - -
-
- -
@@ -78,7 +63,7 @@

Почему нас выбирают?

благополучие наших питомцев - ваш приоритет, поэтому мы уделяем особое внимание
выбору качественных и безопасных продуктов для
животных.

-

Подробнее

+

Подробнее

products
diff --git a/petapp/templates/petapp/reg.html b/petapp/templates/petapp/reg.html index db1357d..040c938 100644 --- a/petapp/templates/petapp/reg.html +++ b/petapp/templates/petapp/reg.html @@ -21,21 +21,27 @@

Регистрация

{% for field in form.visible_fields|slice:":3" %}
+ {% if field.errors %}

{{ field.errors }}

+ {% endif %} {{ field }}
{% endfor %}
-
+
{% for field in form.visible_fields|slice:"3:" %}
+ {% if field.errors %}

{{ field.errors }}

+ {% endif %} {{ field }}
{% endfor %} +
+
diff --git a/petapp/views.py b/petapp/views.py index f5c3117..b0f8586 100644 --- a/petapp/views.py +++ b/petapp/views.py @@ -13,7 +13,6 @@ from django.core.files.base import ContentFile from django.db.models import Avg from django.http import Http404, HttpResponse -from yookassa import Configuration, Payment # Main navigation pages @@ -267,7 +266,7 @@ def user_edit(request): return render(request, 'petapp/user_edit.html', {'user': user, 'customer': customer}) -def buy_product(request, order_num): + order = Order.objects.filter(id=order_num).first() if order and order.details: uuids = uuid.uuid4() @@ -295,7 +294,6 @@ def buy_product(request, order_num): return HttpResponse("Заказ не найден или не имеет деталей") -def buy_confirm(request, pk): order = Order.objects.filter(order_number=pk).first() payment = Payment.find_one(OrderDetail.payment_id) diff --git a/requirements.txt b/requirements.txt index 1eb63f3079bb87b069a6761c8a599a29b13a9d5c..830359aecfe02152016dd6d5727319053a9ced2f 100644 GIT binary patch literal 304 zcmZvX!485z3`F1A#81H>VAO**e`FO@3?i}`qaUwM8x9=Irr9R*I@5kXfyj}Xo{9q- zy_^|KRmPMFTh0VpF;`a?Qc~62)pDdJbeu%Ba%y>SVW+Mqk#DW8p>zlHwv5yr{?9}w zSDs^RPBGB6d>W-ZotXPBW4FkQz4T5SXU=4rUwhd-k(=f_-PEhEoUnTeFC*@}wQ0~F LhWS)ZmQnBngC8zx delta 66 zcmdnMw1`pq|34RoEQUmeJce|JdkIv6lUPi&MFi)G+t;9>}1 O$YjU?!hD8uFdqOb!wygY From 2380cd2d6a5b7caff23a438a0a955ffc1c19582f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9E=D0=91=D0=9F=D0=9E=D0=A3=20=D0=9A=D0=93=D0=9F=D0=9A?= Date: Wed, 17 Apr 2024 12:46:57 +0300 Subject: [PATCH 31/31] fixed at all pages --- config/__pycache__/__init__.cpython-311.pyc | Bin 162 -> 162 bytes config/__pycache__/settings.cpython-311.pyc | Bin 3147 -> 3147 bytes config/__pycache__/urls.cpython-311.pyc | Bin 2415 -> 2520 bytes config/__pycache__/wsgi.cpython-311.pyc | Bin 682 -> 682 bytes config/settings.py | 2 +- config/urls.py | 6 +- media/customer/3055444_avatar.jpg | Bin 0 -> 1245 bytes media/customer/450861_avatar.jpg | Bin 0 -> 1245 bytes media/customer/6651825_avatar.jpg | Bin 0 -> 1245 bytes media/customer/6852386_avatar.jpg | Bin 0 -> 1241 bytes media/customer/7265800_avatar.jpg | Bin 0 -> 1245 bytes media/products/1920_px.png | Bin 3905 -> 0 bytes media/products/dOnBAHTBsMc.png | Bin 0 -> 126495 bytes media/products/image_1.png | Bin 0 -> 138711 bytes media/products/jN5lfuNTsYs_1.png | Bin 0 -> 117466 bytes petapp/__pycache__/__init__.cpython-311.pyc | Bin 162 -> 162 bytes petapp/__pycache__/admin.cpython-311.pyc | Bin 3796 -> 3796 bytes petapp/__pycache__/apps.cpython-311.pyc | Bin 533 -> 533 bytes .../authentication.cpython-311.pyc | Bin 1198 -> 1198 bytes petapp/__pycache__/forms.cpython-311.pyc | Bin 8978 -> 8978 bytes petapp/__pycache__/models.cpython-311.pyc | Bin 16073 -> 16068 bytes petapp/__pycache__/views.cpython-311.pyc | Bin 18570 -> 18570 bytes .../__pycache__/0001_initial.cpython-311.pyc | Bin 3564 -> 10021 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 173 -> 173 bytes petapp/models.py | 4 +- .../petapp/page/basketpage/css/basket.css | 16 +++++ .../petapp/page/basketpage/css/basket.css.map | 2 +- .../petapp/page/basketpage/css/basket.scss | 17 +++++- .../page/user_editpage/css/user_edit.css | 10 +++- .../page/user_editpage/css/user_edit.css.map | 2 +- .../page/user_editpage/css/user_edit.scss | 9 ++- petapp/templates/petapp/basket.html | 41 +------------ petapp/templates/petapp/user_edit.html | 55 +++++++++--------- 33 files changed, 84 insertions(+), 80 deletions(-) create mode 100644 media/customer/3055444_avatar.jpg create mode 100644 media/customer/450861_avatar.jpg create mode 100644 media/customer/6651825_avatar.jpg create mode 100644 media/customer/6852386_avatar.jpg create mode 100644 media/customer/7265800_avatar.jpg delete mode 100644 media/products/1920_px.png create mode 100644 media/products/dOnBAHTBsMc.png create mode 100644 media/products/image_1.png create mode 100644 media/products/jN5lfuNTsYs_1.png diff --git a/config/__pycache__/__init__.cpython-311.pyc b/config/__pycache__/__init__.cpython-311.pyc index a75cee171c9312b90d7bde8b2c27e1f0900dbb44..26b777be3a52ed7aad67366b561f09f5a38a8ef5 100644 GIT binary patch delta 19 ZcmZ3)xQLN^IWI340}zz-$WP>+4gf001aANU delta 19 ZcmZ3)xQLN^IWI340}zyNtaaw|VIWI340}$Nok>ALDnvKz9^L4foRsd}j2kZa< delta 27 hcmX>taaw|VIWI340}ym>jDJsDXnyQEGf) zh*oJsWr0GOC7JnoP-R8=DW%CJb`Ty!2~ZjYi^K|w!M%N3R@(V<-C>rkIxxnIjk;U~2i|Y**js}+toMt;%uUPnA2uZ!bl6H|L h?Fvg8RKjwH=@skX3sHF&Sn@BjUQpKQ-*0079|XX*d| delta 230 zcmca1{9cH6IWI340}xz1z@1jRkynaIQ#_R`O9CVW0x9xqxRx<9Fsue*2w-AJ+`8I9+6My29dwB(8J8*!=>F$3+&8D=Z$9S8y5t06?xn2mk;8 diff --git a/config/__pycache__/wsgi.cpython-311.pyc b/config/__pycache__/wsgi.cpython-311.pyc index afbd93d81274b0e3f5b4fd3541403c0b92fec5a3..420d74d105c48fa7262baa7e6e90e5a0bb4f9aff 100644 GIT binary patch delta 20 acmZ3*x{8&1IWI340}zz-$ZzDH&jbK5hy<|! delta 20 acmZ3*x{8&1IWI340}zyN/', views.add_basket, name='add_basket'), + path('basket/addition///', views.addition_basket, name='addition_basket'), + path('basket/subtraction///', views.subtraction_basket, name='subtraction_basket'), ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/media/customer/3055444_avatar.jpg b/media/customer/3055444_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e2d076934a69682fa46f3d607b24da240cbc42e GIT binary patch literal 1245 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGcf;8=hr;{So^J7H*9F$OrMH8!XM5b}uC|DZ zoKar8WYvF$sB4$@KVi@O&k*qoM#}Uhx|9=wzZs6Xk literal 0 HcmV?d00001 diff --git a/media/customer/450861_avatar.jpg b/media/customer/450861_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e2d076934a69682fa46f3d607b24da240cbc42e GIT binary patch literal 1245 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGcf;8=hr;{So^J7H*9F$OrMH8!XM5b}uC|DZ zoKar8WYvF$sB4$@KVi@O&k*qoM#}Uhx|9=wzZs6Xk literal 0 HcmV?d00001 diff --git a/media/customer/6651825_avatar.jpg b/media/customer/6651825_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e2d076934a69682fa46f3d607b24da240cbc42e GIT binary patch literal 1245 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGcf;8=hr;{So^J7H*9F$OrMH8!XM5b}uC|DZ zoKar8WYvF$sB4$@KVi@O&k*qoM#}Uhx|9=wzZs6Xk literal 0 HcmV?d00001 diff --git a/media/customer/6852386_avatar.jpg b/media/customer/6852386_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a3dadd44ae29111f6f640c412b247eebf8e427d GIT binary patch literal 1241 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGX{TE$hx{w{At=S5Y9x)CY?P~0^AkklecykE^_BKtghTe|{%277y8r5bhA+zDrSU(R@7G`7GyfOosyMO#3=^yFzxvPc zOK<`A_FK8@7IV873T<=e@1I%Mw(*a#%?01`CFgGUZcgR@ZTT;j|8cBraaEY=$GYW4 zMP0Kwzn_r*t+{~d`ak#G?|(h8pA_zPYTeREXU$g}CrnTHr<=a-S)bJO_HB&Y+P#b? zrNjFcEx4Ln%4_zBW#`qrC7Wlw&2$#*4{*z1c6N4YKXPk|+5V5O#237fR__1HwX16B z(wEzI<*x9KbN+M8sVM%wX&I&$_d>lGbFTYQw63*R*R_;6Ct5d!I?7C{&EB}E!E)vv z&%(MkS+!$j6L)-;;nCl}{8_fY%ccFB-kjQSkE)cJ1T{43Sro~|Mcf#hSx G|2F|s734nv literal 0 HcmV?d00001 diff --git a/media/customer/7265800_avatar.jpg b/media/customer/7265800_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e2d076934a69682fa46f3d607b24da240cbc42e GIT binary patch literal 1245 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!*?!?MGcf;8=hr;{So^J7H*9F$OrMH8!XM5b}uC|DZ zoKar8WYvF$sB4$@KVi@O&k*qoM#}Uhx|9=wzZs6Xk literal 0 HcmV?d00001 diff --git a/media/products/1920_px.png b/media/products/1920_px.png deleted file mode 100644 index 2a1536b369f47abe4f14693fbe068bf64e32a353..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3905 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 BDl-58 diff --git a/media/products/dOnBAHTBsMc.png b/media/products/dOnBAHTBsMc.png new file mode 100644 index 0000000000000000000000000000000000000000..074b3a8337d13bf6159f4ebf948bf8a54264d085 GIT binary patch literal 126495 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
tblnvcgQMdO3_sMtG@->dW2G=KSXs?X1)LOa|r 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Œ^Kn9Kk=_dj9|EiewnI@9Y*+dqC^{4Y3UWdxC}c&?0_PIh!Q z2HfK2Phed%7@2&0lnsUr98!du^U_VR3Oo&>nzr~n%T|Vzp7uPG&hbehucr}yq+PDB zuTwl{=C*-WPInf`)iwU|XJ;9Ib($AIxs}K{c-ot?>7}0nlIMhrMKIvuEE<%QLWqzV zsWT+R;vtu`qgn*Sr;!^1p%+Rz85pNxhh|*AWWsEgjmySS`kho_93!so9k75MpfHUi za@>sBtwTbs6Be{(_jlUuq={B~3||aPW?5y7B#3S)eNb-;j-I@WZ5`tGbEfI~)tO3(|5s3jK1#%OgPfkVO5yZ9ncd5OUp7X>y8LAwaji41eGgAF#`NrN zCB^-SDr+HuO5#Y?G^*>Um>&wVbE@o_S;GNL zvU=%E^>ZsF^FJ1g1YB)hnIwcvG>aE5qXnK+CS0p1!2B#4W8G^|hblpi{wi3k(cs)g z{N^kBxQtcRs@IBQ90oAhz6s&n3PdX;@Mbw;g5p`A1-YkQ*1u1?`R6F2X}=$yhR}c7cI5iq`^`Os!*gnyA)H>+OSv_Pza;_($52MA^YmY_rb+9$Qs`JJUHxOCYH zOspX{TF@B25>$cMw~A7LSL+;GNrH`zv{`T59hS7IZ1dZhy#kY&Lm2^LLVxrKv_WMu za7-uZaO%Zo?Ta#@?++wFIp74CeNP+b%1FWSb=o`_dQY`Kk8gh;5=x^)mD(9qSD8c8 zVTFUjg-67Nqk9ZHAN>$UPdFLI4Dt(1I`-Mnc&63|AfD}(pqB?DX@aDTosY`3 z`OmD5U~f@)ToW@4nd)kVW*^7I9v8i;fc6~0i^x$I7OWYE?lg^5V#ze3*u@c6IiYvncMAY@s z5ggz85vctx%$>i6vZRFwI*^RDqaLLFeK_9Rgx>aJ6mwKnz3WQ)ar|f?1|n8p9H|ev zHbCKXhN3`HKc$kw-KL9DYP>?2vhCO2`K_9yGr{NtB>z=FPBRA}{3k8E12XEQ;iooH zxvfgggsM)9yr%6xP5bh-qvC$Pk%@WmpnM#afuK*~{!G;;WmQh)TMCLNn|7h6-NZ2z znA?yE9I`4B=>a06fGt*1b0E`sQoC~cs7=Ax!1p`dwvj`kLdn-poLL+rPn8OH!@L>0 z1ZYY7j4Ean1eR!XqD&R<*YHU`^`o`5u4*G-jIau<>xUpOpA&QTL(W1GX2*cQcy@Ba3iZE3eWw^me1rVUVke`Qf|YWmOL*L1YDi7U(k#9}@*f*2^J5+dD$n=m-IE%gAZ z4Yqnxel!ZmSNL~cX;Ua#kd>U&TtQ{`5Gv*5j0dKSKuS&65weV_6xLzWW11mw6&N2v z0JCr!!S6#)B~IP0kBr|Vr;tiBV+*ymrz>zsLZ1yaf|#X1bjjp~$=hj!PbP3@I7aJ< z%WY1epCHJlU1!>P^5X~~1Hsz)UQTZM__gIZ=+bdoJdQR(XiP)-$CvH+tlMO0Y%*FH zfgvk03N*^(8Y;)xaK~sZNfIn4qKeg@ROvNoi`aily9Z908%TIjG2(a_vw&j~E6{xY zpjJg>R>k8g;`}02gpg^ zmkl!O0ZxdG`lGnz(T)b|k@PphEy1*LP792J^~7U zugx@9%Ftz5-c??aaY+cR>{xxmNQ1ljUa83%9 zaG)`z^%u$&q?BEdS+i{LxsSv^157gt*p1;ZPSg?dWijQ@ibtHqf%!Y)%}~t@Diu^a zjkB%ACaPSuEfdy)HYW-3r`xncdM9&CIsRpedT`p6dNSJcq>%Yb6}3p9aH<{0RT|Dv zW&G%*Nj-}SVy~>tGiB=EEI^b*(q>ONSqK!kA`lCvjV;z%@~AzGBhJCbMgsaT5x1gQ z;yKHqlg=%K8uI7z(HVGDN$w2KF5f=YO?$%VX#}zx!-elAoySLLpZYdFAW5r+^boDOwx0MRs$Cq z5*SyCSrB7c8{B&>vEY5X7>r&9zbU!L~MVd=8-m7QDs9;Nb@d`Cr;pWx^m26bLw zDUu{eA{V4zw&jpj>CL!*ToZH0PuMrtXG)C=wJFGNR-=(Urug}!V!cu8YDD9s`%&AmM>-XQ*#6YwX=uk+r{_8fZSBbDLR((pMcJu1)-NMY-M!@a#v95 znI`i|?VWY8EfZ>|MQ6qH3DVa&fo?;{fSWad+GOJ)dO*I zt&?TS=80E|1A##)=io})Nh()v&>Mk9f7z0kS|6%_Q`ZED$|5ANLyA3gbu0aeaq?Ca zq88ElpL6@dY+D(sDqeF6)`MBMY0vJY=Q-}nC0nYkcrXZ#>uQPvvGWVldZud?e|PQW z%)2I%#KAGC1EFW^WxM#ezdALqgdaa$Vt@j(tHn2ut{J1G8-@lHXgJ}eCww>UdtErz z+-qU~F*AUk>;mHV->h5Nm?)li*7^P{!u_NT=Nk8jQ#q~M29)&C#BKIjY5sbL@|Enw z)&{zx>7O*ebjVgn_BsYJUWw~QhSq$EZ>6_=(O$xB=-i5ynt{qyv~gmE0TrCZ2}Wv) zt;nv#e@V`5vjW<7W;~ICf~uh)Ym3dw!3N5}4Kg2%Nbh_7qO$(6*K)>P?f+oNaHGt5 zU?l5i?GxVGo!A$C#rD9&N2gEx%)$14C-}dQ4JOM3&46?Z*UW@YYGQLG2`0I@1lBjs z4jKp?DpX$QW(taO{8&zCXmK`FCcs|Wq@{K$h((t(dVs`t>M3GVyR=twj{I-nD2?Lx zSzl-nr}8OkZ9%Bnq2$vWmRNTv+&h`Ck;4ffA$MIhK8_|nyBU!8v!FNHyg2kM?=(R+ z{^o>NZUynSGBhGBmRJ59GMEB(>`pkuC*ZU)DAcH)qPJqX5Ga_Y(<`|Z7rR$7`OHdA z!>!pMs zm%5zFxuRtFWvq*H=)rbuV2-zak_iBr6dBOexo35nZ4!F3zvYYNW$)bcb|17!E3OLt zkw>s)*8r;$nm8qGtkcSt_oHYJ3S*;PnL`VpC^%hMot#uAdJ0CEf%_a1k4vco2x)66 z07FIq%IZPNW{^e@@lET}NurII(dOP$qaNGWBw&|6k8=A>o{W&M2f@NvkA2RCD|s(B zmu-K{xD`>~NvQCoeNMWD`)M9>%6Fe-_g?;7CLL3D&QetFcaQ9J;<=|?qwM!0 zLYw7&%l6Ho!SVB|vGhT?d}y;=WCGDT>!jd8qwBjx#hR4K;yGpw575lDuJo64d9$NOdp!>OmN zw0-?PDjbl#h4Jw=%T_8Vr?h3-Je}oQ=Hz}G{if&gp-nzPVNH;$M=?{IXRaY4 zfEz;};*klTP^=P$RFGGxoIs{_1wk+tSZ#k(6Yj&$l%c^7y0wu66|uH5rD+mb*OZ{Hg?rmCA`vcxyJBdSapBlZvEF>s;mj z)u+4%*`JAgTwSZx3M8?ut^<&f9+H3FaR)gyv+z*8LFHQ!&<;`g-{*6dr4~_%)MFuKGauOWPBu%3rNYNK9fR0(Vad1Ggbc)4 z%0hYCf`87_Y^PBhr|nmE-bsSSy`QqLK4DQk?N-*#GU0mC=8qkE=L<9X&KGFP{x}h$ z&aj+rGmGdBFHS!Ds;lhci~Vu;gjF|r~>*sG6IeK&!jj| zz-eYUI)H>(RAEFW&9f>mZIa5z+-3eA4271rI2m$Q>D&kiDx@5mJ!pg_$#rrDr6FbdT_AF+3 zKC=j(EbML21bca-Sjlv5PcKm9&2_lsc~d* z?j~{;?vF$&-P=OI%5qIyBOv8;)d}`16$2($TV+cWa??EjF;Dm~JZEkzWP=PBKOt2y z&D=yr#FwRsm5zLaJVuk$+;?DZJ&*A?8(u0X+om?xc3jxZxk?gn^7!MJN&UHwe0UDSLv21aq&g3|~ z(0mt8e4x`d_BYe=mr)raGEy@uwFZCIobki+J5$rnFWD!Q_8)WRGGbQ~?Xu&G$dCm1 zVC0<@I+M|wyBg1bD>)@~xJwFIL17kyWWCi=XN4+NIZj*hgLy|*)R!!m9VZXkF*T*co`Ce1wv!%I>)(DXBa}we2N1@pB+s!Ax z%hWgjz0ZeEI%d*1oF=e}`^~1lW@FL{pj?>Rlyj77BA?Lab9p7G-k}aZ+eWEW7~`kB z3q0$VQ%JN_L*fD@sWxe^Lni41P6ZQ6?yWG)abl-whp3-Q0+>marK}o_2BX5%gj$t7 z0vSxwVqIvv?PMPKauskq4HzNBoST1yIlds2v+I-%V6Sa9gKZFrAma4lftM{4TpL`h zkuv;{65#?+FdQgtoO!j`AE207)3!Y49BTq@`FYsy2)(g`Tx$HmDj-4=g+L&Qkg{_I zMlg~vi{(4*Axmy_Vqz#om9~N=FU-crWNK=r1}Za}NI&P@HZr7a{PwgY8#N-96DN=l zn!7)0XKD(mq?zTs?40&lPHN*Mb*p%MQMG@XZJLnLvP15>%=i20gi|@y0y1879zo3# zXm9U57;lS{#4aCNagRydhX4Dti%$A2f1IrJc97AKqj_Lc^;lO8>rUbGX8sCmKl9B7 zftzx29yFZBCa;)515s3E@}J^2>8}(a5#hrF8p`25K;Yku?B(mA%A%pnlOH@3rak0j zy~q6rF87iJ!P|S1)yXJ|D7cOz$*-+vJt8dDyd<+e&vu>S{#EH)3T+}4 zQBZCmdF_%RBq(qzVG{=Z9@Lr@&iTejGLTAJy$)L0x3=NTIVvJ-ke7q8+Vv&lBI{gC z$sAd=vwfaDry>FxPwPF7&KOH8;6l$Kp01*#6(g=fHNf8N@%>TV*fX4E`p%Q>o~Nh^Zn%pJE!Cc z;nwX3@XjB-59xpiP!!7e9SJiM+M}ckqj!7o^6OXO)i*DrY)M!^CW#Vv6cu}`T);v| z#Byx-y}GEeX3(-#nT45D3#SB}6htBY6+pK$fKKNK*3Ya1$~Cxq=K*YO@3Z>5zOez< zpFhWHId(Vv;JZJ9`}ZHgTc3LwE?vIBW&BdZ@qPObzYmWeZNZB#Uw}70^AgHCZS+mK zzC;Fy`pyH{ah2olDcP9F(3?fq**A0Lx;3T(=SvP-`oCc%88%V^f zM8YgXK6SF?f`C_JrQlSmrsYinLsXO6T0ucpLxDzcM~?*SyEI{e@}H(=w;8C+0gc{oC(`RKs`c3BPjJx#if z2W`svc?Os=vb_AsWn-eK?$h(*bffroXwe{z8(a)p__~Ua?LqetI`w%8ui`R0VP0)2 zj_;E1{qOv1LrHonm~ie%W28(?Ej!mN=d|+%a^rmRR=n0ER66M%Q|kr=`GtIz&7!lS zl~WZh2B+O-ZGh#RSiJv~Q1KB~Rm`=t!v z5AVbG5a}(h%){4y=`H4he(PU+O9a%_0ScEMY;W(dFiYYP9(4}kVDG!|)vtdRHqI?W z_vjdg9fhi73+~@|f?R$IHG*PPkarZLV5-CJRu{hi-FM;ZzxY*{n_Gl~odk~d58-g1 zP~AMrrU;%qL}8XvLE;$Bp4|`}mKb4TP_22`;FcSmW*=dE@{CP}G4(RPuY0zROEYNN zTq8u4{&FyYKS7oJ0OlmtldC?3Qt19EHz&*hW?G<2IjIx&okg%rK9)ZL6t9!1do!tZ zCoSB3N=~_N_V?9ORo*^(UfOK>Alm%8oG|r*Gs5Gd?q1Zj$9@OnuE7ODV#Aji&wcVc z3#IxsZRD;|tyW!XXsgo~SKCaO0k3@QF;2pgAZa9#2Pq(}wqKZ%CdO+6~B#;PF z1QRYLr*rSUFThze^1a|*7R_0Upa^IiiD0V|*+6%3OW`aaL6}3Tl6pS{sT5A_7{J=u z7A&8s^J{6N0bls?TTtPO>=oGGBhIG{@Bi=t433)c{-4|?$1Ikq2_Apz#si3Z5$rxb zf)OI4<0IsWy5yQM2lsF9z}AyJc2Q`yXb~9VxvJ1ROyJwU`wlKThz3zG>NpZE38m|~ z^ULrnzxE68mw)3=!)H;gOws|iqXt_K_n~{-hpR7~g;BbXEkm{WqsOeyq;UW@P}rs@ zFz4EHhzwU5{ju4A&Z~n=y>x;3^2}46RX3kDUL7~7As4hgR$CG>0Ta^xi7c{g2S!!< zC0sNvg~&_d_^8H&>_gBnU7*agnZ?R4IHoKezWgQCAC@P zf)79@y?C~0LG3nhUU>q4+IdSWr$0@Rlu6s9l_M|A1j>pviHhwiXd;2k<>fdGDR3#3 z!Q( zR9o1_unVueehv2a4&crW6jmfOcY1L7>INdkTc|Q8c)l%&M=!y_K?eoz5#B=+E?iuM zYF#Q|mAOOslS!Omwex#({aD!C^D7`ZRd{xj1VOe>0Ig99&sS3TlWq@^aEarMEs`s_ zaQ@pF=FlX>?h6C|w@G7j;`#M#)JAb%J1S4wPZs)eBsPtLDpN1>=TK8ApyH+2A<5R| z1enbKm8}e?`F+eXVxUf7*m%mYu^7a>VnP@Qvf?1|e2Sh)(%znXEPF7GK7fYy2gcj=A-~)Zz?`OM}XS;9W&>C3)F+ zy)y5?q{7is8%(Tx=KPd0N4RlBt)1EMM z=O_-BlFwu3@aI#Ra4*@n3@uHXr_;_cslSSIfH~RJJGOuX%i64G5bn9-Ab*^HE??yY z$lNyE70@W4rmb{i7xN|b1l@d^#1=dP%rR9^^;?Nh=#V!yFJw~Ndy&au zgb%7bds{~=)MAvFd%InD_j@1Vplaaf19%guW+{fZ3!D@6MW!S6&oH|RE_2f=r zX>|_jP1 z{M_}6XefAqLKiu{4^ibs)Kjfg(I}BZdm#er_9F8p>n*N8rAr)PpR>_;W!SMiz5g2+ybGK>2g?UH}Y)f6D3z-c6C*~MnwUz*0IaY~}sz;`tq zI1Ta}18uGKZk2-qxc5<+6=;FUJewv-ZXcQuz7Jc`G1m%6wuEw~4+))-;{z|t=jrY- zFXa74P4BJOyaTHuOVc2~9}gBIz&ZF-{J<#Z*N^|?1|q0fP?kwjndlB&fAJigIlltQ zV8GW&lI(tr1qLcnB@@$Rh=@cL1&Wx^l6gc2)*lVv=2C_#$Hay6y}cs8U+*pjz3EIzX7zc^A{?JbQQ%QARCyP>gnE7orH3x zwZ|VP{)UoYDk)eILPv{<Jl3TxT*~b)*uNai1^|` z%JosHP|fA5SJ@L^yGf!!7YZnI!_x6*uV-0o^!UfJmt02Yt|_0fZE+9kXacT5EEVHZ z!2-oa_M|ydrhZM-7RH-C^BgSB75}@Z-HPWbExQM0Gobt&r`^gpal5_p$}9W>>tMv8 zp-@xyph*{<_S-Dmm^um)RL$Apv3DwX{y2y@fSHO3nAl&Vk%1eb#9vmD)zk{mXQUi`Veb_rV09~nb{3^#F1QG*EpN5?Q{Nca)0sPFD-e%W{cfRvu zINt6<1s9wELDw0yX!Zw(2GIhmmUnONz@tZh$oDboC!D65{K?+_%*%LOmDN&OEY6Pb z4g!@ESYtv9z&S)~%LxIvtPV0(v?MnmK}Ml?8o5Z0y3p?NGhWp0v=cTDnVHX-I_w#> zJbCVmO&xdyyB%vMY-Kc1ae<$-uUuk0^ooH*L6r~8z*Tm2_MU-5oNC;#kVB<nN*R0O63m{uhtCg##=r6Q zXMZP4$Sb@0=&YgH-2lL|;%YVi*JVu2u9DqbAXzJvv^$JK6lxW;w8il9>lfh6g+&S0 z#^Znf9qY?xUdHI?>>O;A*qW<>?@Pul`ocNIisJd?LLz80G0*7GUZ2C1sB1_# z*F+fGOcWejl`ujP2VN<`M%hG`Ru;_@QQEj8ipy?gw9h{L2(kKt#&_<6YU+yEhMXI1ielIj~{KKK1;BU3q2aJNEiZ^)nn^6kYLhmt6g5Tya-|3eaZzMN3~Q!v3w@g! zf#58KB-CQ~>=#}`KJ43Ygo1`Hg)$C#wwDoAH4vG9AI@FgfVsIAlK#kNA$nq~WFv*I ze*JCu@I&Op4vwH%YoUPJfW?(XcFADJkwD7-C0YtMH`^h+`o>ijxTHF!>3|IuT36Vr z`N6w4;QjY*qU=O6T{W>CF`T=w0Z}#K{9;tXmjtmx$o4t2r-psr23doNH?=;B%3?H| z3SB050A6Sj6or)hElYSHzJh)t0(Yk3gWAMeNoYs!&EY38uT5HfQSDzgZ zFi|Be+lm3~nH$t(AfWOGtjGHFlgrtqz;OmL;WeD3-u4Um7Q$Qw%Gx#K~zIO$zhU}zyr&ZWP@^bZ2=zK-hp zzFvIoDsYZ|7LwSmpu-tAP;r#}aUfA05oIi)evTxoFWCSgK*1M~FcVI%*{ZN*HAQtf zM4s=;^|SEiXRqO&6mA!pKRT5yLQ%|jC<1dNh|Yjm)dDP*Pcg6ua|F)Yf{8EIdBAI~n{PR!b% zz^v>cT)c7~7Uq_r+CXDK)8q& z(1#aaJ`d;5okx}Q7}{tASXreQR7q(h0xNV2h7$l<(gQIZN{mpmG(su@jd-mTuQTF8 zH6g2p70zm#h~OLRYZx2llZ09J*&wXI`t#AtrZ`G+r_PRr@k^V7l|_`w9;duy8|7rV8;^0cPKJR&z2(#Q}=pR49+!9-D zNAjITs!oMhY*64#wPa{u$6L+b`ps4i4Ge9#|L`%q^5$po+b$?J5`-Kq9t3qpyA%&f zdDEJ$0Dk#bzXYAb9{1_?);=t+wQ)a*@uTZdNEL6KtF4O104yw11i=7>t4YP91(gaC z2{~#bHRwzjc&Vq#zGq}vO#3WY5=4K8VG}l^1{~n^x-9e9?g(>u?PU~}YiJ~C_6K;E zJ@%QS3h04(zHH%6QZsr2LAlac`PUDt@8Q|n49B9J96KhaE)l}S|@DNNV-!A zKr_)&v+8nwe-j+e5dw*zkI1-4_*{oSD6-G;9jlXCJ1Z$Uf%^M`6+kWsK-3tU^pMv} zBT?3T4=&Q{pRn&^5Qzw?}TvS(kj&IRX9G{hpoq3&>s%q%9ZEf_PviN z7Y}^#%WoM3CiiH&j9sj`Qj>g9&7N~*AxE=f8Pwq8i8TmH_rJ`(- z5C!jCC)_Xp5KU_QX||_9a+YZqbrDxq@)a9)VMwuZi8guhff9kutkyBf%fZ}P0K4y0 z8w8mbzW5B8ff8iu=q&Ee(%FznI(Ulv2Tw?WPp(ejB~>O|O(UEd9gh@qV&ptat`X#L z%K|SIRLRp&2@-q%{g2?|k8i+huf7h?ziE8g(G*qF8K6~i z5gy*zhR09tu;>5A##wmp-S^ol`SovnRiYH|I!lX-Fc@^;4q7nJo;d?g9`C~L&N2ML zFMbW)dFOj5B-^mF{{$DC6sl2_FCt?4l;<~-^9B`b;LIYl$YCqtpuPfkM|1G|NfU13 zcsZ&qLYN{iheEjGTyr#x@b4j7S8t%uT|iX#B^11$OKPw%+-H7J8MT@PU}_CWagJ*% zdFmhwk9}o=uylVteO~BPL#c{Yy7O$~%U3tczCR7$JqeAKooABTsSU7j$3s?_CFh@3 zqW(VZR;ll zJpGPiuFWDjRwYe}Yqx^v!m6Y)K0`@7q*I%$W@(%n;(A+7cXAqK>XdkC-C;$Z*jcm!Tu1w{Kc=sDDK0z|L7g4 z*Xyvevx`QCc{n=iaDv574|%S36PA{i;PK-pu(7@YmoL2l_wGJ~ySKLB%H>z!_ANwQ znp~hO?CP?*QH8bDbMU?I{uu7uxd(IYc^D02_|CWg04`oV3lFeuZM3G6;8m zt=fq}$ciEmfSpEAz*S(cwgP`JYQc}wHatOe7E_QyX8_0DO{k1wxQT+giE3>Fuc6vC zXm4zQYR$n;Gzb5@KY|Bo6~5MJ!`a~>RFzzZ5OA0#;1Wemn8g0`2P@E09|1!qbW|Sk zxgnv!JyY%O7sj7!$)=Qz16GCajrwfcXZK=Zo7ZS;KRZxdCV*gk^cE4>B*9fQG-THV zr)sP58=F~(X-5;~zb8LSdXbfrK7XPK9#6GdF2Y!J#3O!$6D?sC$bw9=PD&tHWCTdx zTlhC~{&5ufBc_*3QgveSueAdydnASF1IAb{%-_&6n_a1!pg=W1B0iLdNkZ zKSA6=lQ6d@LV@bC_8~>f;#Rc*e>`f#JK;QZP-t~`H{sy;2x@r0qx}vHaLk;)d=Bp& z&rg|iZ{LImAAJn-XIEkA%z0?8EWn4fu*Jyx;XSPOci0Vs?bt+fFyEL>mfUmCscROU zfisv`waR;t?szvE?9Ud>8}ylb{+Yxp*(M_xt+RGzdwV8^BKnyqIrT(j_la%V{gYE4 z?I@op6y4$4G&B2-WR_n~xU??kPiM0ep2+NwSCtAowT2?xvM1tJMZd$XQ1b)L{S^V+ z;r{9YU~iLL3s{U>Bfn z)oKcFy!AW^xcA^^zxFm-M5`$Lmbot|ndTSQ-r~yzVFGWhz671)9<&z&xc0)^98gXv zi7sDXXWo+5k$O8cVOk@2^9wHnyH&8`R=^IuMEXMzl=cOsS4s^J7NJ0+dMSIl2JfVc z@a<>`_EihIx9>n_>oFsw<=0+?&e90g<2I-Cp@v2=3h9d%pue?;1N|6|_YPowc?GSy z0lb@3U^RuX?xkiF_w< zbD#B;g*I!0n%J)VHjeVff1*uKbd~$8Jy*kjhm4@U z_~q9)G${xwCTb{w^+pTMoPB}Y9V6#di)51YL`j5V%9anj(I_(u}zg*Z@$@sR&gZZo>6FsL{Y#Oaik zsoTe^K&E~&0!U4W5N?ridvNs>?IcUf2CWzr*f)!-Ac;>FSPsxEITrhAgVx6GS(Ri5 zasF-@7m^7{+m6&&UX^!VDZavnfOLQpd<8kHAtZws=9e0*YUNf^rLF;6t6u+^NM0BK)WL7i5;HimvNbQNSp90ffa>&&v_;e6J zj%Ly(oi^oB!|%eFRLvBIC}j3)P55@d4!3Jd5G$%*fE?Mz8Hmv6Fi3m2&wxq&Dz>?j z;2n<0A}ai82Zge(%p)f&MR$0#VZR^hRro%lxYwf|)MybL%ED%Gbw>JU6NwkjNRV+> zHct{DC@4W+syyJkNUG=6L@>2X!CN%#@i0D)v=u&(yN+C2#)p4y?`ZR-g51FpisE)D zs(MA#X4`M~EAv8d?eWya6!Mgjf2Vf;ESe|3Iqp(r{Y2=D$_LntL7z(1rz()PrrLZLTBieD;&|Y z010N#HOcO)Z2RqCRfU~`{PkrPo8LlC;;2wCQPrhUC588q8@v(JpjnOKFb+B0WT-{J z1|w|C&K`t=KB|)%b_ZQ}eD?vIU0a7Ui_5UTy$x$`zlq>WIdzu&=ps}*_Xi<7Ky~|a z5_*KY$*?kULH8$k_V1))rU3&zLFLN>rpbszPg4Wjc}^hP$Kv^n6Yo>wT0y6FK@Y`B3^qVM z6&_4WS|72V$$6M-H0VKuU0^RSfAKs~ifUzb2#2Z-?*{X*hlT)+s2p(^Pq>Ku=HdYb zU%`*R^~X@{4`69y4bpZM&Mq%P1E2lF+qa-g{%d$HsaqKYF_Vr>^oY<%r8HM3R|L-cL`aKc z2HiN~IbgHX`f%6Ys8bnWazPc_rs5!T7B`*u1#`zKGt%tuU_7344~yQLL83Cj!NMZ2 z>9nN|p$y*CJ5Gaj+sG1YjrE+oQgMnUVMe>!`T^AD(87NT`1Xq+bBEg!a4MTTV9;s+ zC3w>GF(q@%r8!cjZE+5}5NedP>h!ItXl1Wqf(+#jj9>t9wj^Pf7@mz(*S)w24@WH= zsgd}VQs3cy4XVbyBMRZnYuBNTYjP6}A^W2q%+(sKu7(R}$vxPI-qtoOt**g{bG|7i z{79vag9bc8kvND3$g>%%F=T3tr3JFFBL9%}-QG6G`f4?SbJG()PZgFEjj}o z$0tl*yyf@INmu5?xKPVyt18qt`Dx%b-_fU2ps$?J9YznlZKvUB$ zdfKh1OXsg-G;>;Yv6Gu591=-)9OzKev~VgI;l-qANI_`n@fA{;{Q{#x6$MwZZT5YB zpTZJpzfDzP^>9CMhwPVlZSc3uD_yag84Dv%gHIcQ>D{l$QbJXc zYbQV!LEv)(O#)4s+KDo_#qW%Lu9pu$Z8lg*{y=^Iil+DS{4vu?mqaPZ^4UKFT?%2cVS_E9=6a3(ix$; z+Uddig>w)dAHtI-`!N5-MbOA+P)6hm(iWu7#@L1fyl@ZOO+`<%@j=uR*K>=(m3s!R z|4w?IC;aYnN&YLhrJ3a&CQSUoRlpy3V?)f1MPI0mUwM*XISIwhit^m~PdJyo{*<0| zH=E0c*6;Txo^aCVS+{Z3&aToz8rF$0PEzkT5l*Jx4LNJnAJ6+=Ca)P_I$KS7atFc0 z0c6|c3o}7z;Oc;mle5|2W2=|V9_sCve@4?+<}!GlpCrnTKJyZUBuN*kLe@x93Yqjs zVJLB`oI)JL=~fk0UTp=gMQ)xz*2R@HJ2ur7Z{VfI;9_ENMH&jKRI!lA7MkS!KZlj>-k4$wdB>yR$Hyegfz76j@f!+5$hR6FIxOnXf+^zQmrwZ}AzKt@Kr@rBISJX7wad5Y7mq1JRVQ(0IpO5pNAaE} zAFH4Ya;>heQVJn%tY4QCPTHOprIo6jAW8GYsTo&KC249nwlnZd$cb@UH3-7OZB_}C zWPPB01Et&);nX&PP3Q=wv+|_x$vS>vQwmf;Xql5kCP^nu0Pj-DeXy&j5t0V+X&ZjU z{#e#K9Zbdx6L7A@(nutla^?2GaF23I&aP_Gi_7`5wmOS00N9F8;3l(CEj@La{v@F` z3x%ymgo7@jwFr8> z9vtj#!}{7;bMJUqy$WCbwLcGgyIZi^>%z5HUxA&@A#!ao8wDt0V(!X0ICt$j+Rx;BLkVG$Z9;7Lv1Un?(oqf3puz%NotO^2L=SKrRLRy9UXHWs)#@mP_J| z6cv0;6#HNC1atbjL2T9ptd*-3P;8^$R`V#`>g2Cf+FL!9L4=tK=I>`70%SEsZ8C=- zmpIT@@9gDSFjf2EgmlszDQWL{4TfHd(B9|akl=&9b$WYW7k{f-H zEFD0hQna`PRkU2E5F_C~8pP1=#c+)B=Ha6w9H4vf;QB=v&QSsC6z=`#J=pl#8id0k z-2cPxz}~?Qy!nOC!h@fD1aH6e8mpiC!ya6?ehr=+cA>X-2+`^y!n}QW^1UCz+$ea9SF;FA zTEG)5u_<=ww^&k8r;@@Z(c-Q`ZV8-Lhd3xLPNGl~#FUCub4ZGdi6}uu3{I3Cz7o_= z?M;Fae^y!+0tpMJ(`rE}TBd%&$rhzhvJA!$`a@EIBNz_!O>SR&XV3JBkQUu!cwf{W*O$3_GCZx_D-=ukyA2%=+FicX}CTTfVxG9g8 zup&0~ucM1|Xq@VBvPJoI9n@IcWZ%;XwtRbYHWjABhK{onpNk&a(^;G5SXy!WK6K3>^lPu6&*=t*&rgcsbPHH1< z&T7g7!*8pgLwhd@{6$5BEz*(elj8k5!qu$tELGS3HEV8gpACwxkAH5+AZFs1oi>P#^U(spb*W>}=~p1Qm1EiVC}g z#KdFuMleA1)a~{0J-$XG==OX3nGjazsEaD$Ay?I+P)Z7Rr>wxFVp7#~3P^7>tFW@R zf`2Q}n!AS9$T}mhS|yNYNR{m49;?X}yvHFfZQneq!-L)cs?9dszI_K8oi5ZG4S0NX z0DE`3@a7wD!rajweD-I)2tWDBPhcMV^8f|zrROf8pnD9nScD!zzZf~T zI$A-)X2fZP=5<$GHqs!cy-ixqt%X+dO=@GwEiBSy$IT$jid&h6Q>sx|HPF*$yaUJ1 zG3^>MY;^|6pd=pDzxLChHPhH}^>{X6R<@6c<U8_iMOE$blSA0r9l>bS zfhr=j7`di^QBw^l6;Z3zgvF&4R#xUXtl$uzH)4 zt1Qr(DQHj0{Q>1QJ2G|&{D+Jigg$9*q99dC2aiagj>5c3H;O`#jRq)`7S`9{xnKH4 zvhC zX^VoK<}ur*AvbMRmT+MrZRD$y9{Tftn9FKeY}!&#Jke#qaLQ(t=ee>>vc(m}2sm3Y9Sl#UO!{oA4*J5yb3Em1ne%5wg|+eP z@*j@Jfha5dgddYZ2LP%(*xIg=%G{^r+tL6haE&a=Ch{N@^u}olb>a|bV99z?F#~ce ztxH%4s(&#GrT%DuLa7Ibh@y@U`*3u0%%$XxI;h(1A$sZ_K#bNyQuR7icbH6s>KGcW zDpGJ&Xw;jqvD$#M8%yxoOAF9y)=_v7imEct6$YZlCn;JUqme`s%9+0#L)^iswF4J>@zjvqo@HqjS4k3hG6o9*2Pw<>F1etF8{3A$()%j zcdnd=fp^3#AgK8Jv-A&bgwROkw9P1%v4fx1rp=&tqCio4Xyqn-*=-i#dumXU2(^&W znNuCdI!b|WWp`?%)@~rO;UP&fLY{y3oD9J}%#8bTyh|CZw`-hsBVVk3^p@fx1G;uy z)VjWg0ZzUya!)-}=epevs&j|PKON)ih)d4(`UwJ>5hGH{I9qSlV1BL*byDw;?GBMg zoNq6}>T(2)7c>g2^PE+-Ua3)9IebrTA3+qzJy2RE@pg|{FcBRV6Bm~%7G|2`JrxJD zS9FzCtqi(9Jnt&QYh&E0W?hLcIHRZuYzPsRn#QcEZ-lvrI->!{2Co%>vM zgk(PUL46)BT)PM#JpLY}6sy{9LJyyHg!?px)b5D8bmQ7p_~83LfFl&Py-LKiMFly% z+7JchaSwWjN6@}{k)O$u8p0Yb1`QObeI=Eoc!^Te#w&=wnhXkCfU z2)#^@scFqEIj(d#=g#Tw&m1tzJ=%p`+4oAhdG@qjMCgn{pHRzGx!`pA68M?( zeK=PMlhs3nn^^U9EGQw3CH;5ym_#UMt`nNAg4UERi9M8nJ}s^Z;29R&g9a0pWcnzG z15R~AqI`q`}areM%(amZ~#qIwFgvb0Q-Se6&Bc;h1!mD zADt^zBMq6k%*2Gfg}U6q+ed4`gmg(0r-d5#w)cO_?U$W!?05HlLH)FQB-%45C|~Fa zdUoei5{%E~6>Uj-lZ8g9e06|H^p2&Ce3{|*03~xJ?*<+dfpP}CX>yLvXRVxN!RZr^ zpVs+LyX7t<9A zNyL2`(=k=HoGKKy+mH94)9-_-&BH2HX2LTxYBffLDGA0($O4GX8EI7#2&f*AA%O%Q zm>Ln1yg|FQE;YhToM?qBb;wv7q|697=4a7HmGBJ|LLYA)z=P-_4A0i#)nQ+N?Rt@^Z`Eio)^7lJQRXyokCn7?f-J#1g_>`?0#McqDNP@{%LhN9lusrZN zNqA6YBobbuw1b_oU=U=Dzvt2uMw=*%4({~ z6@z|bmkdH}p(zq9Dj!n&C^%{VI=uDz6;M^Ye$oJ486slD1G+U1;qDK~=u&|vo4d%> zb>aGj^RU-Df~EBq{PFMJfiHgcJk%-aBdM+QbhQXL#*Idpk;)sGVkkcPa6D8f>S-nI z!Wp#-U#Lg$&yW|4+ZDL*>I?Aby^o-ZGH+qyENE1rQ*0~U6*-qE%E&TGIm^-R!^be# z-GY_N=OI}{wZ5(3!te+_TS;NPGhp>P0Tb%QQ6G#;Tw977iCf@IKNC9Eo|os-2q9kp zokr+Q`)!g?D?7hVl1!^8Ag1EEi{}~#f|IW~31OZ_s7*4ukT4^SE(I*!8X1saa*WxB%vxU?i(R-k3tIt(;z?u zmMG(3tc~MXjjf%01zWB=HOPQnH_{wB%s(1LDQX~sGA8o7#sVWzRS5>5l5~h}j)$mv z)-~+y$FQ_egWi4^N@Xf#T2k@ECy#@dLcmELHeB-n5xBt#J;nJlG z@NfO~tMGsRzyCw{U;O+3Hhk-y19;{2b*R-tZa4K?s1wISrtFYQDrL;YT7p7mUqQ!$ z{067U$6_iYjui3&(p$ z@c7uBSaU*Keas`=wM) z_@-$_+f3_+vdz+E^xjwQpBev^t^yuZFRpxGR1GMshGTzA?!#9{**A#2MN#ln>+C=o zp_)`dD_&G@Kv=Ki=Q@+-A#zmomt8}QG1T%10SgZ5;E-!SA~P=K-U6$F5(bot;o7RD z(wN*zCldwo>87%l%Y#&s$(6+>s%w-wDH?^M7Ls6116L1J`UizU&<83>2i700_#58gk9|M>s)J1~sa;cx!uzXLb#ckuJSfIFK5 z_&@wV{(msU{caRzYD+qSAPwqd4S7MtTv%3k?0rokkQ2IR0aNxF5A16wZM=k|>@U^8qcv0^{IyeTkG!Jin z{THB9K`yPLpn(g)kH7UT7(93g@BH>}<3g6e;>J9@{-w{LFk5Ccd#1Awe-XsaFi{9Q zL%61pq9OFq5?3byn+_zb$SjM>@?mLah{y(x-6NgQ6q#{!T)<)>CJzSqZ~objU~^Z& zm%sQHH0Ek>Z+jnp_~9np+By`Dk&rE_zK`#3!Y}=MFT-MM4~1Y2_ECZ@p@36i2cl{p z78jS`m6xyMBp$-GEA#NPzxX!%&Hv~h8Y{7Ny$D6<+V(lsUu6PU7gbIPFk-tYp*%v- z*e@4RNd2h=M4R0q{G``H8^ju1dhRtumfNUB2k`P&ejX?T?{i=JGE`QVVNp@2l|tgb z57**-_*}gQSJQn6Q{?(ku!r1jisLcKykX_6f`SI2Ja86IF3TOM+FU9G*Ow}wNH|?5Fa}U#ww;Y=NnGu@rhsNAf;pG-2^D2H{+}Hn{ zYm643QjW&aW{Q&9rNz0FIgLP)7lQrGh7PIxpph6uPjG(*JmkN)xZ;Fo^+ zb@~nsD6jz>nX%f!tUJM#CD6XkoxU-`KbS|MlPdL-^1C&bMJ3>Amx3+wdEI z=~v-D``XByf{Je|T9SD8E@unc^GNDd> z#&R#@vXU5=4?(vkk-3)pO2H=c8M6BYW!pHbci?~A-iBXa-h;U(H((*&gce?lA`2q4 z2&3f!xx5vqqd;954dK=P6Zi}14*V(#vDeArc96=mRg$Gm)JqAq(<;v&m0Ak<*-5xp zs*KsCga>r#)eTa!vHI=><7!}fLX2@~n_xCUSv*eI72`vu%QYvyTV?$^y>FEVuXTC7 z4j(r1RPdaYe=4suTYQ;B29hKzvR3%1% zyxwlIAD|VG97dVocl4l@1`-@?iQfR#6?W>>iSvskA*RC+l*_CCY^%xGrnRvOnrW*f ziXjR@d#m2Ax^Q(5DcA|*{bJv-VS~{_AVLwe;Gs`&00n|LwQo-1#|ZR}%P*KmR#+^W_#?Jo_2gI6n_B z{qO$`XjUUM035;3|LiNEM}1gsQGu4apkXC>(j>i*MK(6VLP?N4h)WJ9_%u$pU^q^j z>@hI)8B*l@XwJ`#HsOV+3*Y?ChwzQR^mTaL@4*m_C7td*?_0&^xrFb~yaMO&e%hmB z4v_C)J1Qhpxj4IWF#%3x(s`6sd@s+&j0uCx%p34|(lUfnL@RRI*^fC%XpNtLx^>aw z(BijQC5h~1=Z|+b_uaHDGt{NI&wl%g?Xt8FoC3kwbC_%!yydDs!Hg#;`+O3Vw5yXp zQ8PGe&yh7kZZK<_GApVt{oQ*2#&?u6J{h4EEv#}4$u#vlNSRbIHs=}%u7oEZr#`0d zqR<7m!&9mW{>BQedH$J2Ou~X#oy18z7!J7Zr8Y_YtU6}<3Vihk@)IuWf3y5+Z*qEr zF{W@P-G~3p|N58Uzx}5lBAN-{`sG#lxBl`spn+=Jzx`Lg0CUJYzWDF{X{fU`vJ3ya zfA41*{UquMv|gHr{@?&smR8`&gL_<2z1ttb%4!=g(T1BJ-$8+qz$-6agyp5G7$QI_ zwM%0Hr=F2u4NMe)6}(cuF3F+{D76oZKRG_Z{rf1al86eTq_8|Vg6ESv@X8#Xw@=1^ zI`?0V)`k86xk%!?`s{-j#mWFyWvrS?1ik4$e{z)x5Bm&knsIqKT( zFtiF9ND zawtCOUaS$K_&g>Z=SMi@LZ1eMffj3zK}$K5#HaQ?>)dZ@LJ+zx{4LupJ7tE%v^T+R zd;A;o1sg{_24+1+q>v!$;fMkfY7j!X;8mtt6l7!^)`xcP-2(5_J%6iZKF5z6Rvs}C^`Ap$#hMNx$Aj047-QR){a){eo zyYP*le+&M_Z~s0lwbx)2G+Aw|c8+0XZ5iJA;Sb^3wTm#?>{XBrteFt>nJ_wv=gD+3zLin{Y4ocViTAKNdruBypr^ zdpS4iBRKy@DBnE6P!tHt(><+9B}hsc_&NE(%5mp3aD?_2>1hsto!W1*lxPn=vQ4PS95NEtym zF2W95lS(MS+5J!d`8#ms%0>3CTVAh2b7L8rl?HtN?YEf3Z_Kw)z;iMsr z<(QH<)`5~(U%jx-lR8GCUDd1XGZ&cbw&e4d1a16n84eHkVQ+5$H*amilg(p9dwu8} z?;?Vuq?`@>OI6t`I2hY7ztBWAwGLM{+VJM*>d->Hv4QGufP818LWro#0*Z{(q=@zr ziGBCoL#T3Y0jf6|vDGpr7ZGgFNQ(uVg^iXBAT&7xJ9brma_HiM?Y@(TraTo*`qbvL zbGwv36PPU2ikpn(DJL6y-sL>miO2_EBPEmE#uzITPpt#tT0wb=w3!omq&B;2#v~zh zB0V(*q-NiW9GbQbnFJ$e*(UFwNpX`Q2iQ4OnM8O1rm_tPq_r_cDnGb#XY{!>mtP-O z@L`V!HRppMqCe1?&;t8VJ@-ft?rWHiHpkJD>$>cCdo7)@cGhV_QUXc3Ai60+Xifz% zZOffCrvaEk#o!NOskgv_+Nzt3aE-4TSqf1={f)ozXF#L1FB+2IqwE+1s;>lR)+$hK z)KO@ldN-`1fUWX^GC)B{ui+quxQikU`KcaSl{#oO><<&@p{lpPvj;=`?htvkoA-9$ zgAWhkh37BA*^Me(xzvQ$UtNKX^)<9aEuf5yx$Is9l6jXZzH>4FO3_VDz;R@pR);KL zN5c^TOZ+~78V{CK9H!$D8X`tgO^=-6K<+(BrL)C;O81z$UQOJpH3?IdJXWw&hwmV2 z&j}6*XQRMh{mO+}ZqyVO<=mC0?prP(v+o44N{V|kR*1)>u}1SFkdZG)4CJ0dF;-DN zLaAmI3Tg{Tgj;PXFyjiug3F7U_+|29YB)BY1IjX>GKZD7pa@tB&3##9DB2Ml@1zWv z==Pp$lYKKSjy5VZOn=KNr=Pe)%qrMUlE4l>@QoW^rNqQ!DvL5gXAKkyBqVW}C5ZBI zi7KI_a<&%Kl8$HvAL43Xm3Beq{TzDEk2-gMdh)7kR`((^Uo7opLc-{H2ViTf3)_zl(Q1T3tG9z{Ul)#!P?*%Ju+Ub>oz20* z(i}9x8Z0fg;LMq0cOEI5~w3t5GmhVIy6~4 z0BmhlCy>nhj62Jo{7K`Q5m{*a-dc~<7-HAp3pMS1H(@;K*&_u?IWeUs@JxOav=Izq zm?6r8^C&Y17INvx8utBS?*OgDltH)#eN^#}s%;LDO9SDZC4s7lL5}jUQ7dd*lV8{= zn)-&5LbwKSM&gidC?;}5N$oCflM?^WObw=D(t%0wo-OPE5`7Xl0Fz%pdc7Whh{`&! zXm&l#Hf?YeElTcLvOv}uZ)O%X)!`pA9t=b+V8X04yE7!TLI$$3a$bJx zyvL~}GSJFbqznb@_E2E~DF6lW%@AJ$6qeltSFjNrcLs1ksff^`xwpR$`}-ONRgA|_ zBtZ}PF$I-y9+p?Du(;BO=U!Tc#r6eQTBt)Eh0 zt*JE>b|Vy8J+Y9YdRe8#gi;P!R6t1_m83C>`9A2*D<%Ou)A+19GWo?F81vY0f$m=a za`q5bw-wl;qSj~89~-_9(ArBEHLK>KrDD63X_f_q#}oM3ip_-7B@4QLofEjB;#Sm@ z{Cg>$LmBig1*Hwb;oNh;3k6rEXMf9pGbYz?z|7-7y1WK8|*<3QTSnX86K@& zhn?mE6)!{$N5*C~?ef!#48jrvTZ=Oc52MgUNKk&{`l!cF1w%?hmDJd$GvP51N*bmh z=I0lrp%`o+b=1r#5Z9e32~28u<*IYBST&J5fmxNv56x~lfyP$O2_01=^`2()2USiq zSgEUxIMFhxS)QdvG2{U|{vfTsErmURRXH}?1R-Z=^*7}d&hc#$zu|9z&c~LD_c_h!PRTLyBOlstGTCc&6e{>K2+%NqMym&uhzqw+wi6Ee zmJA`pYlW(T&!NYt$|kHNvOZ>%Dg{$G6*dWDBdHP_PNXFRhb_q`eGPa`Ej3A1R^z}D z3G%-|XONBwv*O>`#J?Ts@}1L*Kac@*lN?k=2yjqCXFLd|e+~E$ab{|0lpAo6@jab0~^12#-Pc~kJ z-S!4VXieTY-iM{m7V?^i*zq2#iqdvQ@Cc1Hd&}#vgMy9Hw=awmSnTdWw0jTQDC81E z^$+IPpWH~Bb|0apQo3#clX*50V@YV#=G3^l zP!6Eu68mMd#M!jBk6|ZPNA2=G8Qp2bx7>BpXszVMNT7#EnyU;e$#F4x2vV3TIQm0P)e%ih# z9b-Wx%OmqeYC@GH$5(D`E4_vo6XfQ_{GIJ%on!+;luE`?4H>66u3%16IWzUvYncWZ z6J{#2+S+tP68aKIrW)cgIKd&VicudnE-k`hbsbvmItr&bs8w*HhmzYXwGT0uvTHYU1Kzg$`8EzliLthYVi2}efYVrydW#JxqC}_lE9^V9)N-jL zpYWn6K5)uC%S=tno>STQJaOC`63&`$97klvlP?>(6WE_C_7#D{DBKid`z)V8Ais=1#kidMm1FM4_*t_u& z-231?xX|uGTxsEggJZ9*px?uNlMyTJFPAO08?Ysb)vMm+w44xS4U z-%^B{LRdkx6~S(|5AEf1FuZsTcIQ`65H9e84Gc#~?V}W$BSe$+Bw|8>)KIEB9iTua zE;hi`J?4_sUZ(@(@}a4s$~mc{r){$eGwJh!pB0Z41KG7Ua6WV3n{*vFkW(;qC9{X` zY7(R=c>WV(YR0to`hrZxuy#_-@>$;Axk;pqz?Pi!${;`@x?^5Bm*yk*+#6SM;1MZK z$cZd}9WZPV=Q>LbM;B=0m}|0vaOxmh)ndtyCIw+cbz{$aLNbXAjFFbCz?^%OP?B{G z4Hp@C9S_LCH$uy03U}`8LBF4{%KGhZ{|J8m>z_d+*@NHyCm+HaZ=Z$Dtvy_Q7vPOI zLb<c9m=nBV>G4OC(3_}sSP zh3BrJfTh7o`x{|xNLBlU!U|>T#o??|mluu@ur@xF)*sD2iy~(>X^hG^R1V>}@41+b z5iDRAJv#s_u{qlu$t{KeEjSI*^6Jd1|4|5vk7(NO}i){ zYV&7czq-bj<~gJ>&L3~VGEy1M0F6Th`%(9m$u?Lh}|N3+p_Yq;;;(LK2R@ee@b*a)tk<08=!j*1qJ!TBnl9~VBV zcM;*ap??Iu$M>LnbPK8%UVz294WNjVq+W*}p6@6iv>q}YF^CjHn@Dw`uDei0WXb9M zk|uOe5PDkWn98Z`kG7VeeU+^?vyz!*D@x{f!_(CK8}lG$+CI?64^0vgD#wrnrK?zC z(go8*mE?gk0Z3=@34d3msj!;bA(MSpULWb)Cx`AlFsR0aB$x@{3o{Kics$^`nibF{ zxQ8MeDx`J+aOPC5lB8)>B4N-Me$edC#Y9qp_KQCQo5<7c9O8L# zbwBDWsLwCMo0l)aZ~m9R3%~p;myl1PK=e>}E>bCC8h}#yoBLf0VL%BO>H6m{U4nY! z0S>%*_=o@Gx8NIp{%f$?Ux3}mTkscu`8nqG))(hlUFGWVc9A24PAW!^3aKrKBGM>j z;ZCWfZ9cEWp`&qORve4+*|S+|_uvWw%~;p)0YzzIj5PFFkf}1yHc>LRLoK65$ZN4W zauABv#)nNA<4)@KrILb)n>*rm!U6qk#g**F(lk>cjNNo7uUrMJ$3STCY=n#BYHtr- z*!cij=`M6AD1UDYR#vV<1-aIR_z*V2Ayh~E*oPXroj%m-bI>`a@`OE^dky41DXD01 z2>sD9JlKt4xmAVuK2ief%h0Y@AVhAK3h$`V2wFIXU))%R$Ejw+(@-~=GFWJ}c^>yV z9avjlgI(m}>WI`rTsYhK-O>9$geFo92|m+KV;LHkUV-}J8Vp;+$tg4{455w2tF^sH zP}#f%l>zawbvUjsLG8ko{3Hg*C3rMoX}X}A1@fL|vm_r+K%!{0ao>QIEk*qm%eln2UZ{9 zzve1XQhu+=?H(yAeuvlK6itEz={v%4|LmXt4$l1p*jRoZ{-=NK=TS|m!-KoGVSRo8 zpMP~7jt{qyBW&TZBeryMSd>ZkBN>PkUo(y??6v~NGHnq{>Qu|r0LF5ofcxHi{K_Sr zEb>+~B~e`(#ITBpA?XpX)07-)-q5sG?nD{&$yn{hx+`g^LZf*|J{jdutrR>K*9XZN zA!Il^yMkH76wweh7Iw_(0b9SYACNDlV%s=Yh@zMqc429M6S=J;E;l$pes-yI2zNjD z2risI16R+sIJaC>2VV3e)s*svXmKaxdw@nKT^&GYq+xe&2)jE2SXo|zRy}|>pT7dA zR3MT=)P+KC(C@=u=ZHDG2oe6$8VW`nj}JFDVbJTsrE_QTSub;4i~*{e}Ya2Lg8AiLlfJ3`0xgPSB2`C3otl)4te4YP`7WwIaF&GaP04)^)$h`P$wR4 z_hb8j+`}5<&@4Keq>{~w&`#Q{r*&x6HZw2+2ZJC-+D}z`JvS3^_EW5f2hU)U{iL?i zCeVtlrF@%WUP1CqNy;6~la_{j#ORaE-7WZk{=ffgs5a-}D_?mNzWEQn50zR6mRFYG z{+%Ddzxmg{NUp>(xo}0}d|zCMMG9N!n9u~NWTBZrF$*<9i)WXc@Yny+m*Ji7y$^ry zzxt=}7k~A0u-@##7hb5s10;Z(ixpU|HQ>tn8od4X1qi9U98REGG>;Rh$GQC>?cojK zb)!`L={PHG!cLktH4iOPHADq}?bpAA9AO&;Z5Kw!>5)Y>7%aera~E)>-+{$e#MWM! z=O!}--B%*U6yonFu2a*?IQqG0#9irhHF?~c%5gn|H3T7*J{6!j6(6&u*D3&>-I19nk{dz)KOU08=9s*HE< z^kKPq0sFbiS0S2#T!@;r8f;uUhYQyh_E`lskM`jR3IA>HNl;crzm2v99o z;>>u=;9^a*MuhjU`QT%y@7;&$y*AVq)=<6D>XY_6Y4bxL#J9*iacxvYEp-MG^VxD=qWYeA`f+vC;~^%s?`hmn za-849eZYfhkTa)?Hx9V_W{+*d$Jml;EO3$m4{G8Qt~`GY)q>~X#_cPl`mFfJIBPRY8RP*{;dyL*HJ=5PG<&%;V1hOd3) zdHCX&U&cun!TIx_!@+fkYQsF-zWESVT7c-R4Ikk^`_X%waDF9%U;hhl!*JM!+qWLW zD=)8tJjWXQ(OE|^N!4S@4RX|ZALhxjg_g7s1z|iQAvl27Uf7Tb2W;~w5!7WlD^b}} zHl#S$49P|&MP9TZ`HVC3pLHIY`On7jZMmPaMLU=J26v)rSyh~PXHjKaMF{%<`5baW zHO?qvfi>K1V26eRM_4F(U66XFR9lo%9+8_26|kYYs{=HMq=d9k#cHDUw~Z*Zg{pTI z1wR_MS(waM5rNe-v>Uh&$)ckHY~MSAWPcad=CJ?pxYh`*-q`NJLW={p7gsk>sBOdH zG13R9s$aUWENvzMIaDajLTI2Ns@pw;<>fh8L^KvXxeHtG-$vv{AP~>n@4(XBIncu% z(Qx{4@FBVTrSOlS~^1Vs94OG|JD&q3CCx}V+MJuA(S(ZJAIn8V|05FU~d3S~m?7?#mUfxJI=bc3tBC7PqHPD`NiM+3R1a*SU?0qqB!6te22nTeAS9a7iHSyP+BH?}06>EfKA8XMDE1eO$v&Xkm*cH;KO zZAA1kS(Fh)Hmf+{QSeip2IhF>l+u34(1AGNCM-PJ_FqwF|i48?U|$ zhky7n?Czs6;JGU(khC#ARnSU}JXZG@&)eZ^5mKunsozGV*GHALRzoB`OnBZln|1i$ zqmN;EX$6)R7Z{;-2YsFgM;%H;fR@&!Wmua>VY;{iS9%xVgIjlC`^gh%_687C5U=8R z3s8{tdxxmn252Ba0gq}i@&4ABNzcwbO@wXQPn7m)Y&o^nTOH|d#4NJZ3iLPMIN^Uc z$!90~0H5lnl*%l$r`@y_bBd%EPvC$#CW~BSCjApin8+piy6`{yjc?$fuAvYM;H3)- zh@Q?O?=Xa4{NiOKZ54EIG3er;J>1{JRdN}A_h0@1-ul8BxO|p)mw?7H8w50S+jaQf z4{-(FJ%&H`XWoRJBMravTR#9*@4~GX1xd5bh?0;Q zsbfYZ(<0haBjywKBLtHcsKUY_A&1|oqBwrFwNz&p zg(_MFE$WVq${3kw1-9-|Ed}!JW32-fW%ATd`y7tfMih0SHH3?EXe7bE^EFgwlLP$z zn9-Y*U?l&p)GcsSnO=l1`C5|O%qFUk^QabfaV+%EnplG&wkt+TpjvIS6*54s>h8lk zT*#W#$R}v%8O)8~{MjZ7BQyXYuXgS71yl=DPCC$R*2H-@5{vpg3W_&heh$9>?)$L5 zvd#myUT-jxPDTT+n$~J9z^z-Gu)em627m?%`5`PV%yWW*WjuzQ!ioGid;S7Dz}As> zBRYsw??XgwJ9~$)vbqNKS{;^_k$Kg)s1Ez^-1-W{M~AR=cnr^I^a=Nyao!h%get&bleEu;2>v75dYU_4l(h`B7GY;#b$bi(iU{FsW%Ax%I zyGZt*KX(bf`@N5lG;hF}jW#2!t*u?Cx7+Zy{6h(&m=OK=>v zK_mZh?Q#uPabRve+Q-$r4j=yDF8uPJz7B8vjnAU6JcOV9Yp>wMd=4kw5jMYrmaaeu zZ!oGesZwN-r4Zeec$yKzag_+2kg~s;ah0Y%uvO&HpfDI&*A_9D5aKyL?x0%J;lJCD zyU^>0aR1&G-p^~Cu1FbI6d{1!Qz=>WYyf-8Z49~Ee8|q$*4nAHr)B~;6qm|UfNETX z>QDmfh(r=XMU^H;Jfy77<7A@esRgOknKK(e0}Ur@)jnKbRB#Se`<0*rtJNN722Kz; zC8+YHlSi?W_e2 z=&}v{uehsYC_GohFWj2M}Digy=uwu~ADX6mP`T zMGcWrqlx#s+J-|kEL=W!kzI`rc8*X8j$rSggNtGp+t7hI9G5lK!eh`Hez=3jA!*+^ zAl-`vYK+66-atWz=x}~<359S7AN=Go)N#KBM5SFc5bW+?KM%>chgQ*k7p`C4fPH-K z3kz*%Qb8V4-G)tg@^}-~?g|RF4%b2HbUNm-8HCnoG#H)verTVB1#{A-eciw$XKWx8 zCkr2uy(V+Mp_l?Q*ubUAw&y4lYJmw2G2Ei1qz{el0a-R~>I_MzZ&>-ML#COORG@6?0%N6*mzxG8q z*hkeP-bc$<3`?kb&efKo8b5*mP*5SNh|aL(tP-MS6{XJH{0a(yLw2zt{wHOh z14*bz*=BVzlA!ZcoNFWU-K6qzT0Faj)UT4c0|#f7qawPU5t79t`1tk%oOlVgX^T?^ zrHFtkRJp5y7So8Vuqb>{=q{b9!mnI^3)*c`|57A}14$WVV>)w6pLT!f(UYnthDRAw zzKY4kozslW*PaUN!b-{g0q=9Un)0NlsMP?GO*IvZ<}gY*w5^Uj( zsY95fER|H{9(hAR&WO}NRK}2p4Eel6{GO0>!suNJUt{N?uu~if(ZjYA!9Le$3W7?T zXeC7M2?ZIh1iU2HS}i8{7v|fDWXL##eb-!o4Mb0ML|;8r*GOGN?j8Fzl`k4TSutQ9uM$y%&3kW z!pV7-%14sb^zqgc7$G{Om}N>LK|Z2=;>=Lw_i$lJ@g8<|c0sK)QE1g+uGxm|ooy7* zJ-E1h2CB$YHnCq9>J_ecL1O(83e`uCp1_5b20f?T!)Aeogc^UaerU5!{4&06mSY{M zZhXw>KjF*-x#ZOV9#ZCgUhTAhmEqfRnK**L<<~DBGyQ(1?V}6E30?SWPn3@RYr>uQcyPrJyFy9r}yzJZ#! zR4749lmj3wzt7W_LKP&>C8)E?roJH(y&v z)c69T2rUx?udjzgj&c~HibL_H6pI)Ws!I1HStdyI1vN~#L)-CLW(x6QNf?c#9FrM= z@48`;n7o&TGB(^CM_N?K9}D}01P%(mHr{0eB~P4I#BCxtLQV&XdL-2^FLdGcD;lo0 z4qzTt%LrGgWYFPB42XhAe^zL*u# zumxLB`tWFY#6E3A;*$qGMNI7O?8BM06+|nD7#X!n+~bJ+%J5uktBY{+?nC5F(V(%^ zfccB(PzDZxru$tKQXf6;KnMHnXI{MkEwoVfj=Lzt5MgzPjJt^g+eGbP2SHDSMv7Oj zU50ry07SS*T}K1M`eFl)ae?iPnkclYXuS+L-(5=4p4fMHZasn~3fWq%$wH0t6&@o3 zTbf4-1qIbBFQLH;1#GhxacRPlLP51R;01DRX&(BB^jdfxg}lizqV;Q+&cla4xq*g= zz{)H)D{Z8}R4eDKmcW^X8F(VVSfx0_te7RhA|2V+c(ikXcbGd*F~x5_wGfO6$4_c= zNKIRdE#z;=YoqLM@7cIy7!o-!c79rsDdWX54vgN>9{lEi^TcRM`S)H8aom`i#*B5SvRN=^1{_|bSxIx2vGn|t|Wgo-s{PRxWb=SXt3A=13sI)q<% zt_xSI6(Nf0pz5{1e*ovt zoP#bd0K})#bJ^<T1LUhHDMAGW(bo1| z6gpLS^VR2A{SK;Crt5 z>+5T9w7+jBoc8mfxeq+t3zb^RgxP7(SeY=ehD2;`g`>RiA$qeoFRMp)1%yqyB3gOd)A+wW3Lb#M8uCsJVVo)G8Gv>*pSS72~ zNAOpE{Yxl(Q00mb;jjM1&+vVZP$&VQ*}G0PCCPaeIh^!>30BG|i`a*}vv9>nfv4K+ z|E1Dnp3I8#qtPWtY^CDs5|xI!s161&3VJLwnD?UCQL>^z3nw>D9@LPi&@d%4-aby? z39jZJe0&GFJTgA)!(y!ub8{_Nz(IBnEoB!kw%~vJ@BRu}vnptD3&n>F+s&D68G!e3 z6824yevbz*l^2YOJBw43JvC;FW|C9|RjFh4z$dk`nnqlcKvYF-YO4mET83IJf%LYz zxfO7}_0u{y11FlK^AOrg6N%s$jgVAFAwh`%INM8Tsg6jj&SAocrA}%XrF=p`yA*H3 zFI^eJ+skNe>_0>ezRS5QW40()po7T!7}c^NUS~+D!>RrOE(G%^bW$|Fgb5i8A~-@J zQ$gWV!FyksUqoa!Vh7ZDGnE6-hJHISk`YNYz15s1X@{Ra=& zy`_m9Rj-eWK&^qu{s?a0ehe|HrLVnq9oFVZc!ux*d9OcuZ~zZ?G;AOT_l4IMV4)eJ z^%1R(h@R%E3!ErmfcJ8U2=FVPeGL{{bxuawoNvMVKlzYJ{{SBjA-YPvjmCldNQ0m; zse#s8L}Vznw-`y`z_}bGlA>n+w7>b=+|WZj_mKm3s_*OH8`Z;CXzdu2sCYOlFRYp zQ%aJ6Cw~}7MhePeAOS5y_Q0>8v49;QtN|hIu#g}~Pb;-fBX)aGR9BR^EfjL(YnI~D zPXWCtd6yI7AyrV-*>{QrM4Zs-jb?pBS7a1=fL5^GogS`yM-U^j=noMIR9mP%L`d8= z;Qaa${QO&I;LMphR3A|6p=GLq>P4ii=X%UZ7Sj;h9ZQNC70dmyIz=i7wozewNsyCM zDhnP|nFG@YNhr@N#qZRx#_S?lQ3K?rl0H7ufkX^Mq@Iw_BI$ z$ed9xagYoVGL6vUNUEhB>%`erYjvSOl(<>Y!;4M5&=?mMBK~XPJgnlqE`*!#jpsvn zePIjgyVSp-Zg)G~Y393>(IgQGB$y1=rVG(5w#F!b-_LiC?4VU&94+ z@9rinBSN~kz5o?Hil2YXYU&;$uVw?E5emNwBFe4pE&Pmp zDGL9U`6ev2+Hh`Z3GW3BJcA=RIyy$uzlHsZ&xBk#a2%{Gqw!$t7*Q?JB~=c;qwC0i2vMNF{?S#b2fo z=Z?xUj)Y9YOG@RC)o%%1j5&d27@~!67&CcHmcKsoE=N5?SU6LjAjI#X_3|e-am5Zk z!U1;x-J=1ne7nrO_4;)joFSauXmI$`i*H?q)s+Qkw<@R-28;l?l02#qVcg?fWHA>) z2~0u&iPww>;pqXZXG0E3B$PekIM09unDI!XJXgf)Au3Zf7oEb#1l})UA#_D$Lt=VIImjOc>XIB)2h5@l3Ahq{Q>qB68eb5D8)Bz zlshhrLNBU;D}qXXI`)oDI2Cw|{aMBPtfSDr5N^TC&o|&&tBXi&7loC?ol@vg2hZEZ zXRv>q!oB;4u#G~E`lHTK6)4zI7z6Td(fktgniW(Psf6MYs+!fBq{kVdDjuQm>!M*N zz==&(ML=XuD(Mjlt0vx84+Yuk*$uQJZem~Up;|}bU^P_zMu?yu!hSEt=iP;KXWMZ7 z(h3UDAq#Cn;LXYiS}4TWZ3q{`4hoIUN(<_9ZHRCzQQ_{LC#e2zAHvlOYp8xFtag(; zJi>if=N94N<9&FtwGY)6ab_u0QSjYF3$(`ZLF1%}Y9{qx=jag5U)(^#zsf3ftI@{a z$xwjze7wich{o>_ui0uZa1GTt9Ft%C+%*<>OYLP?#xd~t@k8vRT{eD@`rAhBptxBM zjj}#!l;q>FoJLUC_qyzRC^ry{2?W`(U~x36n3il9;uRhkwap{`EkPSfW?KImxoayU zHqzA9E%4P-_ulig5OonsHkFb2ra-O{VJuXHx=B6$#_VhEDR3tjm4+7!N?1oifG2n& zDgV*hMM8qS93r&tQ7m9Q66ezx)e`dMIYOR_f`_?65*iPV4u+@-B6ro_MV@K^y9bIP zJxU9N{3)!Us?tUkb$(%vxr<-=`R8F}sfB#oIVNJmh=^_qBno-LQne^3KMc7+-8Y6GUWxIvJwkVi6Bg*Msoa&AY`2uAh{_U>PbrVrFlJ;-Cc%BFb*hPMA{p=+c&QKd7@{8C(bx1+th~_`O`xu^k{sI~p zmRK;?>I3F&_m6hr;-%|M5s<*8>ro%At*oMT`aX^&Tu^D=)|;@47SHo~6{?8xsCMh^ zJ5S){*PcU_v?6qXB6QqG^d$*8*H)G}b23pQw7?#s%DIDFY=R5I=I%pO**mbdaDkuK zrSs>}C=jy+RHN$NPsFL#CV8Y`5PgX zjN0wzY%9Pwht2Hg)cvg44}gYP#GcoG z{Kr2+lBkD##tsUs9vL@SWRl+wU5za-9<8=Jl<)1l5;F^Npra1kilc2-RAi;L^^_u6bJo1 zc#PcK9wIWTQ+n&p9$a0UXTt>{^+gmc_0~KL4!UqOJb-N!el;ZZ&z)I=mBk2F7pur= z;RRjUmT%8PvHKe$4E~sB3~B5n{U3vQf7$Ac-V=>?IhIf zqQZrx)0C64l5lR!HBnW@zS~6$eQgQ$kXM|W3(;VP>M>6Rx^QLPWTZvXvxcaE zI5kpx$e)5s5oq=p7e`((dJtzqX}2lEMua3k`BTL##D^dNR|HRB+iG%q1%`8?&??H! z#x+W*ATjT26JMjL0Vi_OCx0(gw;F=L;w}n|fnqL>3=~A&=^^rR9dU?evYswCiuikq z1sryVqCCeT8!gznm`Iow5zE8{#)%N{46w;T*AypK76Fsn1|wZlSclG&nvf%ltdfLL z7&(fP@T#GTl_JVvXWmGLdy?4XkSSlEoohi5oPEG7(AbzE>7f(yqeJyRT0%p}**Z>o z${mL2Goe6j;`vZb#5Q*kb?u=*+eXCv@DZtI%ka|0RakE~*u($eu)}I58NRl5w%Os7 z+;^^?Uu8Ax2!#TX@=A#_?Gg4{1y#2m3ZI?r4s5J00A*FLq58Je+`zFi2m3o)XdT~& zC44?V`}Re6`*{?61I_)=YDR1orOX{2Y~R6ydni2HtPNd0I}aDn;+VsI9zJ>i>#OT< zer=ik)yP=0`Q#BS&Q}p>&BHtI`~=cBuEP0M%3CM7_sF$`j1b%Vi11Lj?Cg$Uu}R$A z0=)FXHB>Pv+j0#$2p_}BA{r;|!Gqn$Xy~ZpK65CjY|$IV2?we)tZ@*8xG>*(vImEI z$8h!16%>L<34lBsid#NHPH;$61M!iF&P)kTC>jMyH{U=oNtHb5_=%g53^YK=aW6Dk zGu_Xsn2Rktr;oVu*YXqNW$m{ITlWx-kyNVW9N-9Kd%Va)ouynh&ar$0+FCDD!@u}# zk<(awYh65;QRB2CLwM!dD!@fjr$!tA&6&l>0W+0?Dw0-Ov1oAj z3T5;}4vQx^%HVM2yOLh-(x8MbXJ>3O)i!)ft5d>U#7)&*FB^f71 z>^@=S6!B)M@N+S##5oUJS_aER4llycpO!^30d z_b!}SK(w*|Z+_+lXjF$V7YH)lK~A)H+(E*u{!M5h zA>UYNA~)LLpz!%N@@OrhU?Z+YG3*KlJHmE0@H`z9s{Jk=kH4>-UxvGz`|$3Ei0YCh zv^bLMOoJ&C)GARW#rcRT=Gu~mH(odcuOi}Gp2O=Lq7|}QN3O4jC~lW6rhCUjXwOq- zW{UM3ak}>rxp<%|e~74SgbUslBHP<&pjvFyIHi0ODHB3{WN+2NuK{G4W|fC9oy!W-=aSr! z$mawk-E_oLHs(o4agJ#q@sEM%Lws(I^;95gGg$*^Qc|)**7Q*4BteD3B|zj5R!G30 zP#SP5Np^Z9$ET!&EkJH6qM-j4wxvpWz7nVm8!Uuka%8Ox*~K7CIdK*bKqO1pN~pEe z5#RuA#qmrgNSj1e$l*{SSGE!~rHo{!{)tT)xKv4&Sui=FN?(T3?3wdW|z-XtXj0FW~ zyI#4r4sRe|H-|`Zh(u|nT0@n451wr9Ko|R+5{2&UC$O**AdiOD%!L)^hUr-i5Q%ns z$P?pu-r5^+d~pjG)K;S=94{+y6-2Bt+(4Ck8_&}n@R$7ba@jUM``OQ`TeogOCTQ|P z>9mfuvj{?EgqQY+f6Jj+VIoCM^43-o5(I~f9GcxnfQ@Ie_spC&1NT^*r&4Z}pLE~K z2tnFU8H5(Nl-hjP&Q9VZG6&l<5epWTwS%kmC|28I4$?GE&}0rEA)Od&q*CVPsE_148jn(w5R!zMT#ri|rjp5* z7fVlgahrq0(@4OeZ+ZeFm|KWoX&EQ864wa&hr{d?>+ce-NA)KWo>ID{|Iwd)8GhyG zUWVNV+w63_yNi5UXP1Mg{eAo`j^4!9QLqJv|w zgPh|gs@^=GaQGb$t0?%$#iz!>@d*TK&?J7K%93!DD`K@T-biA0keh>=XuXUdBVl9n|D=1}n zG;sQ%h5|pBNh!I8IVJ!n5&gS1oEBd}?geB5vohyZ1Csl-_Y_O1E?kk&$Rn1|N-9|- zV#PvIlacnwU+dv3SS`N|cn|+WlvRv+#!OPwt+9 z@{A^w2$JlEOyi-7k)paqi$%<+RBETzQ6=hh1~9jB1_kekRkk+jNZZ@{NS?34{_ZAM zHL4hc02=`exlgK7l1f{cD~qi~8W>$B#&j(Pfz*5MV4Qm;qJy6ql^v{f;0y|lMlBUY z8!E{ur%bA04cwJ&P`-tL> zk5I+!qur+phy8>TPVS=+?#&0VnLJ_sa2Zv`L$p3py}y`+xDfdM?e^9cUvM_Ulw2l(j8 z7ObD$K*85V)UDz0V91WpD5h|KLEFbWM<_IK5eyC85i8~z2dJveS0kYu(3lht63GCI zLhcxa)t$RLoSW?|68-_w4P=!hE9ma_5$DBww0#WQJ1Dfzt-Q z06l^ygOt_fA>K?QYQTkaXQ73>WFH4OC3TGYRk(9&2dR$=qQQVObDTxNc5!13kz|`4 zl@IVfFJ3weAKy9PNQqigsy>m2hVQoFHkA0v3Y$-R6QLq=KLmk_%tEpIKw!vN?Xm3U zkIsC)YydG>1V!<8Q3Srvna-v5F=&Z@H}yOdQ?@>lnvWJpSdngdAy(HsBSKKY*uobh}{Z1pi(vkok$KaiV~vLG8vhi|76wcNrn#cq-X!DG&L4l zsZ}U~G-VHKpaLmuypXmqu;Rpu)aHbf@bThdvVNrOHWILK6L=CzY6-(f3FD}k5@bLA zP(0xQg<6GGyx0)uiqQbk>nU0lDQ~>)b&wK5G_Z1>GnK~u4m(e-FE7LW?L(+7u0lKL z!GpUuQ3yt;PBn279f>0^J_m|k=%UKCgl7I>Zx^|qLx_85#qAv+QmJu1`e-Z~9&bZ$e+2jMZNk=*1MG{A z#9m_a_O>@+VXh^0Yq5VL;_t}M3lZCWG(KD*KSq;Lg;Y2~nB)gG!uz=UXaKkFAH(uO zn-|hURPR=n<~Ra@5LpLRy8D|4@W!hb;g#nuKoix;0oBY*Yw+zK+=d4akT+YZav*-2 zESs7V4rtEw(T`D`L>{e%f@u}Gw}1Qx_u%!dBY6AT3e>8ySdn^5Rl3@UURVF@+lW#h z!^TpR1KYXi4>p_PJ);FgU-Lt_kH&x|BF^-;(QF{SC^X6r^ zkJj3Sd2y^Iqkwfg%Y{B!f$`JYlp)ro(5*~1$GdRuE+d$%TrB$Pc2 zGg99tdEJF2*H)r+mLl5lB_{C3?au=gATw;1Y@B+=SXc#}rI{d2O$byf=cUM=6wy}F zQznBeNL6x|N&cAd)`4ez1+nrOq)7qQHXoa0=}nxHEp87IQ^_f5SV)R+ z`v150Cb5?!>3!H2nfaFgT3c83KHVISW;D%BWSg`sS_W;3fFXeJ&43Sv0iS#`bTWJ} zhI2BYgD(O^7=jJK_Q|v_Hbfh=VG{ynK!izKpxC5FGwhk^o|*2h?ymapZ_5mQYs8oN zGT-vAs^JivD7^Z=mrGEsZekWvV>fajm0EN6)_mdD>i*7=Hs;}jo^yrnNz(kqIgw_>(Y zy)B~U%Phn*L6xhuQD)3;in)d6(IQnF+ZcMMNaDKPu|94?T3BQuhp z`T4gIEXfSw32G?GUW~M-pI|*mc_Z-roBzg_;pk{e-t+K;Eb*s@#8ALbz4Io#|LqI- z;FBlt_Gd@%=KU#045&~+^Av$IOeOkAgPRLE;eUiw<;w`l2PdZ-!38Hd8|HFIBYM}x z5?+1h5!;M(0jFe3;!I6krzQ>2_7npK* z{#X#t1G1G8vj>eT$L1-L1h`U)j)63&Y9tD{H9?Yca0FSRC~(rwXTnCm^ztigFgZgo zdgaxh#P1Pqo_qk4lb2Ebeh-#Y)RrNTEs-kwLpOr?#TCqOArXHaaKVt)b}>6g))U)HalMEgX4X=+n_8X9R~)WA z2%t48&*SjglB8w9V`_OjWwT_TSbI&NCM%{0&^ag$9b`*4gE!y$30(9m)-+Qd1PPcB z6O|V9yPxi65KM(-yipQii>Z;a_=Sx1AyK{9@52#kz2`#dk5T3|MXl)Fk`+C#yzv0r zeivWWt1NR`q6p#&-_3VFcnV+o@)wyZyIOpT)Yc8B_&Z0L7n!F#c;ysc`|3;Z1d;LP z=_!2co8Lid2nG4~k)lIjeDe#BP~$m8c^QXPg(qhOaEBb7g={P+Yu7Kn`v&~p@BbP6 z;d@9q{k7NOK4Qe>#U-+a2drG71V3a9dv<;aFW)_Yul(ejJdd89qfBgZ1rJ|($Qo+W zx;BdoxV&8OoF5}-&Q{lOakbzqQ-?@FK74Q&HKa%I)>{wYy+8W^-v8)Bc!VGg6$OR7 z5BDF8;puli;SKMduYL(P!v&AA*`aw~PA1#P^~p~3*`BRgg`qoL2msOrU z40+K401QE5pJ_-k=cuYgnNcar%C)CSECYYkmW{4S6R;E&ygfg3`eR^4vFv+V=ALab zwxE2g>o^oj$#D!T%geVlj|QUc$BH{bXQeDC|8am=c-%O^Og z4pFXkgaYg=VHeE4%HFV$@i7X#5$dT?L)w*o%vX~s?nW{=5xA{X^9i+S zE2wA90Hs{E3$oIR4#(V4pRa=R8WwW|1bR118nXi?B|3z4$2Ks-;^wS zB_Ai&@M2r%vj#q;xOyLxWBLtz`71wz&%9wd+~t!C1eF<-$4fZ9a}S4p2|xJmC)mI- zjzI-qedjKG;~SsBzx@6J-hSl-$}xo&TB0`k5I+6Cw_7dRsi8#uyar;o;Pd?%pH?2y_1*T4J~_|~_+ z1NTvW_UgkE)Qp}m*uVQX-rzNUdS}Yq4iRDGEkIGX-+S-97KO&^xzE_NTMX#DnMT*d zq0g(JRR?I8myiu#8wG&0po6%))y z2tTLRY}+jV2y37!GQXVbai|E3T7X2SRnsxa5~3ZDNlVVwMFJ;MP%IgMBvLO?QY9O% zvI%O?v}~-+OAit@3xKnele-f|P$&)`qP&6B-B&1Boxs%v3e)kWv+pDJ?HbAaS6+LI z`#Asj0~8#u;Pl~ZxZ@tNdVhIAmbG`_Y*xX^OFx02cLsCZ%^$w>8hrHK_uhJmFTO~5pt%8x={c&hf=k?ULRXb=}L-opw4tA;%YD0&Fb zjVSJAF&?s89B_V#1C#X0nQ1iLO@egCtAWxZsMz2 zE+h4e0*=l(lhivu_1Ab43mow{Fy})3CDxNX3us-r%;{XZo&vEYQ`n)jb{$adr89)p zS8BCGqRqumn=^&eW9=AAxT7N;#k-+ky7a=nX!wE45G3d3eK$1FpmK_3ns9S@(kK3 z8_81#>}N><7Eu^ZF`fc`B9i+B?wU(VX@&y+irB9pCK)xG-_s<$%Rv=KRb&V8gL^Nb zupKpykH5(whYnx+NvsZ8xMm86FTV^=Y2uySMa|V2Q(qJj;~Xc!7-e4gA5P#W9A0KL zJ%QQ9rx3250&4SNarRxFu#3eFTaKT9@F!3r%enmInm3JrWdF_VDZkG#vCXKOrQh;3D!)>PS``#^lPRkx$#ghP9)(d- zc^R{iQI!BmDUex9manSWPXsw`b zY47+@I$A}i!HSX|Et;U#z$?X&kHXVgozXMC02YZMvy!^Id*Dx$TRzsP-yx@SixvYy z>J!0q;9QJLY}*0uVDSh@zw^rQL0I{sd)NPvOoz6sRJ492~#Imh5xf%} z@^iSjzC>lk6^vJNotz=DbR7JK78tgf9GFef5_Al`A8*N1xaK}C8=E8Q_S7i**JMhU z)9k73n8_le0g(ck2=`4E7CGVv%flS&XmT>SR<)Z(0S|7{F}1_&7J1HKqaM9_7sdxs z6a7{KUWv7|4Z3K_Bt(>$gS3*an>D_qccLTC6$~F{9SGZggo+rM9ozy>$Crsc$Z6IEl-ogDpEW z00`SE?E+VyKjkKtH8{`^A4t)0l0hY9g(iewRVqgc3Ck61;#yq-Xp-}h*@;4A9Zbow zUO{~K#K_Vp!~yJ%YE!1NGTSAz1*v~6Au@O%%Np0{wO{UWEX=32l8g&kvC;k4IPO)A zl+pO^%g{Xi0UR8h!gYB7v-x8PBv1ssk^K88<3s_mMdOmU~4;5TF)D)OIgW=NSKby$vRPZg66 zmH81fm@^}_HOgKFHB|gqd3jaSv`udkD0$m3XLb=2I~moXT!D)zxF!KzlkREMJxguO z;(B|!i(1}|$|J)9UV3z&ZO1s$hRM!)=5rOZtK5iImwQe8FwFo zd(#8ENb4u}P=kZAeBF)-RRv;OgOi9%|5g;8lkAW*$%w40kU&jH&~;D~Kjp^Ri51Eg zIxI2aJoL21_tAlwJUtI=>{-B>;%F2Q^*YIgt}IHybc=8loJLrH8-=O|4_-y>;S*R~ zjo6rQasDaq*p#(rM6zQXkE_R@iFG~7MHWxK4^N+*BT$hI+ZDSBJ^hqifKb+ga;*CN z`y9WlM$Oj=$sA_Vl_{|oC_fvK!#E}ET{UVN(y(HN*g~R?8&7f2Ccw_yQT!iW|ImX+olCYGG0;q)o63wl+ElGZO6|$0b;3K=_Gum)o#*^QDJGEu&_b{BfN3N_+A_dpueT&#{(;|0^3Ru}wzN zCG~cIH6XOQ^PDy9wKTvl_Hu!CRe3Y5?nC?@$$;5Xl z1J?z@FFYsl(CEj*hY#c9$B%XGhe4E$J>ayFB9jZCOSu(E0NSv;>^rC}yQVN9WLQe1 zxbh1W_Jqd}G>&|1znC@)px^>cIwy;yNjpn~bwIXz!N4q`7`REhzDu+xPp2`Yr>xU9F~V}%Vvq>3QCOTtY}-~4lDv;)B~U|Ry={p`8F%aR z8g^Z~*Rb%+m>l(g`GM+CM6b5|GMw28UrV!Q9yvkz< znZWa;e2{_W$*m6UNwx;ESer%#q4J_asMgz>{?mTQ1!;kX7`N;sMvlY!qSu8dREmIJ zadXC$*!AK9Wqu7@K7GuA9x3)yL*^#raE#ZID-h-I9FfqL{81ZmXQD1J)xv!*U_=Q~ zV(u4fYgIGXDBDn|P_~T9!s)dknuZWM@5?4nvqo9TgW9G!Wm$qx3FmG43|N{3bn6sa z6P;TUh>E3l&rL%9CQ8&(eMUB_h23N)u8-Ci3S&co4IhyM_P9xak!xw zXU#GE58wS5e(BB<{^nr`N0)Qitqa?|fPrm&f>3SB?&&U>@^=QvDdvi|s0AEX=S%R@W3`o^mNRs-ns_DViybUtLJ_Pqx{jU6l-T8)eU*89$;K<~oFTIxK8q40 zrHBJ==9r2EQnfma3pE-tSg{hJb^z6+IUE;PM7W=m?F9d6`S^xp@SNZ#$%+)5*gn7uQVQr*i6?B>yIxmIFrf9U=cwYs4 zfNp0(R68t5U3OKB;pXsFI5~SC{`$0mV-#jzE@u)cfx@zo+lk?Xr+y5g5}TCCa9Nyn zI!;#@>k$&AR<>IkZQyNiwH`N+^pPCKI%(25H_(j(E*%6fjj;RF++W5g^-ttbUFwII zuWASzo7}n!N{&tIw+Ptn&3YhS)A%K9b6_3X!g~ROm@dxm-Pm|g6@Ql1(0i+mQm75Q zgxUhtjGAoAz^Ar$Lr``UIJI08B}}s{PRKTAEH^C#0M!Xxu|I7< z6}W=&lz>fhrbe^h363UG;7Zh1kv7P}0aupbIwb(lwW7ma6dI&KSFTcS0=Q8;W+13+ z7g`%|`V)I785scWpELX5d4x(PP5>hTPfK+ViwQ^NUI9vB^KA^u;3&b?GrQ}%{oAfB zTGz#NsYIvY?JD6p6C7H#f0rTEFDuCcJQ{`89*5vwo;IrJtt=yO3yA@GL9TmDqWY`V zHRXWDfqDrw7C%jzx5sBNn@%~3D#?7vuZ%#g2$|aHQjcvpMvpV`VIaNfnFM|;Vgk1w;CFw!$NX`s%Y^Y1<(0~4 zWcFLRZle|?Yc3#5T2T6o+3v_`F&VX7D5)47 zVCVL9K~1g=?%f(d2!%v_Jv<^?tVM?lfYx`gJKcdU=g_@gu5nbGeUw^j)V2)tKHgAh z-bYAdl`4VInp?&xHrC%ggWDpx@nu^ZX$n(BnH37)^p0!s?sy3$G<(4vI5M zQiumY*MA_aJ;(marxbwal!jwB7aK5^$`*A3F>X?sfG-+F3Vs8X`DI*z?De{7a#Ucw zk3ARENI1CpVrZqC7eu$V)0F5@1n7B_S|ma!f^t&rv61m9td)=>nP`9A#whQ|$p^J= zjkb|wXbH@Yj*j9G8ulUX;4uZWKA3Q8OI!hP5=;|*yJwyJpxOS=zR$PL_tpCETHFCOzjzY$p%g)D=MK;s2#KX% zv)qhZq?8$`C46^b=4Z9rBysjt780{LMC1A$l?98fcH5*fS*eUm)0n&^wv1&tBPfet zicD1!sH{Z!A}UiEw5G{pP}d^Q%OTD)pjbb$5iBHY^rYd`YY4z-3asiJO;*ixlcqd9 zFB&-KvGP=>y})Pyg^OoI?m-kwf3;+5_B(e^IEt^C07U~J|9_e|`nw2gl$!l*QFL8U zES%vu1@5GeE!wnjg@TLXDj3F=xk`5nM5ljQxq&;*0mdBo$68g zWgCfw>S!`EnzSNv|REQr*hT~adH@~9&_7oa5I;7+x zt%b2Jv+6FCJ~p&Fnes`&O^Sheh%D#ZlLg$PVJz=3%Q2tNRX_|p04BfHSOl&5x@?&( zaC=ZPmIQ!K{|8G3GqL2WA%#WBRJmHo`mayaOrPhP`icBQQ$CLiwbI+fXNtroDJ< zVVm({i(S>7gZBmw#Y_`_1jqFays`QOUY{=EfMQ*RDNoA7dxv5^q6VWB%9wr7G$KP>ljwqJEm_BZ_OWSiyX@;D{$?o)I*OG;d8!)S!%NL)SEkjZNXQRf{QXX2XkdRnH{} zOjPG{jhw;v(!Z4|P#UAcjIGJ6l$ljW3+7plcubd^=V1n?D6>60LIqVh(@nJCEbz3@ z3I}4=cTUi(R7rPpOa7X{Of_Ud3REcB&Hw|6?Glgy5o8zYi<&$LfaCXNJ-M)NBL`y0**A2RC;LLE`gdIr)c(L5LgLk&Jlge1L@ z$QeOJ3k~@K*9*=XwxmQVWtFu2RW*VVwJsciP$^Eie}rp%#NH}&FU32fpa_Aj8zxF^ z3UwE}d<{S9`VKT=ZNsNiO7WM(Tfs|8A#dFn){ngU`BYn0Tc(gn2j_S66E`V8=lI-quw zwv*anRGCjPNP#1*jWiSlXuKh4_k#$?CSW)+ zs zA?Xu2Bu`n3hP5a(2!@(T&|Fh?mU38d|Tv^E#f-Gf3C-9?$F&y5#ETJ7Aczqmw8oOve2<^nj474FJy%=yWR2D>g zK^2A9Alg9cz_RgdR6tTsFbXg@L+~0+us@d^awe`O5XVc-OjJ!qJXjRMx13JdB83;c zlS%ezE!&eSy4_SLH?#WgE^a#pNv_ogXick+#uBd7*i3Q;0JAi_Ba$B^v5~8lMz8<{ z2@_&RXu0k*5}m_SYl(WZ&A|bg{T=d&YdUO~QFwkadTV{V#w;pG4n`wJe?j+Yiy~ne z%1IN+5inM!EYPvxIBp`g6#F?4TeU_UiX^mm(~>PpsyvIlAygb253B5@(JeJNzbO|MIZfOCLg2Jl91e8(f;CpxP!D-DIra>l=(zqnp9&d89G7&WNE7i>{+8q znSu*aAP_|1hwq_^&*&1Kz>O-14*2y=p^d?n(S%!LDdKIdr9_i=&B~ za$VL&VFsn13QlvkGEfFEl#xUvDOcu712)#oVsUC>qT*D@&)Kb@5G}A$u62`HZ%`|E zlC7=k$l6NDfe^(wm)RnUtyaR~Lh^O4Shzib74~a^*DvrK<*y3JaxRc%nvA9@^WvA9 zsi^1x&4HVDe9!L-AX(Sj=I&%_#*!L^6SYcyMI3=xDM6!XROaRZkb{^~R9j`$nDr}0 zAohSF>~Er9#|A;Q5E+Fe3ZnTdQzL405smkTRNQ=i4fX6o30_g0(8kax^=xK6Q7LV1 zK83b7gJ6*F64$TP(94ZP!70q{M%JRqZJAAFkxn6DiG1k$U}B`WW;;h^P0PuH+ZSHM z{{~3v>^xN6FY<#IgT$0$KoLbrVE@FMX$gNi3-C9J2XLQu;?Wf>DZnF=#k3fpZu|5x zDr=`b`EPB^6QymQVV2Jg*gf*X3pF|L3*O>!b%DcEd-<3MLxtodN^QXrKSfpslF?j9 z6W!?vw3bZOh+kZ0D~;mG2B_`*Iu3wr>Lb8fzgN!u!X_GB!-92)$)liAAm^tl$k25w z^{U_rsoHPK_ec~GomDm70UF+o_|_>eb4z)#5Ecz)5Xf zB0$X-lu3ESi%8^Z%Dx)m!HXksO10T?0doSZ$dVa;-;`W?j`v*GxY6Leno-DU{C#mju#&HUFQLM3?5!N@={Ate<_qM=HE?N|WvBzNbgTqco z)rHK43Sh1{52yqM2u5kR=b8M*dp*dUWXnKfOW7R@(t21eu2BZIKo04Oa)Uutj+4hg zVzD7p^#=Ol^-!>(Y{42!@s3~$Fo^O&@I&OPpqlF>*JP1brd-X$#I&Q5TUS>{2DD&v zzQu9^v<1Gc*U+IDtmA#fCvRo=pwQQib~*?#OpRF~>Gt`-9r%3|ARdlR;U(N{j+jqE zN^McY^x%Le^a3a9w4Az^+h)CNhqSh@X;x$IL&+-TEHL(_7$QUKr~Kr58|W#(9D@-r zO4%h>itkj=GFzC*`*ms{I`$h>;UGd`^OvAv zY5y$5kFak}834-4HI{QSaOmqL<=d-eY&kgzUb7%}lK`!e(Ajh!$sct^77V%#yX`DEX$k@u zwv!TskSFjADCHWk|LT(F25||<1~o@0!gzEH#laCAQ3|z_5)LU;`KzyColiMXfEb4t z9PLF!2_^JtF(Y(=tYek|kSGdyPv#qGFVJiVL(7)cZ)vR()tdls)8_+I{<<2!Kw<_Q!ylUGRo zmnakrYSRQ$(MFQMF@hU3BdLSg!sujDRdhD&loA}9V0}ydh%vDQX$(SZ5Nt1y1&GuZ z`x>&`YsE&wH0TYnJuF*`AmO3w6zYa#O(ZyNI79kUzDLt?Did6U)_9tUM$obI{mA1V zbJK*lRyd{sVpg@Bw6V5%gfgJ{H{!HMj4gxp2f0eu$hr& z6M=k%)EgZmi+7Tj&=^oWc}k+OV6CLErnE4Ks;ZgFTWVxk0>297TLs&^Eg8fbn9Y}P zF`L6hE%G$>t1UJBH1=spJ3l4HAz2MA1{7nAj}K5`j%?%ffD;mr$0PPM3Cb=7ir-I} zYAMYg&67z3C-)EFfHH~4r!cK#ezLfPXIs(XHZzO3UV{5rm>_>P8pEK1`k0S5xrRhh z1#ncCm~ZekoH;70=3O+Y!oetu9tG6WCL9}`({*ZF<^eRM6B`BM{rFCnNTE^R3D8RB z+A5)@h`r~{TYRi#f<`rQ(IA!#WVY^#j1}B*2?NGvJ?0@$YcK^fA1Q1Ijjbfx#yK0K zk17#sNtc#>&|yu6h9wqd(YsJQH74K7HU(rXkucVYadw^ZLUPh3RkUVmyWhZUlrRUi02NVP%rdU@y9h3gDr+=#ov@aT znj1*mdQP{NoYR3PAelN8vC0&h->DLt;wNNaSr9N)SSy7kESsSlZNe)CTiN9}q6LUe zSFK=KYxeQgav}0O(pZuihEkEF#V7l~IrfvndCynmI4)tf=go?Na>XVY1$%m2&1Z0} z07onzC1Y8z785D8rLdYbfw2mdVb!cCps2i(P7j#6Y)FVaKER#!4g%95dx^k^;>lB{ zs*(*c4@es}8sqs1FF0m)Df<@!7M-X0Omhg7q8m}2G#BX_WMxM_EN)+gO3bqU7<*00XR%C^weH0Kfa|muF zC8Gx2SUDjFh=D6-win;o0Orx6sKMR>Oa5KT;=m8mwd6H{@0iA_FjEoDi2y<6mnv2W zu>lL&UaFjrOfUokLZb9pA;+SH1&Di`q)x)o16AIgjUp zvO0k%jB1+ToQpEB=|F|lQ>2*i^!|{73ez!CO=C_-GC>NDWHtq9!08-W@#98Sj7p9^ z5%_Px-#L~TFDzhr4N+h$yD4>EBw<^j<_y3f$M=zb*_Spf!ktu+?bE_cTwnDMN*nrWUgBPgPH1E~5EM0%X<8jVfN2H;|&1{!da zL?uk^uq##pNvmnpqDr*^iX`3$!DO_N$5&jnwCSu22yC0Sz>SVFo>A&UA%axdLu-f> zY7|dzRV4#to`*=KSK|?jczDbk@a(1zh?J^(u+IcQb{rvlhXl}}NA}iz$-=cM5VBmd zVmFg9QY*C3KAxPy|1>M%8|N$dTc;=R69uW;XK*|{gwvx_Y_0ewUZ3BGv$LoCB9|+Fu> zjaHM<=&E*dGMRRga&N@ZX&dznXmnD_yf=116(yQ4p{&hLO9bO2OCoTg_7TOks>K6= zh*=Vcv5ZQoGXmB*9wfGr+Dxq8Y}qhi5rswduy7t(PP*o5He+ErnKRC@k#nXx0~@Du z>^h{3;^;1F3=xQsr7K8Ag%s4}V9e|wQBovIFk?(InntxEQe6|tOpc!_l$>fU7~58f z>_!413Oi1VrYJ48SRpL6+EKCCJE-hd0i)7%g#_-b(=2kdi2}8p$KeRCnlr^AA#*I- zSka=!`bq}207JMo%%0{s)(u|~oczn!(;`|l3S%EvAS%cL(&aSQikR$4)3ek#FetEz zatsoO5Jgy(m}Oy$gAyVJgOINUZ{p;~M~tEAy@`$6k~ymD>nlDxomOeX7N$eweuZ*& zi}_9VNyc|GMFOW7mjY;fu;y-$a?ahLV;HOTfe&ebJ!pa3iM-%F-B+~z3A^S5`5vu5 zXto=o)L02pBB+g!TCU(doZH{~{3H04!v@}EuK^@eR}`Ll0yC7S(962_;2x61V?}YH zh-hNZ$!@JAqsbW`C#ua;NR!E=rT8dRbxhzRfY)w!QbG_Y;10uJMTUciRw(knZ=LWC2LP~RneB=!Y*n#d{!8!h3K;X8L z*#lb)QG2UnoRugin~s=@s!-5AMbH9rPoj+j0jna`pJXn0jHu`Wci5!Gk6WCzB1crJz1n9co2Tui$BHa{?;fSW5;len)jkTw1n6t95NP zl8Bo)mLQ5GcK*j1G$qjivYT>`P-lD(u90dafdUFOJppE8N7AoClrqE)H|*bOGUYtj zRMyNkd}y8+V=u+#LCb#2c*ixCE(Vjsi5lMkgVJd=D(Ga{74Dd$AnNC3Gl5U~pUmYn@QL+SjcMJy3ae8R@BmP=IZ z22G?xA?0a}NPY-NA`rTs$K+hwwAg8Xk@dIHuhm*;L}kpIkgaRtS{^)r5tZG+0MRNBkU85RfXGjuEA1te@>9 zJe0bViIutt)wwy^4+|>E+DHOMO6pq+Fj_o+k`2-M)l$tC8c3Q=k}WNaid&N0S%9RMvp-!_}T)LY<3T+VR zA`F*cE%C=(8(i;mS4-%18}o{NFsgL&kzZ?O?10TLy|pcWkLYm{Hv)YV^-DKhCZ zU!{}~ZTe(F#gtT1z{(g?xFrTNTpMJC5Y(An*v1CNBx)FmymL&Hd=PCrv%f)8B}Or2 zqJFT4K&^JA&Uv3?Y;zQO@OurdF^|^P6m7$D3iQ3GKDn7MUCPaWFIsG8!8-{bhnSN8 zTD&82SZ`RP)UdH&)l6Z2{3goQ?!o{3(Kq3J1hl{Xa0;iZGdMy`$RSb*_YuhA{fSTn ztkEjiTc7!H0u+kP50W*#H1-ZzN7kZY(}-H5#lzP8s_JIzaMHFZ01`E}THK(*R65S;)=fT>|hj6>@X2;qw-Af^vt=!%5#_*t-wu2v!a zl4Vo#S^$aUReVhygl#1D5gIy?|r z7MVCq4w$kkDseRnMg|UVR zEy}7fwkYQL)~LyW*fFA{i(=&kS;Xuk434WPGAq(37noxe1knwvMv(V&+!zm=&*00| zr*Opbqf+K&v1Dy?(MZl$%gfnEp~lJNmiEdq zF~mlV4RGd3^JXF8J{6OtFw*2VIM-J{0ESUBJ@EB}J!=4_d55Sa1Q=+Sa^kDV&*-{$d z#u9<(4qZfXlW0KXL1WTfm3JY&{SN%$)u-_I2Ly>5amk3Y3QkY%$e?g! z+Yt`{k-xL~Lfthg-Hj-y-$-p>WWebK5Ls)H3M?W9tAAm7LKR;z|7xMnGGF5KVP zx}K;pHg_P*9p4$qDsesG4^3P(kYt%ByLl=3ZvyZ_C^bI^45a+tmrZ=K zIcD(3!DtT=UnIk62DCP%HDPm{e2*{QP&(J^I0;r9kPL??1WImw1z$dT3XiV71(Wy? z=i>n`ee#c7D1f?<&|!Bra?_2t`uvic$1zCSXN`0dYHm6U!FYW9Cx40qT$krLIz} zG^Q$-yjG?t%22QPG+x#Qp%SU_8lIfi0a1St)g4X71i>uczkfe`{`u!2QE0vlnQho0 zw+6iDoCmaGL%1J*zA*uK)94Ek`ogUXjHsabLMDVUx2hFcs=Eyh{$w)ZHk2a-2vj6gmGJJwt6yJT z!u90^G$c4j4GqGPIAgP+XoO1yrEC1mkyM%?DSU&Ub8H8J6@eH57ujCjAUjBc_iF^M z8+GXB#34kn5vvPkh=__2N)|&__t=IRzElFT1sS-Ggry^SR&|K|M7H|i@IVYnkzFJz zi)^pTDN$YoSi(A%#2(_zWqDUAg7|VmETm9VbPci0M4<&0z?%?TxRO%Yzap{V=7X2s zy_v*7lkDm&q;?|A9OYiBJjUdXazYk(;pPUoxgugDjV7U9_g&K=FA9miZfDpXOwg{@ z>xbChFO;9b%he5M%W8N-8-b-cBtyvnS5wC1V;hm<3%U zyqZZgv6P$?DLhW*W(Bk)WE1;mg51*zI+y-MlVkWv zk`65>V-H?WtRD`><@r;-p1u7^n20>th;7z{0<6XqT|s1Z9Os^>E`0FS`4ya#}~aqplV8z_u(3Mm)fYlj!K#X7#Rty5<_i3yUgwXOI_FT!(+EC&uv7h-wa+p+*0xR4UlPxBSJ&Ih9i`9smaEtY~R2xJtHzeC6}Mlk}yX#E>^8_as`uh1j<4Nb%pY8nyuo~ zD^df=DBoL#j7AASa6t-;8Y_}4$IMRT{`@TjeNajt6g_f^@p3Xcj_!O0z1C(KVXPyFTwCGBqlT^+syikOt}f&hxiGPBtcEKx_SfENW?xl|!2uRj3}jJ6 zOgIrCff@O7riir&W7R6 zy2|k#WJCWd{OR>MeCwn4;d{to{v7#(HrFskLH;4Vw5m=!toT~4goIs*hLBjpE0hmh zAba`v^CvJzYU}*dGyML!2=wuJWbSY^BfcM)b(~T328!Z<=dQ?>i>&3t1m@V_86}6H zNT@`uAO%<*pD>$9RMpAxF@hHY6sfOKTS)d=<-wT$QZT#8c*3@IYzjegKKib|S(B*p zDpva`+07z_MCPlUBq${XqZYd*X9r7sk0R-Gp0u;OnpJ}sjR__T-xkRPIgYe1$g<=cYjyz*880%j7Gwc@E{FG%cLKr{9;=y(qffrB-k_(o}?}hVRiZ{ z{2xy~gWvt|eR%NnLwFl^-q&&W8qLojT%9BOpq3KFxMZCfG&GDHtl)aG|1X;$1gF_r>1TEAUPEa^s;b(-D z)#Q*gh@vf=;x(ilV#*7ttr4=k^tU25k}T(0vxrm|2O$iJC8SX*)y#n>DZSW2so0@8P)7ED3~9t^UK~!3aicpF zz-@xt9P~T8MlB)b`wP|<0Xd_F8Vyv?8n`qEbW zHAbo^Ab@7ij3RA1Nv3Y!$v9UH(^LO~Jx4ZKRSNL;Btz4Kafn51zns1o7-5@Wv=1cn zL<_B*+%lR+T}W(MPVcVFFC(f6NJ*iH2+<$D49)Q&eDCZ&{PFkShm*5Q`0DgEIF0vE z?ffwU3d+gGfzzTjs3l#FkxI zsmBq33I?qsxHmq8ql05Sk5m*=W2`+LSExoGvk&5!D6wkF0#O35B;#TMz3hsGy5xY$ zxhN?_fOQJMjurZ8jb&)x;dl8>?<;-JJY-%N07+)W&rMMql=%#~JwpBXI27+0QH|EERGYrz5UriTT^}Lmc98om8K@tqQDL#7E& zpA>NK-UI0$`*3Ho5U=p+idnkjo9BLP0fB(59_J_%8neuR4g}D~IM*nRW78Ds8yrOY z%t>9ye4|kOs#PwjSjK}a<{6eAk!5kEuxdit=BUY?*WP-E?eke1nYOZ?Ip)Vn?-K7A zTw^@dHL8ZRUD}qZ!2E7&pSlqHK>fCM$#v^i6bxv}f4ULhzwEMWZCYfT0MVcC3WALX zr+|@UFd4%U{`ew{AG{4y+}S=lzkqK(`4m2hQ&?O*h1uCTM5M&Zg*C!sW0G$n8%V6-0m-+BtsAM^4Nv}3xI&e4kz=({ zGA(ddXa1mxX_*_Kg;Ig;+-aV+^3D~)-T-?CwwkN+xrAu&`m!!5;;|Z1@dBvS->26rkbovk*Sh#&>d6=Ov$(t zscU-Xh@-pA;ge53K~TG=c8ZxQ_3htQhQ?QbSiKbzsU~0(mD&tNrYy;syX1r}LX8#{ zG%>~`2TjjXRFm;h@S*^a0P3S!tF}1jgGh9KTyML5_hWCxn`QM8LiU$UE;KJiiqz|# z>FYNjOG=T@cCoTL%u$^lty)el3}}=wCAVb*6}90d4V6vQ*(Tn5s2(cbJxfZ-8an!n zk-|X{I-5(701|Mbo<4dRPQUWgoP0stmKG36Yf?AKg@SFt*?3fpOgRh@%dEt$B&f!; zF>1=Nzfo41tmD=6LQ=Sux-+Uzgp$k_Vx=kCAeUZ1v+5n6jbj6w$E=SX@Zjo8-#hVu zwhIUju^>awX;E8U&6zGxX0r{%VkSq*WE>hb5sNxH8%DVLQ-9e05#I&Alhfjc=m%sm zC;YC){O%7>b3KQrPoKh_JEu%3QQJnNQ7?6=PuVz!+pMSfMT+J^%o8L=ooZ%d1fL54 z*%C+^&lYPhfe;cM6eHL_NE&F-X0lskUd ztRRK#hC=%Yner;L8IWf;{iY?rUOJ!yj+TsKvbd(@w9M(ySsQ-xKWo{<%ICh-VC^)|rs#KV+nzyJ|reqPRK5ImNx%-ZLcU*^r*Im%+0#Nr}KHoIGb;><< zos5fRuQI+ObasC`4rwVG)h(M+Vlk6aA~i(D&g@B|nmyRUD?+kqQ9{Y&Hm)@4 z#28QA9R&uZdh4eE5j(Hx6Ol#!}}WU7g5%Pbe~t|j-|`m;Xw z^86LRwrgc=6%MePG-lQ&x{qu`{cryfpKI}BrLrbNQ?rfel>)vz4?y$v*aCXi1)J*> znFIyDlO$xddf=2Qe58S^)o@f^Zebdn5OhL;s?+m4$*dyC&L8q3w5D+U^bp*Fm5FNY zYEnA^LJLUx`W16{(gU}Gw>)AAauKTyouv$;Rh6c2r6EuK8qBfv^!rS#$cqfk8 z6hpWw1Gx2mNyu_XMQW6ZMgcLXAluI}k^hlV22yvc0H>s^DJ7_50i$&Ns34P>iajmJ z5c=%wj46a;)Ks&(PS|XkWGM}Ok$2Ffaq&raBINg;GL)xdIm}NQ$DlWYW38jHn<6(O z@Dj(ZmC8dk5GfgMqcY5%UqF}RS*OnYd(7vWwe!C4D=ds6vmllIM3Se@@>s=|?{zD2 zHOV^{Gd9~GZvjxm?^0;6N&a#h5PH^nHZAN#ad3b-P`Zjf6|;2A9;(GWV8B}$C8JI>{l@D`On zWKJZ5}+D2G=N5lQ-9_#-0n~weN z-z>AaPHumZCXKg&aA?@A(2`}_HROdLDG&k2bjjz<@7iQ$H0BlpjLlf0 z*i9a=AF{BVue|a~%dj@}Xdke7mNK+s-=>aDl+897oFDvs+PIAp+E#X<#ykjZDqU)4 zmwNlYck9@6-L^6JVAZA2Hc@`9dYQ^Kmb0II?y@MYjjj-oD4P6UO16{-Rmuc-LQzY| zpt+tSz(o;P5FV835=OxiC@OFn*ZNi~6-c=j2qefYZo&~w#%u^(aBR5Xuws2YJk^$1 zI5Xc+@;-LPcCff{<=mF2g-1dZW=P3ME>#HxN^NAvaL5#qecxvt?s9ERJG+T9+OkL5 z2xxOKt!qrq>baj5mBX9L&|eB$M1{1R^r3pYA-H>6xXYs2r|beAFS-m-41MRi_pB|v zp3=wSJxlv`y|zo~3{h>n0&3s)q21Vi@4}LF+c9)s-y#cEhq9xlJg~(hA#gzCp6VM3 zdOdv@un^H!#S#3`5>bqLsGzb)o(#R1fgmoge zlo~>d)u=bJd^hWO1CcHux5l_p#S|SYI`2wsiWczx%Fe!r-`>_Yi^knNuLxlQ+>_%@Bt zP+i>(qK{hZw$W2yiEA$)#iQqX)n1Fa9rhc{PTxFFiTa{Eqji7}npfc)i>L6g`UuKe zf(|yN#?fWXXU$@ZM%(7c$2(C=e+p)aXwj|IXIR8IfmuBA8MbU>-ToIGGpSA*aC1n9 zP^4v+`W?1!ctPdG%)YAjm5g*Du3YKbA#TiU7t%D_Kwh;m!|?KesJ(xQZn65+7W z^lXa4I=TnHcl{Qe9M9pWitliAUW$yu($%0$U=h`!e_gp^eUa~_L`k+bHDZTlq2KA* z#GX>jJfqTx^&={d?=MFV1Xc`!94$AtH<<|in?Np&N^_mulWZSD%^}PC#<4xdaU)pm zvcA$BA}haIVzyZ{V=9*YjHxrS4aG4M6Oxb=Zt|SF>6ChJu84fBTOd zgk(Dx&6LA90}6{CEnXW1&zr-W^@s3lr{9Jzk3WZl=7NRi6jhcDPf6<;)@{tX-#LkK zP^WEzM3(zy;WkCLSZU%OYNxsOSU>5T$l#_-J&6piV4JuWwdz>1{_#^lXVzLnnR9gL zRZAA>$JT>JAISA@EH!K@2F}Dvil@M;HHKnzo8zffoJ&Ac2|5Z5U|6$y_uYT+8vY?3 zpH!Z!7KKJ=HzafEmLb-rkA)e!Z-})S0*`F~~USnm*F0OB}wdP<{`4dPoo+4%gPYyU3Etw4-86Uw%&D-#guL4}a zefYWJeYg|OV2N@x(sWjhB=0FSx`c#|uO#dblLW$|lFwxdEnZmST?y+%$IFof-8?)# z0Sm(;?3UzHUDT+_YnE_@awSgiqh2HAW=9Z7i(VqaYVu?=oaKI%V99+Y!;^%hjoN>~ zxRR+f86-#{w&_!{22@#c^D8xzCH{!Px|GJM7%0Y($uDzLS}Y<*+-Ui%;y?0%rub;3 z+0;c#qO7q)V&D9Vo^T0vZexJQeb}Q-EY>za>@JeNHuTlGGvMgXyvz07=d}s<_I1yj zZG7JK_0_p;^VntVH{G-AT-gP@{j>TuLjQXcWf53gShlVS$^yo+Ql&u!ABQi%?_Qt5 zV+5XGJop&ifRACkI_IP^^U*Pk8JHwFw%EIC{4v#JT8k`dMia7?m}H_W)Da|b>O2BF zGTH6F$1udn#t(w&gLIysI zCS$MF*iCI#ewX?ziO|ua-otPF#&3iKXq)1p?OM9>h17_FI=!rBXd(5b(HpAE|6OaB zg4%}0uitNVcCO)Ln=I#t+UOq#L(SMu%{>bx_pB7$runh2jB#5(Hq9Gf&$jFPz|Le^ zAsEmhfK&%?gUW(`UQgkp>l66d$uWGj`~VdO*DwlVL&jRV1~jp@P+$TXFU z5R`nIVu_I3kOoRHDlrsdNL%Xs_=({hc=WPo)u zsC^%^_$&^H>U@$Z+D0`w;sY(?$63DkUDcY^U3^jNC@zYs<>ZHb{p(+kUdtKiq&4cc z6i63X+LqM0Y@)LE-SPdko7kjHpb!V@>l_%Ydt1A@i+EG7LVqP|_3cu+b#1$A8*uI- ze%R$6yYII1Y>0aEb$74x?a0ciY`Q?eQB{uU7*A|g+>5oJFBMTP(6V?Q8X5r3l}7;aFc>+3I;R`EJD4A4V}dP zSAZaYOtNjGCs0o3qoDdrp`O?>mF;P339C&RFy=E3#a-iH$@YXSpXMQ0)EZEceP1cN z*is%7)Wb#DKZfX}C5{?^0S3pt?;H=U0#w~(Eo;3JK_7pIg(Go=04X%gasWwz7bvk0 z(qJP^btj=|@?+?~t!eDGm3`zP-45@wFzp`ycb~HDS+}WkpL>1VZ%dhUuelAlw5Y_G z1?8@SwQEh%(tX-KVAKNhTW(m;^Zb44@xYdiN!^^n1+qdgA}<1_#c&~iC%z4zuI|DI z^(XLlc?PdkpTo=L=Ww*V#DyiE1>&io)P(rpK}t=>11F#+vb}->mztapRNzf9*Tgl6 zZm2oJMr1h{MVHl}pB6g25sE8F!+{gJ1Qkt<)PbME)mIV$7ES_)e^&$3uuPF{Sq!6j z1z2Ej$&5Lpb*N<>Ar2(thG60J3_BrZm}A6DeM5`0JqXYKMRK-_quz6q^#p$7tKhh0`e&o!46y( zhw$z3m*KPU3jA@L!Cz@Uf=A^gyfM0h`z3-~eZhXAoNX&EB_>sFs3>E5L5+R+uNuhO&>0;1h#CC9W@svGUaE$aU?p@0^+0D>B&x1O&x^8oQAEmdAr5Xf@&Na6IzHZ&mYr`1Y zjOgPdDs<1cCwDs0`;5?jVC&jl`m+yP-(OdeTT-Y`A?0}xDK@X46~fz9JcW6A3Mi<7 zQM`eNvyb7m@&X=)b9fyow+HbY?^!@aY#-ghVSEY}VvAm&kjO0*v&_O`6KpmilUek= zkiZINCQE*;#BTBxl4DPeYz|OdOq+PDP4H)i94eSFZ+t}7!^0rGj zu5VzXar!tMHru9+I8Q2rMG&AVm0~nyg-`078e*(j;TEC_&_wTGGPKwRwp1*Tqynj$ zV;GKR5K~IclBg(xh@wNjTf5z0>a|U3n*mQW*4UmN^Xm*DwDbY#zDB_`wHFk3wQbmt z;GvP-?sQnpceo30-^ z_N=g3zWx>z|M2|{2MeWIDET!R)y61+ENP*Zl$D9{u!ae& z4qt~SiyL@T)|I^M_6;W9ZXI{ki*e7uYgq)_Z)s>=sP*1h&(8z1O*fQ}F`aR}yN+zQ%3)$&w;U zA|=bv&RL0QagGk)tU7`-WH-Num;O;RfuqF|?#w?$Ks!fG={0;2skoP_861Tf%HHNM zZf0zVOOGuJBOXwu7b~)S19qXZIBVQKmiBQbD3+U5Di71Zk&p%4Z6d_ZF*-*`GCW5y zao;U^aEF3vnZ5*QQOQw(u3=ADs!wEfAq7m8dr~Pvs=e(*rS#^6!y}ZtJuK&Nub9IrF6)!=3XY3wI6*4z2w7N4SzVH?8{V@bO)7&%h0T}YR~mF(|Jl_N!FdnD_*oJ~UJ5LjNu4oFczgH1X(S}Rg>#R!%# zh2`iJuIfkd?OO8A!s-SN7c)4m&*1@F!lUs5POBO}H*himID|P&kX0Qcu#L#4K9CRS zk|StTNFA1qQd=Qvi20uW7A0h|1Vnb2nKIzQPc{ECb-uz6k^A* z$N)-Z!C)y(;~6rZh%O-bm!NF~4G|@ETN*ohb_IKsRycEdX>PLkwzgOiCZAp0rQD|0 zb^crfb)Hah-MQT+>rR@iA%x!vw_hB9{ds`nE-d%+e9jO+Y@+0b+LJVBF|JXV+Y}Lf zbw;-Ut+cWqxi-pz6}e5Y`jU`a7AiA^O}0Y_n!T$~fT2H}cNN4)c0}39NS;+nJq?AH zttz;P$H=bUfe#u9D^4aC$2W5ro!!83g;ZR%MA_U54y(YL)Mg&`!RBQo;(7kKZ_3PJ> zu%5gNSkBaln^6^I;Vv8X6o}@_C`P$A)d*%tpIzWx9}%0kMDQWEp?bw~q!A}YC-$_) zx@y#@A~jbm;X$>4yGY6%R3(fM=qAMqPKp~C1-ur)l$05CJz^@1#t0nsg1rbhu?kUU z(N?d-kRy)*P(Mpnl$4V2nBIWp-7G3fxB`lkVxUXlDlsd?&5Eu6$zi^j@U=?{ksc;& zJGbHlM{MlEEbBaSP;`!ZLPjvlY6{l~%8NLGIbNr}oN0Vn%c+L7TW3ZecooKjySqb+ z*c`69byWy!SMmf?_mRyL_ZE}-&&$r_hgojZ#eIiz!!tHfTSM0jy=R{Z$nJYCa>xOt zKao&(Z97TfFhLsRiLs{eTZ&7O<4L?z$c8E5z z2-Y@w7sNELvdldwfNP97-gr1Mcfp_~c&E`bu+8LR#vcMP{5_{*__QT?S;Ue@iKs+L z#8)uT(J>B-R0unay<#vUx6Mb79_1t{@4WL4|6s$~9ZS*@OCQ(fbz%!UX}9u=l^4~3 zg%x)Clz~=k+|k2+lRG>oKzkm7^%qr=hRGv*~bs7_yvF4dxw6%sIpBy+Be>P$9HY}+StUX z$)`KhYC!feRQDjrIw~yNdKr+lOOfuEutiLrNKFs~(sXf4DT(6apc_chaLDbF>mVwM zHK6Q*C0+^ahDFa*nV78Q+zv{)*QmPE@+ov_hT1jS%S8(Vn*y@DENu>UcWi-DQz$nk z-Gh8pqd61`)p%MIkhTd(pD$R>=P`@54cUs;91Hhf%cCI z#U=vO{ej5jRDH*}-WLpP+bFJ0EbFE^yQNFrd5x$)2A$u#faB0LnG;b31726g9EU)An`wzqTCIcqz^s#kLjyr(&BS#{ zc}Tfk;30`^1km`FARr@a$b~^FVz%DbzXE=$apk$7;kAQWDR>X@5E8I@t1ynV+kLOG z4P>qUx%pNoSf;b)n6Gmzwot%Bx+8|7_*Ae*1o(N}_?ud08@tT)-lA0CVA(Xin;s%- z{rYC$caB`qQfjwB%gV1}*Y)G<)2 zFlkLe+pJ=bp;fmJn>lsVolP!V+e){-=Os=Ep=~d^>vMK_@BU*Z8)SM$r4xN;Sa!Ah zKIeJ2OGRe_YS3Ow&+GXfgtt;0@E4=JNGhcTP7dI$iPq#Fl z?Yixth7G@8aM_jW=sO<<1pi%1YLLRaMH!+TZ(G-G>)1p^4%P2vX5S*IOq0Q|CeT^*{g(|Me^G05*Nvr&op!`do8qQ6W~u+?K4|n;hqPOLf?Mq> z)=fZ&(y5O>{UEAvFt9REv_nq&4AJTMo zkJpREd)AaSEvIEpujjKrDMu%7z^*067cxnnl{Efw`Oz(TfvRPBImx_|?Eqct+8xJe?HQfxSayK*|KN}R=r=)d zt41(OVpF@59KVQ4JH!uBW+(sY@BZWe{QjF?_zz(4jae1BmQ8bI7gBSVd!D8E+HSKP zce%gY;+Al|XV-aAW!tkhO}gu1vemVZ?Vyl%Jv-M|ZnL95 z4=SKlA8c;p^SD32vp?rqN+0#KX&n2m-&Xb&l5aY;X}nCcxz37i*IBkUpDeHwu|to8 z?lwwcTj?8fU&lTh#;$eybDOB0O#lTwef6NUZA|($#-VZZN6WHIRNbb&bf5F&{XhF3 z5zPK;{JI3eEBZ8wVJ%T?g}mql$+x4)WO6*8&yVof!GH7*|GQs*>zDrZ|G1h=UWER-yVPa+uuIGLr3}{7IccA@<04<|KZ<$`Kw?3o2WT>WqNe{rS1cN z3}`r?anp?Q4s#fBoxgQ^r$i1ZoH4@%RWI zGF>j0Bwr&F53_@Ws;XeMTBVyizj;2Y8s9`qbtAMkkWtE;bUxQ6S*^AXRdw%KvI z$L{Ua;oH*fi?1uSv!^XqM{j?7p4)w9`n^LxH(ul0yy2SOW4_G;=X^T{$E{PkeOv46 zF2z4%)AKf5xAD2%_uF$Xk8St9q4_e@rY&t5Y@@Yr=oy>(;_G(r(qsKvJM=lJ{d&(@ z8-Gaa-=0^GMxz>Wh}g_)_qhR)ovrNJGTkYeM&ob)_HT1zj*pMy&CN}u-3x&&l52zB z#PYUAto71|3O1}kK<)zPh+&QZPH%R`m5*arLKby3eq- zcdzsJf)m_y`{M7j?^GZ5k-u9TeY@>kPaWO9uYLNi@olF1{dL+m8^hKZbjQy1l~35X zTOFV>i=O(2-rd^A)s@E8=FX;Z>eL;F#zgCm-LdV=o4&r+?p>w6+Bnd6YEQF1mz%!! zZy1ZXZH(+=>&eDpV60=``|hqEo4b16;%c|X#6QRS+V@`jen02+Z}Ksg>ErP^Vh{nC zedb^K(wCOM`m4WMzxUpIjrOID)C6il(zH}Bz4X%f(@#I86o15WBBqTei^YNzCa_$90(WeF+=hPiq|AJBFd-o$p+SZv(8);cmMC@;gm)vGYt{LSMi9 zSi0x=I{mS}v5oH8eeTivczh~e*_~$F;y*_}^=N*Jrj~Fl+%W=;@=YFP(Gkvl4px0zJ=(uCD0n>U+kfaoSos z<6`dsI(343&zr`x7fju|hJp9i8dKMX?(f$7>9*ZnAN>78ZR zwYl53)F=P$-2L6>_kxPQZlGV?_C|MYuV?|FUwrU_*S}GiMx`z9+_|$jJ3BKLa|N)T zRBn)$)(?Xh%GD}F%L)Z>EJr&!I--cjRJ``o>@HORi*ef4f=bGKO$j|YFxE`1p&YoJVZW8t=1n|tbA8%O(Y_ik(J!1H%1 zL*oKHb79LpgY&`{8V7pE?z*(_ZZYOt+vVnp?^7Df?)grYQR^-Ap4PZ`*3V#DcA1Yu zec$kmsOL8(NOJ3I?Kv-K{U_NOWD&;-m6j`1TJo_d?Bp7CylwI_u)X{4yX7DJ!5UF)lx?O`Tc(7+>PD=1A z-Dh-uk9~c=@+-fxvHe5m?B1bkw)NMJ`@enHZfal8@A0Pb>OOOa&$xTNZ|BfB5B=Sv zAFX%WH#U89Yp9NaPqpQ~P3Nm^_4m#BZF6Cd_E$SRkLP*cv$ws!p*Fhn<6ZjyoYudI zy9jH1>h-<3huaimPyO$G?|)wH==PDK{I+L6&tHK4wg%YVhh4{fmuLFt z4&A@)Sht>`er>wuHl?p$Vc>h;xuLrJwY$!zP510lc4_~!mZ83PkL^1~L+5vG&vPmN Y3dnm;Lm14o)Bpeg07*qoM6N<$g6BaT?EnA( literal 0 HcmV?d00001 diff --git a/media/products/image_1.png b/media/products/image_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dcfd408aa1a41b5eed8e5ff9f8dbb8777433fc59 GIT binary patch literal 138711 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�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 r(*DP$vA);Wjvb@1`%ByNB+4gf001aANU delta 19 ZcmZ3)xQLN^IWI340}zyN2IWI340}!2IWI340}ym>~h#xrjMgifI`m1H)<{hJYr<6oz01O=iE$FPpzG HU$p`Nqks-) delta 63 zcmX?7d$N{$IWI340}ym>~hxxrjMgo_QG~1H)<{hJYr<6oz01O%}gQ9iUj| Lgw5}nuUY{B-SZBk diff --git a/petapp/__pycache__/views.cpython-311.pyc b/petapp/__pycache__/views.cpython-311.pyc index 0d5b4fbb09e8ead8a108833e89eb06e927aa3946..690c8e49445f7e8c4fdcc00a8f842ae1188231e6 100644 GIT binary patch delta 22 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 Drq-Zj diff --git a/petapp/migrations/__pycache__/__init__.cpython-311.pyc b/petapp/migrations/__pycache__/__init__.cpython-311.pyc index dad0ad48e1f2cdccd825c169db963679fd08ced8..35c2c293213057fe87b4fec2c05a233bdbf1a4da 100644 GIT binary patch delta 20 acmZ3>xR#M;IWI340}zz-$fr%@SqK0zSp@e0 delta 20 acmZ3>xR#M;IWI340}yy+K1`j+vk(9?Ck1N& diff --git a/petapp/models.py b/petapp/models.py index 9e54dd6..6e9d4b6 100644 --- a/petapp/models.py +++ b/petapp/models.py @@ -13,8 +13,8 @@ def validate_image_size(image): - max_width = 300 - max_height = 400 + max_width = 500 + max_height = 500 img = Image.open(image) if img.width > max_width or img.height > max_height: raise ValidationError("Максимальные допустимые размеры изображения - 300x400 пикселей.") diff --git a/petapp/static/petapp/page/basketpage/css/basket.css b/petapp/static/petapp/page/basketpage/css/basket.css index d750563..65cc0da 100644 --- a/petapp/static/petapp/page/basketpage/css/basket.css +++ b/petapp/static/petapp/page/basketpage/css/basket.css @@ -54,4 +54,20 @@ .basket .rating__group .rating__star:nth-of-type(5) { z-index: 1; width: 10em; +} + +.item__quantity { + display: flex; + justify-content: space-between; + align-items: center; +} + +.quantity-buttons { + display: flex; + font-size: 22px; +} + +.quantity-buttons a { + margin-left: 7px; + color: black; }/*# sourceMappingURL=basket.css.map */ \ No newline at end of file diff --git a/petapp/static/petapp/page/basketpage/css/basket.css.map b/petapp/static/petapp/page/basketpage/css/basket.css.map index 27074e6..5684d5b 100644 --- a/petapp/static/petapp/page/basketpage/css/basket.css.map +++ b/petapp/static/petapp/page/basketpage/css/basket.css.map @@ -1 +1 @@ -{"version":3,"sources":["basket.scss","basket.css"],"names":[],"mappings":"AAAA;EACE,aAAA;EACA,mBAAA;EACA,sBAAA;EACA,qBAAA;ACCF;ADAE;EACE,0CAAA;EACA,eAAA;EACA,iBAAA;EACA,6BAAA;ACEJ;ADAE;EACE,kBAAA;EACA,WAAA;EACA,WAAA;EACA,gBAAA;EACA,0DAAA;EACA,yBAAA;EACA,2BAAA;ACEJ;ADDI;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,YAAA;EACA,kBAAA;EACA,wBAAA;EACA,qBAAA;EACA,gBAAA;ACGN;ADFM;EAEE,kEAAA;ACGR;ADDM;EACE,0DAAA;ACGR;ADDM;EACE,UAAA;EACA,UAAA;ACGR;ADAM;EACE,UAAA;EACA,UAAA;ACER;ADCM;EACE,UAAA;EACA,UAAA;ACCR;ADEM;EACE,UAAA;EACA,UAAA;ACAR;ADGM;EACE,UAAA;EACA,WAAA;ACDR","file":"basket.css"} \ No newline at end of file +{"version":3,"sources":["basket.scss","basket.css"],"names":[],"mappings":"AAAA;EACE,aAAA;EACA,mBAAA;EACA,sBAAA;EACA,qBAAA;ACCF;ADAE;EACE,0CAAA;EACA,eAAA;EACA,iBAAA;EACA,6BAAA;ACEJ;ADAE;EACE,kBAAA;EACA,WAAA;EACA,WAAA;EACA,gBAAA;EACA,0DAAA;EACA,yBAAA;EACA,2BAAA;ACEJ;ADDI;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,YAAA;EACA,kBAAA;EACA,wBAAA;EACA,qBAAA;EACA,gBAAA;ACGN;ADFM;EAEE,kEAAA;ACGR;ADDM;EACE,0DAAA;ACGR;ADDM;EACE,UAAA;EACA,UAAA;ACGR;ADAM;EACE,UAAA;EACA,UAAA;ACER;ADCM;EACE,UAAA;EACA,UAAA;ACCR;ADEM;EACE,UAAA;EACA,UAAA;ACAR;ADGM;EACE,UAAA;EACA,WAAA;ACDR;;ADMA;EACE,aAAA;EACA,8BAAA;EACA,mBAAA;ACHF;;ADMA;EACE,aAAA;EACA,eAAA;ACHF;;ADMA;EACE,gBAAA;EACA,YAAA;ACHF","file":"basket.css"} \ No newline at end of file diff --git a/petapp/static/petapp/page/basketpage/css/basket.scss b/petapp/static/petapp/page/basketpage/css/basket.scss index e422b1d..5383a58 100644 --- a/petapp/static/petapp/page/basketpage/css/basket.scss +++ b/petapp/static/petapp/page/basketpage/css/basket.scss @@ -59,4 +59,19 @@ } } } -} \ No newline at end of file +} +.item__quantity { + display: flex; + justify-content: space-between; + align-items: center; +} + +.quantity-buttons { + display: flex; + font-size: 22px; +} + +.quantity-buttons a { + margin-left: 7px; + color: black; +} diff --git a/petapp/static/petapp/page/user_editpage/css/user_edit.css b/petapp/static/petapp/page/user_editpage/css/user_edit.css index 37ea384..abe27e3 100644 --- a/petapp/static/petapp/page/user_editpage/css/user_edit.css +++ b/petapp/static/petapp/page/user_editpage/css/user_edit.css @@ -5,7 +5,6 @@ } .edit-info { - max-width: 959px; width: 100%; gap: 0; -moz-column-gap: 122px; @@ -13,7 +12,7 @@ row-gap: 73px; padding-bottom: 20px; flex-wrap: wrap; - justify-content: center; + flex-direction: column; align-items: center; } @media screen and (max-width: 500px) { @@ -48,6 +47,7 @@ input.btn-login { margin-top: 0; color: var(--four-text-color); margin-right: 0; + margin-bottom: 0; } @media screen and (max-width: 500px) { input.btn-login { @@ -59,8 +59,8 @@ input.btn-login { .form__buttons { display: flex; gap: 25px; - margin-left: auto; align-items: center; + margin-left: 32em; } @media screen and (max-width: 500px) { .form__buttons { @@ -75,6 +75,10 @@ input.btn-login { } } +.reg__item { + width: 303px; +} + .user-leave { padding-right: 25px; } diff --git a/petapp/static/petapp/page/user_editpage/css/user_edit.css.map b/petapp/static/petapp/page/user_editpage/css/user_edit.css.map index 08ec2f0..56a0739 100644 --- a/petapp/static/petapp/page/user_editpage/css/user_edit.css.map +++ b/petapp/static/petapp/page/user_editpage/css/user_edit.css.map @@ -1 +1 @@ -{"version":3,"sources":["user_edit.scss","user_edit.css"],"names":[],"mappings":"AAAA;EACE,gBAAA;EACA,iBAAA;EACA,iBAAA;ACCF;;ADCA;EACE,gBAAA;EACA,WAAA;EACA,MAAA;EACA,sBAAA;OAAA,iBAAA;EACA,aAAA;EACA,oBAAA;EACA,eAAA;EACA,uBAAA;EACA,mBAAA;ACEF;ADDE;EAVF;IAWI,aAAA;ECIF;AACF;;ADDE;EADF;IAEI,sBAAA;ECKF;AACF;ADHI;EADF;IAEI,QAAA;ECMJ;AACF;ADHI;EADF;IAEI,SAAA;ECMJ;AACF;;ADHA;EACE,iBAAA;EACA,YAAA;EACA,mBAAA;ACMF;;ADJA;EACE,aAAA;EACA,6BAAA;EACA,eAAA;ACOF;ADNE;EAJF;IAKI,iBAAA;IACA,eAAA;ECSF;AACF;;ADPA;EACE,aAAA;EACA,SAAA;EACA,iBAAA;EACA,mBAAA;ACUF;ADTE;EALF;IAMI,cAAA;IACA,eAAA;ECYF;AACF;;ADRE;EADF;IAEI,wBAAA;ECYF;AACF;;ADTA;EACE,mBAAA;ACYF;ADXE;EAFF;IAGI,kBAAA;IACA,MAAA;IACA,QAAA;IACA,kBAAA;ECcF;AACF;ADbE;EACE,eAAA;EACA,4BAAA;EACA,gBAAA;ACeJ;ADdI;EACE,iCAAA;ACgBN;ADdI;EAPF;IAQI,eAAA;ECiBJ;AACF;;ADdA;EACE,aAAA;EACA,sBAAA;EACA,mBAAA;ACiBF;ADhBE;EAJF;IAKI,mBAAA;ECmBF;AACF;;ADjBA;EACE,0CAAA;EACA,eAAA;EACA,eAAA;EACA,4BAAA;EACA,iCAAA;ACoBF;;ADlBA;EACE,aAAA;ACqBF","file":"user_edit.css"} \ No newline at end of file +{"version":3,"sources":["user_edit.scss","user_edit.css"],"names":[],"mappings":"AAAA;EACE,gBAAA;EACA,iBAAA;EACA,iBAAA;ACCF;;ADCA;EACE,WAAA;EACA,MAAA;EACA,sBAAA;OAAA,iBAAA;EACA,aAAA;EACA,oBAAA;EACA,eAAA;EACA,sBAAA;EACA,mBAAA;ACEF;ADDE;EATF;IAUI,aAAA;ECIF;AACF;;ADDE;EADF;IAEI,sBAAA;ECKF;AACF;ADHI;EADF;IAEI,QAAA;ECMJ;AACF;ADHI;EADF;IAEI,SAAA;ECMJ;AACF;;ADHA;EACE,iBAAA;EACA,YAAA;EACA,mBAAA;ACMF;;ADJA;EACE,aAAA;EACA,6BAAA;EACA,eAAA;EACA,gBAAA;ACOF;ADNE;EALF;IAMI,iBAAA;IACA,eAAA;ECSF;AACF;;ADPA;EACE,aAAA;EACA,SAAA;EACA,mBAAA;EACA,iBAAA;ACUF;ADTE;EALF;IAMI,cAAA;IACA,eAAA;ECYF;AACF;;ADRE;EADF;IAEI,wBAAA;ECYF;AACF;;ADVA;EACE,YAAA;ACaF;;ADVA;EACE,mBAAA;ACaF;ADZE;EAFF;IAGI,kBAAA;IACA,MAAA;IACA,QAAA;IACA,kBAAA;ECeF;AACF;ADdE;EACE,eAAA;EACA,4BAAA;EACA,gBAAA;ACgBJ;ADfI;EACE,iCAAA;ACiBN;ADfI;EAPF;IAQI,eAAA;ECkBJ;AACF;;ADfA;EACE,aAAA;EACA,sBAAA;EACA,mBAAA;ACkBF;ADjBE;EAJF;IAKI,mBAAA;ECoBF;AACF;;ADlBA;EACE,0CAAA;EACA,eAAA;EACA,eAAA;EACA,4BAAA;EACA,iCAAA;ACqBF;;ADnBA;EACE,aAAA;ACsBF","file":"user_edit.css"} \ No newline at end of file diff --git a/petapp/static/petapp/page/user_editpage/css/user_edit.scss b/petapp/static/petapp/page/user_editpage/css/user_edit.scss index 5217031..83ec485 100644 --- a/petapp/static/petapp/page/user_editpage/css/user_edit.scss +++ b/petapp/static/petapp/page/user_editpage/css/user_edit.scss @@ -4,14 +4,13 @@ margin: 30px auto; } .edit-info { - max-width: 959px; width: 100%; gap: 0; column-gap: 122px; row-gap: 73px; padding-bottom: 20px; flex-wrap: wrap; - justify-content: center; + flex-direction: column; align-items: center; @media screen and (max-width: 500px) { row-gap: 17px; @@ -41,6 +40,7 @@ input.btn-login { margin-top: 0; color: var(--four-text-color); margin-right: 0; + margin-bottom: 0; @media screen and (max-width: 500px) { padding: 7px 33px; font-size: 16px; @@ -49,8 +49,8 @@ input.btn-login { .form__buttons { display: flex; gap: 25px; - margin-left: auto; align-items: center; + margin-left: 32em; @media screen and (max-width: 500px) { margin-left: 0; margin-top: 5px; @@ -62,6 +62,9 @@ input.btn-login { margin-top: 0 !important; } } +.reg__item{ + width: 303px; +} .user-leave { padding-right: 25px; diff --git a/petapp/templates/petapp/basket.html b/petapp/templates/petapp/basket.html index 01f2240..09ada93 100644 --- a/petapp/templates/petapp/basket.html +++ b/petapp/templates/petapp/basket.html @@ -21,6 +21,7 @@

Моя корзина

-

Цена: {{ item.product.price }} ₽

+ {% endblock %} diff --git a/petapp/templates/petapp/user_edit.html b/petapp/templates/petapp/user_edit.html index cc188c6..c25fb65 100644 --- a/petapp/templates/petapp/user_edit.html +++ b/petapp/templates/petapp/user_edit.html @@ -32,38 +32,41 @@ {% endfor %} {% endif %} -
-
- - -
-
- - -
-
- - -
-
+ -
-
- - -
-
- - +
+
+
+ + +
+
+ + +
+
+ + +
-
- - +
+
+ + +
+
+ + +
+
+ + +
- +