From d0ca72e07f65808ceea60f2a50494063235ca97a Mon Sep 17 00:00:00 2001 From: boomboom0202 Date: Tue, 12 Aug 2025 16:33:02 +0500 Subject: [PATCH 001/447] =?UTF-8?q?=D0=9C=D0=BE=D0=B8=20=D0=B8=D0=B7=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20open-release/te?= =?UTF-8?q?ak?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lms/djangoapps/univerapi/__init__.py | 0 lms/djangoapps/univerapi/admin.py | 3 + lms/djangoapps/univerapi/apps.py | 6 + .../univerapi/migrations/0001_initial.py | 24 + .../migrations/0002_univeruser_univer_id2.py | 20 + .../migrations/0003_auto_20211125_0136.py | 34 ++ .../0004_univeruser_edx_username.py | 20 + .../univerapi/migrations/__init__.py | 0 lms/djangoapps/univerapi/models.py | 12 + lms/djangoapps/univerapi/table_univeruser.sql | 0 .../univerapi/templates/univerapi/index.html | 98 +++ .../univerapi/templates/univerapi/login.html | 42 ++ .../templates/univerapi/redirect.html | 117 ++++ lms/djangoapps/univerapi/tests.py | 3 + lms/djangoapps/univerapi/urls.py | 7 + lms/djangoapps/univerapi/views.py | 404 +++++++++++++ lms/djangoapps/univerapi/views.py.save | 504 +++++++++++++++ lms/djangoapps/univerapi/views.py.save.1 | 232 +++++++ lms/djangoapps/univerapi/views.py.save.2 | 572 ++++++++++++++++++ 19 files changed, 2098 insertions(+) create mode 100644 lms/djangoapps/univerapi/__init__.py create mode 100644 lms/djangoapps/univerapi/admin.py create mode 100644 lms/djangoapps/univerapi/apps.py create mode 100644 lms/djangoapps/univerapi/migrations/0001_initial.py create mode 100644 lms/djangoapps/univerapi/migrations/0002_univeruser_univer_id2.py create mode 100644 lms/djangoapps/univerapi/migrations/0003_auto_20211125_0136.py create mode 100644 lms/djangoapps/univerapi/migrations/0004_univeruser_edx_username.py create mode 100644 lms/djangoapps/univerapi/migrations/__init__.py create mode 100644 lms/djangoapps/univerapi/models.py create mode 100644 lms/djangoapps/univerapi/table_univeruser.sql create mode 100644 lms/djangoapps/univerapi/templates/univerapi/index.html create mode 100644 lms/djangoapps/univerapi/templates/univerapi/login.html create mode 100644 lms/djangoapps/univerapi/templates/univerapi/redirect.html create mode 100644 lms/djangoapps/univerapi/tests.py create mode 100644 lms/djangoapps/univerapi/urls.py create mode 100644 lms/djangoapps/univerapi/views.py create mode 100644 lms/djangoapps/univerapi/views.py.save create mode 100644 lms/djangoapps/univerapi/views.py.save.1 create mode 100644 lms/djangoapps/univerapi/views.py.save.2 diff --git a/lms/djangoapps/univerapi/__init__.py b/lms/djangoapps/univerapi/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/lms/djangoapps/univerapi/admin.py b/lms/djangoapps/univerapi/admin.py new file mode 100644 index 000000000000..ea5d68b7c457 --- /dev/null +++ b/lms/djangoapps/univerapi/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/lms/djangoapps/univerapi/apps.py b/lms/djangoapps/univerapi/apps.py new file mode 100644 index 000000000000..d222a69cc2ab --- /dev/null +++ b/lms/djangoapps/univerapi/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class UniverapiConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'univerapi' diff --git a/lms/djangoapps/univerapi/migrations/0001_initial.py b/lms/djangoapps/univerapi/migrations/0001_initial.py new file mode 100644 index 000000000000..98694b9cae06 --- /dev/null +++ b/lms/djangoapps/univerapi/migrations/0001_initial.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2021-11-25 06:21 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Univeruser', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('edx_pass', models.CharField(max_length=300)), + ('univer_id', models.CharField(max_length=300)), + ], + ), + ] diff --git a/lms/djangoapps/univerapi/migrations/0002_univeruser_univer_id2.py b/lms/djangoapps/univerapi/migrations/0002_univeruser_univer_id2.py new file mode 100644 index 000000000000..1764f5bd570e --- /dev/null +++ b/lms/djangoapps/univerapi/migrations/0002_univeruser_univer_id2.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2021-11-25 06:33 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('univerapi', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='univeruser', + name='univer_id2', + field=models.CharField(max_length=300, null=True), + ), + ] diff --git a/lms/djangoapps/univerapi/migrations/0003_auto_20211125_0136.py b/lms/djangoapps/univerapi/migrations/0003_auto_20211125_0136.py new file mode 100644 index 000000000000..50d2a07f73e1 --- /dev/null +++ b/lms/djangoapps/univerapi/migrations/0003_auto_20211125_0136.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2021-11-25 06:36 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('univerapi', '0002_univeruser_univer_id2'), + ] + + operations = [ + migrations.RemoveField( + model_name='univeruser', + name='univer_id2', + ), + migrations.AddField( + model_name='univeruser', + name='edx_id', + field=models.IntegerField(null=True), + ), + migrations.AlterField( + model_name='univeruser', + name='edx_pass', + field=models.CharField(max_length=300, null=True), + ), + migrations.AlterField( + model_name='univeruser', + name='univer_id', + field=models.CharField(max_length=300, null=True), + ), + ] diff --git a/lms/djangoapps/univerapi/migrations/0004_univeruser_edx_username.py b/lms/djangoapps/univerapi/migrations/0004_univeruser_edx_username.py new file mode 100644 index 000000000000..049d469cc50c --- /dev/null +++ b/lms/djangoapps/univerapi/migrations/0004_univeruser_edx_username.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2021-12-06 09:18 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('univerapi', '0003_auto_20211125_0136'), + ] + + operations = [ + migrations.AddField( + model_name='univeruser', + name='edx_username', + field=models.CharField(max_length=300, null=True), + ), + ] diff --git a/lms/djangoapps/univerapi/migrations/__init__.py b/lms/djangoapps/univerapi/migrations/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/lms/djangoapps/univerapi/models.py b/lms/djangoapps/univerapi/models.py new file mode 100644 index 000000000000..1144b1ca5ed9 --- /dev/null +++ b/lms/djangoapps/univerapi/models.py @@ -0,0 +1,12 @@ +from django.db import models +from django.contrib import admin + +# Create your models here. + +class Univeruser(models.Model): + edx_id = models.IntegerField(null=True) + edx_pass = models.CharField(max_length=300, null=True) + univer_id = models.CharField(max_length=300, null=True) + edx_username = models.CharField(max_length=300, null=True) + +admin.site.register(Univeruser) \ No newline at end of file diff --git a/lms/djangoapps/univerapi/table_univeruser.sql b/lms/djangoapps/univerapi/table_univeruser.sql new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/lms/djangoapps/univerapi/templates/univerapi/index.html b/lms/djangoapps/univerapi/templates/univerapi/index.html new file mode 100644 index 000000000000..3bb9f685436d --- /dev/null +++ b/lms/djangoapps/univerapi/templates/univerapi/index.html @@ -0,0 +1,98 @@ + + + + + + +
+ {% csrf_token %} + +
+ + + +
+ + + + +
+ + + + + + + + + + + diff --git a/lms/djangoapps/univerapi/templates/univerapi/login.html b/lms/djangoapps/univerapi/templates/univerapi/login.html new file mode 100644 index 000000000000..548df9dfd583 --- /dev/null +++ b/lms/djangoapps/univerapi/templates/univerapi/login.html @@ -0,0 +1,42 @@ +login page + + + + diff --git a/lms/djangoapps/univerapi/templates/univerapi/redirect.html b/lms/djangoapps/univerapi/templates/univerapi/redirect.html new file mode 100644 index 000000000000..2a3d726e749e --- /dev/null +++ b/lms/djangoapps/univerapi/templates/univerapi/redirect.html @@ -0,0 +1,117 @@ +login page + + + + diff --git a/lms/djangoapps/univerapi/tests.py b/lms/djangoapps/univerapi/tests.py new file mode 100644 index 000000000000..de8bdc00eb2f --- /dev/null +++ b/lms/djangoapps/univerapi/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/lms/djangoapps/univerapi/urls.py b/lms/djangoapps/univerapi/urls.py new file mode 100644 index 000000000000..9aad72b602ec --- /dev/null +++ b/lms/djangoapps/univerapi/urls.py @@ -0,0 +1,7 @@ +from django.urls import path + +from . import views + +urlpatterns = [ + path('', views.test, name='test'), +] \ No newline at end of file diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py new file mode 100644 index 000000000000..f2c44f8343e9 --- /dev/null +++ b/lms/djangoapps/univerapi/views.py @@ -0,0 +1,404 @@ +# -*- coding: utf-8 -*- + +from django.shortcuts import render +from django.http import HttpResponse +import logging +import jwt +import openedx.core.djangoapps.user_api.views as user_api_view +import requests +import django.middleware.csrf +from django.views.decorators.csrf import csrf_exempt, csrf_protect, ensure_csrf_cookie +from django.utils.decorators import method_decorator +from django.shortcuts import redirect +import re +secret = '$ecRet@3#$2958GPIs!1' + +from django.shortcuts import render +from rest_framework.views import APIView +from rest_framework.generics import GenericAPIView + +from univerapi.models import Univeruser +from random import randint +import json +import random +from student.models import User +import time +from django.db import connection +from django.contrib.sites.models import Site +from django.conf import settings +from django.http import JsonResponse + +class UniverView(GenericAPIView): + + def createuser(): + return 123 + + @method_decorator(csrf_protect) + def post(self, request): + return HttpResponse('post') + + auth = request.POST.get('auth') + encoded_jwt = request.GET.get('auth') + decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + + new_user = Univeruser() + created_user = '' + created_user_email = '' + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + + return HttpResponse('user exist') + + except: + surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) + created_user = decoded['uname'].replace(".", "_") + str(random.randint(100, 999)) + created_user_email = decoded['uname'].replace(".", "_")+'@kaznu.edu.kz' + multipart_form_data = { + 'email': (None, created_user_email), + 'password': (None, decoded['upwd'][:75]), + 'name': (None, name), + 'username': (None, created_user), + 'level_of_education': (None, stage), + 'gender': (None, gender), + 'year_of_birth': (None, birth_year), + 'honor_code': (None, 'true'), + 'country': (None, 'KZ'), + 'goals': (None, 'education'), + 'surname': (None, surname), + 'mailing_address': (None, 'Kaznu') + } + client = requests.session() + client.get('http://192.168.199.128', verify=False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + response = requests.post('http://192.168.199.128:8181/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify=False) + + json_data = json.loads(response.text) + + if ( ('success' in json_data) and (json_data['success'] == True)): + created_user_str = str(created_user) + + exist_user = None + i = 0 + while i < 60: + try: + exist_user = User.objects.get(username=created_user_str) + User.refresh_from_db() + break + except: + i += 1 + time.sleep(3) + + out_html='' + query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" + query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" + + + return HttpResponse(repr(exist_user)) + + time.sleep(10) + cursor = connection.cursor() + row = None + sql = 'SELECT id, username FROM auth_user' + try: + cursor.execute(str(query2)) + row = cursor.fetchall() + return HttpResponse(repr(row)) + except Exception as e: + cursor.close + return HttpResponse('error =' + str(e)) + + return HttpResponse(repr(cursor)) + else: + return HttpResponse('no registration') + + return HttpResponse((json_data['success'])) + + + return HttpResponse(repr(exist_user)) + + multipart_form_data = { + 'email': (None, 'dl@kaznu.kz'), + 'password': (None, 'DlGao3wo'), + 'remember': (None, 'true') + } + client = requests.session() + client.get('http://192.168.199.128') + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers, verify = False) + + headers2 = response.headers + + csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) + sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) + + + cookies2 = { + '_ga': 'GA1.1.1602606957.1602045613', + 'experiments_is_enterprise': 'false', + 'openedx-language-preference': 'ru', + 'csrftoken': csrfToken.group(1), + 'edxloggedin': 'true', + 'sessionid': sessionid.group(1), + 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', + } + + headers3 = { + 'Connection': 'keep-alive', + 'Upgrade-Insecure-Requests': '1', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'Referer': 'http://192.168.199.128/login?next=%2F', + 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', + 'sec-gpc': '1', + } + + response = requests.get('http://192.168.199.128', headers=headers3, cookies=cookies2, verify=False) + return HttpResponse(response) + + + @method_decorator(ensure_csrf_cookie) + def get(self, request): + current_site = 'https://open.kaznu.kz' + + auth = request.POST.get('auth') + encoded_jwt = request.GET.get('auth') + decoded = jwt.decode(encoded_jwt, secret, algorithms=["HS256"]) + created_user = '' + created_user_email = '' + + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + + return render(request, 'univerapi/redirect.html') + + except: + surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) + created_user = decoded['uname'].replace(".", "_") + str(random.randint(100, 999)) + + created_user_email = decoded['uname'].replace(".", "_")+'@kaznu.edu.kz' + multipart_form_data = { + 'email': (None, created_user_email), + 'password': (None, decoded['upwd'][:75]), + 'name': (None, name), + 'username': (None, created_user), + 'level_of_education': (None, stage), + 'gender': (None, gender), + 'year_of_birth': (None, birth_year), + 'honor_code': (None, 'true'), + 'country': (None , 'KZ'), + 'surname': (None, surname), + 'goals': (None, 'education'), + 'mailing_address': (None, 'Kaznu') + } + client = requests.session() + client.get(current_site, verify = False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + count_try = 0 + while True: + response = requests.post(current_site + '/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify = False) + json_data = json.loads(response.text) + if ( ('success' in json_data) and (json_data['success'] == True)): + break + if ( ('username' in json_data) ): + if "existing account" in str(json_data): + + + return render(request, 'univerapi/redirect.html') + time.sleep(3) + count_try += 1 + if (count_try == 20): + return JsonResponse(json_data) + + if ( ('success' in json_data) and (json_data['success'] == True)): + new_user = Univeruser() + new_user.edx_username = created_user + new_user.edx_id=0 + new_user.edx_pass='0' + new_user.univer_id = decoded['uname'] + new_user.save() + return render(request, 'univerapi/redirect.html') + created_user_str = str(created_user) + + exist_user = None + i = 0 + while i < 60: + try: + exist_user = User.objects.get(username=created_user_str) + User.refresh_from_db() + break + except: + i += 1 + time.sleep(3) + + out_html='' + query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" + query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" + + return HttpResponse(repr(exist_user)) + + time.sleep(10) + cursor = connection.cursor() + row = None + sql = 'SELECT id, username FROM auth_user' + try: + cursor.execute(str(query2)) + row = cursor.fetchall() + return HttpResponse(repr(row)) + except Exception as e: + cursor.close + return HttpResponse('error =' + str(e)) + + return HttpResponse(repr(cursor)) + else: + return HttpResponse('no registration') + + +def authview(request): + return render(request, 'univerapi/index.html') + + +def authview_check(request): + auth = request.POST.get('auth') + auth = auth.split("auth=")[1] + encoded_jwt = auth + decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + already_exist_user = decoded['uname'] + + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + exist_edx_user = User.objects.get(username=exist_user.edx_username) + exist_edx_user.is_active = 1 + exist_edx_user.save() + + except: + return JsonResponse({"success":"false"}) + + return JsonResponse({"success":"true"}) + + +# -*- coding: utf-8 -*- +import requests +import jwt + +def decode_token_and_fetch_profile(token, secret_key='$ecRet@3#$2958GPIs!1'): + try: + decoded = jwt.decode(token, secret_key, algorithms=['HS256']) + except jwt.InvalidSignatureError: + raise SystemExit("Ошибка: неверная подпись JWT") + except jwt.DecodeError as e: + raise SystemExit("Ошибка при декодировании JWT: {0}".format(e)) + + uname = decoded.get('uname') + upwd = decoded.get('upwd') + if not uname or not upwd: + raise SystemExit("Ошибка: в токене нет 'uname' или 'upwd'") + + session = requests.Session() + resp = session.post( + "https://univerapi.kaznu.kz/user/loginMoodle", + data={'login': uname, 'password': upwd}, + ) + resp.raise_for_status() + data = resp.json() + if data.get('code') != 0: + raise SystemExit("loginMoodle вернул: {0}".format(data.get('message', ''))) + + # Сначала пробуем получить профиль студента + student_resp = session.get("https://univerapi.kaznu.kz/student/profile") + student_data = None + if student_resp.status_code == 200: + try: + student_data = student_resp.json() + except: + pass + + # Если данные студента получены успешно + if student_data and student_data.get('code') == 0 and 'data' in student_data: + info_list, personal_list = student_data['data'] + + def find_value(lst, key): + for d in lst: + if key in d and ':' in d[key]: + return d[key].split(':', 1)[1].strip() + return None + + surname = find_value(personal_list, 'sname') + name = find_value(personal_list, 'name') + + raw_sex = find_value(personal_list, 'sex') or '' + if isinstance(raw_sex, bytes): + raw_sex = raw_sex.decode('utf-8') + raw_sex = raw_sex.lower() + + if u'муж' in raw_sex: + gender = 'm' + elif u'жен' in raw_sex: + gender = 'f' + else: + gender = 'o' + + raw_stage = find_value(info_list, 'stage') or '' + if isinstance(raw_stage, bytes): + raw_stage = raw_stage.decode('utf-8') + raw_stage = raw_stage.lower() + + if u'бакалав' in raw_stage: + stage = 'b' + elif u'магис' in raw_stage: + stage = 'm' + elif u'доктор' in raw_stage: + stage = 'p' + else: + stage = 'none' + + # Установка дефолтного года рождения для студента + birth_year = 1995 + return surname, name, gender, stage, birth_year + + # Если не удалось получить данные студента, пробуем профиль преподавателя + teacher_resp = session.get("https://univerapi.kaznu.kz/teacher/profile") + if teacher_resp.status_code >= 500: + raise SystemExit("teacher/profile 500:\n{0}".format(teacher_resp.text)) + teacher_resp.raise_for_status() + teacher_data = teacher_resp.json() + + if teacher_data.get('code') != 0 or 'data' not in teacher_data: + raise SystemExit("Не удалось получить данные ни студента, ни преподавателя") + + # Обработка данных преподавателя + teacher_profile = teacher_data['data'][0] # Первый элемент в списке данных + surname = teacher_profile.get('sname', '') + name = teacher_profile.get('name', '') + gender = 'o' # По умолчанию, если поле отсутствует + stage = 'none' # Для преподавателя ступень не применима + + # Извлечение года рождения из даты (формат "дд.мм.гггг") + birth_year = None + if 'dateOfBirth' in teacher_profile: + try: + birth_year = int(teacher_profile['dateOfBirth'].split('.')[-1]) + except (ValueError, IndexError): + pass + + return surname, name, gender, stage, birth_year diff --git a/lms/djangoapps/univerapi/views.py.save b/lms/djangoapps/univerapi/views.py.save new file mode 100644 index 000000000000..d6b496770248 --- /dev/null +++ b/lms/djangoapps/univerapi/views.py.save @@ -0,0 +1,504 @@ +from django.shortcuts import render +from django.http import HttpResponse +import logging +#import authlib +import jwt +import openedx.core.djangoapps.user_api.views as user_api_view +import requests +import django.middleware.csrf +from django.views.decorators.csrf import csrf_exempt, csrf_protect, ensure_csrf_cookie +from django.utils.decorators import method_decorator +from django.shortcuts import redirect +import re +secret = '$ecRet@3#$2958GPIs!1' + +from django.shortcuts import render +from rest_framework.views import APIView +from rest_framework.generics import GenericAPIView + +from univerapi.models import Univeruser +from random import randint +import json +from student.models import User +import time +from django.db import connection +from django.contrib.sites.models import Site +from django.conf import settings +from django.http import JsonResponse + +class UniverView(GenericAPIView): + + def createuser(): + return 123 + + @method_decorator(csrf_protect) + def post(self, request): + return HttpResponse('post') + # TEST user + #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') + #return HttpResponse(repr(exist_user)) + # TEST user + + auth = request.POST.get('auth') + #auth = auth.split("auth=")[1] + encoded_jwt = request.GET.get('auth') + decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + + + new_user = Univeruser() + #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) + ''' + new_user.edx_pass=decoded['upwd'] + new_user.univer_id = decoded['uname'] + new_user.save() + ''' + created_user = '' + created_user_email = '' + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + return HttpResponse('user exist') + + except: + created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) + created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' + multipart_form_data = { + 'email': (None, created_user_email), + 'password': (None, decoded['upwd'][:75]), + 'name': (None, decoded['uname']), + 'username': (None, created_user), + 'level_of_education': (None, 'b'), + 'gender': (None, 'o'), + 'year_of_birth': (None, '1995'), + 'honor_code': (None, 'true'), + 'surname': (None, 'surname'), + 'goals': (None, 'education'), + 'country': (None, 'KZ'), + 'mailing_address': (None, 'Kaznu') + } + client = requests.session() + client.get('http://192.168.199.128', verify=False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + response = requests.post('http://192.168.199.128:8181/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify=False) + + #new_user.edx_pass=decoded['upwd'] + #new_user.univer_id = decoded['uname'] + #new_user.save() + json_data = json.loads(response.text) + + if ( ('success' in json_data) and (json_data['success'] == True)): + created_user_str = str(created_user) + + exist_user = None + i = 0 + while i < 60: + try: + exist_user = User.objects.get(username=created_user_str) + #exist_user = User.objects.raw('SELECT * FROM auth_user') + User.refresh_from_db() + break + except: + i += 1 + time.sleep(1) + + out_html='' + query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" + query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" + + + return HttpResponse(repr(exist_user)) + + # raw sql + time.sleep(10) + cursor = connection.cursor() + row = None + sql = 'SELECT id, username FROM auth_user' + try: + cursor.execute(str(query2)) + row = cursor.fetchall() + return HttpResponse(repr(row)) + except Exception as e: + cursor.close + return HttpResponse('error =' + str(e)) + # raw sql + + return HttpResponse(repr(cursor)) + #time.sleep(20) + #for p in User.objects.raw(query): + #User.refresh_from_db() + # out_html += str(p.username) + '\n' + #exist_user = User.objects.raw(str(query)) + #exist_user = User.objects.get(id=51808) + #return HttpResponse(str(created_user_str) + ' = ' + repr(exist_user) + str(i) + str(out_html)) + #return HttpResponse( str(out_html)) + else: + return HttpResponse('no registration') + + return HttpResponse((json_data['success'])) + + + #check_user = Univeruser.objects.get(univer_id=decoded['uname']) + + return HttpResponse(repr(exist_user)) + + multipart_form_data = { + 'email': (None, 'dl@kaznu.kz'), + 'password': (None, 'DlGao3wo'), + 'remember': (None, 'true') + } + client = requests.session() + client.get('http://192.168.199.128') + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers) + + headers2 = response.headers + + csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) + sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) + + + cookies2 = { + '_ga': 'GA1.1.1602606957.1602045613', + 'experiments_is_enterprise': 'false', + 'openedx-language-preference': 'ru', + 'csrftoken': csrfToken.group(1), + 'edxloggedin': 'true', + 'sessionid': sessionid.group(1), + 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', + } + + headers3 = { + 'Connection': 'keep-alive', + 'Upgrade-Insecure-Requests': '1', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'Referer': 'http://192.168.199.128/login?next=%2F', + 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', + 'sec-gpc': '1', + } + + response = requests.get('http://192.168.199.128', headers=headers3, cookies=cookies2, verify=False) + return HttpResponse(response) + + #return HttpResponse(request.POST['csrf']) + + @method_decorator(ensure_csrf_cookie) + def get(self, request): + #return HttpResponse('get') + #return HttpResponse(repr(django.middleware.csrf.get_token(request))) + #return render(request, 'univerapi/login.html') + # TEST user + #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') + #return HttpResponse(repr(exist_user)) + # TEST user + current_site = 'https://open.kaznu.kz' + + + auth = request.POST.get('auth') + #auth = auth.split("auth=")[1] + encoded_jwt = request.GET.get('auth') + decoded = jwt.decode(encoded_jwt, secret, algorithms=["HS256"]) + + #return HttpResponse(decoded['upwd'][:75]) + #new_user = Univeruser() + #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) + ''' + new_user.edx_pass=decoded['upwd'] + new_user.univer_id = decoded['uname'] + new_user.save() + ''' + created_user = '' + created_user_email = '' + #return HttpResponse(repr(current_site)) + + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + + return render(request, 'univerapi/redirect.html') + #return HttpResponse('user exist') + + except: + #created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) + created_user = decoded['uname'].split(".")[0]+"_"+decoded['uname'].split(".")[1] + created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' + multipart_form_data = { + 'email': (None, created_user_email), + 'password': (None, decoded['upwd'][:75]), + 'name': (None, decoded['uname']), + 'username': (None, created_user), + 'level_of_education': (None, 'b'), + 'gender': (None, 'o'), + 'year_of_birth': (None, '1995'), + 'honor_code': (None, 'true'), + 'surname': (None, 'surname'), + 'goals': (None, 'education'), + 'country': (None, 'KZ'), + 'mailing_address': (None, 'Kaznu') + + } + client = requests.session() + client.get(current_site, verify = False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + count_try = 0 + while True: + response = requests.post(current_site + '/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify = False) + json_data = json.loads(response.text) + if ( ('success' in json_data) and (json_data['success'] == True)): + break + if ( ('username' in json_data) ): + if "existing account" in str(json_data): + #new_user = Univeruser() + #new_user = Univeruser(edx_id = created_user, edx_pass=0, univer_id = decoded['uname']) + #new_user.edx_username = created_user + #new_user.edx_id=0 + #new_user.edx_pass='0' + #new_user.univer_id = decoded['uname'] + #new_user.save() + + return render(request, 'univerapi/redirect.html') + time.sleep(1) + count_try += 1 + if (count_try == 20): + return JsonResponse(json_data) + + if ( ('success' in json_data) and (json_data['success'] == True)): + new_user = Univeruser() + new_user.edx_username = created_user + new_user.edx_id=0 + new_user.edx_pass='0' + new_user.univer_id = decoded['uname'] + new_user.save() + + return render(request, 'univerapi/redirect.html') + + created_user_str = str(created_user) + + exist_user = None + i = 0 + while i < 60: + try: + exist_user = User.objects.get(username=created_user_str) + #exist_user = User.objects.raw('SELECT * FROM auth_user') + User.refresh_from_db() + break + except: + i += 1 + time.sleep(1) + + out_html='' + query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" + query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" + + + return HttpResponse(repr(exist_user)) + + # raw sql + time.sleep(10) + cursor = connection.cursor() + row = None + sql = 'SELECT id, username FROM auth_user' + try: + cursor.execute(str(query2)) + row = cursor.fetchall() + return HttpResponse(repr(row)) + except Exception as e: + cursor.close + return HttpResponse('error =' + str(e)) + # raw sql + + return HttpResponse(repr(cursor)) + else: + return HttpResponse('no registration') + +#@method_decorator(csrf_protect) +#method_decorator(csrf_protect) + +def authview(request): + return render(request, 'univerapi/index.html') + #return HttpResponse('auth') + +# check activated +def authview_check(request): + auth = request.POST.get('auth') + auth = auth.split("auth=")[1] + #encoded_jwt = request.GET.get('auth') + #decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + #return HttpResponse('OK') + encoded_jwt = auth + decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + already_exist_user = decoded['uname'] + + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + exist_edx_user = User.objects.get(username=exist_user.edx_username) + exist_edx_user.is_active = 1 + exist_edx_user.save() + #return render(request, 'univerapi/redirect.html') + + + except: + return JsonResponse({"success":"false"}) + + #return HttpResponse('') + return JsonResponse({"success":"true"}) + +@method_decorator(csrf_protect) +def test(request, *args, **kwargs): + logger = logging.getLogger(__name__) + logger.error("Test api") + #logger.error(request) + #logger.error(request.GET.get('auth')) + #encoded_jwt = jwt.encode({"some": "payload"}, "secret", algorithm="HS256") + + #return HttpResponse(answer) + # hash = eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1bmFtZSI6Imhha3ltb3ZhLnR5eXNodHlxIiwidXB3ZCI6IjA3NzdGMDk4MEIzMUE2MEZDRkVFQzlEQjNGOTFEOUI4RUVCQUU4NDQ0NjAwRTQ3MUQyMzEyQjYyNDA2MjVCNTZFM0Q0RDM5RDRBREYwMTg5N0QzQTEzMDkzRTcwRkU1NjRGMUJBRDZCOTIxMUE0NTAwODQxRDFFQzNFMkNGODcwIn0.QLCZHTM2ACm0byg77h0C7KpGwMxcxJuy-M96lQzc3Mk + + #return HttpResponse(repr(args)) + + client = requests.session() + client.get('http://192.168.199.128', verify = False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + # register + multipart_form_data_register = { + 'email': (None, 'hakymova.tyyshtyq@test11.ru'), + 'name': (None, 'hakymova.tyyshtyq'), + 'username': (None, 'hakymova11'), + 'password': (None, '988EBA1673B2F08F99F61719A2F8BC47791250B3A052DA2992D0148DE2D2E084C2E23E6E3C7'), + 'level_of_education': (None, 'hs'), + 'gender': (None, 'f'), + 'year_of_birth': (None, '1969'), + 'mailing_address': (None, ''), + 'goals': (None, ''), + 'honor_code': (None, 'true'), + + } + + response_register = requests.post('http://192.168.199.128/user_api/v1/account/registration/', data=login_data, files=multipart_form_data_register, headers=headers, verify = False) + + return HttpResponse(repr(response_register)) + + # /register + + multipart_form_data = { + 'email': (None, 'dl@kaznu.kz'), + 'password': (None, 'DlGao3wo'), + 'remember': (None, 'false') + } + client = requests.session() + client.get('http://192.168.199.128', verify = False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + # http://192.168.199.128/user_api/v1/account/login_session/ + # https://webhook.site/8bdb471b-3d63-46c2-b788-79f7398144e6 + + + + + + + + + + response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers, verify = False) + + return HttpResponse(repr(request.GET)) + + #client.get('http://192.168.199.128:8181') + #session_key = client.cookies['sessionid'] + + + #edx_auth = user_api_view.LoginSessionView() + #testauth = edx_auth.post(request) + + headers2 = response.headers + #home = requests.get('http://192.168.199.128/dashboard', headers=headers2) + #home = HttpResponse(status=302) + #home['Location'] = 'http://192.168.199.128/' + csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) + sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) + + + + + + cookies2 = { + '_ga': 'GA1.1.1602606957.1602045613', + 'experiments_is_enterprise': 'false', + 'openedx-language-preference': 'ru', + 'csrftoken': csrfToken.group(1), + 'edxloggedin': 'true', + 'sessionid': sessionid.group(1), + 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', + } + + headers3 = { + 'Connection': 'keep-alive', + 'Upgrade-Insecure-Requests': '1', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'Referer': 'http://192.168.199.128/login?next=%2F', + 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', + 'sec-gpc': '1', + } + + response = requests.get('http://192.168.199.128/dashboard', headers=headers3, cookies=cookies2, verify=False) + return HttpResponse(response) + + + + + + + + return HttpResponse(sessionid.group(1)) + + + #home = redirect('http://192.168.199.128') + #return home + + try: + #test = edx_auth.post(request) + test = 0 + except Exception as e: + return HttpResponse(e.message) + + hash = request.GET.get('auth') + try: + answer = jwt.decode(hash, secret, algorithms=["HS256"]) + except Exception as e: + return HttpResponse(e.message) + + #return HttpResponse(repr(request)) + return HttpResponse(repr(response.headers)) diff --git a/lms/djangoapps/univerapi/views.py.save.1 b/lms/djangoapps/univerapi/views.py.save.1 new file mode 100644 index 000000000000..3b6b93561cb7 --- /dev/null +++ b/lms/djangoapps/univerapi/views.py.save.1 @@ -0,0 +1,232 @@ +# -*- coding: utf-8 -*- + +from django.shortcuts import render +from django.http import HttpResponse +import logging +#import authlib +import jwt +import openedx.core.djangoapps.user_api.views as user_api_view +import requests +import django.middleware.csrf +from django.views.decorators.csrf import csrf_exempt, csrf_protect, ensure_csrf_cookie +from django.utils.decorators import method_decorator +from django.shortcuts import redirect +import re +secret = '$ecRet@3#$2958GPIs!1' + +from django.shortcuts import render +from rest_framework.views import APIView +from rest_framework.generics import GenericAPIView + +from univerapi.models import Univeruser +from random import randint +import json +from student.models import User +import time +from django.db import connection +from django.contrib.sites.models import Site +from django.conf import settings +from django.http import JsonResponse + +class UniverView(GenericAPIView): + + def createuser(): + return 123 + + @method_decorator(csrf_protect) + def post(self, request): + return HttpResponse('post') + # TEST user + #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') + #return HttpResponse(repr(exist_user)) + # TEST user + + auth = request.POST.get('auth') + #auth = auth.split("auth=")[1] + encoded_jwt = request.GET.get('auth') + decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + + new_user = Univeruser() + #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) + ''' + new_user.edx_pass=decoded['upwd'] + new_user.univer_id = decoded['uname'] + new_user.save() + ''' + created_user = '' + created_user_email = '' + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + + return HttpResponse('user exist') + + except: + surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) + created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) + created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' + multipart_form_data = { + 'email': (None, created_user_email), + 'password': (None, decoded['upwd'][:75]), + 'name': (None, name), + 'username': (None, created_user), + 'level_of_education': (None, stage), + 'gender': (None, gender), + 'year_of_birth': (None, birth_year), + 'honor_code': (None, 'true'), + 'country': (None, 'KZ'), + 'goals': (None, 'education'), + 'surname': (None, surname), + 'mailing_address': (None, 'Kaznu') + } + client = requests.session() + client.get('http://192.168.199.128', verify=False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + response = requests.post('http://192.168.199.128:8181/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify=False) + + #new_user.edx_pass=decoded['upwd'] + #new_user.univer_id = decoded['uname'] + #new_user.save() + json_data = json.loads(response.text) + + if ( ('success' in json_data) and (json_data['success'] == True)): + created_user_str = str(created_user) + + exist_user = None + i = 0 + while i < 60: + try: + exist_user = User.objects.get(username=created_user_str) + #exist_user = User.objects.raw('SELECT * FROM auth_user') + User.refresh_from_db() + break + except: + i += 1 + time.sleep(3) + + out_html='' + query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" + query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" + + + return HttpResponse(repr(exist_user)) + + # raw sql + time.sleep(10) + cursor = connection.cursor() + row = None + sql = 'SELECT id, username FROM auth_user' + try: + cursor.execute(str(query2)) + row = cursor.fetchall() + return HttpResponse(repr(row)) + except Exception as e: + cursor.close + return HttpResponse('error =' + str(e)) + # raw sql + + return HttpResponse(repr(cursor)) + #time.sleep(20) + #for p in User.objects.raw(query): + #User.refresh_from_db() + # out_html += str(p.username) + '\n' + #exist_user = User.objects.raw(str(query)) + #exist_user = User.objects.get(id=51808) + #return HttpResponse(str(created_user_str) + ' = ' + repr(exist_user) + str(i) + str(out_html)) + #return HttpResponse( str(out_html)) + else: + return HttpResponse('no registration') + + return HttpResponse((json_data['success'])) + + + #check_user = Univeruser.objects.get(univer_id=decoded['uname']) + + return HttpResponse(repr(exist_user)) + + multipart_form_data = { + 'email': (None, 'dl@kaznu.kz'), + 'password': (None, 'DlGao3wo'), + 'remember': (None, 'true') + } + client = requests.session() + client.get('http://192.168.199.128') + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers, verify = False) + + headers2 = response.headers + + csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) + sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) + + + cookies2 = { + '_ga': 'GA1.1.1602606957.1602045613', + 'experiments_is_enterprise': 'false', + 'openedx-language-preference': 'ru', + 'csrftoken': csrfToken.group(1), + 'edxloggedin': 'true', + 'sessionid': sessionid.group(1), + 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', + } + + headers3 = { + 'Connection': 'keep-alive', + 'Upgrade-Insecure-Requests': '1', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'Referer': 'http://192.168.199.128/login?next=%2F', + 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', + 'sec-gpc': '1', + } + + response = requests.get('http://192.168.199.128', headers=headers3, cookies=cookies2, verify=False) + return HttpResponse(response) + + #return HttpResponse(request.POST['csrf']) + + @method_decorator(ensure_csrf_cookie) + def get(self, request): + #return HttpResponse('get') + #return HttpResponse(repr(django.middleware.csrf.get_token(request))) + #return render(request, 'univerapi/login.html') + # TEST user + #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') + #return HttpResponse(repr(exist_user)) + # TEST user + current_site = 'https://open.kaznu.kz' + + + auth = request.POST.get('auth') + #auth = auth.split("auth=")[1] + encoded_jwt = request.GET.get('auth') + decoded = jwt.decode(encoded_jwt, secret, algorithms=["HS256"]) + + #return HttpResponse(decoded['upwd'][:75]) + #new_user = Univeruser() + #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) + ''' + new_user.edx_pass=decoded['upwd'] + new_user.univer_id = decoded['uname'] + new_user.save() + ''' + created_user = '' + created_user_email = '' + #return HttpResponse(repr(current_site)) + + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + diff --git a/lms/djangoapps/univerapi/views.py.save.2 b/lms/djangoapps/univerapi/views.py.save.2 new file mode 100644 index 000000000000..936d09d9db84 --- /dev/null +++ b/lms/djangoapps/univerapi/views.py.save.2 @@ -0,0 +1,572 @@ +# -*- coding: utf-8 -*- + +from django.shortcuts import render +from django.http import HttpResponse +import logging +#import authlib +import jwt +import openedx.core.djangoapps.user_api.views as user_api_view +import requests +import django.middleware.csrf +from django.views.decorators.csrf import csrf_exempt, csrf_protect, ensure_csrf_cookie +from django.utils.decorators import method_decorator +from django.shortcuts import redirect +import re +secret = '$ecRet@3#$2958GPIs!1' + +from django.shortcuts import render +from rest_framework.views import APIView +from rest_framework.generics import GenericAPIView + +from univerapi.models import Univeruser +from random import randint +import json +from student.models import User +import time +from django.db import connection +from django.contrib.sites.models import Site +from django.conf import settings +from django.http import JsonResponse + +class UniverView(GenericAPIView): + + def createuser(): + return 123 + + @method_decorator(csrf_protect) + def post(self, request): + return HttpResponse('post') + # TEST user + #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') + #return HttpResponse(repr(exist_user)) + # TEST user + + auth = request.POST.get('auth') + #auth = auth.split("auth=")[1] + encoded_jwt = request.GET.get('auth') + decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + + new_user = Univeruser() + #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) + ''' + new_user.edx_pass=decoded['upwd'] + new_user.univer_id = decoded['uname'] + new_user.save() + ''' + created_user = '' + created_user_email = '' + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + + return HttpResponse('user exist') + + except: + surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) + created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) + created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' + multipart_form_data = { + 'email': (None, created_user_email), + 'password': (None, decoded['upwd'][:75]), + 'name': (None, name), + 'username': (None, created_user), + 'level_of_education': (None, stage), + 'gender': (None, gender), + 'year_of_birth': (None, birth_year), + 'honor_code': (None, 'true'), + 'country': (None, 'KZ'), + 'goals': (None, 'education'), + 'surname': (None, surname), + 'mailing_address': (None, 'Kaznu') + } + client = requests.session() + client.get('http://192.168.199.128', verify=False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + response = requests.post('http://192.168.199.128:8181/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify=False) + + #new_user.edx_pass=decoded['upwd'] + #new_user.univer_id = decoded['uname'] + #new_user.save() + json_data = json.loads(response.text) + + if ( ('success' in json_data) and (json_data['success'] == True)): + created_user_str = str(created_user) + + exist_user = None + i = 0 + while i < 60: + try: + exist_user = User.objects.get(username=created_user_str) + #exist_user = User.objects.raw('SELECT * FROM auth_user') + User.refresh_from_db() + break + except: + i += 1 + time.sleep(3) + + out_html='' + query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" + query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" + + + return HttpResponse(repr(exist_user)) + + # raw sql + time.sleep(10) + cursor = connection.cursor() + row = None + sql = 'SELECT id, username FROM auth_user' + try: + cursor.execute(str(query2)) + row = cursor.fetchall() + return HttpResponse(repr(row)) + except Exception as e: + cursor.close + return HttpResponse('error =' + str(e)) + # raw sql + + return HttpResponse(repr(cursor)) + #time.sleep(20) + #for p in User.objects.raw(query): + #User.refresh_from_db() + # out_html += str(p.username) + '\n' + #exist_user = User.objects.raw(str(query)) + #exist_user = User.objects.get(id=51808) + #return HttpResponse(str(created_user_str) + ' = ' + repr(exist_user) + str(i) + str(out_html)) + #return HttpResponse( str(out_html)) + else: + return HttpResponse('no registration') + + return HttpResponse((json_data['success'])) + + + #check_user = Univeruser.objects.get(univer_id=decoded['uname']) + + return HttpResponse(repr(exist_user)) + + multipart_form_data = { + 'email': (None, 'dl@kaznu.kz'), + 'password': (None, 'DlGao3wo'), + 'remember': (None, 'true') + } + client = requests.session() + client.get('http://192.168.199.128') + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers, verify = False) + + headers2 = response.headers + + csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) + sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) + + + cookies2 = { + '_ga': 'GA1.1.1602606957.1602045613', + 'experiments_is_enterprise': 'false', + 'openedx-language-preference': 'ru', + 'csrftoken': csrfToken.group(1), + 'edxloggedin': 'true', + 'sessionid': sessionid.group(1), + 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', + } + + headers3 = { + 'Connection': 'keep-alive', + 'Upgrade-Insecure-Requests': '1', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'Referer': 'http://192.168.199.128/login?next=%2F', + 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', + 'sec-gpc': '1', + } + + response = requests.get('http://192.168.199.128', headers=headers3, cookies=cookies2, verify=False) + return HttpResponse(response) + + #return HttpResponse(request.POST['csrf']) + + @method_decorator(ensure_csrf_cookie) + def get(self, request): + #return HttpResponse('get') + #return HttpResponse(repr(django.middleware.csrf.get_token(request))) + #return render(request, 'univerapi/login.html') + # TEST user + #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') + #return HttpResponse(repr(exist_user)) + # TEST user + current_site = 'https://open.kaznu.kz' + + + auth = request.POST.get('auth') + #auth = auth.split("auth=")[1] + encoded_jwt = request.GET.get('auth') + decoded = jwt.decode(encoded_jwt, secret, algorithms=["HS256"]) + + #return HttpResponse(decoded['upwd'][:75]) + #new_user = Univeruser() + #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) + ''' + new_user.edx_pass=decoded['upwd'] + new_user.univer_id = decoded['uname'] + new_user.save() + ''' + created_user = '' + created_user_email = '' + #return HttpResponse(repr(current_site)) + + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + + return render(request, 'univerapi/redirect.html') + #return HttpResponse('user exist') + + except: + surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) + #created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) + created_user = decoded['uname'].split(".")[0]+"_"+decoded['uname'].split(".")[1] + created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' + multipart_form_data = { + 'email': (None, created_user_email), + 'password': (None, decoded['upwd'][:75]), + 'name': (None, name), + 'username': (None, created_user), + 'level_of_education': (None, stage), + 'gender': (None, gender), + 'year_of_birth': (None, birth_year), + 'honor_code': (None, 'true'), + 'country': (None , 'KZ'), + 'surname': (None, surname), + 'goals': (None, 'education'), + 'mailing_address': (None, 'Kaznu') + } + client = requests.session() + client.get(current_site, verify = False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + count_try = 0 + while True: + response = requests.post(current_site + '/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify = False) + json_data = json.loads(response.text) + if ( ('success' in json_data) and (json_data['success'] == True)): + break + if ( ('username' in json_data) ): + if "existing account" in str(json_data): + #new_user = Univeruser() + #new_user = Univeruser(edx_id = created_user, edx_pass=0, univer_id = decoded['uname']) + #new_user.edx_username = created_user + #new_user.edx_id=0 + #new_user.edx_pass='0' + #new_user.univer_id = decoded['uname'] + #new_user.save() + + return render(request, 'univerapi/redirect.html') + time.sleep(3) + count_try += 1 + if (count_try == 20): + return JsonResponse(json_data) + + if ( ('success' in json_data) and (json_data['success'] == True)): + new_user = Univeruser() + new_user.edx_username = created_user + new_user.edx_id=0 + new_user.edx_pass='0' + new_user.univer_id = decoded['uname'] + new_user.save() + + return render(request, 'univerapi/redirect.html') + + created_user_str = str(created_user) + + exist_user = None + i = 0 + while i < 60: + try: + exist_user = User.objects.get(username=created_user_str) + #exist_user = User.objects.raw('SELECT * FROM auth_user') + User.refresh_from_db() + break + except: + i += 1 + time.sleep(3) + + out_html='' + query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" + query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" + + + return HttpResponse(repr(exist_user)) + + # raw sql + time.sleep(10) + cursor = connection.cursor() + row = None + sql = 'SELECT id, username FROM auth_user' + try: + cursor.execute(str(query2)) + row = cursor.fetchall() + return HttpResponse(repr(row)) + except Exception as e: + cursor.close + return HttpResponse('error =' + str(e)) + # raw sql + + return HttpResponse(repr(cursor)) + else: + return HttpResponse('no registration') + +#@method_decorator(csrf_protect) +#method_decorator(csrf_protect) + +def authview(request): + return render(request, 'univerapi/index.html') + #return HttpResponse('auth') + +# check activated +def authview_check(request): + auth = request.POST.get('auth') + auth = auth.split("auth=")[1] + #encoded_jwt = request.GET.get('auth') + #decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + #return HttpResponse('OK') + encoded_jwt = auth + decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + already_exist_user = decoded['uname'] + + try: + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + exist_edx_user = User.objects.get(username=exist_user.edx_username) + exist_edx_user.is_active = 1 + exist_edx_user.save() + #return render(request, 'univerapi/redirect.html') + + + except: + return JsonResponse({"success":"false"}) + + #return HttpResponse('') + return JsonResponse({"success":"true"}) + +@method_decorator(csrf_protect) +def test(request, *args, **kwargs): + logger = logging.getLogger(__name__) + logger.error("Test api") + #logger.error(request) + #logger.error(request.GET.get('auth')) + #encoded_jwt = jwt.encode({"some": "payload"}, "secret", algorithm="HS256") + + #return HttpResponse(answer) + # hash = eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1bmFtZSI6Imhha3ltb3ZhLnR5eXNodHlxIiwidXB3ZCI6IjA3NzdGMDk4MEIzMUE2MEZDRkVFQzlEQjNGOTFEOUI4RUVCQUU4NDQ0NjAwRTQ3MUQyMzEyQjYyNDA2MjVCNTZFM0Q0RDM5RDRBREYwMTg5N0QzQTEzMDkzRTcwRkU1NjRGMUJBRDZCOTIxMUE0NTAwODQxRDFFQzNFMkNGODcwIn0.QLCZHTM2ACm0byg77h0C7KpGwMxcxJuy-M96lQzc3Mk + + #return HttpResponse(repr(args)) + + client = requests.session() + client.get('http://192.168.199.128', verify = False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + + # register + multipart_form_data_register = { + 'email': (None, 'hakymova.tyyshtyq@test11.ru'), + 'name': (None, 'hakymova.tyyshtyq'), + 'username': (None, 'hakymova11'), + 'password': (None, '988EBA1673B2F08F99F61719A2F8BC47791250B3A052DA2992D0148DE2D2E084C2E23E6E3C7'), + 'level_of_education': (None, 'hs'), + 'gender': (None, 'f'), + 'year_of_birth': (None, '1969'), + 'mailing_address': (None, ''), + 'goals': (None, ''), + 'honor_code': (None, 'true'), + + } + + response_register = requests.post('http://192.168.199.128/user_api/v1/account/registration/', data=login_data, files=multipart_form_data_register, headers=headers) + + return HttpResponse(repr(response_register)) + + # /register + + multipart_form_data = { + 'email': (None, 'dl@kaznu.kz'), + 'password': (None, 'DlGao3wo'), + 'remember': (None, 'false') + } + client = requests.session() + client.get('http://192.168.199.128', verify = False) + csrftoken = client.cookies['csrftoken'] + login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') + coky = 'csrftoken='+csrftoken + headers = { + 'X-CSRFToken': csrftoken, + 'Cookie':coky + } + # http://192.168.199.128/user_api/v1/account/login_session/ + # https://webhook.site/8bdb471b-3d63-46c2-b788-79f7398144e6 + + + + + + + + + + response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers) + + return HttpResponse(repr(request.GET)) + + #client.get('http://192.168.199.128:8181') + #session_key = client.cookies['sessionid'] + + + #edx_auth = user_api_view.LoginSessionView() + #testauth = edx_auth.post(request) + + headers2 = response.headers + #home = requests.get('http://192.168.199.128/dashboard', headers=headers2) + #home = HttpResponse(status=302) + #home['Location'] = 'http://192.168.199.128/' + csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) + sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) + + + + + + cookies2 = { + '_ga': 'GA1.1.1602606957.1602045613', + 'experiments_is_enterprise': 'false', + 'openedx-language-preference': 'ru', + 'csrftoken': csrfToken.group(1), + 'edxloggedin': 'true', + 'sessionid': sessionid.group(1), + 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', + } + + headers3 = { + 'Connection': 'keep-alive', + 'Upgrade-Insecure-Requests': '1', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'Referer': 'http://192.168.199.128/login?next=%2F', + 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', + 'sec-gpc': '1', + } + + response = requests.get('http://192.168.199.128/dashboard', headers=headers3, cookies=cookies2, verify=False) + return HttpResponse(response) + + + + + + return HttpResponse(sessionid.group(1)) + + + #home = redirect('http://192.168.199.128') + #return home + + try: + #test = edx_auth.post(request) + test = 0 + except Exception as e: + return HttpResponse(e.message) + + hash = request.GET.get('auth') + try: + answer = jwt.decode(hash, secret, algorithms=["HS256"]) + except Exception as e: + return HttpResponse(e.message) + + #return HttpResponse(repr(request)) + return HttpResponse(repr(response.headers)) + + + + + + + + +import requests +import jwt # Убедитесь, что установлен PyJWT версии 1.x: pip install "PyJWT<2" + + +def decode_token_and_fetch_profile(token, secret_key='$ecRet@3#$2958GPIs!1'): + decoded_token = jwt.decode(token, secret_key, algorithms=['HS256']) + uname = decoded_token.get('uname', None) + upwd = decoded_token.get('upwd', None) + + if uname and upwd: + login_url = "https://univerapi.kaznu.kz/user/loginMoodle" + credentials = { + 'login': uname, + 'password': upwd + } + + session = requests.Session() + response = session.post(login_url, data=credentials) + response_data = response.json() + + if response.status_code == 200 and response_data.get('code') == 0: + profile_url = "https://univerapi.kaznu.kz/teacher/profile" + profile_response = session.get(profile_url) + profile_data = profile_response.json() + roles = "teacher" + + if profile_data.get('code') == 1: + profile_url = "https://univerapi.kaznu.kz/student/profile" + profile_response = session.get(profile_url) + profile_data = profile_response.json() + roles = "student" + + surname = '' + name = '' + birth_year = '' + gender = '' + stage = '' + + if roles == "teacher": + user_data = profile_data['data'][0] + surname = user_data['sname'] + name = user_data['name'] + date_of_birth = user_data['dateOfBirth'] + birth_year = date_of_birth.split('.')[-1] + + if roles == "student": + surname = profile_data['data'][1][0]['sname'].split(':')[1] + name = profile_data['data'][1][1]['name'].split(':')[1] + gender = profile_data['data'][1][4]['sex'].split(':')[1] + stage = profile_data['data'][0][4]['stage'].split(':')[1] + + # Обработка stage и gender в одну строку + + + return surname, name, gender, stage, birth_year + + return None, None, None, None, None # Возвращаем None, если авторизация не удалась + + From 250ccb69d9eae69b24a92eea250a165d5ab58047 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 16:43:49 +0500 Subject: [PATCH 002/447] Update common.py --- lms/envs/common.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/envs/common.py b/lms/envs/common.py index 763bd83b9d8e..ea8a4b7f78de 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -3033,6 +3033,7 @@ def _make_locale_paths(settings): # pylint: disable=missing-function-docstring # - Make it a plugin (which are auto-registered) and add it to the EDXAPP_PRIVATE_REQUIREMENTS configuration variable # (See https://github.com/openedx/edx-django-utils/tree/master/edx_django_utils/plugins) INSTALLED_APPS = [ + 'lms.djangoapps.univerapi' # Standard ones that are always installed... 'django.contrib.auth', 'django.contrib.contenttypes', From f1f19474a3eef1e5f56e4e354afab710ccb00e44 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 16:45:03 +0500 Subject: [PATCH 003/447] Update common.py --- cms/envs/common.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cms/envs/common.py b/cms/envs/common.py index 65425f566597..a2475a7de9c2 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -1608,6 +1608,7 @@ # remember to check that you are not creating new # RemovedInDjango19Warnings in the test logs. INSTALLED_APPS = [ + 'lms.djangoapps.univerapi', # Standard apps 'django.contrib.auth', 'django.contrib.contenttypes', From a41a7c906518df95f08fead77c69c2bb2ec338aa Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 16:45:53 +0500 Subject: [PATCH 004/447] Update common.py --- lms/envs/common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/envs/common.py b/lms/envs/common.py index ea8a4b7f78de..c520f9ab3d41 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -3033,7 +3033,7 @@ def _make_locale_paths(settings): # pylint: disable=missing-function-docstring # - Make it a plugin (which are auto-registered) and add it to the EDXAPP_PRIVATE_REQUIREMENTS configuration variable # (See https://github.com/openedx/edx-django-utils/tree/master/edx_django_utils/plugins) INSTALLED_APPS = [ - 'lms.djangoapps.univerapi' + 'lms.djangoapps.univerapi', # Standard ones that are always installed... 'django.contrib.auth', 'django.contrib.contenttypes', From 90654ff667f0f6f47e48973276dd731e1cf51a71 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:01:03 +0500 Subject: [PATCH 005/447] Delete lms/djangoapps/univerapi/apps.py --- lms/djangoapps/univerapi/apps.py | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 lms/djangoapps/univerapi/apps.py diff --git a/lms/djangoapps/univerapi/apps.py b/lms/djangoapps/univerapi/apps.py deleted file mode 100644 index d222a69cc2ab..000000000000 --- a/lms/djangoapps/univerapi/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class UniverapiConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'univerapi' From 91511c8d8343e49def8b685aded2a667babb2a7f Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:09:29 +0500 Subject: [PATCH 006/447] Update urls.py --- lms/urls.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lms/urls.py b/lms/urls.py index 1ae425c9a9be..68237ad8124b 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -94,6 +94,10 @@ urlpatterns = [ + url(r'^api/univertest$', univer_views.UniverView.as_view(), name="post"), + url(r'^univerauth$', univer_views.authview, name="test"), + url(r'^api/univerauthcheck$', univer_views.authview_check, name="check"), + path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware path('', include('common.djangoapps.student.urls')), From af02a99698fcf36df15717fadeedb58168fa3574 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:10:57 +0500 Subject: [PATCH 007/447] Update urls.py --- lms/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/urls.py b/lms/urls.py index 68237ad8124b..4b21db8ba863 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -50,7 +50,7 @@ from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers from openedx.core.djangoapps.user_authn.views.login import redirect_to_lms_login from openedx.features.enterprise_support.api import enterprise_enabled - +from univerapi import views as univer_views RESET_COURSE_DEADLINES_NAME = 'reset_course_deadlines' RENDER_XBLOCK_NAME = 'render_xblock' RENDER_VIDEO_XBLOCK_NAME = 'render_public_video_xblock' From 349a7b404dcbd107cc199ad1fac2133a7ac868b6 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:12:56 +0500 Subject: [PATCH 008/447] Update urls.py --- lms/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/urls.py b/lms/urls.py index 4b21db8ba863..8b1b3aae6a9a 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -50,7 +50,7 @@ from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers from openedx.core.djangoapps.user_authn.views.login import redirect_to_lms_login from openedx.features.enterprise_support.api import enterprise_enabled -from univerapi import views as univer_views +from lms.djangoapps.univerapi import views as univer_views RESET_COURSE_DEADLINES_NAME = 'reset_course_deadlines' RENDER_XBLOCK_NAME = 'render_xblock' RENDER_VIDEO_XBLOCK_NAME = 'render_public_video_xblock' From 788083698e5ba2c003c531401eda1e5115d276c4 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:16:31 +0500 Subject: [PATCH 009/447] Update views.py --- lms/djangoapps/univerapi/views.py | 122 +++++++++++++++--------------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index f2c44f8343e9..9a7bbf001d02 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -36,7 +36,7 @@ def createuser(): @method_decorator(csrf_protect) def post(self, request): return HttpResponse('post') - + auth = request.POST.get('auth') encoded_jwt = request.GET.get('auth') decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) @@ -46,13 +46,13 @@ def post(self, request): created_user_email = '' try: exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - + return HttpResponse('user exist') except: - surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) - created_user = decoded['uname'].replace(".", "_") + str(random.randint(100, 999)) - created_user_email = decoded['uname'].replace(".", "_")+'@kaznu.edu.kz' + surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) + created_user = decoded['uname'].replace(".", "_") + str(random.randint(100, 999)) + created_user_email = decoded['uname'].replace(".", "_")+'@kaznu.edu.kz' multipart_form_data = { 'email': (None, created_user_email), 'password': (None, decoded['upwd'][:75]), @@ -62,10 +62,10 @@ def post(self, request): 'gender': (None, gender), 'year_of_birth': (None, birth_year), 'honor_code': (None, 'true'), - 'country': (None, 'KZ'), - 'goals': (None, 'education'), - 'surname': (None, surname), - 'mailing_address': (None, 'Kaznu') + 'country': (None, 'KZ'), + 'goals': (None, 'education'), + 'surname': (None, surname), + 'mailing_address': (None, 'Kaznu') } client = requests.session() client.get('http://192.168.199.128', verify=False) @@ -76,31 +76,31 @@ def post(self, request): 'X-CSRFToken': csrftoken, 'Cookie':coky } - + response = requests.post('http://192.168.199.128:8181/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify=False) json_data = json.loads(response.text) - + if ( ('success' in json_data) and (json_data['success'] == True)): created_user_str = str(created_user) - + exist_user = None i = 0 while i < 60: - try: + try: exist_user = User.objects.get(username=created_user_str) User.refresh_from_db() break except: - i += 1 + i += 1 time.sleep(3) - - out_html='' - query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" + + out_html='' + query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" - return HttpResponse(repr(exist_user)) + return HttpResponse(repr(exist_user)) time.sleep(10) cursor = connection.cursor() @@ -109,24 +109,24 @@ def post(self, request): try: cursor.execute(str(query2)) row = cursor.fetchall() - return HttpResponse(repr(row)) + return HttpResponse(repr(row)) except Exception as e: cursor.close - return HttpResponse('error =' + str(e)) + return HttpResponse('error =' + str(e)) - return HttpResponse(repr(cursor)) + return HttpResponse(repr(cursor)) else: - return HttpResponse('no registration') - + return HttpResponse('no registration') + return HttpResponse((json_data['success'])) return HttpResponse(repr(exist_user)) multipart_form_data = { - 'email': (None, 'dl@kaznu.kz'), - 'password': (None, 'DlGao3wo'), - 'remember': (None, 'true') + 'email': (None, 'dl@kaznu.kz'), + 'password': (None, 'DlGao3wo'), + 'remember': (None, 'true') } client = requests.session() client.get('http://192.168.199.128') @@ -137,11 +137,11 @@ def post(self, request): 'X-CSRFToken': csrftoken, 'Cookie':coky } - + response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers, verify = False) headers2 = response.headers - + csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) @@ -172,7 +172,7 @@ def post(self, request): @method_decorator(ensure_csrf_cookie) def get(self, request): - current_site = 'https://open.kaznu.kz' + current_site = 'https://open.kaznu.kz' auth = request.POST.get('auth') encoded_jwt = request.GET.get('auth') @@ -182,12 +182,12 @@ def get(self, request): try: exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - + return render(request, 'univerapi/redirect.html') - + except: - surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) - created_user = decoded['uname'].replace(".", "_") + str(random.randint(100, 999)) + surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) + created_user = decoded['uname'].replace(".", "_") + str(random.randint(100, 999)) created_user_email = decoded['uname'].replace(".", "_")+'@kaznu.edu.kz' multipart_form_data = { @@ -199,10 +199,10 @@ def get(self, request): 'gender': (None, gender), 'year_of_birth': (None, birth_year), 'honor_code': (None, 'true'), - 'country': (None , 'KZ'), - 'surname': (None, surname), - 'goals': (None, 'education'), - 'mailing_address': (None, 'Kaznu') + 'country': (None , 'KZ'), + 'surname': (None, surname), + 'goals': (None, 'education'), + 'mailing_address': (None, 'Kaznu') } client = requests.session() client.get(current_site, verify = False) @@ -213,49 +213,49 @@ def get(self, request): 'X-CSRFToken': csrftoken, 'Cookie':coky } - + count_try = 0 while True: response = requests.post(current_site + '/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify = False) json_data = json.loads(response.text) if ( ('success' in json_data) and (json_data['success'] == True)): break - if ( ('username' in json_data) ): - if "existing account" in str(json_data): - + if ( ('username' in json_data) ): + if "existing account" in str(json_data): + return render(request, 'univerapi/redirect.html') - time.sleep(3) + time.sleep(3) count_try += 1 if (count_try == 20): - return JsonResponse(json_data) - + return JsonResponse(json_data) + if ( ('success' in json_data) and (json_data['success'] == True)): new_user = Univeruser() new_user.edx_username = created_user new_user.edx_id=0 new_user.edx_pass='0' new_user.univer_id = decoded['uname'] - new_user.save() + new_user.save() return render(request, 'univerapi/redirect.html') created_user_str = str(created_user) - + exist_user = None i = 0 while i < 60: - try: + try: exist_user = User.objects.get(username=created_user_str) User.refresh_from_db() break except: - i += 1 + i += 1 time.sleep(3) - - out_html='' - query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" + + out_html='' + query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" - return HttpResponse(repr(exist_user)) + return HttpResponse(repr(exist_user)) time.sleep(10) cursor = connection.cursor() @@ -264,18 +264,18 @@ def get(self, request): try: cursor.execute(str(query2)) row = cursor.fetchall() - return HttpResponse(repr(row)) + return HttpResponse(repr(row)) except Exception as e: cursor.close - return HttpResponse('error =' + str(e)) + return HttpResponse('error =' + str(e)) - return HttpResponse(repr(cursor)) + return HttpResponse(repr(cursor)) else: return HttpResponse('no registration') def authview(request): - return render(request, 'univerapi/index.html') + return render(request, 'univerapi/index.html') def authview_check(request): @@ -332,11 +332,11 @@ def decode_token_and_fetch_profile(token, secret_key='$ecRet@3#$2958GPIs!1'): student_data = student_resp.json() except: pass - + # Если данные студента получены успешно if student_data and student_data.get('code') == 0 and 'data' in student_data: info_list, personal_list = student_data['data'] - + def find_value(lst, key): for d in lst: if key in d and ':' in d[key]: @@ -345,7 +345,7 @@ def find_value(lst, key): surname = find_value(personal_list, 'sname') name = find_value(personal_list, 'name') - + raw_sex = find_value(personal_list, 'sex') or '' if isinstance(raw_sex, bytes): raw_sex = raw_sex.decode('utf-8') @@ -382,7 +382,7 @@ def find_value(lst, key): raise SystemExit("teacher/profile 500:\n{0}".format(teacher_resp.text)) teacher_resp.raise_for_status() teacher_data = teacher_resp.json() - + if teacher_data.get('code') != 0 or 'data' not in teacher_data: raise SystemExit("Не удалось получить данные ни студента, ни преподавателя") @@ -392,7 +392,7 @@ def find_value(lst, key): name = teacher_profile.get('name', '') gender = 'o' # По умолчанию, если поле отсутствует stage = 'none' # Для преподавателя ступень не применима - + # Извлечение года рождения из даты (формат "дд.мм.гггг") birth_year = None if 'dateOfBirth' in teacher_profile: From ddc6b354fff15a5b27a72f83f9316384d8f87b41 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:18:03 +0500 Subject: [PATCH 010/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 9a7bbf001d02..5d16242fd536 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -17,7 +17,7 @@ from rest_framework.views import APIView from rest_framework.generics import GenericAPIView -from univerapi.models import Univeruser +from lms.djangoapps.univerapi.models import Univeruser from random import randint import json import random From fed92c27171fff9f2059a1c99437d01128d96258 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:19:44 +0500 Subject: [PATCH 011/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 5d16242fd536..eae7c391f976 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -21,7 +21,7 @@ from random import randint import json import random -from student.models import User +from common.djangoapps.student.models import User import time from django.db import connection from django.contrib.sites.models import Site From c36b9eb1abf8202f74aa7b480219e76b6da01e3f Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:26:01 +0500 Subject: [PATCH 012/447] Update urls.py --- lms/urls.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lms/urls.py b/lms/urls.py index 8b1b3aae6a9a..b4cdc70b0d10 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -94,9 +94,10 @@ urlpatterns = [ - url(r'^api/univertest$', univer_views.UniverView.as_view(), name="post"), - url(r'^univerauth$', univer_views.authview, name="test"), - url(r'^api/univerauthcheck$', univer_views.authview_check, name="check"), + + re_path(r'^api/univertest$', univer_views.UniverView.as_view(), name="post"), + re_path(r'^univerauth$', univer_views.authview, name="test"), + re_path(r'^api/univerauthcheck$', univer_views.authview_check, name="check"), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware From 7253287f3f4dd43942437836d0eb517b4d3d701d Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:50:04 +0500 Subject: [PATCH 013/447] Update views.py --- openedx/core/djangoapps/user_api/views.py | 85 +++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/openedx/core/djangoapps/user_api/views.py b/openedx/core/djangoapps/user_api/views.py index d52493556a19..ef81cd7b1fcb 100644 --- a/openedx/core/djangoapps/user_api/views.py +++ b/openedx/core/djangoapps/user_api/views.py @@ -25,6 +25,91 @@ from openedx.core.lib.api.permissions import ApiKeyHeaderPermission from openedx.core.lib.api.view_utils import require_post_params +# univerapi +import logging +import lms.djangoapps.univerapi +from django.shortcuts import redirect +import jwt +from univerapi.models import Univeruser +# univerapi + +class LoginSessionView(APIView): + """HTTP end-points for logging in users. """ + + # This end-point is available to anonymous users, + # so do not require authentication. + authentication_classes = [] + + @method_decorator(ensure_csrf_cookie) + def get(self, request): + return HttpResponse(get_login_session_form(request).to_json(), content_type="application/json") + + @method_decorator(require_post_params(["email", "password"])) + @method_decorator(csrf_protect) + def post(self, request): + """Log in a user. + + You must send all required form fields with the request. + + You can optionally send an `analytics` param with a JSON-encoded + object with additional info to include in the login analytics event. + Currently, the only supported field is "enroll_course_id" to indicate + that the user logged in while enrolling in a particular course. + + Arguments: + request (HttpRequest) + + Returns: + HttpResponse: 200 on success + HttpResponse: 400 if the request is not valid. + HttpResponse: 403 if authentication failed. + 403 with content "third-party-auth" if the user + has successfully authenticated with a third party provider + but does not have a linked account. + HttpResponse: 302 if redirecting to another page. + + Example Usage: + + POST /user_api/v1/login_session + with POST params `email`, `password`, and `remember`. + + 200 OK + + """ + # univer + try: + if (request.POST.get('auth')): + auth = request.POST.get('auth') + auth = auth.split("auth=")[1] + #encoded_jwt = request.GET.get('auth') + decoded = jwt.decode(auth, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) + + # Get user + exist_user = Univeruser.objects.get(univer_id=decoded['uname']) + exist_edx_user = User.objects.get(username=exist_user.edx_username) + + # edit request + request.POST._mutable = True + request.POST["email"] = exist_edx_user.email + request.POST["password"] = decoded['upwd'][:75] + #request.POST. exist_edx_user.email + #decoded['upwd'][:75] + + #return HttpResponse(repr(decoded)) + except Exception as e: + return HttpResponse('error =' + str(e)) + # univer + + # For the initial implementation, shim the existing login view + # from the student Django app. + from openedx.core.djangoapps.user_authn.views.login import login_user + return shim_student_view(login_user, check_logged_in=True)(request) + + @method_decorator(sensitive_post_parameters("password")) + def dispatch(self, request, *args, **kwargs): + return super(LoginSessionView, self).dispatch(request, *args, **kwargs) + + class UserViewSet(viewsets.ReadOnlyModelViewSet): """ From d1b1101e8c240f2f5c80cdda4b2fda161b9bcf95 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:50:25 +0500 Subject: [PATCH 014/447] Update views.py --- openedx/core/djangoapps/user_api/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openedx/core/djangoapps/user_api/views.py b/openedx/core/djangoapps/user_api/views.py index ef81cd7b1fcb..59def3d90ac3 100644 --- a/openedx/core/djangoapps/user_api/views.py +++ b/openedx/core/djangoapps/user_api/views.py @@ -30,7 +30,7 @@ import lms.djangoapps.univerapi from django.shortcuts import redirect import jwt -from univerapi.models import Univeruser +from lms.djangoapps.univerapi.models import Univeruser # univerapi class LoginSessionView(APIView): From 2019f8ae86055d76096d2aea88272dc6c92fc75e Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:52:00 +0500 Subject: [PATCH 015/447] Update views.py --- openedx/core/djangoapps/user_api/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openedx/core/djangoapps/user_api/views.py b/openedx/core/djangoapps/user_api/views.py index 59def3d90ac3..e063fbb2b580 100644 --- a/openedx/core/djangoapps/user_api/views.py +++ b/openedx/core/djangoapps/user_api/views.py @@ -24,6 +24,7 @@ ) from openedx.core.lib.api.permissions import ApiKeyHeaderPermission from openedx.core.lib.api.view_utils import require_post_params +from django.views.decorators.csrf import csrf_protect # univerapi import logging From 8654653fc4b745605563154ef8e1019776594f50 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:53:19 +0500 Subject: [PATCH 016/447] Update views.py --- openedx/core/djangoapps/user_api/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openedx/core/djangoapps/user_api/views.py b/openedx/core/djangoapps/user_api/views.py index e063fbb2b580..da8273835ccd 100644 --- a/openedx/core/djangoapps/user_api/views.py +++ b/openedx/core/djangoapps/user_api/views.py @@ -25,6 +25,7 @@ from openedx.core.lib.api.permissions import ApiKeyHeaderPermission from openedx.core.lib.api.view_utils import require_post_params from django.views.decorators.csrf import csrf_protect +from django.views.decorators.debug import sensitive_post_parameters # univerapi import logging From 0fe44f6acdf91af00bc479bf2e9863dbc16304e9 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 12 Aug 2025 18:05:26 +0500 Subject: [PATCH 017/447] Update views.py --- lms/djangoapps/univerapi/views.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index eae7c391f976..5cce19b5ccd7 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -62,10 +62,10 @@ def post(self, request): 'gender': (None, gender), 'year_of_birth': (None, birth_year), 'honor_code': (None, 'true'), - 'country': (None, 'KZ'), - 'goals': (None, 'education'), - 'surname': (None, surname), - 'mailing_address': (None, 'Kaznu') + 'country': (None, 'KZ') + + + } client = requests.session() client.get('http://192.168.199.128', verify=False) @@ -199,10 +199,9 @@ def get(self, request): 'gender': (None, gender), 'year_of_birth': (None, birth_year), 'honor_code': (None, 'true'), - 'country': (None , 'KZ'), - 'surname': (None, surname), - 'goals': (None, 'education'), - 'mailing_address': (None, 'Kaznu') + 'country': (None , 'KZ') + + } client = requests.session() client.get(current_site, verify = False) From 75a1ca8a8ead2847f8692da99509816ed9498ec3 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:00:08 +0500 Subject: [PATCH 018/447] Update views.py --- lms/djangoapps/univerapi/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 5cce19b5ccd7..dcd41b715928 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -172,8 +172,7 @@ def post(self, request): @method_decorator(ensure_csrf_cookie) def get(self, request): - current_site = 'https://open.kaznu.kz' - + current_site = "http://127.0.0.1:8000" auth = request.POST.get('auth') encoded_jwt = request.GET.get('auth') decoded = jwt.decode(encoded_jwt, secret, algorithms=["HS256"]) From b02a238d59bc5a4636a49ebc651d098e0231b98a Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:23:50 +0500 Subject: [PATCH 019/447] Delete lms/djangoapps/univerapi/views.py.save --- lms/djangoapps/univerapi/views.py.save | 504 ------------------------- 1 file changed, 504 deletions(-) delete mode 100644 lms/djangoapps/univerapi/views.py.save diff --git a/lms/djangoapps/univerapi/views.py.save b/lms/djangoapps/univerapi/views.py.save deleted file mode 100644 index d6b496770248..000000000000 --- a/lms/djangoapps/univerapi/views.py.save +++ /dev/null @@ -1,504 +0,0 @@ -from django.shortcuts import render -from django.http import HttpResponse -import logging -#import authlib -import jwt -import openedx.core.djangoapps.user_api.views as user_api_view -import requests -import django.middleware.csrf -from django.views.decorators.csrf import csrf_exempt, csrf_protect, ensure_csrf_cookie -from django.utils.decorators import method_decorator -from django.shortcuts import redirect -import re -secret = '$ecRet@3#$2958GPIs!1' - -from django.shortcuts import render -from rest_framework.views import APIView -from rest_framework.generics import GenericAPIView - -from univerapi.models import Univeruser -from random import randint -import json -from student.models import User -import time -from django.db import connection -from django.contrib.sites.models import Site -from django.conf import settings -from django.http import JsonResponse - -class UniverView(GenericAPIView): - - def createuser(): - return 123 - - @method_decorator(csrf_protect) - def post(self, request): - return HttpResponse('post') - # TEST user - #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') - #return HttpResponse(repr(exist_user)) - # TEST user - - auth = request.POST.get('auth') - #auth = auth.split("auth=")[1] - encoded_jwt = request.GET.get('auth') - decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - - - new_user = Univeruser() - #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) - ''' - new_user.edx_pass=decoded['upwd'] - new_user.univer_id = decoded['uname'] - new_user.save() - ''' - created_user = '' - created_user_email = '' - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - return HttpResponse('user exist') - - except: - created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) - created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' - multipart_form_data = { - 'email': (None, created_user_email), - 'password': (None, decoded['upwd'][:75]), - 'name': (None, decoded['uname']), - 'username': (None, created_user), - 'level_of_education': (None, 'b'), - 'gender': (None, 'o'), - 'year_of_birth': (None, '1995'), - 'honor_code': (None, 'true'), - 'surname': (None, 'surname'), - 'goals': (None, 'education'), - 'country': (None, 'KZ'), - 'mailing_address': (None, 'Kaznu') - } - client = requests.session() - client.get('http://192.168.199.128', verify=False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - response = requests.post('http://192.168.199.128:8181/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify=False) - - #new_user.edx_pass=decoded['upwd'] - #new_user.univer_id = decoded['uname'] - #new_user.save() - json_data = json.loads(response.text) - - if ( ('success' in json_data) and (json_data['success'] == True)): - created_user_str = str(created_user) - - exist_user = None - i = 0 - while i < 60: - try: - exist_user = User.objects.get(username=created_user_str) - #exist_user = User.objects.raw('SELECT * FROM auth_user') - User.refresh_from_db() - break - except: - i += 1 - time.sleep(1) - - out_html='' - query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" - query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" - - - return HttpResponse(repr(exist_user)) - - # raw sql - time.sleep(10) - cursor = connection.cursor() - row = None - sql = 'SELECT id, username FROM auth_user' - try: - cursor.execute(str(query2)) - row = cursor.fetchall() - return HttpResponse(repr(row)) - except Exception as e: - cursor.close - return HttpResponse('error =' + str(e)) - # raw sql - - return HttpResponse(repr(cursor)) - #time.sleep(20) - #for p in User.objects.raw(query): - #User.refresh_from_db() - # out_html += str(p.username) + '\n' - #exist_user = User.objects.raw(str(query)) - #exist_user = User.objects.get(id=51808) - #return HttpResponse(str(created_user_str) + ' = ' + repr(exist_user) + str(i) + str(out_html)) - #return HttpResponse( str(out_html)) - else: - return HttpResponse('no registration') - - return HttpResponse((json_data['success'])) - - - #check_user = Univeruser.objects.get(univer_id=decoded['uname']) - - return HttpResponse(repr(exist_user)) - - multipart_form_data = { - 'email': (None, 'dl@kaznu.kz'), - 'password': (None, 'DlGao3wo'), - 'remember': (None, 'true') - } - client = requests.session() - client.get('http://192.168.199.128') - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers) - - headers2 = response.headers - - csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) - sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) - - - cookies2 = { - '_ga': 'GA1.1.1602606957.1602045613', - 'experiments_is_enterprise': 'false', - 'openedx-language-preference': 'ru', - 'csrftoken': csrfToken.group(1), - 'edxloggedin': 'true', - 'sessionid': sessionid.group(1), - 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', - } - - headers3 = { - 'Connection': 'keep-alive', - 'Upgrade-Insecure-Requests': '1', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', - 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', - 'Referer': 'http://192.168.199.128/login?next=%2F', - 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', - 'sec-gpc': '1', - } - - response = requests.get('http://192.168.199.128', headers=headers3, cookies=cookies2, verify=False) - return HttpResponse(response) - - #return HttpResponse(request.POST['csrf']) - - @method_decorator(ensure_csrf_cookie) - def get(self, request): - #return HttpResponse('get') - #return HttpResponse(repr(django.middleware.csrf.get_token(request))) - #return render(request, 'univerapi/login.html') - # TEST user - #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') - #return HttpResponse(repr(exist_user)) - # TEST user - current_site = 'https://open.kaznu.kz' - - - auth = request.POST.get('auth') - #auth = auth.split("auth=")[1] - encoded_jwt = request.GET.get('auth') - decoded = jwt.decode(encoded_jwt, secret, algorithms=["HS256"]) - - #return HttpResponse(decoded['upwd'][:75]) - #new_user = Univeruser() - #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) - ''' - new_user.edx_pass=decoded['upwd'] - new_user.univer_id = decoded['uname'] - new_user.save() - ''' - created_user = '' - created_user_email = '' - #return HttpResponse(repr(current_site)) - - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - - return render(request, 'univerapi/redirect.html') - #return HttpResponse('user exist') - - except: - #created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) - created_user = decoded['uname'].split(".")[0]+"_"+decoded['uname'].split(".")[1] - created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' - multipart_form_data = { - 'email': (None, created_user_email), - 'password': (None, decoded['upwd'][:75]), - 'name': (None, decoded['uname']), - 'username': (None, created_user), - 'level_of_education': (None, 'b'), - 'gender': (None, 'o'), - 'year_of_birth': (None, '1995'), - 'honor_code': (None, 'true'), - 'surname': (None, 'surname'), - 'goals': (None, 'education'), - 'country': (None, 'KZ'), - 'mailing_address': (None, 'Kaznu') - - } - client = requests.session() - client.get(current_site, verify = False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - count_try = 0 - while True: - response = requests.post(current_site + '/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify = False) - json_data = json.loads(response.text) - if ( ('success' in json_data) and (json_data['success'] == True)): - break - if ( ('username' in json_data) ): - if "existing account" in str(json_data): - #new_user = Univeruser() - #new_user = Univeruser(edx_id = created_user, edx_pass=0, univer_id = decoded['uname']) - #new_user.edx_username = created_user - #new_user.edx_id=0 - #new_user.edx_pass='0' - #new_user.univer_id = decoded['uname'] - #new_user.save() - - return render(request, 'univerapi/redirect.html') - time.sleep(1) - count_try += 1 - if (count_try == 20): - return JsonResponse(json_data) - - if ( ('success' in json_data) and (json_data['success'] == True)): - new_user = Univeruser() - new_user.edx_username = created_user - new_user.edx_id=0 - new_user.edx_pass='0' - new_user.univer_id = decoded['uname'] - new_user.save() - - return render(request, 'univerapi/redirect.html') - - created_user_str = str(created_user) - - exist_user = None - i = 0 - while i < 60: - try: - exist_user = User.objects.get(username=created_user_str) - #exist_user = User.objects.raw('SELECT * FROM auth_user') - User.refresh_from_db() - break - except: - i += 1 - time.sleep(1) - - out_html='' - query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" - query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" - - - return HttpResponse(repr(exist_user)) - - # raw sql - time.sleep(10) - cursor = connection.cursor() - row = None - sql = 'SELECT id, username FROM auth_user' - try: - cursor.execute(str(query2)) - row = cursor.fetchall() - return HttpResponse(repr(row)) - except Exception as e: - cursor.close - return HttpResponse('error =' + str(e)) - # raw sql - - return HttpResponse(repr(cursor)) - else: - return HttpResponse('no registration') - -#@method_decorator(csrf_protect) -#method_decorator(csrf_protect) - -def authview(request): - return render(request, 'univerapi/index.html') - #return HttpResponse('auth') - -# check activated -def authview_check(request): - auth = request.POST.get('auth') - auth = auth.split("auth=")[1] - #encoded_jwt = request.GET.get('auth') - #decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - #return HttpResponse('OK') - encoded_jwt = auth - decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - already_exist_user = decoded['uname'] - - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - exist_edx_user = User.objects.get(username=exist_user.edx_username) - exist_edx_user.is_active = 1 - exist_edx_user.save() - #return render(request, 'univerapi/redirect.html') - - - except: - return JsonResponse({"success":"false"}) - - #return HttpResponse('') - return JsonResponse({"success":"true"}) - -@method_decorator(csrf_protect) -def test(request, *args, **kwargs): - logger = logging.getLogger(__name__) - logger.error("Test api") - #logger.error(request) - #logger.error(request.GET.get('auth')) - #encoded_jwt = jwt.encode({"some": "payload"}, "secret", algorithm="HS256") - - #return HttpResponse(answer) - # hash = eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1bmFtZSI6Imhha3ltb3ZhLnR5eXNodHlxIiwidXB3ZCI6IjA3NzdGMDk4MEIzMUE2MEZDRkVFQzlEQjNGOTFEOUI4RUVCQUU4NDQ0NjAwRTQ3MUQyMzEyQjYyNDA2MjVCNTZFM0Q0RDM5RDRBREYwMTg5N0QzQTEzMDkzRTcwRkU1NjRGMUJBRDZCOTIxMUE0NTAwODQxRDFFQzNFMkNGODcwIn0.QLCZHTM2ACm0byg77h0C7KpGwMxcxJuy-M96lQzc3Mk - - #return HttpResponse(repr(args)) - - client = requests.session() - client.get('http://192.168.199.128', verify = False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - # register - multipart_form_data_register = { - 'email': (None, 'hakymova.tyyshtyq@test11.ru'), - 'name': (None, 'hakymova.tyyshtyq'), - 'username': (None, 'hakymova11'), - 'password': (None, '988EBA1673B2F08F99F61719A2F8BC47791250B3A052DA2992D0148DE2D2E084C2E23E6E3C7'), - 'level_of_education': (None, 'hs'), - 'gender': (None, 'f'), - 'year_of_birth': (None, '1969'), - 'mailing_address': (None, ''), - 'goals': (None, ''), - 'honor_code': (None, 'true'), - - } - - response_register = requests.post('http://192.168.199.128/user_api/v1/account/registration/', data=login_data, files=multipart_form_data_register, headers=headers, verify = False) - - return HttpResponse(repr(response_register)) - - # /register - - multipart_form_data = { - 'email': (None, 'dl@kaznu.kz'), - 'password': (None, 'DlGao3wo'), - 'remember': (None, 'false') - } - client = requests.session() - client.get('http://192.168.199.128', verify = False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - # http://192.168.199.128/user_api/v1/account/login_session/ - # https://webhook.site/8bdb471b-3d63-46c2-b788-79f7398144e6 - - - - - - - - - - response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers, verify = False) - - return HttpResponse(repr(request.GET)) - - #client.get('http://192.168.199.128:8181') - #session_key = client.cookies['sessionid'] - - - #edx_auth = user_api_view.LoginSessionView() - #testauth = edx_auth.post(request) - - headers2 = response.headers - #home = requests.get('http://192.168.199.128/dashboard', headers=headers2) - #home = HttpResponse(status=302) - #home['Location'] = 'http://192.168.199.128/' - csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) - sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) - - - - - - cookies2 = { - '_ga': 'GA1.1.1602606957.1602045613', - 'experiments_is_enterprise': 'false', - 'openedx-language-preference': 'ru', - 'csrftoken': csrfToken.group(1), - 'edxloggedin': 'true', - 'sessionid': sessionid.group(1), - 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', - } - - headers3 = { - 'Connection': 'keep-alive', - 'Upgrade-Insecure-Requests': '1', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', - 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', - 'Referer': 'http://192.168.199.128/login?next=%2F', - 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', - 'sec-gpc': '1', - } - - response = requests.get('http://192.168.199.128/dashboard', headers=headers3, cookies=cookies2, verify=False) - return HttpResponse(response) - - - - - - - - return HttpResponse(sessionid.group(1)) - - - #home = redirect('http://192.168.199.128') - #return home - - try: - #test = edx_auth.post(request) - test = 0 - except Exception as e: - return HttpResponse(e.message) - - hash = request.GET.get('auth') - try: - answer = jwt.decode(hash, secret, algorithms=["HS256"]) - except Exception as e: - return HttpResponse(e.message) - - #return HttpResponse(repr(request)) - return HttpResponse(repr(response.headers)) From d1f57210fda315573f1cd0fe332e559fa82d4469 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:24:01 +0500 Subject: [PATCH 020/447] Delete lms/djangoapps/univerapi/views.py.save.2 --- lms/djangoapps/univerapi/views.py.save.2 | 572 ----------------------- 1 file changed, 572 deletions(-) delete mode 100644 lms/djangoapps/univerapi/views.py.save.2 diff --git a/lms/djangoapps/univerapi/views.py.save.2 b/lms/djangoapps/univerapi/views.py.save.2 deleted file mode 100644 index 936d09d9db84..000000000000 --- a/lms/djangoapps/univerapi/views.py.save.2 +++ /dev/null @@ -1,572 +0,0 @@ -# -*- coding: utf-8 -*- - -from django.shortcuts import render -from django.http import HttpResponse -import logging -#import authlib -import jwt -import openedx.core.djangoapps.user_api.views as user_api_view -import requests -import django.middleware.csrf -from django.views.decorators.csrf import csrf_exempt, csrf_protect, ensure_csrf_cookie -from django.utils.decorators import method_decorator -from django.shortcuts import redirect -import re -secret = '$ecRet@3#$2958GPIs!1' - -from django.shortcuts import render -from rest_framework.views import APIView -from rest_framework.generics import GenericAPIView - -from univerapi.models import Univeruser -from random import randint -import json -from student.models import User -import time -from django.db import connection -from django.contrib.sites.models import Site -from django.conf import settings -from django.http import JsonResponse - -class UniverView(GenericAPIView): - - def createuser(): - return 123 - - @method_decorator(csrf_protect) - def post(self, request): - return HttpResponse('post') - # TEST user - #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') - #return HttpResponse(repr(exist_user)) - # TEST user - - auth = request.POST.get('auth') - #auth = auth.split("auth=")[1] - encoded_jwt = request.GET.get('auth') - decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - - new_user = Univeruser() - #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) - ''' - new_user.edx_pass=decoded['upwd'] - new_user.univer_id = decoded['uname'] - new_user.save() - ''' - created_user = '' - created_user_email = '' - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - - return HttpResponse('user exist') - - except: - surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) - created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) - created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' - multipart_form_data = { - 'email': (None, created_user_email), - 'password': (None, decoded['upwd'][:75]), - 'name': (None, name), - 'username': (None, created_user), - 'level_of_education': (None, stage), - 'gender': (None, gender), - 'year_of_birth': (None, birth_year), - 'honor_code': (None, 'true'), - 'country': (None, 'KZ'), - 'goals': (None, 'education'), - 'surname': (None, surname), - 'mailing_address': (None, 'Kaznu') - } - client = requests.session() - client.get('http://192.168.199.128', verify=False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - response = requests.post('http://192.168.199.128:8181/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify=False) - - #new_user.edx_pass=decoded['upwd'] - #new_user.univer_id = decoded['uname'] - #new_user.save() - json_data = json.loads(response.text) - - if ( ('success' in json_data) and (json_data['success'] == True)): - created_user_str = str(created_user) - - exist_user = None - i = 0 - while i < 60: - try: - exist_user = User.objects.get(username=created_user_str) - #exist_user = User.objects.raw('SELECT * FROM auth_user') - User.refresh_from_db() - break - except: - i += 1 - time.sleep(3) - - out_html='' - query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" - query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" - - - return HttpResponse(repr(exist_user)) - - # raw sql - time.sleep(10) - cursor = connection.cursor() - row = None - sql = 'SELECT id, username FROM auth_user' - try: - cursor.execute(str(query2)) - row = cursor.fetchall() - return HttpResponse(repr(row)) - except Exception as e: - cursor.close - return HttpResponse('error =' + str(e)) - # raw sql - - return HttpResponse(repr(cursor)) - #time.sleep(20) - #for p in User.objects.raw(query): - #User.refresh_from_db() - # out_html += str(p.username) + '\n' - #exist_user = User.objects.raw(str(query)) - #exist_user = User.objects.get(id=51808) - #return HttpResponse(str(created_user_str) + ' = ' + repr(exist_user) + str(i) + str(out_html)) - #return HttpResponse( str(out_html)) - else: - return HttpResponse('no registration') - - return HttpResponse((json_data['success'])) - - - #check_user = Univeruser.objects.get(univer_id=decoded['uname']) - - return HttpResponse(repr(exist_user)) - - multipart_form_data = { - 'email': (None, 'dl@kaznu.kz'), - 'password': (None, 'DlGao3wo'), - 'remember': (None, 'true') - } - client = requests.session() - client.get('http://192.168.199.128') - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers, verify = False) - - headers2 = response.headers - - csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) - sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) - - - cookies2 = { - '_ga': 'GA1.1.1602606957.1602045613', - 'experiments_is_enterprise': 'false', - 'openedx-language-preference': 'ru', - 'csrftoken': csrfToken.group(1), - 'edxloggedin': 'true', - 'sessionid': sessionid.group(1), - 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', - } - - headers3 = { - 'Connection': 'keep-alive', - 'Upgrade-Insecure-Requests': '1', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', - 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', - 'Referer': 'http://192.168.199.128/login?next=%2F', - 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', - 'sec-gpc': '1', - } - - response = requests.get('http://192.168.199.128', headers=headers3, cookies=cookies2, verify=False) - return HttpResponse(response) - - #return HttpResponse(request.POST['csrf']) - - @method_decorator(ensure_csrf_cookie) - def get(self, request): - #return HttpResponse('get') - #return HttpResponse(repr(django.middleware.csrf.get_token(request))) - #return render(request, 'univerapi/login.html') - # TEST user - #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') - #return HttpResponse(repr(exist_user)) - # TEST user - current_site = 'https://open.kaznu.kz' - - - auth = request.POST.get('auth') - #auth = auth.split("auth=")[1] - encoded_jwt = request.GET.get('auth') - decoded = jwt.decode(encoded_jwt, secret, algorithms=["HS256"]) - - #return HttpResponse(decoded['upwd'][:75]) - #new_user = Univeruser() - #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) - ''' - new_user.edx_pass=decoded['upwd'] - new_user.univer_id = decoded['uname'] - new_user.save() - ''' - created_user = '' - created_user_email = '' - #return HttpResponse(repr(current_site)) - - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - - return render(request, 'univerapi/redirect.html') - #return HttpResponse('user exist') - - except: - surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) - #created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) - created_user = decoded['uname'].split(".")[0]+"_"+decoded['uname'].split(".")[1] - created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' - multipart_form_data = { - 'email': (None, created_user_email), - 'password': (None, decoded['upwd'][:75]), - 'name': (None, name), - 'username': (None, created_user), - 'level_of_education': (None, stage), - 'gender': (None, gender), - 'year_of_birth': (None, birth_year), - 'honor_code': (None, 'true'), - 'country': (None , 'KZ'), - 'surname': (None, surname), - 'goals': (None, 'education'), - 'mailing_address': (None, 'Kaznu') - } - client = requests.session() - client.get(current_site, verify = False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - count_try = 0 - while True: - response = requests.post(current_site + '/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify = False) - json_data = json.loads(response.text) - if ( ('success' in json_data) and (json_data['success'] == True)): - break - if ( ('username' in json_data) ): - if "existing account" in str(json_data): - #new_user = Univeruser() - #new_user = Univeruser(edx_id = created_user, edx_pass=0, univer_id = decoded['uname']) - #new_user.edx_username = created_user - #new_user.edx_id=0 - #new_user.edx_pass='0' - #new_user.univer_id = decoded['uname'] - #new_user.save() - - return render(request, 'univerapi/redirect.html') - time.sleep(3) - count_try += 1 - if (count_try == 20): - return JsonResponse(json_data) - - if ( ('success' in json_data) and (json_data['success'] == True)): - new_user = Univeruser() - new_user.edx_username = created_user - new_user.edx_id=0 - new_user.edx_pass='0' - new_user.univer_id = decoded['uname'] - new_user.save() - - return render(request, 'univerapi/redirect.html') - - created_user_str = str(created_user) - - exist_user = None - i = 0 - while i < 60: - try: - exist_user = User.objects.get(username=created_user_str) - #exist_user = User.objects.raw('SELECT * FROM auth_user') - User.refresh_from_db() - break - except: - i += 1 - time.sleep(3) - - out_html='' - query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" - query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" - - - return HttpResponse(repr(exist_user)) - - # raw sql - time.sleep(10) - cursor = connection.cursor() - row = None - sql = 'SELECT id, username FROM auth_user' - try: - cursor.execute(str(query2)) - row = cursor.fetchall() - return HttpResponse(repr(row)) - except Exception as e: - cursor.close - return HttpResponse('error =' + str(e)) - # raw sql - - return HttpResponse(repr(cursor)) - else: - return HttpResponse('no registration') - -#@method_decorator(csrf_protect) -#method_decorator(csrf_protect) - -def authview(request): - return render(request, 'univerapi/index.html') - #return HttpResponse('auth') - -# check activated -def authview_check(request): - auth = request.POST.get('auth') - auth = auth.split("auth=")[1] - #encoded_jwt = request.GET.get('auth') - #decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - #return HttpResponse('OK') - encoded_jwt = auth - decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - already_exist_user = decoded['uname'] - - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - exist_edx_user = User.objects.get(username=exist_user.edx_username) - exist_edx_user.is_active = 1 - exist_edx_user.save() - #return render(request, 'univerapi/redirect.html') - - - except: - return JsonResponse({"success":"false"}) - - #return HttpResponse('') - return JsonResponse({"success":"true"}) - -@method_decorator(csrf_protect) -def test(request, *args, **kwargs): - logger = logging.getLogger(__name__) - logger.error("Test api") - #logger.error(request) - #logger.error(request.GET.get('auth')) - #encoded_jwt = jwt.encode({"some": "payload"}, "secret", algorithm="HS256") - - #return HttpResponse(answer) - # hash = eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1bmFtZSI6Imhha3ltb3ZhLnR5eXNodHlxIiwidXB3ZCI6IjA3NzdGMDk4MEIzMUE2MEZDRkVFQzlEQjNGOTFEOUI4RUVCQUU4NDQ0NjAwRTQ3MUQyMzEyQjYyNDA2MjVCNTZFM0Q0RDM5RDRBREYwMTg5N0QzQTEzMDkzRTcwRkU1NjRGMUJBRDZCOTIxMUE0NTAwODQxRDFFQzNFMkNGODcwIn0.QLCZHTM2ACm0byg77h0C7KpGwMxcxJuy-M96lQzc3Mk - - #return HttpResponse(repr(args)) - - client = requests.session() - client.get('http://192.168.199.128', verify = False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - # register - multipart_form_data_register = { - 'email': (None, 'hakymova.tyyshtyq@test11.ru'), - 'name': (None, 'hakymova.tyyshtyq'), - 'username': (None, 'hakymova11'), - 'password': (None, '988EBA1673B2F08F99F61719A2F8BC47791250B3A052DA2992D0148DE2D2E084C2E23E6E3C7'), - 'level_of_education': (None, 'hs'), - 'gender': (None, 'f'), - 'year_of_birth': (None, '1969'), - 'mailing_address': (None, ''), - 'goals': (None, ''), - 'honor_code': (None, 'true'), - - } - - response_register = requests.post('http://192.168.199.128/user_api/v1/account/registration/', data=login_data, files=multipart_form_data_register, headers=headers) - - return HttpResponse(repr(response_register)) - - # /register - - multipart_form_data = { - 'email': (None, 'dl@kaznu.kz'), - 'password': (None, 'DlGao3wo'), - 'remember': (None, 'false') - } - client = requests.session() - client.get('http://192.168.199.128', verify = False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - # http://192.168.199.128/user_api/v1/account/login_session/ - # https://webhook.site/8bdb471b-3d63-46c2-b788-79f7398144e6 - - - - - - - - - - response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers) - - return HttpResponse(repr(request.GET)) - - #client.get('http://192.168.199.128:8181') - #session_key = client.cookies['sessionid'] - - - #edx_auth = user_api_view.LoginSessionView() - #testauth = edx_auth.post(request) - - headers2 = response.headers - #home = requests.get('http://192.168.199.128/dashboard', headers=headers2) - #home = HttpResponse(status=302) - #home['Location'] = 'http://192.168.199.128/' - csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) - sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) - - - - - - cookies2 = { - '_ga': 'GA1.1.1602606957.1602045613', - 'experiments_is_enterprise': 'false', - 'openedx-language-preference': 'ru', - 'csrftoken': csrfToken.group(1), - 'edxloggedin': 'true', - 'sessionid': sessionid.group(1), - 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', - } - - headers3 = { - 'Connection': 'keep-alive', - 'Upgrade-Insecure-Requests': '1', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', - 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', - 'Referer': 'http://192.168.199.128/login?next=%2F', - 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', - 'sec-gpc': '1', - } - - response = requests.get('http://192.168.199.128/dashboard', headers=headers3, cookies=cookies2, verify=False) - return HttpResponse(response) - - - - - - return HttpResponse(sessionid.group(1)) - - - #home = redirect('http://192.168.199.128') - #return home - - try: - #test = edx_auth.post(request) - test = 0 - except Exception as e: - return HttpResponse(e.message) - - hash = request.GET.get('auth') - try: - answer = jwt.decode(hash, secret, algorithms=["HS256"]) - except Exception as e: - return HttpResponse(e.message) - - #return HttpResponse(repr(request)) - return HttpResponse(repr(response.headers)) - - - - - - - - -import requests -import jwt # Убедитесь, что установлен PyJWT версии 1.x: pip install "PyJWT<2" - - -def decode_token_and_fetch_profile(token, secret_key='$ecRet@3#$2958GPIs!1'): - decoded_token = jwt.decode(token, secret_key, algorithms=['HS256']) - uname = decoded_token.get('uname', None) - upwd = decoded_token.get('upwd', None) - - if uname and upwd: - login_url = "https://univerapi.kaznu.kz/user/loginMoodle" - credentials = { - 'login': uname, - 'password': upwd - } - - session = requests.Session() - response = session.post(login_url, data=credentials) - response_data = response.json() - - if response.status_code == 200 and response_data.get('code') == 0: - profile_url = "https://univerapi.kaznu.kz/teacher/profile" - profile_response = session.get(profile_url) - profile_data = profile_response.json() - roles = "teacher" - - if profile_data.get('code') == 1: - profile_url = "https://univerapi.kaznu.kz/student/profile" - profile_response = session.get(profile_url) - profile_data = profile_response.json() - roles = "student" - - surname = '' - name = '' - birth_year = '' - gender = '' - stage = '' - - if roles == "teacher": - user_data = profile_data['data'][0] - surname = user_data['sname'] - name = user_data['name'] - date_of_birth = user_data['dateOfBirth'] - birth_year = date_of_birth.split('.')[-1] - - if roles == "student": - surname = profile_data['data'][1][0]['sname'].split(':')[1] - name = profile_data['data'][1][1]['name'].split(':')[1] - gender = profile_data['data'][1][4]['sex'].split(':')[1] - stage = profile_data['data'][0][4]['stage'].split(':')[1] - - # Обработка stage и gender в одну строку - - - return surname, name, gender, stage, birth_year - - return None, None, None, None, None # Возвращаем None, если авторизация не удалась - - From 1535865c7ae78998f8d9aeebc50a64618f145046 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:24:35 +0500 Subject: [PATCH 021/447] Delete lms/djangoapps/univerapi/views.py.save.1 --- lms/djangoapps/univerapi/views.py.save.1 | 232 ----------------------- 1 file changed, 232 deletions(-) delete mode 100644 lms/djangoapps/univerapi/views.py.save.1 diff --git a/lms/djangoapps/univerapi/views.py.save.1 b/lms/djangoapps/univerapi/views.py.save.1 deleted file mode 100644 index 3b6b93561cb7..000000000000 --- a/lms/djangoapps/univerapi/views.py.save.1 +++ /dev/null @@ -1,232 +0,0 @@ -# -*- coding: utf-8 -*- - -from django.shortcuts import render -from django.http import HttpResponse -import logging -#import authlib -import jwt -import openedx.core.djangoapps.user_api.views as user_api_view -import requests -import django.middleware.csrf -from django.views.decorators.csrf import csrf_exempt, csrf_protect, ensure_csrf_cookie -from django.utils.decorators import method_decorator -from django.shortcuts import redirect -import re -secret = '$ecRet@3#$2958GPIs!1' - -from django.shortcuts import render -from rest_framework.views import APIView -from rest_framework.generics import GenericAPIView - -from univerapi.models import Univeruser -from random import randint -import json -from student.models import User -import time -from django.db import connection -from django.contrib.sites.models import Site -from django.conf import settings -from django.http import JsonResponse - -class UniverView(GenericAPIView): - - def createuser(): - return 123 - - @method_decorator(csrf_protect) - def post(self, request): - return HttpResponse('post') - # TEST user - #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') - #return HttpResponse(repr(exist_user)) - # TEST user - - auth = request.POST.get('auth') - #auth = auth.split("auth=")[1] - encoded_jwt = request.GET.get('auth') - decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - - new_user = Univeruser() - #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) - ''' - new_user.edx_pass=decoded['upwd'] - new_user.univer_id = decoded['uname'] - new_user.save() - ''' - created_user = '' - created_user_email = '' - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - - return HttpResponse('user exist') - - except: - surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) - created_user = decoded['uname'].split(".")[0]+str(randint(0, 1000)) - created_user_email = decoded['uname']+str(randint(0, 1000))+'@kaznu.kz' - multipart_form_data = { - 'email': (None, created_user_email), - 'password': (None, decoded['upwd'][:75]), - 'name': (None, name), - 'username': (None, created_user), - 'level_of_education': (None, stage), - 'gender': (None, gender), - 'year_of_birth': (None, birth_year), - 'honor_code': (None, 'true'), - 'country': (None, 'KZ'), - 'goals': (None, 'education'), - 'surname': (None, surname), - 'mailing_address': (None, 'Kaznu') - } - client = requests.session() - client.get('http://192.168.199.128', verify=False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - response = requests.post('http://192.168.199.128:8181/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify=False) - - #new_user.edx_pass=decoded['upwd'] - #new_user.univer_id = decoded['uname'] - #new_user.save() - json_data = json.loads(response.text) - - if ( ('success' in json_data) and (json_data['success'] == True)): - created_user_str = str(created_user) - - exist_user = None - i = 0 - while i < 60: - try: - exist_user = User.objects.get(username=created_user_str) - #exist_user = User.objects.raw('SELECT * FROM auth_user') - User.refresh_from_db() - break - except: - i += 1 - time.sleep(3) - - out_html='' - query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" - query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" - - - return HttpResponse(repr(exist_user)) - - # raw sql - time.sleep(10) - cursor = connection.cursor() - row = None - sql = 'SELECT id, username FROM auth_user' - try: - cursor.execute(str(query2)) - row = cursor.fetchall() - return HttpResponse(repr(row)) - except Exception as e: - cursor.close - return HttpResponse('error =' + str(e)) - # raw sql - - return HttpResponse(repr(cursor)) - #time.sleep(20) - #for p in User.objects.raw(query): - #User.refresh_from_db() - # out_html += str(p.username) + '\n' - #exist_user = User.objects.raw(str(query)) - #exist_user = User.objects.get(id=51808) - #return HttpResponse(str(created_user_str) + ' = ' + repr(exist_user) + str(i) + str(out_html)) - #return HttpResponse( str(out_html)) - else: - return HttpResponse('no registration') - - return HttpResponse((json_data['success'])) - - - #check_user = Univeruser.objects.get(univer_id=decoded['uname']) - - return HttpResponse(repr(exist_user)) - - multipart_form_data = { - 'email': (None, 'dl@kaznu.kz'), - 'password': (None, 'DlGao3wo'), - 'remember': (None, 'true') - } - client = requests.session() - client.get('http://192.168.199.128') - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers, verify = False) - - headers2 = response.headers - - csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) - sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) - - - cookies2 = { - '_ga': 'GA1.1.1602606957.1602045613', - 'experiments_is_enterprise': 'false', - 'openedx-language-preference': 'ru', - 'csrftoken': csrfToken.group(1), - 'edxloggedin': 'true', - 'sessionid': sessionid.group(1), - 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', - } - - headers3 = { - 'Connection': 'keep-alive', - 'Upgrade-Insecure-Requests': '1', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', - 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', - 'Referer': 'http://192.168.199.128/login?next=%2F', - 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', - 'sec-gpc': '1', - } - - response = requests.get('http://192.168.199.128', headers=headers3, cookies=cookies2, verify=False) - return HttpResponse(response) - - #return HttpResponse(request.POST['csrf']) - - @method_decorator(ensure_csrf_cookie) - def get(self, request): - #return HttpResponse('get') - #return HttpResponse(repr(django.middleware.csrf.get_token(request))) - #return render(request, 'univerapi/login.html') - # TEST user - #exist_user = User.objects.get(email='hakymova.tyyshtyq642@kaznu.kz') - #return HttpResponse(repr(exist_user)) - # TEST user - current_site = 'https://open.kaznu.kz' - - - auth = request.POST.get('auth') - #auth = auth.split("auth=")[1] - encoded_jwt = request.GET.get('auth') - decoded = jwt.decode(encoded_jwt, secret, algorithms=["HS256"]) - - #return HttpResponse(decoded['upwd'][:75]) - #new_user = Univeruser() - #new_user = Univeruser(edx_id = 0, edx_pass=decoded['upwd'], univer_id = decoded['uname']) - ''' - new_user.edx_pass=decoded['upwd'] - new_user.univer_id = decoded['uname'] - new_user.save() - ''' - created_user = '' - created_user_email = '' - #return HttpResponse(repr(current_site)) - - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - From cdbc022ee95093669becd2a0e7c0e99cc22a7bb8 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:24:46 +0500 Subject: [PATCH 022/447] Delete lms/djangoapps/univerapi/table_univeruser.sql --- lms/djangoapps/univerapi/table_univeruser.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lms/djangoapps/univerapi/table_univeruser.sql diff --git a/lms/djangoapps/univerapi/table_univeruser.sql b/lms/djangoapps/univerapi/table_univeruser.sql deleted file mode 100644 index e69de29bb2d1..000000000000 From 292ebabc3b73df527e7344420d3412de624f91f5 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:33:43 +0500 Subject: [PATCH 023/447] Update views.py --- lms/djangoapps/univerapi/views.py | 455 ++++-------------------------- 1 file changed, 58 insertions(+), 397 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index dcd41b715928..d7517d53707f 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -1,402 +1,63 @@ -# -*- coding: utf-8 -*- - -from django.shortcuts import render -from django.http import HttpResponse -import logging import jwt -import openedx.core.djangoapps.user_api.views as user_api_view -import requests -import django.middleware.csrf -from django.views.decorators.csrf import csrf_exempt, csrf_protect, ensure_csrf_cookie -from django.utils.decorators import method_decorator -from django.shortcuts import redirect -import re -secret = '$ecRet@3#$2958GPIs!1' - -from django.shortcuts import render -from rest_framework.views import APIView -from rest_framework.generics import GenericAPIView - -from lms.djangoapps.univerapi.models import Univeruser -from random import randint -import json -import random -from common.djangoapps.student.models import User -import time -from django.db import connection -from django.contrib.sites.models import Site from django.conf import settings -from django.http import JsonResponse - -class UniverView(GenericAPIView): - - def createuser(): - return 123 - - @method_decorator(csrf_protect) - def post(self, request): - return HttpResponse('post') - - auth = request.POST.get('auth') - encoded_jwt = request.GET.get('auth') - decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - - new_user = Univeruser() - created_user = '' - created_user_email = '' - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - - return HttpResponse('user exist') - - except: - surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) - created_user = decoded['uname'].replace(".", "_") + str(random.randint(100, 999)) - created_user_email = decoded['uname'].replace(".", "_")+'@kaznu.edu.kz' - multipart_form_data = { - 'email': (None, created_user_email), - 'password': (None, decoded['upwd'][:75]), - 'name': (None, name), - 'username': (None, created_user), - 'level_of_education': (None, stage), - 'gender': (None, gender), - 'year_of_birth': (None, birth_year), - 'honor_code': (None, 'true'), - 'country': (None, 'KZ') - - - - } - client = requests.session() - client.get('http://192.168.199.128', verify=False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - response = requests.post('http://192.168.199.128:8181/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify=False) - - json_data = json.loads(response.text) - - if ( ('success' in json_data) and (json_data['success'] == True)): - created_user_str = str(created_user) - - exist_user = None - i = 0 - while i < 60: - try: - exist_user = User.objects.get(username=created_user_str) - User.refresh_from_db() - break - except: - i += 1 - time.sleep(3) - - out_html='' - query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" - query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" - - - return HttpResponse(repr(exist_user)) - - time.sleep(10) - cursor = connection.cursor() - row = None - sql = 'SELECT id, username FROM auth_user' - try: - cursor.execute(str(query2)) - row = cursor.fetchall() - return HttpResponse(repr(row)) - except Exception as e: - cursor.close - return HttpResponse('error =' + str(e)) - - return HttpResponse(repr(cursor)) - else: - return HttpResponse('no registration') - - return HttpResponse((json_data['success'])) - - - return HttpResponse(repr(exist_user)) - - multipart_form_data = { - 'email': (None, 'dl@kaznu.kz'), - 'password': (None, 'DlGao3wo'), - 'remember': (None, 'true') - } - client = requests.session() - client.get('http://192.168.199.128') - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - response = requests.post('http://192.168.199.128/user_api/v1/account/login_session/', data=login_data, files=multipart_form_data, headers=headers, verify = False) - - headers2 = response.headers - - csrfToken = re.search(r'csrftoken=(\w+);', headers2['Set-Cookie']) - sessionid = re.search(r'sessionid="(\S+)";', headers2['Set-Cookie']) - - - cookies2 = { - '_ga': 'GA1.1.1602606957.1602045613', - 'experiments_is_enterprise': 'false', - 'openedx-language-preference': 'ru', - 'csrftoken': csrfToken.group(1), - 'edxloggedin': 'true', - 'sessionid': sessionid.group(1), - 'edx-user-info': '{\\"username\\": \\"staff\\"\\054 \\"version\\": 1\\054 \\"enrollmentStatusHash\\": \\"ace9f6124341dc7692d41de5b91bff7d\\"\\054 \\"header_urls\\": {\\"learner_profile\\": \\"http://192.168.199.128/u/staff\\"\\054 \\"resume_block\\": \\"http://192.168.199.128/user_api/v1/account/login_session/\\"\\054 \\"logout\\": \\"http://192.168.199.128/logout\\"\\054 \\"account_settings\\": \\"http://192.168.199.128/account/settings\\"}}', - } - - headers3 = { - 'Connection': 'keep-alive', - 'Upgrade-Insecure-Requests': '1', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36', - 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', - 'Referer': 'http://192.168.199.128/login?next=%2F', - 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', - 'sec-gpc': '1', - } - - response = requests.get('http://192.168.199.128', headers=headers3, cookies=cookies2, verify=False) - return HttpResponse(response) - - - @method_decorator(ensure_csrf_cookie) +from django.contrib.auth import login +from django.contrib.auth.models import User +from django.http import HttpResponseRedirect +from django.views.decorators.csrf import csrf_exempt +from rest_framework.views import APIView +from rest_framework.response import Response +from rest_framework import status +from openedx.core.djangoapps.user_api.views import login_user # Assuming this is importable as per your provided code +SECRET_KEY = "$ecRet@3#$2958GPIs!1" +class UniverTestView(APIView): + authentication_classes = [] # Allow anonymous access since it's a redirect from external auth + permission_classes = [] + + @csrf_exempt # If CSRF is an issue in this redirect flow; adjust based on your setup def get(self, request): - current_site = "http://127.0.0.1:8000" - auth = request.POST.get('auth') - encoded_jwt = request.GET.get('auth') - decoded = jwt.decode(encoded_jwt, secret, algorithms=["HS256"]) - created_user = '' - created_user_email = '' - - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - - return render(request, 'univerapi/redirect.html') + auth_token = request.GET.get('auth') + if not auth_token: + return Response({'error': 'Missing auth token'}, status=status.HTTP_400_BAD_REQUEST) - except: - surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(encoded_jwt) - created_user = decoded['uname'].replace(".", "_") + str(random.randint(100, 999)) - - created_user_email = decoded['uname'].replace(".", "_")+'@kaznu.edu.kz' - multipart_form_data = { - 'email': (None, created_user_email), - 'password': (None, decoded['upwd'][:75]), - 'name': (None, name), - 'username': (None, created_user), - 'level_of_education': (None, stage), - 'gender': (None, gender), - 'year_of_birth': (None, birth_year), - 'honor_code': (None, 'true'), - 'country': (None , 'KZ') - - - } - client = requests.session() - client.get(current_site, verify = False) - csrftoken = client.cookies['csrftoken'] - login_data = dict(csrfmiddlewaretoken=csrftoken, next='/form_call/') - coky = 'csrftoken='+csrftoken - headers = { - 'X-CSRFToken': csrftoken, - 'Cookie':coky - } - - count_try = 0 - while True: - response = requests.post(current_site + '/user_api/v1/account/registration/', data=login_data, files=multipart_form_data, headers=headers, verify = False) - json_data = json.loads(response.text) - if ( ('success' in json_data) and (json_data['success'] == True)): - break - if ( ('username' in json_data) ): - if "existing account" in str(json_data): - - - return render(request, 'univerapi/redirect.html') - time.sleep(3) - count_try += 1 - if (count_try == 20): - return JsonResponse(json_data) - - if ( ('success' in json_data) and (json_data['success'] == True)): - new_user = Univeruser() - new_user.edx_username = created_user - new_user.edx_id=0 - new_user.edx_pass='0' - new_user.univer_id = decoded['uname'] - new_user.save() - return render(request, 'univerapi/redirect.html') - created_user_str = str(created_user) - - exist_user = None - i = 0 - while i < 60: - try: - exist_user = User.objects.get(username=created_user_str) - User.refresh_from_db() - break - except: - i += 1 - time.sleep(3) - - out_html='' - query = """SELECT id, username FROM auth_user where username LIKE '""" + "%%" + "hakymova" + "%%" + """'""" - query2 = """SELECT id, username FROM auth_user where username = '""" + created_user_str + """'""" - - return HttpResponse(repr(exist_user)) - - time.sleep(10) - cursor = connection.cursor() - row = None - sql = 'SELECT id, username FROM auth_user' - try: - cursor.execute(str(query2)) - row = cursor.fetchall() - return HttpResponse(repr(row)) - except Exception as e: - cursor.close - return HttpResponse('error =' + str(e)) - - return HttpResponse(repr(cursor)) - else: - return HttpResponse('no registration') - - -def authview(request): - return render(request, 'univerapi/index.html') - - -def authview_check(request): - auth = request.POST.get('auth') - auth = auth.split("auth=")[1] - encoded_jwt = auth - decoded = jwt.decode(encoded_jwt, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - already_exist_user = decoded['uname'] - - try: - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - exist_edx_user = User.objects.get(username=exist_user.edx_username) - exist_edx_user.is_active = 1 - exist_edx_user.save() - - except: - return JsonResponse({"success":"false"}) - - return JsonResponse({"success":"true"}) - - -# -*- coding: utf-8 -*- -import requests -import jwt - -def decode_token_and_fetch_profile(token, secret_key='$ecRet@3#$2958GPIs!1'): - try: - decoded = jwt.decode(token, secret_key, algorithms=['HS256']) - except jwt.InvalidSignatureError: - raise SystemExit("Ошибка: неверная подпись JWT") - except jwt.DecodeError as e: - raise SystemExit("Ошибка при декодировании JWT: {0}".format(e)) - - uname = decoded.get('uname') - upwd = decoded.get('upwd') - if not uname or not upwd: - raise SystemExit("Ошибка: в токене нет 'uname' или 'upwd'") - - session = requests.Session() - resp = session.post( - "https://univerapi.kaznu.kz/user/loginMoodle", - data={'login': uname, 'password': upwd}, - ) - resp.raise_for_status() - data = resp.json() - if data.get('code') != 0: - raise SystemExit("loginMoodle вернул: {0}".format(data.get('message', ''))) - - # Сначала пробуем получить профиль студента - student_resp = session.get("https://univerapi.kaznu.kz/student/profile") - student_data = None - if student_resp.status_code == 200: try: - student_data = student_resp.json() - except: - pass - - # Если данные студента получены успешно - if student_data and student_data.get('code') == 0 and 'data' in student_data: - info_list, personal_list = student_data['data'] - - def find_value(lst, key): - for d in lst: - if key in d and ':' in d[key]: - return d[key].split(':', 1)[1].strip() - return None - - surname = find_value(personal_list, 'sname') - name = find_value(personal_list, 'name') - - raw_sex = find_value(personal_list, 'sex') or '' - if isinstance(raw_sex, bytes): - raw_sex = raw_sex.decode('utf-8') - raw_sex = raw_sex.lower() - - if u'муж' in raw_sex: - gender = 'm' - elif u'жен' in raw_sex: - gender = 'f' - else: - gender = 'o' - - raw_stage = find_value(info_list, 'stage') or '' - if isinstance(raw_stage, bytes): - raw_stage = raw_stage.decode('utf-8') - raw_stage = raw_stage.lower() - - if u'бакалав' in raw_stage: - stage = 'b' - elif u'магис' in raw_stage: - stage = 'm' - elif u'доктор' in raw_stage: - stage = 'p' - else: - stage = 'none' - - # Установка дефолтного года рождения для студента - birth_year = 1995 - return surname, name, gender, stage, birth_year - - # Если не удалось получить данные студента, пробуем профиль преподавателя - teacher_resp = session.get("https://univerapi.kaznu.kz/teacher/profile") - if teacher_resp.status_code >= 500: - raise SystemExit("teacher/profile 500:\n{0}".format(teacher_resp.text)) - teacher_resp.raise_for_status() - teacher_data = teacher_resp.json() - - if teacher_data.get('code') != 0 or 'data' not in teacher_data: - raise SystemExit("Не удалось получить данные ни студента, ни преподавателя") - - # Обработка данных преподавателя - teacher_profile = teacher_data['data'][0] # Первый элемент в списке данных - surname = teacher_profile.get('sname', '') - name = teacher_profile.get('name', '') - gender = 'o' # По умолчанию, если поле отсутствует - stage = 'none' # Для преподавателя ступень не применима - - # Извлечение года рождения из даты (формат "дд.мм.гггг") - birth_year = None - if 'dateOfBirth' in teacher_profile: - try: - birth_year = int(teacher_profile['dateOfBirth'].split('.')[-1]) - except (ValueError, IndexError): - pass - - return surname, name, gender, stage, birth_year + # Decode JWT (replace with your actual secret) + decoded = jwt.decode(auth_token, settings.UNIVER_JWT_SECRET, algorithms=['HS256']) + uname = decoded.get('uname') + upwd = decoded.get('upwd') + + if not uname or not upwd: + return Response({'error': 'Invalid token payload'}, status=status.HTTP_400_BAD_REQUEST) + + # Modify uname: replace '.' with '_' + modified_uname = uname.replace('.', '_') + + # Check if user exists + user, created = User.objects.get_or_create(username=modified_uname) + + # Set or update password (handles updates) + user.set_password(upwd) + user.save() + + # If new user, set additional fields if needed (e.g., email, but minimal for now) + if created: + # Optionally set email or other profile fields; e.g., user.email = f"{modified_uname}@example.com" + user.save() + + # Authenticate and login + # Simulate the login_user call (adapt api_version as needed, e.g., 'v1') + login_response = login_user(request, 'v1') # This assumes login_user handles authentication + if login_response.status_code != status.HTTP_200_OK: + return login_response # Return error if login fails + + # Manually login the user in the session if needed (in case login_user doesn't) + login(request, user) + + # Redirect to main page (e.g., dashboard) + return HttpResponseRedirect('/dashboard') + + except jwt.ExpiredSignatureError: + return Response({'error': 'Token expired'}, status=status.HTTP_401_UNAUTHORIZED) + except jwt.InvalidTokenError: + return Response({'error': 'Invalid token'}, status=status.HTTP_401_UNAUTHORIZED) + except Exception as e: + return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) From 7528f55eeda28a93c1f881e87221cfd5b7961869 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:34:10 +0500 Subject: [PATCH 024/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index d7517d53707f..a4e5cfbd05f6 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -21,7 +21,7 @@ def get(self, request): try: # Decode JWT (replace with your actual secret) - decoded = jwt.decode(auth_token, settings.UNIVER_JWT_SECRET, algorithms=['HS256']) + decoded = jwt.decode(auth_token, SECRET_KEY, algorithms=['HS256']) uname = decoded.get('uname') upwd = decoded.get('upwd') From ca29e7805b7d37c82266f2d3a4024e400fcd38f4 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:34:43 +0500 Subject: [PATCH 025/447] Delete lms/djangoapps/univerapi/models.py --- lms/djangoapps/univerapi/models.py | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 lms/djangoapps/univerapi/models.py diff --git a/lms/djangoapps/univerapi/models.py b/lms/djangoapps/univerapi/models.py deleted file mode 100644 index 1144b1ca5ed9..000000000000 --- a/lms/djangoapps/univerapi/models.py +++ /dev/null @@ -1,12 +0,0 @@ -from django.db import models -from django.contrib import admin - -# Create your models here. - -class Univeruser(models.Model): - edx_id = models.IntegerField(null=True) - edx_pass = models.CharField(max_length=300, null=True) - univer_id = models.CharField(max_length=300, null=True) - edx_username = models.CharField(max_length=300, null=True) - -admin.site.register(Univeruser) \ No newline at end of file From 80982654e333146f052067d655dbd2b8ec61247c Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:34:55 +0500 Subject: [PATCH 026/447] Delete lms/djangoapps/univerapi/templates/univerapi/index.html --- .../univerapi/templates/univerapi/index.html | 98 ------------------- 1 file changed, 98 deletions(-) delete mode 100644 lms/djangoapps/univerapi/templates/univerapi/index.html diff --git a/lms/djangoapps/univerapi/templates/univerapi/index.html b/lms/djangoapps/univerapi/templates/univerapi/index.html deleted file mode 100644 index 3bb9f685436d..000000000000 --- a/lms/djangoapps/univerapi/templates/univerapi/index.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - {% csrf_token %} - -
- - - -
- - - - -
- - - - - - - - - - - From 2492897b020f7a28411054a390ecccbe1ff56597 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:35:04 +0500 Subject: [PATCH 027/447] Delete lms/djangoapps/univerapi/templates/univerapi/redirect.html --- .../templates/univerapi/redirect.html | 117 ------------------ 1 file changed, 117 deletions(-) delete mode 100644 lms/djangoapps/univerapi/templates/univerapi/redirect.html diff --git a/lms/djangoapps/univerapi/templates/univerapi/redirect.html b/lms/djangoapps/univerapi/templates/univerapi/redirect.html deleted file mode 100644 index 2a3d726e749e..000000000000 --- a/lms/djangoapps/univerapi/templates/univerapi/redirect.html +++ /dev/null @@ -1,117 +0,0 @@ -login page - - - - From ff996dbb8890072fd3bc70008440945502ee5948 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:35:12 +0500 Subject: [PATCH 028/447] Delete lms/djangoapps/univerapi/templates/univerapi/login.html --- .../univerapi/templates/univerapi/login.html | 42 ------------------- 1 file changed, 42 deletions(-) delete mode 100644 lms/djangoapps/univerapi/templates/univerapi/login.html diff --git a/lms/djangoapps/univerapi/templates/univerapi/login.html b/lms/djangoapps/univerapi/templates/univerapi/login.html deleted file mode 100644 index 548df9dfd583..000000000000 --- a/lms/djangoapps/univerapi/templates/univerapi/login.html +++ /dev/null @@ -1,42 +0,0 @@ -login page - - - - From 8bdf2c9acc803c34f52dd6bf45ba9013c738fc1b Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:35:26 +0500 Subject: [PATCH 029/447] Delete lms/djangoapps/univerapi/migrations/0004_univeruser_edx_username.py --- .../0004_univeruser_edx_username.py | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 lms/djangoapps/univerapi/migrations/0004_univeruser_edx_username.py diff --git a/lms/djangoapps/univerapi/migrations/0004_univeruser_edx_username.py b/lms/djangoapps/univerapi/migrations/0004_univeruser_edx_username.py deleted file mode 100644 index 049d469cc50c..000000000000 --- a/lms/djangoapps/univerapi/migrations/0004_univeruser_edx_username.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.29 on 2021-12-06 09:18 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('univerapi', '0003_auto_20211125_0136'), - ] - - operations = [ - migrations.AddField( - model_name='univeruser', - name='edx_username', - field=models.CharField(max_length=300, null=True), - ), - ] From 87d4124bd313cd599190faff15f0f6fe344ccb1b Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:35:35 +0500 Subject: [PATCH 030/447] Delete lms/djangoapps/univerapi/migrations/0003_auto_20211125_0136.py --- .../migrations/0003_auto_20211125_0136.py | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 lms/djangoapps/univerapi/migrations/0003_auto_20211125_0136.py diff --git a/lms/djangoapps/univerapi/migrations/0003_auto_20211125_0136.py b/lms/djangoapps/univerapi/migrations/0003_auto_20211125_0136.py deleted file mode 100644 index 50d2a07f73e1..000000000000 --- a/lms/djangoapps/univerapi/migrations/0003_auto_20211125_0136.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.29 on 2021-11-25 06:36 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('univerapi', '0002_univeruser_univer_id2'), - ] - - operations = [ - migrations.RemoveField( - model_name='univeruser', - name='univer_id2', - ), - migrations.AddField( - model_name='univeruser', - name='edx_id', - field=models.IntegerField(null=True), - ), - migrations.AlterField( - model_name='univeruser', - name='edx_pass', - field=models.CharField(max_length=300, null=True), - ), - migrations.AlterField( - model_name='univeruser', - name='univer_id', - field=models.CharField(max_length=300, null=True), - ), - ] From 9184f93da714cc50c8e96d5cb4675decb3e9fd3f Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:35:43 +0500 Subject: [PATCH 031/447] Delete lms/djangoapps/univerapi/migrations/0001_initial.py --- .../univerapi/migrations/0001_initial.py | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100644 lms/djangoapps/univerapi/migrations/0001_initial.py diff --git a/lms/djangoapps/univerapi/migrations/0001_initial.py b/lms/djangoapps/univerapi/migrations/0001_initial.py deleted file mode 100644 index 98694b9cae06..000000000000 --- a/lms/djangoapps/univerapi/migrations/0001_initial.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.29 on 2021-11-25 06:21 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Univeruser', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('edx_pass', models.CharField(max_length=300)), - ('univer_id', models.CharField(max_length=300)), - ], - ), - ] From a332e279df65bcc8c5d28588dd4ea11372fdb2ac Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:35:51 +0500 Subject: [PATCH 032/447] Delete lms/djangoapps/univerapi/migrations/0002_univeruser_univer_id2.py --- .../migrations/0002_univeruser_univer_id2.py | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 lms/djangoapps/univerapi/migrations/0002_univeruser_univer_id2.py diff --git a/lms/djangoapps/univerapi/migrations/0002_univeruser_univer_id2.py b/lms/djangoapps/univerapi/migrations/0002_univeruser_univer_id2.py deleted file mode 100644 index 1764f5bd570e..000000000000 --- a/lms/djangoapps/univerapi/migrations/0002_univeruser_univer_id2.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.29 on 2021-11-25 06:33 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('univerapi', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='univeruser', - name='univer_id2', - field=models.CharField(max_length=300, null=True), - ), - ] From b8a23dcc82dfb55e6b94992e82b1830930db38e9 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:35:58 +0500 Subject: [PATCH 033/447] Delete lms/djangoapps/univerapi/migrations/__init__.py --- lms/djangoapps/univerapi/migrations/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lms/djangoapps/univerapi/migrations/__init__.py diff --git a/lms/djangoapps/univerapi/migrations/__init__.py b/lms/djangoapps/univerapi/migrations/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 From 7e1baaa89f6b49206a4e88d8140d1ff5684f803a Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:36:12 +0500 Subject: [PATCH 034/447] Delete lms/djangoapps/univerapi/__init__.py --- lms/djangoapps/univerapi/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lms/djangoapps/univerapi/__init__.py diff --git a/lms/djangoapps/univerapi/__init__.py b/lms/djangoapps/univerapi/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 From effb07b63f71ce65d97d462aba8f9b9bbb33e30e Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:36:28 +0500 Subject: [PATCH 035/447] Delete lms/djangoapps/univerapi/tests.py --- lms/djangoapps/univerapi/tests.py | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 lms/djangoapps/univerapi/tests.py diff --git a/lms/djangoapps/univerapi/tests.py b/lms/djangoapps/univerapi/tests.py deleted file mode 100644 index de8bdc00eb2f..000000000000 --- a/lms/djangoapps/univerapi/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. From c23ccf0223cb1656535d2d82f549e7cdc032b2f2 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:36:48 +0500 Subject: [PATCH 036/447] Delete lms/djangoapps/univerapi/urls.py --- lms/djangoapps/univerapi/urls.py | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 lms/djangoapps/univerapi/urls.py diff --git a/lms/djangoapps/univerapi/urls.py b/lms/djangoapps/univerapi/urls.py deleted file mode 100644 index 9aad72b602ec..000000000000 --- a/lms/djangoapps/univerapi/urls.py +++ /dev/null @@ -1,7 +0,0 @@ -from django.urls import path - -from . import views - -urlpatterns = [ - path('', views.test, name='test'), -] \ No newline at end of file From 2e882da4e0f6e8d445674ceb8a1a6d7b2c05c40f Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:41:08 +0500 Subject: [PATCH 037/447] Update urls.py --- lms/urls.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lms/urls.py b/lms/urls.py index b4cdc70b0d10..9166d55280e1 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -94,11 +94,7 @@ urlpatterns = [ - - re_path(r'^api/univertest$', univer_views.UniverView.as_view(), name="post"), - re_path(r'^univerauth$', univer_views.authview, name="test"), - re_path(r'^api/univerauthcheck$', univer_views.authview_check, name="check"), - + path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware path('', include('common.djangoapps.student.urls')), From 2f9990b75da4c3497934ca22e509e60df443918e Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:42:22 +0500 Subject: [PATCH 038/447] Update views.py --- openedx/core/djangoapps/user_api/views.py | 84 ----------------------- 1 file changed, 84 deletions(-) diff --git a/openedx/core/djangoapps/user_api/views.py b/openedx/core/djangoapps/user_api/views.py index da8273835ccd..cef77e8708e3 100644 --- a/openedx/core/djangoapps/user_api/views.py +++ b/openedx/core/djangoapps/user_api/views.py @@ -27,90 +27,6 @@ from django.views.decorators.csrf import csrf_protect from django.views.decorators.debug import sensitive_post_parameters -# univerapi -import logging -import lms.djangoapps.univerapi -from django.shortcuts import redirect -import jwt -from lms.djangoapps.univerapi.models import Univeruser -# univerapi - -class LoginSessionView(APIView): - """HTTP end-points for logging in users. """ - - # This end-point is available to anonymous users, - # so do not require authentication. - authentication_classes = [] - - @method_decorator(ensure_csrf_cookie) - def get(self, request): - return HttpResponse(get_login_session_form(request).to_json(), content_type="application/json") - - @method_decorator(require_post_params(["email", "password"])) - @method_decorator(csrf_protect) - def post(self, request): - """Log in a user. - - You must send all required form fields with the request. - - You can optionally send an `analytics` param with a JSON-encoded - object with additional info to include in the login analytics event. - Currently, the only supported field is "enroll_course_id" to indicate - that the user logged in while enrolling in a particular course. - - Arguments: - request (HttpRequest) - - Returns: - HttpResponse: 200 on success - HttpResponse: 400 if the request is not valid. - HttpResponse: 403 if authentication failed. - 403 with content "third-party-auth" if the user - has successfully authenticated with a third party provider - but does not have a linked account. - HttpResponse: 302 if redirecting to another page. - - Example Usage: - - POST /user_api/v1/login_session - with POST params `email`, `password`, and `remember`. - - 200 OK - - """ - # univer - try: - if (request.POST.get('auth')): - auth = request.POST.get('auth') - auth = auth.split("auth=")[1] - #encoded_jwt = request.GET.get('auth') - decoded = jwt.decode(auth, "$ecRet@3#$2958GPIs!1", algorithms=["HS256"]) - - # Get user - exist_user = Univeruser.objects.get(univer_id=decoded['uname']) - exist_edx_user = User.objects.get(username=exist_user.edx_username) - - # edit request - request.POST._mutable = True - request.POST["email"] = exist_edx_user.email - request.POST["password"] = decoded['upwd'][:75] - #request.POST. exist_edx_user.email - #decoded['upwd'][:75] - - #return HttpResponse(repr(decoded)) - except Exception as e: - return HttpResponse('error =' + str(e)) - # univer - - # For the initial implementation, shim the existing login view - # from the student Django app. - from openedx.core.djangoapps.user_authn.views.login import login_user - return shim_student_view(login_user, check_logged_in=True)(request) - - @method_decorator(sensitive_post_parameters("password")) - def dispatch(self, request, *args, **kwargs): - return super(LoginSessionView, self).dispatch(request, *args, **kwargs) - class UserViewSet(viewsets.ReadOnlyModelViewSet): From 76cc3a7af104d27a12af6b2829828ade4232aa36 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:47:48 +0500 Subject: [PATCH 039/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index a4e5cfbd05f6..8fa5f70b7057 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -7,7 +7,7 @@ from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status -from openedx.core.djangoapps.user_api.views import login_user # Assuming this is importable as per your provided code +from openedx.core.djangoapps.user_authn.views import login_user # Assuming this is importable as per your provided code SECRET_KEY = "$ecRet@3#$2958GPIs!1" class UniverTestView(APIView): authentication_classes = [] # Allow anonymous access since it's a redirect from external auth From aafe37e96a69a111436424801f8bf7aa86f9fa4f Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:51:17 +0500 Subject: [PATCH 040/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 8fa5f70b7057..d0e82329bd8b 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -7,7 +7,7 @@ from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status -from openedx.core.djangoapps.user_authn.views import login_user # Assuming this is importable as per your provided code +from openedx.core.djangoapps.user_authn.views.login import login_user # Assuming this is importable as per your provided code SECRET_KEY = "$ecRet@3#$2958GPIs!1" class UniverTestView(APIView): authentication_classes = [] # Allow anonymous access since it's a redirect from external auth From 922694dd374d90c791b21b07db64e98802a9b02f Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:01:41 +0500 Subject: [PATCH 041/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index d0e82329bd8b..0250724eb8ac 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -40,7 +40,7 @@ def get(self, request): # If new user, set additional fields if needed (e.g., email, but minimal for now) if created: - # Optionally set email or other profile fields; e.g., user.email = f"{modified_uname}@example.com" + # Optionally set email or other profile fields; e.g., user.email = f"{modified_uname}@kaznu.edu.kz" user.save() # Authenticate and login From b0d2f00154a9369e29133ace40d21ac280aeae1e Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:13:06 +0500 Subject: [PATCH 042/447] Update views.py --- lms/djangoapps/univerapi/views.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 0250724eb8ac..533b6671301f 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -31,10 +31,12 @@ def get(self, request): # Modify uname: replace '.' with '_' modified_uname = uname.replace('.', '_') - # Check if user exists - user, created = User.objects.get_or_create(username=modified_uname) - - # Set or update password (handles updates) + user, created = User.objects.get_or_create( + username=modified_uname, + defaults={'email': f"{modified_uname}@univer.local"} + ) + + # Set or update password user.set_password(upwd) user.save() From e212eeebdd84c9ca24d2e4ae4f5f97cf762da41f Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:13:22 +0500 Subject: [PATCH 043/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 533b6671301f..bc9c4b1c5a76 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -33,7 +33,7 @@ def get(self, request): user, created = User.objects.get_or_create( username=modified_uname, - defaults={'email': f"{modified_uname}@univer.local"} + defaults={'email': f"{modified_uname}@kaznu.edu.kz"} ) # Set or update password From eba3d28b4ade9191fa75ef08e6dc0e7f45ff9450 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:25:18 +0500 Subject: [PATCH 044/447] Update views.py --- lms/djangoapps/univerapi/views.py | 36 ++++++++++++------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index bc9c4b1c5a76..97a419201633 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -1,26 +1,25 @@ import jwt -from django.conf import settings -from django.contrib.auth import login +from django.contrib.auth import login, authenticate from django.contrib.auth.models import User from django.http import HttpResponseRedirect from django.views.decorators.csrf import csrf_exempt from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status -from openedx.core.djangoapps.user_authn.views.login import login_user # Assuming this is importable as per your provided code + SECRET_KEY = "$ecRet@3#$2958GPIs!1" + class UniverTestView(APIView): - authentication_classes = [] # Allow anonymous access since it's a redirect from external auth + authentication_classes = [] permission_classes = [] - @csrf_exempt # If CSRF is an issue in this redirect flow; adjust based on your setup + @csrf_exempt def get(self, request): auth_token = request.GET.get('auth') if not auth_token: return Response({'error': 'Missing auth token'}, status=status.HTTP_400_BAD_REQUEST) try: - # Decode JWT (replace with your actual secret) decoded = jwt.decode(auth_token, SECRET_KEY, algorithms=['HS256']) uname = decoded.get('uname') upwd = decoded.get('upwd') @@ -28,33 +27,26 @@ def get(self, request): if not uname or not upwd: return Response({'error': 'Invalid token payload'}, status=status.HTTP_400_BAD_REQUEST) - # Modify uname: replace '.' with '_' modified_uname = uname.replace('.', '_') user, created = User.objects.get_or_create( username=modified_uname, defaults={'email': f"{modified_uname}@kaznu.edu.kz"} ) - - # Set or update password + + # Обновляем пароль user.set_password(upwd) user.save() - # If new user, set additional fields if needed (e.g., email, but minimal for now) - if created: - # Optionally set email or other profile fields; e.g., user.email = f"{modified_uname}@kaznu.edu.kz" - user.save() - - # Authenticate and login - # Simulate the login_user call (adapt api_version as needed, e.g., 'v1') - login_response = login_user(request, 'v1') # This assumes login_user handles authentication - if login_response.status_code != status.HTTP_200_OK: - return login_response # Return error if login fails + # Аутентификация + auth_user = authenticate(username=modified_uname, password=upwd) + if auth_user is None: + return Response({'error': 'Authentication failed'}, status=status.HTTP_401_UNAUTHORIZED) - # Manually login the user in the session if needed (in case login_user doesn't) - login(request, user) + # Логиним + login(request, auth_user) - # Redirect to main page (e.g., dashboard) + # Редиректим на дашборд return HttpResponseRedirect('/dashboard') except jwt.ExpiredSignatureError: From c8f2eaf3fb3293daf3272065167a67f3e077cb17 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:32:28 +0500 Subject: [PATCH 045/447] Update views.py --- lms/djangoapps/univerapi/views.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 97a419201633..517b997e83dd 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -6,6 +6,7 @@ from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status +from student.models import UserProfile # Путь для Open edX SECRET_KEY = "$ecRet@3#$2958GPIs!1" @@ -34,6 +35,11 @@ def get(self, request): defaults={'email': f"{modified_uname}@kaznu.edu.kz"} ) + # Создаём или обновляем профиль + profile, _ = UserProfile.objects.get_or_create(user=user) + profile.name = uname # Заполняем поле name + profile.save() + # Обновляем пароль user.set_password(upwd) user.save() @@ -46,7 +52,7 @@ def get(self, request): # Логиним login(request, auth_user) - # Редиректим на дашборд + # Редирект на дашборд return HttpResponseRedirect('/dashboard') except jwt.ExpiredSignatureError: From eaf4defe9595fb0eddd9c07215054c3ab9c1f0d7 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:40:53 +0500 Subject: [PATCH 046/447] Update views.py --- lms/djangoapps/univerapi/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 517b997e83dd..31b8ab5e6e16 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -6,7 +6,8 @@ from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status -from student.models import UserProfile # Путь для Open edX +from openedx.core.djangoapps.user_api.models import UserProfile + SECRET_KEY = "$ecRet@3#$2958GPIs!1" From 4ce697dc3696b85a8d26a5e20812eef78ddd84ad Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:55:30 +0500 Subject: [PATCH 047/447] Update views.py --- lms/djangoapps/univerapi/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 31b8ab5e6e16..951059a347ca 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -6,8 +6,7 @@ from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status -from openedx.core.djangoapps.user_api.models import UserProfile - +from common.djangoapps.student.models import UserProfile SECRET_KEY = "$ecRet@3#$2958GPIs!1" From 6c01ea5c176ad6a3e852f92f490076dcb8b9e8f6 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 13:23:51 +0500 Subject: [PATCH 048/447] Update views.py --- lms/djangoapps/univerapi/views.py | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 951059a347ca..0e3718355415 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -1,4 +1,6 @@ import jwt +import random +import string from django.contrib.auth import login, authenticate from django.contrib.auth.models import User from django.http import HttpResponseRedirect @@ -28,31 +30,38 @@ def get(self, request): if not uname or not upwd: return Response({'error': 'Invalid token payload'}, status=status.HTTP_400_BAD_REQUEST) - modified_uname = uname.replace('.', '_') + # Генерация username с 3 случайными цифрами + base_username = uname.replace('.', '_') + random_digits = ''.join(random.choices(string.digits, k=3)) + final_username = f"{base_username}{random_digits}" - user, created = User.objects.get_or_create( - username=modified_uname, - defaults={'email': f"{modified_uname}@kaznu.edu.kz"} - ) + email_value = f"{base_username}@kaznu.edu.kz" + + # Проверка на существующего пользователя по email + user = User.objects.filter(email=email_value).first() + if not user: + user = User.objects.create( + username=final_username, + email=email_value + ) # Создаём или обновляем профиль profile, _ = UserProfile.objects.get_or_create(user=user) - profile.name = uname # Заполняем поле name + profile.name = uname profile.save() # Обновляем пароль user.set_password(upwd) user.save() - # Аутентификация - auth_user = authenticate(username=modified_uname, password=upwd) + # Аутентификация по email + auth_user = authenticate(request, username=email_value, password=upwd) if auth_user is None: return Response({'error': 'Authentication failed'}, status=status.HTTP_401_UNAUTHORIZED) # Логиним login(request, auth_user) - # Редирект на дашборд return HttpResponseRedirect('/dashboard') except jwt.ExpiredSignatureError: From 2565fdfa8e32021e49390f1fc3527cf6276151a1 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 13:52:36 +0500 Subject: [PATCH 049/447] Update views.py --- lms/djangoapps/univerapi/views.py | 43 +++++++++++++------------------ 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 0e3718355415..94be4f684ebb 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -1,6 +1,5 @@ -import jwt import random -import string +import jwt from django.contrib.auth import login, authenticate from django.contrib.auth.models import User from django.http import HttpResponseRedirect @@ -8,7 +7,7 @@ from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status -from common.djangoapps.student.models import UserProfile +from student.models import UserProfile # для Open edX SECRET_KEY = "$ecRet@3#$2958GPIs!1" @@ -30,36 +29,30 @@ def get(self, request): if not uname or not upwd: return Response({'error': 'Invalid token payload'}, status=status.HTTP_400_BAD_REQUEST) - # Генерация username с 3 случайными цифрами + # Формируем username с 3 случайными цифрами base_username = uname.replace('.', '_') - random_digits = ''.join(random.choices(string.digits, k=3)) - final_username = f"{base_username}{random_digits}" - - email_value = f"{base_username}@kaznu.edu.kz" + suffix = str(random.randint(100, 999)) + username = f"{base_username}{suffix}" + email_value = f"{username}@kaznu.edu.kz" - # Проверка на существующего пользователя по email - user = User.objects.filter(email=email_value).first() - if not user: - user = User.objects.create( - username=final_username, - email=email_value - ) - - # Создаём или обновляем профиль - profile, _ = UserProfile.objects.get_or_create(user=user) - profile.name = uname - profile.save() - - # Обновляем пароль + # Создаём пользователя + user = User.objects.create(username=username, email=email_value) user.set_password(upwd) user.save() - # Аутентификация по email - auth_user = authenticate(request, username=email_value, password=upwd) + # Создаём профиль + UserProfile.objects.create( + user=user, + name=username, + language='en', + country='KZ' + ) + + # Авторизация + auth_user = authenticate(username=username, password=upwd) if auth_user is None: return Response({'error': 'Authentication failed'}, status=status.HTTP_401_UNAUTHORIZED) - # Логиним login(request, auth_user) return HttpResponseRedirect('/dashboard') From 468bea6eb3988b41f412f4ec54ef52e1ab1a05cf Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 13:59:47 +0500 Subject: [PATCH 050/447] Update views.py From 556f408c8960cdbc7a5ff71b4156879e463e881a Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:02:16 +0500 Subject: [PATCH 051/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 94be4f684ebb..db65dd8e0862 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -7,7 +7,7 @@ from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status -from student.models import UserProfile # для Open edX +from common.djangoapps.student.models import UserProfile SECRET_KEY = "$ecRet@3#$2958GPIs!1" From b8a3945a78453e3cb599542201f4b8bf0ac0e9dd Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:14:05 +0500 Subject: [PATCH 052/447] Update views.py --- lms/djangoapps/univerapi/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index db65dd8e0862..279c00df7db6 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -31,8 +31,8 @@ def get(self, request): # Формируем username с 3 случайными цифрами base_username = uname.replace('.', '_') - suffix = str(random.randint(100, 999)) - username = f"{base_username}{suffix}" + + username = f"{base_username}" email_value = f"{username}@kaznu.edu.kz" # Создаём пользователя From d58d7e6bd768bf9a0cd089b6ff81aa1bd7bc203a Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:20:09 +0500 Subject: [PATCH 053/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 279c00df7db6..0509977693ed 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -29,7 +29,7 @@ def get(self, request): if not uname or not upwd: return Response({'error': 'Invalid token payload'}, status=status.HTTP_400_BAD_REQUEST) - # Формируем username с 3 случайными цифрами + base_username = uname.replace('.', '_') username = f"{base_username}" From 6a9a1714a27d872b1bf5cd452e86c177fe064964 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:22:04 +0500 Subject: [PATCH 054/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 0509977693ed..b07c240e478d 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -30,7 +30,7 @@ def get(self, request): return Response({'error': 'Invalid token payload'}, status=status.HTTP_400_BAD_REQUEST) - base_username = uname.replace('.', '_') + base_username = uname.replace('.', '_')+'.' username = f"{base_username}" email_value = f"{username}@kaznu.edu.kz" From 1b5bc670a8efe15837819a2243a593649bcff026 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:22:26 +0500 Subject: [PATCH 055/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index b07c240e478d..495bf17c7e17 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -30,7 +30,7 @@ def get(self, request): return Response({'error': 'Invalid token payload'}, status=status.HTTP_400_BAD_REQUEST) - base_username = uname.replace('.', '_')+'.' + base_username = uname username = f"{base_username}" email_value = f"{username}@kaznu.edu.kz" From ab0040ec7d66b75a628bf71bef2bd5db14527e26 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:52:58 +0500 Subject: [PATCH 056/447] Update views.py --- lms/djangoapps/univerapi/views.py | 42 ++++++++++++++++--------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 495bf17c7e17..460307c8a44f 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -1,7 +1,5 @@ -import random import jwt -from django.contrib.auth import login, authenticate -from django.contrib.auth.models import User +from django.contrib.auth import login, authenticate, get_user_model from django.http import HttpResponseRedirect from django.views.decorators.csrf import csrf_exempt from rest_framework.views import APIView @@ -10,6 +8,7 @@ from common.djangoapps.student.models import UserProfile SECRET_KEY = "$ecRet@3#$2958GPIs!1" +User = get_user_model() class UniverTestView(APIView): authentication_classes = [] @@ -22,6 +21,7 @@ def get(self, request): return Response({'error': 'Missing auth token'}, status=status.HTTP_400_BAD_REQUEST) try: + # Декодируем токен decoded = jwt.decode(auth_token, SECRET_KEY, algorithms=['HS256']) uname = decoded.get('uname') upwd = decoded.get('upwd') @@ -29,32 +29,34 @@ def get(self, request): if not uname or not upwd: return Response({'error': 'Invalid token payload'}, status=status.HTTP_400_BAD_REQUEST) - - base_username = uname - - username = f"{base_username}" + username = uname email_value = f"{username}@kaznu.edu.kz" - # Создаём пользователя - user = User.objects.create(username=username, email=email_value) - user.set_password(upwd) - user.save() + # Проверяем, есть ли пользователь с таким username + user = User.objects.filter(username=username).first() - # Создаём профиль - UserProfile.objects.create( - user=user, - name=username, - language='en', - country='KZ' - ) + if not user: + # Если нет — создаём нового + user = User.objects.create(username=username, email=email_value) + user.set_password(upwd) + user.save() - # Авторизация + # Проверяем, есть ли профиль + if not UserProfile.objects.filter(user=user).exists(): + UserProfile.objects.create( + user=user, + name=username, + language='en', + country='KZ' + ) + + # Аутентификация auth_user = authenticate(username=username, password=upwd) if auth_user is None: return Response({'error': 'Authentication failed'}, status=status.HTTP_401_UNAUTHORIZED) + # Логиним login(request, auth_user) - return HttpResponseRedirect('/dashboard') except jwt.ExpiredSignatureError: From 1c267fb0c8860134dffd124bdbf1ef4751d50405 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:01:49 +0500 Subject: [PATCH 057/447] Update views.py --- lms/djangoapps/univerapi/views.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 460307c8a44f..db37618b86d3 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -21,7 +21,6 @@ def get(self, request): return Response({'error': 'Missing auth token'}, status=status.HTTP_400_BAD_REQUEST) try: - # Декодируем токен decoded = jwt.decode(auth_token, SECRET_KEY, algorithms=['HS256']) uname = decoded.get('uname') upwd = decoded.get('upwd') @@ -32,30 +31,34 @@ def get(self, request): username = uname email_value = f"{username}@kaznu.edu.kz" - # Проверяем, есть ли пользователь с таким username + # Проверка пользователя user = User.objects.filter(username=username).first() if not user: - # Если нет — создаём нового + # Создание нового user = User.objects.create(username=username, email=email_value) user.set_password(upwd) user.save() - # Проверяем, есть ли профиль - if not UserProfile.objects.filter(user=user).exists(): - UserProfile.objects.create( - user=user, - name=username, - language='en', - country='KZ' - ) + UserProfile.objects.get_or_create( + user=user, + defaults={ + 'name': username, + 'language': 'en', + 'country': 'KZ' + } + ) + else: + # Обновление пароля, если он другой + if not user.check_password(upwd): + user.set_password(upwd) + user.save() - # Аутентификация + # Авторизация auth_user = authenticate(username=username, password=upwd) if auth_user is None: return Response({'error': 'Authentication failed'}, status=status.HTTP_401_UNAUTHORIZED) - # Логиним login(request, auth_user) return HttpResponseRedirect('/dashboard') From a014e36215f1776c3512c3561ca5a138dac7bae2 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:25:27 +0500 Subject: [PATCH 058/447] Update views.py --- lms/djangoapps/univerapi/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index db37618b86d3..7b860768ea0a 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -44,8 +44,11 @@ def get(self, request): user=user, defaults={ 'name': username, - 'language': 'en', 'country': 'KZ' + 'gender': 'f', + 'level_of_education': 'b', + 'year_of_birth': '2002', + } ) else: From a8b1c038913e245bbc28522a229b4a780710fd3b Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:26:59 +0500 Subject: [PATCH 059/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 7b860768ea0a..5af6185fe61a 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -44,7 +44,7 @@ def get(self, request): user=user, defaults={ 'name': username, - 'country': 'KZ' + 'country': 'KZ', 'gender': 'f', 'level_of_education': 'b', 'year_of_birth': '2002', From 14c4d2d4283fb4d9f3d1e73ff3e44a60c7f4fa8f Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:37:20 +0500 Subject: [PATCH 060/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 5af6185fe61a..d622d7481c67 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -47,7 +47,7 @@ def get(self, request): 'country': 'KZ', 'gender': 'f', 'level_of_education': 'b', - 'year_of_birth': '2002', + 'year_of_birth': 2002, } ) From 528700bca59d5738892898eccd05b008da350869 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:14:28 +0500 Subject: [PATCH 061/447] Update views.py --- lms/djangoapps/univerapi/views.py | 104 ++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index d622d7481c67..ac491e6e5558 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -6,6 +6,7 @@ from rest_framework.response import Response from rest_framework import status from common.djangoapps.student.models import UserProfile +import requests SECRET_KEY = "$ecRet@3#$2958GPIs!1" User = get_user_model() @@ -71,3 +72,106 @@ def get(self, request): return Response({'error': 'Invalid token'}, status=status.HTTP_401_UNAUTHORIZED) except Exception as e: return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + + +def decode_token_and_fetch_profile(token, secret_key='$ecRet@3#$2958GPIs!1'): + try: + decoded = jwt.decode(token, secret_key, algorithms=['HS256']) + except jwt.InvalidSignatureError: + raise SystemExit("Ошибка: неверная подпись JWT") + except jwt.DecodeError as e: + raise SystemExit("Ошибка при декодировании JWT: {0}".format(e)) + + uname = decoded.get('uname') + upwd = decoded.get('upwd') + if not uname or not upwd: + raise SystemExit("Ошибка: в токене нет 'uname' или 'upwd'") + + session = requests.Session() + resp = session.post( + "https://univerapi.kaznu.kz/user/loginMoodle", + data={'login': uname, 'password': upwd}, + ) + resp.raise_for_status() + data = resp.json() + if data.get('code') != 0: + raise SystemExit("loginMoodle вернул: {0}".format(data.get('message', ''))) + + # Сначала пробуем получить профиль студента + student_resp = session.get("https://univerapi.kaznu.kz/student/profile") + student_data = None + if student_resp.status_code == 200: + try: + student_data = student_resp.json() + except: + pass + + # Если данные студента получены успешно + if student_data and student_data.get('code') == 0 and 'data' in student_data: + info_list, personal_list = student_data['data'] + + def find_value(lst, key): + for d in lst: + if key in d and ':' in d[key]: + return d[key].split(':', 1)[1].strip() + return None + + surname = find_value(personal_list, 'sname') + name = find_value(personal_list, 'name') + + raw_sex = find_value(personal_list, 'sex') or '' + if isinstance(raw_sex, bytes): + raw_sex = raw_sex.decode('utf-8') + raw_sex = raw_sex.lower() + + if u'муж' in raw_sex: + gender = 'm' + elif u'жен' in raw_sex: + gender = 'f' + else: + gender = 'o' + + raw_stage = find_value(info_list, 'stage') or '' + if isinstance(raw_stage, bytes): + raw_stage = raw_stage.decode('utf-8') + raw_stage = raw_stage.lower() + + if u'бакалав' in raw_stage: + stage = 'b' + elif u'магис' in raw_stage: + stage = 'm' + elif u'доктор' in raw_stage: + stage = 'p' + else: + stage = 'none' + + # Установка дефолтного года рождения для студента + birth_year = 1995 + return surname, name, gender, stage, birth_year + + # Если не удалось получить данные студента, пробуем профиль преподавателя + teacher_resp = session.get("https://univerapi.kaznu.kz/teacher/profile") + if teacher_resp.status_code >= 500: + raise SystemExit("teacher/profile 500:\n{0}".format(teacher_resp.text)) + teacher_resp.raise_for_status() + teacher_data = teacher_resp.json() + + if teacher_data.get('code') != 0 or 'data' not in teacher_data: + raise SystemExit("Не удалось получить данные ни студента, ни преподавателя") + + + teacher_profile = teacher_data['data'][0] + surname = teacher_profile.get('sname', '') + name = teacher_profile.get('name', '') + gender = 'o' + stage = 'none' + + + birth_year = None + if 'dateOfBirth' in teacher_profile: + try: + birth_year = int(teacher_profile['dateOfBirth'].split('.')[-1]) + except (ValueError, IndexError): + pass + + return surname, name, gender, stage, birth_year From 6507509e0b703e9354c07e43ec3dffa7b9cbb941 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:38:51 +0500 Subject: [PATCH 062/447] Update views.py --- lms/djangoapps/univerapi/views.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index ac491e6e5558..61b2f4153050 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -31,6 +31,7 @@ def get(self, request): username = uname email_value = f"{username}@kaznu.edu.kz" + surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(auth_token) # Проверка пользователя user = User.objects.filter(username=username).first() @@ -44,16 +45,17 @@ def get(self, request): UserProfile.objects.get_or_create( user=user, defaults={ - 'name': username, + 'name': name, 'country': 'KZ', - 'gender': 'f', - 'level_of_education': 'b', - 'year_of_birth': 2002, + 'gender': gender, + 'level_of_education': stage, + 'year_of_birth': birth_year, + 'mailing_address': 'Kaznu', } ) else: - # Обновление пароля, если он другой + if not user.check_password(upwd): user.set_password(upwd) user.save() From 26b244185837f18a96040ff7aa3fe09d05063550 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:42:15 +0500 Subject: [PATCH 063/447] Update views.py --- lms/djangoapps/univerapi/views.py | 157 ++++++++++++++++-------------- 1 file changed, 84 insertions(+), 73 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 61b2f4153050..021efa44ec3a 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -1,4 +1,5 @@ import jwt +import requests from django.contrib.auth import login, authenticate, get_user_model from django.http import HttpResponseRedirect from django.views.decorators.csrf import csrf_exempt @@ -6,11 +7,11 @@ from rest_framework.response import Response from rest_framework import status from common.djangoapps.student.models import UserProfile -import requests SECRET_KEY = "$ecRet@3#$2958GPIs!1" User = get_user_model() + class UniverTestView(APIView): authentication_classes = [] permission_classes = [] @@ -31,35 +32,60 @@ def get(self, request): username = uname email_value = f"{username}@kaznu.edu.kz" + + # Получаем данные профиля из Univer API surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(auth_token) # Проверка пользователя user = User.objects.filter(username=username).first() if not user: - # Создание нового + # Создание нового пользователя user = User.objects.create(username=username, email=email_value) user.set_password(upwd) user.save() - UserProfile.objects.get_or_create( + UserProfile.objects.create( user=user, - defaults={ - 'name': name, - 'country': 'KZ', - 'gender': gender, - 'level_of_education': stage, - 'year_of_birth': birth_year, - 'mailing_address': 'Kaznu', - - } + name=f"{name} {surname}", + country='KZ', + gender=gender, + level_of_education=stage, + year_of_birth=birth_year, + mailing_address='Kaznu' ) else: - + # Обновляем пароль при изменении if not user.check_password(upwd): user.set_password(upwd) user.save() + # Проверка и обновление профиля + profile, created = UserProfile.objects.get_or_create(user=user) + updated = False + + if profile.name != f"{name} {surname}": + profile.name = f"{name} {surname}" + updated = True + if profile.gender != gender: + profile.gender = gender + updated = True + if profile.level_of_education != stage: + profile.level_of_education = stage + updated = True + if profile.year_of_birth != birth_year: + profile.year_of_birth = birth_year + updated = True + if profile.country != 'KZ': + profile.country = 'KZ' + updated = True + if profile.mailing_address != 'Kaznu': + profile.mailing_address = 'Kaznu' + updated = True + + if updated: + profile.save() + # Авторизация auth_user = authenticate(username=username, password=upwd) if auth_user is None: @@ -76,16 +102,17 @@ def get(self, request): return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) -def decode_token_and_fetch_profile(token, secret_key='$ecRet@3#$2958GPIs!1'): +def decode_token_and_fetch_profile(token, secret_key=SECRET_KEY): + """Декодирование токена и получение профиля пользователя с Univer API""" try: decoded = jwt.decode(token, secret_key, algorithms=['HS256']) except jwt.InvalidSignatureError: raise SystemExit("Ошибка: неверная подпись JWT") except jwt.DecodeError as e: - raise SystemExit("Ошибка при декодировании JWT: {0}".format(e)) + raise SystemExit(f"Ошибка при декодировании JWT: {e}") uname = decoded.get('uname') - upwd = decoded.get('upwd') + upwd = decoded.get('upwd') if not uname or not upwd: raise SystemExit("Ошибка: в токене нет 'uname' или 'upwd'") @@ -97,78 +124,62 @@ def decode_token_and_fetch_profile(token, secret_key='$ecRet@3#$2958GPIs!1'): resp.raise_for_status() data = resp.json() if data.get('code') != 0: - raise SystemExit("loginMoodle вернул: {0}".format(data.get('message', ''))) + raise SystemExit(f"loginMoodle вернул: {data.get('message', '')}") - # Сначала пробуем получить профиль студента + # Профиль студента student_resp = session.get("https://univerapi.kaznu.kz/student/profile") - student_data = None if student_resp.status_code == 200: try: student_data = student_resp.json() + if student_data.get('code') == 0 and 'data' in student_data: + info_list, personal_list = student_data['data'] + + def find_value(lst, key): + for d in lst: + if key in d and ':' in d[key]: + return d[key].split(':', 1)[1].strip() + return None + + surname = find_value(personal_list, 'sname') + name = find_value(personal_list, 'name') + + raw_sex = (find_value(personal_list, 'sex') or '').lower() + if u'муж' in raw_sex: + gender = 'm' + elif u'жен' in raw_sex: + gender = 'f' + else: + gender = 'o' + + raw_stage = (find_value(info_list, 'stage') or '').lower() + if u'бакалав' in raw_stage: + stage = 'b' + elif u'магис' in raw_stage: + stage = 'm' + elif u'доктор' in raw_stage: + stage = 'p' + else: + stage = 'none' + + birth_year = 1995 + return surname, name, gender, stage, birth_year except: pass - - # Если данные студента получены успешно - if student_data and student_data.get('code') == 0 and 'data' in student_data: - info_list, personal_list = student_data['data'] - - def find_value(lst, key): - for d in lst: - if key in d and ':' in d[key]: - return d[key].split(':', 1)[1].strip() - return None - - surname = find_value(personal_list, 'sname') - name = find_value(personal_list, 'name') - - raw_sex = find_value(personal_list, 'sex') or '' - if isinstance(raw_sex, bytes): - raw_sex = raw_sex.decode('utf-8') - raw_sex = raw_sex.lower() - - if u'муж' in raw_sex: - gender = 'm' - elif u'жен' in raw_sex: - gender = 'f' - else: - gender = 'o' - - raw_stage = find_value(info_list, 'stage') or '' - if isinstance(raw_stage, bytes): - raw_stage = raw_stage.decode('utf-8') - raw_stage = raw_stage.lower() - - if u'бакалав' in raw_stage: - stage = 'b' - elif u'магис' in raw_stage: - stage = 'm' - elif u'доктор' in raw_stage: - stage = 'p' - else: - stage = 'none' - - # Установка дефолтного года рождения для студента - birth_year = 1995 - return surname, name, gender, stage, birth_year - - # Если не удалось получить данные студента, пробуем профиль преподавателя + + # Профиль преподавателя teacher_resp = session.get("https://univerapi.kaznu.kz/teacher/profile") - if teacher_resp.status_code >= 500: - raise SystemExit("teacher/profile 500:\n{0}".format(teacher_resp.text)) teacher_resp.raise_for_status() teacher_data = teacher_resp.json() - + if teacher_data.get('code') != 0 or 'data' not in teacher_data: raise SystemExit("Не удалось получить данные ни студента, ни преподавателя") - - teacher_profile = teacher_data['data'][0] + teacher_profile = teacher_data['data'][0] surname = teacher_profile.get('sname', '') name = teacher_profile.get('name', '') - gender = 'o' - stage = 'none' - - + gender = 'o' + stage = 'none' + birth_year = None if 'dateOfBirth' in teacher_profile: try: From 4adb761ec96ac6c00af8cae94613af2fdbb1fe77 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 17:01:54 +0500 Subject: [PATCH 064/447] Update views.py --- lms/djangoapps/univerapi/views.py | 65 ++++++++++++++++--------------- 1 file changed, 34 insertions(+), 31 deletions(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 021efa44ec3a..9ab21acb9a73 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -101,7 +101,6 @@ def get(self, request): except Exception as e: return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) - def decode_token_and_fetch_profile(token, secret_key=SECRET_KEY): """Декодирование токена и получение профиля пользователя с Univer API""" try: @@ -126,20 +125,20 @@ def decode_token_and_fetch_profile(token, secret_key=SECRET_KEY): if data.get('code') != 0: raise SystemExit(f"loginMoodle вернул: {data.get('message', '')}") - # Профиль студента - student_resp = session.get("https://univerapi.kaznu.kz/student/profile") - if student_resp.status_code == 200: - try: + def find_value(lst, key): + for d in lst: + if key in d and ':' in d[key]: + return d[key].split(':', 1)[1].strip() + return None + + # 1. Пробуем студентский профиль + try: + student_resp = session.get("https://univerapi.kaznu.kz/student/profile") + if student_resp.status_code == 200: student_data = student_resp.json() if student_data.get('code') == 0 and 'data' in student_data: info_list, personal_list = student_data['data'] - def find_value(lst, key): - for d in lst: - if key in d and ':' in d[key]: - return d[key].split(':', 1)[1].strip() - return None - surname = find_value(personal_list, 'sname') name = find_value(personal_list, 'name') @@ -163,28 +162,32 @@ def find_value(lst, key): birth_year = 1995 return surname, name, gender, stage, birth_year - except: - pass + except: + pass - # Профиль преподавателя - teacher_resp = session.get("https://univerapi.kaznu.kz/teacher/profile") - teacher_resp.raise_for_status() - teacher_data = teacher_resp.json() - - if teacher_data.get('code') != 0 or 'data' not in teacher_data: - raise SystemExit("Не удалось получить данные ни студента, ни преподавателя") + # 2. Пробуем профиль преподавателя + try: + teacher_resp = session.get("https://univerapi.kaznu.kz/teacher/profile") + if teacher_resp.status_code == 200: + teacher_data = teacher_resp.json() + if teacher_data.get('code') == 0 and 'data' in teacher_data: + teacher_profile = teacher_data['data'][0] + surname = teacher_profile.get('sname', '') + name = teacher_profile.get('name', '') + gender = 'o' + stage = 'none' + birth_year = None + if 'dateOfBirth' in teacher_profile: + try: + birth_year = int(teacher_profile['dateOfBirth'].split('.')[-1]) + except (ValueError, IndexError): + pass + return surname, name, gender, stage, birth_year + except: + pass - teacher_profile = teacher_data['data'][0] - surname = teacher_profile.get('sname', '') - name = teacher_profile.get('name', '') - gender = 'o' - stage = 'none' + + return "Сотрудник", "Казну", "o", "none", 1995 - birth_year = None - if 'dateOfBirth' in teacher_profile: - try: - birth_year = int(teacher_profile['dateOfBirth'].split('.')[-1]) - except (ValueError, IndexError): - pass return surname, name, gender, stage, birth_year From 476f83d3354b4664c9057a036cc23bb7fe19470e Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 17:06:01 +0500 Subject: [PATCH 065/447] Update views.py --- lms/djangoapps/univerapi/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 9ab21acb9a73..19a7683618e4 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -52,7 +52,8 @@ def get(self, request): gender=gender, level_of_education=stage, year_of_birth=birth_year, - mailing_address='Kaznu' + mailing_address='Kaznu', + goals='Цель обучаться на платформе ОпенКазну' ) else: # Обновляем пароль при изменении From f0c7bdb9e0484cdaae0b63f2c1097e6f8e2d9c10 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 17:24:11 +0500 Subject: [PATCH 066/447] Update views.py --- lms/djangoapps/univerapi/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/univerapi/views.py b/lms/djangoapps/univerapi/views.py index 19a7683618e4..a58bd64c06a6 100644 --- a/lms/djangoapps/univerapi/views.py +++ b/lms/djangoapps/univerapi/views.py @@ -31,7 +31,7 @@ def get(self, request): return Response({'error': 'Invalid token payload'}, status=status.HTTP_400_BAD_REQUEST) username = uname - email_value = f"{username}@kaznu.edu.kz" + email_value = f"{username}@open.edu.kz" # Получаем данные профиля из Univer API surname, name, gender, stage, birth_year = decode_token_and_fetch_profile(auth_token) From 5f9a5f03656a4884d072117a0c6cae05f2b1e43d Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 13 Aug 2025 17:47:21 +0500 Subject: [PATCH 067/447] Update navbar-not-authenticated.html --- lms/templates/header/navbar-not-authenticated.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/templates/header/navbar-not-authenticated.html b/lms/templates/header/navbar-not-authenticated.html index b50e535acda6..d2f11ee740e3 100644 --- a/lms/templates/header/navbar-not-authenticated.html +++ b/lms/templates/header/navbar-not-authenticated.html @@ -54,13 +54,13 @@ % else: % endif % endif % if should_redirect_to_authn_mfe: % else:
+ From af0a8baef5738e1d318901ea5d50b02714311a84 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 14 Aug 2025 09:42:09 +0500 Subject: [PATCH 074/447] Update main.html --- lms/templates/main.html | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lms/templates/main.html b/lms/templates/main.html index 1a11900dae58..59fb1eb2ef10 100644 --- a/lms/templates/main.html +++ b/lms/templates/main.html @@ -33,6 +33,7 @@ + ## Define a couple of helper functions to make life easier when ## embedding theme conditionals into templates. All inheriting @@ -132,7 +133,15 @@ ${render_require_js_path_overrides(settings.REQUIRE_JS_PATH_OVERRIDES) | n, decode.utf8} - <%block name="headextra"/> + <%block name="headextra"> + + + <%block name="head_extra"/> <%include file="/courseware/experiments.html"/> @@ -211,7 +220,7 @@
<%block name="marketing_hero">
-
+
${next.body()} <%block name="bodyextra"/>
@@ -248,3 +257,7 @@ next=quote_plus(login_redirect_url if login_redirect_url else request.path) ) if (login_redirect_url or (request and not request.path.startswith("/logout"))) else "" } + + From 8ede77fd2842849bddbc89043b3881c7eb9bc025 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 14 Aug 2025 09:51:29 +0500 Subject: [PATCH 075/447] Delete lms/static/images/favicon.ico --- lms/static/images/favicon.ico | Bin 30237 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lms/static/images/favicon.ico diff --git a/lms/static/images/favicon.ico b/lms/static/images/favicon.ico deleted file mode 100644 index 0347608a33d73a38c7164dd1c22c32070dae19c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30237 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 From f2d387824ae7b4f304bf1d097a7efd313e592934 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 14 Aug 2025 09:51:41 +0500 Subject: [PATCH 076/447] Delete lms/static/images/logo.png --- lms/static/images/logo.png | Bin 570 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lms/static/images/logo.png diff --git a/lms/static/images/logo.png b/lms/static/images/logo.png deleted file mode 100644 index 640d80b956fbdb853b87fd46b07021ea0bce9089..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570 zcmV-A0>%A_P)KN!7KaD?C=9oR*#kqdJXxJy5+aJ zN$}Eq-I7*C%eJRI{g5@$Pwfx>a2`i*f}#UH8V-+(U}h44%5}|k!J)>z80ZQ zZu(WJnaT1q-0+#LzX3;v$xY-ll2SBj&>%IkHZ_xxO!;a*`8o24#HrBmPH4nI4hhqJ zkFW90GUSu0((tKpJT;ROdb6=J9#2V}G7Vo!c5py`Mz%A7VRb4k zN_%MCcZ4-2&>kvhfn+xegf8ZQ%>8BNg4$Txn=6dwT8FvjYH$3AHo(AuW?_UiHsl*y zgUl_8rdMhE$A<4e$H*c69AoTYW$dJ9_2_B;ENuU9Zr}df3pa*~ox1}TI{*Lx07*qo IM6N<$g23(!@&Et; From 435fc8126f7c0c953015476a4240fa1b0ca9bee4 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 14 Aug 2025 10:00:23 +0500 Subject: [PATCH 077/447] Add files via upload --- lms/static/images/favicon.ico | Bin 0 -> 200635 bytes lms/static/images/logo.png | Bin 0 -> 2221837 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 lms/static/images/favicon.ico create mode 100644 lms/static/images/logo.png diff --git a/lms/static/images/favicon.ico b/lms/static/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c9feabafecc0f27ff138aafeb3e22533003708ce GIT binary patch literal 200635 zcmeFa2e_TZb??1hV#n7>?0mU5ah#jazRCTbC*{T=#*S^k1`MY6BAxy2qb^Z|5E23j zB-DHF74?qjMf4&Ny*JYl0?~UF>ht}7|M#8u?6XhNIXaR|a&w+%&ffbiGi%nYS#8#= zDHOg|_)g*b-!JI%$AvS#St!gX6be81LHc{tcM63ay7uEAr@vR~xeDD1OO_WS=U z6n^rfLgAo;(%=8^+d|=)Lkoo?j>z6WMemO&6xz4Xo}Z@oUn~>`4a%PX+Uao4 z9m#}Se^BZ^{Gw8^!}iiqhle)0-|xcSVdl6C!kn?^hB;%hqVHVm*SAk-qxwt79T!T) zj@wJ!hxILW?)4;nO9b=zU6OF!px=d?1{@Hs8hmuPeCUbciXkV2tM&b6UE|*Qr?>I5 zrBjNb)al$Ogy%0yr&NVR{hoM!G2A)u-^1%}_sB!TokM;d9-Dur@6G6QYC0~w z!@HD|bnVzfWh(=BIjp-*89&pM~eI z8R^1zu5r)pA1nMHud(#|XYVMr61|;xN|F=|2t#cdEA8kX2yek;0MVHlw z{#rEA!L*xHwGYY38q+psgwjz*ghcd~XijKiY22#x>;Zvy41YV}|Ado5^$~}9OskJM zDpU)XrQ{ zKCr8w@ENhXg4mh)kLwZ7tK>7ju76dFUnvw9JXa{Lc(ah4JGM}DQ}|vo>Y8K4cV?AN z>+`tA!`$Cp0UUGcvm%<+vr{AZ#t}aj~ zf3EwYxrJox4SfG=!8BX%ZA|M^9n2xdk#S{=juW3@455`%leC?p+OBH*MbcyRbk*@! z$=KEKP1jwV`5?Ru-2AB2b-)d#>FU!xSE~;{IOSWSjpXQ~J^zy<4-d&vYU{|uLN(>U zpQY`!JyY#zKAhSAI^pPVlZm$p9}lEBzw-0%i)UTox}injRh^!X;?tcwpB2vU)iVsb zpu5UB;rw%Zgic+~GEJ8bIl%Q-ANjjb;$7P4He^-t>M#F{vFIQiiI4YD-8(dXqG9pk zqmK~%AFevi4*f@r3gae@4l~C03$w=cap61HxW_Z4BUCr|qO?)pPc7|8`d!?s9r&O3 z^gl^Pyi}?_EmR+MnDDLntGU(X>kwv->>e%|UJNUTCt=0#QbkFx zagS$smUoa}jEVVy>Xf`2Q0g}Le$xtkNBk-|=IAh@?^)t=KM!|^udV6#Z!h8byJ!{Z?k|iINL@yps;iYY>s<3!)67EpFxA%i5 z?;BPRIz;m5c$X`O94onWlw`|qe2-^%mUnm;8g_vOJN5iXb8(x;1UeV*?pWP6TsHWG zuvT(r?TACdZIW5E0iXAGx0&*7ey<&IXjnV!H-4vMwdNc2p?Tcgnyh&{__QGE$ z@#4z|A0O@-yuW17AjzK#!<~ZCHE_c-jB#E+ zGUeEapBngGzi2Dshj${*?;dryW%ibhpSqp*p1m`0&EuhQ$?I?1K9qnT8m)leV^WTv ztp3=>J!6gv@4s-b3*Tei+^fTb+}>B!Qpz*eXTO^x0+Wf71w!| zcX+oX*v;!yr|WO0F*vPHCNJ8C>b7TuGrOD?x^?c*K9F61MEy-dBZ{pF1r_cR%Kj|yKOLZRUJ+#Zc>I3#kKY#lx(aAx!52}wi z#PZYfj5<`8^pzBTbQ;=%-xUQ1u%vQ3`>x;d`so*LE1l7In}2i7*Tob3PWCR>sEaz= zp1DIZd5h$lbg8b5mF=Z2=Y5=vymAsn_J?#8=_!r9qdJAVt!oP3C=8N@w5R^i!+xxC zkP3F7|6~9*q=%&sr2o-viVL4F6qmhLNQPZnsCqbjx47WB{gW}*^-nIGbwlawVK0kL zKbMTz?!tFn)4kQn=xh5*{{OP|li@qkw_Jzo%Jio4b}GNSUE033 zq}3Yt_oScfuspz4$@Mpl8Q-~vtl*h8r@xz=H}UFZ@|spvw@OExcx$2RsxPcpRV}Hl zBSsjwUR?B&bjdfcL%&v>{n(*u_ZHFTmQ**8j?=kUIycbkk=w{V3T<<(Lw9UA&lkUQ zYH_pRxS=@vQBkh!W9hiGQ3(TjYjNQVDSUT?|CWrszOUx!2bSINn~ptG-Cy$}>MG0) z&snu?eNZ}tKW!%no=$ov^1pUxy{EA|uj=mbopfwpD70FX;-N^}l%=m0s%{8>mJC}p zO?JjM_wTd|+&AX6c{egtJjOOTdLQ^^E~5+Tp7|rZAe-}+xu;9V0#~P0ZB2%*oG6|B zPiTua-EYQw<=cg-`@*-A5tmOAK6iLt3fIUU^Azzk^8k2=_)Htgj1HxCp>u~Wp>xO6 z{JqWbvH^kRpnn%H`B(EU!-W0~E|}{low8jtIi~9I@U7w{@22>^^0PvleSa)n`;M;C z#W&k8(NVqucp|(l_6zwU-rRNQ%rI=s=rC>Uh4KgVaN#@Gx(=Bcs!tdHMphuN4L^KQ zbuotcJX*KiB--vGU9C`c?N;WQ&`kB=qF4L`r(a;1 zELxayatL29E`NO=@sbUtQ(7bULiPSXNo5th|Kw9c?{Ra~=K*2H*bCflefQ$8P$jEC*I!GcC~o*t7`ivva$LJz8&J@DSU#_^XTCH!nu71h1G)(54ZIH zrOK~dZj$fiM)_jUlkw}^ApgS6{rAg1<8!>jyXW>DXxW_dCXFe!JaY8JledcwE=UF} zyw$kZT(d4Jxocfmv^RT1x6J>6-i$uAuWW+D!lgq`wqAnne#x*Z>F>vd1*6UoeEa!1 zo~7U)nLR={Rb7^`(vO%Q=@`gv9I)UP`S9NGJeADHXJOhC&7Icm{BYIKW7TG=Psa9F z4?5I#$g&ab?8{mqTZe1dJh%4$MXmOE_iEK~y6R$1m|wx4&@VKv)b{JLZ8zC=q~GWu z*h0TMDD>=eQMhT)fwFPr|Dr#c{czhwKMyXt&gZSdGxz!K=gOYtUFx8&&2S?- zEWNg`pSfrBk@m0g?k%Db>Pik1{hJ3#ULY&b-)P(I>pRyhOXSb{?f!ZD^!uS1)d4%? z_p2_l&2wAdeZn0Bei~P}`0VW$ z^=y~i4yb8gJWzV7ZJ7Gn$IfPM2nWgGht_J}<0}~OV{ZKDP1`d3d-d+6DQ+IRGHl)S zdHC|9x58t3rrZXpX9-z~a8RlB<5kB8QK61r14p_}>v8C6*ihy4 zr}0R7jZgI?^jFz|?avt$&hBx()=tg~-OuUeHI(k>oSXgDC)e`p+4su(dY3w=i#n|v zOBZun(7+jG^G`Uj-iDor?^3!`Nw#9?z@LW%zl7k%&s93`-|h1(iAItmbX~j(e4(q@ z|0&%wfrjL7;92`A(ZznVZ)%51H>?-`!iQ~bc%Yswojufgf^BACl}?D<_PuU{gZ!qZ zqw0fYlVUeww@bJ1@9x9(yLW2C0&~~?Y1`C|4G!+h@t^&!R$o$E_or$7=tJoI@TA^T z%)6?8y-$$uFqF<2k=DQezgQ3Veffov@3zf>L2FaCA>6*~YvGYL>TkbIsNV1Yr1}^A zr%%$!Y}fxr@JNrW)+fb&OU)tIr}o_^<`#N4`UN($aAtbOPSM=94*=axZCKux_n&n> zd=I&gTrvtdg?(Y4x%eh}YxbRc{LZhHf9DzAjV1oh>p3>1McRb^&b(;5Z5#C6T5AE4 z2aWxfZIuka>|F|WR-?~W)}yxErrJ&hE#0iXZt;eaMP;bnkIJbD5sK zNbek0wR-yx`lu!Q2UKT*&8kwh=;b=?@9Krts>`-Hbz>jTd8|;iddK&R%QhUPwWk@$ z;N?$>Cw(fv+z#t8*yPyR`1Rmz6uxtfd*XpSt9L$01}}T8IQ`zqs_S=EH-XN#U{lLlP##V zij>#EPx;O@?!iyseY~T0ts8Y4{JH!~x5-!1w(7d=-!CqBR&8!@+ijP;)$Bgx{s;UY zf?d9%ZxxrWKPefr`fl;_ZP^YLaA)PrvQ({X2FMz?#3EE*N~x-AIbTX zCF{odUE5#CHrDP=>%B#|xlQAIwEQ05bRU30INYz>lqU5fhkf}Qj=Lyc_R;@aocYi! zt?_FN6Y+X{C&(!2X!w5d>zK!?KggHTIU}tj z87Ii39-}|eI_0F|6`%f)*pJ+&(twXGcC5HGoj*ljpY@3RVsGsypVxh&*9_m1-D*p| zGs}t;X2FB(L+;?y5uPo7kgu$9(m#C5tY4zvNCs6)cfdDi+@tqM=6L)hJL7oJrpEiu z;>x#v=6SL5t$ZFvc*{Q{f06H?kc__xx;aKXW1Vpe&IL=-cUIay`kY|4d~Bz+2y|a` z1oRnfa%_?4J4E-D?&q=S(mNd|#s$4l>zmd1#TlLpcA`Z=@rm;NgYP7vp}zMFo~vzQymX7mD{1s6Qeye1BUxzTM=Aic=y2XB zm64%ck0J8$o$q_rDOr1=Kfn$A8Uxls;@BByYLm9DyU~XsD_#&S{oF8W9#m;g^Oye4 zc;sat{wNuD)BVmKN!#U}CC}Setm0U30wh6F_Pkk&Nb9kzAz%SPqs;=4m zXIj&^#qwWxkj`SA*!%<;gpHEVdlc$6cQ+BQJE_F~Bb(+s& zn-Tjao{BCDEzveGnO|drO}c%xbQt;jQ$0*``$Wm7O&%lcCF~N`{lGW=VaZg}rpCD_ z-rsNf(y(M?r?6y12Yq(b=Pnk%OC9oMtIpzilhQUV>%=FJC&(V=w_w6{14h|V8wK+* zUbDGVy214OSERf|wr0PJQ$7h#hCk2`wV@oMN zg1-R+av9iI$CXYZ-Em3PgPI4IfBY}Wpe3)_wnkn`-!i=LcVvs;cAw?{?>=^6xOVUn zwS2$jewA{cNZs$LpSs*nTKnCfx^CJaM$+>E82FBV8ksHF%s)g2l27Zk9{5k1$7d*p zX)ArSUckCBeZ+6Xx|?DSJr3s#3$w=dR_scR-@3eg{KTt%?ZJeXH$%qb};6HTL{at+s3r<2M2hWHs_fumK~miYILm>|Kf%Ke5?JnA-jfz}NgZkzV!jqWD+4)q!UYc9Zj>9AA7!cnK$CqH@oAosD{ zcVCVJ`b8VG<+UpG4CFL406mMA3?n{c$)Dn!#}^hS-}$K51~liSd; zRCNf$CQJ51?V^7-{KOi~9euXt)wNpFSTwSW`*ZVv{ln}ry&Q|w5dLGG!_`)z z7&`M0^g#Rtz@m9*ofrQH{>;g19+AHNuGcBC^Us!?M<0am(r3wS^DoH{#+A5|*hb|i z^Z{+K?yy?1xbZvjy*CcjdWCSyc(5i^`EL1d+L%4|yp#t*^XL`$5zudup@NaPI`?Jt zwfGq}S>J%ivsQ#IiBGMgWC*sB_;1_u#)c)MI;ZfnCZSU4j|PT_S3b+X*UZ_PHI8za zT~}5wu}`!`o7N-1p=j7TEd9ZbL!L?p(31ta&w}F|pUFiK(*-OkD!~fIJuFu4< zVq{y#o!v3u7mB%RAMT%gO0aJ^TmLDCr_T3=p5eO61Bw$Pj*Gg1pSEbzx`1St^&|KS zu(8&UPfC3e?AvO?uj|CF;D^FzhaRO;13!M@eYIwEczE@$Md78JrlxUM73)WaU(d0w z#2U`p;lHg-GrspzuRXnd%k=Q-+9m!@-SD7V@QZHb14>~AHt>wUvJ!sQ9>G8In^-K? z_|X}}t7^e7I$^x;8GE#2-adK#_v!kR)|h~od#r!mC77RD-aEYU;1%KFneB3Vx%SP1OFu9PI3#K6#u03hMcw=gP$=H-?goRE?9|w!4H0E@7{68 zh7VtUC~V)hHN2;oKGu=$n{YyS;kt3*<5!;u+qP^D>+f3Vbu8e%W8g2nmh=7#_k``+ zxA|S_h_F*{ZTL0*=n%*t@f*_y^wSvp=*!4#bXq7d2C(#c! z332|?o3!`Aa~-*u{T%%Oz$87OQT%7~*K!N_g^#Qe`iWx@`|!}rwu1L%(fuaF z&Ai}m$BuMG@iX1?T#oD8Wq6Nu)!;wnpV78Xbz#|>JL5mhUu<*yHu8hi$A4m5m7mPR zM=tIZzIgA|9PS7^*I27ApR1Mc^Sc)O&_6zU;(fF(03GcV|L|D+eXObOWd7FIKJc*z zXXA%&xDWi}JJ)swd%f_Beyl&kf6zf2o4?QxwhBBK-wgV{XmDrrU)c}fd}48T&spZ} z6N}Gj66|&0$H$WSW~_g*rqvYs!A~L`&hl#);CFw-GoM)8Lvai}EVC>7*wF7<^uzp> z-e7qeb@`p)ADx?L&ghr=cy<+j=BE1KQqMeXGW_Vy*z?!{*ugu4pD{y*;p5@6jQ=#I zKi3aWTwAY^7xh0^bDuU=jA&z;rEU9zY=?`UcSb*%ug!i8d_UMRin(dmcY0Vd`ZTTC z9}sRDsQ9iuSZIT`+Vz|6wo_O%Cz+SRCqB9Q^@rX;dzwPhTWbrwr`9T^VV8t%qvnU6 zBc`cL-@|2^+oH`%I1HO$L?5kJ|HMzn+5+oTra!RmjlU%pWC&|O*fP?&eO-Qg+nD+dkFvgsyk_p> z*Ufa^)b57wgkSaxc0Rf% z{ih8T`&|?_V4Ilv%~}dEqtZw4DOpz2Uu^0jD{Q-Ik5>w-uG^j?j*$C9<)gxuIzVd& z#PkhXB6wTLuQ1!bK44CIPsx03suLK11(;ZGXq5j0zwpocN!CZdBVOt{iJM@30{<8` zj(mE+>v2ZjNnR&ImIu~?h?PkDFBljn=_A_DoWcn#)FByT_@x^s7tTz_Krq^GPk)U| zy$dYpGCSix>RWur>lE~zKI41T+LXssv}4(byx-id1?!j)y&Sp&WH z<#_QxIjcHKVsSCT5Ytj!>T~c%<+PBXSKOZ<|4zVUoj0-;F zO#jVc*%|y=&vdMd;Q^)$F8Yooa zW3}EVMn*PPr0rV%2k}(LPqD^=%}}d|9}q|FQhBf9H@t)A_+;aW@U<$YkpzaW^6|6!}PT4pg`&>x>I zDbN`5p~uM0io>6*GDW;-v)6jL*OI!+Vbt8x9_DRYr~e`uuyC{Xp6;G9Xz8cPgj*ib z+DP}R%Rc;W@v;y9MBmR*4uwa=n?Bub?FeSUzA>y(fKpJJ2^LfJZwH?P3kAh5DT1j` z_?XY{6$?hMJP5vXUg&2#3 zHAB{HDO|g1O30@2#y;@qe1QOwIa&Hay)iMMYSJ#Kf=cdm(U*6EqG zdUm1SIls8--NT8KQS8t+z2_;`uTSz2R4v(k@mx*rupa!{*S_vP)7Lz%hxOjeKKiy` z{)yHg&sHqjrP`zPyysSrQ9HcWi@!pCJNq25pYcOb_>Rsf-OxS_`QgP|h&B8~YqHO% zt`%AbKfSo>{eRNFxIc27oZ24wR4~4QVQ>A#aj0T#p79{IW7T_qskpn6;Ji|CL2p}6 zk$=YiE_fTd-+up`%5Y>a^42^Vd8)#9u5pi;R-WY@-qkt`>irsEw6s>y+Z9 zAN)TNmeMlCIS{+C2l0?FzN$Z`ap?V$cYffpp7roU(yO<6-!1kCIs^Sc*T8Rv&ja6w zbS?BE*6NZ03#8*MN(FW|Y?BLSY%R`uWUcmq zo>Fz`2Y(D~ag3@&m%HOH#*P{XjQPs9_9-rSewE_4Hqi&`miviT(Upi-qtC-HvpwRz zGT-r6K;zIi#dMv;W6AetUkEgVUnc6t(gVy7q*oH7;X2X5u|v@}Xj66CRvWzR3&FIo zc*)!Un9@QGFK!7AA}*;@@m+r;dTU>tcF)V+kA@G@b5wQ|^K*b`Sz}%Den|QB=?8tq zw~3uC-ORpMuG2T{9q~S|n-U)+I%jRs{(W?1J#X6Qd5yQ%YlwS-o@7J$S$GF9;Q!M4 zWpU~~&xkHtNx%7q>C|&#*LY)<_S>doE_z?_=J&;OM<*k$_#(HHG+wsd7@J|M9MfQZ zlle+)1ik{EVJeA%XW=Goe(EZ(R-fCH7L{I!~2YutaR*ySr68^Roh zp0V#0FRB>rj79|uYf{;on&E@K<=Zel2p*3i>vhClF>jdX*w@fDu~=C=gXx$!Q|Mj1 z&M{}o7vcW$Ec`E)jF&K{fCZRLBU~4(z^r}zONE2~9&wOJPB!+J^LhB(iZ}nea>cDm zdQI>grtkQ@68wk6${?HIX~2bC!bi(mu&;?P;m3h)887%9eU4*CALt|Nz|nTXf5o^m zhI}$dz=iZ8zZd)MPth25Dfbx{!2(RcX5Sn*5Z}S3)%YzC4!#$0(9m2c#+XCNdC3#@ z-OsS^2)OAxaWo^ZN_`#lQN97kOQ65e9(qb#8(?gCkN(jY;$1bji|sXUdng|7qB)`M zkR_r0@Z~Oi=Nk9?jPiy!PJw#CS!Lg=+NE;T`l4uxF@V1i+X{@t(HIA6_rjSw)R(cv zmG68j>W%fyg*fN;dtEx^vJE}OU$$5`rSFV8^}^d3C-!F@A(}^C6W1*m@r7E)aa@v~ z5zOS2E1fk!eOwmKnS5y&JY|;lc@GQ=#+>C?h*iU@0)@B;u5piNc$RnQ4|TXr@CZL- zF9P!&-jCl`eht%H9*k?=$L}ba)tE};l{Bo#+C3cSb;h61Nu^&yyi9O zF29KL0Nt6tQ==Y_tX%QtUuZwbZT8WDZ_zI@1|O~GFft9=Hm-#W)>N5;TnATzEfK%& zGWojDXV&H6!kMeWMbnpr0n-Z>! zG&h0SJTaSt^r<-ind{68=&Q;%|Mp9nqY+z>99d8x;Yaob&mI;opBs>fWbF+VZw7jusI3v4X*kieUu0nrHa zLve(L*Sd)G4B1Ujhz9;P#X(93wqciT=qr0deHHIgu^!Lf3hF|BVV|RyN;ga6*~Nd% z_l^tg#$FXBO&sRDY~&2xlZ6}-la#N6Hgj2L{X?=AS<2jC&l0h2f*tvt^qE@IFZEIU zy;r`!!DIjSUu*x`6OP41XT!DvZ{QO81_$sx;e~h$&o$Z+-m6Al9Zp~Hp!Nq$bS}Vg zil5%2MfnEVi*Wja2i&&xC*Z@5Lf2wH7xO?e(r`-`r!UqY>6>CewAbKa>BoPW)4+;1 zi?TPj7=Pf5bz1gU(C5hOXoJF>&k8ZCeP&%2h~J$wVTj7my;O#{P1<&BFYv$%u&vRx zEr)%d-xdm!cGCF=r`cNd@k1cuOShh zyUw^lc@B?N{OUfAVP%bf@0ER=WAQA(04#Gd)lJT20YEcUVyZNpOS7Xd%?eUaqcEX7%atMYp4`%c~D z#Oyvpxog5=>yudzbk=!)2r;`7juaVYue zHCJqUMh*PHz>@k`)uAlQG@f#dWnlM=TrjN01IBncTVe0t) z;Wp*MsjttK*Qg&@k_%@WHv3k<1@j=zS=RLN4XAIP&$@2=aQW-Qr3YT?bxZ7X={0_a zaR+bABYb(HeaD$XU*h@gC#+U1Pqkz6D&eX84SeK5ovA$@?Aw?q9=UQ@F-#dh(DZ-l z&{MPTzX~@f9)G6rG*9~sh}WvDtG?enw^FbGllMlzZALw`Apx7 za~^-s`V9SNj)=CQ8{1jL8o=vfoSEi+u|tn=;fxh|9;f=oWM|jl199&{-FXfltce?I z%6ItZh0|9Eww~s1)&=noC_Wk<;QmXN(>MDmGFq3;^S<=Kjoy=pT+kY_{T=il-VYAh zrc9M5L#AC^3r6R>Y9hThr9V4+hB(eV&sK)3A=Bmvwm}|$(|*SHQ#mNP$efoh zNFOZ&q~ELWUrG*awoM0L?sFzWYrct+>x5>pOF0#MEh_*nLFWf6af}@3K|%7%loA`=@?jJF4$nC^h|; zo`io!&)WZj{>QWMLUb%$r;QO)rq${{dqJMRc64}6`K=z9(ke77zEiQFJH?r4OZ#D_ zR)yE@T@jvF{Q4T@RgQR~|04xcvHM8FYuZH@BqlEUr1Jhtug&{^e?|Yx#-II7jJ^De zX}phc5c@A&*Wyp=1MsjX+P9#{L}lUH9U1HT}=VA3K0}9CRV}txEqx2e2NDUf*E<%f=tQM{?Bm9==WF zsp|0fSN0z|6g=d&W_-49+ZMe4=F$N=yWuz9e-mM4zsl{B1MKm5@rFs-Gx4PN8&%F{ zp1W(J7&|Dj#vm3+{SU*Z$prAgyY{}o@SXB{7n&Wlfp zxJ%|hL*t*#L*qdC#9x2lGVc}Hwso`jA`v4GZ&)*EzwpSMPGQ5nE5pVQUUwY*hc7>v z?}ec+>>c4b;=4b1@qX_CVwVGTvOmdlE4G(?*6P2;$hHt`3iyYxUt<5st+CVbPy6pR z4eV*~Ndc!j>p$>_rWrSKglF3`wEyRm@YZ9ibtcE{{_c+J-=>Y~mxcUfK8SiAq?SI9icKF24@FJ_xib_-+M)c#uswhkn_68Xm( zMPu||HYT3e%85?SL2!`nQb~KwclyL$9QN5Uo;=Tdcy;Y!=f-otc}|5oVt(~Fhblj7 z_g~|W{--q~<3T*YYY5E$Cih={X7DB(*fuqLUhsR0Z!|dn%ldCRR-ee-&X~tO({BoY z?5~5K;eRh)KOuZBzUk+5&(G*fGSgM%$&y^sn*PoOe7pa|zy;`GA^A{}DDm>Bs#O zPtxAT$4ukw-%R^mx9=aVe=OWT>7xP5ly zsc7!}M|XgSW^zA%wxs{`hq-`^XFq5B<2yD@Q|EgnUTXJW^B-Ep=K=larJ4L6p8@h; zG;cg+-&@-Mh=WJxcCkMH#rqq)pLkdMPJMOy&)O(Df8^g;Y(bOhUw!tPA~J+EAL3DV zWB)yVq62V1sZXb^9OK4**Xh4t^}NUSA)W~Rt(o-C`ibKS$e)KE;5Eml>pzXb8}BjZ zEgAP%Pu>1&{PAC)!%26sFQA$I&-n&C1RH2)_FofaRfKtWe%9$fu#z*-b07N!KG2-` zuQ{K;8|@!_A({PK;s4m3ec6?|@G*~6yac?-{K~qD;I-a@?xNDv{*xOHKR@!WvgmqI z{-NPhXWIWs{{F8*A-B!&san^?chv~&{Uw!*Hd)8IPtb{+Uz^S z`BRsxtoVwQ<%S8^8ik#{F}}z&`~NEaU-EzSpKpHeTu<5?Uh9*XW%iA04Z!C?>i$>d z6POH}VXT1L{SeIRTRQ#?_h0*)ygtBusay0OzBBpH{TZJDpZPVODgRA974KEvuk*X2 zjd(w{0SsKr+pl;&UN8T|=g&UTruu)%c}M(C%pbVKHYVl;pP1K!_mhs@(f4d`5i7zo z#Li%Ysd#MI=SqyE_=?xmSc{@=^cBuQbDdga({<;T;y3q+bHf*jKc4Z$wxM3`Nyo8_ zqdnFw(Rm`g<)6Yull33)=6B(tSs$~yyx(^6n$#vhM$mupoP7VU-UUX*i5n;B`~PNr zMEhYZOC7hXctWqcP>1wY{O-n=#?|-7-|RV>)}O_5DXyM(h||gA@zg%JEl#~#_6ji{ zz$Co*vkdlT_h0phM|iym|0neUo9v1N*rX4oabWTUpMEu()3A_vA}e z{@D}{6K+*s6{i6W11mVg-on<@7(4z#vCa8?+Et8K(tn=Em$=q+olJEb_~CFrT@fvmGA9!|Fv!?KFXR9aJYV8&^VetMTg*r?}p9&6a0!B(w?vM zJ@z(RCly>7U3pFr4^O@7OI~lp5B+xxs^ZSsFO7W?brkt~+<)c^u+U$|1K82scB%i+ z5c8{yhO+)Mj@Ae9iRSoKo6@_9G4L8XIvDLz2k(hCm8UgbPt`cHk0Gaz*hkG@=Zfev zP4Cfe27||6Ym);Or0dwkqq2|Pc+bXvl5opj6ZfC@)V5*I>d^J(&;RV*2nX|AHih$lu_~`dm`}9?O#N$8n zp)Ka6__yFAd$I`U$PJD2HpL#@t~lg>QTd6!-@!HS8G}deNf@Xb{}?*s%!jsWpV%kT z9lw-rx@XJeH5-f5?tM>vy+<*Jy|qs<&DYKu9LwMM8(r(;dwNFsZ#V8~c<8hG{;7^R z)t@}kPRwwik~s4Fdx887WN-+B`21S>m>zT<2W4{D#^plcK)i1Ps6uw ztVw@!Rtoh*xcFa+*Ke(T*wfV4`@|pK z*53F{#PE8Zo4uC!rSJ=|PH$aNdLrk~6T`qgp3!=S_et{ZeFzWH+9{)etSU7M-+T z_+d^r-t)Np_5WeK%zf$!>6<$o6M|nS(g>gEW$Yy+r(EyJ8h7QN7=3M8MqFXPgLUYr zPs)$sJQdvYbJwKr`240GDbBLk3*(D6@XKHW4_>xS^X~!SsgvmV`?c_-J;<#VzSvOr zT6DeR>d%}Xgq$g+;ia!BufrQB6c;?dR(nRbL`U@oHLU%z7Cf)v_U>&Wo`~k2>UYYWxijMBW&m1qBTh&*5DxLN9Lp3fBcu!3hUuoPhZumg8 zZwny=43P0xQtOf86ycoX4Z}xiNd-J{( zwZ}F1Iq^G@CdI?O&qF>u`#Q+Ig0CvVAss=muU8*RqN7|N09U*6M=qiq&r4tZj_kdG znonPNZ$@kvdO&texFz*ZFgF-?`_KfN@ZvqrjJxEHV=}Shk?YV3J{|fjK9p#$t8;>z zmO5ng@l(^1pF=mGui%V4E7Fy`pS4!JjP7gQpFCE;WEzHt#c^Z}VAAa$dmrtx*UIuL zG*73D`KyedrLTTh=XZ@s#@?{SJe9U6g3mO=zBGL1(7XJBK7$6BG8}p?Y3%$PKBM?A z$3YRlg-*nC-~_)pb+BicxK8{WYA28PbGxD)WIk~p(3gE78BdS%jptM+zAOCQz-YbG z@2fuYWsJT4OZ91h%C{p8G?gFa`FA`=*Z;BV7%BhpRF}s=RLLTxoOt2aQg(TKs15y07c~KBCi2x&L2d z=A29uZ%ugzG8j3owM*#U?Q7ncuOMUS2Xhb^j7)-7j052T-lSX~$w{q4BE6;9@!U|9 z@7_hf`GD}_bB}h=G4SJ~gFtsYt2wXrq%V}e z4cI>zKQVvqqP{UM0WF$ByALY~V)g1*}DpM+6-O-bnwu4@+fB2ESz# za584#E#gFcI8l6kvFF%O8onxYoP0w#Yx?!!yct)7zSEaGcLn(?_})v`xW_X*TkN42 zgVyarjLCLCBW|=uFU5`c60$+_&baWH2_J%$brZwxn9dAGichm|Y5D8NYM$7(ZYbAJ z&U3J#mTmZ{@|eEFKAA|9(1_R4zzuN0C(-lJ@39G3Q{*~yqdkPyV?0)Z1vxD~-geAY z-XBa%%G|L%!sWx#v%1*#%-$E`l_-4Y8v7S{hG%()y~WgFzH1$ceyX5b5R1$S%5`9l`r1enf-D55~QXi#nKP`I5a-?alRnXA4zWZl6eHE9!rkr2vuEAc8 zJQCX)T`!l%)D3UcnhmnpzRkEM${gYzG$Ywk>^3x1O}j5tEmc^y2NT%@9D<~@4}Swl|O-h~h88IDy@Kg<&ZJAD>UVV?b6q?ao3n$B0g z?YSkImArawg4eQ<5xgV(OD9an2b~ugjqeH_M0+@#Z-yL@=7Z4M0l_gK3!e*}7Cst! z&AwLUn(UMBySt=ycUD^^wdp)D_8n*(p%>Qr(YeGAO=IX~@GE!}xe@7`b#=k6J}3Pb zkb`B|NlP;u1YVrUe&Ow3i*p`-JrDjPtor8ir6nmq@{13nYEY_14Q`Y?%UyY^xwVWqtJxG0$oJ(asdXeOb z^c8R*S{Z~1-UA270za}p$eB9d@d4mL#r7}rlDUMw zhy6*ePxB#YN!P)Z=&`8ze$k9&j)zWlJM_DTi*-Q7|3_Vr81DF9dQa#2=~}F#=J}dy z@m_tOJWp(P{~3x|=KNN4eDEPV#d3xG5cpQ`DPRk#Pv*1CmAwCohhF;X?5brOzAifY zThY@~@LcP3;E()hL5V622W_LqK+(Rt*2l22sSuv4952i$Nz?IpunhlL|gGY-KU z=hvb;lW!%Zvz@h(-Up@uGZqWR88!6IxS~&^ry%R$8PE*A8sae3chiV?t8ntM=GbA% zDSDySk+z%PgP${{OOaa;9Z1hv7ldvo_|!AmSrVUXGx_$gVDwqaiPP{ox0QH8N1QNm zgz1MIL!2`|e&Q&fa&n2K*q8@Xf04#t*vC(3RVTn?BNqmM5I^&2yp&=e(9Z;yDZbWd0h@UHn|g zEzLXp4_)Wnt~^SIHEUeSH-$X~ZOjvH=ZxtY7AyDEbn#T|QgAYU;z;MX;y3h#ea0M1 z`BD?{BR&NFyUw{SB>1p}AIq(b=U8{cPsIEXe{#M)&SZzL3K!1Pv~0st@#qI^d-J|* zIOXih{Bz=I*8S4w^ZMc0st+Fpe7ULlq~iR#cF^I%MPJ+JSIhPQH=JXArTPy~TCB6# z$>D?yOnL3EJpZs$nlry>kNImpZQiT?h)(QlU@piW!LOgL1<3a+pJX!fO5?z^hQC_4 zQ5@9<^3R$Vi(fg`8eWa;ldm}U|6r@*&p~#H9~EWajh{TGS!0^Q{PQw?g{=8ic7`-E z?`Nhf;;kXKN$}f{Yge`#wq48}$(&1Mo6j28J3XU1-{ThL`p#i5 z@Bi-mUb}tx+3a!WhY~p}Gk)yYd}6)6##_D|ob94zH$Qv(}3 zx_aWxHU4hr7#FXFpU@Zc3(=4IY`G2Yz>oS0Ze-JM_PpVmbm8=wW7GH0JHazLBC?Bj zsS}%K;w@p}=rhacXJ6;Mc<$;EK09?!=ZuPYWS=Q*k$2+xYet2;M;@l}O6My0Su{$# zdD1N@%>Nyg*H0vD3?@+)pB#}BzAjUV~<&1bMx(3znv@NFAI zxX%|_`%PO9w44(T*HI#zh%6vG5kavku&VmH=cE>floI4K0I@o za#D#uqWwZoe}(uoId~Kkymo2e~C*iPx{NO{i}t^po}_r6bN@|Lm<7j3ei)QhpZr z1o&`Ym8XZZlF8w;>C^Z9+-GmU=rifd`wQw^4?nfxqkkW%`f}k!9|o=_7^rCKM_Zd&O6;XE$CdD%l}c#!mF>*Mh0h%3wY+VTsS>MQj3@rB*YuTz}VlLP1VXT+P24Yysmk8@veeEY>;8Bqw0On+a~g#I(QO2 zz&|*jy%vu2W6PJHDKB16-BtVmzi>qEu+5)+P=h1o)!K01C8mk@p1m_Plv|5; zo?a;%Uv<>MeLc9TpMIntf*-9tc<+{c9lMMla01`59u8j?zcyVqkN?!y7i9gGFFrPo z_b{VraMzO(MunF0OUbOdhn zoxHwx3{+fDGx%|38+GxcvBjQ1?~VE{ed7Br;0IrS&Xe)iTUXp&^pnwn`j72^?SZc#Uj(-rj(^CA1|2R)HzE|;l%SG09c0oU^9M?L(g(LDGlPC7owM*n< z`*n-xCe~kQ7x;jIPt>ZKp@^f1==qv5Oe zOG69z$8Kwe|3|nck1ut=-{C)wgWApfrv?3wbkfjgUHs4|#VpYubROo&F6oD|FQAjW z4(f?@{YS&k>1F)w=Lkk%<;=f2{mA>JzK*)eeRteT1O9n*N$1ldJ{8+tevJl; z)*qAhimm>N7hrTwwMP4*zN*jeJNk43_{rCI&}3{KanXQ&6CMufBSvx)pUryue1 zRDNac)Z+Q-3%+c{c_srFrR%D(J@w0blofNw9thyc^J{63Mud?yOr3M4n3D0fS+ae{ z_UT3a(`VwyZ{WVE?}_4!iA%EXLVL0id=4sS0&4xqwm3e9!(}gKIKtoQy}{ah=eV58 zenhxif*;0-c;Q%=KNUNi;m5E*7g49sSoy3YonMBo;kcTyH>jV~foxULGv05+d6DLM zYd!x>6Vxww9m_->InLQl+E9V1! zqHkGUO_A?)>4(@@?S&h#ptes*b$ah`b}qK}Fyk)(F8ZbzKgaeeQn!E4~tGny;O zILQ_5XLlU2ZJv5xB9OoGLVXtua z;Wh1ZPkR99lVf)nFY0W9{!8_r@malR`V=p>Jj?qfm_$p&>nb0PV^q8cUa^7cUfdK8@1bOGHG49UVdd|~Hu&7F z_)&etrK#V{fBRs;foV0v4{gG)@q^cqtGX_qi}A|-Que9iH;J;p9B#gAj^uv2@_Vdb z9)Dt1kJfDP=it99e+K_4Yn#v%I>6q-5918ZYn3wGL>ReWA54Bv^j`jce5cN5)>fVC z*|@W>B(J9e2E!TeSKKSFkN2CvpKI*X<5SsZdk&lKKY2k`vJYb?_9-|-UJ~Q$eCFh1 z-?x$z= zC=BKOQhVS4`a$;uKl6USxuiHw`{L0f_Euppgw`@0$3OkP544|XymA<6Z~6K^*Y^pM z+aGezu@*eLx8PDc#)aZqg_|wP3-D2K&f^=4vmW}QIP2lPS7tx@adE+O&uLHa0_`I@ zqH4)2%BPa&jQN(X9jSW@{S43UP1wK%I9a?-K@{t?%lq5TgPA77Omkv}G!f>3q|r=s zXcm6t?>x>6`j_U?R5DGz57IvpYU&?_KR$Q(n-Xj4Gs~@6I8fiS{F;Ry>3f!Av+zBA zU$4U7w^i2gMStbrzoFlQxTrspZVuv${{AZgXNrga`v29!0C`B;tE^GU^N=bj>EHh( zExP;%`6FKnxn{^)l;&A1%k#j#{l)9PBVPVv@$!SThpn^rr;k#(MBncb-+EDU@ICRf z&-I*m?91EJqVHT=y8c}~^MamTD?Ybe?+w@Y4yx+_)%mx2=a2PF&HnC;F9Hjt^_*w_ zAUN3@jkQG&b*;A_j3XMsBwQ(flA(*~d3l@z>`_*q0 zT7SiI$?od-w5pN2rmwuO;C$)&e-a+f5KdMp=gCXT-M-1bFYQ${E)^$gJ0Ab4ZF$-6 z(Y~#B?W5eD)U&+9yYdA%=2YWDzCPMeTN~A;bc79yRoV%bzpq;SvT{MDdO~aFgT8y7 z&VOZByZ;A!&#-5GsZu@}_bZ+E%AfjbEA@G~_{M8mv)rC&z0&x`A7Wnxc$Tgki~R)H z=-B(Ql--Zd`7^s;>z%S^S$9zzj_F}M)V5&QDp+0;OmjsK#|YLx*W5^9);N$;iMiWq z{xg3td^V@yNJHW)?n9eZ@ACQg>f8Ck{e!X{HYLL^Pvcv(9+R#!WjKmHnQ}VkJAMq- zjPRG@TSBKtw;=Cf4`Ui6%87xQqYc}&3jK=tLh;*1A(kQc`5Q26#D4!}vo zH`m}B+I#4I;rQvb2Eo}#UT=|Kx;Xt_uStln!`o|$)@!(D-!*G93^0J&U zDc|`^(NRyq{Y-KC{lWfd>_dF5^gr?ke;59>W@UV9y$1g`>*d8+kEA{;=M`OSx#~TA zWN#h_JJGUdHN4!!vc;T9c(6U#qpD_D5(|oH%FGYU&M}qfQ<(j)wcILLE_f+>K zr?YZe$LFP(apMX-W%i?@-8;2DrnO<>?}#VIKW<*4^~5+w;3tkzh&~bhc1!`ESplc4 zLE=+_U$OU9ad;jRt+fj&fkBc~p1@D6RnIiXLFgVunRyJ@q=;5yONK~;-h zbPic`XX|v!o0lVXcMVKAEo9$+Bp4?vZ@|aO9iR3K97Gy7{?tG50iSs_>Y5bi^4&T& zF?*tjpW+?kF~e_8pPDD&Mr(xLmq@+}e)BxzgpA-fF}TQacsuhf*2O2!D&7fyU($Pu z*NQyuoP$O@eB7s2J`Q?^`9h!6w|CUXA?oj6xzCx5i#h9d7j7G?2RW21)fp$*Tx`AY zg|CU`4;O9R@AW?E6^_ZM#Jkq1oevZqF5Z%8-ITo2mZ{(^(jR>%?wDK%tTVBO106@6 zh5jNQVt=xpjq9+EH{o5@c!_f&-UnWy^+oShitACd!+fDlawoHnD_LQf$m_;BwsUu= zuJUnU+|@VrafkYPi~77@LjJNco`lY^C;y@@mbbZh-FF4cxoY45F8|7mFPPMkqZ^xtbpP$B98C>r53Evjrf86#Q4wWJQi51MNh0HgTWztScvP) z#>+B+cmenceb;Al;Y`)lCH)Ql*-JytYHT&Fe|j%^j4#kTmdl)Zpg4v^`C@Wjl-4E`FrEOAyqCKq+2Oc`FCKYZMcp2z5dj(ag~1+#c)N^cqd!8hxtn)ms0ibI3`;0LZ-{GQk= z&mHO^W=r|ueXan%k>|v*c@BYp74f_Tz7*$7Hja*UWNtB5JV)$A42xrL3mi$5Q)X~01&is>be^)Z)PU{3UG%tAI zp|T^Fh6#8P; zfAbb%J+1F#_=7f)G3B^Lrn7I|Ip{MwE}x6BzW8aHNuP5(qIeN~^S%`7&F8yx0Q6|# zM7UWk{QsCSpfC@PoA%@`4MEi+={d{ajQobrzgPXY7s0(^OFU136*!0+lMImkt~oFI zLXR~3y2mrId99JPwN(L+=h4(d?{})Ycp>n z8x!fMX|7+*tIB&3=dnMGG4dN(&A3xH^G^KCeI%}qxg6`E55!C|2FqT%TDbaQ90PwY ze5u)EfDfxNFbdS&0+E&`qiD|21^x_I%E(nA!-N_;W*p*P90oZoN_xj@b*Vuql5 z?t@=+a`wCFeoogB*T$`I%5&)T*i%tAC1)=MJr(|g9T0VYa1+NR(m8eD`zXhE`FGwy z&yt!pOZZuw&?J;LP@1i4#hgm=3j12sJWjH|>6Rza9cy)~M*z9vMT5~3Xcs{tV zTJ(}^t5?r2E_iOUaTQ^vJ^4?Fl{W6lWfl7XKAD^7jmS;%$+_R+1K42rE=6CKjn>)W z4;kLkJCMhcc~v76+d1o@&|&^#;q199RRDCsoQ!Hz7F_M zqzhmX-IPx6s~F8AQoaQq#ZMgnO#diRChp0D&B z`jTx>RD4|3{AbZ0LO0R+sL2z<%(1g*;Kp5-0hrBD}jQa5eLW^|iA z&%yISutUG#m*3KXZFggXa}C@BFL`D0PaGjR<>w{Ci1h~-%$xjK)rGtk?j#Ft72Z>S zQ6>-S8w1<7ncX10>6?Oc0=}tAd5i60`6Iu4K2PB{IX%%A!3v%QgU^J)w-sTFeNikh zzKBHh(_zumq2t0QLPzCL@4Vmr28?;56v<(btY_(vH^b4O<{vXS7 z&k^-W`v~Ago)64l@K1r(WkXv3K!@O3)<e>_s9y55B_7iE3j&S*= z_|X0}_^plqljpr;KYn_D-S;(TZctwNGQJ~t1PeC5^$+|wc^hg+Jd-sl??*&mLni>X zICc^D)S-FGzRsQ(->5SjI%augf8~6$7(_*{=i6;~1z9>_zap zy>dA_wu1FI*71>5=)61&4eER_uQdrr>E1uCtH6iw2P}K-QpwWqW;iY!(0hK)hVU;$ zpN0IY?TQPY-()!%ajbfX_fX!_bY2=h$shLPv%g2Y#y))3GMKx{M~&T@^Va%Ykw4s-2~9w(1cSn|sM&^WDSE!sLHyaU`x|7DL3=cn2a z%r#&kkE(P4<6QfetT&_MlY?L5Zr)?u9~g@L7lw8VpAP+IEDwXHUK|EZo2N4WD^lhe zrhdw+4U9!}O7v)8XACI#^zem{x5_#{@*=wz`Ihu)<%IV-o^3(DuR65X(CholUb{*7 zx33hxPAl2PjKit(Ur2fX()DeN==zo;v3}9E^!VbO$5VQba{~Dae-W+N-;1t^-;((o z;i7%X=A_@;(0<{Q&i~Ecd(H_U2lZE~2qs{gG46uUL9n_n=oR#Vf*cUtr+P+q4P0P1 z;7>*OgAZw~3|#qa$Q%#4F4-;IZWMp<9MGrjtk&6i&l;CMHQ$$?Dc@5?eUho{fwV8T ze7@y%3l@z7Yl85_eC^0`SNZU@j?KL8J?n}ve^ghWr^A^#U)2JPeP$^Z1ztq{cJNAH z=x>y1;9YY7+c@bn)qW+;;qW*~*MNt4-zfSB&+@+3Co+BX3gP;{rF9n&FWS#^A>p5Om4z>U zO|(DJ`*f%;&N=zBhz0RnjP=L*>ix{%q%G+N)OX&TYkfw?is7a3AE_)I(Jq`nTlSOs zkm@<2WAh=&fpbQrzP^a3N?b4pw8s|QAscgiN>40Ky9ZrpWc8|djQf=K3sz=wF2|!~(AYck*!fOoynUzJc+jPJIw!m7^gEH@Wt$UDbKyg_wwIqz3JH;b+4yw zHgvt|Fmc8VeX-sHj=_!S+v~@rPQhzL(!=co$FGk68~TLb6FY{jivN}Ogj@R$7QXPA zaDEv0uf{LL8nS%1_C00e2%odh8NWt0&#dQY?%58}nke(baN)D^oKU->jiTZ^&zg6a z&p~YN*(GtTI1`1lP_W0i#yLck@-ZN{5@*3wUgvq<<9+IhbvE}C*smFUgnX%r*&2RD zM)&HYXdIp1>p8?~Xq~`09oP>ZebvH;{bcxX*t2K6>RohsVki|yl-apBxh&W9?mx4GXL1N!1Q zKr96PhnB$wIN>+zrK~kao5!>+T(Bkv4q4|Ydk;HGIKNT!|EDVdqPei%G9^Bv*kN+S zuzw--^QbQT_V^aCyNHQmeU3OluQy5l)28@aQM&%=3m(+DKF1nI&FwGGV;5XD^yDyP z>g=5U!2@SZO_(s;zD<5}ju~SCt#i)nGOOBQcL=bFK+16 znK}L!>FhJkx0*JtpU!_;YX3fC0G-d*c~=8vOEX8{MN_p7!`YqK*o+0|6zwW3yvO^T zQCv0s0nh!kzrv&Zj;Y^H^B~#?&|&;8+}T&8c&^lD7H;tmutp}F3->3=C(&PPSlerK zEY&MHQk?U6s^7*r5n~KA$B1Qc3@7n5I(sgMhco&XJ{#ta?ruG2SNjb8Uq1B29RKie z&j04DPtKylhjGoIBh25fA9%3%!(gA4MSF}1=WD@}hE197dZ=$#VR4<}XY)p%?Y?*muUt-GhIPALqxNw&0;q>^&{zwcrFj2;B#I#5Y9DjMis}>9)=Y zE;UDtOMDa_C-{qEoQTI<_8R-2)_RT0ew!4x)Zy4R;z4)^9s|Dz?;Z=ajU7<#>yf@% zHS+4vYtHIS=V*!U_j8|%2fas`3Y{ZkIVX;@^3OFpKvT*k`VvR zK27cEB>p$IpT)c2^S0fP=hy@CJ$dg6eofQ9v%YKb-mZKOnKnn~(<_$;xXom(brN{8aAW@*a{{@* z+JI^Ix5DLG;dE+^T+lP*KLPhD?_!f#&O+PB4EbM^@i%J@$^VBeVVo6<=CxenZB#ch z#D3ycZmCw?#L2jo!%|2|_-Lo}a`<%2+ZhxQFcWiUPkDvp_N9`~l zSbLZ*{iM#hraCLg`0H1fM*q-wtla@MZ5$3#BYW~`WH;V28_U34m*6CGygW+yCOVu`5>LwcA(B7Yne`1yZ)B(IAFPJ z*g@ghD~9;Yo&0>ljP_}ZJ`vYq{ENTmbSD~g3_Y}|wf2-oC)@w#XQUsRo)ybp3;)E+ z?iBybD~$`fKl99Eo{dwSFO0Y8zcKu0=fcfw8$N#ZiSXWYYlF{&i)VI~^>bJ83hgq^ z&3T`9)(rfW&p3Mjg?oMe)59~{)q4h3gZL-*lr>3W%Q$mUdZu+!>ng&P>HqTJGj_}A zzft__`EvdvU#jyiU_&q$GMSstxhCKrywG3HjQjkZbvkeEQ=do38H2`|@z-2Bj^`Zy z!e_4Cr85khG6o(i@psPfd-IX2!`3f9_gQ$rmX2dxI2y!1ei`<(Dh88JWU1w`aUJn5 ze$s6EkNjV{Cb|`I7_7DRnP%J9KA_yM3jc4M{v%z|zeneG@fmC!B(?FwH^R$0#|6IY zzDN1j*qne@>wHPh#AP16`S8`@HSsohNTc|tZk78coZxd&ID?Zv&Vze&?r9C;9@y)} zKXX6oo5a<#F0b_#cu*drZ~AX0{xw$iTSwa#pObW1+ZL>O%HHr^3avfIxzJSn$9eGB zg0sTL4_Z-K`t zj@dppe4yan^Gj_vk^h(D(ceXfPb}#XICn7qaemSJ&);o+3}24;W;{3(>Vc`PJy$+` z<2jw@v&FA%-@3);4>v^j;GJ`Ao?6i-e7Norp92)zgZ?@Hk2z5XzKZ$RDE>|N!U^#p z@C4%I%p2f8lE18DHHZIH;-9ne*t2hYKy^l43Eb~0{@uTQ!&A$9>kQWSj1tah;}6;J z#=}>Iho+Z2A0C^3rp_|H!ef;^lGE?oPu}G7Z!2-g*fD1Cm3N-HHN^8wV;i)|m^3tQ zmE%z_{=vf$hl(F7e+PRSu*0M$@>#0NbkvsO-#FH|mg_slx!R7`nkauO`xJlwe$_=` z^XDJtV~~!5c!T)LN3T5U@!%%c!C%B7e7nvW!5JTUU`lK2k~Q_F?@|xfet&8Iozi@S zkI#nipXxd%*e}hRyZth(3&;;-I&CTb8DshNtz*S_B=C=|9oKtWi2vKAi=caRUSm0q z<2cm1X8dyw-6o%PnA5#@2sD4sn4`kWw@epb-;kfn7RQWwIOq4-D~AT!EXVK8zBhz_ zuYGBcxc47MAC1-{bANJ+@h|=_KeY2y2+yo{vG(Y(u4Vr=P5-ICpYo~o*SUx~M}Di$ zg{+J3y64(*c62p1PmEcJwZtt5`4o%^O6YxnD=$v6YaG zkw@Ssa zkCpi6-G+bJJmMjo-T3m&(|yimoiPv|w+WA&L(4pRcvidc=A+m8yw!T~4*q#(%a`Iw zGi>YT{K{iq*UqYcem2Da#T&%uiOo!N9gImo+4DpEH@Mjy_?O+A+H}&bsFO8#^w2z3 zuIctyL;cIIYYd?2S8l(!=4{PK$NEGsdT?r$&yxJ|lXpOS!~9D3wrftja>v{jpF3GE z{aZFF7KC^NaFG@Ei1%1xVBub;rqh9-r@Xke620T zJ!4QW{=u{8+_69QLF>11!e{oq#rPL);s1)M_8I{DEzmt%YX3Gw`{ma)2KaQ|c<>7A zG1HeZt_#UEe-ctNCp4ieFU;9?^@ga*@ zXM z&mO*8ao;HY;~NuyFfDR68valAp2H)+U5oJ#{}H|w!{|6tpEs1^e2?<~ddA?MF-L}X zpIKACz9XUVp6+4)GG38xch_fw^l#tf*(vX_Y%Jsb&}K{Vj~v0ifCpLbQorggFMF8& zBM!mqz2lCx-?>~CAdgwUx_A6>dj$6l(myz0T@cyJXE{#d_m<)x{f9U#&8uARVO}vN zQO4{g{DTL^;J%3`h7VtU2(28J)Hm|EY}k zx>wv!COK~(#O}6#D|k+%`^rzo;DO1fYAyM3uP56Vu?KigdAkkrAAD}Ie;tb!*Jja! zV(e5)@y}SY#>V<0YmdZT5%Y-rjcYu6k^Uo27=!yKo$SK*czsWO){B4WT{tM=A0Y2B zeh1}ea-J{z1MusX;vd{nKk=p7*PRSmnXWY}hlBS!!i)X@_&1(qAM9-1aCePIz4)i^ zio0|^dvrp@y*U;a8pU4SUHDhsNsrNvrFM*ka{M?4A%0QX_(S2piTrAJj6wbQhc_z@ z7Mm1*XGV*b196{5OX(l}L%c73RpUCPcgJJd=GOiHTk#KWD*gSIy}BMhcL)AsT@8Ky z-;Do;a1yV#1pmYw#(En2BsL|+|BR_G{;>J>{_fxzyR(iu{D+v6#&8nv35UBD|8RL~ z(-Bj#vjY7qCNhoxJkK%uL1iDJojj*kpy&~k>$CgGp?Li`o+x7c%% zAGu!}yY9bAGjJf>35Oml=pWo67aF7gh=1}HSpG`ijI!jvKAVXP;cl1Zuka7;HyP)d zT@Y=A`ra$IPxAYXz1P4!w;{VPuLFI%?Ah|`vCaRVy{mxF;&|E#?v%E;75ISSP_#Hj zT8dLF2_8z(5Zoa^a0%|7;4TS4LPCNRC@#TbxF$hDkidPw6uTnW4U`z z_I77xXJ%(+XZeotI?s*wjOUimSw0)h&c<)YQ~rwn`A+ahzZnmKoMn>VojKmy_0Y`m zFRJaFrz1Zd*K2ZpvG6w7Y#B$PzlRulUgw;Su%N$7xB^DD z6WsMWp_g%v$9y8PmXQ7jBTwNu*D1qBD|n%-1H5g=Z2=DVNB3Xw8?v4Ox$>4=&~plN ze|ffV1lHv)M9vcU5Y6?oZp1m*%s+{Bhx237AM0a32^(|!O|bb;@FzXWK3HpE=R>?{ zwDAX6ah)sSkA2N#y*%(Cb}5w)hwVZ?$R})(@0m2lm@(2ebA9ORWl@j0{Wu4|;hy)l zQ}^ogYm6P{@6y*D119EYO??GTO1;bvf^ovJK-|h&5zA-UmgdM0tl-b}6TqqD$iqHO z65~O*o7&Ca0)MWRwxoU9=K&MhUypJ6Y7Fz;4+($TLC0;@`E)e?qTs(n-$x7kvv9oI zPTCO@R-9jO-#PFTuIaE@0{FnTs`&UDn7)C(@E`79$K0CKi@Cl*@f{;v2~+Sv;WeN| z?xiO=+LbNX@>#;4JcWDi(YB5?>D0X?cELPub-IZk{usxQT^wuVrym9Ws_o2mWyG&s zSMUe@gMSKt#MqY{)E*MCp^)|WoEKt#9z#~kxA2_sfAAlJOkplY(yZCP zq1vU6ge&_LKHJN@RG&(ZqV)m4;n$EH zcd%2DpG*7^b$I4;WZYehcMR|#et|2=l@zUB(=+@&cm?TRU%QSyU(jCB@2OiTI~m`V zwpJJ4pUS-;vE`OD729`s?W4or*l)ry7FfpBws*R2tP|%PE3wkOp&jp3ujzSXT|AF% zEUNnCS+<9E=XdvWk;KhNj#=V1W7=ui2-IOpM-YuaEw)xtf; zSw7YFv0Z>6=a1Bz&3Z8SSe*VB+MkCl5uXinsDGN}cg#gkXg13(>xJjDaqUxWFZWgl zOy3Fqlr6MlaQ)J!Shx=b@_*TmT*(}!FHm0cT=K1PUi>MxnQao=kV$UGNB@+KN)HfS zgZjoNQaGmrKb4%Cu$cn(b5Q2d9x6IJ=b(}Y;}dCbG`LZ3dZTki<3G@`%`%qx4nL_v zSfcH;7sHMt^XA3=*k3W&4ZiU7uq|^R?vyPL%MZ^ZC=f4V$ zWG+hCbDg=oKefVmR@i4Kzrgcf0`C4O{jhI@d4Eyh;Y(Z_fO3J)h>eIg9lZO=^~VHX zv5UI}KLh>TL3xDzM;?BX#Vz;&ax`8-uF@^o1J@C4%|9(%GwcjIzWb^6OJE*!7Yi7|xerxZeJO(v&lAe|Yo1zJ4d;(%`gu;C%j2dOeDv$`f_`dc zg-1-U%F9vedKL4l@^Y}co>bF()Hy10Qs>s1rcP0*xk^-OuF}e?it*gkO1_oT)JmSG z4d(y)pYc4YkGhI38_%8IT(>r!zq$PR>@x&DL*PR|;9FGU#EPu>?;D=s&)O z?@#~#5q?iiG6DPfEf0`$^PY;bzZUl3#hz!_Z!Q_+1ovnE4y6H#1IlE`i8YYl`=FDY zL%D$x23ZmTIr0J}3gwlYyIsW|YP=V69pxF=Cci z&6etI;~s=IZj@btR(9Bf@blmML!jxB0NFQF;hB310`BJ0Oy5_K`wbRBX$l;V0It>o zZ%2X4YdAvh33`Ef{A<~hnDcn-U%}k;^rOrEJ=hPAx{?&0b59@MWBz*1`S}j=-bx*= zLC;ZVIO-0@@esbX0^b~rZ;;ONqolH1fqnN3ZB%=mH(zi8`<(|`HD7q?{Q>bm_J;lX zn>q}!ciS&ZE=GqZ#vI_A2L<~a22TPWe1H#()!^r1uK~Wq9z|a|bCs%`u~`%>&t@@1CIGn z+Tp$%aDEXb5__!37?u3X^r6w7OW!E>2QlPMh;Cn@4~Dh^V^O{q!!@zd@L3C62WX>zKeWl3O(V!{6`ts z;?2Iqs_%&a1M2J(0HaGdzOtEn41SHJ@P8q0TE&DYe8q|j0}hB!+N(J(8Jk_d0oG1q zZxybc<~~N)H%jbxjFWW49*`*9qfV~z9-mRU0GOA7Is@xsokrS;i}n;fv7M9^jGr5h zcs=w9eS=>k(TTCKWfHTIanI`bbP2Biz@eKpfO@(V$5?g7`NoNJ1HL)t5Njj3*+Qq67;n+zvF9*-dWgxEvh0ffTlx9q zH?EoQ<5|R_$sB-t{BWNWQ|v4E)06xJ+=t_Byhzak5M0-x{OlN`vd;nUF?Pzd z4~@KwI&9_~0X?8j(#KNJ2K}y_FH#pld{|5J3GvOCbjH|tgY*e~!@hnJL(O@_@&M8S zbc7(TN3KfqC3aW}$mh(kQfcla*r z;Cv9VrxHuuXR0PXBgONR>-0G%=OJcVKs}apton%fWxMXq5_bt$(Eqd# z$0iv2$#E2YfJf+$R(5V7{~9`|KOg!X!kk`do3ZJUp^B(Om+4qfP4$q4l=byR&uEG}Uovc@fhzPd$#Rbk>> z@DE!eVc8tzQ~$GBLVd<0-{0`Euh5VF!24D5PFc$VyNWsQiGqh532)$!@)B#{1TKty z<~ZkCF2>N)_u9CbZm$s?-!xw3-1NTS$pW9OA8WZJj}G6b{fF0x2j)PNwO6Khh%=6R z?!je@hc(j)zr%uWvkvG2vX=*S59%F=zm_(Gzi}QQd4v%!s6TJ|hV+-;M;(lVX1*)% z5RossZeR~srX&pz|3V9<^G}fusIRCt@@OYE@Su|Vn8*Ab_E-AM1+EHi3I>7)z=3PQ zm~Ubz;>6TgCk&aJo%us*NxwRKF)P})B(&q8t>@i z71zw|LX152xe)oT)*Z>1rwtK#;V2i3^&06AYak?N3BJQMRc4;RJse2)eAoOP;9u3l zYt&=09!TuZod3E8F9a;}8sWX0J9y@))lg0$)}+cfWCoqUB@@!pYbyz z!SBOlO(*8p`dSgdP{B;$jYsIt9B2A?571;CFV?KdT2BQ_^*n!*j~e6TK|5S$NBv&z z5f6Ay>~Y*1k@RDNt6Znv58FP+zis~+zz4=9bI{S&pq}IR7!SwXu-pq5F@Ai8dY|xe z!}n#c_Ky8@S|fi_a!A^&w?*s#;5l43C~{#wbOi7RiD@)G&v(>&q)ot%YgPfv8-Qtd zjH?s^W7^7Pp7_t|1aEA3X8H6D+P56z{srf`VyC72G{RN&kK>Dbc!R&=9r3FW-a6h* za8vM5dLY)w$o>Sh#YjD%2l8*O$K={$>hHY(SCww38i!Lf_g1Uo_I?J^f&yg;vf1uA?m&-m2 zjMzSrRk*MEtNK8`h&G7Lz%3*K?@U2qY@m5gMI8JSf6d|Vre0#uO^QNZ?PR~W)>m{i zBRr*VfESMB(YB*j>--J#c3Ib|)-%U=2e76-NWFmZgjiel2A_Z#*M`H+D!HN+{`oD? zh~yH2es0DEa6tS>ej%)tmhlHUAih4>1ft^~&q7bs^Eg1SgAGCKfE=&V7kq>Dacw{M z*`~h8b~5)uG+APz6}}^V!~2-8aNZy~KjkCWZ7ca`tl#vG$OFI>u#EzYSK-KU2G~>9 z23h^G^zZX6lh<=DqJKY7*>%dHUB8pJ*i(aQ} ztLi!9d+JiS+v=Q<|WCi61 z$D#Rqr~~WqZ2QmB+o^K&s{6zfbprWDFZ~<*4(Ii1k5coq1{&ZsK1cb2b=ri1$OPCE zgjdnlY&ix@_3~TttZVQNz`vlv0mon~*Xw@^8{juZ-h&SG^PtMW{Yl#1xbE7_zm0uY z?U%d(u%BW6FLodL+j&o(1w2Uy%t_6-dgJ>7Gu+4XGFGrxrTIO;N^|c#Jo6HH+H!Ry7 z-*5Jv-^aXBcmeE5l4rznZM*az&%(DPYujnJW_*%s5O}UWKcpNWFZh^$!t2R%KyS27 z;@g$bj?=V*i9IK_ITv6|eb;s()@@TZP>xD20qXR`0pYE~ntW5&v5@D*Ocx3t`ncg< znK}>P{7%shWC~?C^)Ol61s#v;U2BlO)Hh7^@OP}&-qdBLJ<&U$KgzmULp`KZ&LyeK zb5A(S`r^a6`JSmhzKib=CWMW^2(Xel0^wqQp8dyfz?izDZYK!#!}A6j2(oIr_~ZDJ zF~;?AZ{q#$-IyGjsQD(*4Pg|54#j?A|@K}1}^9~htCM}aN-B$L;kfu%ujkXFs6QAmO zd`Hwr+kvdNhmVrBOzN-ZwyGA9xngP|>K7j+NLn`u{Y4R!}ka*_t< zU$dp{ZRv-x5mBaKoSWmb@Qv&!?zC%BzmCCU**5CI=$rIm{z)B|?1LGe;CGM-Vh`jv zFyaC*5L*y(fifR|OXP2&?l1E*!j{it&L{L>d{4n$@C!Kdo{HCEEFbeG&_2XiKG34X zXMm5Am&!S=Nz5Rh;j^?6h^-I$1nV-_YoG`A$J{5wb=4N*k^MrQ5<|$G>-1&W+3R{M zX+YJ(BgYP8nazB}8Di`RohbTOb@DmLH{w8SjGTA72GZ7U(#xO^{6!il+G&ibE>)+* zFf9ZUc!%%Wj9QDj;Ai5zo-t>nDfK;L8{#}?d%;uSFA}*0|FYTkM;(&1 zZ8`TOtf&(}hqXb@EE~iSi7he)4FL9taS>Y~*2|*(<3J0HgV*u)7v(^6`0iC*&@UOM zGZ40@XN;59_h>NSo^2-Ga@-U5@R>7K!i*=O4e$WUdCF|sx2UrduY{+9A9Xg$1n7amY{pVXWQlHwa$wVXnp5x(VS*3(k4uuq)neZ zOq)BgkG61pcWv>wE>d{TYrMy2oMtYTcla*rAZ@Tt)-C%~bQ&!Brtl!41++!A%koG& zS0luJpf4f=B|g>kJo-TYrPvrPY1&i|VJPtj%%?_q5knS$uTZ8i?of|=|F!wjOV)xn z=<2;s7*=wgd3F6j4KcY|QvAGRV|6QB8N5LOqYqM-Gbv=wz;rSf*u(L&j33N5d zRY{&sIZym!Z*j_c=8cm22oJ<-NvsBSdGcUO`ys!}!Zjs?jaAts{QYb`GnEoaJRCe>wAgdt+afSPSnB!G6*W{aTl}WvcVuo)^hLElTAw*4m_L#}V&sAp8h!f%lI0^#ps}TQOchF?frT3l}CPtx-oW82HOx-ay`w=oY#8|eQReU0#_#0}d6`RoP!XA>SkIzV}!KV{#O_m_(gnlTB`H5Tgp+t4oZ zVCrcy$5Zqn^l5;BwAD1%p?=GFOxo2MKS5m#G$3;bH3p=9!~5j1nD;WaN9M@XdEG*U zFLwj(M^B%rO`S3l{Cl`IZL$-}2yNPw4_sI$>gG52Eq=2bXh8G^v_ng)dupA#GjJV2Nia&%ozJR!|PAcR4O-J0*T+9TdGNn%rbPv{x~Y9%E<` zPYb-$4=ZDtYY*P#5A$?0-#5kTwE?Ujb8U^-<%kPKdpw7&O5$HQAE2$BI*RJ6n%f!s z$a{Q`_n`NR&4+pb$A__QeuM9^-`oqEvYoMaZdXN5BR#U{dYi7hscV1F5&bpkjOOp5 zZET~&6EI$Z&0LkjJ1p=)8wzj* zoZUye>Z1rgYmVJ-^~-$!w~_#DySlAM=q8`ocsK`%VFNYM8}hc|dFXO0-^f9s56C3O zQ8U(p^34*rs?R)9e$s{@@0s`@pC_!CJCN~~Zb4el`5xM2m$5SbI0iqp!nU!Ewr-$D zw3$9eT{ke|2yo*(g|=ojKG1JjQv~0ZTaA$`^KJtF3fIi)jdxnePCZ?K18?}>435g^FNMba{(PN4oc>W+?$4Di*a)j_o8?s z#yEUnGRB#=oBA?&hJqvU!@T)i$Ltmo09h8EsyQZpH2eo`RTw7LcX3 zu*-B`;H3?mvsxQ4XYIeL44l1Mb6BuP`oO-3&l5VY(7mNjK={g-fKJ45K^>6(EUs68 z4AtSQ;LjuAOkDuJX~6;LB}Qxl>ZA^7vJK9LTo+wX{Dhd#TmFep_l>=$4(KM7Yn`L} zYw&H#7w{?Cq-bz1NNfpao%NVL*#wh(74Woe4M^o@PLjx@5Y!9s#r38{0FAOaV`CIlE>KiZMK;) z5y;z3xzF_w(fT1iJlHfSx40(?WfpxK-kkR8kL02-S7(b6#V(52CiDT+{%?!Q)+W7ce$3NC8yM;WEy(1)c(jZsxUA7&( zLi8Gao@+s${65>w`8sWzpyTLqcoxr72GVYbnECcgPiu1~_Or0xC_B!-`$+o{ZOo(r z;RC-7(#O03m$F_JbNpy_Lf%&}#eC0}a|&f=;&qHCSvLS(lQso2ZOD7T1Lx;D54Z{Z zelIu%|K~bf^{4DTpaaT?`GQ~gAY;@8e!@KT!lR+v$DmKu7de{nOdfuZ}w)Iq8HA1igFZ)2xTLtkOPVxMXEH1YtR(?392AUMZw z9vL@E+ZXI4GM|X%S24}AxITvay#U^pc%lA9oC3E~fMdx`(%dxu8%*+3LCqM?lYeOZ9(u`M{lzQ z&eePBNE?N5>-j6w3wD(ZI*pWyZh?O(z9i$7y(o0Me z*Sug&kN7&+X2y5$Xq5TVX1oJEkn{Xbiw|n+M>UqQ|KadXI#NZ^lg>}#`i9~)aoyLi zTh^)S{%c3ZArJnw3yGbRs#9?~7p);8QP zCG%`2Mj}Q1-FprzTEA zbo2#qzg_z6Ij@y*Z<1H=UrDSos&qB)_hOdnK<@WkG9dAA&bcmNH_E`l6No;aNdO8;(Ow~56QDs|H-QuzXrTuTrbwg zl^J%xDQSRXjrtaOEBpf@TaCC^&qL;N>=9?;Hv|sNcu@ERu5sT*{KBq5Ux6R*6`LMn zk)z3e;tV`NXanCh-$Pp{i)4>+;u(GlwoB&+l>OihEUHcXE_~RuLD0TWn?CWS`u`!0 ztZ&_@CR(3)TQQD*HshFe(Rza`^3 zfljAuGbRrOk5~ws#9pyYlOEpikhtmbefq?<(?=k-VZ<0mi=`lrF{VY<(;rBETfsH9 zBVi3(5NEOSbI^|D*l-Kp4H{sshQgq`0Q&Ny*$(+#&Kbx{7}KfjRB|2d!TeqH5yZ9H zj^3c_fs{>*?Q7mDy6(p|L1uBT+i&hBk<%XohB5J9Qga*APR1@{GGh|tG`o(}(+u@M z_QUQ+8?;&0&_*rxUwn_Tt%yHhjE8N%X`*+C?~>nAZ6v<{olx&{fp0H1J?jlD{@j>~ zIsU&B9zJB2t1fS#|4|R@HP2n}$=F`DgSy@P2|a}`PzI>B@wm>psXR;k51qAKVo*Lb z-Ku``d*n}|2QnU(Fjl$~;RxM1#(awRNhg#KGT$fuag8zOwABK4dL9NvOSnhdBJyYf z=b^wq^OZYNAJA>S@GmNy5&w)aq0NtTQ_3H6dx%>Wd{4E3?O+Tt$3Fem3jacLwct1M zgT3c0cz-MN*i(J~5J$p~`dROJ+fDpm$N%t|OSIXO259>R7sK^BTCe%;y8IdZo!A_y z(=#@F;?xO<+Zu=Q9i9H%#4W+`>;n=*#`VqubKK{6qm2c)6TM7uLtLRyKj1oiT?cdk{-?nv_*&wP%{bNR zNb(bMULrX(Oz+bMVL7i?G{Yn3{g$#HdPR#x{t~CJ$MAh<80!3!vDtm*Z87n1UA_~4 z#Ou0IO(lMt>w5&}pcnG^IhY&Fgk0!1ccZNHu*4g6L&^c_|BONVnB$-GPzTt<#TI}y zh-Mi;ydrK~=KhSA#~fSY!#L+=k-T^#P2*9=ldOLO?quDV(1i(qIA^X5;vBf2isL4s z6ULhu>4dffF=B{b>c^b zA7udfs3m;Wb^Ts+-Xr(G|6_aaO+B&K`{w=|TKj9)N@|m)j@RdbjH@*AQSf_-pQW5< zTpjEzqyvF9_`M!yUs=Zya3%g8=48RTiD>aw^v5&4mU-!2kz39!__ECXIHxp^e-pi7 zU6b6i@J)zK3U)lk1Bf078sPj+;=GynRM8sgg|dh|3i122!%)`#H5h#;Sbuu;5H@or z_SKL(Q zIp7uG|CY?}n14#)pJSRjB*R` zYvssiy`gu1#((UzN7yVK_Zwh!NweYl9_o8$oeVfZETzDiu_40eaSc3J)(1d8F#Cs0 zyqGb^G6yuy-FVM5KLqaYpoGd=6(f#`f6$oZ=EM4P^SUoyhmDW(Q;FqubeM29muNLzR_LH!op29Wf zHkNa4!8hhuGDZPcGmoXb$8Q#Ojn7~XCbdolx2VI>J4hX};1Y_AM?w%g3p_c7FXZEyQ=3c4U?v;8XfP zK?g$1LrZH%XSdQq{9Lv38=OD~oJYo#0XqJh16GK&fW0Id{sDhk7smW%;NQ#%`KC12 z^*>pQVd4dh1u&0a_-c%}CH|RLggK_)2mfaNqIeCDrth(S(x#%p_ryQ>BF9I-?pfO7 zTbH%KJ##Tm>gqB<dp4#*v!u=pRhH;3Mk>LT7*V8^|95Uhg-yhIV1gSnbix z3tH6kNG-@`k+yFHd`I$)n7C*E-->_eTjJ9-*?T322Ipp+8!`@rI-ugyBENw@k>7u2 z{6l__e;D!4F%CUJ^0RPFDC2s0P4N~>I(T3FlP3Z``$ksMf*}W9MZMIbUOdz8UGURR zEq4&U`B8KO>Knuv=*-u-YOK8ZUHA&y#xh&*MVhAo+r# zJ##zWbNnlr2paGmRYkjcaHYUc!{3XDaP7v?O(IA4LY{sII?(GV4IW)zySQzFcJ1IQ zIgf9Q#zqIM$9q^=?bw12+U=7&w3m^O*<@+^wS%j5nu=%Kt2*Ny|CF=fyUY#9^*;2y zQb%K)pTq*uUZm!Wf`60#_NVb5i~dKv63^86Fs~CIFxM_q7C{Day{gPL)SUItjDI5y zU_4$wvO#jo^KYwI_E1v=>hw zYUekOc)zhvzJc~0p59cuy5CKE_VBK`oow@sBO8UMkher@gX*KjF@F40&VmMLbEV&h z`o4@ejCJ5$aw{nv{)6EEXULAjA_JoNqQsUA9}sPj%%uuqBj(Y~9+cD-$}%X@QuCOUXK z{!O|T@ve9*kHojK%gJxt|I7McEcoYl$#XErm$`_8Gi*VK{blYR@&xs5)waJf{!K6; z{PvIkNxOZ@6EG$X0L~-?{6)QZuHClYj%Y8RJ(2en z?nz6(Pi^u}xMF?2&ebqi9j=9koHENN)h-@ypWZ2Lj;%eGI5+-&XZ)M}ufPX=1mp+e zk2BE6N5MbjKVm&>2hPD-G<$u1Dn204pCwHyT6iD*-+~`1*bt5fCf3pJp4)52zYcFf zqwwyV$G2&J%xx>SH9qe(i1wE6bsq1t81t{oZ*Yazix_kz<3PEWbp?oKix;ezexuXKQU;*h--y!CHvLy4>0}} z3<=lYr#1!;KOB<=h)?1LvNtmPwpj;{K`SP_6NeA4ozo7vG>RQx)GJXAO=&3h21# ze=K}o*X^jgUEDSv_M3~q_ba>+3*JrN3JW@+9iGwrFX5hjix>YK|M1(&nCF@>(gXJt zL+p>lV=zY)=Vly#A8Y)Bwj}o$^ZPJIDS40Ro{&N0N$~SC?m(`6gz>M&32A^ng7B+n z;>L@@b*#r%+SLOqMV=e^KI;|x&8mJ{XuuJ%-^7V`)XTqz*UoB3XSMvxxPL4D2~WMHj_hJlv}TYXKOCCNTjm+J5x$Z-y`AGi`44t-KQr;GySF z!nD&XdJE1J-VRT1F1E&JkM5c3iG$Z0Xo%k=y}Ylj(A@S|bb|QtkFiESzM5wnX@KXH z2@-qrvH3sjzgSypI|#Ptp^HT)l{qNm%BUB>7WA?Ce>50^22L#Q3>!@F+i3v0A#L#- z>%=|hlvj4n&?4>y>-s!uu;dq(zxfe9e_~0O4~l#CDPH_j_A);h?5vVco;l@JK@67I z;#CaKM;-sjJ&N@{vPMPX%E;?Mb9Iq-7<=nU94Wsqya~q-tp7#By&6NHfm6$SXipzp zi<1U;BP{5c*z9~qRTV!x^#`+UIUZiGXn=J*eQ+J$a*T7n7;F1fJKu7AEB;|~Vg4`1 z{ps<4i~&U9I(+U?Vz&PR?jKA4XZ$JW{|di~4^b~+T$<=6N;dsX_&34z^ol-W10bFh z&g6*S7vadmdhpf`RPg-`JP2bT|tJ&1lp{^8bp z;hyv(cEXRc{!jN0ycPcn-$odl&keBuSomkXz^CN$rK4}ovXI^xAYVNcsH*9LPxM8eis=!a2$AzuF|_}A-Y-e1{A zkNI90|4Ukc{YTaai+}i^8vmxT1$~hCy0m>F{5y{gG@#Gj&G?OD%qu>@IF3v1lV!f} zA?JCPcvrvQihss`(eK7MFU|!GMfSUeEyhd}9|Qj!=W0z7=X<0_-|0ihs`k5a-GD*b;Lu>pyYM z{Gg1z7ucI@K_3hM{{eO(vuq+A{LT8G8cT8{4Zyd@SYpOt zzL5p-@B!eSbAv#yc@k6bcj5k>@UO-{{k*jImesV)Pi38!HU}_phQ}z%R5y+lScG zzZ>^&#XsQ6*jwh@`^WTu;+An{EK0^3@h#^j+0XM&Vf-uG0Qdmowixfhxbo=pe?3iCb3Kl}st;>Ev7{@eDO4m}ID9`bt1 zW9H?e|ChW$+1^a!^slY|k8Ax8@;r#G3ASe1o4H4v=_v6(l1J!YGXDPo9LL7@)wTHX z5B(ZzJ>=o{qGaQ{oCb#9Jr1R_Mh?p!EG~&M}N#?y!<~lJjZqIGyXs0|1aBr zng4<7{}1YZMu|Bz%KLXYhhBf9(17XWuzeD~v=J>OjbA&k} zWiJut2>;Us`$lr_Nbdjfxx5_)gq4)P0&~Dxa0eVpzQ*^&KWRqB|NN7P?;5Jxo7(lj z@lTZYc;|C@e;E83Sj#)G4FYF2z}=r6|Fr1{{we?IZ{pr#lq;XhzW@fn)lbOZ4BY+s z{C~07|Kgf&e7+vL9p;~c%cnB``=|Qfs z-7LOK3Y_w#GfDWX(9&sbZaY47{Pu5?hQl#PaNb zS+cG`V$BIV`kUe7nA^;jc~!ZVnK^DuaOWNuG9P0Zx-8M_#jI7D#`+SCVF<&cU zb|gO|)=ud($8Q?!xxlyN@S;y&)lWYkVk~0NsPVnH&OZtKqkkN~&?D&^wpn>y;~tZ; zW=zG4TehFE4TvSNo#rj?NIW~^TlgHt2lqR&S&047xKAqZ$Gs?I%&B_R_Ye~i?R$)w z!#(Dyuvy}-ac*snqgL;7{K00%ysFHNE2g)_K>U|!WhZFQ= zGaq{QimSjS;^YtyK{}HC4>=cOt_^_dSmUM zvA=P_p6&X}_TRVZ|2phsJu26s$o^m^92naOn3(ZTd@xQy!Hw~(#=Mn$kM}U&%uuY>1F8&+Nu9uwocY&YV1 zWM3BIAF?C{jhMfKI@u8ON9&L(TM-082{XpvwUHp0gh+EE&3pPv{6jX9Pg533JSxXTeE0`GICi)nA$Kt|y9ZJQ4@YaSGlo^aG!WE%uQ!$GBU5 zNBxe5e|%5$jbgwX^tVYnMGlZYV*RG7gGcUL3EpAXae&AX8~9VGpU3;2ar{&NqkJx3 zMEYzy2z%*5e~>*hW7A#O?spmgs*Qv>VXuB0kAElrjo*#!oc&VzztaDN_km_PE;+}g zPGHFo`5U?$=jt}xtIQSf=iDi_Zy2w|iGS!{;K4R4pnq|%OyfJTowFX;DQu_g5naxf z`?1MBYM`aqp64~eKjsgX`XA>X$dMp(ph-J~r^KKmOZ-#+$F(@W6;~TnJ3gxZ7sptS zqfO-F0{8J-bzGDFIUmP90=DBe$IXuk6U4XMK<>t?cUydyd{%S?#G?zp=C{BrxgRR^ zfM{#fEZ%(sZ_poPzwOA?dR?&h#LMRt+`*TrchG+;vGAm0na@B6p-lj`33L8dWDH&1)pG^kAF4((Qn#Aus?*%n`JLj*mYpnl6}Ye zP)}vt6!z4V93708;hHTMuQzi_OL<2gt;XM<3jb%05X72L z$ER$Q0^ODRt12?bj!hmK`@>w*Tw@SJMp)1Q_Qc`bDCYMX;eFT&E$2zbZ^U{|nu7k% z{jH374P$*4ZTYd9-Y;`s(Qoz@b{)}Mh)YY{OI?uVoX^X%Z{Q^ICO+LNu6BGX_-Fgb z!{RM~aa{dS*V&&~;bwvVw|(zz^rOBP?Z|Jxqa2oY#?{}q^fT6X-||khb{b&8x;`QK z|5p6Q)sN5D-##{CgVAUF|2eqD2FrirwGWE_gJOTteIar2w$In&mvMhHd>E?-pT}R0 z|Kk3?^p$oWCH6Dgdq0#=p{e`0RhFD8B>k(TuZk4ZewTi|4da%REK=_5ZPcD}3_!KKM7j_isOE zziE%c7#F$d7W@b?0Ub~}fe$>kS#Vlxm11M$v;X$~#?}7#@Gs+o_KyEbF^yx`7n!e4 zd`a{H5Z|srLt88lN@}w_C>hS3aP0~G1GbDirM-?eNy19Xe*_+s>%=i*(GZIPf7BE7 z`;pB&$Up8K%D7DCcK)}QT8Jy7J(aPS@cYmYFY!B!32_U)0(^JII>h8STCucn4NQS! zSKJH0QFLbdYxyqgkUZMHQ8eom1;9eb@EthL0@Ovtry&&)KUDkoR7`yYYhl}79 z{%qh{;Nlt-f&K=g+(&=!{fEjO^d%7VeGq+Hh(bAE0AoH8j#fCLn2s|3g$L-oK!2tn zp8FML5$ZUEx`I$x=YI!A#JOuw2-03_nw9*?DgS$>|IVo{1na+(s^3ofZ)?-!;5W}pg+6b7C**ynH^1cr zZ+^-LUK@W8N5XgG?<&|F)c8B6#c%W|*mxfe@G<^I1DuS%(E#I5G$7jNWBwiy1v^`?GIYWdqozpnmIX!+Yo-O-QMZ~Gnn@z1|LL*O$6K11L$ z1U^*=jBi-~$J8mZq(J*p*Z!$SV=F6boLXBYOM*koUaLFuSC3xxn^>P%-haN8m6KKN z8r7N%xOD$jf5#3NXWdNx`uO0D%iL2W`eMY%^10oceLe4N?e7XKs5$$aqr3X=+O_N0 z%47ZfyRGcM<5`j@oy|UcTyVKGIW~>-)bT1s1_mDudj4ga^1ZVs zY}Vy!R{J5j8>hXWz#-`rs|qJayE^~jT&(Vk1t}A5wC-N-mSIl$U}%lG@g zSYNdJvt;3eef+8x=+Nw?W2z*pMlVi&dy(_9%=L83o%G=(gs& zsK-e&X0pnV$?A~L*@}~nTX$U6wYg8k=-S%YnWHv_9r`Wh0qfFLrChtaV@Sc+CQUs z<)qho|L`)|p38afZ!BBUGhp+Mb|c(_5=I5pbUWSlb(0zgQ7 z74q-tb-4Y2ELZEFcPkb=yXroxD?d2yNIYf4h|bS0CZD*kfZwe&6}qkcDeHtT!EMI< z?$q;-{$J$D{V08K+S>JoC45rf$7PDmo`3?**G7*YzHWJ2D~CqOisu~bU%~k&->ZfC zm+Mx4(}Pl0!<~OmY@IW_%G4WABkTKA*<=5(^^U2IDRR8tFlnT<=YeUC!LJ;0-FAO= zH+%i3{o1;#7`Xb2@?wviUUtBTYGy@&>-t| zBl0%P&@!-lp_Ew`S4^}r_)%OyvHWEd~l^1;eX6?&wg!fd#l6iw=}+x`bxzXcUq;-pe;yvans?Q z6Z-c{Z(~)vO|5cCGLCW2nrrG+=u>JY`FX^5Q3K+b%&uzPEr6O0Bv8q;Vdy_0f7O#j% zetOWriEWyAOxWPFKiiWAhnx0XTPLC8<&Kqn7R(v_yzkPQFDsq2UE#a9P{0zmJ}+hz z*zo$fXYq`qcCMZ<=t${icZ#I+eXt;P@}z;g3fDMatRCv_Zsr!B_Hl*E@Q`RAc z3)()q(52$~v%v!+riZ5uOR=SNnwIIxZ9g0yu{*nOiQ7xImaEby;+KsV(z@I)UaEQ3 zfell)dipAJ!fhqS9ZYWPT-k{gSa^z}X~ibEonypXcn?eh(IejOd;@bGK0$zV+(WbJ?!RdB1qn zxx|5K9Y+PFY+AE6%I-RS_KDVoI_3^vux-%ru?s?$Jvi9( zvGr2>CIg2cww6SwP(Z{X&Oio$l`!wz=!o&NOJK5oMmkRkJ{#a5W|C9PZXxEQbdLELmtktwcEi-*t zG}XS7rNGik&Aj9NeG>fIbfV?+N8LwUYTT}JXt+OQ--cN|pti?((f+BIL)D9m?c z^<&|uYi3%wch}2_`9iL4cI=sHQ2x=`-P3Gnns4avTVsMR_Ab9Aari*z{<~8zsgSC_ z$L+N{cLz4iQv8ntO>TvC@%X;^mEAta%g<<*>Cq)e&x_$d?=Jpb?^%(Ho$C1cu4p%O z%IW2*6kB=*|Bb|VntpavQDz9Pv7kG z&p&WF(fUl@FT(FS6-wE0*p4+V7xZfRAo%ya-t)%oT6}Tb3JAW4c{Lgbyl%7j%UT`J z_3fJqkV#>?{rGonmYwyQljJ+^u4@3VlFhS!V>ckow{C|J>sDb$ydnqO4IDnSR;IMS zg?g>Y7TT%AfX73;r{CT8Z36pkg~P8-pE6-(`C3(aZ)-5j^KfdP_T>idTI3MEx_8|H zo9q&H>>7{&Bl2nKOkW8~-IG^`# z(|tpk`<;vL-xgZw`l!oxscPP9xOV>J1Ce{5_1zg6Sh7H>6CGZk`*L-mQ=TWfgcNSv zpx5LhMT&==@m!J0r_0#>rL4Wn{rWI%Sh8Qb-X3>vY<^`F_%?k2fzZaQ&Qb*s1PGe7a`OTq09{yOWJ~4m;Sf^p8K6PuaYC*@pAO zu7+3hOWn?D@w{C{&^JpPY9#ZvlqKej8QSB@6< z7au?LO*XqKz0bDjSngz^TS+1UU*;=$Xk)T{(>iXu+5MbtyOU1qcW3|VRQEH7_ePC! z$~tgE*#sMRTYu4L&Oq0n(ua-;YSrV}%~xrTrSCd8eZPVin&&9BCtyX<$cL>1#_rbk zdLM2$JbR5Yqgt;naQOQA?5>%ojSqj3Ey#Y~v||nLpSbdJ{NB3PgX}w(S?+QDQowHe zK27`AJ=nC^(|y@Dj2Y8-Mrfy~(}_bmop_O?%BBoiE8T4F+qbOM3hM!#7VPX;{z<4+ z&*8-zUO!Xm#rd^$yL5J6UGQ{pV{N8mzpCFSIy9)X)s5wQzfMzXO$pDA#phMIvh)^I zlCCRiKh9RZ*657II(U5BeB#~qLx)xR%6Dh3$@_EOOP_CBsMnUdXL|V;Y}hPIL*L^o zdp#IDe87y5!`0K|ynOGAI=*X$g$xd}i+bjH;7Jyb{{CO)9hUk?$D|E5W!z|&<>av? z4jal;^f+3)+=fxf&L8?N#r%xk{U_GmRM)|I$C@jS&F@{xb8fazV3O+g^FmhTU;o6d zfBqWvw&b`Rc53{iL1R76wT}Glr=J&HY?SAh>tkC*jA@X)VeX?XQyov!rCG4AE;^oGkm40m6=x(4_mYf6E^?p?`ZN}-l#@ucH#VIHIzFU^9 z{mE-;?@_)zE{~4f^0Quu}Xe&Lfmy6;}>-@jEVC#%ZEwl~X?Bgoa- z)g^RNOEApy(8xzqlZ5BH<=^lAbf=Zx7`|HqXWr}D$Jgs} z-fW$Zcd+tklDXgc%z>VJ_PV9BF4Nq{wLI4f4rb>J1NX^xSN_?HP)S^3? zQa|%Lv!eCkK|4c2pSG_vE5yBDyY|C!4PQPqQIeI;9$CC1r#tQSpYiJ6FIhu;t!^a= z`SDQVL$yyWt#mhWHiry3g05}$I=|UH%hR%1JesAfQl)c|3yZt|-~SE%qwE_0d+wzg z+U96k?q=EY&9;Oj@mV_L!LrPAQ)Qi={_fs<+2^M6JGs4hR<9T7x;lmS91z;FnRAu& zUl&T7Vs^P~7x%namHm(0ue+@ovnj}{xOWG;hKpzQ=%4@C&7b`)?u)P+HK|eL>v<)+ zI5`BRa(Qs1;phd0Qm5U%@5~|pRppYF>es9Jy2gulfSDBC)!!xY3Y!gwu538HGQ|wr z4gP5ztQ&q8@l`#aCN(n69ph&I@NBxVxpSVK?ek;5tQ}p)ELpN=*hQy{tEV5&S148O zAD1-sZB(pJr&@=iBF6pVu*bUi$+C$@o#9~VJvLit*OGgB)qeJ{#KbM%Z|Gu|w*SSY z>#O8{nK8*hzwlu$n|Jn#SQv4>pkH7uzq&P&K3h4VP?eGy)BC)qwANy+qa2xw$O`f_jxaEKCyH8TB*Y}CQRJo}zXKn0#|8Cbj8QQqidEHY>V;dFGY?Wi11)De2+VNw}%ASKK9&EpH_F}ILnG(MG zWtZooEMF|Hcso3}jNiHkzAjTbH}HSkCG6>%E$mjYWbS#xeFsLQIQ{Fc zdx>m@>^a+}{*%rJT53&R|MqzB*+s=3`kgscr1ib2dFQpO?1Ekg?=7=vl7sF211Wcv zZPTE|>|IgUdfQgqw!(H@o@)7n4n=ldxjeGqiF=U+ALhS3DrXM&0r$2B7aru1B-wye zZ9MCxbgpsbh1Gz8*}LRTdiqDF!%C90I#VDGi;>(-u2 zlXUhv6xGEs;Iva{>d5-ZPAs1Bq{fxiNlRosH(_gd!KXJ;|N3)O<^`kr?{3%j=cIj~ zp77Zox;rS;cEJ6W-}${hxNcM07HJ$JuGPu7KJofJt@@5R6j^>|%U_SI0mEuLqt?ct z2j^dAo4@zb>)rXC`DFY8+qQcro8Gpq{FBRyLN?vUhdgm|Yd*bDxjVP5_7rzZlsTh=ZQjadmp&x-}2mI1cSp z{LaQ^MTUHTzEF+cHQe+2I_@d!S1054?S1;cx^ypLhD}SKei^W=R>zPzt4e3OIc!fU ztDHe$P=DGUy*tUNT7eV&w|99S@i6d8fpuHHFBdqcUCjwTQ_A~Ixm3DiYtQc*gg!2u z>&eXWQ65?9X}eBz%a>r2`_Z*$_D($KeC5dLh)f&HPMG2YF?>G7jvtENsrvhG-#+@a zX3&VO4f9=^-=~>&wdIZyw?`-S_#R3|N7s{8l0Qs8rSqg(D;h)`O_0HMe9jzKI<78w zyk-BQo=Z{=vT1m{P=XuPS}ppjeyxb#GeO&`*t=F{$I$(q3y(UH{Yba!y%Hx57+ma8 zfvy{N{xC3Y!ZXt!2j=PN6?s4X#!^cUtx0vGf7r#aGQsVt^<9>1?bkEQH_IJiZ#Umz zaQjUwXBIj2?aOVqoXZxi)B40^x6sQa8fIwGqGqSsE02G3r)4X<(5#7{<{aKn^S1uk zdY;RS_8T_rsWmHcX`dU7Gq1Wiy7^`Q?@ugBI;70mIh{Ma9?^Zwt9s>g!E$smW%3`x zTYM4TF?AiJWZ^Abyb3>*5;J?Wk!+b%RsJ2-2} zNQd!B@>bt_)@$OyrMI`E6yo$6k1 zzN*OLDm_Z1Kip$ti|hV#4@|Kg&|%fG6^)lH8k}~Ri-UWUv5zjTE_~yMEp5(iYH438 zd%D(PQy0#>wKlhB|9c}FKe)KSHr?vA$tn;2ec769YbS2cH@r;OhDrB?KWmNo#OPDs zgIkO~z9lM~a6S_rgs*3MX4q`S#|WU#^`{YQ?Of>zy(}#5n#o5tH*_y>kCD zyF&I;jc<)8;FrC~k&1;<-gSO)y8D=$DMIdCJ3qZzL+_+HF5ht6T>Eh8)-H?vzkKy- z+A-hY?IAD2>{8V&66FBxWKEv=FMk_9*n9BAc6O;-W@=XOVK0Y)HIr5DeRA2(AHo7k zG|zEwW3#61C**tbd~o;D4#gH`EIMg*<0e5fzi4p1fqVCL&Fc9a$-N>&v5iYQ6)Za> zbn|z)+U#0AXnNUg`5k}B>NIclpu)q_X4+P2nr}eaLo}!r`S#G86utS4-2L*K~x9wKH6D2BbO8BJ1 zl3q`aRzGq)<-op6_GU|(JG9e6*WUM!Jl=I{V%|PIyfR&D7c%;B@Zp|ey-&>w8(Jns zk3PwM^g0?e*duqZiffwOpEvIGu%^ZPL_7+Hz%o@-K9wcfd9K;k~7pY}MAYuJXDIj>Cc zT(iw8@%q%GYd3b97?)kaXmr?^JN4WRgItf5c+}myNmc8_>$B&uyVWww)_&zr&rjua zsB!ix8E55sb|icK`C|roHT$91*Tu2+) zZD*hh4IFbfcX;5H|NP|SbL*7|aGYBx>-VW|Z*P?Oh3t#%z?s?9>bD_dJp05~HJVUYefe%|RNm(#>_77FRY%=K9=Ef<1 z{y*zHCD&z~*{axpZs}L|%zJUu!Ee?dw%WgFblEDElMavcSdqQ+ri4dEhM%jDYD3c( zU$>t!woSeJH=>3N-Iw&+;I&)wl-r+iZD9Vkou_u~lx6SZek%)|uI0Kl+1{Qzst;ZB zx>CscfJ_@sCH$hUZIATJlP|M>^5UnWqwXg7<50<8DvdvxeZ%!8o*^$;z}m*a{LT9jeWi^h$!BrAV&vW;g=o7Cs?rcSnY>b0Hq*C)7a>lQHPpjE}j zol>;%Ip=q<@K5fw3*PP*aPVdNrY_BwmE8IC=(qnD0E8U$xpb@jh~zD*TIX#0bt)iY zh*P8DR*An3w?0^;t5u406B4BOeX`wotFIdp=k1cT-Qc`1!L(IQ3(}YU`Q@frn{y?B z-FSHF6}}!Tx-Ux+I>fqc)EP5XxK6w3(DgBkcUe$obIZCN_MAQz+2T@z*XN%4UN07W)A_`h!TqvK zh)T1`BW1v~OLa@l=`+@?)9b7u6}q+fZE20hyXPLSnd{ievTGe0+qKU$_jIV2+koSh zU4pmu=oY!gDM7OzN?C{Xx#RizLhI`OPdrrJF9gM$x)~99~qp7T&niG#ipmd_ng1*MM9Vy0{5g!c;-dh zRF_^qUtDBN{-@=g_c*T3yfU}r+BQX2Cd+m&-TWi|4PL=4SSCgC9~Zdg%bwkP&X1!* zdv^Nvt2Eue8`8_WUG8p~798!!KG5wyEl14)jBIeTz6AD zS$Pv`eUULM+qD^$>-K0^K{~ap;6CN}jf|xVw~cUIa4(WU^|$_4lrRuk-mGip>1@!Q;nk(AfhF!1NL4@M9;b*gza}4BX3m;b=StVy8t&wue)jFw!}>IvJF#=YsNj5_ z-M1}Uak_Zs48sOy8S`6)K~^^kq;2cExm`7%=~h>QIu01(QoU)3D34ap&UIeaweYpf zEwePL?x>aVJM?r-wQnEoE7l<8@xG_C?n&QnyyKzSDfUKmDwI1sW3hgZ&aX(maO667 zhwv6z{Ce%!Hg-Yk1xHeU)h^`uW8aqnKSVkg&uN$GLE7hu?6WOQeR}J~FA_G);oKm* zijPf6>zlnPdz)?Slc7dZsyr= z|8kQQ34(@r&Klqw^6L1Sk?C3#OEz(KFPvA|)Y?RS+s zUdv%wk*d|_g#>OGv-8`i+j9@tE&8FHM^s?%wkZ~W-?fq5)vvo)pHG*2bN^qG2MyXj zYv{4OcW!zA#vgrBYR@mGsUJ}{<0PL!`>GaR)^fIgdFR07xu%~CnpoKTXxM@a<*L1$ zye9GH(qD!54{NdKQZDCfI}Sa~OIpMJt zQ6a7y?sq9%G*M#z9-o#TKXGZmNE!H~gRqMLP?(H4sZdb>CW1GlX zcGgKctx5B6cUt#wpW|IBHVZBNyNC13{!JbZPV0Ws_N#*X+ipxy`_@7KL>OSOuiVU@ zxLdYKBW@n~CTM_TNtgQ@4|cs3<}|2#NJzlBsL)YGx@}C6VUkalklF4P?p-+A!)r^f zBug=YXtQ8n*C5ZdSDTHr&QdVJkXIv)4e8XQ$goZBYioD2TGIXD?Z7O1A689SFZ~GM zKX2hvwsUfOdu%L}w&?xULtWceZ*NsCXT_5%vpGc$az15qI??#7;q$IMSzRRJafQep zH}kygn*7=N(mR)7(p04K9`7*&PKRu29ol}tizG$5cw0A0H}X(qxh5G4<@Fp|i2wq|J~P%m-{@Q=RD_}_xrrh8&9BvvIN0WcOx@eCx3Z6a(?)c zkA{|ssWqa1{1ebS1pmT;s`nx-V*)gK6CZO1*|fYEU(%ZlWjN*>z@j9xt=5GrQB)S+ zF#-?EH0O`SWq7YkA3nC zXk!5k3H-q1+ze^UAp;$)`+iMsAwKB{ zrX6=E)VkyY4=4d;g}d^hr039&_GiGa^Ie-6bX&o$ z)qm&MfThe6r1e317{>no6PxEqF5V{{=GG&RWY#oM0comZJT!6GoqRlhyjMQ-ArrmN z3bvSdBkgse-hj`50TOAk*sA<4j`_(9PpCth-b=hxHc%t@3h`PAoj4S>`6Ed#daT=9 zUikIA6NAzFM~X}j0zvNPkfJVCd62KKm9FTFRskDz~H1V#*}hO26wwi>6;mN z6soRe8K%MfNi4^tI^M<+jy)Z4{--l&=ij=~nyOi7kv*8dq&@!im-gbVM6mCr=?3P~ zn#D=dH;QO#cq|02@t%dtQv>AY3Os0r?6+LH>W z#}G^RC$^3-R%#y(1jv|B3(nG$M0Vn3K8n#$kbgnGCxR${>>JcmTSynYZWF{o7Dx3qfc(1O`*KPXKN{9P5>Kh^BPKqu+8Jw_A2P7a z%Pz6ewL4uO=)gKLgukFpQs7{c^>Q^z>wBdrs-F)_IQ};PGQwL}E|~YOF8sZ5vbwRr zjDr+QoeSWaDWS%{Hd*8kH)n;^K7Yc4A zmAea))@k;UdyZf4Pg=q?Y-vUBoY+jf%zsR_5WI^wY`nZ!R57PU=SH5t`zN{a-??7K zYP#|!>NW1Uw;SnJw;J5D+P_y85v8impHo(A->W7KZW##K8%N&@3%=vr zi4|j8Su@Zs+IYvei3FOeOn0O5ICT?Npgw@bCr_6RRCdE`|^pS8~p!qpSj zGr+s*XI!_oRonRwHjAt3ffIE+HNU)#BO!xxZ}4S$vxWUqBZKPZubb^@Yy*%KLWh6d zw2ab!WZchlo6zhP)Yn0CtEk~%@uLMrgwFFtbh4A-Qpk2@AGL8vIUPJ^F($Y$rx11oAa+P+fQ{% zKz~5{AVN=iSoB!v1lV~&<3GZOPmn>P_KG$R8&je8E<=@yNj!8P6;K)!0WZ@F1mpIs zq{qV0$1P>I?48o;qJ)z5CdOxG805QUbVoRvL!%PBuUmj(;j5%ZIF9aICv}vVq}186 zfs7CgzHZPYKe6!W;@Lxnfp|EQ!)$pmjEuH%`zyIdo6QzP0O7>!o@!%N6~L;?LguJ$@qp zukuVa#YfWzo61DHDNS(*4IU8>-uJ;gu^SUqh%PDxWB(u+#Po}|mWR`lKX3Lc{-dXw z-{NopOAz|_`bfEV(ktO06k?0kKM|FqAV(ca$3yIu?_b>NK@_XTcl#8*l>%WF6IOdU zrD#inW3pzic#c){C_ylyzVq;P#z{6TGdldL&y{>M^-JJ-7TJ#c zIv39I@Bdng#aZpo-;JKaB}8KS!*1sA75E;!|h|4@FMM$G;%L)=$Gi3q6Z5mUD`>XB1tcL5JHy?g(R=^)G>i383u4~d za@$sgB(wGiW;Sk={0Zbx*4W&VyX87BrN#>OzTv)f{jJXR3>3h-hk4I%W>`#%{mV`) zf5+va(3!J5d|{3BbXlc;w+uIlHpRse^|MGi(7MoPIsf@9N2xAQO4M(b5Mg3k zeI}<00OP*fm|d~tVV=S+b8veDfH(b$&@d=jmcVg!u|Z0>Z3a_)EIZ0@WSckazviSO zcC+gr!(C-?&crT3*dhP2=m;6{V3Ke)?Pq3VzBz8mK}bsDGQGR41B;tORSt9}yW_dM z#V?1!=n{C_zR+O3z&&w*wn=v!?f11W&jr723dJWobX!JV`LS|=2(S3l?4ZB!Q4-iD zyHJ~WqRJD+D&vYZ1D5CAW2S=lO|+D(covqaAde>UeUH9^b5!s_y0!>DTOR*o>X(dp z)}KzkMoEoJBlqxU9s6}v#qV8SvumHADON%U@Ks)~)HJ1)T8@Ckte}x!E=U`VdfZ0S zB{NfdIO0~HZ1OFrF_65IN<_LA#f*(~_yjH8ZHt?C_z)z0ag^4k{;0WetEz0TDwoxv zfvs4!2*Qr;Z^~Ck_i(csRp&gu(G5ElOYyA=j;#Vo4tR4~$>iXMX3(DNU=cqH0-zs7 zb-3jqYi=-TqGd#*Dm`y^ADvG)?Afo=05`fhnzo|a{XpE$#C<;3j~q)3ZI255g=1jX zsd_MfjY8M^?<`pgxhm5T``Y}|q{ZbB^|klGse(G;eWhHcc$dv(jkrt3LHce3#+HZ1 z(N`*(s9X!79=KN!_#|UNRFNuqpPm0&jG=^< zDV|)9;?p|K${XQ8Ox&v_q3_kvey)ZeXKBfbH(K8wj=b`Qohmp-2Op43#3XE$@$|=G zllMAZDUDv<6rzi`mP9|eX{zXNsx4iRKHzE+KHLFa-49yzZ(LxxwHb%Cy(!-mZdyi6 zPgiz=#YR;w7~A@(vPQwQd$QCONuzoXffqSItM-qgDAV#VqgnpMr?yAj0;CjD>9)R> zhFFGvMot31prn?hA8Z8l%yblyvF%v5;-yLN(zRMN8#Y_C@WKT%_EYmrCBh{rMb!s$ zlN=c%<`iklJ^)Y!hl@at?{Rl~QlWwid}Xcpa-oUNFM(R)Q5TfH-(y9+Dudhv=r{?(Z1`+_zWT5G z{0HDln-4*~*TH6`d&~SuACNhv%JnH1iry>|hlXTl)`MiNUel3lOjuJAk`D9GkyXE^ z_|%mj@T*yuy|59ihy92oSbp~urn8{lEP$sZQzK2cYXStw_M#fKGv-81d2WheqeiWR z+6SN(cz@X4(8;@KDD>@sXb~h!_c%v|Rvr3E7n?qAwvM)8mGVb5%0^Tgdq3%th$?tqvATjtxth4n{2^@>Nnk>t1!#x4~!v zz-Gp&W`|*rZ9SGAEpTw zsjiDiI-Dg4*C`W!T)3+cR%R?4Yn3rR$zZGDf}t8#JI4mE^Agp z{Kv2MUWkZt)o>)WgT#PO*m0KBH;J~7AarY0O^*V-m?Y%(v_y|Pwxk03W8JSLL}D6t z9l6DuhzG$09}!wdz`E^1Yjbk{6#H=adg$C;lQ3nT)*&Ct87l?Bo_WN-;~xhdUDdP$GlXUTY|813Jw16*NIB@0T<~&Z(j~x2RM&Bc(t_vzlBJ~V0S{Bi&olTE zsV+FbB^gT8EUy{C!bz+EDRWDU6t8P@^!+IuMZ3~o5l5{%Y{hW9N1j;4dVM(qWM#~W zDGu-JVWvfiJYLplCu2xbBdY>D7D<+d5q($5cWFv_^h|U`7Qj2LKAT1OB$?3+%_onz zTuBFl;EcJ=oK#D?9BbYGGojXisNj3h+K{e1&c@0w__EyRKd57bOE1hY5G$6AO?CG{ zdM8pfZBKU+XUFvyCa*Nv%e6+uF?#o-X}(S&k-nj<4@Euy-u(u9(az%nCz@5m{zP!u z=H(Gs(IC0fP!Z<^)tJ^H@5#>p^Toeif!2HX2IYA(MA3XM{O1-5v9v{A8^k>Lug~BA zZZw8ml`58PVt8;hiuS)Yc~d4VKU0l23J*77-mlD%Pq3uZDKW5)xGflo{vqTqQdtz9 z(r$5fGsS;=Ct(1ufb)bYCUVGqXz&yA4Ob#O zECyOzP(5*kFFCIwjusvy1kIQL3(>e~Y#r4{+CB)T_(GvryDe2qt>zJMV9DOIc zOzuV&go30IAJEVsxJl`H%ihfhzn33dPr)Lreg8_3O!lsK5DFlb#ab)wMrN)g z$UbT2-eP>Okeg@9bNH8*@PS#|klGQ&-Wr)&iOJ8!L z@E`Ba+J!+iH=bz`u93prYeHk^DwZrR;ElL+t8%?`ec+=M)SmDWpeRBHX zcegmPx%QiRHO^qV$zYS3fGS&IzqWaq04LYHU4QxLAlw}W!sXv>#6H~>yAFio`C<_ zXKR`dsPIh=(u9o-Nq+&h2{r(e( zAIZF76G|#MR1P~izGM!*lw=nUp| zzd;7WmP+IZpHL|2f{Mk0dZmW{7EB(xA+?5Ls~}l+wrJ42y`8Mi>E=u~3}Bi2>+tt$ zM;YH(<5u8Zdsp6pylhcUzilEaxFuJbD*^?fn$;DRKY+_fLIb*GQ!g97Ro>nzB~1Ox zKM%HC-AsFfe1Ca+eSlg4@6fs7NmRzadbJy&v8EXQb09uc)DOmaa&%m(hw+U7rg?Dz z&hK}mT(h&J4B2Xz^P40JqCL7am>Wd+Gn~+qW~43Gcb_ zhyV_cSZ!th`Gd;$U@}}34fxY4s;;|{7I&6p{5tK$s1!a>m^bg$sQ){**aPjkP6uXZ zI682e2OUn|{|x|;3XAA4~dLO{i6y{=rQp_*UU6D|UfhI$l10Uu6s z(wyyAl3@Sc%|E1ck8euXgl{^iJ`2GhzD8-p<3HicPNvRLAu*z zy;sp=#eXFGS2_vm06ZHDYAv(U z5B##-5EAC5Mc{_%cW*+!x^>B0fM>}NB&Z9_8eGIHg zWg>t)F2c_-36GP{30wMV zLT&$~J9(S}xOb{IPf17gUoL`|w)-1}mZj;US8)7H+i*$GzepCYg zrr(~}zYF;fY%82!ng+GGdBmMBf(9VH6?gYtw8Z`R*uthT?)kf_*3tpVAwc`fP*K%l$$`4fT2oYItiWDci||sQgpH08Ox)RN3+sPmV9+ICJ;n57sxohSMLw3;?>M(jg8wJ3-iaSY<)|ZU7PiW(Zh{%jD(-O&)aa_oHZIN^MZ%5WlHCqaM>r41SKL+Tj= z=~1Mb8aZbDN6)ysal18Y;D_@IIhin6PzGNIo90-2ZemA1$-iea@~!g3xNJ5_iHr!l z5O~I?D7TpE+%uykZhhBtp>7nU2$zPE@o0feWHR?fbde}U1h3t2+|^>$s<3=xa+wh( zGQQtmG3muL*ZO)^IK}}*^?9uDEvnGtlZ`OYyvaoBtzq6j;t1Hv>859%W)^vIjb;_8 zx^gG|N9CTmDdOvj$A|Z~J$TdU_Dm(YIZY)rrtD41(7?tBg z3gy5MM(#F>tfQ+fm@wrKAlT~Jco*;V-Q^a8;H4-qy(c4_#-rFYP)@u~{p~&6>o+$E zLV8GEfed}4Q5Z+dj{XSLl&bCG);Y_ZwF?xV?Efe4-VR|9sUQ=JNy#Ky7GzPB3>DQ8 z86uV`q3c@C{JdU38sM%P)wL^ow{PF;F#d-A!KG@O&$C3|g;Z?JMJ9R(M4+k#i>I-P zeTyy~?;OqG@M2EQNLY<~+DeukRjiSuiGk>?8Fy?Q<4%EsP^s^v9Ah`#!{kWtL+bb;+50;WA_{vJedM=ABrA$Ur(G?DtGigV$<+?BxBYKhcF-2#h;P zUOnNz?1LoC6)BG#J!bG!_5;mNKH?aDrxof9LS3DYOO)?@%5&o+Y7=J>R&J`vY9dGJD!u7+XUfVS1BeEEY%7azfZeDBlmxQs z>C-P5%)tfuc^HAYE7)6!G(9S%H-Ok}dJ52m$b_6zB zc_pRh*Nxu}*F&r>P(j+z5gSpBY}D&pu>q)IFvYrQN=BHU``~7OBnG|T4OXZrT&ETO z=%Ih#&c81^(AD?Y(;=DXK>%%&tO1VumVxr1%`+ty;|1O(b%%@ zFLVy|3&^7R1R5_sB4F@La~LfIk@|b&s3Q-*@~mNcy^6UsL=!hjhMz-KGG|kI#*YFh zg@XQCFJ5FO3{>X{So8F7fKo%qU0CrL#DW~&$bsW{zrIsuzxz$|o=K|0EmU>_Oy8q0 zO8Ye8TRamzNd(HB;+33?fEi5@RBSwYlm8v+s$Iv>`M&gu`WO>i#eU-B(H+02;o$wf z&Mx_SS!L@?G(<@T^{K{DF@)@o0<5LRI9wd~qRxF;i%E_oxzZ(5aUXQBB`4U@F(rDx z>}+_2H>q4298T6#BQIEO(#dGq7{e@@`;?V{_~l8Mbbeg7S-x_9t~t{TvK#Oohh1Ki zv6?Sus^GE|_dD}vUFuoxFA=BG2F%tIX*X{+#1bsh!#`%X`sp~(w zbz~74b_Y$~Usb$iZB8p1D?_In?{ty!f6{-}iQn;vz_&sCYRN?vsJdyK?30uN7x|p;XZRVQ@-bqf$`=F{Tm7Fq9eKYm z;RikRIu)0YG}UCCgqG?KvzD}hdF>yxmLckuq2V&ptyt0op}&;0rli*27P>mmGA&+9 z&74n?mFLU}_P%coOC{8L_7Ktc$bfb+y!h<ZPq64XUK$R=%zbAr&SwK=aC% zYFGX+)Z}yhE1JF~kh2aktn^P`FE8z+B(DS3Fkcyn%Y4$>sLdIVuYH$r=Q7KNQ>y1{ z^~uY4R3bUs%S=rC`y3=C8m(?>B}+4QU3uFO0^8~;LG7jKseV|_QDWmHruq&_AA=wU zij=VG@Dnx>X%m50zU`9|gqkP4WQbK<&a~;sOeWT^@%AeVb@Ht8zA1_qiypV5I@Mm$ zo$ff^L+-8Iz-=USbK=oca;T?zdMMd~Wu|JLvRUnoZz`^(+3mrtHCh*Eft$Fa) z8`GefMvpZ1ttliIoMnejA-8&;Lk#Ttdno^>zAH;HyL<`sMC+cp<0)A&5FuX~4s7{i zVT?9f@Ot#sQvoNUFOE9lj%)LljDl_xCQVhvLs~gY7RSEqnWi4${l=F%V`=@29m+I14dRHYm|b``(bri01g@oi`Yf(eVP2q3^oFu`j(Y1V zl8#pFx!K^!A}MQ`ET|(cTVqP|91*V{=rt<>BVmN$?xGn3xj0)KY=Vr4kF9}ZJ|BB! zQ-3%rfjVh^n9B(D{T$2K>Lm&Tl2{T59Pe>gX>$bXCJIw{MyFtH{p3|2x-Nfg&KI_) zzLUBYTZ?fe!Nf1n7%s4Wb?pm23e6$3@PdGp7!gvOb4zXx0{OelWFe>zrt_r{$?&MU#=BoTw+Cm`<0 zbVjUNgXove-LNH#m7pD1pca38@Zc3zQM0wI^iPs~s;gALl_*2Ts7O@)iu|NDVyHG9 z0JucxF<@*E@bSM<`$Y>wyL0!##)! z+t~AWAmySjeQ%4SF;6l#eqF(blc-N)%xsWpMSbY*5T3X$8D$Yl^rHPQYj?|1unJuB z+aHxji?n6HY}W3in7XCd5L?psx>kP+KicZ|`}w3ko1>M{i*f2Mv#peZ!7Yr`Z&XVm zbI5NoWS6n-9Y^q^#?ZHnb8Ej;<&^zV*7yd}A5dV#uqG>*UrKD6RIhY2W=T{wEDONP zmcC5$QR^WipX9DoneH76RUixvIM|WFLD?rE4lN3q_V+F6!LAc#m$xW5Ok%?1M6=i> zb9bmrZIxraTpTt{SilpY;`TSL^9ux?WZZxWC!Ws5vmLlh*oh{pfALolSyqJPw>n(SAt9gwv_(AUx>SKmOQ;(tHix}U<$ z0WSR6F0}hr%K^c$JJXPLptr}80-X9wsb9LTEzT-u`9fzPUS2}X6hZtGk|q6m#IGTl zuGFYQ>ov_xV?3V3-Vj(}#q@UDq_Xv$Rt(5?M0ryS=N)(+70`^W4dO&wBhZ4?q;fcP zRF7}BDZUY0dOkx*8{9>hhSnw#s>bS9;|#jKQT5>rMzbekIy(fmLZQ`b6lSD zQ!F9%@!fueCNtzkzb`7x6sAymOZ#>ikK#jXS23d!T%zAffLbFX)et1KLIK)6jT>p> zYRJshwn}sVR>-)^j7cFA*Vl5u2g+F+>rfW;m9wZe-PlC?xo3p1lyvhXIEi-VN}_nZ z$7(h~OeN5`g6V%0FtIy@ULj;zg2~eK3(=^HZ{vF$w#iV+4`(D)#1A*+Ba+}>~Xf4OOg~- zyDq&`MIm5uD;Tvg_3h=*fBnS}@6i2y%e4m?FD~XJCDWEye&czb8$F?GN>dGq%v&d2 z6<$Q9?&f=emOPCSU(vXR9%%x}HqQ2_UP)nFte>?*qQDRT)!!E^~twMSoG2TQ3uDhb9@`CsuTd>3fJ9*m5 z(UX=5pYsh&K@syf#JB;fLw924S5UqyDJGE8TjTKe3@u7;6J#-EbI`TXy)`$BmYqHN zj15b&WtEDuwblzJMdG~9OEF0Vq+qRQ=w62nX$@s)Ylnb>uNf(bDR-gj!sArLR|G}h zwAlrL86%C6Xy1j#zs_iv1vy3~>Wr_)ii=O#_Uoi-E@D(-URIiyR;90u^@P5mdC3PA zkxSM6bo{k5&7Pq2Q;2A)^Tsq9py1Z|Thkn}j^&vPj9GHw>>ux%-MlcSY<_!$#`;Vm#vFipj3OC$k2L0CI zj!F9&j0(-?1D|e@nRswqREQ>*f|$=tk$Xde^ZRgOx&Z}6Uz}nLVB7RcCvisEd_P-f z(Li!D&9l`eQl-L=%yo{`pqXKW2&H*WJqcGfBb;&7Q8!A*K=pc}fi~19s=55xBFy0!0A8C9qf;!9Z~^^I_pf)qeGh0pGdE>>+*HWc0-r z0e-0vt5$l)t3rQu!8@jGg|h-i!`1eF_@{Jx^tDqx9Sl?cJ7GX;Sm46Dg{?=L^t#r2 zB)7v>3}F%>8TX&?2f1wy(54J3JHb2pfCogu?I0G7P}6q)O$4c+kiW5*gzj<;q`!6! zU)ib%mc|jZ_apHfFhDvQxXuvo!Doj+a2Bn!B3CPSx4um z$e8G3brO?%B&hm6#(VJt2MeG$e?p6Qno@?pGj7d!KjJd=4+YKAgNB8T55507OEZ!D zOvZDvJ#7E`voF$t6zLtvH4J5u5G*fRw^$OL3&Flnnk=_EUPEsV6r|3(x+0#yp#HdY zQ(lH<(82I?eAfcGECN%v>|=IjR+wCVv)PcXoNyTP8wft1J-b@qh9y+03k6dp_;!-B z+hlqA%3v~GaF(5&JuX*`)W< zfB?%-Ty19VNU2jMr?nQ!z~pu0T=}waj;F{-t38buurqP~?@Ci~lpC+s6qMiH*<2uc z^w11@cQwEWica1{7(k0#s%75A`9F98fI@7gA7pT%Id`SIbBr()u;viuf6rGVkA$6A zG9kYrN8Mt%3hc@p{iTmhiAjD@qlYz#{08a^*^NTaUB&>GEyk(kRJ2$#J9z+L^0bOI%nzw}Je_>!Fj2o& zZSZMYdz21IOWrVQA)QG?5X3h2Pu@2W{E7yTE?$hT?x%6b`h-;9IcI0^jY)^pwx@Vx z8OkC7_>1Uzb4qlkULlkM1DmV6T^EZ`EUYOW_Nbeu;@(JHB$ryns2O9d#{an8H_U-@ z?T!^Nv!%cXv1jjm^mBY--NsJ@vB9<}- z&M_)nS9~kH$^)b>DErI-POtJF;oVQ`rrN z8y(Qfs^L2hlmy=nb*xBaUF1L!su%+W8%wm(+Y4Qi{(T4Bh2C$>er}AUPNUO%Gb_17 zJ`%+yFTHX6YkM|1r%+b-=q)B>`jcVKK+ktfsM%JyRQ>|RvQLOwmu^=WV)lBz=Z=H( zHXYbm2~C*bvn1n&vR0l|(+(8zBi;_OHr3-*aLeb)(51}@3u5_C_F|#7@?*Ut$-(3< z_CEf`4iJB8N#Qo3_NSt6WrWqf)qRkrlCbvN=X#Ee@E#^&T8jjIWF9S&-8@ETL5jKI zHuo|$rRgE{27%}}H$9{cQlv&k$bn4|d4ue*)08mlmEtx}qlm8V(QD4=ugLBMqrVaH z6$77MHXqzwAJ=g9?^@Y{5LM#3(o3{IwbKG_29XeyB25vPyu|gW+q})W*dzvOy1c+< zGbsG6DI5O$CsSKORpasi(~WQ0kT$IcEbUj4t_jk^tPtSPJGAe)`D_q*F@OXjr04p+ z;$aUIC6_rGG{CeU{Br)iuyT)Tr=YX`(UADveh5-JW`H^aEr6JksC8OcL52QJ! z67)r;m1Em(90UQxY?d>#KKr^z)I#c>vHpqDtcCu%_`XctNQJ~|^@jcXzi$fvNSlvv zwEWNqCpn`q?crefX#%&uJ_mtU>mN)V{h)kDnXL_*}VM(aBDue6YYP7e&u z{vhjm$8A4PyWWJN%$ZT@b&b77yg^2F&$+@EnG!Y=Dh=p#62Fi6am{%16;nwTy}b6z zi~Y}=q2tWa-lyBH4wQJ!fzNVJhGHoQnK*Wxm%{#-8Y7Nsucb`7nD%)P=(YRbFek#S&zNJ9vjHl?iBOt#!(1ZDEi@)6J9jR9 zh_*524V(TSh3fOA>Q>)eo^{XsGBj+5;gXlpK^Oa-O`4|lRgKQBCrU23^=J84+Fhq# z$o#_t639%$IYQ&RtW;}mTkx@@w$pw`2Yd{|sF(qKLb5!aW>t-k0-j}H^A;b+K*+sW zlL(ZIqSAjNV02_}L>q6ECL=Dj7d>vwUOxj1kh~Tl9pHNx#HBJUH>g1?hh3pNXFAiz zNc-Dh2oH{8;ExMSqUM(~W4<$Pq5=O*$tgv_n{L(o_G?=V_TG1F2)BsOImE!$W!ow( zKljw&?uKOy=dU*C4RveXEZ_&SP1x3y^o8_xgU{tv7+y1d?z~{hzI^? z1bp{11GiRP+Vwc%1c_;pM6hs6fsZuaMVxbKOAGz zhcSsmwK_D~wE<_b(1BWcc8FI6X~4BQrU8a|zV(4_xw8$mWix!QY;CVHZiHqGYoqKf zWXvcMfI+FOx7=O*#=v>f&^Hg@M_G|C74+3Qtl^wFldc`BSMfrz-+VgNTTZ176coxo z^{ZSFwQM*Z4|&y+90i-LnHu`$qVT%oo$b?7%=AmsyLw)NXf^QF#`yxsbo|F3-7fR4 zGUn+Vi9yR#jDu8MpzgZRGJ7v z$^k*SC|(=_-7c1pny+{FGCS4VpUqx9-t{ zSVMl{oGzM7C;G`qrw00XAioGDk(QLnkFo>|T(Zv3Xl{TQO7+|`UiV%2-EWHsf%{pV<p%_ z#PzpMU@#PK?TL2VaFF#O`^&Di(d5#r!2qS>k3T0$YrY;BOK$?>liUt=9* z&wdmCvO&FjIhxM4h&=44SypZ*h@%e&mIi?x;fuv%s}v%{@T}^J>Mj!*eMP5 zrP$EmyqyWNYtF$tW@P;t-{{MaaF19E|EgDlk_m=w`EziC+u`_y9D&2Zf5BmOZT_f@ zWJ}V)sX}F`7akmih}_JL4m@C6P6+~1t|8uqg^#SjwlJW_BYlcnm#yYqm^gqSIgH!N z%&!x-1*9XLmb>kY)Dik33Je5OlB=bj>EQ;XQBAur%5}?<1df<~oj%Q!A9U`=ok4UFx)+F^{u9CRAN`<=EW(*CKFV=a|5ZbE4 zJxIzvaaomtv}MRBvNtx5qC@*> z?NxZy^M|`B71*eeFM*A8g|Sz~8_(Zw=^-+9GWjN%Pw_qBzV3(BJTH%S4;Now;qgtD zV5GGEiy1#$8KSqOxH`xfje|!bh<*$`4IbR!8)=-?o$h22b&m*2MCEcf`4RaA*&UOC zK*h%8!-W5uyhI7BstS@^eaGTiz(=IGy7NDdCCtzNfx{dWznxk4qOyH6Cbit*X0 zNb-EU)LoOFxkGt`qEUkXh@x+teadaeMFdTcIXy&S00HEkd)QuY%U|L@iW8&L=JEB1 zV6$)wU<;LO|F`|&Tu3(PJ@u5uI2o*LG_ ziS*pb7OM77bw|0wQ52eTSR_KL_jziS^Yt4tJ6V4cM4}7qHu`FUx$Cnbsjm8C_*c<& zpvRx~FttooR5iOTJ?Q}TuGJ0ye5 z$geIhDjR!7tP3J+a(kk+3+lmTshBaw;E%LP-Z-=9mh~)rZ9~Aq1q#0-$-syy zpg--2N4Rp!VYyK&nj5(}~ikm1|s($caCd(50m3vi0nEYsI;i{&oWySQq-yYRD zeoV#8Soa5G>yWNOgxFx~hQ*}*_^^yCal0EO_|Bo5<%I$#nC)v_y%XX*_Nid$&G-e- zn3H?H}&YFpKO|qHIHvsh9Zf&f-Tl+RpZ#0GW@uVG&nV;l0|MjeyQ6RTfy&<djIxbV#8Hx%;n z4;>#7BfAkz-0^euGx|1O&Jc8l#k1}&}*b*k^N}Edc{jN_WtkffNUeNI)$=()x#bdVP zWdy@s!S^-{hQ|Pj*Ai>vvWFM~dj1 z63*+Z$0d*-RdweSWJ0q-262oFxFFDQ{zywYk6!&hLw0y?@K$iU3Bi>Ye0P7W+9d8l z$?toBsIQ|a6%iHD06P_xT^C~48+Vu2BEr9PIY&V!<~mwsEYT9`=LHK@4>vpR3$T=; z>*2tE&HV?xp`3st1qm1l*p>J>DytLEvK=I@5Q+*V`z(@6h1^>Q*aHdM5kzYmjY)C+ zs#A}D8-(j3MDw#EiXB6g>?WR_2i>$dy@*-rESPiOprfgt{lt1BIw5fC`#YE;bhn5z zLgYM|iGtouTO4^rwqi2$Lonc(gb3BnyGBIiwHi6oQ<*OH05XEqQaTeSVt1GupOBC3 zJ=qzE&^D5Z>Vb+;-#{OrjcFASiKg0Tft09xeo+FiBVdeI&%$RJqt7E#uw*x9H3z(x zNxnNu~wgwd#-a{=&elue+?c_rszZR%?mhEFcl*%++3eI9XNFSFbgjyghSCpQJzt|wD2c= zM(^Jn^Wo@60i&$TJ(dplbn(gZ*r%{Yvj6P&oLSllA*xeP{S$L%D*y5aLnC_+KNCK{ zlTlC|NAEMx1U8WRNuOyep(4|Ync(hpFwPRG!X2U#0^sw?6KwSviYl< zDv$D!)aJEZ_4uU4A%fYBw`{LyV5YSUYn(OuJoV#Mfoq8Du5pZ{k#0lfF0@eP-WJ_K z@Zl^;=4Bi|O7O&H=CC!H6|G9I7L=;*v3{ocR-|4yUIS2bHD3||%DkvlVA0CCIG1ZH zaU8+VVdIq(4>rmOwb1j+qszGIPU1o}vzThpq2Gb8@y*NB#r}GJn}5)$!8YJFVwf?U z85l{QNY$1Pq&;jDAI#ap;qIwoWRtMPf3%)EZ!l|qS$qcq;#M=50^sEK^vH7-3{I; z-}9d`o)+{FXx6|KXXs_4B=}!N=NMO67e?_LCpXn(YqBQ0CQUWjw(Xj1*G#r; z+nmX^ZM$2&=l#&<`)l8Q_c?n#YyB5}p3Pa8S9@-&;&9%sF@oEg0~x(Hvs+&BCztO5 z+lR%fC~TaGR!F%#Vq;EGNt4|RS$Z!kMplhmRc&{Gfxa5oT~l-iCy<1K?76VwHVXm! z;~;XWDY2}gkLilZ{{xpA_MGs_tXiG>9&#=I!j{?V)F*Tt^QGM#J&T_TJln3SD}yR} zCk&w92~6`wQmbfZ6gMB+8ZU+TQnRI#n2;=;0azV?n~AS#Lq}rS%_UbHzg22?H){%B z-eaGOd;#Sx#W;F8U<0ymF#~ge9QrY6YYGYc5;aJN9b9Yw9@v)qMWAi5*QzvTBMUb1 z$){O5C42<4?cFr^gVTH{*U9>s#3`J(%elQj)YXJmzI`b8|$@YuA*d@OYrm4=Mm%@j>K|BsSjma zgWxE*z`k1v}?&FA^IbD`9&W@;#OXOgFAA7C7%ne*oi~2BRlOMmv z;k`aDOEM^B>xuQtObJ~AK55^w1s~5!tZV3ww(865k%7jfyF=BNX0fXkd%N`QuBNfQ z?C>5|v!F=wXC3ESVu1#w`7p(>{DjRz(E){sj$n;o#pAM~zk_zZ@GSaT0Y*_a;e7C5 z_$d(H-s>qRgKm3*-eJ}Z$m<>@RKnF%-Jc)hD!E!K<4iBLM_vWm_pU}n5~SNg(lMQz zsAH9g!&&;V$LfdFCb*_-3nZy!_7gs_9!BFwZm7dB$=MvbyJOtS5_yjyv_J~eP4vn$ z0rL&xcss~yt?|&9#zkJ`-C8%Y?zb+|**d!8-?~$42BzUBdIAmWxkb>rcFD?@2w2dc z)DSuMA3r_vSdZMe>v1uGciUAr{JURQkv3a~bNT8Y1!25cQ=K>JY(^Vw+d{Mao0q|f z-J`E7s`H)G-xVe1w>)PN26;A6&q16K`Sy=NIvY$&zBFKOs|_ z<-D5Qtv&er2j6bT2EkGFpJ1iJAJ!0h5$d1844cWDC;4&AO-lw`JE?KrgZQt9U(t5 zINCqI$p#ln`@$#C+}XttznmzM>H{44CDgf97B7&}QGILDpI3)wgbb^}Jy6 z*o(Qky_LA1W!I*c>2CbF<@E*G`&UtQ{CZr~KRf2lZx)kJ5ZX%Dt^)I0@9!D>E9dbl zvHhEQS(gib%V9?y!*M4T(~7iR`WkzNT+Ir?_`ZcS8b%9oM0i~VuL2Ij_zeNB9yw<4 zpGC9#AtMxVeZzOMX7AH=75-h7avkvUq}=Ur_PQM3w*D&C5Q`C69P|au_a>M|N==<) zIgKh|71byOk19V2-ZG8^%h#HT+C&vKHP+U(p6JB|h}voe7#tManI|y^kdM>C2n}-Q z9Dmg0F$gyejSnjUmVGm_CAuy79ilf5H4nTrGC7!&N+s=_M|g_q^9!(uI$?>-K6ew# zm05%T5Qe-q;~K^&+8jE~LF4FK%N`K`pb?eF>LQ#7@Cx#hk=1dl#`Y^GJ2$Gcc|+7s1=^XLrsZ*veL3SX*OZ*+ExpiW9Eg*8u4Kd#XdB*oJnDZ17zJ}3+rfMR0d&35 zbFkhgG3O=0z+mL|EE_#QH#36j#TmU?thh%;taAgXd1-FOxmeCa5QDJ$s+bX7P>Un; zg$0l4t0^B1VV@SSw|Uf7j%XI%CA~@(x3vZrhBl-u#r)Te#51A{(o3#r#MsLH-Shmm zlg;J4LC(nxtUm52zc5&DUl(zpdO?nO>auH*p<~^mvgOySwR_I^)%3ciuI-dzJvI|u z^cNdg$Bi&TJp0EinPlTSShKg?cunG>lwQp>mChR(4o{bsjg6 zui#D&?5Y(=<6acmrKn!#+B~6&R*Iy)SG#FvTGsM1e=2gpcQyq9eG>qn$h`F1)7fAx zOrS6@=&?8L^1m>rbdt<&>ug3ZpYjVN!HGD-Nq^ftLq?H5&uq_2>OWb~zJ zf&tJH0vdqqdVChINDMd$`4pxQr_HogKB@8)QeB+`egf}Jo z2J9HN{>(~Rl;hi$pWj6?-9qBxs4M+h0DnyeJf}UW;^>c#l#*RZ!Sr;r3#S_`c*{;! zYgD9qDmEc4{RF&ABvQI84p1Dzl}jw5og2J_=MQP?b~60u9xD-@QUhc0Qze3YQ5H^J z=Q6!!On|>PHoP^?hlPcT)l~@F82FJn&H;nxJ#U_yh2P5EC!z8wxb<)Vmn8 zdFI*+2>&S( z4D3GuNc8-Pk1-ZrkgLqIl41Vq`tcp2L_)eRV`!vpaX^I4{Kx`+_H0?@tw^7-daR3H z`nE{>)|ek`2tj`Nha*pLKoeJcr`WRTvwW5g_sI`!Zd5@2hhunm0B-BX)Vkj#3eucz@3mu;S<|QiFNSTJeV#s?I(!*ly)}GPEic#Kg&yk0 z4cv$`YN9pgEZL9ema3;qXZT@H7p;T3W7Yos61ZM(Eo79do#)`o@6~kkj9q$H9&=)- z!;)?#y6{d4?#JJYD%av388ltr=g`heDj$zxEReMiprrMEwK_UNfabpl*19uG?!EAnbWg!Q&-gt)%*?^+YHg!_S@& zoB5Vx2a0(&z=)ULgrBMHz+1``$y3QiDGu6vb$>0{M0 zw!7j`fOjN7GC-@@O%oUS!PPgwmvM&S>&>&(S%i5I4Qax;+dyI|^0m^v)x)u_k z=(nl;AWctz&anA^fSF&fS=xpk2YaAaGK1j{T!O1NN>Aphw((K|e1A=jXelB&*FKLB zrb-Dn%v{>B9835=x1DnH8mTxgRu0{~6PXS-Ec%-X^`6D^hmi0D8R2eJ1Z|&CI0ZCfc0V zb(lzxl%kGeb%JM$3Wvmv7G{3}5_aijk10jNuc()t+)lYBnB;S6n=(mb?v)2yT& zJ{nINv}L|NKQ=?tXLMwKPc}KXKP@o=WlZ}^!|^NFhK02UIMF+5Ux0FlbN58)CDX#6 z%2tWnqi#4TY$hkS5~kaqF10$AQ}wi%rdn@+FXYeo@h(>nBJBI-b-}EW78YwfyfuDQ z?NfYq#>j_3;vE&UdY z|C4(qA39@{Tf58;n>HY1dwIE4KW^#jLK2;G|6ih@Ofg8h zxjUtus}*Y0*|%gJqTHbQWL?6ba^A{+ACg21NRX)|XH{Ys3&S~`hQm1vCsEpMs*gm`6_xtLsbw2!G+mfQm)66-p0}AQv^x^Yu zYvZ>yH_g33xeK?aIe(aOemRJb6^AjzBud$D28!{-O+IfYs=h60B>E3fPno_2Z+6{L zCavOrDgKv;)?$$%5rMiub{OD4Z5Q(8Rp)rV1J7$+twayn$hjS2TMnG9*UNIXS^_eM zqgcsbLYg#KY8FDgHA_hd{-%+Bx(-pIWnZ|hV6tOMR$GgO$zNRxL+YV4L$|)QtJb?k zQ?ftJvsSI$y?hhVYMe@%ktv~>)^z| zr8v!f29`K4CN$;xH#3%`QK1n+K(DOKuWX7dEqF-PjNh2WeV7U1(Sx{UTZ|`<^7cwrfDs=?vtiYDMAoHI>$ZQXVK|&(vf&Dc8yE|3J#oO z5e0b|gF0xZrd0Fa&_m3ErkBB@5?I;f1hYv>=j5O7EG1Hlz8NS5&j_DN1JxWx~c^hyo z_ssaWdTHxLjN^CTQqU%9OrP2XvzJ$Pzt`GM@NF4F!(6G1)H~hYY=qDa8z_JS;SFri zzik@d)f~|u`6c6{E&&C?`+fBO z$`tJZTsEEm9&8bUHl?#iF&LB(-4$D&6B=LH@ z$g~yh=_m*yfsZU(%Ke5yjlpFh>w~xn$ z6>|>fr|K|-(wGr2omkm|XTX1t(o`5wvs`#G=ray^W;K`B;PvZjISCe7&=ZiKAkOi? z@fasIV^!asO{E*ROZ!J~WJuw`D?J|;;q#YVC`pt{L?XAz3vM_4>~*8b9}m(vYF{Kq zi#y0}aJPJgX9F!v=Qg{Ira4nL9dvRhfpHzswIQz+X8^wc2`5L4t$V5Nv1t<3_0+DJ zsP(qi3jT&6Ch!DC3yrTS!@*> zcedDxpv6JHF;a-lvFc#_%dA!4Fo%0RMKwKLIRc8#whq*1HYigBEu>obN>-baq}Z`04|55CM;F|<8A{QYAjL!6 zECrtrU@)WiEKH}@{VNne>m!oASK~er$4lNe4P)gah{2i>KE5rtm|j-y^6E*orvE}9 zhlcU_q=IJY_fzsxu*+&+tcvu$2dWhN8d&t`{Q|v#zx3dn1kLTl0B+c;Re7u#eyyr6 z(Zh?Y=oj(OwsreSZwII*)Cc>1+)# zp!tjW5&t$wu-Oiav92S$Sf?{`sPX05xq`225vU>yqnwkL;W?@8bXMSf+)D!w`pA6p z_0lulc9`P(K#kGtSSB5#y73hNT226$_r-cz)fH<=&Ebc6ln2qD0?B`#{syO)+TH`c zG}`qWiyw=za@TeO&BU0FY(STT5zryFzeTE;7>I2062~*_bZ9_YIDIIznIPrISwzv! zpm3Q}2~<>CfGk^g;oIVZjaolt<#-M-ZRT3E5);+CSHF(Db+SmY=+d@tD=HFi<|l@_ z0DXbqeugX-OW*9Aj+f)biV1r7nDOg}qvzm_&b>W&-o#t#jn;=z&GYi{=Ge3iA2?TZ zE*M;&X+%c$x3Vg-58`#aKM7CmjC%`0a4u$)Oap z&yqL*CS{JHMKzwdN*IX*AD&97LO)8F-U@H{8BtWq-xng`l|L;$mKQ}(z?6k2c{4DI zihT(qM#JkpEKaC{BLUhuPbGxF=a*s&AFT(POWk%6B4PeOzT7!b--h>pDWnItucE}m z^@`;j27m|9JkpNpK!{z#d=q!BR|Br;l}*jcbOxrEGDd1N&H>MQEZ{ZFho52& zshKI`ms?ieREsxTHZ-I2@6CFO=OCjRn@RURNpLs`#1^XGjGtQJU^IZOc1Tp6FzfqD z$i+@F)(M}@4cBa^8ZFcEOqTy=>Jc# zb`na$bFicB4|{^7%(|UsI&{qN=41a#RXfr{6*I& zrj`k>CheGM>yh5Cnc(&l_8BI~Tb5`_pi>Kd`ewZ^bj`E8gOM`Ht!)@iu zAiWH!a0PlN!YX}9qgM22*SYV~g|JbU(sM22R5z#6&1m*?_cy7Z;3W{fWl`YFoXVIcbMdJ&MGuY(Wc-mjQ%Pt<3r+|Vn`U%wP z3Nj^~f@np72I*5|vg@Bp@h^%D?CaX4kGzB$xm$n$9`4z-f8lX``1ktR8URWI1`!7t zz_Y_PViPuyxaFcB@4Cj%OU)hWP{poY?Fr}+v!4?FsKu*TFY=ahzne{{N9`Zywhh}* z2U4MO^VJzaj8>yQ#p=IHiJBs5zz8hbPj=(rn}XiYu(6-=sU9&eo$vI0b8iIp z8}AZM4E%jzO|h^C>|yAFc!nk_PX7Mkqm7DVY>R zl48h=-Xr8kD9b^$sPRf~ui`(QCNG;eC2u-|ek72&>6V_at)RH55u~4u)@;mf209v( zB{Zb2md?frnaX17n3IeBsO_iX;3@|l_EV`uGaC(gEkIwkkY@**lF<=M%R?$|7BI6{ zzkbZOlr5Kk$f=faLEGS6FN^Rz%RL}&dQaxrDb8eCYD<>(T2ykno45ahOcqaykxqbR z`+5WPTLrEn&kv4>sE_@rVW>3dE>~&hb+co!E@uw{x0O|YA$|On5bsbUIiJpmbZA!- zA0sd-l8&Sz)>rDk-<|%Tf8%@SAtKtDB1g#VWnG=ys5p!uzWD~&VTp-m>H933bOMs< zeXlvZn|$ne-lt%|cCcLxe;Zg}rJZjiB(Ji4ywZF}ALeyDWzM>s90z9P&&!B?q z?UxAKy4vc(QP=j*4t}j(WssT)38+?U1fST2FK~Drc%EX zFkMI-N*Txm1!uaPC^RYyv*jA%E)UVC1s!{+{Ij4}`!>Jz^CHYcC%mcH=c41mbxEgM z(YiDKS!{ThMtpDEl);u~+KtjpWXiPK6K|}|8UtyoF(LK&7%BvC#93F7tzWUn$;0ei zc9~tPmeHJ9O5t`iDF$~tdeVCSKF0EdeRAtT73#Ak8KEEu8B=ieIuBKIGqM^0dU!#; zH+L5A^YO3DhM$d&v(*je;Kp+NdmYu}jjb9D1W1u&4&~bHB}GJ7`<~}Uly#6utJ^$C znSlN~n?_rel(xU+=l5AYDM@V`!qrXwzwFbu4P)ks@6rUC)Tnyxm^3no{_^`x)F&U^PDV}j@TofbRWGGtl3XvWrR{N>kK0oVImO%ktQev8?jnr=p5zhBzO!JufU(1BQt7nn|9UqwtZHJ!r?QIE68O>Y^?KcmFO#@d`C@z?K=YJ~+ zsg6WD>s3lC?VSJCVNB@!**I0j_OuIZswc|Ecqztink%CVZnC6Q7jp!l`dd?9?W1l^ zLrsHb^vk}_=4<(@6V1C!2f-4f+9(>1g$qa)OGbh%0T^@PYW1V%O?9=Kfg(k4oS&(D z7N7CcUn1|tros;nY?sk6z|xtbS6&5kC=`7t@yG?#L>H9y2_dLXKO`%eK*0+4i9bs2_H@HsK%A9*_B!y(ZTq{eW)@V%qLGLo zM^R;y1)#)3n|Oia0H5I(J#rtg+BNwTR|h60V3!yZWs6&G39h2@Icw!liwl<2H~5y) z4YEG1D*S)ON|1S__jj>+rC>Nan^cd-hmyLvIAcCbmK1-!(Ev`9|2gG(@R5(6#=;J9 zT1WAS8wn8#9|Z-h$jQS&&n->n-E4+{)@z%TVWd2j@2S0{Q7ruTR)i-PZzQK{&fWt_ z_O6N%YPX0(M8M>By?(GD-LvJAb-Scv?UYdSFDqN-$Mw2Xi%xFVQn~P){MQ*lL@*NI zV(Tjtv{(m$urVY>g_Q}K`3!&LuuhbOO+@>hoeS9iS&= zK+*a!_$`{9>Na(KF*U>+&|;W(&`3R1grqMEmhkGFyo|nKhJgNoZoRekr`l<=+V7?ZkF6$Ck;Rsa zH%}@R&nuyLf#F_@=!d{8U#k(Qzm30=3nGjHblJs$%=bR&yrea?%Oz#=Qjzdzc=J5o z!<>jst*M0+BrO@>T5<1OmpbJ+2+&$SdZdLvn5b-Ig^UNg7lc|~1Rj%6{SNhKv?dbz=%onp@(nfK&prZocWZ%s} z1Q+zf15)lnx>fD_43~NmyD9T9bgJksWFlyvwDAV`J9-|85#b;eQ*m37U^mp=n-$73 zp}{R`5?wa1VW(|C3%A;${bM8_VN6~3kKozJ=x)uH-jJ*!q+i1sC0XvhRV1Vc0rQ7P zsMU@V!fS!ZLly z9sTf{`%}(^y-@rqkkAN*yCZRotk0WLg@(}>JX$Lf8$`4p=G}45x_0jC+Mnfln)V_O zs9PR+rsxuUJ-jKBgq$i}neet&UMrP&rX;`Rl)W#He>r`aiPcncXZ&CnMdzpo&}lja zrT51KyoKn9^}49RCsB=LsqoHrKCh_(jv(mk>GM2Ai9TV;M+P?9}D{H(Y3th-rwp>n^g&RsJbh!k%l$x+{ano@plvtwx5paIU6v8__2oO~thcED(Bl zxzG`lT)Cy3F(xeo5>u+loXaMIy-O~!Ieei()RblY9Q!#hPjZVM;xu@yib?qcK)P4OUw< zO(SRKuPhBZCWl#8(fAu6koMCl)9$?o^FQdJ2LtZf1o3Y8@V}u`8&HpVy254kzYn(b ztQNnlS+c?`!@0B9IIET4Y@AB5?tHdAfA^wIvhR>n8{CjI;3)jOCq-U$Z-DrmxN6$3 z(%xAwhP+g$zz#|lSFZD_%~%Fzu+?kZK!O~+sFw7VG5o0OJ&S<{P2AK4f10~UMt)Ix zV@zfneq^2+*<9=KEm{-0vGhBCr#1K0GZ)fN#Nl7t=dzte^Nz4}la~vB);5b&yj&;| zhbG~!Sdn}!nW@AmN;d&yq~buH71eHIRtpW1U*zq_o6=K&SPD#@o49C&P7kO5WUe>d z45oMSi^|otvu}~buqKi}i>*rTc9UuU`M`*rckUjm*_cVAxxTY85hMRp@Gkiw*izdg#$2QrH^af!}(R-;tl{Z2hA#{@k@t z<=U8OG}QYu^X79CQ_jwkB0>eC)Zp>NKUxJr!HHZ+IxbCT|3!^LLt7eniB z{!)_WZHLnS@V$}YpnDd5*`&6bNvM5@5~kS*zVQxo1SV-7I-Li8p7PYd_%}=Q&?1*e z2lmVPONG|D*QT;$C8dt7XJn{u$oCnR17vB6KR>=+EfIwb7nhV$chabW2U}>6K|TAI zUVj#5VrRMEqlCH}#m{EXKdu*|{{UIjGBd)Te1!KD4DszEjPCsii z1&o)0cB?9Smr4ic>JK;ATO;WTh~W~779*sjrGa>dCg0r`#b1jN=?lOQ1w4U$Z4l2E zQ&!r7sXCMp{@18yaVkcX^5TROf4=utJoL(^n)%NOQp1AeApmgMgPkoAD;wq|d1?C%w&PaRS@rA+MBWmEq) zl#3can+WUpubb@|G8WyeV~4OWt+13$ju)C&yX>?d0(lF|0naA$UyV!MJx(VOKG5L& z-IPZL>76R;WJxiP_Do@-_o2weSA}X^&f}?(t^IC~gmG0H&6W+EPiT?qWTXPIW^`9H zbDs%>cG+<9DSL`PIcwQl3PHK5u}-hej~mg+G*!*jG)hUwtXew%Zub{aPmxTC?Z4}w zMM0LKlPvaC%wNVZkU{*KQSs(_BFH&1sC0)>g>1E!XIH>bX96vYU4^deE;V0hV9=Ca~l^H#f{=l z9~l&H%*P>JSe+93aV~dEgrs*l?5onEFf^sId*jyiqh@ImY>hNp_v5RQF2q+jN6-_( z6-5nvfm} z1Ag?WwRg|J*}OjL`VsexQOke(cp+A$8TE754Abyu&53sZPojRKoc%I{_1#)5Q%($D@<#iuR^K1k() zolu$$0RlPPfCn^o=m`~p9BUb0tvQ$~xVMj0-sa7gD%z-z1pzZgBE7h$848(M=`?Ar zAV|1@{b1Fw^v@*10In2^x?~azI7Im#gNM99@D%RCd3g~f)U<`@Wug}U_-Q2Lm%=Z1 zTQlpiQLQdhcf*zD=41(mrRz+;HpvcU)pvC=ZoVYRkX&TTKSXP#)!6i8kgJ|X`sJ*| zPgQk2L1PDVPT+nXsBvQWeqrd(fIQv%lvC$6w~%zX zZZO^V!wtZ)etD_J7WHq&+g*2?jn@N7;j6gR~j1~N7CX;ryWBpkZnPx&$j2UeU-7G#nR#rX6 z_X*-0VGwrIf3&B(r=YBhosX-gp<%5c8A%itGQE zm+FFat6g2wJ_Yjgl6_3LXorh17rRNWJC)vRo;GxFgBB)d#5L4vr8)--^r}_UOS|R? z!&}rSKV?mjbK>bk_tefPYB(t9or-gVx)ucu(NsX3#>39hv1(dck8vEAopXVWjNF02 zuIEX2#GsB9J(r9)@2b^f>{{=WPvD6as^IJBvJ=w>f#{WoY#fF8RM;y0_Pb@11w@W{ zu`bW|G`Q4BNebaX+A1YT!}z;aoa1TYB<|UDkf9%Di-B9r_J=q zeH#mM^&$g%X*1H7h@jm2m-P7&*tFR5hLQK&%#o%Xh|fM>9Unhnfmf~F!T}jG4_PX^ z_^&2jS>)mUha>*k)?FCgn-}n)FjvDH3n|6#fheA5IPT*ZRR2h~PXB*902xiS8zip| z<#--Ktr|ORw=uV`k!M#(lvm-L3_r&4I6Y{>TVh&iA*&%Fh0rpqbI80}jv(k$Q+Cd8 z%c@qhi&9N?!n?ZOq{s@9v$i>P+Q@d!eZ$&N97TwWmaV4N@ancYzgq8>$vv&hH>H`w zXith?;WxwGt97E4z%9`@$mz^QLOu zika#YPzW>qZ#Kv5H&)i_AR@&X4d-yGH_$C@-f6bOm!* z*zdNWG0)wU!wv4khlnfgt@56DoO0%9p{;pW7;Rl<#}Q98>nT&qKNp`zekphfj=gx^ z5W5K#w`_Bc$redY|btZq5%E&QHE zL&Q}BG00;Zx?T_ZeBO!OEoYJwHObHDKw=_#&ZRezHaBy^^;O~h3oL9lw0O?pmPSsg zF0%L82Xxv=<1bKPEQxlTiK#EV#&%n{bAEhl%gLllW%bsjMPN7NoD%*Y| zoh0gW?b3part0mLuqGERSl-7Q))avVhJy|E+UU_)C%6C#l<^xpGEaXdkY4{xAiofI zNN>dc_xM5bV{@$iH*L^5hBZ6Me?xY2C6lKkuoZ>`(U`S+X@KTR? zQ1t*nexyi*tUj_J7DycDOU}lmrJw5|ezG#~X4P5+HB$`^D;@HCt3U2G?&}N@zsV9O zVdNiN;IR}7GUuKVvi|~l?5XP>GP)qVKpnx{Z}>g05qek-+uicep*!S7B8+FR*9)b3 z4dXuD>vfsju53T=G$xMF7b(9$kjCCoihlKzGjIu*G|DS95-R*i)38mqFUE>K`Ssp* zKU_U;gO!V0+WA(H(*7Ce#R{$VM`}oJ&UQrRjc1b<%tx<6J}Rn;>P#?Va=8)dd$)f# zWOe?pzH&y22^XkxMjPy_v~3E?MU+ojuj`rb@zy`uS1-zWP0gsX#n~ZhcL&7c{@~>5 z%_ocQ`5+;6eIa^;dV~-ev>Fu7k+nTqvX+OX>hO z{@+MzG8IPtM@&~@UfH;2kG*0y)5VQ-Q!UUH+WFZY8r!5~{M^v*z@W+(E-z?Zb{Det znz^mnC5jzk>(3TnsE1E6R~!I)bDS8tXE*$W`L4iSgM82Y={CVE8G_o59$p%(JvsBBsoC zBX?9Dl}dcgO5qlKBcj%6G*_XtqS;T&U%w&%FRvF4)uRC$NFXFLlP?0UAvrw(mNpDd zGVZsD1~$^kcoC8+ZGIRZG#@M<5fSlV!MKEfm8DSkcX`zml!{M(#)FGo2(i+ehHEzR zq=zhA=`GF8W-xc6EX2-YhXdogRz#r5sXFcX&nIBbao`Xr3LHs@RTBRotlJ2XtDILM zlo#-uQO#|=5On!-gI{|r#*Q~(WJ^y5DI`xeR+Z&521GDpC8G~FW^H?SnXI|rD_5{U z6@N0_uXz*7*&VZYwJpD?$(rwX{_P2o@)8prsxjX(pqJtDyGD9|+*Kd>Ob*5;n7dgO z8b=lpsO&g=s{BmYa7)BntweI`zKL-{qTS8=S=s)@y)9V{=~F4c9D;~&6;-1S1@%3* zCoH}GjOL*~Yszdk>_on{>b=vB_Gb#E(|IcNrQaiQ6RbPpsfT!>+1~rIzI*9?O(1>3 zv%T8<0_s+EBLz`wk)OYxk3$Y+uUf0a{=%tptwsCyh~SX$g^9r%^)RcdYjc-l^g`G^ zu|=Y&JCCHhkVTRx{Uo&gLH?2#)^+NU6TW{ri}UynY0tr@tK5PxR$U=XWJ*rvj#r}ZgUk@nZ=$O0|2k->9jv1s=8m(f^vha31$cEAVyR2C-tdb zO~$qb;UU}*OhF(vd>P9|yu(TDgMWH!osL>=fi@65 zHVyH^S-EHED+1(+6d5ZIXbtIvQi%kE?sf*SSmXk&q`7!&8 zAsTIOO4R7Uv;P7q^g?1tpwj0Vnc?_$1@9jsS1@y;jzKQgDtY5MU0C&0^i>EE7Uq7} z>NG8M{CDWl1ur)npNXJ}DHoR+rx}kacrVD$Kg}`y zZVu}5-)_ndb#XCwc7-|EyC5z={f`Sw9Gw4$3rufnv%7PH7XYKCV5M|R=w3AUCqtxTpTQ1pF^F^B`nSDU7O78p?2mLvTB-aybjk+W-v>bE7VrQ!Ohv! zT+`Fh+(X97)zwjmgTvIF9p>n2%I@H7$zgB)+{M(v%-n_JPkoo0`mSJo4p(O=%--Bg z!q(Ek8Rlwb2QyVRH-kYl{)l4#TNDR-cTms&Sr}_oM{|1#`MVNo^4FkFg?~U`yg}`M z1i=dGV#RI-b%i1@@J3*eZEfyhYU}2LK=NgVxr-~**_HI3g{`^0rK=U$L+Kl>?GY_o z+_i(+!z{omrchf;3l}RWHy^(lqD9@iWU(^>q{BJ%bIMh#9paw|g5;T!3RRLE4Z_9J zKdwuOn>s?xcK@R;$l@tK;LvGJPnaI%?j32?LVLirzB2tpqU@N#my-n3;5_M*8n z)YZY+7-nzb@Vh@PrL3T?V4pgGy~S<{g|Q=0H+FWh;AH3HV&}Ssxxg&#p{{Pu<{ru} z=C&4eH%N$ZAgXcvAKCTICG7uf&iRj#8UM?W{WDD6oNYar|Ls0EHt??+zuWj@v>-Nr z&~IDRX#Hqt`iS(My9$~i63gCO7e_Y9jp=9mM?~z!Kg)l&%k;l$_n*e`r`cHhm!II0 zQ_A-(C>$Xc_pk3V*_b_}drE>z%^2--8Ov>DW-8x!R(-x=IoC4mj7lM0Kk3u zrlB)94RK;wVn0U8E(AEKLwU+JN@WI!H}-t*T(e#q&M%){xAM3IJ!1VKU~v@c=I z-0rAZWadAkT9zOxF(IZ9=EOm}#T+CTbc_RmV50(@3S8uzq-e-mD9G6OI_4%)2s_dM zdl6=DDJ8*$!-<7BhlP!zWNz=mg~xdtQN+YX*K~F>cZ8X8VR7C<96=*M($e6hCc)w6 zJ)VWa=CGp_rbw1_Im*c5+m zco!kZT`48`yDV)2-#7PklpHdh}3yIsH+*K<1eIVGiu#P5al^YW_mhdB(&3*NkJAF>n40 za-3rSFkobCG<63D*Z(WJaB*>S3W9VI{6iP8C~#8*>GJ<2HT@y9|1LiS6##o47vS`V zU?L$*poREOTdrD5!qga?Jm;aC{(I(rD-ubG?LVIpb)l>>+8lOG z{lE;RJ?qHLJi=tWLN^h{?7ih_?s;1`G4@eB2ZzZRvF_K37im8KPFML`gv-ZPa=QVq}+3U^!a6as+rtRT?{XSLNAH)pdcYg`gV@< zkGmN&t$9!QlEdE>I=gb85`6e@RycQvi?+HHo zl+8lz`Wo%W_h(mmNHmzQk=^1m6ThzzGe=XAb}4>B#@8I*f8Xg87SrgcUVCS$GtkG1 zv<0c$0SOrbKr&4^p`5t?9f;L=-R zFEj=VR=8?h#GY$F)1aw2DuL_!J6}Y;hp)WRA^K?iBAVYcCf`bXO}a}}n1L`f>8%aK z(4Pfews#0cTdZ(Yih`Y&czsx7Farm3DdHW;DnThsNe1VmB|H~-LeB4Mp($@l{G2E)o*7D<4 zao}#ne6Q%xcz1WPWEj-2s8MR=xKIr}J+j_^E5<=$-8L^N9G&ujCcd5ir{U)=oa`c` zt=gDk81u;{3%`JkSgUWyYdcCjwUp<*57K2T7bzwM6dDx+K8etl&!C8@2WB`_;=L{v zHp*TVbiF`hccAN_KYzh6{xd){*t70LF`#Gh)|Bxp60QmB=h z4HECbwPs#rB#9?jg)YIa7t8BE#ME9ZD7qQCux>x@v1oxZIBlxs(~aDF!v8X&P&+Ee z;}*q?)}E^d&neLgXRbVfQf(exd0D|#_ULTSXvf3qN3Xw$R+RM1J1E(9%Xx3?KZ%?T zpBQ-o48jt)vtzm96Ivdu+`C0ZzEZ94$Uis6bSE{d)giRQZlV4b)3tx7hgJ#nHFLf9 zTI!|Rb&A1blTS1L3~NK_h=@;*x$;lI_jmIbfxig+Mc^+2e-ZeLz+VLZBJdZ1zX<$A z;4cDy5%`P1Uj+Ul@E3u<2>eChF9LrN_=~__1pXrM7lFSB{6*j|0)G+si@;w5{vz-f zfxig+Mc^+2e-ZeLz+VLZBJdZ1|KAWe(iN|Bz4f>y%I4M)&8%Gjr%*v}><-o~E{2-r z#~j>Ll-Gvt$MsS^b4{t`&T=%rNic2_I#wJv)o%$6N|H^v!!`3!u`josSO+!6sTp^1f= z32^gf567Ql+V@OgW+vC)uIB(e1sQo60D=U*dk6jk*UbPv21FThfDFM0knkbM_>k-G zfE0j+f{KQUf`*2QhK`Pgfr*ESdFvJ?;cZ-OJQ6}uQW8R9Vsa{a8gdFcN@C)>tas@i zFfcJQkh<5}bH$VR{8we6I zC>%P*Ele!1LKPl>1VKhdLP17FML_{;`+(;G6nxY>_qZg`2%bREX`KkUUq+{6&`FlH z5UCIC+~+ZI_P>QmOhQUVPXB;`k%^g?kN=^7ppevKX&G5Lc?AtkEo~iLJ$+L%a|=r= zn6->p(=JADzXrA8mBqAnJ2o2mv_|81=x9r3^g8kO;hv;)Rf< zVMOTz5qU^F;`n@kj1?rvk8~7h6TfxyiwY0|?rEr7;*d3QQ~*62K=UJ1gNQ@YP}5NQ z05Zgxo5N)Dew0=KFYsz#98(!!_e?{6G>Ej42=IubSs_n{jXtTlD&E(Tiqb? za}a7Zgv8l5;?}02S@@Bw5<;jw($KgNe;7%JX=bce_!Q(IxcWfgKV<%mZv*fc6m=LO zJTwgrR0X>62j^R$grGRcRUp9FgMca_Kz@TA0QM3BLkN#JRth7;r2{}2M6wJ8+^v8I z2+0k8qm1YZWL`iGz5HDo3Wqqx(@+3r4JeNStus~#XhA^<#BuuWMf3p=d4cIcWchhN zx&cC9JPnNxczggMP(x7`$FKH6fDGCJDA{j;tB`1Uu}#%zdBm}KfzBLcReeB8948GW z4apA^5LSas`62)A|9dw_aP9PpG=9H3eiT!FWK(|RUTVnXezexW>pDhxJe2Vh%D*e!Z1ID!MpyFl6Gw9GFuzU}#u|L?UFp_# z+s_(*_HI`iJjSkU4vc?^Up|6_P^trXEX_&U779cJ0-T{Je8He`P>w)q(oi~p2aFJm zG-N^`Vcri(APt4~B^o1y)JYse8q`1yiMq0x35ac00E|Y#(v1p(;06cOjA|7$9n>2Y zz4|012f4h}A>Nqm#DthSRDm5Verf789asuKpMCEmp$f2L34Dbm-P(L7EYOdh1nX8s zC_6C);sY<2(14W}@xc`X7U|69lUv)BVhu3fGuDJqF->ETF-<>a1s{c$z+mBo)5r7(5K`=)knET>ETWKgP;%HNV@@F+jB&dlRAPw*Za^eU6 zRuqV|!ixoh{P02%bWlR!MU0lb-~r@uKVrnkKRcyrs=PKka7*DQwAo3z3;Gjg!1{Qu)sikZ}pl@Bo6E6L;*bu*(`xUrv|Rz zd29pMT*r?iL?l=^Ry7$vO&)}WJ|_y9Vh20&_54D%aA?Q#u*leLVwTUY+bl#sgxHDi zd8|!q-!;p1q;<`8!Y9m_lj&7rmFX4Nh3d1jV4E)|U^Ddr_l&IY0vRFoOn!uED3jv1 zszU+E&uU2AgMdybV8g~q-Yfo!7F6{aZ=@C2$zW&SOGBmvN8Ecj0E0E40lEbcfXZg! zVc?e%VuZi}yyhr%MEZhJ=Ruom-Bnm9qs>*&A!E)}_z>BiA@m`#EnWzO0OJ%i&z~f` zF1K4l@(oxSL*rUoLmKjGHW|aF!UA9I)vQUkwtD_kbthdI;&@QyqbH7K6jB|+q3w1g z$f3`%@E?J7=F9ZuYH}URwB>3FYKpYq3W3nvk4$dua94p%KW2~JrX^MYt8#19giJEl zV6%v0n=L0d!;GwIf;N}K`~n3t<{tDshhRQ&#ECVKB%JrdD+LEi{b#7)7%wzVYOjZ@e{@i9+8>O@wB3fTeRS18o+0k}A+Qp?IjM25?Zu44#JL1K-Rzrfnk9h zB=86?Vu0iD0&w+F7`#B!0f!6pDwO#ed$&6%^Ko4!T2U|6zisNu)oFfGm#+D_)?u-z zE?rsu$Vso3I78{vj6mKB4HNBmm*IB;r?O%8Ug|3}j6dzR6q5v{iLXXoqGD0Y4zl|x zGXtxuD1Y`aOxCQ)3OI+b)vT!|2|nhZcFpZ)e}Z#!?%t<`Y_JOFRI0*@`6W6V4X}zq z7Po#9HB)|AY&Kt0mHwMVMrCv(7HL{?rfysj<`|;T@{TPnC*6Wwm*M0Nlh4s0toOJy zz~N=r8#Gb^X_cQQJVe5wZRG4$HM*wKH`vu?%zqpq;Wc1oh}#0kGLs_&v?Z`-WFrhqm^LnQ0gv{RBrEsNG-Sac=b*G)ACJP)IX%u~x`Dj4U4Gw@%D8+sPz z^lq}(z=NpMghv)+!h%=W=&xTei!BRZ18;e*fn8p>`Lgl;%1w>n3CE^^6Rz2v7>}n{ z0h!>JbXZ;k^Hx_qUz=72u9Ru^X>KZTQZwvSU!u!i0Rz`S`|!U`Ii`W~`01=ZfFrkWT;L089vo_~(L^I_^g= zC4=!zPHC*OEtdC_|70>d*Wu4dNIS1&0gdPHUSINC@7x z0R?sz4CqQWVvO<00|yygu->i3{bA4_aGrz2;%)0vU?(Qu*$1y_cR&na?dsB7D)VJn zT`Kc*R%_F>jI&GJvDL6zI$Y1wqGGzAp}rKT-;V$e1H|!(6vaXAgxGWfw zx`^Kb9UHFxGeX2Z^B417nG+L&y21 zp#D%}{6!G$%uw`^GE5)7QWk!H+)K$LXRYa|5Tl z>41Vs|`K(4`@-Zew(cW4QKo$feET0X%ii9ZW(IYUFE2EGA9Y7m4 z_2{X8n-b+gW`Z_e%Sfo8Kj_d!m_UE?lNx~ z3)@OyO*Mg4_CDo7u9I%W93ld2=Waoe!AQ^9|j%IBT-e4e5`m-V|G<(_Y)wM7CGT<8Ufb+yX_N3QcknyDQFUadQQ3Y-4DA>Kd9yB+9cRD|Xh#H1#6OFr{?%rnVUy1!NGEPkk9kDETIH>Fz|eDEP^Ghut% z-aZAL+AKW@r)G+1hhn))Qee%_jFqO2Rsg(W$qA?@2!91qcyaXdY{ zbNVkZE}pk&ZJ*yvcAwXDa@#bwENo~V5$E@>?8?pzJs)Cu+JC(2rL}Xgu*E^axOq6y zt3lE{uATVqwViG0R{Nk*xtW7Govm#fs@!%)1NM&w1JOHL`3ikcGrTM7N_pO)VvH7~ z^SS;yC4D2!wzxr6T>rV8pqx}I>1^({{H4uc(t^UHF?zGQdX6SDm%Q4ZA(^N^=SO-O zNSwa24%a}Yc5MZfqgzu8$0dE@&!#9`t$0c=87%5DIx-b!Kb_2erH zhFwGcK57sj7Z`F>zL zh(ec$Lb{xQA%PDOQF_sI*a?Pn(p5e=4p)l}rl*VNzOD13_KFFsn@%C?>&%P!F-bwgI$xXGPwdr|`3xkk zJv+vYshJsT$9+^^_eqjze-shP5HJ96!sJ`)Eb>3cytc*z=i}d1jQz^FB;Kgy%3B+$ zq%Ph#^UWS0`!TuxPW$=Mgd*Q!{808Be%-Q`8WvIyH%9XX3wA-E0WX83Q>A7qd*M$9 zJBq9KIow&yRqE{9Jy+R%!tE?stK>T093(zh*Lhl0wfU_!;}khn?%?`fXcO(Ngtm_z zeLOZNjIA6hDFnS#o3)K9!6r;9di{eP>D66wgSvXf%)as-XG)pf@((W#HC}$9yqw-W zJDy9S<@I!8-jC9pXjpD|v6bIvJSp@p>j3_;A;;!uJcUvB$7O0;E1hkRwsZ=ouG zyixO!vb$Cscy@4qB3KnUBtJMkI9AY*|ASr0yQ#kVCSkgvc-kau&AjB%xZ*2|hc8R* zcxMTo8m$wAu>I8IcIP3eOtX~65!E+?NsuPVtcM2V+5XVX~Bs1p#VJ0mi}8NQ@qFzEH}Gqa*c#bZ`^ z2DR$@DK6(@CAJ+;(e-D$5rl_Ul_Cf)b3=IJvumK{8kpSp(hmO;0rwY6pHaM$q2Yi2 zRaD}j^!@A2@}j~HtM{y>_rd9|a)=S@5tv`;tX{}whkmp9?){{nGRw|x3!E>8+ZbC5 zw#C{^orA|ReS1OTx5XNl?FnQiy~yB8Ma(RDrIinI^f)4!|%8g$K&L|v+7L(gUKdUo-%zUZVsTb~=XHGm%#lo-8 zd(d+A9`}5#YG4wa!hG=bi{0CP2$`Uu$o9!`f#(%EcwAZSaB83RHoYfH zZSlMYqC{M-u4GjwmuJC%HfF&8O3!DtI;(ANOHut(dFX_`Ji{BAqCHtZ`7VJXC!RjX zgKT~9TYyR{*x$B{CHjX~?epdC90x*EbQ7s`EA7>yX-xy76t>a>`&ot~bo-ODVx|nW z`pIiHQJH#f-x>PuHfVW-8z{CCSqcWV1Q#sEn-?orz8dFQmY3P@u7UetT>DLw5S*V0 zHC6~YFbJK82hvQQ4qRO19?OYUmV=YZcRvEo(OXmZyL7-X^z{`X+;T;1e=l|B z?$vNFI0FU)(M=jm_yCph)fL0Zlgm_aA~?_kcMUjKGcJGpLU<+%3ZOe-z7JoVuD z1kBdGpU0qP$}^))(~bVNk)BcakMZYa#kZg$MV=JT!VPe*$R_yAdUKR%^L>Df4 zb>l3Pej^WEnNpR8kJ^sR^=uVBVa|mP^RY|4B&`75W+e#|)V0-=i`357WeO+MBpmZ!92Ad+C-N*;9~EncSY@+{j=|mz zse?hbj17?B=$_1xOxVfj3PDfI!4Gvd86j=kEZExY z?(q#jPskcX255IUE+Y1>feDJ#OX9Jk$)@wShf&K>slUCmY?~J)`9w;&F@@|a2Ma4j z8G^CYyBzbLeXa{-BQ1MXx6Lj#e=Qb$KP83k>=t|XjPG44>Jt?a8$BAaE6#oE7P-u4 z`Idmd{>v9;Ptr%eM3LM@8|Guo%KE$B!fPX14SiOUoE?%}&nK!P3)R3$Y~0GFJNy!3 zV${58+ZEnM(@nz$#_AsVR}80bbewv?+#X7)ozPQh=bbN~_9~d=Gy_d)zMwa9Gizpi z5B17OGJ6}N&&`}62|iyUzrw!;qC-cn(652C#M4Gruw{>y zCauDq{`h(STVBZb@273)U!Gxz1S=gpA`dtBR68CkF5ceyZlCH?XYECpUl2Jp+ifs1 zQrYdAO1U~-(d)n(26u=-dD(oqzT+LxB?&1JI?0)_Mj(Bil%CdN)D2!NE}}LmU1tU4?7)S zWvNSFod2hk*q})Pt(hWepN2`9^&`l~NUm#Oqo{}Zv&a4CM6l4dc>~U@76Q4f=$5rL zb*m5^1c*xXHm} zW|h@@93tx5URu*1@GAMh6tG!9E|Gj_I|n)v`1iS zhou`#?H~eE**?UqGq+DOAtXyRF`o;s?qal^>)mqBz3?VJPP|fH3^2!zys9#`n7kM^ z{HA*(EzeXsc1x{CI`3TDwh{);v2X0T>-7m)mB_%o8+(TTG3V2+|1jq$Q=E>mSK~WI z&7s3A6fk=H(^tp=@y!C=b14@V^@S>g1)yzJw)mU8M&IW*$&W9R0x_jo@GRF|Dh z$cCxQzx7ytjr28(Q%z=Qz}A%dTZxiOHY=*$6If2l3^>rW@V7A)DG?sm3H3=`N$R8? zg0Am?&R8}68mJw*2C(7xUvxgaoXtC&0#jtrF44u@u z%sjj81DWqKB_<|0S2e9bedY0bW2bn)XY4amwzVi3ImOc=ZKpiEP0H4`OyrFT(OSWE zn`Nf?b&bNU(o$od)dFaKe`>jn)N(4`>Vy|sv1oGMgUO6X_{WCc+$nR{z+qj0v9aW5 zn-&!c8aAWwJmppyH)}IAKfcdkMv0Cn_X77Ckl@=l0HaUZg4Cm5SFuqxcdr58;DJ5M z4<7b7_RHhjY`5(7^wd;7tzgRvpi?fCRu@B~@?Yf&^b*;BYU*8ruTdvsjK6)G2^S{j zjbJ~Q-wk?6oM}T}8Rc!i{ucXAqZL`#D0vq_Xy)q{oj5WkdNR8!Vl8H#Y$HtTsnW00 zBVzwXlz(`R^*=VgY)SdkJPQuYvKR zO|`b(J6@?fIh7DcfNY>t|7p0_T)q(uf=`pIj(^_==K)ea6(^dHKo*KEr<10i7U{}J zA}J;YPKuA$XgEFP%6KAP$A-z zR4~tr+IUp(t0l63*3N%3q+;b$Fmf-Wuw_7@(Zp7A&|Av|vz^0XOIc3)o;TdO1gaaD zwvw&YVS*lz5<3DuW(t@p0CO(7%rW#CMP)9-V7OMuYB2UdIdnvJ-?czV8BZaVPu=W| z(2GNmVDEjc)3MD@^B|aeOd$wv%%1DSKEK1E5FL{%q29yFU>(G(A5~@1D-)S~4bXro z<^}_g)R!MLruR6I;a_GrE}d$xfgw9%yAPmQa_C-JonFwKx1GM961n`53Uy(NPsNU; za`B|EiEU~5DUZS=nmb&#%gdybPdb)2T-};nx?!g`ppdoJQX_Na-thV}i;I)zf-?L3 zwx{L$ZBw@U;d)VYwMF~nYT15;n6Ud92l^y|vAM5bWo>V}3k6@iDizzPxCT~b8sD*9 z11_0Yq*rpM;ST2=s=H!egX&dGRolGiS3=x8TrWj8z=QnAzUwg!Hb)8I{5j9FJ*Iw0CTEL6nTNpXNTpA~4vVZM0t z6yL+R!^=1%6Kc*Cxy}9fQw&awjI5f@S$JrX%$;oXUu?n$4*-lR^=aklDF_ zDz{~9NXFEmz`mBs##o~muh55=Xu@~#hgaZ4`2USpv1?w2%enT~fLXX)S?rG-X(Ks- zN6{%k;VR7W)QVHWMn^-Z?!s%s$%=c4b)w0hIVTluL$k6=?;2ia8vblF7QhZCnC0sT zZ69ubw$T&QkjZil%(4E66C5d3R;|0}>*KjnBuqU7L)5DQBVW3!$2J%Em$ws*_c%{0 zhBdZ1h8qp32f_6M54bk;%A+5tRwr5RcDVGgCFTguI`wm%jOJBpbp{NSE`-_v%O)yL zQJrt4Y6?z7cut0$up->2UBZ2N?<2oe&fH$vO-~~b3(n=$MYWu{cyzY>D&bbWKi5Q~ z)kg#6&SXEQn8oj49+?_+MCwb=xK!yLUGZ)rCn_y0UBdMI!dFNsaTTm-@%V8cT?yn2 zqU@m=*ma6cfwk2#S}KH`5@*P`!}GWFbEKs8Xpah&;zNg}wzRX9L$}bYbh!BGY~a=} zTFVH&gPa2&UVca9UL?n-4+@qawBv#alA%5v@dA>nd7(CRJP`=8*>-Oc{s= z50#oJVu{7vwmR=cedAzndxjYXK)+-t3hykKrvnoqAu!{_1n{xhAbR~u=wAP@^drpZ znDjZ#@-Rj(O|Fbl%WRN#@!<2NKeUUwp`92=yIF=y=YP?zru1L5OVq6UOzwJ2u5NH& zt*4m2qxPBU+|D;K*Yn63&z8-0DJ-F~K=+c7a`y?l(uu*9to6>@n!hqFHE$Vwo95-5bko;7sD_mmi`%F zh5re#qDE}(-B?aoi%h_UjL$*>YOexnMf^$%;^;g8XnG7L{|LaTUx8w2Ij#lMO1dT zei1A4zN2MgxSJU{2|ZSwh;q@_>9Ns>;`RBZx?#K_B_x0H`brg>hV_Wf;MQM6IM!zPZaFkv^ua?L?}WA2DcI=WmH(9?KKUw$ zgv;ABpGvlrE`=+|FwDdAoVkwSgvZvGNGG^5x9;M}oM&l{sO!W|)J3><>JG;x%0%C; z!$oKT{Cm@xx=2yLaoyg`%jD`206_i)4J~-nz*z^a(kO;nsUYNl&ch0 z8Xg|3Eze3X4oJq4Y1IWS=X}U5NnM~qHK_~TW@rq!(}|(}xJ4H`QbwYMl6<~2#BE1w zI%9s+Jo6gBvT^85uM)CO_RyQvI{iRyc@fVfws8f&OsR3A*`qU_i&}LBW6bE_zLdz| zMdR!jwOeQ~KlNuK)?`-EUSO~!lm->=$l^>hAs1&vEXCsm7t^Q#RyPZ1&=P`<(@?BU z?z({~!h2Q~VEX@cdciVLNaE~NVS+X-{|`jcfoJn(!&U5)52hX>5Sw5o+ z^va`x6%rq`et#xNqf1~ic|P6N4c=wigFXH!`Egl`eHzUcVws@4E>EI7tC|MF}k2+yWZe;A)czHZ~W(kM$~ ziN*6cY+bkXt7j)b*Qo41zp7no?etd7#*n}_^vq{1Y1CRWaoPG;&L>`897!LYt~$G= z!Ei;kQL|I0S5&gO#`)cce0>pZZ8+~VvsI3sc-Mmwee@^l%)-#{rRnuwaUV45wA6L` z=KyZ`X`8jZ30o?X%Wt5MdtuT@n{l;&(ZAB>^&@%i>8+f=d!sKD9qUzYn^YQa$J2N= zNS>L}Q7#w-D%rmE-QqiL+W5Mbsh@J2t=Qsf(dlftBG0C}?|FeiLwncD`t7uXCxf`z z&xg`6@t1OnBFV>c^$kXz^K6(Bs0R z6Fa7;ubBUtiy+)k_yPA_o>mvQ5_2^iv8MEGVKk@ z8%E^4>+f%F)*lK95^@nP5M@t1oi&_vPy*90T@07-X)wcT&fXRgIHEvs}8-eB8>9cW5q4PDaE6Zs3DARNyj@JD-xAdO2k3@ptnj4y>B+CGB zX%1OvVTh9w;4HWX7EsldZ);;=evu$_L4Bopf9NYQnj{XU1Qdy28rusjQB)_g-|OT? zbLKh(9|_!53h);oL+ltN+W9SqMAm@qk`E?X=H-4RrrWCppW$g!9r<$00cXQ2x1Ugd z$4bEvjU8=^wf=6;Kzd>2#>)PLe8M3Ib}qhzr?*J(2FKR~ zmdu`8ngy?$OT%oDg4+Vw+a_QUo{zEw}!ZA{D+6_cti zKMi}7oG7fYW{1o*Xy3?ax+Hdn%-f-eLHA4MNqgmHn8~DT1{C@-hO$j&*YHhCY~I!#BW84L zJ6>4u*OF6GRZ0{5TPd?FrTZN|krtOZT3aMmO&wxib{xark@PN4EL(a!)d-W1JW~8p zob86G{=>%XP50d|$S%lbGV%f~j{xt;qBa~>jaRTw@zt;@^W4W{-zSZwYlEl@GQTca zF4=6H5ln78*l53^{G4LAFS$$K=4nHI4V0QT8(`a-Q=#7-*W&aYxD}F3WHw@>ebw`; zWbGa1#aMpdcCl|V{L98+-bI7Sp{nQmvP~7)Rh!jvg@O`e8O2le^SIRcsHCrJ=Z_5K zPMf;av%P|W+j7Wc43tUgv9THsX~XqpHk+&u-jiFsa*`>p{2Vvc;uOj4Qlpc&FHonJ z^lUnpfryIWvq7nMJ&SX7)4cnobbb%_+e&r24IAO7*=On6EfE{~4eddXoOjT6)W4ygT*C`x(=lT%+vfR)1^PL=u9rk+a<4{$3u~myxRa8wp zL2~OQAtu@DUvJUSR}2Nh-5!ZpyV4isOc~RAH*sv#22!%Fk0fhVYG?6%bAfD$ll#)Z zE2gJsVgjo^#XI`|G?!kdDak_ zaraih-sAa^FkrS590#kUMwq_t8fhC}D%dRc`LHp=#=q`GxU*My+seUrb!4#8CPJ*! zh^D$OVxiVjG5B>SCQ)>x*soZelL=}L3d|Go{hVJEys6&VXZ0^4^3-BMGSioU3w&JK z%CSN&(NIBj6Kno8Fvs%cd$z@pTmy2PIka0N`jBWq{h>BrSVisf4`!NgaQvxNO6jA7?KZf_ z9kM3F*2YqHxM9zj=;snK_pqI^d6Oom@a26ai|Q;{hlTIwOlk$rqm}yTsB+^HOzA(>->SOmt>!BCUB8w1 zG-3&Dr>`cQ#mvdismp7EqgXxbm#C%p`tXyg1DKu&_-wkny_GAf-rUBnaQ{5A|7gy7 z$|AM+!L7RR`zKdqIsvB(QBcDqL5=mj!uZ}z;jRk~M?~ds&Sf-a_TFWVD3+^9-IXKHEaiC0cmYSf#|1 zt?@23QC(S(#YMh;MqkIE&uZ+*&M+mhQzOt^!1!I9*nBy>qdf3dy(g}MY`4KKJ4j^n;M{exD{Zyc4G>dpQ@=AYiWo=A# zROidGy2t0?WTKs6gMkZG^HaWk(GP6FA6pa(f7tg9Ib6x|p$GnQ;2qUHNS2`(Qw9Iy zvD%;|RRMHTZ6MqQbXfxEDW2KPT2I|fetPS#?|R$$XdRCzAL`hY3&{7AOXQw#ceMqc zv*&vkD%2=556kO_&ECy3@b*7U@wzN#gl0DA(eKSP#Rr;i#5)&U^_Z8wIx1!_^YJ)^ zI@rrBj0z_q!GXi5J6ccDFK5crs=ks)`en)lP zV=6&sXJ9sJy{RN*x%B+vkqz5I=H>0@3d8n?@^NgY5G)k#FYcXL2dE7`=o;V151mNs zbgh0k81?EL`_{7;Q)=e*7gnldw&=$S*=PFvyi_+oC)|tGdwFX5UIjT|)lu+>s=~;f zPpj%tFJ{9@;rGu*YiID}syy0CxG$b|p5sXHUWVAufdfzEHFRe8@NW2)=Wl0}7^#2Ue~D zzj)iq2L9b?DR1^s_5LmDu_x>Db2?~Z!e2k)sh7$yZ+E*GRxifq8WFIzm@F)ZTn;2`?;Yk0+7>*$;sw*%vfb4?D?b$+gQuHy_MlEBBzoAOzd(-og#X7c! ztIxHP1^Z-JjvYr-W_J|GvrFIE9Bn<+I5$k0E26rn%`p9f{c3+U?u&p3i-E|~fp6ov zy&Uu&O|lLxlQHTzvMEX1O+;dt=ZeT!eKDIZMJngc`)czw?l3 z8KctoG_@a}$44#pt@|!urjL6ysRSGETm!0C{X1FCa{L3nS5D}8;f?{ z(Xt4qrxH(BCN5Ib*US$Z;;fQbEzwoR?d%qZ98LbykWpX3RR}qOmoli_RBz6P?c?X<8_z zxqQq?!Tll1gNFr2Cd>EZ4+K=c@+8J7r|*Xm%`^3yojn^|tNzGzH|3Cm6osZ3KW9*o zwrNVnYdq=IK0(Wi{G|QpC(L%6>WQ@8MJZJZD79ErU#7WX0$lmTjo+yU>s8PjEH}TM zzVYAYbg5jK9s>7=$PMxwK1Bb>Z}~34L?ANHIrr?++UEle_Z{Kp_g_$aV0E?zUrY_z zH}jeg`mGkBUtf!kQBb~-IO1*iAhrD1c_wJiF(WZ&FzHq3F5%uS(avDykIRyZ?ve6p z62JQRl+y)i>1%<*0!Qdq)uR)CyD6u`yd$L-tLbcmtWLw9!pUwwwsD7SXwK2ou8!T6 z>#;MzXjv{hx?_I+*k!7C)b?pFgF}P6dcf19{kPtfTZ_#riJPIEw%xTcY)_@hDumXq zT=X9YsV6sj4dL~~&?Jpz=ot=xGx&6TvDut^xxX+?$h*K9{D-E{rLvlx3ruY!S6@^` zX@e??gFLG&gV$%;c7zcaG|{@<suY0vf|Zf2!%9G{bl8_PGil&pJPF9$az zQ9)JSSdk@{{zo5eEcKlx)=x8@M?6bq^<$Y~n?m|}x{{H-_g^9Xl(1l9dGByyJB?n#zrpLnkNX;CHKswzBf!kc4{0$k6Sdiu-sl;cEuyt`>-Mz!nW zYw>$HuNdwg!4-qp{*T^0bxGfI4%QM6oZG@mBE$6 z>%L;k94G2mR=zZgtmW3kP87-NM?K?xf}RQiCy+?_gDbZ_bx&pK&7Ig>p(u0r#!GkO zv1%cv;jgr(h5cN?I_4)%CoQkANJllERLqz7o9*G zEiL;CS_;u=flKDeYvlPKgb`)l+e6XaA>QP?i-*=NFP7K*lf++J&318_L}gh-reD*uoUfchMMV%n-d|b>On^F6srlu=r@K2!W$GAe2a#;g{)3JlW#cm z=%p$uRJN~oW{Rb^N^%E%O^T!?7`1?JyrdaH=cU4)q^pnm39JXf=)U^U%Wh%4ROEAIuWYUfChwAO%wT&c)A`ZRK` zo-%2r@FJlR#S-9d%z@O8n)DT-ZB20-xynTQ+*SH`?aHI^IMPe6xufw=p>o~n*!af_4TRnR-R;$=@vNWeRJ)L~PH9V4q3^V@#H1;@ESEca1J-PfDTp&jmSIAIVY0 z69)l-fs2?VP?QSTm6XQnMP*5gJzrI@E10Hb7r}Q?Q4q^E5~W!#jpTUKdsO{7%)bzK zzgu|Bd;+!UWDfD}r{I8@1B5qhlzKO>X|DIsbM4lV_ozm@pfi~S^F~(j^(fLIbGFCAY7OnZ@k(U#-YSDy>)UtW9~w8@u>bFSY1SyU)P7B%7$yFo&z< zQa}+GFBsitNB<*v%ur_S41${%#ag$sP-L1OiZMsiW%*rMB$nmpR*RbW&EBq3{mlJYa zHowk}w9kM?o5)G>*YfYQnwsvA-g^@JBi=}HNNcDFI!Mm`YrM$VIf4uP(p*c-=4RO=l$9f=(oD!4y`ZSXg1mj9S#}?!UDghv z4#y1M);il9L27zCYh%WGj{1fAnrUmE%`iSwux)YWhU-#Rh)sRzAt=4hj>Zw~3pZdWmM+m+yU6Wz@_LXy_X+kjjjE0k8 zYiT!S>`_DWk9q0joEh(lK^Npis%P@i<*2SwDnoXGz!zyd`E-@a6eW}HOCPj=&lN)VrVvYjFM%}C6FOEX<5ka!m$Z>@-L+3kcXT!xI0a;jZ6w!M3JtL} zAV}GT3Y2A;QOXoDJ$u{@%Dy&SU+071J1&3Kid#P(Xdq0px|Sm{wh3J(NPaQYL)dKL zv?CqO3%tt#H2q|rcHdkhYM#9YT3X$6k}GV2;sr(k&ld-JH89E7q!@1$3dq-_ZzNaL ziY(ve&xgvd#ctzty?H|I$pW#Jdta}}3L$7oN#{J;|)KX}G zI8h|W0gP`rUHcF{LhOM6;j{jnTgy3b4UZK|%XMT8r;DQYJnt<|PuZ;Xc;Tzq9$T3K z^@;$qZw!fJnbHvBl=VD`ui?P05KaXV(uhWrv?uItzuH*C`jp6!E`32{FB3oq=SP}n zoIqqyfl>B=r^i;4e4)g_HfsZH8`5_bj(H2F8QE^wZFmb37};M>+Z5nyprQ%md|FH> z=Ljy)b?R*`-N`+_Ql~TVGEjRBGqBH3aCuj`x#nC^VlH2FAeXUs4}v}BWsRrQa+UJL zv)EwIb_%4fxNAGIuc*egj*RFHmNRj&PPXEIakgsxzJr`8GG&78l9Iaan(ZF+`L5uU zhjuwCtfVc!xE*!uC8afH)?FOg_^)IESG|+GuqDW<4`MY@^Oo}GzBKxwqJ|jR0ZXMb z&tmDoB4p|F=-Z1+jL98(!2nKzZmwxb{_iE~m{yDdTK@I*I=B~#t>7$U(^J)1BWSE&2RykYSvyG;8rE%If>zzyCe1so)GAhH;l19o` zfmg^IIGvRX{f%>vv+^qUe$JGa51);Bzzm6CA2_;RnWtqHQ)Z17`xh7L1tKZ=TbP#! zyn}CrkKl)WJoSrrSIp+aoVsn=YxBxF_X+Yk598^%iL^?4B)X{3q-Q6MJEMMA^zSO9 z&54(_%NM3*82jpF^D#+SoWqEZXQP^ez5Nu}`;1>JlljNeAs;3tY8A~VZ^uM#nVZdx zG>I6b(V0X!M5=1@tJfy+x5uXCY^9B_uP6r26~1E0dF(U)mbyrY+zU;_JEG5CB*_Ga zjuRqNN#7L5mFzyFVqVXVN2Bz~(vhOjvTLyP&~eIq{JLFLI%~=yIB|fvte8j8n|!3f zR;AxPvmq2lU|8#}=hSofgv$>x!giU2?nZ4+RHbI(Wg%kgnS#dFmrL`JgP)#FoI-c@rqh7cy{J>x@XSgaanutb^ zC7V;d@w`<&nev0Y?9j}YGR;v1z9Q&4wW^U=Ql2ln3F5}G9%_QWjca6YP^Ad&1{7CW*XivB1gt zgcW#kVEkdd2htS)Yd+EZ9er{~#>XQGB;^b20yg_7Z$+J0OxYM*nrgxZx@WX_I$tCD z42F#37E_Wdqtn$5LcXuEkS>OPQo;0bVSm+O`t0?W;>B&Nm>O6Vd-R?~7vi4+8C&W) z*73pUheRt=fNO&SCtcLSmKj|$!c$u3$q#4OPkv0WX^GD5c^sV?)eelT7rWpW!Lo#v zwYQ61?j6U;HJ?Cy+LpBW@$A>`#PGjsoz*@Q#M}hdaOR$YkCp=ND8P|kYxyNbLdPev zt+go9Vm_;{)g5rUrqvx#f=_^FK}2cWaZ&ss%P~I7&K0|O=zIw(DEj!9xZiv}BoxF|sz&lvD9`lKF+Wr1@jFzm~H zmmz2$exNMJb2S3&yZicZQ9{^l$CG?kP#b^k(nsJMPpXnT11B=z7JNz3t7F9yf358T z`iOelH>ywj`uIQ{f}DJh^hkhbJ)(g3^k0sEk=DJ5s`lw&by_a6J`fi-XX!-IAJUnz z*?Gh;;@AvJ4yUEfR$_k-^b34bk2*VUj{C&{|IlSzmNNT&;KqEJH6z<99z<3-Fh$<_ zoos?@9Daq2J!Ms@w>^QhMhOC95@xA(+Mc3}QtH8L3xSYO%@_fWFVS~+hdMzyM?qmOxBU7Xc>9;{himzn@!6GgNAa~OOLbf0s@$0e zLG`j6;%7HrGvOeKka$n*az5a;3Ya3W$2nFYJG6K<@d5oH#unv~vXa}9g*bees|v{*p_O^wUn5?d1_OnF z$I%9Hp_S>cs+3~izZlCD>#>nMP}R{aI)-j(4yXa;J$I&^RDEvDzctD9dibr5rok1U zw{EEVwF4ROp6Np)Ug8K~64V?8c<5|NKFj#Lz_ph>40u>S0loi#p4v}nN;I|Eg5aCG z#e9}8qt%!Yr2cGgKLNHDNltjS4U zAzuR>a5~t5|Bk)t0Im!Gj~=O=ya7_bz;WDe>tdW{0|{QB>1uYlt<}^<9rkHT&>pwb zgXx-JV*K6|4`;XI;#?`IIWmY-OT`Ah0W?0!p#aIv-Y66mqf!s`bm?o$k0q};|7K0g z2B}*q6!p3cz}yL~NJRX}x2MgluIc@geNWRqr;D&n&c0KfW01aUVu)%{m5wu{Lqoavp3luEUo2j-LzyRqFd%$mi&vr(@Dg3q>@L+(! z2mpt(7PSRjXb!mQuaN-YYLAQ45xWkk!T=b5JqUT(0B|290O3~SNs(s`U_WnEojw*A z-c(VEhnK=Yz{{Tq^TuAj&Z%gL#PnFgj@DvcRxcGw_9Y0srG8MVY)So~MjuZ9QOhPM zC4;uQMa}sb$EMBZL}74WHp+FhCUo_iV1smkWF*5KbnCk#2wm2ij4oY<*HA)E?%r2i zimaLo5*Z%{uF3%r)r#35#s%ghuQF5Ps8Fq34%(>-PS5`6E`4~pvYP61J=s=r zJ=x~hGJq_ceDEDWFc|^RAdcRp58+T_A_F4KG7v&A0azMvQ3AxgXiDI5LFvudyD$k1 zV6jgKL7;}s5=0jUFt8&BNWgpv4q(2a4+K!k$2mGct^|%yT7MvY2arA?%Q+RE9-0ir z*q`e}2>jj%1k|W{Ky!$JKTClGOgzN2sNux$q!fr*^gtno3!ko%>a&f$hlv?q6#0qN zkJ{(meKMbI#3ExpTklZP!*?=#2hbxn#0FMpOt%Vv->5Y}p&^;eNj|G)H-HI?474i; z)M8cRsNi(PkCgbUjj6pdNCGw#vdye@Z*@?gCwb{1JAiA_o5={@et0Iv2l@p408}i7 z3+m)hQ$>Xuhb~|(?YN+J(9=}-cCgiRFFb6}6CniNRQOJgW>)CC?Ij2_81aA!(STXs zz|9CfQt`sF#0KGHlOYen;H1KugW!S0U4|UZ$hJZV{YIb}p=U{X$as|?9y=gbzCdPR zUHp~x0gzk9k6(r!Z8gvtsHv>S0J2&D!iTA*|EO6r0dC`}LKlP2P+LZa1_zBm2b2&- zpcHJd4A?#aF%U(_^#E7U*#edn0>u))C$h~ffeskHMkS~KTfiI0d#NHg%U;0i$XF0Q z5Rj7wSsq-TzyM>m9t1K21n4&cJII5}ydFn`uv6iuguJqFK~rLWO#Ma}Uui(JeJntO zFYu}(ki_PJ$d?8*)ea({0dpw=L&03yft-QEZ4jil?u{5H^hhrirDi!oWF-(J&yxw; zy!iG5F`|^p(;I~nO{*-OFd}0$#A0<7qRwJ<20Y@50=`fLK){ax=AqGQOt4vi%_Y-L zGLdZo;YuTm4|xS$$^m1Tb`l{%wiU>#1RAbr<2L65SVh=P6~Ru`bC4&c?Uee!kwXM< zBo9*XdZyro&gAttaS)IRt2Y(?$+bLq4f;0-6Tb;M-UQJKA@qD8;7x_?g(?X2^#Ku} z)!Abd^yoGh#5xFGI}-ZXn+gXIvkn3hHovSBBG%?;MukcVy$oaiUEyiHQ!4xnV8hHX z;piyCUL;j9emu-l46r`K;3el&J)hwcG?*Z?WpAlw9%KeQRBK>~M#NTQdb%70J&m+8v(zp1O3aa* zHCRh*HCRL74+1qBFPZ2zc)&b_9w|-(_S6RO{TJ(R;EuNdLunQzf{KE)b~5aRPWRXG zz&Dr(#0*Fn^XCB$3Ix5(1EJc1lC>*AWT9SIJpj88Iyv41yVZe2aX`#5ol^5_9s$wvF} zP=bJi4+5f*0%=8q>Y=4`kQ|d2EDs23h!oV|c@m>-k_UONFW8-zDcQ~vUrp-FFXk8}SiX>Uy?f0h9CHEQz% z{Vunl#tT9aFaoij0L48a>?&&^WW_*`Rw5t+U~Sj`u(l;$z<=Zc;DLAq%mhGQ&jUCs zHsJQK5D?RYMCA!^K#T$b?gG%1C;TDggK_{8Xn2D52ipFU|Dg$fs#6LC1qG_)cF=>d z{zZWGFWtZZ9W95TnY21A!4>9y$XH z@KY!`FvH{TgCG^?8D{UH0HIK z8?-AAvmD;u4uh%)0tkVOe46qs&%-|w4zgOm5e@{g0=ea$rUK8&dJ6$*kO01*^S^mW zmJ=5QY~Bln3JZYW+vj*?**(bzlbped?fexn?#H zGaWl)OAA{gV=GfVOLHqr3m_e>oPm+P-U~ZpJ2Qy!LoQk-D+@zo;F5u*jk%7U9#FG( z&@nUCf9R_Kv9&j|vrV(m(X%slfXL`r7#l!r?J^8)?e+8^wzj?*`g)f75GNu%GaX}d zMPow?9Xop)2$25P)>t2+0v*TL&RNgi#>`2^7Gh>V4i(3MpIML1N{89r#^MFE@PdmK zqG!Ou$-)THG0-W8~E3)zxDK9wyOe*L&!~Wc$|)rVuA9GaX1TU&??ly@d09a|%azOsTO6BK=;2d>`#?||y> zDQy3M4yr-G7?>Q`{)wHFz#j~d+S?eDK5zihe?j_>`JoD8`k#;WC(8egKwAG8@PAqN z|IP%IaVEe_b^b*j{{Izu{vPTtqxpNThY2L0GyR8p{_ja+2^EhN%H1C}ZEkGwhnoVL z)G_liGyqaf1McQ!0{EMqj)fjX@|6>VleyIkV`KdnJh~7r4qXmbMou1HZblAHP8~)a zZVr7$Rt|0heSKYa9zA{TfA{ML^Aq_0rY$`kGeZMgBONwQE`2ELYNR*GlL$!3Zm(;# zQgtX4WO_XhdREbY-8dlk&BlMOYnHY6S0ByzKj51GnJISt=1+ot`CXkNPJ!N~t~Q28&N;&1wYPyYQU3etFV1dZXa*&?m$Z(B^5 zG`^EE{PKav97fypWi_qW0di!63jd7uH2?Ex|F@|E2NmXqDVdY}vHQ<3TaOF!HeR>N2u$L3FtFS=l+*IDps)U178hAr=rD9Xm@KZKx|W zJ;-J#YNTT)F0W*1X=BKwr(?_nRgboftpN)YCo2={z46~G!~fGF^#3Mr{J$+iHhMM? z9Xp7=_TS;c_T&F0WBFqm#{bSH|7CCRryV|e7ie^`Ypf2R_p<-%P{1> z*mnHG3PB*Y+du8;594Rkv;EKZ^tU1bgJSE08r1NocZevRj$9Qoa!tp|3c1+4)F3Y8iJe^#6no|ui;Tp5&yJk zRtlEqP!d>Ff4b~|F!DakRDd?> z7-KyXZUXmahW7xA_fHm7fC(ZjF!&x0h6Thz0-UCttd@Q5A(3=fY82Ez%n2(s}1Rc8VFu^QRgS-oIpcF4!h?)783&j zXS%trm<+opyzXw)1>J+jh|r&3 zIBeQeL`BAt^Q)YZWB#QlTQJMw&qg9njNa4UZuhwbzTew(#{ELA%TYn)fyt}Z$y z)(a{Q`88`&EEB{S{1ueKKJsy=fpJSMn;S3cAnm;s1sli{M`d42z1OU}pBL_aeYR}0yL#DYy)a66&MRJBXqp2lCzl>#O)*ZuD`x%%U z*CP=Q^KR!6*G4gO7XP(p)PZAZ*-RYJ{@gEVUrUo(=8 zNut9Bx>XJX|Hdy^CGMpQI_7hV_8~gY0?yT=1TV9ICn@l+-)U@rC&I z7`LwqtFs4_x%gRoitPotDGugsu-4cLIx6a<>ZD}L`fi^bcJa>yZ-lGjlxVv}aOp*T zGg8?S>y+c8#tux3GzDw<&?AcX4#BAi=8uXJFmd2+4=WC)KSo{)iNkw^hF^a_rQ?Ut z>MEn5?ulmoPMc@!-eD;ewQL#oU-cNY=ulhl z%6}stA$!Z^9g?pSmhFT@FsFQMr^tSZv%!)hiS?#7m%OYr?=EX}p=Y$6yZU9oq(FI5 zzog|Gvu+93os+kr3&9g3ZlFQqc($x)*4X$KstqzEqGub`>Q-EfW3-qlnXQ(A?dB`> zNVNApflkUrIstU`u3IU$^7qM_uXL;Ce5kjE(xAJ`cXSnh?Ja+Q{zl+80>2UXjlgdN zek1T3f!_%HM&LIBzY+M2z;6V8Bk&u6-w6Ch;5P!l5%`V3Zv=iL@Ed{O2>eFiHv+#A z_>I7C1b!p%8-d>l{6^q60>2UXjlgdNek1T3f!_%HM&SPx0%vMMmjNkCo?B$@JWO7# z;h*ayuFbn0sfu4x4{Sd(ka-z#_IS+%u?HHBQYo?gG*N)N+cTu$W4GZR#$6BYM2E7xd`OEt^ z6>BF1_p)O{CQd0svnnxywhrN8k(SdNgJXHXuf)64Z`9po{voqZGYSC5?eoM z-ZT)Qo>f0A++W=@(8*^m>DbA}*M5uZd0_b6gy_C3Z_SV-xuK&>es94trC;{)CY-#| zt#kJ6nAF@IpQQQ6EU`yYdRhrFXvemc%H*z-ev_4z!gJ~&)9R;+p7xa-dbfingHyxX z$)|Jkk^M%N`=0k1?6X$~L?y3rQ`{ZKZ6-H|#&U12OMjSz6y=5Psp^|cDQ8Ttd@Wde zm$jw5Fl!~vH(se_tTC2F^zHiUKu_Ahu3l;EDwv~lpmD$>Rf1h$*>J;L)I|N9z0vho zlX!xbay3atan0-Adt5GqQtt~4oU`@~=KW2TZ)Yae=7zS>yY;^&E~XFWm23#}pHYPt}-rKi(wIxfz7? zS5Z}!xiu{uv70ek^c{HWiJNA&s{Y*WWw+dQoC(b}XJ&C9KiAVR(55-XPBG=Pbzc&^ zZtOL@U^|GeyLEN#a4;(r)z~>HFTJ~MJSLgxn#-SF^b--dbsRs4Wjb393rjq{cCX@? znXWq{_uy5Qj6=M4xBRwkqMX=d*TZG$|Vb)a<$-oKjAWPkXt}fDVQR_ zH9i@0fj$-6CW!9hjWca17%Z8$f-gRuF|&fGnR2b9k2L4+hNHIB!lse2c4OW9Y>HWP z*EYF+q57HmZY8l&$m`+zx`@j4yQZ>IlHCb`)Eb^7Lt&TG7Mgjwo$ljXbrxnWxB_m@ z3jynDH$~~Xti2Y5Nsh5n#su|Wt`wDP#wt0|=k!|zSFuHI=y~~59(O||XD2OsX-bZg zD~60qf~AHT&YmQ1lECT>bjJ7wQr7$cF4E#CXT0P6)WA)=N6+*573W?I$iA5 zUC)c=uv|*a2?JybKkhvoc<~FdccO{Ouq$ zD4)p(o24W87jGf{3U}vgK~_#Gru%u1th?OotSgfMOO60WBI&-Ar{-0oh&Sr7u1#`N zVF>ld0!F?Gq)yvng$K1O>;{b5?(Pm6J9=MK^uER!(iK`Wk$_b5Nzaih_F`7C!89HsxW0b4eR3?l0znt7 zt&x^<&Y!X^0Ao;{B8vGMvq&-_BY?e4WUaiD@XNlH)l~)uTP;_4!c)ac$?^s+hswwz zrogW!xuQ zwmw$Qr%OHH1eO!FD7LL{6J@Faayj|lJ@5ymQwWxtp)skbnY=;4b-jbj3&Cagj*ioE z?>6h$M`Kl_U52tivLbmgR;81+ z8j3`JA924|@*(|p5!d$S=>G2HJ+=2Jf{zk&uI!H7Q!kl!oCCP7t`%_UOm2e#?$vI; zp5?+MXEG5bLmI~s?`t7t(pBv2R~-yp-4!ACDqGto2A)qA)I+7#K6nzAiP#eA5FE{eNWtUxKAZ75x?UiJ*Z-8^KOv`D?)DVzfTfH(* znbDQ8-$ir~-_Qw?CGJI{wtMEHS|r=-I}6pn1Mi55{cER_<)!0lHl zqo8!HpWUz0q;JJo7!c`j5x8s4FIEXDVO1o?h;k^k!)QI~+CGMYGZx0O{;zJ*@ZY*$ zH1c28Tc&(ZSH9qIu$y=^c)*}tL zZgQ+?_nQNlCO85bhuz>&7?N<7>v)nL`j_14<52~RSe03JN#7q=6$UiblByijwq|<^ zGF{kb2lFyY6c5s|en!^dz1Z3$+Bngg-;h&q)402Juwm++w2zniRC(~8<-;WSc0*8m z{_gqy6<3SIjaCmx9J?wY)oCUr{&Fl)vW;Jg=dM;&FW%`O!k`( z13pXiT%~qZ92gp-=QoWT=(TEP42h9-5~y0bQH%Jy8p~PAyMmTYR5J>@)Lpq#cU!7V zpH8Yb&K4ZIuD_fMh+nTB?B2DE_HOX;at)L75!L^s=Q_H-n9nO}bft`tZ;?ftl>6F- z+AjC_fOJ_hFXogpNI3p%FHW5k@7p4s+B=X`stM@ zx?#ZUl03vVDO^Pu%P)Cxh?Rz_!*Y60iVL@Z;#2H!S`;sRQ3H0dg82Ve#VuyX)fGVs58lRHc1gE`K5=I ztZ{Kr1G14?TU*#yItr&9N^8%W*(wySAc{!dD2l23n+oQ_y{^~+$7NgMC;60Rv<<60 zvA-g)*kENRPo$5fhNm*VjQgke*y!3iv{Wvk!e80`WaC?X;p2%AT)r)86R_I%lNl+; zW_U5yohR;W*V=j>^T_d%U&c?n#CyQOr)khP!3Bp{Rz%Ff86MUd&Fk$!pP5Os16f2PmfP5a*YvxftJ{I{8x zCYD(9>@#_Ku5Qj9Oax4L z-f#7p$+SyrT`;EId=6Cb7-Fdj_0A3Z9Fwf(6C>dHSfyE7C zHpG2Px*U|+CA^T{|nxm38zt8xBjssgHjHFXXMyUOvUFUgq4H_IC{xFB^rb5OJZ$sOszyuov}Snij=ph1_}Aw@7_l< z_k8p5YQ7M!@-01zO5+s^ z>Zc&?iMZeREoImX;wY1>EehY%qTL85?$uXR?u2UC-Q@~Hyb-U~lfv~?r$Koh17F(| zX(@^mGrQ+jI?eEk`WLM_1wFSOAtBAe<-~nhn>tk|@;T|_#VE)eb|B4)E5DZB?kt{y z17Vc(36|;e+QOXXM3w4zEJ&xS+a?`~s4xm171s)4wSFsOEBWymJ4PA?)dGfxz}Nl5 z$Ojrh+{g+)FD@>zYuMVd40h+mB* z*tY4fVXf9WJkkjeiCix%WS)nsF28%r=?^B7X-`YFs) z#oAGJ>W^laIB*Cq9*=w1?3jv}WlgX6#D9pTH?P&tGZ}Lon^rB6$J?#=Al5%vWu+~4 z_9H;1S#?i0U}(XrzvXe;LXsXnp_{OT8}ix*#9Lz5mNmHGuJy>D^%v#-DJj!_#l4d? zCG=U7a=#9-(xy{TnSJ@mCAG&G8Vg9tk#S*ON1oEVPF8x-eG#*NNIWU_rL9Qv z7}TWHdHnXIPC<%Fc5g>wy6yH;;^V|+ErI)tH#(u_ap(u_pMNlaAoAcU4>r#$;)|A) ztt0j^)V%h?kJ1_Fu+GsaY8~G{8G{}F?i&5+zW=+4+YV8@W|rJmL`O`&Nmp1yoA_o@ znvyW0m7t6;)tD?biH&C!-pr=Pe5q~GYwxoN@-grtsB{zUFs=Fre9q6MK5>A&1jGk zVXWYwVd#=bxv!YOU?s;qBhO5J+0a1u;C5bGcs9++Y$dfiQ$0or|o*aQsM!3&j{FSF08R6Z21sD<`ekQ87wsBuzKvtd-pl6qk!`VJn6zL2#l z(OLL)V9a}QCns!RRn}(P z``kIH3G?~q#6pBVZWCMAqg2%lJuQ4k8Cnmsroif_k=b!IZZq)(mR*i7iVjBsSKq@cO}t%k2k8>xc&AjWMe8MeQUAuvMW+D zonEDp9tpd#pwS*>-LGst3XKW9k_bc-r5T7h!+9>cPwwe~%YXBWD5d>yDnX$yB2r(S zw9`RCaJenr7@5OA1yq>YdWnze1???~vvF zw?Zu2Y2y;P7#$UG0=~6cN)+ez*Dz*Dtlw$Dtu>DOu6M?tu8rq^Ldc0zd_WW}0u!PYWkAsB%ZNOg-JC<%VH zhrtriioC*dnySU$t(v!tV>iB*0&RPvU?IQ|zC&^$kM1755UtY0r{u+u!+v+eWQ;F3 z(ko#LbBQnUP1|~|j-vy$t+z<+;2QF+cpT?dmUbtMUk$9+vbrj>D7!}guGlr$si~lw z8N+SxlvNonijmFW`@&{rUVn^Ar=(XGm_nDxI9HZIswMFL1;&vhRrpC$j;Vgi8~;}d z@rHpgeT(Y|H6-fE$nfgdH(kbX<+dcS3?jl>c>grGnA zdOxG!#-fhE2}Tt`YabJ~__tF!`w*|Ax%wx`SG(@R{ zd$2F~sAg3i{Dbr~K{;o6vO+n8MneIv<68N)C5 z6KTd}xv=v&E02pH-c+GIL|m-Xn6&7&o8W_qB%S)Y2&o>u6PcqqC>;cMDlgoR^TYf~ zT3NMxVooNGm3K!9;@a-~p+e~cvj4jGD|xz=LjnrR-H)&p8RCfq0TE1(Ce+73;;~XB z_`zo$r+ItuEjHIv!Ajk`ixmSTRu|%)pWH1Z*}7Mx`ujxp#Q}BjhiC%5e(OnJMD%xy(cANS3^jKnH4=e(hC>G9N7Rc+} zUqAY6>Yn1zn|wNWqJSq@ZU8E&W}?=#NR zwVjMG$}4*o;G>4zI28Ty#lo|y3G*vOtn6_$=QABIJB170O}{rVk4XeKcFxVhLN0#| zVe4h`81B3{bJVzP!96wU(RZUW(Du>C!{iOXcGNM>;*ZM=Fw-M*1@=p961tVs9}B%^ z*+lhSm2Q=jDB>7XPJQFC?h8*PNNb6l2^^m>OrG@Dw{PNFIqdE)d+u3YZ7lGe8`al* z)faPn-Ly{~75^jpQPi`dtM_|x6kWkV=+j(T&$Kz68-3zozD`VR*pU~-j+t-$V1IU2 zH<|scH&g%-){tDoJFKQsD zV?jxqr!-`*)n#}msmIRfQutkR$-ZrpN?A#Ae>tG}>?JoferCTWfHd4Pb%+v3KJE4rTaoNDp#)F9mBg%lpC4u>$WmUFr~tQm|f`<5WiD`o0 zPB5AsSiw2hW>ni zXS{WEs1W~(HooGP31eOGnk>0@k&W!+0%I6kMoe#dcWzC4sZxwZ*VjP$*PSkf)hp$X zpEyb}VW+#g1??a1tjb_WrU@Qh(q9)ZpVzw~C}+)xcl#(hY(B5#X6H@3FRV|;3`xa4VTuBA?e@2|EThs55U z*Qw<(s^*Uwe~DH$-JfV@H%!ES`ch5!FbwNk&Zb@5fqtH{`{>HX1%+QiS&Gk~E$Z$k zVPs1N_?D|8)T&~+)?f5Xo_ow5-R39eOHXbX){zf07BzM8a^(@DpT>zk?z3)ACPo7i@rLbcA+;zP? zo6nGPtYP!`8A*5P7E&CG6*c1hl2qHoWftvg5ofxV>|7^L7wheG?I1zl&W>|sE0JY^ zJap9RMT`JE_oa><)zi_|79MZW_3w=S8Tn>E-n-6ZrQ;zg=4UOhDf3J8Fmx%&d@oL~ z9G?;nQ}|}@$3wB3&oTS7_9>jdz)NYb2vQCevHaUjGOC8+J9xR^3na2QX4})ZTZUgj zLETircRb{8OWB(Y6^B~W@WOcpFSn^)t2|2VV1;$TQJ4Yof~r6oy>pr&8l7BI^d!Tc z!5UsBRupm-B}&QKYQ@V;1%)5al37%3C)d7}@|#NJ|Y z2VcSOOU7M>`uQZxUQT12Bodbobz$hSaxf_@5o+lyE>u5BiWZT$ilS&nlFqk#VnuTm z5RugCtDl~D{iK)(hVNvzu{jne74x0wfD_yt!C;*?7W$*?Teh&s2KYX{7c=|KmXKj% z<$yG0$|NMRo83;^_i;VRU)*i2R1sRG$26vc_Y$M5=Sbpf*}4TWwkw&zu?Ci^?Tmzp z2V*DAk~a9B3Jl3oi=S@blzC7Gs9%X+T>GcyALEO$vI!LpMPh?uc4AOug}$sgh!nl0 z)L4Gz%`1iCRj;NLB3h@lC1i#6~xPDe`AC@OKU7N3sO= zm`c1P)GHp6VIzi*e*N}BsWE+ z*)x-?zG7%|q@82s`q)Gv{XYOJK-9nV?KiW~pujv!B(R=NNa#3$UaDbJi8{M_IX{)c z4%_|(JlM(GBs589LeylB1N(*UC`mB6L!(AqcY}2vmyYTr0doMW|!ao;R zxjx_7AlL5>@b?hZT5NPL$zKzy#>N54B*bf_aj>(gVttj$IlBVD(oryy_IfYO&MTIf zb8AWPR@yOK6k(xaRIb;1g?cVN!7TE2%e<@vs(_DPP)eS{yJkVly7$u1v6*$ zx(@8sAg~@0Y+`O?od~(okcj;+L>dJ*KbUCw`MPjxd6@$kxGE=boPBav0Hhjhh3C1? z&t|6+S2YjI{I~KJe@3!EUHZg7x3udSqKhu54^{X3Mk{&L);@FB+*5?G)1@{U2gJE9 z+Pr>FfgK|Y5%N?M@3Rr4@8j4m=aP!a-$kQYPONps7f9N67%=7c-qq@W`TuzBZ3q)c z-^1CxiqG)D`v<@ECS{Sac1{G@1}B-EB81(3yX8hsd=>LQbunvd*C&Xn)Bc zEuE$Tt|^K*4Vf#Yl6AFU;IB%?0jb#`&(L7g4|49ggPEy`dTi%mLw@XOs7n^MTaa_LVEjbZ=2}my3 zBzDcfP8q4VU^4p=x-8U=h2T?~e^x4ekLQ+a7mUEW0p#|4ux)Tu=x_!$)DhLX^}eT+ zafT)p`(-sP`|cou-I>yUVh2t5X7WRK_%cxeeN=s=H)hfPvX7K8Rhb9x1j|@o%kj0Q zK<1A1Gh(W-kDj>UgQ`Rigab43x8lyb9Yff z=k%vquAM}9^^YV^n!?i3K0o^FJl+?}E!E|QB6_k2&)R$7J2MYb+O1Z^`pu(&d8R zyKokXH*lw0qiQol1rhC-fTECTr5>Y{SkWD73;(=59-Sn|Yg%Kk>e!_eFwC38V*cg& z!Fp{pqc7k;Ki5YZ_TOgLNVRw2)I3{ViNT9RB?x@v__4xK)Y9e4yT)CO&;iCu)5%Bf zf&{NWf4AK6&GYVxky44N!}r?8G{vaC6Ap6SQI)-M{^(Uth$)O%ss@UR4=eXDjUrS_ zaqhW1sp|8BbXQ=xML#pfJ-{mFG$c2NX2}JtJ9FVy(Fq>BJYfu&^29HgXr$oFUY@GgLWcFq}qsUkyJW%*F(=Xn+3F?yCS zh#^toB`YyCp}B2;{tE&^v>3GH`OFKp35Sq9>&)ItCM@!PlAUSIAL3G+{XWvM``6+n z0-)DDkU(Ot6LDCH=8hc>xKj4JKf{$IQI8kuX5OA8_GmB*9}zd9@C8I)4b=&$Iz2kN zsZLo&IakJTloF&8D*Ak?H1$yyZiXbYzr-B#B~>X@@Wk z=`gMJBtQMF<|oXcB`fy_F;V&x3|_sq{Gyc#mN*?6sFy(kdNU(h_PE29sz1o|pf8rg zO^_`AnOpDB{e{4*k{6W!Dx6mo(roO-QAVCE^ZWEVXWag~>9qO-?ngg8s-h(lr~9f7 z1<}#gi9w!)KS-9jD*CA>Q^C3E$1vHnN~Qb7o;%35MGWzw$Zwn(GmM91k~xXY6wc&l zw4UyrP2z^?_ag(h_k`O{qD{b&JF>>x>D^wa-}9JQ@a34K7ZnlbRhoP?08!sflT3BB zRVw$RYkK}PdSI0TkkVyk($05kp4q>XE`qqxZn~MxlJ;9_>7jeSkp#T|&F}LZy~{%7 zRp##d68-z?c=ed%Mn4bjhx;GB(AKM(o3+mxWYb6Kb2$Hq5vh;l39U8n<+Rg!a$+|4IB%xdqo~vK-%lirJk54Wp=dET8 zS`aw?ja?(#P4cR#93l~n9Z6Mh8ICSmkVM^;T)zS$eR`?u0^M{zI z_UJpS`x(e$w??c}x=mF{^!$8h zb#QdK+H@1+S^oOZ@8~4(H;%fob0Eep$HCP_#W!T579aZI{#U=nmA@e z-V2%UaioqPz8eg~pUe8BmXmoeK69+|TM`K-!k^7x2Z_Z!{@*y}Q0@B&U}rr!b79Mj zBVLc>bHnrQ`c=E5Qd8w*bIvc=8l73XX1(t~kdh?kBz@_!(a5{Rz`iw33?+UW*$$~j zb&ifo=d*vtRG@H5qO^#$r6kq1omIaigigH(+a0(hNW+sJt^Uz@HEKw3aSl>;Y)#~r z!UOTSEfed*(Pp!MVyM`0WGbc^Gsv$>CPOGe(@@)G5J z@lf<)^bJu-^2mQj%CS==ZmhSBL8{gr+-+a2X!7l@z+COetc; zjL&peo$>9BzOm5vgclD;Yl%@$pB4NJ z{u#Z_cs3Prvz>^24Zz5IXPK2i(mBN%!oPWB-p{{xD)_%tNmon|Bu?REl`mW=vr3br zenCkDd)-ET$b|U5SDpq{o=XpQu`OWnNz~W1|a^Z)dY$dnm z6hS~hDTYiVM#H!QEn^WH1u;e*Dse-sNpES^*s-VL%V*%LNPsy5a4awTtR3~aTpk?* zBw8{*@y)_lltOeB%=_*LgCy0*WJG4rn`k;1Pyz*rnd*yUjB^giz@U+BRAYqtN^PTU zKiitU5L2s3W}EY|89{A`PNuDBmxN8gS5qYs=NW)h*0ncFcZe1Pmkn0)cYOQ(a-k3l z6&p6r+NW|vnU9G)^L;sAZBs~N>+A6mIL$R-m$_x<&u3hoMM}V>N8T5J<|gox-ZKj2 z9qww*`DxbrjvRQHz!FEe(TnT5bZemj>Ea{{qPY&wzA>mco@~#>*zAfTltpfE1iX9U zU^=3=CC|xoi&AKICqafwPQbEMep*>=oT%(UPZLnrBTkAWEnP3`z{rOMs-bIWu^%cE z{TT-mTXoAbLIbu0Y5NjdbZbp&nqVHSzXzqDAJF-`}FG zHRmqdImU23$4`<(HR`k4{gQ-`+u$INmh%~1WlT**e5DFIWC$k7@|6VE>?5=F2pOK6 zGj&V4?Rt_s{@|aCq|$Oj1T}+dc;P*ju+q(UFE;fH$51h~r3?Za7Fzov2nn}%M*m)imvT6SjJvrE@bA$^y%y-T#ZH^B z5c!G?!T-4u+zGwJQ>k8A-rcI**pK4Y?SI)M{cLzWVUMbb_vTh2PpM6{5o7y(owF5)Y2~>Ur>S~YA z{*AxcD^06NI!X31);}l1GdDhvV=@}2xW9)juowM(&-B~h(y#N%a$Cw$Kdni}0SnmQ zAQ}B9LC829oohXxb`{)q1dQO?`uA&#C)rXVKBFH7uj^7|halz8w3){a>QXUPZoVq} zK`nE-xnn;MzB0a5^AZwwf3_(1oX(%wb+>Jg)NaLoU5TmEc9a302?dO<#s_^w;=F(i zjSj#5K37iDyC@99 zmtlsCOCYn0;-_%}u+v>Z2WSl)h|xXm8*}n90BxHdyqC_GB#9)C*pWn4>PUB0?Inmg z+uV_wbJtHlO)j`%`c|n^6n}C3yVL z@n`y9hz+p=UR?jfyC%UGzk}_qwT$;yeM;xGLCurDUjc)EzVJ6awl!D2qcO7$j@&1^ zl3cmo9-*-z9{MNG(NEsO$z*XxD9d|`SeK~k^6vP_K2c-?`~I{!YjuZ^Zp{&aE<$7vt-;i$DlR|E7esv z#}wbKT&?YY$Dd2KVIecLwtZj`LrD_CIU;oEq&o=AK46)eqE>{&{FK}gwD=#7x_RCA z#a+=gYl6-1KHYCw=Pi=MIgsY=klDgmypdqR=ql@Lim%s|Zfoo4t_uQ&m~JQ-3;~=@!_vNSG%5B{>$e>9uRvs!ZiQP} z6V66H(~fPVpl=`t&A%3T>pBp zlM5TIgZ(%(573 zrzJ^qc(`hJgTN(b7eNhpOACo?xj)#v$oYYPNdaHeIT8rfa4DzC_bNBAV3oy3$=zcm+d3!n!ewAT=7OmUUp?#( zwJsj)Na9sVujq8DSZa+Q+d|HkZWcdFZ}N&i|7(-(LdCrET(IDN9rNMKlK0Ylsj(X0 zf5EHfoR!$v&lg@PP$rl+@-*!ST#?eR1FkLt0Eju;GH z!1;Lj!|GKgPMN@Qyb*<4S}IVEiokI+FGEOXn_whdb{4x3=>LftM%~v{5`e+keM>8A zq>~^La5b0G;xYOBGIE@whJ*|TOC>h7uj&bj?)HnivKUaaXH=G;#iV;5Fl5 z1`?`u91N|n!WTg+oF~fWZ&jSJ#K;Y>{uI>L!>*k9tloTOl}M~0V;GtlfbG(Ol8*o= zuatJC{bm`nKl_{3w;EcVaYDS~_?Tb2&Lfsb}+tF5CfuYL=tT6V4*Jx!Ryfo>^@t5+GP(f!WPV7%bh&*d4QtGCPvBFy5< ze7Cs{IyY^WdiT1JFbNa#rw<3qM!2uRhXZ{`s``y|ad3;ilL;30Cnc#RW!BqsJlIYX zMvx69Cu$O*^R%zxhRm;*$gatuF1jpM-lk4-{T-hV!MB6f`gT0xVGM zS}-XhjqU|-#gIQjM(o$f`2(Kt(e*XR(vX}}2-`nN%UaEN&fqD87@{epiIAyLk|&Ur z_5XAY)$jQ%+7R*^r-WU)7s&bxQ1%8i|FO@pJw=6Oy1edJuj8>UBU9YI=YO1^Jdivg zKL;4Kyk&N;?L;a>V*kC6On*rK+H#&UuJxcWi|og&nS50O%^h`de1h_V&-I0 z)0Kl~kRb;*x7eV3rv5Hviv9fj$jYd+khxSE-60&=?H_P^Vr%E>l^qx0?@Tg?7@CrDy6|!^Z+}NdPPTG&S`WPUOo03>|mXQcrHl$ z8}v{F9&HkbJ3{buo?azzx80oI=DZhRrKlscMo~SZ`S^XBK&5PNgE5%!F+6fb`F_tn)ifH7~w(m&0hk+fV^GNDst2P*3~CPFLwWt4>u}Dp&97 zLlBwjtyJDsv5b{uV^Ro;EggWEQcM7Gx#$4dzN6OL*`W2Pk3QhZtGDxrmg(7fd1rxN zvF;cgNR;TYd>rl&81I3o{Ux^M@2CUxG)d!X<43?ut?jl0JNwX%K)ecNJF&qO_G1tW zs0iUs1#`u2jF-GVEUDGr)!EVZeT1wlvVVR_{JWP>A7C2zT>GIuRBBiSrqKKBNy`}Hf!*YeS`b*fG2uk78GGl7IJ8Y$2%z-?n zdYv;j#`5XT{%~T(7j1b)byw-0M6CJ!Cq2H83U2wT%N4ZC+0Wpg7A#bO?yaMvj5zou z3>4{)g!>-ICsAvqte8G2t$i`~Ar>oe#12o#`&N-?*%c`$oi+ixGNCn$Ci8fPeYnSo-xTCf zHBk7fU^uLb+DXV>SGoUiyM0yfzQkhgs>SFIY(?Zz>qWJ1EU2Up$@r^ZkqpBRwc2M3 zm(eb>$HXp*GVAy%PTrydpe6-ecM%fA6_HZ}4=G;5UF^GfM9}W8`;2%;%ri%V>rgD+0 zixV5$xVE3y_SE59J-zQg`r@Rmao)T;7~4`7>1JBNcD)>Vg#N6fyG=-@hk!1ZKt|zvOMXYi`m}r)A`i;{fwyo@=k6ix}1F->YkD z^}TfV2IG({ug!?X(T5!;vkWm}|Ira6rR%bebhUC3K+6^D8D;e5%YflBx88-poH6GV zu5VMUNbKBGk2`q&BC)Y-=O*3z`7-R7F~cg|;yWhfE8yDIr;5T9M11^Nb5#QmWt-$g zntu)3siT22%*dy%b&Ux2#E(8;!hODVMWOQJjg4PFJ8I;wR*#!5>}7J0!DsHa!dGzY zQ%j|A>lIJ-hhL$1X3f7BoXsy8D&9lj+reJ#^C3T3wy*9T7ylMrj1Q>E$vg9(WJCC+ zO;H6)+U5@l*X^Y^e&dnq{4z?V*P>B?>Q~G%F0j7|n0D)B46}TZzZ*U|9f!PGq zJ69R2Q*qSe7U0*CSkiZ|jXVj6rsddRuw2;%hZiTBu|1SKJm3`I5Tf&j2nk>fo*&QS z8v(?3O-KVulh7zqtRWiuVf0}X1FkY)D@+0&-{9DvlWOE%G2iY-sziREzxcCDyK)?j z|M<<*I;HK(2(XwKoGI!OEQ9yWGP6&F5c>Qr69(fYGgyA+iyML~=Y!mgjjrjVav z4lwps;&~w-U0s6U~I?cpB^o(w}+~S0~Tz}q5XY5M&so8+kiwBijqv~ zx^mL<9*Z9}+2FC_shatbFV(I3chpOYsxW#4G(|gM+JcuV3eRWuoJ7yXJx&m;R3E^8 z6UgYJw;1+_EV{+%TaxC){5n|foSnUZTQVavu?4iCzqf40g84n|@J&G!$m*kp-|_$HE#*8OQ+8yzeyx_DTwwGWoyZaOPmWVv^tAuS-+a4^$`OulGYg8>A4$CrOn* zx-o3dvkRXunt^22s?N&&Y+Kb@~+7*wLcI|%cLr3R-M%uT_ z=Qh%5kE`*r+j#APc;$QF{~GIDjK$ei_LitWPv36w-jMlyozSW(-L&gcWYS`>tlHJ6 zFW_wOMT0MoM|0Idue=f=#akaIotNT*GbSPmXf*DDU{B|Zwi`(yW3tBmVu9g_&v z5b5p3s_8U%7&42F{j7GzM`|Z{2RrM^V=6Q+-g`zziKp5{8;Hkg5Nj23oBNFXoF`u? zW?AH+#v@PbO8`pi`~DfBlRNoI!GKJ>`Nmh2G1P*xxOISqLD>V?dl>{f$jjx;-}f<@a|I z-eXk`ow>bPaGZJ5V#Gqf(FwJ(Z>ZQw;#HpRD07@wrx~A_XAB9b1930Q@7ABL9u~VA z4EdRtIoq5W=F|AJz)>y6ZgJnLS9P5E`NGF%8ClxGF!VB6~>%NO?OY)R)pz8W|6@g0Msay_nCCWw2H zw>D2Sykl=^!N9TCqEN)#Lq8(Bh*guwb1_G&8AY~bd~+u_JTg+u)i2|-6hMrL*~~_t zTGhuglFm-sCXYjW-5_Hgr}wxEOmxmwYl=b}@J)&)iX>T-cRO4S_W9+0zu<@gR~{$R zuir0rYJj0hQurK28I$A41#hcPm>%-j{35qkY7$!gV!i#~cW3n}=C?n246l)7x!-F@ zl)S2ka(sG-tF6oE2zX+5)gR-e)v69-JJFNX>VE~o%Jc$d&UUjzh-m!~h zOxE2J%h{{VOVwmtlJ&%e&dvTqA^+iRzu_&}1QVIB8>r^WNv;Gp)l#h@HY) z%bC0NcHQ>=N1%2^>s1KWA2~inE4j`)u*WKh8l3$Jg$-F6YH2wnW4Drtx6-RZ&QOiJ zHXZ}R>lu5ln)Vo*F(425*itcnuk-`7b5`G)U*aO8WcYrMEb?6>(do+1^COT~7EW3t zN5c{y2kf&+B4#tZHLoWoY8l3-M^a_UvH9U-5uMHR6LJyz16d9h$$;w}xu5afMJbi5 z4G5T2;gW$ANhA@etijBPfmI%_ni~;svOx@ozm0mJUC1;u^Hj0W>2+J+pd)pbg z8hBxB0w=Fqe)Shn>5W@)ODJb8IXIIZ31b}vm?Hb>)F{rsAbP%w989VridIt__E)tJ zDI%Uy%y`|O*!_TU+R|(;tlP{S+VoTY(V>;e=X&2un{XA$#h;ETnnB{q%RTS28-4~x ztn8@jBQHZtP@AMIHhi6Aad(o>bTZ~eONE!;VIRnn<}lY-KI=CsrW}N1p?F5i;Vpi4 z2&(G7WF}A*;@aiVS>}m}E}Nk25AjZ_*j4{GWZ96pTh62*fa{SUR8>_gJ0A*y(&~Px z{5pEo-!FL=yS5QXik^_AY7(lycJR(Qjb+Z&(L+GW%O$B(mhW9gMyT|bp+jD0G2n%C z%&f`=EzXH1xjQc7scJJ@8#x+FX?P@q+|lfKw~3@T!(3LvT8|OXum|E*u*!u5mBci_ zIiyrWHmtw^-u%U?;Rba z?6gSAaz7XCv>vS zbJqE1Q@315F!i3hEB;rIJ7YgnR-~N2sva3V6Fn(yT?2Cc$FRA|r6te(H{MI|;1L>Q z)52(vjSL{)L8p5bQg8L|JJMcvb)9;Cab>J}wdxDeq54%6Ha$foDn@eB3u5!Er1>Xp zy;k;yB;*DtaX`4qSnD!(aMhf$^oQi zSu);?{752(G1)9e4s0{`ei_Y~3inz*-~Rk^r||sdrtnWmNKBP7rX@uQ!N(@8Mx#q$ zY5n-pIh%R7&f|<_d~DBO*IDA!Q@TAGeU)XikIQ4L+b!*H)4Ei#v{fz9J(2J>w-poPSp-3kSo1H1U;o z?d3{v&cdA?RJfKHcj?bR20FGe=;xM4DHYw0GbTNA&OMB}OOmw4|$iO3R@LjS8dD!zraJiD(M~jH;sNj7ynPSb@l`W*Y8{^^(mvx znd!T*wzF<? zA*QcC+@4+>_8t7P7QU3v<=Txv+w=peC%U+50t-OtwB^d@LWSqZW z{s=iTTw&E8V8T$O%6(j3B53m?#GbP0(cEaP;dSC}n|B=Jj`p)(fhTapd8YYCZbl1&I*RZ5qu1z8VPGpW@`^K61_PDSb~)qk9)Nm}l_)@z zkjkVsS;~_kSr=d(K~1px#*Gx94}vSgRtBhVEXx*|M1OwQSDMnHJuem85!c0$EI=xt z+Tfl0Fe{d*05a7I?h3v8z@IA5V2Iz4K_-|niUaJ~dKqo;d|UU|fdLTcfD{xyqahUM zqLAdN=QkK|b<##D^=70kT^=P+=nreXzaU6Ri+jf?YydZ4`8XIgHu)|83ZbMVB{;8T z3FnF`zhZiCl1?M`Y*JAYha&=Rgm8y}HphYDG6muVjj?yBGMOYC=LJ1K9YJr^FOW*c zv?0x2GZ04E2Aaz23m~a|<2e?a(WOTeCMRa#Qtx}Vyj1e0g|zLUn}kY0Q-Yw2t|!=b z)t@!Px*NObbDZmUh=G0!XF{auMUSS2hWnl*%l0KHeiDZ~mXuDTivt{NolVWEnif`c zGP-nRvTr5EA>mA^Z1>M6(9MvuQgZnnn*h178*(=wv}g^cJ0V~fHLa1W_7c!ZIBZcR zE(h1VZ=qKK6E_;rCXe@s~vZK?d#(6 zZ*01IHQ7Bf@9DFs_jOqnL4_E>f{m_g`BMPzBrvQe01jB|*`|(7pn85G${HK{c6u!5 zRFDe=NYzkG!1$<~AHm~GGOU!!(kIf3OvLmi8b&S^nTRD>`_idVA7;AWe!iW0YWut> z61rh%S>Qa*uccbQM_oN%=6Ti9tCT6}?dIViJ0(<`1Rm#u59$;9=d)Q#g=V}A?zjZa zc5_5aIYjG(FnQy>wIORJGWH9CW(>r8Tp|7KB%M}u>k+<5GM7Yko_)%#w3V;OJ}5!l zDogna!g(QvuhJd3{ehU#KH?6a9)TciFnT4U2C7$?bIhywTI4Y=9|7|)Jq#k0M@ zmRJW}y|&mAV_63@2s4S%*iikju;OPjF0xdobz_%1#vGFFk4*@MUcl^26jUkmc(?Hp zGnU7|)oD86X{R>}@#hYm+B$!d`ZN1>l)Mo#2Wd^4HY8lhdaIA`>~&#<42DTQt}u8y zpjsB9L%u(U!C}p4uv=%FEuTWA*eu;|Nidp9jyZ-{H*2Z|DSGd`F#=}yMVVIT+RrH zs*oOW6RwyxacEr8FOewp-cMP4o=M00ne>6^2XjX5{s!QnO50_s+iBod_HnqYgSc-0 zBu>uXcO2hey76Pjx72eVHaK9pk`o~#=KcyBxE?KIliM!3+0~x$XpU!pq`4tU=n^7m zBg zC2m5pNq_kz(*+dvc1CsOLQH&--Qo~GT_6@oI4$ z`Zkxbt6BuX-({bZF12t5$G)*#(Bpc}b@CaV%l@{)$G#X%iNili7sVU%tNJ<4X-4qb zaTokcMgYF5@?Zs*=jq1G2NzQe`zze3AAbGVPFs-wF&4%CeZ2@pz;*4KP`tT+?yb-i z)#cImaZ&zkKfenQ9rql@mWa_Zp9cT6^ySRmaa)k<6c=tW<9r{_S4nau{v5fZE2OH1 zF3Q!`d20!RB_}$QPE!nJgArTcfG#@wv4P`1%P8E8IyR(hs;{|k{qUh8b2m2e7yksm zR~20uQl^>gwO_mIzjG1G(O;&^Y0!Qc^^{!Mt_UfbIHG0vO7nFrK!=`jKXmdIyF_ij znrvfZOGV6Jzn#Pk^0eWzNbEm;FLvzbFJ3Gg0=V4Ozt~!o3g<@=?M>{wZ+z8!OS8v* zvFpiC=HI_0|08$62C0Bo^kW~#V=+IxYw1gzXRNjA@tD_^&+Y1GmlC!s@89)s^Gx_5 z`=Z47DM&Trf`2A6kWuDm-Km=V=6P{q&r))!r|JGvirO znU>23g}qsSg9GbSd5ar+@i~AeLTbTRjmaqlty7iF&ucTMcmX3;0`eB@Rp9d1itfDz z1ZkU$r<8FWsUCI_;1b{oAd|$+kCbXNH$GEH|AGW{EH=Tc{+!hds&W|VLRd1kwk1C# zl2HKa0FHT}+6s@)tOUm)co%R0NlUQV7^PDQvJ6ZOo_xpJdI^sj2kXUW{ucklsE_J) zpotZHWT&}F2w?<}&)SmaawY@^AF2v2?W`MPE#RHAb|J|f>?HHeXO}A{>>KX`gurMU z>~-e;^!%!yp3Pj3lG>lFa-{FavcxwFj{o>5oC(fyFK{-=g6q436!YkiI4+zTqHPfK z%VX++Ob6p5>r=htjic197+yfx4u@D`9YG1p$E5&7^`Z=YfqV@ruRQ_F+NfG&3 z>*>D%rW2AF()}a1*hUi}*c#?U-d&ycl4P?q1O@^OnaO&!X1Safj1IB-Yh}eQ-uYGL zB=8&Y{O^-qu;o{Y0E&RfHZD@0V5YWTV40RZwN(9)=KJm=^>{wZUjioHC^B*gX50q; z1t|D@D!~MgRw}aIoCk95MYw;*jkr3%f_%{fKyS-4jhAr|YLE8V(azWQZZd;@kyGZu zYPHk9uDF$xwLLG;5mg?>%ZvSEMj&GLDk_u&E4sW6QhYCEqAn+e&R1;Yp9Ff*c~_T& z8GtNZH9u5LRkh@RumWe-3B3UB9nERm73@qSw;|eJjRM^q2fr)qgo#Qg8haD0T9RL7 z>N+8``+Z#!U9JXtqXpVJs?J`H06<#_S733LhdT;+C=&A%`$o6HejM!9RndWFA0RIz ztJvQ^M>bL zCaLH)36wIdygx!=M@;&7w%lV&?hBsnmk!^1}(Fjjqw^Iy{hkE zdH(3ceO4kT%Uw;gh#b8c+Xubi<~+ioie#!r^KI$-Kp6yvMZM0~@)|c@*6nu=Wj*j3 zi&EzM*82SGn5?RHWmL^d|KqMIofpJH`Xy5r44s%D`rE;g^(W4`@_G8A84*N<=u&a5 z;8**^gDo2wk9XyM3V$T~)|Squi@`~%7dP;qBCw2qNfF3?z}}MT?f$5!u-toj9|5-O zh1DiO($RQ-g&S)!+F#?JG}%eq1h!u);#$T}y56;8b;WLwaPWbdID8}fat^}&Z{Zi_ z>Aiiv#q`wAuO=}aB26q&$7xdx@%RbemG^&^P_GEWg&2%gQp?rm^<=oponuu?EbBNT zDa|0S2A52M`&A~)@Heg1ETe3@Ri~87*xvTf5^D{Fw(YFrVV_5EnZOpNekAlkZ0*i8KA_$FkSI0#&<aM488!a>t?N$dNf)Wv+2MQ~Q(W!$LLC0V6F{+o z;IJuTX7;}?9MtHgb}ZB;Td&E}jt}8yjoTC#INymH7QiQdLzHfG5J(UU&p}kn_A+k zs^Ctrb{pUACAR#?@r=^tAC9i@7^B(tc@FUp{z%}NBE~AVdZbWgYUqNs%#=J%%EgX3 ze|*(2j<4@8`98~cuDdk3vljZ6aZDv;=R8S14GH&+7~;P^E__t6 zWQ`*UA&65M`R`JBXwrn-BVbf>l_gzaS}yV8)ILDr?txK~7*1?Z$t^o=2ZZ&jxEA+^ z1Gn))sRoj6Q-NxN>5~2R#r{oLiFs}Q=ebF~=mjGkfYd*NCkZXm93(87xVNN>(}MgN z^2t3R*yZV85={;A7)#bUIFmT1$><>Um5OQlr z=XlOZqAHUn-@(AG>@)!moBzXSUH*AQ_L;!00Vdh_Zt#VEhO|tDNZr?>Wk+Rjv5H`pHnfZ5P5~nQC+|D#%bgnLONO= zV(1Cf&|xWy$$rT)ZBg~)pT9Fdr#E(XZ@HE5Y#JpAs;3|Mdq`vEUcQRE{h7P)pvfjX z)&L~j)r>)O;cDEOLU0oK0KAx2b^GW)f(rjXJO5XiT7H0f#9|TXq$0}!Qo6ztpe#UZ z=;F!wCjDJ`AAowQ7M9Q7Z*-HFhPYVly<;|PN|E?Y<*)$8Un;uMVShi>_>#1F*Vtho z?gmum>VDlyQmKyg5ybMDR|SmGSC%dEbtG<9Cd2?&QxJ;-*o+wbs`fSYtC+>+R+7F8 z1bN9SLGGMCA0}lHx8)2g)cX*=FRxGj;EeAk68eYYNN`B2oLn2U&jVmFyJ97r|SiA3ygf{6Hvw2oJj)b(zf5reLx zw+yCA*k|XUyI3kq^vv;QG>eZroikK14%WZ0cj$a0%W2*9vZoE$^SKoBZ1aBsMz!EJ z1I75?RIshedp!Qi4?26fhY_Qz3fs}rOjx3H!IcwF6j`iQk*ekMl6-#eUtrc?&z4lZ z`eLy{2qc)QFg=0@to>C!*3Whbi~HR*Sy1zI)`@xBjvI_nSUv>aL>^*Wgw!Q>pn+w! z?wc?&Tu?#K%w(|{#`>`*`FG!#$1T*e>Ge$_-32qdN!9>v+imy5^JOB%^!@qT9C~qT z<;vLt1GT`CZKCYSNjDcTp4a^RRw=>JQq#FSlYJO=8`4H1QFkFL#`mB73EoTLNwK!& z?W)xeSWHWD>qoSz?!ytUGOj$Xv9U#})nwu7*Utwuv9H*oatdn<`T9B=(7&im-mkPC zoAG3EU$H~Fi6X-_DNQQ9Q8Eq$lsy}rn$MI+OaN{}EqhEM~1qqY&aJu}~Kay_bZCpT!*t=Ou<($HhS4t~cUO zaZb`3bqQ{ALOF3@#Xjl?Oolyzx$bhM#p{^oRvFCsL|WT0Yqo%?wl!Xs}0md zFU#jvR9vnGB9*G(id*9U%K!X!gdjXMrP+QY!k_%FBnn*ihXqHa>hH5TIQ;SICK`B=lB#|Q{{B-oI~x*gai8G^IClco!X~dW*2O~B_Qdued`_}~5Kw^)G+h*vF@c6tYP}zPH=CLEgcpKXx;VUJRuhq7}{XNR~ z*ZP+3P=@tc;=RhXV!);8gBb`(truI493Pj6Z?f!MNg_C5CH;w4^5@*aSAUYeRX-fD zU@0vl1J@W3-E+-Qd{)u<+r*5m(nr~;;P|8XTx5EvlxA=f4In)mq25>gw||cIjPM>9>X24&z6P2Y3~L zE3+c!5qN&P^S*QO5Tn)fdDUpPy#ypYWelDVHnXf+YFFz%;$DG)amc(^h$jG3W;vag z+0{!3sHHtenYCR@AZ?%U{QJ$n#7L?3>rbg-{vgSf zcWL5xB~xZnQY=B1!@ii&M?0&t28%HY9vQ*mj^6!MSwU|LIiXtN^lM?1mKm=6H^6A` zZ=A>j^&xiR@NkxyA;E0e(&*x-LShHF3jjH_bP2rM*ITT#maNFFjg*ZbU;cHwSAWvmr&+3)jwA4pm82Hi=IM46A<07SAtkWsIDY zZGY@nMslnJr=Kg;tC}+L+8&>QLoIWAwpzzP^d;8{z$gGv^r=D$^UJ&5VzH&S?6yrH z+Oa#4t4%`b*be8&<5v@{TrYiWmw0N+!Om>RKkNOg(mL^DrK%I7VEt7)alg;d|0-_Q z#<2Tn_8KhnJ`TW+0|j?ZKe_o4#5@OOpwI4-SkY-Z(L`d$&$R(dRMmBRe}nVNrJ3|U zq-9geNV5~1&dr>fH#gk+Z%pBZR&LF9z_a+PQCHJ>hkODuH!~NJdspY=odJMYvD3}x z8#9ce#{qOr*8z#!eOVa*tF05T$i9JjoV$9z<7zIFlR4#HDi-}@wyB(b#iqN{C4~M^ z)xRYAE#&BvjfiD{PpnyG>o{SpR<3?>GMh@OmPrJWCZmn6X>Pzs7?5h*SPEiEs(rdtJ5p{5^!cCd-xwND2C!Fi~)5b!>)t@?EtOPW2ZDb|j) zzMSEu60`Y!LrfQB4VjRA$->57{P(>>OvO3YNV=o@%VsHwuScy;@JdL-)%H=Zla0E9 ze3g=Ia5DlPZ>vVbe4llWFFU$EMF_&lG}#E2nBv%I|c{gA>r z{n?MI#`?LxZYy7!@xsadBr!ip$9dF*D-orPE*r(pH8v-sJM+#3L%~xN$%+&G1nHIK zy-K=sRUeau`+lyuOD73B$)XB&B0i`Bzi|){%GLOHjpo$PzaH}yr%8#96LC`%9SOo1 z44b8lNix3W*Uw>$hVC_OaB7hdIPTctxlZggzRK7=PKhp@@^f_ zqSP?&1&gipPu9_1={Cfo?5{iH;qZ6ily2OS_W2LvY5(p4Pu4E;=(#RMZ~Ad0!anv( z;&GM$ryaIMwjMt5vfXP75A!|#XSiKLexIv5 zeTp;%_`6Ed|MU>ej?OZY=?@Ne%;)!Mi4j=FZL_UY0|{tMe3Qf9eZ_v_bIO&Oo|FC) zT+3JgjK}SC6e+f6z>3G`T89xhL+3`4e^GQVyzR0~-zb?H(%1xhX3d8P-=-@t zF%%@R-DOTOp<*4$4@%+UKX^z?8nbXwtiEecHf!QO);1& z_ot1mU9>E^U8Kjq)PFwOdbo}?=()BZXrV_RlFWF-9k{$KQuf(oFKq1H#pWz}@;rS7 z=aS@GpVKM5_%vhmVn=935`%P)#0CvE zPC>zi?WX(eE#D?~u5gRX_v1@yg1?7?9Fp7bWL-8KHe_nGW6z&)K-r7)*x6n6%Sx#n zfL@&Z+VPt_YlZX+Nh$rD=C*@I|L~|^n<Ig z$P^GrymXho2(~JOpN-dj+HSHp<1wnK48{n1&j8;OKu(3U00hG`a&@YqA`Kn}(`*yL z`He&lV#(m9a=G+Tf=i6Wb!9>V0Yo`*p~wHMAR!G1E*Y(*ZAQshVqh(xIIYza83FoM z0n-u8hfe(+JtS+!hNYV4NU-NSoPd`887%R+w`_>N2>PoatkR@%V3`|^F^`29T3Z|d zJCGiXunMxaOlmhovH3Ud{q9??!*8jWjjK*+>ncIqh0i1q6pG9lH zYM*ajL9XtxkxH0F(&0JoB^WkXbR1$K+jNLv21lC|H8O6U`|Sq#zJv^O1ql2{`w@#j zA!l&BB`2{`y@okfL^$0cqk;&6C=dk5%7jb+i+pGGhkO|9n*zvh=~R*pu3xw<{T4hW zz%Ff_N8-%>i1o_dqOZ31mf@)!^CUY&#R3B1E#oY;VjN%MD) zRKfOssWKat-zy`5YpG-|si@i^c+c$Q1~a6b__qo%=20iVg5?f=>Wh z?P%uW;jv@=^M7wt0{E!aw#5W8?+G{bw9onWf;qkp3Zz%K;Fi;RmCGTa9Ps^ox8;}7 zHC67W$sNA`?i+bvA9e`v;xk9?77!y@>OIRe#OL>qVvr12$j-}Xu;>4%u$d$YLIzQ7 z63k%&vDLbCtN>q7n7jDL{YUZ+3f>nfRliObm23PYNCafS%g-*v4Soa8>{5wPw4h(` zlCT|DQh)re#`Oe!xVDja??1`rw`8o5*`unj?lnoX58O*T*8u{{K`RMq^wTwM{f7v% zjUV|lhS3NfW$AlV>2*|%LV|peI#+L3@E6RBLoSj}oq!iyQPFo%M1d`yUm$+#i^(YR zGxbZZP+gm;1O>=lInefch_70|B-_>jQx5u1rvr(*7u45EhiYT+rwFn%R7+O65$zj& zuJdX|{zH~-JrdW`HcN|ttKgE9RFfzO&Q_az?BZ>R+h&RoP{%6F;$o zt5>$w^&`(3)OWx$#G?(ZsTDSvLXf+vb|FTpMjz`KJF8=21gs#QQJcadutLd|na6l) zW#aCQ$s!?_?wqah7yu<9~Ktgz)UByq7CB!!G5A*&;)GwHGY+N;dHm*qnFgv7->g(YbvOy}x}7 z@w6n2vU{N_1_*Mp@EHUrUA9+UCN-@K6X$8{P;%E!uU7xuMXVnQ;XujLy8=8`Fj2@Auw>um{sdIj4?6_hQi-=6|1@GRYF(wD+EyeH)-6@W?TN! zU2dN%VvF2KyCbhI>vKlcm(EMu`BO(<(J9AxI-jDGLG`iExx?O)+V{H(CWxIQxn%q2 z`So-1Ea2_U6pMbz^kuYXMpY(u@fe$<*A1j%g!OsY$Io4iAQTHnqqD)yUpTCO`1a{! z`%Y#H&Xc>`C*gYO-zpdCK7Z72#9UHDfPd(~0l%%2z~`g7rYzmWvf!57=TR>l#xBKw z^LV^fM=k6tqW_CcJpP%)FYgV??=g=v{5|846|lJ2Zkcy3CRIp+D>MeYwg=Dt*$zkM zit%u9Rly`GJ=~iLhrwQ7t#sYT(pSpJGw(vQ%;pE_P^ljw&lOq z&uk5yXdX{g>f!f^C4VG}?|tgpMr?Qk8&}&*5<^0!NPyJ4!+Mxz_z9m!hOy_Ra)Fm9%HY+_Z;MQV<-ObwPmniO)!z!az8oz5M>RJ}ONeolpHRU~OEp zpQIaGUHIVZ7*b3CfCJK!Y@9rQprdg{-e36T;4TTCluqpB%ssZ#c6HahtTJK`>>uA> zI?4z+iyu11B!exu92-3U@~wR|wu#(0xfpSRs~KLnsQN`-<}cY|1GE2M3~v3&{OHX^ z+q+4sXm9C`Xs;QARq*h*oE>m9evxs;u5lK-RK~1OYL<5PJVLPQJj0~XuY%*5%qDBJ zoXwZE>CS=RkSr8)U76@ptbJLe@}JzX6rqfUgQ25=4+(+5$@e#$SPnpXaC{1OtRN?m>z2b}q{;a}WOY z8F}24{QkYGn@!tPJnfyIGm@Q1?9%LgL$sYbN1{zxqFYZJ0Ko$Q;qDov?{qfICI~eoKvw5J( zX5~vz(+^-(=AaX>%|Z$TTwnEP?k%#t>xvyM?Z`f>{CsAU9)i!;wKE~$0UIR5R~TC| znywBpxiIaT_*Bxb=2wZZ^#ic8oDG2zReMR1HpIr|XkT~ECYcn%Jx(bZ=%nB30jeca z3T%B{G-;3S89G&Pgfh`RfSt5r?hXsuFzREcH0w6hR9kORp% zzd_J$ko&dG$KQZ_qohn?4>hO2SmI@pYLa&tZYQXK^+}f(w z{_Xf0!sqVKz43EPca%miG%`k?5V*inuHIDmFMRrTkER1w3{_dAFP#&kc+uFiufLX1#W`lHOck zx+=HaF+RUeihTc8$VPv63!H_ltA8NbFriBS@mo#cusbyTlj&aVs(iLpI@oRzA60q-S)qYi{bW-j%(yOhm)%SI8t&RJXB>*GEuce6aP6oT{kYk3aAQckXySPU2KyQqu9~^GuhBeX!Ft zZat^US=_Bg`)?elQvG`pXor+p>?fpGmL6svv3=$RZso4sPY$kj@Ne~$kLvt=CBOgTq7Bm~%tS2)-mFR49Xdsn2w zFUZg5k6OAo`Cg=KL`D8m>D;!jJ@WoAaHdJRHCEbRa{Mjy9p7cE*%yVuYY3?EjNnvd zRvbdAcG~DE#VG>gWCUS|Ad{{Au=L9^s6uHOSCA-}bcFA`&WO8(Ow*+=s`{;1nks$P zWBXiOx!^aJ3~wj*=+xF1n-SbM$jH)#zYDfu=hl5|g_#tA-z1*)vUvjZ)$=7Ad>#2u zLU}XY0DQ-agvrk(-b#XD_r24vD@G4*+$HI?`1jisrdb#6C6=C}EP9sW{~SLa+2(&C z8iqKscQoHsPrvSh%*8*>HvE=@irtPgFTr*c|4X8`Sp@1<9rMue5E(%{R6!&L@oteq z*4#mCYy^JAJ`Q7p-p;(rrQ2TA3S*2I%Oge>{7cPkO3AQGjys$X4Q`E{w2d2nu6AD> zmlWWh#4Y9BMPKf%A%nndy=$8`(kx{j=xqw43hZQ;X&kRJnw!zQ%`=)$3I8@5PcO?s zNB$kR>x)emc~AV@D;&5>hk?&hOPm219;%e^Kja zv%p_`9{zH}TP1$NZzulq^nmDfeALBuu0qzADxgC{_gpOnnOk&yt{%5YA%NkVpWS%L z%JSKguKB@8Zi>@zH?~hBeaF1>%uvkX&zp(-TY)?_n!Bo1Pf_0ro4A+0!%ZWl&wqZp zTAO$W-g%{r^zlfsHNAj7XS83EN=0#&WVv>-=>4$oW#YZji%onewSylF1Z`p;eE`I? zrH5QO?M4hTuDy+u*k`a){i>yU?SW7$cv`5H!-!)0VaS3nK~P!+o5SO?|77o9fQ&E| z%5EYs8S6nGF^GoEwq=hF}b0{o-A&6zhNF_>(DK_ZAfZi1ewKaQt=nM8=1fb!A8Yrw9I z36Tu+5;Smz?#{4t><{Oo)hDvbyuK{<%BYi4sZViFfD)YV)>mCam83s0<5iBDmNeJY zD+DKwz`AC~Q|Iu`$BRC=B`2%UjIu#(tX5^#qnb|Bk@~1F&w%{qOnnTie(lwV^YZgf zP~jS&4$m9ll?vQsJX`ggRviMqs@G~eV`tLzuQ|i`r1{x}2i^eE3vs3Zs5&~dMoChK%P5bj5qgzOTlJwE5iY+=dQl+O#qR&pcGRv=u`H8XFt`d5> zF9-oDd*0}h)f>fNkbB+?+I-&*h>uutmG4Bg###nqYaQK3;?=C-f#V*vI$Uu|p3ck@&!UQ0dtG!IrBaTuf3-39>DE z{+%-o<_kdUpqO0~F@53YA5dHA!bYS-DGx8S@`k3b*)tMDdOm zalrZhAt(MO@3^u}!HJzZs`_tJrY%>lzB?3Qy2u2Z35Iq8k}A7OMWXa? zR$3BND%CjY`Klg~ga38W5oUiNmZ_(@tk(9zBql=wi|3odP#zO-oZ>G)^B-qaOsZj5 z`V}J)I6J`|GR_~cU7Fi+JG-bpoJX>{`kp9cR@njMq+9%8f;EEjA1t?wepjuJ3#1?c zgMGT=XMO~%Efp9vIH*_(drIeA-DSS*_K%Dls<;vb)iUpwWu}>NOSNh0E0UDUaz?G* zc#@iy=lzyvn?pRT_75q5buB4LCs$%_K85*?y5V_CT&y!^kHLbWf1pm~w{jd3gA zS@prLN_9#-L(!i*1Tb|j=2qVc8An%y@5)mXR$MOvl`epDF1ymFdO#T*kO8 zISPYnW&gu>A+ms_nNTA-rByVqfSZ@Ra4+=8xH!da@Wz8df>21YGvP$ zlH^(YTpwJHt*W~k3{{YzUlnA&g=jW*k z8Jl%@r0fXO!IytZea#uM3;87wlSoVbkxDPw?ui(sOo?%^tK)0YS!vrZk4d8#^i1J1 zFM0h@b^-c(7F~8C%mop_5n!fuLTJC1yA8ez&;5Ab0iOsQETww32M0G)B)Ec=+3&Qy z*hkrlQD>|-yX<9&B8dBf7c?Fv29%UD@>!bVd65$v{4x_at;zK#TTu}L7UojPF@T`R zn*#tjJJ=b_lLH;m7^ed;62bH2c5&ubw?R9NbUi;R%4-K>UHfH&LS`l}aI2*G+L)?T zUkVJw#{#kgW-@;^ZHSXBCPs3{S-6z}Z5&AEzy6j-T^rnI&X%Hx)%=q(w!#$vOP7SS zy1FwOD(tnyS`%<-({q!TqG@9&X zAQ1gcBgztJ0}6506Y%)ROzAh*Z{2Mo0Cc%}TeZ5^$%OsWiU_4)XYgHXQ9-_ub@W{Q zCD>o3ipzl!6}XZYs>+UH9+85sXmqbD|6B?313|@@h`A&I?xoEde8lt4-~_j|`kGwL z;zezuT0b}5q{ze$W$%gy!5mQNW{l`XGM>lcQyknDlo9$3dS~&MF%ytm@jZ zXPl46ZP*~bnax_p0NAkKWPW8_3l{(!bj#r2a0?PdsqRLQ$MaXIb`xfpGa(7^v42+k*uMq3F~^g2b- zVrpMFNzO&~_m{m6e{F{enW`aRv#cGQXF3M%=KO?=Vz-c&jOie^pt$~_lHSjMo`bV} z9A#PdE~60cAHTHR8`^3+Rf&ev003czbH{lViMO|?ODpex1OzGX;`>RLM}lriZ&XE< z^u0KBT@t|DKSs@q=6FvPRkI;F{CN`+D>6(4TDL&Z3s@_4qik!NLqUf5(ib_dq_0v9 z`v@~hb&wV0U>d+!^K3|#*_(YI{D%KGdoqma{>*5v)n%ELeK1`ayCi@1`JdwMi>idX zBlV@-ySPs(%iCQa`<|If;+enYV)ssB@l|UK^Je3(IU?D2uabO&LR%8ZKM8X{ z(xuXvv`caU|9&d^1AZYn`o=0{oC~CY11i7EU1kX1kgO}UbTXb|uOax88DD^PUXQd7 z>ELSCI03(dt4wVB4hfensqX5|_XP<}kZ_Z%!QQ@CT?YihmL!<3@^VFmAhAYDa)1j$ z#Ju=;WSS_HPmr9pB*}ols2@uLJz!9}By)_jS$K)?NtRwLUhaGx%-} z$ykz;9S|;b1A|)fy=f!6CR|1itS-e zk7t0M__KM>Vfn5n4+|dF^+~(E+P0(1^LK~JeBnB#BS_dpYVukoNhGXVViXfAC-6*DQZ~yHK#LLlky53$!IyJX*)I z2W4+l+1wAqOIJ4e94_8Md}X*1vlnD!Br1Yk+3|1kXOhh zk0RSO0oY)PkaY(;s)6p``n3^a!xBSkrD`uY*FZGO$+0@A_RL@;Y*-2iNP1OB7=E^h z)9^yd4hd2ZdXogkSkZ-V98ZsT_=vEBUdVj+8_6oY>g{LY)?L3R*hZ4lWx@G3dQ-eZ z#!N+y6d%DN^!X$I&wV8MEea22(HXE{=UR*Vv!7ZpMbV}EODG{PytjI|Q+FKn^h4ZF zEM)8-5;Y@*TI))>9(Wp_6kR)OsWcS5&n9hla0Du}`H$Me0^=esYHi=}P7einA1@tf zAHR!8XmpYd%LpZB!`uai$#D1O1sbjInETD#_z@je8hzwZi(5^fh|lLY%8QOwm9j*< z82@MgtA|%p#OZF6(wy}Utyy>hJ%5|HMlDTU4TV?kN@Ua)q~nf9X^4O4Aue!i#7`~9#Dhj+r60_AuPj^ZJdvOr>eQlAvu^eACcUQ_n zc`uP4bU;6$Cj1?VVjas`cl0O6iya?uQGuPxwzMQ=9Cg7%B^1lPmhIJdR$p+RzbmN} zJdtqeo^b4Qz624O8Y-nQp2&D7Bi2b z%Q=6z#g&dE$dGoTT83apRvd?kC4uva5rJm$oIZDu;B4_ zzserg4L`c;ge`oi3zx-yya=g$Ar0top!V`ST&7>#W9=hAA!7rEe^qM9EN+OhBB0TE z{|(H zwH7G<$62{aHzg5HV1zI`cACd9;{t>Jx2vaaIOEoXqHbE=ewi@*h~9i%SZr5!K^hR$PNh1EYK3S1>a`|n zL`CE8Y)QcX3{mF7Zp>k1%7(49Z+u1o!JA*adeyYr1bjFn$l&@@xlTl(x9~Ki*b@9; z*(h|z-(0R62=rZKNr{^u*zLc!MwQ0}bh!NsiY4!_CEg%|$eGs`z?a}?Ff^_o(Ki7F zE~JHQwDcwGI|`_nXTV-}N0~5*q^ZizbVDk$Yd}R4-`w zbMK3>FIRZ(p#@ou4Ilxgkkc=nsF2}XKlu$dP`~Qt1fu*5%O6w0%bs7E;-xs?C07(?jIW$PH3{w&^BP6#5l;UyRRDgCAkGi$Nrv1R`R@n z^(|&x|B$>g7EjnogDWaUE_)RK5Eg9+-zO`21lq*_W!#-+bsu{1bM!XB|E~tUu-~;} zW_(339$BQE?{a>lC-)(%@0t|#VqJfigDny`R0uhta3N3j$>J^M&)rHf%KgL$T;EV3On{JN7mJqgtIS2eeJ zGQBRVxAQ{nDy(BW@AhIU+rj#0dA_x0kKVWv-$f1G&N4OKsr7usM>82AUVUx?26`D!e`>Kl8(cqAVN_cGW7W6P@69)ee596w#_lBD`A zvS~(ASx!cmVh*26Mt9sUY0o=T9WWjC(eK`I?jpV9j-Bz}+e4ZVXo%1%+3Mi`Vz*Dl zHWEb3SSa{DOX^*1cYl0+i;ll}xt_-MJwumx<_<_lbV$T*CO-A~5BHjVC#qqQH;=28 zYISv7Nm|mUe%~3WWZUpipDq5MQDlD$tAtJYq!kz+u;9SroldMV{v?FZNw*F*Ov3g_ zKl?l(<9)vGb0rG5|M;hG>7Ov7l`f8G4m9{chE+Jd<*p9!r|>Z*U1HB>9k(R0^`(mS zl)GYP>X%el`-pUQziwxl0M2NpEUPWL6$*d4=!8c#B~}36!j){~ag85`t{Nw%IJdRj z8KPI*qk_|_-Cfe?#&48E76sR{bujz98$JRP<^6Z|6P`m&Hw^J}mdN+4X3p=vIG@*@ zFL@sr7I)wzes?JB7`C>F{a3o_%oyY}@>$=PQyp^4=_K*_F#=1ix}eVLmjt3N0Naou zcW6Dy&}w&XYuXj~ba}V%|DE&@*mJQX{T0q2;Wl?R$frrW6W` zzk8p2g|Em6(vk~foyj~;E|da=JyKoUfC4{m>8AUzz*P6ItUR}`){**G?W|eiigxVN z_|)}?%KBQ)rhM9`d}poFy>h{3aG~UpZC9^2@#Q8Y;*KR&>K~cs4HkX?C%ZsO{TPK*(gp{WpOsVSpa!6aYq4+M#fqm|w`$$Ss z!2kS6d~k!E+1GZ4&zV`m$pyds@YU~=!ogVZ&psuFQ>y2?Y_j~jwh?elV7(?1aTtPr zq`R)g4m(Dy74jL$aTdVxhh5!moiAKAg$M4ofbWpZGhcG7ppV9xZisafbK!CTzt{)c z*1Im84(;sRmd`DGV1PtoBu_vHH|B19L_~d;Vi9l?tp>GY@AHFA*8!^dR|1YMJ<(ynw#CP1P%BjsghTTH&MAFyln zo2#2jnCe_Y|FSS6{n?WEhAA@Mj=L&b$`9IGwoi$BNJ zqg4Sy%eWMlNIO9 z%B~O+ix8vqBW3YKb^pi}$h5U@(=d`H^GE#x_ZL)^RB_13&P%WBX93@tqZPn1x3mTQ zzDb1KcfOecD5~k5)gmzEE-qhE?YZlzyl6wrD25 z>m`?1vOEKT7zhn}wypb1c;IaoWVDj%n-)})(qMkLHOVyXpV73SeoWUt4 z?XjDT`$7nhN9AbI;Z)!Jg2%-vyiLs0(*6_D;n6_tfNJ@j0}#(F`T@*J`$mIjA&iRi z4Q6aQ+|koWHDLC%X>*G&Zq?{{gzlw~?eH0eDi)swbwJswG< zR2%D;@OZz+KSYL;KukMXMJ75vYaW)+mV;^ZO_GUw=GxZSi%q#|VRn9m{(|hN+Kt|5 zApLwv>Sp)CxO+=mzeJy;(q*2lY~zbQv)W%L3V^$KZ!fvbz#8jcz^%zA?r?bNvds71 zM^erVGgr|ee2z{3uQgojfX(_D}ne!UkmSjccM-qUuv%W$?(2A)xh$+x{k%Y;J zg-1yDKEl?^=!c3=Z0|L>V;kK+`Pnj=7Qj6CkOU)bfYEVxpe!eKoNVqHWTrq^1sTxT zyWB!4`#h?mAf>viVkga8ZneWWlTv1)w_N$wp09-cA@HC|sEz~sNPNyj^Iu|i*U608 zq9V@8f05K~NY%|V?cXpUXK8&i_@(oL3(4&H_{WFvH}Ci(Q>2yNd}8d&-8XO7mFD+- z_SOdhYLW=j=<8?PL0;lm#CObVQ9T4X%h^53WT`@F+k^l|+l?=f(6-{w(PQ7zks;|q z!<6V)Yt_XMD!VDH2S-EpkR`Mw>)ujD2Da$BPTWPd+UY-o_J8u?QNO3kc2sp9ma6(% zuu~N*j~P?#t9rCU!0$oSCW+!*D`Gsx#}W<5H|Fp=eW^yh`iA=Z zgTuazGkHN~B{)&2sVzEtCRKDx<*?7D0N*Ye!QZu1AN>hB6O;LQPYAIr+wN8>ZBcMn z?W@rPOGm~-c-+`R^tY2y((BF&R=R6TuL)GhI~6{$USMhx?IKT^={%O1qH^*1n^F}c zI*z03!4Ks>rGK`SJ%2h2@&EC;$m~A(`Hk*-S+nzAVVB?)t-^JD zPmJ+Qfd>vy&{o(3<9HWkHRMZSC+Q?5*T0BUY-L zL@;FCHSt%^rn%6d=`M@lcJNgHDNYa=0#c^JZc8Mm1P6tm8f>gH48HT@IPi6pXjOB- z5cT6V#U;-|PAU66o_s7B8G#!Oak-CF#8@ zZ6DjT{SqS;6Bb65qCWV{p?W^aw)rD(+39yGajJdutFB*n?P;W0x^HB@AUOW*d8~c- z{7!JmXxi^@WC_QCZT6VUug|lti(KRXb5Dn|-YPlX4&eA|v4hwy8*ZyF-e~dznCgnVS*5=`sm}xIWz{v&x>mLS9$I z(<)xy@t>--*9oJkc@dgj#b5<^J_Qc$9~+q@e{4n)26WF}&Pj|o+$7~!b%q$wKNoxw zFSg*i#2Gd<;kPdGznD4uBky6Q?1qt<|A9K2_;aNC!iOxpFTQCotV?z;NZlEIgS~)b zXSi*U=l-hgeiib`Vr)L0mUjpxVz=#LRum5dft%$iqP5&yQolB;t<^GnJgrFPQ&+oR zS_>h2Ap@G^MJjrigQ+cNPxyTkAdk8BJJdcR`>=Ep82DO5v<9#Kag3}WL9jHNz`-e1 zjC|TsRy9`Q-$v&+668b$x8QgFrggg-LlY2}BnHHH0Q(=3D#3Z<$U=yk*W&$37y%4i zs;uYdM0%~fqaXQdLsp47Y`$j+#D5uGY2b8!6&)s2?-Lzqz0mGmMLnapoXrJvrQN!C z4;uCpYw$T&erVUS*lEgAP}2B`ue3iKlhg>o204(FZ%$nfJWqMDE0P=r?Os z$VS?-JxC9dK2=3z`&BYg->b~cPy70kh^SOgA)o&XUy6Nmf^Zm>5gMvrdtmGaZZQ1& z|Kl)iztb%?y@1EcLA=DJt^t2Kz+$^La}qW+i2h_(tpJKDcN|j6z(uKAE&STn3j%f_ zvhuUoKDW#d0fq0fL%L{v))l|%cR0vY+;s@J)i*S)&z6?WRKFGn83Ng0@YgaQ|FKlY zVga?)$iC%j;+G;r@wKrwn!EZayu2#3aYsPn?N`+mNB6{z@)>gA3dE7_H zL3^Ol$CE~CJ#!YF%=o9*eytE0JR3@p;)RUBQm=}t+!v&bM z#!8LdmXegA0)OSo+Zq?NF+#@>{kX#V60q{f9<@+!?8m`>*|Z;bML;}eEW&n34fIR< zY$|TWCy5{~E;?foD!%V8iPU=IF}AUrG5;h-KTpTg`W_!-*>83o7{tVe#J2+k0%-1i z>CV%uIV`x`d@gzl7~FD)miA-+^%rzkYYGB$ivp$d5?g-P!<=TY>~01|OOTG~Dv4ZY zL1LC*_SWm(h@P9cLD=UfhfQaC@V*N^j4xi&TEuPWvVS%9$#JOcK- zs@p7Lj8BU1h=P&vvo7bWrf`CH)E_-B5^D8({-tVo_v<3Ppd)NdB7&-U*fIqtJ5tZ!dsos&Sz^8` z?JZ4xErz}Ns9%vquc*HEv!41DVQQ9GOS9JjXor<)$c4XpOx0f;;tVaj!l+c>|i&uZ_huu2( zWNzkHSs$_1zb=6&5Y^Ba(((Alpj*=J}@ zN7#@}oS=kl6bZiKhYGFsbjEgti=YF}dog+b!ux{RSLc_!DLLjRNFMNNfLimwDR+)9 zc?l(#xjGrz=v>8Kg8Ak9Qc3ALRi5dP7@1PTqS}Fk2>T0|l*8MolLhL`uL@*J-h7R0 z#TY&#XMpfq5NyQ~06T_70nO9DD!(BSaetZJCAD5hZ*8~i z9AabjTf8x3$ady^{;2&O3o#ZjIFJd7(%KfA3_|&yl3=PQKu?^7okHB`hMZSJ3SrEs z)D)F%Z$|aB_A)C@5RX(WCrhn8Wbqv+{P|c5f3ZMRJXX0{*N^Bs121Bj#2n2e8`7E! zaDjC9`4z%$g?2|i0Xznv^&|2ZdE8mIOqL(k%WLr0{7}EZ9{j3H!cQF(t>3r%XqXKMsoF~6xL5wusr4VCShioe3dR$q-i_II}mZ zR}@;6q>^RzV$8aEHwdVXJPnGz?L}3F511hCf8~~@7|1`>G2bQQPSEbZ|DVBP#h{Nr0>R z0EqK_tuZPB*pVbyOY+^(!2yK%PG`)N`29xY(e5sN{~Z^DqF9Nqmb+)LMG=vRLPZJzI}T|HikUgzD<6D`GsB~Tge zZ+-qtK(QgG*XJZ1SK`wVUTvk+Dp)0k|-c1A8)Q%CVti_ah+*uuU;vM6N+^YmxZIhQkmZ+++b@q1x)0xfkYU?`hR|3Q`#nrQTnYp%8lZRguM#YW^pY_)DU{{zJYP|8R{|ar(}?9k7?Avq$%q zzE}#6y_D)UQr`dRt{MDo_NBGlfh+h=C+_`waA?FQPC}RnxNkf`Z2lY*k%{$6r7XDL zo9f`wemT2~him`+7uovl^)RWBifWq&7Y}7LhL>MPFMMuVd|e%>TyZ{=xUOGvr1oQ4 zpwQob8ly0FAr+~!AP~c6=b3UTwa8bx;p*9?ZMh<}iCwwl$**tyl1KbmM$?_ezpbDD zYF{#9bx2fGEsCMfXrbPCj(*>{`MHok$K=x_c|@XQA%;3xl~aGl{~2Fw_rqWFXSRit zD9Eu~@S!t|f&#(q>cbAD3jvf)IaPct_OssAzG9GS$FC~jB;@vuf9uX;+rO6=X*(fl zN6}LhCvbY@`=32tTu!35sfZ3AQd^7-E!9Gz#+R0PhS3So5=?xCR{CD`hwFkAhSMCz?BXKoA$`R z`4#oi&BzW(yX_c#ZBx#&X9oQb5mgive#-kH#B&5YE$7zC^Yi_Ry3t7>={v6C?UsvN z(B56S3cDE#vp>T8=%Wy1qoTl+gm2j|+V(lI;||Y#@9(@_>!W^M!&UAe4&|`di2UwV zM#tUfr|^gIE5uSaa$ZhWpWMjGF)g!rCLLo<D)-7$ozO6vcqBz?|W7dQ4Nyw*or)1Xsy=eEanB{qAQ zyd2+Wl7%^>;KvlH#eUbb*+cQ<6+2{B8b+VEyYz>1mJw%DAFUGemOioY`2ArlnPqY8 zi$z>q#<}KZ&cji!LTcAZ$V>M}tvd|XF?}QduK%)e>@9tXuYTR`?YLFo=gFP-NqN-`v~j}-ss=YIVx;R&X+ zM-TIuTd^}pF`ezeKKtu5_^8gu_|y!Pe`fV?K(BA^oO(M2wLdPp=!*PsUfWJ)J8Y}h zHTmK7szh;*%&(S2ySot@%G>ZNYXD-rxYkMQ%aYY0dnc}FG!FxH>*DAE{Qzn&{`?lt9LQDr6s0n05@I&vK4K)! zk^WJ6J;z4Wb$f@)0~Agw^`#KLB157ApaP0iIAjDf)d&U;HgZ{%P%7QDpkgI9gE;N3 zgOV~sFO|l|hqXYC!}qIEq}4JQcftYEFQl46aZwFLg?-L!3I4KDT)p@-gNKY{I8RH* zE%bG4Zf`L+&XC5P7}Lr;x!}?mjRAN{+C)lI&70qM0j#sr6`voXH`T8=Ik2O1SWl_T zWO$N5Js$yTM`FWtbXZI=$O@n_MC`IJwSVi``7h*10B@u`8CbIF$fyCsXj>n}h=K8^ zCILq0klylgRu?d0%ubBKc#+ODJ?CElayU;-7M$hL&w|0(^LMs>XO7C9lKK6n0y*>P zvhTq93(%_47G~Gw`Aa?5h9&x;whl-(e)9P^QHEnn5PC)uORU>QYV?s7CaW`U;M2QG zmQ`LL)I%$2G;O3lcKC<2Kbt|GS`xfy*Nm|z?y#+CU(j8{$C!YU1c|4-&&{0uRQdBl zss$ASL^(P6;0(?hRg+ZMh%$&AbUXKfDYlbFUreaBM$cAK?e3D({v7O6@ppbySH)kd z$7AyrV8uSPY0XipBAs}OG1~4X-n)xL9mXhCnu8N^LZ`MP^z9N$5Cr;VTw6W+NpZ%3(s86{9I&&!;4Wci>6LVn4JJJ4-L z9K`W*Bx+SEWN1&!UG(F3y7&uWwe4=481`qmjq-2L*8yF+YYeeU ze@((ft(n(VNd<9cl<>7iHu_sX#9IwjoTGUzU~$xg{|wq8VP*ZszZ|p~UpnL9ebN$2 zWHgK?3Q>_!4<)JoV*ldPLiqmoy(ZOyg0S*!e|M+o4zl2{jsqj%Uz1DEc0n0ks$auqXV)RdJvV-Xyz&-_jXqiRf$<{Y5f~!h+AEntjX6YS<2o3@!dz4 z3h4k~W3JY*Z{Kq{=yol+<=40yNTx$8#R&l%{>(O8+#u-3qHy?%ixoa z|4$M@;|kF(Wy*rDf6(i*{$YX_j;*DA*HIm+K{2p%T)8zFN$~hX`+Twr;zl)tr%F4! z9<27wSjJbN&P`^nZkS8DEk`D`uuX{=B2tcV;`7F116s%iKJFhY5#EnD7MQ6~gseKDJ2DBmhw(~G@=Wi!sG)yfEDf&1MFHzYcHle?BlKf_ZcrSM^f z5u8Q^k!Guf3CF6VbSFC=2B#8lG)c8xEJ-(3cIMRq|F*x^Ro4{$<=MgA4R#mb>-*Yh zOi4(iDB8}~68sA8NQZcV;uu}JTP&57L-;eE(bYdCS?01hr#hY;qX>&{-iSh6qy6K9t{F57WQcAsXea^{ZXnWarD3HKfnOv5 zZI4oHk>q=6gDRi%k!M#?f#Q7<_(<6={zlPfEQ1#xrO8wjsT&!SAzjoi4%1NY4dxq?5t?pC=?7kCaTZD}Hq(UEAr&==2IUtxe|Gr?m?&WM0=x z$deTRx)be7zT)x#@Rnm3A)ukfb1#|B zh?g2j+AFD#+5=U|qID8tJ`-7pLL^LobA7#4SscdwE+rWaT11__9mWFz@&r+`LM;QI zw$sdvesz%?>sVsX(fqNUS$b>09uNr-vZaMPD=C#PHc(U5_7R1`-l65_cv06JSLPC| zrLwu?vr@oLz&UMIR>Yw)&j5N`sbwcJYnaH+jfsm;o+g7$)GxY^{(^rquDmU^xJnbxbgZ}xH zHVHC7HHzZ%y>{$%V=whN+V~H2I3cc$h1Rz;GIrEbl2}vHKyGO0IwBk+uubwbdTRB1 zOy;Q|Pw8y9{*0}_uKbRP8|Sq`001&N`UP>pLuY?Sa!$qwO#s0eh#8L8@-BTOq&lvk z_7gX`-hiwbVt|tBXy%_XQZD!5`*qNk9Rfv{*pXI0+?;cf3(HCMs9syYp{gZ*;ao!B zS%_xf7ScITCpKKcZ^(bgb`*i_<7H1`%nF}blWD=$QQPoT(AUC^bAH}WbY$r9`0E}z z8nFw=!H#Uma~|(x@tKma5w>Coyb6+VOuK;r4X}H5Jfde_o((JkPRg=!Vh;!pN%IF@ zxcPyXHcyfY2xXl2j8cwphD44RFR4hXpD8{4I_QZUC)qMdw4?HUzL~5c7DEWRyljKw zIZh%P%05eg%p^{=F8^1>`#jQHB;tK;Yby|s!)T_e6uZcB1?D){bxMclI~;N|!sxt5 zFEiO|f^Tf2Lk8-!$Hde~T{>o?bjv~MGokj!%OW+KK&;d9jB>zlWh{9(yAZ<(-bbzKqd$56_Ic3l(k^l} zQKhxVB|&zw+XFl_)7xR>=Q^5uvBk!DJC9os)k+0b{%6)VpZwo5CSrq$Ly(s5#~*3C z;6Q95>>gp#$N*zY_CNCla*xJD-2dqan;Pl%H|JRTs`j%-ZN?Q~*e_#qMsC`u`u&c( z;i_V`U9>fq@q%)K7a_NAY1`MM()?LxlQ3@10H#P19AE)Y;=eU|*wrKmw*aQvLLBk_ z?P_I#zmGecAB4HV!JpqK+xC(~cZ7rBULwo>Rq`9hhl7Px`%yK=@hf=Kw#ToW%4rkM zvBOzj3l?aTMK#C1sRG!>OB{)>a`!f1hx>`giLAZERraWd_+w*<5f$hr339w2)aT!6 z+_@N<|OT30NePyo`Iwk@+J z>A~?*f~1h5*=ynAG*_0_40|XNi+n_)#>GJYQ#1#j4Z&_(KU_I^({ zNL*!)(UCl=MgAOPox)aYD_-4kZ+Y;vjl;Q`F!R_W&bpE)E0rG2p8c`CeNvERf7T-T zeYVb)r?HGC{!f?-F?7 zgYlX{cYiu<#tYpwV|6Q=}VpBxhL^KGfEC~MS^F`U(M#tmdbA3h zwJFR0jNG}7y$xnkxfr#B&vsAjDD;A3A|l%^FG6n;5iQH%5C?SqTyJ!Ydp>^lVsvVg zGnF=;MDN1N;qae*NCTg;J*AMt6 zbKB(wd_!eH_YVnc2lgkFhO+I^(O^|)03wrN6&AF#0L?&BtdX_ja<;7uOiJo9=u!>K z9B89spx(}VZisR~l@k-CZC%ftr(}3%ASm@eU*dBcGP%F*gK0*zIC6E741)4=K(z99WU!q7$7zWV#Xnl?o|A0^zK}M1%sjl|i zl_tQa$?%R9YZ)`G(Y+XjfqZdw?cMC!$N)#f^N%xPMYTqpQ5WN`X~%z#-JN*9MF%5f zj|wufqU*wb$Zo&S<=z<*kmn%a9ReDE%86)+CF}Nt33?dIac1-!)H2!rJx>&wO z_N*V-w4tMV=3!o9O4S7L210d>^a7_w+Hn#+vi54{Z9tQi(x@-vP!HRjz4cPbZ4W8@GJj!qCp6 zQ;*I_e*vUPH^)xsFs{W9Wr8mryxaz+;{8k0IItbvRRp}e_2ro(cL_X^%N-lEWcXR4 z!&TPj=X^@8ZhLmzfa3+u^q9h_aYb1Iih_vp*YY683cg&9-1e3vnU6e`QN2kkpYpL7f``lJjPtddC%F@vy62idXyc<${~l91^vOP~-U;Lz!n>Nb59Ye@!`Wn~wQ zKeOEn4mR}z{DlAW&r;d$0NcU2?YnU7X^qu_tt22N+o|W2=T?vPZ|GtRkyNVhE(9@3 z(9xWyZeoB-RfKO`vV7H;2o5yZ6dmRzT;6N?L(NriMvbE(1?_eKJ@IQI^DP`s+7 zX$G{7zxT`-L{|YQ;|G%Tr46?r8+N%-a!Dk?%JOhRN_Od0UYP)Te9Jmi`BePTSBETGJ_VUlaiWQZlzoQGDsP&hJ`|-J6@K|om)`$0%cM{lYWz2(#HxCg1{99?rC3%OA zA&~DQ(+1vY_4D^7v-Y};pZ=ZF+@ocV+n4C)^7)^f|B+HTQ>#PB2|@BO-`b-Rt$RDy z!fk{;Q!012B55Sg)D*!^Y`e5G3eKjmO=@0uKA3zM_21!<+#Q*-!jQQ7SJIm{bd9F2 zr)JTGn(sINHA`k&upg7eBsM1^S4GvaiQpH#8TS9;_37q)P?fb<)cI z4Wi*>1etvb$7r)t;2`|nnVeT?mvl!Mo2k{s;d$FJYd2Qs#WZ4G!#vI z<)X;*5e`*b^GWZ3EozYLkrpFoF3$*ukSZ_*g*>Lx4={F zZoig_!UYpUyfZNyQ1jCnWFt1P@EBQGe3N8+qP#b^<{%t4M$lF{2q+Q=`(j*_Nt>Q9Wt^ba|5F~z-1 zqoB|vi)k%yBx=#}|F=mR3v1@O$A352p`%M;}k8bZ}^suue`KWhzB?xUCd=mWpX1M2}87Qb7AW@m7}kJ4KflaoitdcEf)q z@i5_~Y?b^9Q1-yUIa=*^BcI6d~% zakm!OqgF0+OW)mT?QgHmnd6<19wS&Wu_}3ziwl@GWviV|A-|t}Aj|=Y+F=|)T&zb) zrtISAPJ3K6{E*bz4w@7@YgA03SzOblEJP23cTx~OQpS8`y2pR>`#!ddPZ?+0uiIvw zK$of|*ByJ=Usn+yWhdoh+dR|A3wV{z$?n;+I2t`&+l^3kg={BEA>XBdRAP1~RO^S6 zazPE}LrgKqQ`eE0Y-3R^7t|fW33WKpw6NLGY@nHJ%TFaqQ`tkkky{*=%$T2tk}@Aq zQJDMsyKv~4FP=%g6S>bJ^Zv&-NrjJ~~Mt;#3nt+XGX#Vc@-%n+s&ny*!BLZavNBoB&Fj ztJ-o>($3b~B*Xj|I$5TZ_{e^N*66-cAn8z*F+=z`WAbojMaWK`8T`damyxE68O8jw z%?68?Eqi*{{U9;Z-#PolXm?R$f6gYP+?4dV8l=l-)?Eg(0Jf2J!ldwMXAciBio}>! zTBY|QckQt!5*4E-El(vTH7a`op8f!uXLt5i@|-T|rJcEls*-W$eu@mbmss75bZW@5 z^MQOlU;lsn2Km$Ay+yD8hG0(f)87BnKZNh zUXm9`Var3NmR zYr3xT`AMoLFyno@SU{Xg$J5@2pmcksqBY$|kThyn!Xk^K@}3b21bY1`-Ai1>TVM0o_8nNYllDsO> zRnY3&J8CCnR9dE^&^5z&nM-IR^w5fLzu*t`UJc13&MH90pARt}a2+{FQduDcI)w+5 zFo&^&MK?l!;8;%f9?=~T+gq0T%lNrFbl1q|aUKGR_C0z;3YD1;9Od+vSex4X@V7VW zN>`a4$PYtSXmLwIR59W;nCz%Z*^;O77khiP8RM z;9i;7sOXPur>DGU3kA}o$Rr+Y9zA-NP(Cwy>h)xXbGO(aCRSkM6ocPR;=(_-nr&|f z$vgD>Igq^EZ(oz~W51=p((W?3y$PBykcVL19b~p)ua(tj^e1J9Ktj%eOie<`gkb9o zX}9_z22P+uf@Fe6B=}8TK)27vbh2?Gh_o8tbgbi7C0)jbvESK+Nwy;mIaQY`HNijD zAYcF4pAG?jpG^QJsqKKaJ{Kt4yL3L9umX33`|N9|6puh3>1@2DpJ4Q}*(ny8w)}c` zh<1F;0V^^eM)I{Pvxt_Y1%tiV&lf^DV;CLelTeF&!^axOUfp7k*0@vC*yMa8Z>kq_ z?f5>5!-jXbGs>L)I<4%&_=4$u4Q%__7$Ux+o)0@%u&MbVsJvSQk4dtWH0O_Zwx3Q%x$}u%%y(KU#ybuqlV?bq7*-{Y zm#TUbua)=|hcWoyp(~^N>iz?d50#7foob-H70~Q_(u& z#lFVE-ko)%lf+=tO~yNnecUFrZ&I33PpCChD5)BI$EA!x&23z^U1ocoaJ# zZO8oayG-nYGS0^L(-bpQOVh`(Tifm*6`ee`Ws{HKpKY4lap1E)6giNmI<;fej76VK z5{~SPozLoU=}UM%*qn>*XB3Y4_~3!7OZ@NnC(Eq;KHYNHq0C`~JYNhGl9A$<&K)Cj z)sZ!J9Mmy?)k!ZIXT&DUbc~6_BPm_jg?;64e3rx$;{Eu&;jYd@tQP+duW;ah65sck z<-_K9!LT?-W1kDQgj@tGiIH0cH&*)W$;hN_?BA%r{qtnVJf0eYdm|%u^EUdq_4Od%y zVd2%(^Ti>ueVQZ(=jdb}WqxVK75xFUp{Ys%Qnjr$31q^OHGoee?cCoMRc#24zJUCI zOCHFy%Y~+$y=GGUPH2AkJu>eA9-=OT8sk-rA}zQ9O4H0+BN(c-^DG0nJB6!SH|@(W zvWfxaD8G5(1ehiRYygh>#pxj*hNAYQFAUY=zK;~Q}` zMwF-kv^W&9ro}tC0>QzrCSbs4LcW0Tw0$ptlCv}S{648=TnEjZT+Ii>{0@B2jI#UU zhq<9K01F1R@aQQX@f0A;x^u|#2G01K9xaomv|T~;@sS=u;qx%*2YpQi&(0#A%SU}d zthQ|pv5q2H>{us0!Dxv(I{bOTE9uWXc)Haqd zs!oNe@3j|f?1+z4*#gY`3Bw%@t?;~4>`&fn#uZ;9h@wrw$Xy4o?MHN=OY;zzr$u{e z$?^5nBig9|bnX@8uIwwlGuQ;2GWULRt>b07+-1P3m$I9<%Yrad;kEZ1($BySUBkcn z4t)=y;!cyKmjmikXItI>f=W7;=>tZ-9|PbdAT`$ITjO&oeXZk>jSWsXpKBYiK3IM) zFYNN)zg;_Sr|M{$Q2=%mRBP1AZb{7jv`zP%PT4-`yO)Vy)@by2rl&~$Ke0trz!Kne z|4F(e{APjNE);EiK=~evGx4%G3-;@Q%lv)D_F!`uxv+T-h>IE5;O@Stx|=(J&bEwS z2(3elbz>J8vYz4+A58-8$|tPbD&`D(!~;Gq+TK?|Qf|?WZ)D-?P-R%7zZwEXEBK{N z*WD()I3<Xt zcw;#+UI-etY|ddk&Op}WY#eahu1yF(jb0`=mZ(zaH1YkKV)l9LZ>x&A%2Td@!(X~0 z{AkYoNa7z>$H@Yp!`HTNc}=kGg}?fF^72>*1rJz0Mn0R!+6@s~qbG@BLv6??+cEfj z6DX~{pHAne#+|OnREmsr+-2xImHk}KR|S3%qjJDFsVuBRMg54R&h|+7ZooEICJ{qc z=GomLh`p-VAmX9O)!2@hXl#;1C>n|6BYnP9!Ml;m{LU!Eok*yu)QuBnLA z>~H}v+}COGAa7@74?RToN3&h&@y(0hD`X+@FV8VujIML{$T|Ik2Sa*5YD|1Om5C$u zrErTvCfzp7;O{!g9~%+k5E30%N|&qn&Y>$mXY4!v3a`HWJTtZvUkS_%o=7sK$^|3c z?(qMLVkXYb&1ou$MBS;Q1T{k<#IXjxff27==qY1%z0)?GfTb;r3|UUR`}EoPVp8hZ z*Ln_Nuf{geF>^|;+`mZ{KS6~2KNLGUU7!Bw9Gy8d==*1N!(gQn7EG^yTYyFsyH)#< z(bMign2~xD4H+MN>CQGjFkk%GEEZ~MzOz`?q93dYsATU8K-l+o<9{RD?$95VW9%+Tk9~;>;@0v| zH>0ns@#pE*(Beg!`}re4*<$ZE>o)a<4Doly8K@B0Uq_K z*sjuC7a$z$RH^lMjrogn@*B9|tdf|i+}me!jS+Ytx_OPW3ZG%8JF%+oT8#Aze^FAO^#T7gmU`qw=<-*I z$%g?br6HQ`yc4H>+&T;~KE9-jkvUI{5-ta!{zsr6K{HA85%GcbN(=KEv{JQ6>phgJ zua!`=E)UfjQ!19KCeyF;1!g0+u@r_;nbUborB`S4QyK2V8)9G0EYO~jtNzCnOwM+z zMxq>T!8GP87M{$KW@(oZj%*k4(z4-A^LO>M&geVcuYde##*zWRL9Q5fwIV8OLH5CVS*%?E{{~;+DGh>fSj3+ zT(=TQs@GK(XQZ47Rd;+Tr<6G;4mVY(>{X9KW67q9==F1VUs>$ne#+if)DIBv8Xe@6Ua>ZVM-9D#?q@ zmevCJ&vqUg+{oWccG`&u9%-!SrR(k%3?HZihYV<`7%S$tD>lGEsOGiNO3D0_faHAH zXR?+Wld~n-M31~Pr0nnu04B(o06AxmO?o4u+7K!Cc$1_Ef}JJ*3%jO~&dJl29$5JQ z4cwF{!)M+t-H>Rxr?W;_^N~^+jdRM*@2Sx+Zt1xYgMWbGkJA6-a*%!O%vlAKDZr#8oH<&rnCZl=+2Sn zoThxy1j)N#amLHWr}WdpJR~b(m?A=l1g7PyPwyP|08~f%CQD{Ke!;w}gO-lGk#PRq z!D38gJ+eJ}2y71Th&+#!?j{4ELvVIn^)N$1T6}UT?cXH=d8H=X)w#DvS%~H2cLP}c zIwCN1;6`c#J@g2sS3MaU<}+yI!~q8Og>&lI(b6|Q4%-ltIgTiufxcdzJ?Es6Dode1 z+uxiI?%H5$q|9^eYR$7=(t0jhswa9}_#lzv{z$%?1h?W#w0~ip`?nz96`v;ei|0J` zLP%Yy9w#}1OUgYx2frSmE=UW{Pkz*91Qg?-^)4l9 znW&O3Ep?Cl+>!BV>kkX4N1u-qbFm9-5a{RxP}<9_8#>p^y^%BZ^|D75;J@L?TbYG< zr&cb8gyZ6?Y1LnE?WM^^KN>>uekCMrh2Qsuu(yPDc zxbUEU{+>})<{MmLxQPuaU+s8<55Oozh2z8rw9eC1&d15O&Mrs?XW#rz^eXFQu{ISK4v7&=>f>jnh8q2(9)h~WD0eKq}WCrge z>08!@E}rp6jjOHtx{2JQ9*zU5bHN3p)7atv{5h#4w;7)Gt%9gur#MN3LqPDeoN31P z%&8?CT)o^MvDpM?T#do| z8CRB^)SU6@k_c;w@fE?AU))nmCe$WU7dwUo$=DdBdQ)3DocXqX&-!rTVg-WMC48el z(r?1$G6F5hr4TM5!>CO%R+$uRZ3wLd_a-yXk}|G4@pI{L7Ws=~pMJ~tR6CZ(p5ZJ3 z7!^?`B}oK24Td7_C_UgBHiN3R@F3VOxva&B`49N18qK6jDzVVv zo4-N^k}D)*-SKI=xyz?lF6K*`KYke}2^~wE)95YLI2D{}ygN1iyHY%qw&JmfF;0pI zN-6o?C8pCRfXDvl^Riz&{UvXB+hHUb5}K;t;=VItFndPod~wfn8EJK*6T)WH-oxmN zzYadaV_6=Lc?uxTm(J)goj@1+GDiyzqwFa>nl~(dB0O6fF7{-$rsz8OiFcc6f++CE7~3Fp%>XweLAN6++P7t5c~eom9*mv_KQ zQHg9a5}7PIhXy&Bkn6Qry|MecnMXd{H9q9fy)*ZxSPOd@j%AC{QeXgSYp3UK(u>?8 zpBc&7_32AUSnDW-S9Bxz`K=31mij%Kc&4JS898I)L=h7t)vUS1=Uk0a`QPY!I+I4~ zcXiC2V(#4T=i}Ql&1BFE74r|kFI^e={Vv{e#WzI`$yxw{O{=*g-p#>xlN}kkIksB% zIp?4CB3Kk&awrt^f^&)x2YIMe%Y(5=4h=R3L<_e|r__`@zML31HY-Vq|4B4%q-r5c zRs3R4ikCE+dUfxIZS>Gn+( zF<^8hg~AynA6r@^L{3xW_z!)+&L$Gv4;ID{XfERNJ|wqzr1u|7gD>Lg_^(0TSg4X>AfD=jd@lC|BFqW!B$}iKes)xotM>h@(^n{RSsic zZvCVZP?nmlP>ON(C_B&ex*w!dE@I+TvAm67HKa;S$YBgtjG`dpl&U^dJ#u;pbetZx z;|ggmD=}Efc6CsYwh|qY`Nb$kNtR?sJ!j4;dbX{b@Zp(S+EzR{5b8+zK!!<68V_^w zGJh=dXEjt|k`bp6pLc6URYdViXGP{Sf(z^sv2KrAn#e%FpUR_Ac>jB;3@egj*E)9Q z5ZLhfTgehxYac+Kh0YBp2)OGxyJQx)2oS2RbQm=R%SW!P5x90NCcmpSuz@yS$ zIjb&nUYz9Js?h+i0rmRd+bF-CU;+^ux3SJK&=zFK1Z1IOS^Q`N{ss1`FX(nspB0tM z{=1rb4NWi!%IeQ-lpgt1iIRSCge+r&8QGrkH2iv%%01$Mz{yHR7 z3S!5;(pAPGsq%ctk!+7bjLiwT7Mb|;)~3k7EwlB%-?2}zPV;%?z+0NNdHLOtv<933 zb+*%?JtPa(9D<+Y?wur%77R|~`wl?&tg!q2@P$KCz8=+6j9NrSdc5FPsZy2Bfjl|V zv`5Kg)Xk9t>?w%y5QW&f=z%2l6U8(6>kcx4-_AI-%h}-n%6T<&{GFT9maVkID3$S< zt75(HC`B6&3D;ja(HTZ+$lWSb1NCBE{^y5~J9X9nv~yoWcGj`?I@u#KB~4T5_E_$~ zycs$51HGIi3}(w0qoXzS{IgKjn6%s#ljnoDGhDLW>>pp3@0ufZKdJ<0f1)#LbcqQx zbXJkHok^k00S~&9)ZI{}880;*4bR~(n#Z>L$V)&q1?iZs%*GbQZd&Rc)DFLAo9X{y z*;<0?=tl^pGX!r8m_#iHRE8bbUEbN)i=+WPD0^Ri` zSdVexIew|_rbyhS1HSxrpESDb_!|c+*%lr9$&j=zn4mweFt=pW3NWzUQ5|0y>_QU# zNV^Y&Q%M2RDo=EDd9fy8=fsEcK)h9b9S``UC-_WsGRjM}Ta1ir#}Z4Fr9Df$bEleK z8((i|7CRotM_hK!(S?Zc7_YlyTZ}J4CJoi8v*(~3A)96eM^hb}HWUtGdO<#vYX;)uwV~@0a3@#AA9XJgm>YXNh&9 z2#}ujjOT0~rkG)A3~%7;cW94vj{M2VXiPNX{ zHE!$Ud%MIMD2Mc$yh{8YBH zc?=dBz{Fxe4y_a})79XuaWT?_ulebyMQ*E{=&TOe++QIXclXF~ws*}OWeMlr&-ljc zri00aH|`Fk(Df7}na;)@JBp_$e7vw=V{GA=-xlPYftz8Oa5YmiC^CpG1*6!-fYV8Y z*zS~Em@q2_?$l$l0ng{EV|O&DUgIwn{>yj!DnK?OnBt|#+OtXW5bix0ox=M+qwEqY zjHVMmJnPga;*pO_lng)R9d{V#9#y^e|Ix*f&Qm)*;7d-0^sKKlnb_l*=;_d;Z-0AA z%1ElCqj_4HD4_Gj#-7Nb#m_oUH2Iyb!g=Vi<*iKe82iGC)=>uTyzn?iCn@RfG~+4udM z`Qpn`?&>fgf~ezh;`{1+#nMSyj$2PS4?$imLJ z>kC^AW`>iYdL9KcK%X^a89mcQ2ttc^z*@ z75@~nZ}J%!nk=yO&VfTOuC4ffXTXzkiTbKCh8pHMdS*6gm&z5s3Q8G$fFLmCQ%>`n zEoZ#Rcm|03#Qk0;0PQS^{a$CyLSl`i%!w@pkVy3ijsCd4- ziOHkcHjpf?iD5i;8w)T7<%tL$6rsirH#-0#Y$nQ`EGmc}b4xe+n$L6;eioUaB_rI{%?1`3i+8+=VF!KI%> z(MK|;>qZ#tp;cS?_c)tfwl)TQ0W@}A4{i09v%3Hw;a&`QZ7X)Ax_Jp;2wA@SQ01U; zn{jjbefgd~y85$w8f{y7*Qlr-+qU8)-bPzh9Y+#R`7M&>IoIS*f85aY2aD z$bpAHQC-q=9l)Q=Fl`4=hgNx@3JPTX4Z$1YZCHhbWXg8?OQ7LLkI;3eG9bm^M>T%T?>Fzu1elKZ{?Pt>5tboC21G?;|FG>&xyY( zd{K0fy8N>3EnSm~V2slx{Xv4upW#K{*!`h8Hh>A6X&Ex1;i~Gp9Z)6(pOqdbM81x_ zj8@BMX?&+iq^hWWtA)<4bOKl{NqEMjYx|C~lVv9VRVw{i*DPS_gI^v_IE%_S{8m6D zBVyVC^ApX%(Cq%AO>jx;y+X=_q}I^wgdOC=7c=#v0lnYX+C*mAA%hXo}ed3 zZ)VI6JDV_0uJKsL()Yl&G6zYLhCMYi8oi4fYCL-AHz}6N-*hwXHElqZdyOrVQjFmw zEu>5RZNfb9MC+{2P!-D}?Sni@v)9)O{5VL`Ef=n&{h76StM>kykEFNUSsr(u@em*$ z6Z%hcJC&e6$-1-ghXyUJrXupYKgT9Xmd;l(DHE?b|C0Te{|)3oIjOT`tq#qD7Kl1u z64q6|iMNDbG!gSu>zP0Oo6>#kW0$DYquqh?qob}?m#Rz8Wb}gq64zcl_}^n#r=He% zf_QDgisX);mAymxdAiQ5d?sb8RPAI-+TWdc_h&o@l5a-O#K!j)63mFMQ~%|qE&u)$ z2Bf0XHRF$-LVv2IdHg)HRG;dxPuc@`OqmuPi`Gl6jtskuN{kaKNq_jyvfa{+t(qOl z;m%VhMuW-|fR9YX9*LN>7)emu)c{FAw!az*!+Rh6^X$Ou$l{n-_U^I7N5-T{RQ8WQ z&60U3<~^jRM0=Z_YP}tsP+#1!#IF70H%cOrP^6?8VMpg+m9nsLM+;+T4hgAZNO?s+ zLPGf?Az%KsSmApE$KLnf(dj?cjQ*R%k1=RkoEb?P?0_*rDlJ7A?}ziFTE{*9uiWAD zP#9LOdahHdr;Oj`d%ft{FL#gyk;ZYvVqlf3L-%JbCO+AB7dyurvlhU z{%ykszU!}yZO%g<|8ZBRakY3Z6Q(IrwLma-=3=VGc+5nmq#Y7xnfq&3i$}-$I3b$- z6duXbN@uIa_2B0Rvo#psw&Kwy6UU?ZZti@$qWsTuwM8ZF%*X!@zHEP=#D|)$h@(>; z;d1J3XNc$$KCfU2a&%;nvY9{KQR+P;JHJ#w+^0arBkIFVOj=Y?)$k6-Nf zbV<)7_o9(yWuE`mqG;H=MDa(s&*aA>d0$bw1hIEZdJ}=|{=T|iygv3X8VcOfg-20A z_0c*1;SxoGj_*a*CsH}q1%Qdig|CiTa)g`BQs-P zN_t1Sr=&}fMSSBpQ8N+~Ai@i_hD1Vk7d{Zqg>;f}d%S?1fE$Vu{~M4WP5 z$c(KfpKgt2JoHmX*%=s{Wc&4)zu2>L{QnZKhJSvNKsnt1AxI5>JH%tys|MS#Jj~dU z7|PP&vwu{MPZ;lXIG-d2^UNQHGJn+PI59W&$r&!vbDYFC7=znAe1C0Gwu^|ckz>0N z{$1Mq7S-X6vxS(o-}gK<+vr!B$7|3Bt0F3HtCiW8nP;UInO_6HX=mRuyEPB_ic0h< z=0_s`&q0~K3ha-e2!a2 ze)K=gy~Z(Vd|p#gQWtS3=?{{oL(JPa25LI%jREaX72eo%h@b3^9AeFwQ9P*f7vXin*!tJlcZLe@XQ0EwMlSYvjJfXKpq%ZnQeLRu>$ zqk6nW9J&KzK>gzeMXft`tJ1O98x&ra9LM10jD{+Lo{%N7Vl8onJjK{6*IAqyiLvul z-V#+PGv%k8dAyUv?S}-beXq^$q`=Z6okpU_;68jpxnBUX*5K%$3aFLT8f$ zA$J`}i7Ei7_YLB!c&A5t0kxTJ=LK8_oKt82y3S##C_tLzh(X6i)=jui9p0yck8FR4 zE!O!w4%&o@$Bt;E9*>6+Gw%<;J_~?NG`zYQ!2pq&@c{@4gxE(sSBA$O`RB>Pa;YX? zY>C&7a{f>Gdrg))$#GAJ4#?2*_ns=MDs1y_**UcUs@PH|>zKKZJ*u~{j}PzAma+1? zB-dD@VCyd+T+tN*s(Lgfz0pti;u?4t_k&qBi1fLAmF*-= zYpA9IG(WSXgQz~}N7C_PyJqod7o%kmS$pCEQsUWM=pIK1U=@HWHmLp_@vnBZH}392RC08HoMx{gBAQ)@2cDi6FWN z5^4RqQ%jCpmyuBHRUXTmIRj1rZOldw@jpNJkj|8zPpXi5tdmW-{m(2F+uh127lqhR zeFP735`{JoINE&{A^Th+XW1Qnc2*;g5_pyQznCZ7^Yb>jy>=R+ z;Bj@h7vj3YulJrySpc63kR_rOtYo`8Ni_BIB?0PC1rJyTysiEI?QHld?2zOt6@m*D zVn8EfbN|(s{I_LgF)qGti5lEE2iK2Cm`*=n*_uiIG*vWx6zL7GFf=Bvtv*v9_dlM1W)@C=`~bJp{-vHpIEO+UlK`P^>e1Mo5SDplkjPXOsKU z5b#E7tm+tD-nD17gykrviVif{mdtY@9?m|8&zI`Rf-qKnAWZ#X$C5m%&$hMa@pGd8 z(%|>Ox3OVkk-wzUt3;8R6GiES?3pa7^F55eKck>JGE!o^2l3*}j}5M^6?5_?M9Q$B zbhbNpAdDt)GXi&>+ED`TTr_zZOfQHN69W7z8Lzo$$GYv%_gfa8j%m+J{>Vo0T%bl* zXvasz*@av+!3RL`JG!gWMLS89dDu8H2R5lCD$qa7B%v1-Qm!{%8@fbB##Hn7`WX*0 z#eeU@;NlFdk&dA{@=m9!W--ln$|;25%||L_x;+nx^-{Y0oM_SawWsg>SwUenU#8>&qZLi-_}FAn(W$K_OYY6!DRT@3APVr(CF#euB2d<6m9iyml#RB z(is0?e;!HIE;!yU_l~ZdeSaE^Hoo5R!pHH$2^L`-*dTj{i!-Joo^Ow?9>snT#|+&a z{swJtSZT42cX0J*(w{(rCeI$cCKs)b$*qJAinTx;m>#V6bph{bq&Hwzo3SvzQbsWhP3p{UE6gV ziEAl8$L8jiT=^vw*wXK|t0g;QP^g3+Z>M(^F7sG#j1eyrB6rjp+KzdqxeeN>e;4p8q-{CK>x?a#N0XUh*M#<&TGB1|*7FHONqQUbL2%FkzGWh;N0j&X8Z0Xg z4sV(aujjPy7$oGOc9{*qO%a@=m2gs;nzWr+GOaFyp~kc4 z3BQnw*=0;w!c~1&M+2vxl8wIx09LA}m#EHXHr21Rp8y;c?bEj2sWtO%<>{GJr+F-w zgQ3_@>03q{xwyRVd;$0r>)w!ybdNR35voH*1g{}L-U{B?iu!bL7)bi>2N{aHK1C8f zQQCZ6B;I%9j;2coO#+YxzabM&<+ph$*S5}y&nBl)MFQqDvs+9B}$(wqU zC_^*nQ59|2^R6+~&S54+Wn*CBaTLvrZgdmqRr6!1toS++TNuhN|JRg%+mhv$!;xFsEbj6Ycg80mc13mQ>5OjH@%NdgwesKqQ6W^B+ zi}=}@FVQ{d2Lzj+vs`?nG@Jhfv{aHj1zAC7N=>j7a*nO;I*h#$_$P%*kQ9AMs+30T zDto@V3q}h`jIWa*K=tDza;|4c_?1qkeyKfnr$nIs$UBexb4p_IkF&lj zWS8gjrUkz&Tev}!uO^I2bjFrj6Z~xsjfAe;0fGLyo8t9U zAZ*P3J^t2J^2B2mJ6bWX+-s9uCH}eK9zBcsY9-3Wj}WBsCJpq%|GRzK$a!6P~b|{hP1_HAG zmc9;_lK^;Jc;-n#o!0hs~pV;ssKSEa4x(tcNS(wN*rZDlW4<8-KJdtD! zdDjdx%a@fHH#}=U@ODd9X1}6(xWjMQ>J0cmu3jJH=hV1Ly_u;k$Mt1%>Eph46Rk?J zGYKS!*I>`Cqf8c`oZ$u%{8b&Q^Xs!cJzLZ@bebAFe1)WEp>=ozbngTL!6-6xdvfQe zez+(Rix0L*I*jr88{3)&Qw>ZEYA~}JUn4+}fc?w(6 zJD6s>xiKv6! zO;=vWzJr^@GjGV2Wb>W>gCCtl(P2E3lH`;QlL2DGT&!}@FKIg_=}*E>x&PZtg(H|lG~2;oSYf)&wSHj zCin_Ju?wb?xRdc=l4%)gHN-jLUN#YGN!NCwOm?fVG|Wj>ju6=a9j(FDaYq0W4() zlnFf!pRQ`_vZ_X8Rtvb$r5G)AfHTG`LI0)sb2vz*O1yv)rM5xGG8wO;~r-eF% zecD!P7j#t@ffYuQ|8&soL|_}T!wH4Xq@M{1<9~lga=9?Zk(*m`mxC_O_FJ^(tW4(9 zdrXajHx=@|b>%7`fc=nRO_#v=x#;8X&lm>_44I<@Pa_tS0Fpx>GmG8^j;!qc86Uwo z4*|q7D!^|`HXY&5=bPBE(+voB!R+fLI>o=(%vdealYQ6HsO+^g#m4j=J!i<)afb+X zWTcgf*jaL+^8fgwhA8r3q>@1k9#YvlA&iiZx~)!E%TFa};lT6U8H1DH#SdFcOiju; z^sKR+eH}YcK^lgLsTtaOU=qvi+qFS*={Y2bwUo^VB88r*oTTF?K8yXo6gaglo{E9@ z*SdwNH?fn&IPQNu1hzPcK5LMQQ7YDvFK8Nxsx}c|r{cFw$g~}Bz{)QEAz@bcE(xVE zapX#~ceC7@1ck#@1}ymedx|1oo*$yKPfn8is2Fwwkv@atwh=!`{0%m5LWmk>pW|$P zbAKhwXdTTwdW2ZOBDo7^v^RmB96-{}uN1;V8{GT=c1KU8`R1f4RI~4SB&8#$J~AoJ zjdv5zdHR!^bz&vUc9MT$|0kcPIKpwS$rRAOq{?djIzQWf0@fB5H z!sPskh6}yjUR*w}JihMBysy1uP03c;BOlup2ifR2?tC)=14;n{u2|7JS#`w$=o{UEr|J^2P3zCnZshR}g{F1!r z7}ewrk+(BI0fq;2<-ba`hwsuIj>xAV)C)hOB*I3|F4+wh&>~fH*=NC?BBvopj{`I7 zdizcue|h&Bd!^H;24brTJb2eEoL+jSYWMAR^bP;u(R7Do4BajDsoeBzfrAnpi`^;g zqn~4L&He;bUPk|^6iz2cO{C<*0ww_M9?R7oC+~Dj zQq?({>!odfbzMRB+Sb%1Q4nA4vRY{vn-m|>%+Nj_C(y(L(~k;&k1JOyL4kYLX-K_? zI~%}umi}E`efy*Q_nYj{Ng zo2Du-dz7Y&M7O|Cc(h3|gg!zY!nG@e_3=1@md;JLoD(Sb8o+t6HiaAeIoK%Kmmj`7 zB*^rmzKn)wkDfzaeC|!sV^|6uoy8taA4n7bvviei=ILOIS9+wwC`miDvlp6Ccj+oK zp3l#R^U;zMN295SGkaVpVNf7tZZf2CACqpU&c=bp#Kaevvyy#Qsfb^!XYMY)COTM* z8np^Blw^V+5362X{P|35Aou_~D&m11@%do+GMk8l(I|xt3yo9FFhxeTRopcvc&e1~g)!KtAT;LaUg>rFK7JH@ z0A5dg?ol(dcFJ+pA?_nSsI&1%lFH#ON~3;?Wp6&7$uhr;z98=i8g9{lb)Xc=^BVFxQz8k0os$qBLr_q{KLSbw+yp9T&T3J3%a= zB3FLazf^p3j6TtY3!^C%JCgTYd|ftr9C*0cA^zCU>k50~I6F#XYGh=D%|#yns&w9R z=jLN?X5I>}@zGaM#rt3ILu>TRu!E>Jf#~5P$H^Z2QhNL?gE+nxHr;djog8`W&!wOt+hoV&LQl)@sN*?Y$1Z7r1yo5~GL7mfjyb?qVCiqr1>*F{p(8AV2xabU+*X zT9}PH;HfRK#GM7EPwWjWY3UsATu9dQ)b+Rl-v~tPm?&BUN_(uGi8G{AF&;x3hn<*G zX&>N&GJ2t^4T(vnv*g`{2=|g23r(_+7Mhahj$y>EcDYuZSfiXgDQzcK)?`e(4cu!C z-cLD+5C_?zjmJjoG?zI9rR`R_R8Jo$t2+=`3Eo@MEX*~?z63#KqOk*%W#Z@pLX*_E z`?rFOG(eS7wSJTt;ff7k;vMplO7XB%n>0~4p4vOkQ2LQclDF?yr9391-4^d4xa;xz z*KC0F%vI(iPN!?c?;TRyrjOX)P z$_(DTagBjg2c(AVs$LQ*-7@0)+!8sl!3Lb1>#6J}khU#TU+|DI9U%)%3IcwkXPi?d zaW_RZ!q}U4>k*aXWtl%X;33#~)VrP0KsVq_O5pd1aRQOqdhD>UHzs5N9ei5DiWSPGtQi3YH{y9jC>2xE(c=m ze}x@g%*xAtiH|$j*Ar5Kv)h9~E-N7>GTkyz?Tzyl>y<=qZz@x`F8Oa%8D&3P=#4k^_DW(22T14kYlM;=bF# zRmkCVF&S`Mb~*%_+%DerRo#pLSI?;Rs-J;A8z-=WCC0$TiFJtXNr3wW?-E@~Cw?y1 zMpaL{1MwVVlR8e0z+(fNYsVDYUzXC{*4`y4`@*1WB^TNx3e8m2DLW|%rlKG4I7%-%puBlA49r( z@&Wab1e;9=q-s5yTvP*n-Ao?WHdX3NAxAyuAv#|-vD z#vcA>B51Yt{U06Oi6_|?)i2oiI$kxc)3u7;Qr#~sm5Bv~wisz5~ zPJuV8AtDRE!tnqB002ouK~%9U^OYy1qqZPz;*SUaKLqoZlZ$P#k1ZWAH}5-^O;Y&Q zg>np=s&6Tr%tP`Zufcs22Xw}+DUcQVvHS_K$3-$RuI4c6^eQ9}elNsVCFXpc{)!E4Wj z|8*=QDUNwmOKv@5;G9I^%;-7B>KANYV%%g4;`Kq_Y716+{7iEmcDls|D^}7cU5Z>o^Cb5B3YPK-hKtm~&rjr2<~aI#oYprArIBp= zc*i(C)wviL$aT+ucQXD-f}&*nRAW3@Tf*dgYB63lHW~W~4X^X~{kp=zOhQSpKy2oR zU%n*5Y{I*T0W|Hq__N7i#LLhrVVS{v8&AkstSi44-lTnJ?9$BhPdB*tM?N5mrJKqa zzFew5C%G@AwRuXwRfB0m#?bX~2YYcra*-o>&A2k|}S(UtF3Exz7k4zWY`2OPmk>)=35uE9XKc_fg zZDUCNN-_zYblhdOv7+csp=&I5xJr5>`}}w1Jqt?%pO*hfLpM%;T>d0QU7S;;DemZ- z3m4b^e&}qpEo*5m)-|OERS5dyNhmOX)iwRq31vJ(=J7 zbsVi4vfg!+MKC!#FVnQi-HfUrJCec^hIL53jV`AHW?nF*l#A?pe^Y zwP)-6N*Y&XnLL@q?8>N~&RIoac^_XZpyx<)35=E2v{5lHwaW_i#F+d5-*g-#=mRDj zAdH-8-g)5!6LAUsLyV6WC_A=u_eJKUCRW(J4E%dye#aoj_5jGya~yI2k&Z4wOS)%e&uX;LpC0rZ2?b}rilobRTrN>*QB;vu#cB|-@7D+0A3kcuuC*T40e({@}XZG z48i_Zvn~-vP;#TckVz$-E@$8q^zl_qseoY{9R&w_fYVRFrz$&D7TN^JHO@Mr>Lw-c z;rBD@K(24V&n=CS4EYT)CFm1^iE*b$%)(ctu1wX;4ksE!MtRm3|+EW zyIzik&OL~N$r@Y;fq8SuyKrgrjk4*Z9d?6!xg_09ITHejxpk6FgDHzHg8-(mY?nVglh> ze~_jj9-YMg62?zecrpT*|MitiE>CP{G4H%oB(u}eH4>G>;yW`k0J(ucu-SJ&d0Hfw z%AmPSdb;JisZzu*kc@j~T!h@Qe+G83rzKZofb_s*ZGu#Vh7s_$LGCvo7YsKTLaN~%7Il9f!@LNaF_l( z+uZnmsrrEk@Q)9+rrANWWLx$6!AgOFMnxx}3qf2ZTkRykVQK3I>wwvsbPvvw5H*ti zARctqhMnuc3PqNZM2~(>bhEb0<&3}Il@4`7vrQX%j9$H7s1$MY5D)gBGowFV?J$-h z8MZ=4cdqtr{F~zqo!~)aLpeuZb{722b+N`Pxoj8Tn504lt5t|p`=LoiV-SAkauW-b zC=zQt?v(m0mNNWqSK>DFN&o^Z(>OBf44P|={uA;Wz4Pkun-AAs{i@sH* zQ_jzSDAe!>)+G9_@h@jEW8G`6!8>H?V++{P7MmISG_qg6<4j&U;9aRqlJ7`~PnVPr zOveY@`0)8+xA;U!_P;Z_zD@oJ?yJ7*qUZ+U+$Lov;4oy{VHZ1L! zbgZ5~zw>qc_eYo1;G555CZw)3{YSBbsK)iafFvikAWl-13r#g`n{a#O1H`N8%MLsH zGrz&ZKEvb04;W3UZiaswV#eV;EO$PuKfVXT=_h`a(QK zPtDR^7oU`I2K!3t`M9j7X7@38(XFv|c#A{9oEy)NlLhFqp*19R1o<{xgI_K?kCK2_ zd`Q_InZuclTOFQ%i7iRWE;H+1c)Y~N!F~+C`1-#tx~yJJV(~ef1~%kOtePTgX#6j2{p2 zieES}o6n?l-G#~#tRALNJib28MA`+!6_ecc-BFKasie`v6ao7y?95>9g_rpUpP% z_W-31zI1kEmM7)N?WI#yfJ6jxikN!SMaaP>SOGU`{hS8wU9MZC&{e z6kv;EP8IhutPQnNfK|49hea~62C#S|#5w%W3HjF{zvfXKS&|8vi|;Hr$Cio$f`)9S zF9C)K$i5k`KZlL+NhNoxAXY#TFs&o;;iVn>Ch)F+zvg=kX0!Z+#HrS(OKYM zCnNxi1@TFC)84{Hw{d6{&{qbBLS{-KOA7MZ@6^p%)n{;Xn#8tPWZoC=<7akjO|L;p zVhD(GVq6Grx9Y+PnZsv$+=9V|761YKczt1fG+7aZ{B!`1vxEl#@4uS`fD0?b=#JJo zA3#W)Og5-*b?7P5{MR-TI9yUwJa0o@k_L!7CMSH(W^VAYz`JQCe=QLv^MrmPJo>lQ6cB&;R z3+pJe19fKGuk0uZXdxO?-7+v4Q!fE)hC`9a<279wnbA3o103ed6HM3V9Ai_?G(n>6 z)SgR_^hhTGqoitA@$_~RVlPxVD zFTPCaj7ssZ2qI>(+^SXQVz=+lAL0{gzL8jUxky*iXMS!?i)copM|wK=+0XhkcaLlg z2^-=ugIa9D6oFMS0~T?nW!%f`2N|QPJ8l0E=^x+ zvf8WuacZ-&tK%xiez5N^Kr*C`w08c~-6T(vKXrVzwpp`a&m(8}^7CVt&h>IzNL43; ze1DJHRoLiP1^(7i&DG;YH+*btaTZt;jLZue=$*e1%5Nga_vb3}I@VJMfClp$ z_@ZMmnID`gJ@S5P$LUFIpNFO^B%1pVH( zgtbwV5FVKn_<|J6Z5G05oFqu~(&*?fl>!A(QzkQ9@jQASFvM-!%ji16zCXp)S6*sY zU$AObkgLdTE9$u}oH^JvY>f5&-M^dXC`LRZ*$PLOe>V2HGKUqNIntY!ek8MAm z;v0bPg@1{?5|#TV8CoPTsCZZ7 zxFV_8MmP674#-aZ*br&jVhXeZGHs^D%KnvZ1EJAN;r@1d+wUXCMADVEwNPw$)tmA9e>YkyTT`& zW8WLQy!c^4$2wMd4$nqKWlTkIBCr+=(OZqG^Hqc&h{uwM16*d3PK1Y;KuH9gED`mX zsbB$*d2}3h7PmNACp{Z4*V^}50?p5J_6$Ni8n2}w!n8XYf|+`xYcl=L)k$T)iVFAW z95GqrH;?^8MnYK@u(geU8Nbh?rtrc3v`_u6y1UtnGS-R?Wox}kW zBO12Iq^8{c$LF7oFMqnjhs5ZWJhJ-1rdkd(CH*(ZyFA|MuPAmJFm6dh(jhw5=Sy-? z#qB8+Vr&(=apa^dl^U2UY=;CUgTFY~O=U_6g#>k#F=o3n2JXP}*`YGw^N6EKY^m;t z4N%AKRQdZ3dq#6DGl_A}7?XrogJpKdfwLCq8G9~uj5F4jhvUA>AI>SA=h4f(AC0f1 zN*=>In#Xz?RBsOJ{OB-z81fVONI7E09JTJ3%usM?(x0~P9sGM-*y;kAt0u7&8Gk#z zBr&OR&0n`v{~YhZe`J51nyzWiN8sG2oviX4A`lMo#_C6jPCxMLKC+j>+l<(!&L8Ky z4hLE3UO%Ie{_t(Hf0?#WoLFF7n#AW{v^|8V6$_)9MyWvFu==8v!la;NF7l3xS&fKsa+1A`p1tAO**g*lq&EB&sq> zqw9*A>LpRsWkWI_i1#^#+?CwoNye;8uS&bs8xnXl2E1>Oe^~t2m61{+7K0)U+=E;?tP%FyvlWjlx0qhA>lk8b1p30e#vj0Lj ztV`xO0K~okd82an+{nGqn^|CpV7aQ@_8)-h8DO55=zFq^_m2!4xIIJ0aNkiMsDG^= zeMA*_5lpkhXyVA7UA9_6$F}un+se`s+97ZP>XC~JsWMmw5KzSkhVT`{++$#JQZ<5{ zBFGvlVV!*VTJlbSMwLW+V=BVEls5@Pl0=OinMlO5`dk2lY&&peAwZIYJgZk{<@0OT zUe*HH(a-rq5|w4e=Mkbsj8O1W8W&xWn40K!ZPK)Vh+ijYt}H#ZY z^CWCFezn0yq8dnapcVK;s-N)VB7K$925UdTV}17N`EY+AaI2t{tHlbjGVnxNe zbMz4%0_#+x3j|it;W{39bkNlv)$zE&szb2>J{(ta=)h12G$m+}iT1j_<0<`X#u2bo zR~JP1SpJL|NLn39l{vHZ*%ZD%yGW7*sv5=xLgj9S?{!t(NymWHr(C_S+HR&DsiL#k zXR-7+Vf_Z9OO`1Qd4l8?___pHmc@`4^3! zBYH}-%A;+e00(UT{K!;-mfKf{c5vJL`gBH+bSgjV)OJdwIuZmY=^=q2=^^lzYZEP| zM}NAS*Is@mJ~AH0x>Fsh02w>|joV9-@dQ8l=fVaYbSdG%J++nL0y3Gn_wNkEhUFLk zH>u(`R_m4yM9S%(X9$Ykz}c0#oiSR&mnozV(n)2Zn426DY$Vlv;??{N1kW=jQXi_8 zV?%&G4nl*&rWgtGm>k)b{Rer8Zzi1y2FUpiwqfE+lI$(x1ifHje2M4q`(5F?lKRp- zkWDd-@r!&zNV!9TPK=K!=1Y6Ez%a&+YP|8-GgWUgL!5tNqd{H*Et1f4viwky<-L56+YWiyT#G&6V;5Z85mkue_xEo73H^BMqNlvGbM+GQZ@ zu`L^$q=OSZZ{At8w*NUE>vEPOaS=ds&j-9v`eH`Mc1Njlo=b)L<4%GZNryGUe6HWZ zJd(RZQMAqw;np1UG9Cx`I4SrKo7iCKo^MaxxzfL)W6A_@_Hb2_i@P(W zkF?EnB(~9WqYYdf$fpMNAqFAo3SNh)|T@ctZDA`!tBUU96Z(#UT?oT45i;q9(()p4ETHT4x z`!9RqTt{;c4Y9S@-!8PiV#Q!;c2O;Bns|~z#B}ldJyS4h%oDC;?MK=ErSoVccg`+< zXx!tg{cMb}!k3tKCp`lDL3D)V6j^vJnSKDOR(9E_PBIYB{=M&ZzLx|DC3x`|2ti1t zVw0f}Q%ii!$g}SIQ1KOE)Mo2`Fr2=*R&mD#2*wy0!{9K+l}gDv{eD<8W@w4q!lS0L zgI40k=wgA2iqtj=*iHxjgl8Ym*e);A=$y5lRmKRI&j{m6Hh5>bg*F8+9;pD=;iy512+^e!LD2BlYFpK?2J5_>p=*6M_>?~UP$ib4%oS(5#7-scO>a72f zsQ{ByVViB~t$r#i;Pv130kA`QuCt|LQl0NjfKA|pvARP5UBW2}N9jQM23S+Mc?iZF zFZ=warF(EBE#!caBTW~HeD|lG1^b>sM|i+ow5ms*yV_eJs&NIc=F{(;3CLOR_!40N z@A>31z;8+!rGqM)&>WA=xnwi>VwSoRWB_1K6qi44Ky{aaa&<-yj6rCXG*{j)eXN6Y z%yf<3lR&Ob1XAswbP5o#brd{f3z96$>p`AOTJzhw<#~!fj$^x#hS#Vy*4;-X@6AZ1 zZpf~A0)o+PNvW>f_PcTdBwZ=BRr2MLTMBret*E#Vd<{TPr#(Z9?0Bd2POi~5GS#c| z5X{nAS#25pB_&OGLIhotSy@<~9W8?s^?48sqn85!uWZM2s&>szUrWSY`#~w+4w$(C` z@M1qd+xU>o9TiDFJQJ7I>DFAr&hHONPyv|wl2i%yB%Sssw1;Z78R?|jLHcaO8F$8v zlm$v9>0FX@oagW^qDtQr=RLYd$b&m4qYu`Ev38clr(=@@=>0Iim!9PDSWDfwkP>WNsnSJ zI=(*cZyb)eCAU$+)(-Q7Fmxpr1(f5F2*zMu6m}kx5NPwryy_nc_wfGq9FVF?fYDxL zjNUzr$Ahw#LLkTQ+%Z9^M?D_xBnY*UObRf%IO*jHLi*tmb-=T?VqZvU5x`F>kRW@XXIU0S~AswlYJEUcao8Z>X9T-TxEF~rMa$` z5erWG=#I{Ksp>NY&d??ScPCWaLF8GDA5CNxGwzb)syhyb{_tOQjBRBwKI5c}mu`!Z zJ&cklk7*f!E5LL0YZnP^ z5ll;Ixr*JGwqNBs)Q<_{(pWYo{^Hr7?BV{47|X%0F=N%EhhVe%=w9nz?6}=(Czx*lN{Sptr9M~HE~dB#;we5mexPc{j2=h~yQMEc_t+r&g?mlj-#5Qg zuDnG*GSu~{Xml;Hm(iyMh6B*2mI8vGq;oySNGjb?y)5;kPBv_`l5&jJrRe5VZJDDMo(}!8yc=Qu)o;jXEwWkapZ_xhM1ffPX*6dhKPkSzRHCVXK&4%kmaJY{QU$6*suR^?Qb7cOT*wl#S%y)I$@? z-S{E6)gy+#qVC3TdZE2Ma;@ZdM2Rbj?PnWpwnm40+8qxb-&Dlx;1A+E8%Ia^XYkb< z3~0NzY&XslqiJG#gA>cP8nC0ax64zz9;+ zwM^FJEp#VK=aURGzQ5ytckiEzsPH}KfI~u_2EUU~--0$U&(#-)XXMN#Y*wy<{|YiW zRI?L(J%^5ZcP(bA@%&F5^=J8!`H8NkrkcbY{NO2R9w&#c2L9<$$vZLZA6x$#`;1@H zCYCUF@HOVdS}D9dBkFr zTnI_;%T?9i#=#a-u*Uf0k6fgYCnb2{LGbTlf$q*4n25XMcLpBBMQ7H_jL%AppHJSM0^$IwwH>80_t+E-4u|c6-SizXRYd0U z3jgc8vtJ^pg;G!}Y~M{Q8oA!4#RMX1V$i6x43Q)|-Ja2N$grPh1xClDV<}{1ujYq7 zzEp7=2i(29;0n^R< zqri5034Z+ikpB}B?gQG8!ZUy{Ye7gCKPm)Ja3;UL0V!-nGWouVA!zS4D20%f)y*Gn)4tHilcVr}$Irgq#9^F0wlTp$w7lyr51c}l!uFJhudfOFyA?@6; z;Ln@Kh6O2&_^vzfsDZl)0u|K~SdyMr_5F4)6VZA>Ztva$XXpZi08-VOX3RlAXsz@B zML@d0Aa9poqn5BMs&Q1(TUNUvz@~V>NunB87k=Vt{Za1P@6&TRf1n_?B-^-#%0;#( zIZ+8AXL}Vo^$X|a1ZO*!M zHGf|EIpbisR}Nj#|q)Z~PKBcCu`9rvNE9+bffteW;RbzyZ%>Qp#OVMe_D{RMhtl z30Slad{j;d%zVTs#PdJY3WZww+)K?)E*{c%*j-S`y4)#m_hy8_{8V%Io{?5&a@nQN|7KZPi_t~GXH9IQZT3vB-#)r@ zz?2h+#h5m9!j+as_dqZ`zP~H$sZNnN{?YLsD$Ua!CCGiMV~_8>0dlVVObX`^ENJbP zm&8#=S>>ca2yOJQ2zENYU@oI&ieOXHeWj-;cK8BQEfLDO7B;31<~slpQd}=YJGevT zcI6?V)U9;8jfO&s1Rwar&PWK7gi*kfS}#e~_=P_WdxjMIMgRzvz64g5h^GT9w&g-{ znUHza1h5Xi9ngJ^G`%e6|R35$@i5`;iPerYmFL5Yn966e|KsI4eOp5_?W)*)#g z+g=XNGY-h}cij9o^@@TGHHn6zBD5?k1s-U% zQpvN#PwcV~GmTzn0H|#C$vA0VuBg;!7X~G1Dr2Q|5?RIu`Sc8O>`-a#W~tTv@&F+k zqCX-q$G4zu*(rc#;rp$RQ)9o(3)OjTzra}O!tnk`>*H-fz?Q4l$3IIvmC-&W@YhKa zx|Btf-LrNs1uq#F=OjJe?Ue3$mFiOe;&JeKLWWj;;=e5^O9aWR;j6LtiY#jNu)qa1 z!+4Rc@5kT0CLuNBGY(V?5jF1KtD*8+CUyl;-CE)f0kB-<9a_xBpMA}k_h7?-?o?aW zh@>;eTKfDnIH^MVB{)CQ78DFg)#EQ}NQWM|iyQo9EEgVh!#dD z+jXUL86~QvfVCqZgdvxb{3ne2<0SuDf95YwTwu-Id5c<@Po1Qk&=c2(zM}4LyagC8& zVB0PNoL2T-DP8U9!Z@{@$kb$}>yD6>NWe>91@tBwk7K*?0&~aDF5;+yJbfG=ct8eR zLJHmr|3XJ^C5d#>HJh&HkadZve9yshEn~9mvK;KMeI#CD62rp-oul2|Q??IH;JJ}S zYz6P#pBHmHb$idHus7R9rX;X@K1Z1x){DcToECrQ_e&35YnSh}oiHy5PJhgMow9$i zzCY49nL72rdE(!;!PozM65xok*B)hLb(L*qA^(b>osi1JZVIOxdDj+MTP~fT9JT5O zkG8(})c#~Utg)MUXKmXg+$f)LW`6ikVtERNvo}Z5-tANh%Sjm4gHCAoWraU}$~r2# zHtQ4}Y{3(~v75k7jqNf&G#e*czNG29#pY%sizxxK-O7^!w31R#v*YN(vmW7}TH=}F zgG=VO9u-*L|6FHu!IXXnIEmtDC%_S>lHee~BI7ZXxzHuQm~ehnoKLwecvQ?@q8jCG zJz`N#Cs@LmO1c@vFr}MC6<1u46+iXaiFZ*u31T3LYPTa>aBXmHcutup8I0(>>~Qai zRoe?L{vip`Y9DSEhKUxsBm>n~Sr$1k_&!s1E3`?)x`%n65Z?gUo|5Kj=6Dl%$QcyQ zo3NRU&qy854y9GB0T)wzuMLSqa2vVmS&}WR(zFTR)=;hX1J3CZxFeSfBxgfr(QV@m z5a|!BWXaO_%;GQ(ru*e?F72BID^u-uNbjlYO@3$&t$-mt7@cubB>;(h#?FXJ4HGaE zpKl7Nk501%ewYhK;9CHG8h(qa+iUeal`_4U{v*sCqexSSL_UB7O;+Ld*o9N__IZq&JL)(+; z4Roh03()czD43g;Ni2+tlf~#AE344J_mat zu519E=*PG0=3_xd<+o+BG$E>M*|V zOvEwS(-z4oN`D(+dVpf&!Am8PBrB0O>guKJpcpktj#6R&9{~7hlo^R)p_88_ z{?FYo8U5kFmKvw?1?NuevS3R^6&`lJt=Ae!@9h0x*p-FMg*+a*TQb{ly%lF<0DVaE zQ<{T)Zsfia+22{2%qWgC60KSO?kiVFy~VSj+YKq&AXav9j*N}9{)h7f|-OVe0|=>4qmPdk^jEE!XDfS> z@a{wMLB<5nWNc0nFSGJLU=dMqIpBy-1Dv&X_0`e5set0lyS`ve4lw%>)nQbd%Vg(K z?l;9<$agzQ+7gvrFNv%nFfgzWxfr`G0t4Wk|I%|xYL*I* z(aJf-r9R&SiCnf%YGvnv3ze|riNxi9?rt6ZQKi^g6<#&}?o6pR)1cF{7?8$%^;4hE zq#Uv)-&e#PO%Q3hOIN}HSB7j2`D<0MZHf)uPPehmc*t!>##^JJI}cB!R9CH)Cu(BF80?I5pFzinUJL*YxQcSiPn;b!kR za4q3ElKXILNe5w*YKrBa5FM9MuGo`g@UB8wxx=Z(1iwLm6Bas18ywqmpb( z@az+8)T;}bsVx;)v=|`>QHv}cFz7NlJ7YLSFIt%|WxUWVUJ~81zm=pe1k?KGb4!_d ze|kv0^88?J8)wgFzdGOn-``15-Hc~h|BQZ|jim?N_2BFDQ{BsXi2k-K&SX}m+S)PzrW-B(Mhgt|%4vbL47dO5Aqjn+pRZ<0n6Z?V6ggGUqI@6l`j+j$MHwuEjV$SgV;H@nz zU`!=Rdlzz$Amn+yb48YmJJ@IvT3yBgD$VmK%V{?jj;xO3z9I&#$D@e6JT(O069>2C z=-j5ml~{r+^t~QNIG!!gm@J}Ih(+`z{0DY0w&R8LcTqyGZL=De?Q@T6GImY755vVT z^}nPsIHd}*v&&;su$PT9FUZ1b`}lNsYVXgs^~JyYkBxWFeBFL?&-%n2*&-Ycg{M!K z>OM+G&?)@RDLomrQpCzF)geL7c^02(>Sy${yE)8Xeb~!a?KmY|L&L>MMRJCDoF&)E zHT#>`O|_$fe{i>B)4?0r*X+(bY#nON`C_NoZSfom#47R}TG}yu?1l4ZvBlW$EAP6h z<3bNBiHl5FTK$LLH9rOaL>p<#oQ@M0*CVr@*&-(6*XFEY4UX+gl{@+lg%90Zax09r zyYtcSa1Ktooqg66ucdP=yUi*cEQyW7SWnFic5=C;hW&15g)(P&jWDe&Kzq}pyHQ0{`c8#7np6zu) z7Wi^^Vb?L3v)(xK)2$S6K=N@?2>Xr*g5ZpzyXwk>cKyupN{cuTr3^!y02yxLM7^p^ zrjQ*&Y&XDJ=*hgYkwJZ7BnC&P9%Xlc|K0|-_iqsWriD_U0a|q_0uTV$#L4^!bWT7b zOCihee)-9?z7_F1!%VIo>2M+T(V3{#tTcguY z_$z6~!2k+uzV*Qegv7DXBpZFl;3;imZn5*XKF7gfjMQ+3e>loYCj)eZfcZxRa*s3Z zmYHMH01)?Z=c#5lD0_Bn$Mg7$duQ5}(gtmvEn3$ZUt~`S@HCm@?5tm|Bn_EE{{d}k zR6DQp6*ns4t z4PKS(B=TxP=PL8^9b^Nxae@x4&L*v-k7bVWv%1 zI(iI@(RIfFoI6X09HZIJJUBH)Ce21L&n|0|1Twk`5VSv+1p-8zn8yoj}~bS8Cs+;kS(R;jP=CuFF} z^q<7?c!sAJBiG7m$3l$T@wO^w?K6a@9zA;Uc5>GIP?^O2BKiZUiJUoHJOqRpS@qGS zI<|!iJ^?zqfNIXw1P*P-Y0qrVvwd)$riM5g37zzE|=E#2Gk%JIq-k2p{Dx3F~o||J8rvQDFh{oZ~rv zR5=S^{_^(*{=m7l(B5GY^(IKtV`=b^(h$;Kyg7Q28#JOyTqfBTZ5 z>$||823*6PIr)34-1ZJ}VshBHV<6lM+dK2D{2WQj_%UUaiuJ`6OCh}MbNmOk=Z9Hg zyM$KJDHDW|tp^MlUs5Ux`bl84faV@wSV1QLxvjmyNhK%V(5FG?jne;X)^gyyrA$F=x9{#TGYJ2C^ye=3QYf_P5Q1P)AWQ3ZCU%Xj^qm!Y0I zI*hASksJ^{w}-9|>_W@-Q51JIDQE173Cgpvp1a#dDR}e!3%?Swq}3DyYUJ?|bCk{> zp?|ii?eV74>gmCLTW;v^!-i%TPv_3h=l_pf&?12!V~?q9KRkK3zcpil<~BuhIrd1tybpVr$QV1A!cbH7$eZKudUrV>?w8oA6AoPzDP^WF3!H z*fA^K?{~reDV1VAKkw=y8}zbmW6$F|JL6)6ImV>Reaz8hOk5pzRE(3DF4i%=bW_2o z1}>)L`R?qCkT`qvOsAk_GFn4x%aV+Uy?*}c^Hp=)nRK{QZ;Q7~2WNMYpu~`X4K6zg z&Xuu}JjU{Y@c12dGLh*%QWv`|1i#bBZ>gS;`?*VeX%Of7$66j_^kIjtJ!s=B^r&>` z&cVe-cWS@~SdK@k$MJX*rW>Oc6F zLR1I;nj}@lM&)l9TEo~g$$szN>@WE6KL`qYjrqLT$*J8BCH)lUlBltVkY+C94})!a z<&GSRj(7N#Vst0T=8+hM_Vf4P@65N)zK4P@%3a#@I+5$#V}YOic4r=V%Tj0YgWC3c zail+}7&$5Vxd$Ef=s#VAZO_a4p)+Ow z#D0=9JV)jE>PW? zrJ75tzFUN;71vfQz+*Lzu4}wZa;||$-TzV4Q?=P>)#EB74OvQC-J$(xoeJJDo96v` z$K-I6?3mfCk)*FeVyh4#cNzO}#{__v{BpWcj8p>%L(N4@W=itBliR?_T-t%^^X5ML z8f7VmM-fD+lg0P%J6Iy)JEKx76*s=VY;_!%UVnuSl+Y0SJ`=s(TOn#I#eWP39#F-BfnIMHvxedgZ7M zf1a=Uk-KnK)1bBq5)YL))8As)0I+n>1~ez@T93hJs_CXrq{_4T(JL&qbu*m+1Z_p9 zN)jB~4Z%I?pqFV`pvy)g`^Z8o^bvX?7lP`Xj6>knD9HsxNliGzSp%WL;Is65yy5X3Ma;ZVg=ym&b3nXCH< zqV3QTA;sv~Zo2BIZ+gKYZpWj=jA^b$kBTY>SG~1rUb!uu1wiS>If8^PWVF7vVaa+r zR0VTSHdW|WnKY>icSf~8= z2I4jllAIXEa;Y@T-^N}9a8`S1Yq=57F98v9tjDjK&+_l3cc*fHxqEDOFBEIWQCVLc zMDy8I-oesNbm@@LhMe)=6XXpYKhNi5(t`f^4M5zyK7%Q)^3O6+qB{!m3{ngzqf?gS zKW?}g&2y@CnWZo89P{`(d+Jz^BW{OKzrh6yH)3I zcb8u;Fg?Br+o93J3{1(LWq}qBCjf4W4Fluox>?8>O}QBxVrEI^R7auD#s67eF!mz1 z4?lmZB=n)MIkC-kEU(so|h|q^0&e8wiUBxz&uCl$RJF(02r(bQt zy$Pn&*Z8^wS^27p$%iH0^@BPt79oZ}UVCy7cC|T8k9T-oe9_>)nD25&W=9W7s~Z*h zoSa!0A=~r#s{UotK8P>iyqJo4-rw@$c}l|?SFF@gFAeiTWXj0j6b@R4_5#Rr{q zI;u6tqb!0Ep5uFL7KL6N>{;bh;7k6M; zcMRMr3ey~ShOCgl7;*oq_2U)$Aot*$^_9l?DSHT}aktj}iBG*`+sS8eS0mf!ELo5a zpbFft*`!;FLP9cLeCXWA3k6Gzz8I3xe(wWLEfVRDe`n9+OZIae#K$d`qjFxudtCAP z{p~3WUaRuxw}a0~%$ND-qauEoB@P!~ljJFt(vjjsqA}V-!h5@Vz=2z73hwIqy-&W6 zB*e@kleoca;L{v9w|#<9i}>Xj&t8CK>F#()7b75<@f8BI1cVCw9Ql7dx-xO#0UKsy zBwpY4iP2+KvvP1AnUKY99?66=I&mlpTN?-uG{15>j=j`nJXQ7ml=wF`tMDm~31wjOZjVPwiwNypVrPvRF6R_UE~ zN6T!dpPtd7^JA6#z08m=#_Sn;-O(ma`nY;KH9^7oX`0l=7r|eGv=jI*Nq}_OYH`$y zj2`6h#OK)ABGdTn14q(VpN9Vn)Y!t((yz|M{PfUMaRT`dQGD5cv*A zJ^uUBmC*-svLdSdJ$@#HW|Eqgf7`Q+!m6>&sV;V=`MYj|2~kIPk9<*r-ShFzA>XzJ ztlG%?b~qd<#iG%17lg5^30!(k?uRl(_$F@Q;~|KH&bjVx+Qc;Yr`sJIHt+FB`|g)L zPFeO_>5wPEFPl~Sf!A-`)#eW?WO@=x77uFAl&;C)|IR4b=PBu-YCQ&7=fjsbPR{Rk zr&VvT5rw-H5DQ!TOhb&nwj05&Bm61x;-N4Y-l6k3vYz;C;a;ogob%a_4Vf}tG358< zTxTAg$MRC;A`MA299wTKnl7*y9lay=Y?{!|DB7-c>WuCC@f|eShCBrC4=yIjq$73O!~_0;oPKlX_g?D;s}(s*T66Y`CwdHI_JM%vpm&M{dqE0*18~(=!aa4Uv4hY|u3XC&u2?^yo4RN3b- znq3~9_e`7FTiOaW7qEZ9yGJ?28Q2E6I$|JfK*xLcFjlnwpZdleL~aZ6c*X?U+QC2p z$m0tTxq(^rJ-3ZDq0H3UvKTbmg$B5sC3Gf;u9|-b(UYHr(63h7GiQG$lO^=H4rX=r z<*wBL00`USK&N?D17<4v2SQ1aLEEwenW9vXN$wbuWgyFFhN^*q%rNPg1(*Q0+|Q&B z210L1@-GqLGhBm0nwi97ms(Hwc#ArpL(Z8ytj{^qPu;Koc~0qGu|(J3ybhK#9*N>w zWLt62#jTxysNkex(YHH zNml6L*-Q!qutAa#xOcgYyD|^=xk_hL(>Y|@jjuZW?N-4aeeL_bq_z6dn?RZB+dEf> zN-~9rCQ&#)HX=cOqu+L{e$OZOqX#@?-FT<;PH+2Y2#0S>M=F7K=oNudZAH14LZk09 zx>qyJwvN;i6W1~IE#s6)KIZ!-Q*6cl?nAHKI#-K{Ly9ZK3b*IsWL==ryv;% z9GT?6pYNkM&Ob@Z6e(=yRd6CNgkM_E!j^L6EB1WbIycHYgS%d%YS zo^4F9eD&x&tw(n|cG3Yn;3YRDfaeurg3gpF>CbZbH%o;nmDHKL{w*E-@zLX|be*r# zR2tR4RFeIF$h3D-RonuVY^NS@_FYX_C7+Td`slBk5oU!Q5!l;UrJk$XKC?{{7Rylk zBf*o9bPV+<1v*0^$e;YR4GtZfaH+tueEH65=Z()X{yzf-&HVhW&^M8pImRZEldTrr zd|KU4l+C>k^QrWu2%Wgv9DKQC(~7zSerp;CStKq)@3a| zw0j(dWU!6DEZqKZtZxH+P0^ab@=weUFjFIs;=%c3)YO@!$80|_P#){qnqilU9MdPE z6I)C_LGpxW%4AS=@p0&J+6;dUE+N+jDFkZ4%nj>fVSf;9Em&KJyJ$Dx-j5K z^J?1NK%yvM01jE6`y8oXaL;k|zGJMfizs)75qB~!Sf@srDXke7QmS+rXX`{ux~#y) zjB2bos=xDLn}Muj)Wv`aqH7V_oOMaI2e&t2{S{vldz75)8qO1ZQggP*WYF*K58v*1 z8sdj^2RUhUl%=kp-*QdRR2YnQ6dFcC62d!dB9XanZNzUzFvUHF@fkM&Nf0>6V(h&2isw9T}w z?UB;R`_ z+jaC^q0XUGs`hGiNKai)JFrg}_#FFCle(klJga~17DN7y=&Jow;I?t(XzHq&WMxWo z)c4tbu` z(Im~p_f+l|jGCmJAL~mHrUj(rBD8P6OgJ+q9t%u+o{s~%a;O*EEqIIN3df_0?>ir_ zRrIkOEzfaU#FrftVcoiNA<>YCn9u(T{jFPcz4$&SPO{<$)0KXljEH&dN<9Tw$q(YC z<@gqjyWHrmnKSOv&u+SK%;by<|7dBCBK!!)@5s6#h$)1!S`JWnst{DU(zD>&jAniP(e(*6kA)(MP#%?ojoWpBpH*z&Hhm}qMCAbYxO51g{M%PN) zmaPyo(zTJ&mws^q&ic?bs=h?q(r4xEv|K%vVCK8OFDUiTzgfBMAgl%=g1?>DMl$WQ z8e|^%q=nQYeQY%kVCJi;v|gTqAnF8rF@S~q&IZrvSm&{T+fJ&}H zF=5ZT<4HxN3Fu)*$mzS)xy60g>9u~IT2X74{T%+k)6QQIzZgbkIjWOEFBLio%&5R( zSz}14uM*92YmFXkjX%4`K=G6-Z?XVMdj~KDBoqAc*hiq8+x4vf1$paH3)r2EGH)dxmoJG+*k(4(=8SPk5P;n8@K z?nO@R2TQnuftqeA?I&bc`__^)l`B!xed1Acwi}t#E19%aWD4D>O>!MqJ#-^yzBSJq zZRxjjaFa;9PB072zq?0?N+iKu0JLNY_N*80uh zQ}n9nMrnb=O8R%{>;m5$DLV{``#+rD1@{)@SD|;$@qA$BKI)l2HOrohyr#gaI#=2C z<=Uj#3QLaxqH7@UuCs+NMdhXmOk<|MSE|$ej&aRq!m8BmwcHNYuT(G9g#HXSn>^kI z0%36Ql@&9Pv!)Q^DO$NpoA@O7#bkrE$m6q+8FjlE62*Tisj5tRvMQeuE_NiC@}wP7qXu5DEqzcOcR0(0xwGf!)lUV>?*z7g(+I&3SiRGaI|yB)VFR z5vk7(<$LkbyRd#_9iseWTkriJ=@&;7cQwe0ZD0q-<9F@mI6nkvi*w{S zV5^*_UKQhpN7*CoRVo z@7;S&2e#cY_`Rbbj$aa6Jx6dt5Z|#ieD6?X+1#VUz4o|1mHK@xuTO|}|Nflu=sXBt zPg%2`N4L*h^-tAsmcdsFM%FnM@aHH)p9>yq7*7*VlujBi0WIwk)+rUseowLQi6rmD zk0!}U{O7I~I(Wf(19qIc+)+#AS?40YJop4nY2J)(B}po9e6iCQKRMR6)89qCi3bzI{0DCDB-Eu$;7CzN?8x9>cgH6hQ;7{q8t`t# zc9LwN9K$2#V)S*rD`sYK>2~5YBzBF?nJ+03J4amY&brd{-6B{M(AaBTCZCv}^4KT% zCdu*Z6L0yDBs+mCI_IC8;x+hXLZ2Gx=?_nxQa8JAhE6vPoE!LO{9HBGhes~xvo9X$ zw9a8vRf;%C*!ozJV+wqYJ=n9j1o;S%Z281rrwcZf^0s2_zaN=<>m)6FUM?_XeLeE3 zYJ8a0@>Xf|SGVvMb{@}~v9D=E@e~x{v8yNw^ zf!VqorH#%e2GgaNo3HsWMk_xnA&75K|Fp&t zzkBx6Y&F2P^!4B%4smsTbEx=CXaJncmrY8b2j0?ToB41qD1EPCh9sDwJE7JSPO8?p zIED{xi+m^YoaU+_eUW7juGx8cvM2rs7j-?$7Bt2ehVc6pfn2b;b4}! z2FS_^6}h-&Le$p*LDmG%DA)j;4X~2q=KfU<`YUtiT05|EYMs}`_$3ROqfOP016^0L zjTp<5d64&z$VrvM1oI$I72CAIQ`(Q5g}0MS<}_96#dDkvu?C<7a1OJ?>RQ557;%zh zpb9oYT?|&XvgbR!pmo0IFQyHXR2dvpg{WICb4EYoQPgq^FCfGj`CR>@;I#m!FmL|L~AAT z#pCaPnriwDx8*QmyZHbWpr3N2E@3V=*L0+@IE##kPVW7Z|2s2I;k)_2Ff_Jo>@81 z;`i?+u!}0>m$NVIUhEJ`S{iNDKpsbsM-RkD8$=`lGZB&&_KiIwgZx3BpEVVbKax!2 zg*+|VMn0P|@yHmI*r?J^J7x@Eku!J`0NU@_;JJI@pd)@)?vgtIKf)oHAU(){V@@FM zEuBB>8 zXWLwx^XrT~P%sU8Q?r3%$FL+Q z@_ab6QPXzs=b4GD*W$~yp_Lh{2f~`_bbX{!_wzaWoz=-!0(`y2&9>*kUakKTwxIBd z*s=V^zu}zqD%G+{xT-zQ!yPM)?|gJpEvcCA`3Maa6-U7x5Ya7HXiH0OM>i6>pLsTL zPX#NWSXpkFWU6Q5Z^*!?Jn05C+i_)FMkG%g-S@)1RK;t-0KbV=T~ zam=k}2`mw7)JYt1j9+>*Z?KlJdOxmAo1njRD;rRFA#_>RoNV{=Cyr62qVQnKMwuOd zq$Mv)rRTS+CV{)g729*{Kaj&3F%B$6OFqxtcfb=2CGK^KLJj}mY0Jiv*}}JDtD3t6 z5_wn8CSuR`Hz8SgC+n>%4WS*eyChx`=RrcwW0^W6jh5IxwWMuY{;OT}c#utA5S!}R z-NOv_bTDeTvvE?sQ*;oAGL5E>0+-Tl1|O^}m2P3jv5gw(;yWIVactXG7xre9%5IZl zqN92f0t&v2U121OT%7elq7=#3ELhH{5hp+Er?bsxm$4xA6TeIL{VuW!wsSX3#_TjQ z>aPj$9Q$d!lQ9il6n<64N1pXHB5AgxOQGUwF^qBU7jT2e!9*j`UhRtAr$k&|>l@T2 z@kWH=Bpp5WVpR9Ki?Y7^_0rZ43k9F%5f;=4w^0M9k@1Kb{{nV7(y+InGW9^=E-ZkK zb7RkfN-;A%#Odfsk`^T83`4%Ivlp^LeIpslTN! zmV$rz#_`$DwAhP40uk_ttrdI}Hc4_)VMY;~*74l`#3^d9x)^)fA7-3Ege-eO5{XZ? zL%Pa<<0SbuD>o_sn3nNDVKa!2j*>)+r;MF(9LfsXjq%*BbmsT<>Zif)){DeJ85u5JVkhg^i6WLr9626* z|AzyyF4eTTrj4O|4$nxUKpS+*Q-2+EUGszW>*JyH=Z+%cr=cqkRaX*2vmHh87w$my zPKx;D#Gz;PFkR&tbuJyaBa#5bzdm2fU^l*4qnfLE;Z=_|an?Vv;1m7>K28&J433S> zs}vvP1$nlzT-mL{(SnccSMXLz2>)Q39qVpbW?wbP|4>w$qBKPY!efR187ESa$3Biw z2K{!olc1j9?=|pcL6Yup0R)7~iBs8s;)Q<{3k%~(DldZcD9m^t(SGO`U&@=mZbqupr58|k$sfQ3U35Xa0sD#2sL--|Y{{NG8cH5F9DXtdgQRn@i zcXk+@3w^>PXR23sXJzJ&aJL^2LcsP`KCg4Lo$T$q*UB>zNXTGgC?$CV)8R^%%N3Hi(wJEHz}l0 zvi&Ajev>Li>2yvUzw8~{`jJ08B{Ly2LzW#>D0;~=fdi%_Jvx2gAz@2iC8~iW#Nb^3 z(hc!UoIs6>p*#mD1a)a12D@@M?XXe# zP5>6AdQ&zc7&{NodsVTU;1H^)s97cHJbs^59YgGLmTN}m83N1fd4OB_8Bgm#n&h6` zGn))_X`K^*oxrDE4fF28ODM-~`-;puyFNo$`rRNUwjoKvE)QnAv3-UG{rXYCsEVCbd>LDh;9c?mkVjz zlwjFJI4;6x>-<8{ch<$l+= z#oJ>Q^d@a8_tQx@Fpi%W=jv1CL1QXx9kHZtF^9x=x1WJvi1U7{#X^!lYJKZS_t7bu z){Jzo0c$}#6lc-DYP$`U6#p`|AqJKZZDF?ANs>MPA0&9(3Po6(%+bN#M`pLp;u+snC%XD<90{ybzC z1Jlnf>Fa8lOJsbOpqMuM0jkymR}94T!94t}oZS+a8;;~ytr*muxX zH$k-*X@g ztXK>zKYHdvZqN4I;sLLZj(^7DnS4hn!^d@K_GP7(Nf6?urbWvz*P^DFZ$;%zNU8+U zAv(#FR8-!%2u5JKXY>%u)E)ch@twO$qOX*m@}&>>MHBsGe%>*!YRwP zD zgHkCXl!th(R9jT)tMB!DDrBrlrfU@!`;bN!H2(a*9rmV^pb=-}d<030sw7%n15GP6c&f=3-jAkm$ zKK&4r#SoLgrb;WZV&Rj5FZ10qo>}%xdVp(rn5gc>`5<>Bjd66JVo$(>*LL9&!>Oe6 zJRZ*3(!F=FTPjtnEGl_E=?o!rAM*Fu#vN)qX5&uBU$5`ez?+aLxaZ>}V94ESX;Otb zn)(pCmD1++@*c&-EG419-vcAm@<0Msj9YFh1pK@e`iNmq>^Bw4J;6u8xBg7qS0@pN zssbr3n|yAQLv_OWW3PcIN!EJcKa3rc0Bn48c$Y>L(TMEk@t<1&=I<5n`qZdpHFnRu z=TC2SSG4Y@j_!FRy|eh98QLQk9TZ5R!a1IYmOAuns;%zlj3nP1fK3awL$&8;nkpCX z)p;Mq1HX>OlnP`yX!qtc?ZO zG7AV+9wmB*EG95WN$iYO9n&^#WB4Z-?mBzc1WN>Gx)=-}F`Z<+4a}b#BC(}*c}icI zNI3GKn!F$jblGqxm71Q$06Acn2S|8fZdSKER}1RYV9D{D2rT<;Jb-g|6RmuRj8Izvzp zb(OaKL&Z`MM5d3XSV?N41;c?{ z&Tlxjz$AQIQdz~j4B@Y(r(R=_~BrQy)*{EJc zF%To*64j6lLuS9zE<@TZxAc-Z_I?29mJ?!}oHoN?1)bzF-N(;5s0=1o&QDe+W*2?1X@fGZkycG=7r$OX{wlYJMkz05K1B!F071AXBi z%K>Gc&_s5M(g^Uor3a^QwZunFOE+c3fDHo0l5psEos6b8R!(a$siZIV57OFBpj^3< z<3-STAq7qp_i-ZhJ8u|ED2?>Le=8*V< z@U!P=CugbBIx-MS*p@^xel6rTkHbF?&NkY>Wx^A8`7TyW54pBl|gzAaU zo=CKswrV{P)to1{?~)P)40b`K1-*lzsnV)VRRmY`@tFQ9-pv5eXQWP3-W)>K$-aEY zr2Rk=L-VRU`)Ela+b$9-CzU_|q#0SMlO?t-+TnV;USlN$BwLlqrpt*_Y;u*`1(Zq0 zVSNt(e5B|L6d}T!n3QI)uNu|YYkG^}Vhk1cV5WNUfk?I--%te-z3eN=GtTbFmjjnEOlChTuT(CM+6w&f{-?#5au)&AZ;=v*T2POwBI?`56C1D*~ks!He ze80;?cGuDK83yRKl3Yx^iHDyy_R|CH2ES=|QNM5QJ9Ne^p5$J$hx31tKKcy!{SWxb zA{G0&qeB&s7Jo)zl-7H13z_&?FiOrTXRgy4Bldb3)N5N8T=ONUDto#m($1`+TX&q; zNM*C6bOOsci2AxUw6Ag^(7w}{RFBWWLI6!bvcIeY$v75UJraul5M8#z(}*Wx*V=Z+ zNlb0R$J)EQ#F1md*}E(7bltN;tw7`?iKpIV(C)(kW17TAy?(r_^u2M({KZKk-MDtZ zIE$dy2ocVKXAu0Wbl>&ZTPao0G1t>WB@sjsgTxOO!!r`&4nv6zX(1r6B~|(V1lLLW zd6S2>B(??DXZQT5Pu1JQc@CuMLw@sMJ1ZguUOps)AQY%>`4#dlcKjOAwq)!EIlb00 z1bUA~Und#&9)WQyrg+}-l{PP&L$hscP>B1zg-HLtE1jo*vm0_>b zzE73uB)&HmMR-tYJw8Vhd`J@aV#|~KNtK=}0UjM$0pGjQM`?Z5;I#O<#Rx^+dRa`U z&N)L%lM^ocnvJH;=2>q?00!$+h)9WW9)G>uHKTii-F@6d7yeK2r|sGvyZK* zOAKkO*sbWtFLrhNvQWZ;A-0j z(-I~pPk@TF@t%10Z@DXgLp?-~RHb?T%R`LM*#i&f#?9E*oOyX0Lu(6PqpT;C~Jn99QD4>^wmAm_e`LgS1#`eFV&d7RAhvO ztAa3;q8qR{rOJZy*l&E=oR95nB{IyqW2a8h;*j=1!DbPcOc7u4ZeQP(h#&oqZu6Hu z=u_C|zmjMx-F24llk%Ou-v=D&a}UuxtqiQL>yvdV?{{dck_rOHCWnjFGMSq>c7CJ7 zuY# zmb91jIEh~;iFy*@C3CTQXx(;H^|;-SqrJ@X z|MYo%d#Vd1lALYsu}0e&Fcx-qgV;2@T485eQeP69*T&TyP>BVSB$U?1TBl$fVb0Xp zJ2OwZj{a-gh0!<;Jfpr>)AlRD59disDlJwsUhwz6Vm8+Ec-`u}=c8M1#g(-0ofYhe zIMq5AziblE$u=%kaJjoE`d)2E2CDFt`$LSU89GN~trIh8ZMkzg7vL}ia)2c~2&Bq5 z=!~n%K%lZpYmNg{Pp1xHiyElGcPx5ZX!}4}xfIpI+}@XNKEr1fbH(9m2;%3b1&d!S z*%$x)DtY)qj98U2l&1?sJt@@0X%Wm;4!yh~K9L7wlnXRVo^c6$eIdU!@*$)A^xpR( zrBpNIogGwfugr~QaL^MH6(ZVSd$uJ^st1C_x}1pV?&u190JxAj$lb4EqeO=Lnz)IQ z^FX+S*=m_Mbta1bdQ<}>+u}jK(&^A8%XmX*eD#*fLIO|Aa}t0Mj$Cj8P7IhpYi&QQ zoI?{1lio60dUVfb&W2op#>V~JQdAZyY5qdh#Pk(?ya>D&>w4{mTkig2xv+8GKJ9*Q zaY1WmnK-x*9jg+`KxRV8dCL^vPzDu)E`bPvdd@S(J?abJ)eISQ zuweBKitJ-x({q@gVLQ+p=n=gAFtr)}ciPGu2OF2gEVaIh3a;Nnxx~qDKymC_G?N~i zoEq*;5<*t2aDM=QHh@t{_<5@Imfq9X_^2FAVgpsS1$E#2wS9rfZY!Th`uZK78Ina& zX*ioM%H9Id?v->*>^JAMG@NzM*T_EA30cfpCpp%%`?1of9f0J_qWEnl+*_~55Qq$)vjv|Rsu}6fie&0?UJTx>G_F-BU#bME zhAIz~b9%u;)R&r~+<7PqPcRc=(7^A(X@>BUDEn-b?nR0A*q@0#nFKjAsGFUL%G?ak za>b^}`{RMMDb<`MfmczZW4pjU3!f?!P7VOFzGnv@P8C4cgw3Vpo6YZ0+M4wI*rNJT zG7jY60sy^$P~{I{gDz|)5+kPLO-{%Dz)_lKA44AjWj@Oayk;(6ijr5)M zuK|B8dRND8I>@s*DeSA2pV>FHZL>nU55BYpQxe}K&Y~CsKmV*-DqJ#8LJg7j8W)p1 z^@VgP%^j43v`@MWBLgFJ`t2);iAbP4o27L$ABfXV(}q!c+=ck_LjokvHP8ppWskiV zsPu~SCnXB;M^a8(mE^zg0~#*y22PJtSo&E9BsLLEXnbyCW6re=E-+g4>$!@`huwEJ zBvqy2J?wi43hp7O_p^+Sz8{Qfl>EVZ8Ye&V+1QtSPv2tf0^${jjkAGQNq?zSGT5(F zAr9@kII!<39J+0Bq3))zS2!}48rbo7)zh22R(UT^pp%SKPnP7ze(R)i2mg{@x>I^c z&<=!aW@V*ym8*}U&`(WUY4mKu%6r|AGTgzNgWy2)enm}#HlNel zKATW)4y-RSNi=@;e`}U(AT-KA}Wkw{?|1>G6-k2L^0f z0F}={EqRXPg5xvk*x9k3sU>E>LH^ea{f(urN2|&^u98b^HN-l?{`(Hvzn%OVwTu%$ ztlNyoP|Q%BAQFt)&oQioV9+C>Car)Tb43L`;UOfQ~DP5M)g0efn){!SeLrO^l<94889OGLMky z_(bt)f<4B(b<^KVT~T*?PC5~;`%OI2gk(bWsc@e-~==L>}Lhz`M9fN19SUnxmDb?Q*<(T zq_jfG{h52-EY?DylTCuhZYZ->;Xwo<^)JJMK$ z(Ge>QsBL+I0n_`8T@AkTaK{n*EQYro`V{1Co(a#*ZNPVhD`34Juwa$k4l-@FQn})L zb&_dJCEuL4WmN{z;!46tm4tfUSgSb4#)EhmxB*ji!P~(W#eKz)5i>btzgw;H^2TYjBt#Ipweq zQyNGh$d-|;ZkyOPGOr=jl3nxT#efZlHG7zsa=VIF`n6xt`ff(I>80jq z%im`vPBT|uz)@cqV6uf@Nt(Orn1Hgh8L_hds=g?2xy*m#VT|T$dyP>|>vlV%G%qQi zH$Jm4&}+`_r=-V!%yta~@>~dj*~8>4lP`Hws&7LXqQimPCD2W;un=eO3;p`e^Rgdvqm@2kmT2lo=-!CN9vV_;+Fe9K@sr(Xt&Q4MQfa zrh=&aI?%f~QTy8jU^v)hk0DwnL=ja5QD1a@;|X^j#S)_R8j}{sYOW{NE2NO0H)k(> zkeeQFc8mZ%#acJL&)(oEefuxjF((M}{0=t!jIud{?Ck$ za{gNk^@(m!G@$?e<>gZerBcqwl31&K;^<8b|8)n{M@$ z`d+zJLR2TM{%cCwyq@mwXjMgbJ84LdeO(-n+NE%Pb!g=!z|c(YUI3+^vqK^Rnt-$citl1y8L?R#A#oq&IcU`JVdKK%C#@&a;uARD^Y{uS>4oCa+D1m_7#W(WXV zDuVbu-?q2?;~$euk+e9WZ@_fnKm7MxTHI^H(voRFLBU@Wf(`oTVDrb+dnzlbC%R(k6=`Qd|;|DT> zu7^Lp~?z z9S58iX?zLX+-4(lM=IhKg-m_kpi3TxTY7P%u zF3PFOK2(Sfd6S!8)9O#b0z0Bo<1^LJe!YV7Eo}@ialP1wez! zFQ$CvjS*d;Wk2OgKLYn5_6rFyjxXyx`hdlpY~T@)g-rlHoU7w-CZpWu_wL)i?)<3#Rucd9za*Q`J_LR1eDf6reqk-`~haC=8JkNJkjakE;=yhgi{%(@ANcJ*yqG~2KF z9vraPlyne>oN`OM-6x4;2ikh}@$#-Z#N_SsD3V$YrmVfM$7H0EWXk6cSfi97rd{!< zQU(Q=<`uhj)-zlgxaZ3m`&waNcRW8L_+jq_*n9frWMrH7>7p%5t+UHIWd3MIZzz>$ zC5vNx!E}Dk3YKK!+;i=-?rb!o2wEC@prH}+l%#{8cr<MC z1t~FAQ8D-ckuScbE*Mv(2a#HbvzQ2+ZL6z8bpOgwWqTGbk&rHeJd1IK-Ey-x6PvzX zcCo$Z{0V+KiCKy{khS++>?5>^BH`)w=esJ1IN*|q8gqh&DhZ3AdJ|^$kM>KxhuDko zpI}GFw&A|H z&e2xU&3ix77Hkj$YiOTZsg?!faQ}?aYq{eUD^JIQZIZ<{y1`Lkiiq~fEFJvM_V=Io z?Op-7D`+lU3eQ$O+jih!1fe7pcEGK7S~+ee&+O38HIb1L@4V>b0t;1f4M7J)-$<7- zAd_4uYarp$-Jol!Q!S*e(QP~YfX@WJQ+YnA&%ua0LvBZ7M-s4Pl@nRcxjwMEKjm!( z&2y})OKSwHRJ_rDIBd82NnR{jQT-4te`ai?g?8T0uZN>vVK42~~pUlUcOK}i5va3qb}=^V1-Ry-N3&L(hBkQGjd zIewi6y?`(BUJpGgvATR~AtszA>3j)7juXeJP78N5oR$Jr9^N{_ZZhaC7F&QJ{X-0UOgkk&#q z7cwwPqSl)o#M9oW&VR@&iPlV1X4sZ0_7;3&;6>?pjHT7KE`yf<&lvW5+*SaywaO4j z6GvaX$_McK_U7+hwI_+e6JpWtk-mD*n!>a^G9h%L1_O{~SXIk?BUN(0_xyPXz&3E= zG8+_TjXR{kyn$`CJlXobLA0-zNjwO4p+4~X13^&@RsyOmtt@>fjuQKZefe%x362O7 z0o|X1og7p=*hlVI9<53`R!5{I%Ox2U)qw{;mL)PLCD2!2?v%J!UGlJ^TByi7;LwYA zt)KH3KT@Ssh57G&6&2Z&?;-N6bGd_$o!l7U+n;ni&{m8b2%j#w^~lo%p#)P@F1hN% zPkx7%M*Do)*%T>zy$$3W2g)86BnOw*EuEaW^%^ZRovLF9rP#O{*)LWE%&I8zLsnbF(LB19+Pe2I-(mBLtC4S94 z)j+%(VC2qkqO|pr-70l`O-3^?IOh{__#t$WrS6NgZzppo>Mpf(g@03wSISa+o-3qG!V--{WC;_%p%s`KZE^jNmL5<8O;a0OT=HaTM`8EaBw07ipo;7+)#z6 zEY69~ts$agt&mYAEit}I^Yst()SaAvk#u?gu?ItG23anJkUe@37N{QEMqOr0d0~Am zeZSwT0Fzy5rK9X1wzE%!Y53a4MoiJ4-GTZ|;vt`M#_N1W(+~0OKwRJT?K`I~?-%=f z%JW2!t9D5r?AIos6f(!>!~M3u;b2sis>`gC@AaYm=nBo|PmP1GPdmQJ3Kofien~>rU`Ioq)mAc1nP|6i+iF`UA1mRDNh|Qn zS~Tuu9aq&%kvvoazOxlldCyc#nBdbUA!hWpE}7AMN~xC2OqL9h)s2srrkP!a20j+o z$s5*ONxZc_)vh{yN)=`Kk&2UKr)@od6WyS^=fdy`=gm@a?TWf6ntV!0AT<+fhp zo_kpU2U|TV^%Et%6GG1cW6hi38{RLZZsuiJ#3aozGwaYDE~rM;N8MkYA_m*@ z20rVdEvtQ$2c?E6^!cl5S9VO(>XxL|NFV$QE(|}~V#5<+Wx!ixr|6~53=VB`% zqe-s#Gg|kHc(mYxdh8=(ib_A^@ym<#GojWL!9fprx_<6ZeB;Hxs@?VSEOTHiMp7rc z*XaULrRu9^O3|UEwRI}GRK9zc_EgVedS0Svaq}48rvphNIITovWxHD8bc=-Mwo&5T zRK2`PY4r`7!lwBhZg6{*x#;+_@fMlHCs~_wi*J}S%XtQ`nQoeVvmG8ug5VAG_$%7+r z&`5|vc8wP`q2hp-pGh_Zqu7a70RrGl=^NvCl!1T;C4$uuO)up_L1(aY?qEFWhdBms z4&)r56-p9MdXEbnxdHk_h|5_a(GZ7x33zQ%oJF0ZdS=xH+3*XY=uiapSq_*E>Ndc` z^D1aesE)ok_6CR-X}kbCh4e3NrGQllMV5?r9hV3d1Tpy=A38|eoA0m}U#Ium-|PVF zUN~z@(OdfbmXwULB|pg>BH-{W{%-($fER#y8sX=>_qLqGu?@b;e2F1>P=eqS35t5N z@D*jG4kWD|b4S9Wk=vM*+;`6JU}3>|`)UIw=N{T4h-|lCxMT;c#+kD}QP!mgwd0A> z4i$|9-YnzW_gCzrdq*bu;=q%wP|ZS5DP;Cf!0Ny*nvg=B;-3$>p6q7LLl%B^uMLBh zPX}BM2FRqr)3fB%VA$NgXz10fKqAiViHItKt6$PW@;oO?muS%Ane2$FTSYMCQQnS6m>26Zm{QUZq$MU zU}?3TNi1sxblCAdKgqqPF#d{?sNQ6NtR`q57C&k~2BieNhdq7oC!aUY#Gkc?e$KPx zGd41+St=)taO{weM0=g1hs0e5%A_3ELkanNWl}~XN>=RzU1?OdJ>~v{Ui8{~+4XGD z?$Xn*(%&{^?aIE1K!ae&0HUaX;trCSd&qEQSaK6MoO5>1TyAe*SGbkx_#ajPL+Tlp`(Fhfc#dS9FwV0 zur(Qy0jZt?`80?3j1S@5feb9-Dac5lmH3+sm9ql35=js|aBkWbrYgXh7JBvHs*r{m z5Bb^V?jCHd?X$h1B=zxVFUPpU&*SR~WzV5Y@W?IT#>!OOvF}b=lEjXn4jB?p5`hx; z(p6|7zya+9%8oPUAKOBhy9waarL+ql0NZ_~+M7%=#K?-c`?`U${TVl^z7!oOLHVoRCg+ z`&;{;^@$%F2=+40nPb&i7e0g;G6XJZJK_s`@Mjy{xpm?2+2E9!Rz0@UPmR@+DwCQj zlWnK;)FYioP2XA{;%D0^C7?DLTYR@k)0WBVxttfyZizdVLA5g|_x#*94l3siQZ_h6 zIs|p;{hmP2B-%|3mt+BFh}|GC8P0ICK1qEI;)9|cRYSf-(I`oex{pN|=NkKt7$qmA z^+T%k3R|c=L(|^Gh?!P4BLJt{Wvc#}$B`CaC1adn52LsYW|1IV;q-h^Y=bYAEfK)z zgDQ|)x=C%e%3^f{8xzt<&IfdDYY3Ce0vCK@uy$@o{rso9+()0Yk#~LobGiy;{(dm7gKTZmFYOJ^bCuLpA((pakMIBD=gz^W z1wn()^BNjmNYg0Db!Ou|BoMpCxFjdv*!P~iug`N@JA{nY)Z%wPc60W(`Ix$`Os;Md zYrDR|PKSi1-^+c}9d~q(`J3imtF&`-6#G0p;qvb9`?}XLcBw@mlh$gljqE$>y7Vv37}!GP=<_J1rOq4>t!N=LJ&PU()k*jSzckqFyOPVw#^Z%R~J?Vvt*rJIg^X_lOg8kB5l1?QO zyCy2rilK6=N+b*p=Z}8LgFuJQ1aWqlQ)4B-NwEZvmXdGKAXMLRXDdmh3 zU*>F+3?;L+$={I=lu7ZN?Li2JU!{Fuh++3nbM=q8iO1_RPQo6I&Utk4VR>Fp5_@>Y0 zh}lw^B_bl;o6j_scD0KQpWkIR{!TkPW6WpyC1aSgf)L%KLxMP69)wTwOq$lY&HPHA zVaFW7p_z+e`*F%_YH?RRTeCMA`DknlCL+1NS2W3$mqennmb~|@3KBBU(abgR2tVSO z3*R9I-P6AIu$~XT>2kuH6csq?@!IuK)uWR{m`WK=Jyh1}As)u#rfRY#f=k3{2a;d2 z*kf3K&(5p$<+JAQfEmem7ke2TA^(hj-!Wprd0J>{UlGi7PS!*^Y0ZgWNK)nrXV}4? zwx#FTo_n<(Dr=9fKDK>c7W}o0@ou=oLrbDZPr0qA?@rYF*L~~dYAL}_)c3q?T&oc! zf)8%dN)!+Q#(RD^tHHU?d}TuU{_vlUulv+y6=sG6miSI=T*=%KVE>-@OK|5JVqbj! zvNj2Qh&i0>3AYpr>Q;HhUI!-^98O_O&e^&OLxc%xT{Yl%{&_JDd+;3m*H~No+DY zmqufS5a!q?+!>w9?9HRpQIrxRQ$A_(2=Z;oX1xRsmcIczrEL0`@7WhN!NqQ(S5i!);FQi5MJd&R;aoJaCXU| z(M98g98^1tV^U+BmE`kW!b`yBW6JUKW~2w7NlCycNr9;#aQ{pLux=0qM#H7LTZ{=2 z$9W^uRqW$t@FpE9y%s;*e4b7lZp^q0y%cCj@AZKFR+Q({36ulhWjphZiTPigIb&0LTtHGXhlYzL5()@9uGVYOn2roOFoI z^BMUnW#3Wlj*>9*=byb-t?7@!S1pY6`3liKA+b5jqRrI|i7(-ZIWMWKDI4wIQoy{# z5|*NDRou(^DOde*xcl#t>Ud~bzE5XR=j2$sMZwe~mrytTx13Rb@_wvy5!}T-d1xr= z{k}{1R9$*)`-~p$YzVXTl8u$hex+7@u;hz&?6913AmY`#_j zQKy(D?!|k#j?$ciX_NbU zU=0a^7e73Awvy&eR72O+mm~r-LxZna{o-*_ zM&hEa#rZ;ybiI%{*!HzVQBw0Tz4z%@HkPIR9j-4s4N=XJbO=C*kq=$aZ0*zP%j7 zVCzo3M6vyj*Cp5RNsGoQ-D|M@gkXrk<$SHul~z#Tfuc?VCr&%7(zGwx8A%nJPH*3) z?c<=V{{bxaHACel_5lL2rZ?duetuAXoqP7oNWswM;QX;&C|beji+BV3v;&%_l^GZH zZi05~*Lr@I(9pzpM zXqIWI_@Yaa1`M-%Z*Xa-N@8sIbnZs?=vxoaF}NtggA~{#nZa48JVIIN%l_mn6Ixk> zQ2hK1{+~nw$&@$6FS?{G?m4CmmO- zT#Ze-;kS>oE2@6@Yn+csbuj0ti1#5&>s@v15of0!?|oe*mUXZH$8mgG^ZH`?PF>%f zy0yO5iEixl7>AEgN$&}4^+9FQr4Km=SH8wpKn`#R3p<$BM<UL8lhh`W`$3r3 zZY3n?<=n8#ZvE!jSM?ApG_#DrLv!8X!;UNB+m=2UJ6asq=cudn(X6UD@yEV5grZ&1 z_lG>T+Iy2=$p&JNdSX9=d$c0{(894_Q|4FF%2J#32mAKb>HDLIm%^m@GpHI>Z&JKs zcZOL!;XqZY4E`ONOGE6^O=b5wMp_sP+bZ9edk5Oq_NR#hPJOk!4x&Z3Kx%9-epH&_mx#l6UhXpTEl>SX3+nXV}1{JRwG;NJ01GrX+gn;WWeYpfY`vu*5Ek68yt#}6!o_i zeY48D^t|`;_;OY~_IIf8S5@9kxH!tts=hfC7};&ru&*Yrqc$y44g#`Pf*c&||8$h& zqQ!@kMg;)-!kpbH*3-_axc~!c;nq2a@2C7r{)_{WWfe}0&e>;4wp?`2JDBrRE_Hpz zrn{L_;Md7#um=pjt-R}Pk|%!Ti{bY|)_YG5S0KR)}V+}mF&!_v~-UXT3(|(sA8$Df3MH zm3)S53#+8`{ItqPSf|-ie~OYkqA8` zVU)_wBlXqy3&u+;frk+E&~|1q+ue6O4|i@WLFMm-sm(2pEy&E4%=CC>q`&w{CkFL^ z*Ut}un7~rGKib3rkXRvDgB70hxH77(eBW?3f$c~SNu_R|1*;P+4%(riF>%gJk^C_p zI8^LSk^v(n$+Fm8Zjq!RNif(a8!c5sPW_Oab&l@Gm0LYWk4Oi18ex^@IaZGM`#w>k zR~_1=8VB137o;$l@bRn%ujK}k;6PWMJyrTlNFClq-XD_!S)J#_0+8-iQvKBu>=gn- zNluM2uz5)Pmt663@H2%P({}P_osB*i$cP9i)t-CTio|;edfTK^_$cl}=U$k^e282>%%+YW0!#~A3*TN&wC+obXP8U-e- zb-_uVOwO}|z$H;)w;YP3(tmU_6J&gk-zuY+8-MQEi}%LRN@d54)L;0&Qt7b`0UP|| zhc>y4Za4g zyf(r7z*BrAwxEo|AAP+4bb1nstP@MXu7PBJD+s##zhg z=~a;y3Ge!n4&|^|Kw?ziPni!nqdKoFBqFIH8PHi5$+kqY>2v&YiG0jsvZ* z|4;js#2v-uoIfdW!TsHP@k4n@{QNha41Uf`m4AOs!U{oXx*!aG#Qxj3xM{cJBM?07 zM5FISDea`HxJEqi3BEkqxb1AUha~)zvC>0~hkrWK#CPfHTqkPMxghaqaAS6w0hLnW zmq(g(@^7n@%)^*!@)fo6>adEBT(gz5`u`4={iTO$_%UK^{ z2Ds_ckJylekAKV?VLTeQcs5y5s#WACZpy#s$)n&*vSiA>BFSAL!_ z!~`7smI{(dVIRC4tOkBEZ4SL8k8SSMS{PkA=mZx{tV3ogcF>Jzqsv+a1$x5N{z{RIxT16qRNFi3*LFKvG{CtV=^PKfr9jbpIU z-njIN+rFQzRXY$8cu^*Y?QGUGMJ7v{ZNMHfk#}8ko1XqS(tyKT`XPbug1VYGZ2-Zw z)ANqf3$JQbofj5Yz2Rs<=bvY`#(Wk7ZwEy1Wlff2ue zBFWCU0IAodyFn4Gx%+1cz@Bwxeff-3ZpL`#kn1T6=*^?%nE4l!F9{&^%;jAR&*&g- zwXz-3(U&ETK;?mgnL*&6=VF)WuQuBL`13lP!h6N|ek+E?=jeP22ilOrl?OnHXMp!* zZyM)=nNa3P6z`c<$h9>)8Idg78R<>b#1XVxJXKbL!LLsV@S*+QO9@_2jH36^H=Kl+ zLc*#T92`iIE6GJaI-2`6 z;RW;vDIYlVg_KQ?Leb;+(NVaPRNdUldxeyImDyVstNI75d!|fmwe~Jn%mC_?V~0c{ z?=dmJz0CS0@l<-er$s9)%+)YhblQoLhkG@2YiRCa0(RT=JQseU0{|dxRz<7bbDgAQ z1MGl|2>>Qapi)0MrKRqNwWO6wkxXir(sq9w#LEQ2dE{z0w>>J8!?Aydp=&Q$ZGSGU zqNYY8_c%QS?Iv+aY@7tT*e7g%DgUoMxjpRpk))6B^3NdNnFJOr=4qXec5S_cm7~uy z`Tn^Nf5_j**dYVuwfG#%yuH^K{PU1lcq+dBY2~2=HhN@7u6sm=k${Rp1av~P>MT1vYN+h?*_&6mL8PQH5A}9cQatT*2ZnJ>L($m zY0VcB{*Wje$O7!6{54ihExqKHVW~cPAYn{Ok(4jFT~DPKYcP)Y4>Tc-bo5Y#W(@JR zMmIoC-)aU?`7G4{>>>W|n*Z};_{)~YMtX7LOm%d-D8nS1ZaGx|2cb`;PxQdH6S#MTlK-eAD@rM-`Su-a<)H)ZsGkJ~R6rqB03Fzl@o#J+Wi|JJtH0h=jn zh4z|kTg~0#M&vhP^lj^X>uFoNUP0tX8P!Z?+@!8g+1BNq+t8KGYxzr@*1_k{YldMHN zW>JFuT`9@yR4jT=jF)@@y!G}y!^{RB5x5d?oaUk?$BGsMc2il|wjmav5pyVHFLA|( zv&CKq|21N{l9NG2@AuTdU*X3f;4*-I+Y3_7{Uio1JbO7BPV5|!)-!IIa}_0j{DZMk zJ?@6F2@!lug%E!XE>mqseS_n}-B?LII=Wzs;{MU8y(1{Ox+M3i9_(o?wq9(2=)y7X zIDUm>-u98~lLw?@_fPlw>anKfL;RM{oeK3tWYhahHzrc@Bhd+;ygwJ-aBt# z9Sd)|BEp!T_}X{Ku`pbmzV_7>TtUK5U;^0(kDRz!JRssH{L904CRVXGmuT9AKX@yk zs>&^o%Ijl=IbwmfKYYM9TvX21Be&oBQQ$$L(RDZIqpNd}GT@ftpRE6fKNXcfI?`d5iGr2DmTq-sw0m{PtFf9V_FHtyI64R0dRpgm^gM9Mr$iaB?=EL} zu&M3`>%`Yt7c;uLt9MPOk5e9CaKib*kr<2n`!n}uhf_;B)$apmlCy1_4~eIGLmZH5 z+@Y(vCex5!WS>GsBH0$GxG7b|vYbSmg{XcR{qEc3{;h`;cxq$G1asa#0lG z%TMP&e_jI`3-^c?(oNR(y8O#~ULOlgpX-N!XZLP0xP5tz`eA4`$!(Vcw$c=tW~yqtiO*AKd-2HIalR9pkoYx z%l|Tzjdu3#VE@-WP#Ox@x9SW6OFiAA^h5U={+v+uM<;6tAd$;&Bd{ECKYUo0N(e!l z68{*+5W5@OXp~lLTh_S1&3kz8?KyY(`8^M7iw%tLBufkdmlEH~<`77%Wt&Zs`UF@> zl78&=AL8?5TY=pOiIO%^d)M%l23yVNpSA53`&HOz`CXnW?kDHtkxsh}U3UoAnD3E? z%`yN|^1V)lqKw1gEyF+^vReE4!{vUEQYmvm$0_o%`;EiAfQp1m6rw zaPUP%HFMS$AN;kR;JKp|Go%$>*4}GQV9>eC((g>2oK1-Xm_t$G$>$^Gw3>Sx6so}=T}Y7*%eyYAk>mjRgIpH0ANXFB;+Pzc=C&|+;)`F#D} zb8zjj|J$05z+0_Ngjribbx|kb^DO47^K3e&!15-tO;YI@_0w|ogU`PcCm^m(6211u z<{2S}`19!{u~MnH?E^y$DepI~0K-JaHm5=%2<737ry|F}q<>HQO+44}p?{)OzWsla zb@fwqXII}09|qS>EZbEw4ckgEs#aY{jNYWmUKZZ3i{!<)TB0k%Dt|;V?6vbIFRt;= zAJ5*C13jY@~&y@OlH7<#ES6($Z%HPpn&Ys@NK8&MI zP(c0r`_k9nKcOspJ`=1gz1+Aw(nhKVMy-2 zO1h3Q&POD6z?=|suGn^;b92(O`x>917Q@$H?3Rka_;~lozxE*zaIrtZND+RmzwU7o ztHy$liJ!>T<9ydhhdWe5Ws?)u5hC53b0txcgbT;@2%$-92WsjS1UR?G3^mRtSxaN` z=b+#w&%~%qa|WXA6?V82H}XU|clh^$aHW_+?=bUT8-C*J1&)189A}=vNkXV>k5kk* zN6e4Fp4z}HLGH(^jg@Dl`r5yQ2eHAionc%VIBjwXjZ+Ir!?&;lZjIwd@AXU5A#O`= z3zbqD!@MM%yb+2ZH3>NQ4h5(3n4N_2dwz{CnG2z_*dQFYq?cEyH`a7AGd#tc2r--n z&sOR^@b9HXQAt)|j9mRSG)KBpedHEP14IFLo}Jr}XXi@?j2P3}wr#FBKl-O{KPAJs zQO>XL(T$3{JcmyHT3h8q)t{2^A{L$6xd~V0vvB+jlKeS+Hu;40^?jDpay7Ic+E}gj zJciy5mu1tN+rhLVU6Q&(di>=E0g->8ooZ4I(zSud~Aki z15338Yd2WjG2lcUE^1FsuWvI9J7A{KJEsXUJqZumm$l3{jV8i+|4o)QGk|X1FF`Yx zV6amz_#NZ!DLvsY`H%N4ztUoj`o%eIA3x(Hhqo&@0<6YqKZ4tQ*nRHj&XuEmbiq+| z+S8VdsReg5N4f}FE;BABNmxIZtB#JAmX95Wi=DCci@3qc1=gQ}l zcWn}fdr|;43IN7HHow=Bs$FK{bsP(EJBwfI*GBJVbz6no#o}b4`QkW(d`XlwAvA2V zJ%zm%DCRkj?l2^hLr$z}qLPPshmc)81OPdGJw zURC-`P1UT*<~`5tQk;afWUt0%F2B=ZGVzGcpl>;D;>SRscZ}21z zLP!wE3@hRQPe8E0IWfHG6Jb zjHvg&yLZpcO*3?-W2c=>9s18*7HU-67jXe!jWe(N{QUh}Ja_qGQZD8FiZN=Xx1B{S z2Ghfx5NFgGIG=2{PKm>UlvY}A_}@>L=5jaGv;pGrz9tVsH<-hVnum)E=}lh(zX#_( zO8=1W4)(?OkG7g$gRwHGO0T|&v*4YdOCmDXB*&zLax}q^iQBIjf(wys6%6-Vtm&;K zua1T?-T2?AfkKb z9SDx|JpI$kO*di_38F{oiwZcIfR-i@i5(dewMU2KSa0zC(&K{2Kl|$nFklTTH{v@= zzu$>%Kw%Xdxm8lj(wWfkz7Q;2?8OvS8odi;;R1@5u65X_uwz+!&PIl+DeJ!%6b0P` zv?SpR*j0EU_L{q!;bI1wU;;s&goKI{=l*chwPfsYherJON69+_hs|A4?f|}UZJcel z+a+WzUvS5<^3R97kFDpN9UUE1#5QXoC+AJTXkZt3HnEOJt8(^Wva=N-MVypBj z=b_w&eQ~nAl!1pML1GN=3`xtmd+MsX)aTNp^Kj2oL5Lr#QGI5Ul`0cU7C;=SXqQv= zPsMs2l=uayq6c!ML+<%O?(^aSafgNfH~{k4zcZze9fCH>KPJVy5UEUz{zz^&$}@e` z-_i5LC--uiWRcZ|>rh4zT!1OCmvP(MtJc`;c=mv-M(Y_p zb>EN)+-~LL>ujBzil|W`_Mv@XnSz)O6 z?}W9B|6}N7{U=Es_`2M+{SG+q;q%IgVDp}L?=%;|IJolj$LjO4D$mE*zA?HzLT79uuMHZe>T?) zE0vVCqjk>ClhMqI&L%!0xRCF659Lr^tP%dpOU5iD8zKK*pMUUu4J}5%Q{5igU6Ve} zB@Kc$o-6y^J=-_iid2$(<2{>^2d;K3R7v-Ot;C%)IG6}D{-;e=^;@|fVOrwu19@fv zik3VVXI!jHF0*Yh$*~Eh@-6i2Mg&C;wCOeG(sVKO-QU2yY~j41GBli?5nz z=x5abgNcZ6jQ#g~ucNugEqfbm96m&{Vmdt3lw;xCm6^q#;=D$+Z2TI@!0UUB&CER+ z4~TiXKQZJy>W{W%OJDwUvhO~pdWeVkE^VAMYs!yC^T#=nHc`lo3K}pGl$!5WTv-17;i5mWD~Hd+mR~ReS1m58 ziA zwmGd0dc}7+Jmdr9Kp^b^#Nl;WwKkz)arvF7&3>%%<=PoGgvITzgIO}HI*iy!y05ejQFT!nk20Xf@n?(;U~Zh{ zt+o@|-qsz}rVp}v^bwb0c%^w&cum`vd2mD=wDS4QrMqOO3qaS9H@Tp7CCznD%}2V) z#xLu~Za4j($>Ty|HXDj_k00X=6RuIq;=2rxGR z^ynuUW(MEDnbirflI-+*2=1v5cVfyv@79$b-m+`kDv(hM{gb+2^W5Cn<|I2|4#U(qRwicmqQZTSNG_SvvAG*J!2Pm+p2n3;?$n+ zLonmLOhpl7%Sl3#eHqGz^%#f&u&qeXeo?72(&?mt8*&-Nf)0rr_5^!7_&x*wC@*%k z>^JJY6Ta(@=2BVJA)8_ZQN*pAdWS(S_!df_Bwvo+??quPC4PvnKG>oM5e=H?nJ`wUmNF0UZvA<;>G;5!JG@k264uPJp z_Up|P2ye2=5w%Lv7d28yfe`wtH+h_dU#SQVYwt#a0Uw)^74#v1Y$tnW-#32a!A7~@ zUhBuZvo@uec-8U1K3t8;rQzpDx6Yn#+h4E*!IjnUFSspQ%47yWS^*UMmiC1P%=Zmo zYW%Zi5Ehdq$=&hJtp)LSMs79aAku{M8+C1g60_{;DJU>)l)ULJ7AM0Bm&S_gcJ}JpIesVcA?GqO3 zdJU@N_Hqm*Kl3LYtI-epoxa}rzMj#gG~6>~o`2e^2!AmudbieAFQs@fGp>yHkE$>D z_edQ(SIj>;D)3aDSuu$35TxDpuPx5%O%(Zgi$Rh(>s;Um8=NW^@Lz(v4heKbvZo|j z6=>-A61j0iCg6^r>(nb|f%MqEwq-HQ_8qU|v#U|EJZDu_wl#y=k}STGAhVz8^`SFI zbE)t`tP;#N*(1a@saSsJtk_yQx%znc_qVn^OsW+9x_+MJf|Uf$=-#W*LzVWp7c=%h zWbZlBgVb=q3%Oy*O}&W=EAOU=T@X0Y{o9m*-t#wWzmvFBBf5|jfYn$bC!VRA z8qvRGlz%me_<-*Y?cO+RwBab3n3$cB4UQ-Xz?NVUS<6w>j^|5tFz0DB8=EF}G#=*t zesJP9q`~~GVS@agH@0ghu#b)t1SiKV1UPpsXrPb*j2-Q>>+iVWuy%8NcT3vAt%m^F znD?m0_^L=!zpx?dV1MkFI5REY*8W9Yfaoc9JNVmMWsES{=PASww0(#Y`QigAWLNh2 zr{bSAbnNc$GnrSKdQ?MFMzY!;!vD*?_4*~wM`UD#4X-&{(I_x!>rer8_MRy=yPMwr zL3r%(c#Ysn)n&iu!w&}nmf}dN=UFk~fYqE3O#gh_uT+5<;~Bqu|IfxZzvs|rHd$`) z8#uqXhkmcbT8Y_=gZr@0@F}Cxxe##(VXg}M9WE<)wzms_uxl=M=G+VodyB+cIo`0( zpBKxFeR&e`|6M7AVI^YcHu+o{okoQF-~#~Kea)Rbkk3`JXk$jI4>pOLRt1J6Au^J# z6UmQUjmjZh99{5#GZP+G!Q|-#a87s{X{*2|B8HbRwx8yEF!GMWkIto~IM{E%{>8aH zQk*LO%rE9{eLAB^*nvr;JC+r zZxX->zgfGLM1fm=YEhw7I&j<*-l;qcnzs60|GbZeR(MWil}v&cA`-WF@|E=MwT~`6 zPNHr6Of2#By*iJ`-<-vM-4Q`FpTP+)qMbVCb>NRQnF+)l?qE`FtJ`UFfvN1VO}AxE z`>8q2YJ;Jtw`+_Nf83kAu?~DiNSqPm_VPya662hF&jIy^o>!UZI~%)pKD%D-(Ifn; zD<)@sfzRn99|pHRgjb@gKw%5o&|xc0)4uZ5Vb;!3Mc6UMjCRpUXV5Ez5>dKC~YN}u~Zv?rwJS5Z7Rq)nl` zDnMz#o&Wvl9xrkwIUx6h(=NR;mOEKm3Ct7lN}HCMl3VBqAmC)gfmCXN6Dji)3E*;CzpP88CXEHV*M`Vm@EzT3E`~ICwq3ghg5DJARO9 zq2hlT$5(}re(@aWN|4%m36F;hZVS4lsRT>u344bU9Jw?tSJb2gs+<}a&KD#HyzWng z6yv8aef1p^m>e4v%q^+^1iK*~mF#{tAGP_B?_xmCcp%Htp9K-oZz;6gR8d!BZDs|!Q6$dp%XrAi zj|LFv<{sI;1;Yt&;(j0sUW{FG1xGAEEg6!1RwwaG z&;pXJ92OaorhKtlswd^s3F>Sk&+Z+8OXLj@;puVtJpS27{Z{PZXN*G{=rY_R6P5>d z_`wf}Khcr&K(-O&>7Ts-IB}{RaOIqHuj!e1P!)ULS}En|tEvLr`w(3xpY1&S{y{0N zeg6=ys`wD!C%?Oa?45Q=WqFU{s}f@x=Q)^gGsd$v?qEY~d+nDVCHW;MTzYg0b(m6? z85DQ)8V9fOXx?ady!SikT-X8riu*h|cu6IPu>{p{2}n0E<*uCG8TNhM?{wQju>OTF z=r4Yh9+0)R9#Rg^j5$_julT-4wS?a-#-)8iSQ%Fte1>cg_^5bSd>Qs*Svj@aeU%Bs zJJ`14`3i^1l^XZ9?2sK}Mfb^_pg+1aG4Z}l+>Kz>5E+}~N}qGcLh}YRemT83up7cu zJU8p-p6FbDm8u^pf#_-X7@hkPjohn2SyrM#X`(8xCB!hm8eOl8NOeJixJ{P$yA}&1 zp79X1*jMkagW&lgB4bmGk)P6wHAm8+uP!Z5_xT6d>#T)o+}tLgSh+P_q+D*y7fdT<=_I}(HXg2K{bT9SHrWiu)`%2 zI^By88~c~}0?sz|64+BF2RiuoBnER*;HZ{xO-!JETZg8t+S`&b7$9N>6A;_xi)X#e zbUO-($6dn@4d8JBU%U4 zl3Xg$s>MS?9An4;`o&c{i&oe>0C z*X_A)j~+iK*vs#F;UXYubfhPwWX|V#cY_$`R0LNDG*HhzYm2=#t!IUJX=pjqo~SZ* zRBlx{v@p{fpI_{cwwT=CHBF_U|5{p^KDuDXz&6r#Pq2W`N|G|u@i!PTH>;D*#n#N? z<6tlIP0R+{YaWzldprAirSGFXGd{v#&5o_6m37-T3)`CtzpeHtZ;herU3@dKCwffu zv3AQN4A?*C8yqtaZ@aC&NHmGrmq)a+eU^tgS=X9f`de zRia+M*PKuLZYtRZIzY88P)`*dGn$SXS;yMBCHri$eapNQO+?G1I<5>Xd}5OK#hH)a z7{Q5E(Q?iAB$Y%{hh)^+t76gLj7sp{k}(_(4`hi^iUSa>Sfo|tH427mGB7AnQp-dC z*+ZtKI}2>k=^#AI)XJoGe~%qS#fW5+YFG#Wz%I7QX=lF=ng6CVCi;yiu>*wcl%RNg zfJ!=g^dzX9y+0b#ait>Y$`xQ0@?C&hleNk5h30RJB&|;O-3^$ypa8j}ri>UTHDB-Vhxdx7 zPyiLr9#vSis_!ah{g_2BO(`u=D(N{$k0e#Rk#`-`j1~7gWnS$-8ItCG4hI2gPhi15 zX;xYd*y#e^as?(ZFY7?k>6%bT&#u9d8jPSU8K1KZ6fTklR$LD7DbdH-ce|`fL)f$q zfqs&7*A8JYP#Mk^=gRt@%Bju!bC0;cy~(Z&MIDBXrZf?!A*en|V2k^yaW)bxuJq~6 z8sTD;#?}MxzZPz>Q&nANWXzX27srft^yXbQ}KcQ@Jq^JtF(se!wMOXV+O1%#CwO`J<9{LoFW?p9+d5&>DS>J;(|> zOO3h|;NbQwd_|H%vcpKf$T+|_?>KwlkDLC|FSk#f*h>0mzsoVN~XVZhtJVa zIdn&w&n)pbV11hXrHB$hsF9NB27_I#eph^&)!)$W3b^w_pCBErRmGT zN}9fUa>_&OlN>IHu~pH;R;E%QyTuiL+G~9^CUYnIWI<3~Ai;Mc9)iE<$F7wD;#8`m#nfllyzG2mU>WpshXsWH`6d=UxB) z@%@kp(?|8i!okVdW?lyoI%@s-taQL3XDiANjdTi(!yr?h#Xe2sq0)0bWUueAdo_O@ zSVf7-IyA0%ZAPV+tj&{Owux=4^mDb@w`3=Db+_KT2=XRA?B|To0J~-m9G*xUamQ~f) z>NRQS>sak>gYwYwD_Fo-+`}}h>~9Di=}{r8#D+s02W$LD74 zoQfY({-Ih-R2QQ)@SVD6s|{93tJ=MG0{hYQ^tJQM0KE}VF^9pE= z27E?PBJG)dHoN1vb}P24_#SK}>woZ}wRgf>ab!}c=Wgs`KgNZ^cMgfY*uGcv)Jn3V zL_+s=ki9Xi>g8@Bnm&VX9H|=;u@jdJ41NWE%F%+Bh&?BGuQd1ZT!bbS#p#?}(ppx`V?DBg~)unU1zo%^bRrWu zyd$)fswvg|`sq@2BT0SLdZd0(>)S}jf4Rj}GUeRIJ6pkN>`MEi5JHKmw{@mAvDJ`* z_D@vV&nrrl%J^Is{FH_&STKpCnlGaH>;r}ctDi1GOs%0TjZXh2mD6Gx0LYKG!Y?5O87 z?A>cQSBAhR66Q$ClBtJY6aK!!Hyk@*ptkPvFGIM zw4SujlX;1(sSEcUD;-5}GXXeG4#a{cp}GIy0clYrwdNcCgLsBj@BLpfC>(xMPE^N7 zM*Xj@odM`I;$#for9PX?b&k{oevQ=Ur^|r~(E$P~jkbMiT3sI!WdOS_=25*{HBG|w|A^nEqlrl+(e)EMIgO;Y*|vk7{^bF%jJ#p*2KVJ9{? zd%s#5&2h=ocV1k)3DGO<90Rh#Q6SHG$S;UdTDuNj*fSZ#Tz9r?9Bj_&XMl% zH=(6+99}ME@!vBfb{4UhT-?jfb7_fZ?%ptLWlZ|FxVV!)*W31ilv-`F#rqqQ5R4qr zD+Y>8o(fe_;oNOFlVF_$c;_7+Z9{=mXkX@(Kp74YY;M4iduVm_u$~JFCv8GzRlJ(J zm$-0f0dxUyL(;(litz*Yn^dZADT;1ajm!qQDgU$sjsh|u#XE8Oz4*y;`Fl7&3~PNI zTr2(U-qupmXY6RJC^;r@dT&$6Vv!wfA^!l-`g!N_{vn`8ODyS#tRtXgMydz3t3NZU zL-CoeBp`c^61)T`p29xd7lbL6Zu9`sLr5A-To1C6r2g`I43o~fvy{)YBiQvcBnl2T z2L@{AdI(S(=I6&c87qjW*jWnm0R8TxsE~{&n7|M zL>C(@2F0}iEr7xk5(&UjqoH@kxnEuz5})_p_E|)j8QQcO>JXL$H77)cm)d0L<9@Zl z&wk#k^b2-u?>pbjcyK!!Y;?6QgNP)d00E$&L=RE82}M17rZjKbDy8WewmNb!9eTyi zO-uOY{GU|0HFi9JfXaX!-h7fA5d@F-si+RffH$|Yvx=cMSa+%V&XY-1RGDOb6C!*r z_d}zfe#-Wl8Sp#RRv=J@nE{!vdWs-W@!1IyTJN{r4a7aX>#z?TI!E~?xeLGx;b0X- z!T~aFN>xjM^;tq$*u@;Xf^^V~>bOzg64s@lpn|MQhlcN#_nt@Q@4_2kbSv@tGLeVo)U{ikVV2;_JR&Ttea0#Fr8M)UD)UcAkAJUf+ZAO01~R7ls2*dr#R+0R z9tU1PKOJ4wrx9X!56*W~A41I|rTvywXf5@#)e@(gUf$fFe0Ip7<9lR6x={gQlMLGA z%BoslX~ojft2WQON#~f@F7S1Zq7H=IQ_@Xhpz!TOaN%m7qha_We}{`zeSgk{pW{3( zg+BAFqV1Ha(Hb#y-fL1ND|LxWDgo`YX+9;1Zan4e*2HEW3Zdn=H=n{RLS zf&6^^zn(&InnZ!gg)mH+(Eu~!eO8hkqCFy)3f~ak$)@k2GH*2JlI(tal-1D&e8vFJ z5^*|KgFb>_nt_11d*;R3RUJrD+p`btmmGLYLREUkJNt;l)gggs07o+2>mD-56<+Q8 zmtOC;Ro#9b5-lfjQ%D8;pMpDUn~2y(jR{ZRy$mMDk1AxLh=)wp&jgv5qGFo&ui#tw z`wBk(wHYWk2mF7YY^@?XJLgp!#&Wna346!)xs_h8KXAPBVnG|8;6?0O;_q^)k~FZ&JFkd{YFRKVb6?u9kjVsM-EBxbkd;axyciOydW!+u?~y#;0eW?NsSY=5l9}kO14N zFp@<_Ia7~LUk9x0XLqV(-Ga&@t*gwfo2(Cl3{H*GbtU${K0l(-t(Nh-9qy#p%ZaXA zVeJ4j)jE$w&z^tT7EF(A(VPnxx$aQ^hyv>C=jv;c{#@N_?j~IYd?y8YItuamjIlO(m;^ZbeL#>YmYcT*95MB`9c6U*V6yZrqIma}GGi#{oQvpDv9nU*R#{ ze~>fQyvlzteYzxUe4n|XteH6u|M^+_CC;*lA()jEjL|Ri>HuNh%(1?9)-ej{yXH0S z1;9~QpXJv9*Z>@bARHV*r?VU+Vo6h1O$qsr3-snxp2(LX3!4@qQ=$|``;!N->t6f> z-2G8s0L8(G)NFeV1FBtLt;8k92O_HnCps}Y=M5HKYojPoO{&@8Tnt5$rJbb21XP?2 z0{!_m-swe_0cJiUe%J)9b?YVNQ~KGgNtL!|Z3AW(1qY-OWZag%l3S4UUeL1uSGv_G z#Zl50dn0M?<=y=~Grs&Tl`YLZwzrM31z4(@%-&$Eft@2oS)kvuI}W(s(*j71(-j#x zBUDw@g3Be1&c6L}#hGWo*SIy$qg7L@#gNAscW0g-_N?|9ak$~jVobPl9*l_Y?c}H( zxr)W)qA=IxM?#Gc-4){!k1B|o87DkOi4;&&Qij_hg}zIh>E|46d+?9!ag4V ze&t;CyH8gnXV0N^1wca~W$1aSV`6Lr?-1Ao0S@Vu2(Fcc)l0%T$QWG$nPlIGy{{19 z{k(+O;rA0XK^AB{AI9d@zjx|+lbj_JQmGaxw?Z-LRht;-d4o1&y=!~b{(A;(1kin@ zKBD0$=Vg5B3;ts2XZX9pm$=6l^5UtVWO@J}J~IRHk|qdwXWRettS>9U=gbnMgMnMn z7?oPT{@RZ|i?`yt4@B0;YgLzXJtSrOXopaTOph(;LP7gu@t94Jf1I$xz&;^&>gVo7 z&&4yP{RF2>lk2rGQyOb#9o(}tjqT-K2V%&JO@a-Qp^D+$2w)*TNvGMEcHQ`})z zFBKZ+@?Afqkk{@i6>FuEo>o8h_op52g$4^?yt&H|Yv&|s#`;`I9hEhEK}FO``k4tZ zD(R*aIcKJL?$;K1t+Q8P7zmD+vKJ&!sr#W#j%{=upYc>g#+KzD$Lq7Ce-iAr=UGmZ zBHy~|b3AAj&#?n@FMc3ooR2kjv1mg%`E3oAOu1|4SnyKw=yrm@|5P8J8@CDRHQ_yv zFQ{5~j>&`cxm9c?_<{YITU(JkJZmLUM+L^HT;8m)n$528#mSV5_@temg(M{5@b|~x zb>f#X4LivB!KS5hV{H#Md;>!1T<_;ikJq_6AIV9t*37fmE9!fjrSl3s1~M8Isk{9^ zXz8eq+kkyK8#mHJ%mJoPqReCrwy3p&Ac3>asvdvv4D09M+3#JaXyw4Yr@f9zYGYcH zg&_>Vl3}VU1mmoIji9K&Mo*sK#?b3e3kaMtLL2=gTWGOBdDZ|#hIV5n;q1?!%N~>w1wZ-!VaDK$TvwE)jaJTsMd1Lj%s4SZw>*-Mg1 zfdn=hN5wn{a8CSFaOlua`{&+Y-L2A1weOjqB#h$WCC#(*K0Fg@G_=n0R@WO`5u-e6 zCqWb+TI{!D-!Er>t2PORq;|I_bW5Q>?nGfu=v z*nKQ*6OmLkLgewfOwb7NQ4BG#cv8Z6QVHNH@aNo(how{iN32xl_0D_llQascxCzV} z@HJIc)d&HGJw5AV<9>alO)SlvwG$?&Bf8<z5WBzSBnx6Hz-v}g_&h#NJZ=@!4>rs19Q>-? zp>2-U%mLP~Ei$GjsoCkl?>`>|HEY*fsybjGaF2)+ACeak5N`-{w2{Ifu-sloTEB2b z!g544sc8M;i}BRU??}vdoAMqFErGm3{A}zY$&)D+GT5{Y6Xd-I2*dx$Gnh<4(B)$2 z(9*F?;Eb%#)QSLqR+qOf-7ek{d^x4Lk4{BGcz(`yaNpa@K3Kn12-!qznOTErb?WNH z#kKl3>A7V3jo1tv*!tmyuhQb@d}KSykPX}8bp8l#cRP4r#`wE*1u!O?!e=Wrz*U8i&r~%^V0Y zV;G->8f?j)Mgqu|+Zfcr5hR&X(qqXAFN5!$kozBB48Z+7lvEHcW&5*i!g)?#$`TKY z%7w10qq3v#`YFAKu-iUXJV-fkHO_UPR;x;mf$6r%pp5^Z1{GjQ3}Yn=W8T*)irK>< zh*rOo@l<4k1~sY}<^f|9Xdev16ag${b@7F&4L%xI?E{fR$AQk`9S1rcAleUsT5pCa z<+rNRbovZRnb+VTl6^?4hlz6^l|0xqM(&}sHNB~<8kfrbF06cmgwH^prUXhqK%l|Z z(_e#!gJx_N?${{nhF4P+rDxfPBp4D*p3f$qVg>@mdX7o#MGO8@6Ei=5GyX)`ZkO*H zbbq87Js+~$r(b-)8A*@N>2yh$AJF{Z1ZNdlXK)z(f@st0n3*;q0dKEV!-k~IvCi9W z+p4_F91SwV!`ZcC%&40bR+kw0lg ze^S~W%poEr4ulmb)3ZZ=&>sKmUrmrc7*Qq&B7zwkRl z!07e^Bn#@mYb5B^8h&5z(zb|bDaznzZaZhgE(1XAJ@>F96J`e@VoG|jd%mBa%}npa zcx<8}QAj_4*mHCm=X_p=uL)i_u%p~~sXB_Roq%#cAf)t^>L+N>2w&*=$r9%?d$~;q=jjgn;whc9L^~iy#$zp@! z_@vTEr+0{b1+evz=ArGC^rbHAz%3Wf-A|dH_qm#W@8vlzTjWLEdTu^Wv|!uZ<5_A( z!OhM6x0=pH#sd5uKXR4kd<>EZ&aAd8cOK!hM@OGZz=>Vjx2MfQ8I)zX>?QFQg<3RO zI!+=%N5919aV13zR*2uUEs65JlmOMAnJTiXL*ffxkpnojiIpzjsfqkr18HrL9TkQB zAK<^=UZq`8-H|dHFX&SaSd*-m2o~xMKo0gQ3G<#qxw6TdC(qB}c!Lk$r{^inxwID= zrE)TN)M|I|MS?_1vsDmX^z63(%Id~W9;~DM{au^DpR$$cqXp>~+n9YkN>#}?`JX@- z+XG#rRP6LIc+KT4wlxiy-zwmgMHA zq?ZLy65ppj{_QDU5^bBr=||5TeMOi@vQSgB@^ZjcDB4rw2Ve!889SxosyM&S`+qb; z&;BaS`GRXf!~~^B_PG%?xH^RI0>7T2B6MshZehnJf(C65X)|aKwy31*?>BaYq$#(j z43@6rAiGY;ji`{z>ii2n@j(PHx?gjtRrgJ>+fMkL#Sfc|LpiJ@L`uZ~V~tZ6|1%?68tZJ7D8b;xN2QXt4vmcA-Z4wS*qRZnzKQ7sweJfMH23vi`_nyxpy|% z_eaP5%adG7e_+jP{~D}NJmWtqTzulKa=fMB7k_r?qyv{`ieDE5JGbEa9-htPII#BP zJ&qZ;@##ldWim)qncg#0tl00x@;li;Qfz{Qh>>6qJYdr0o zPWo)!3ULXdArA6#H~7G|zC-GtXHne+>sZ-{pD2N|wQxweyE+ISxkUe*jkoQ{`pqO< z!F4$|XN;Mf_m6OZ(-3C^R;3xkxV6N7Tsek3RqE&L-<{)xzk9Qnl4Oi{rq&MIe;yTG zVn@{hT^pCxb8NP0SydoH{b;_uCfLZqz=qN~p$NP2bof*kgU{ z+;@fUdl+_~8(jDpeEEj5m(TNJd)4R`)no`MPGTY1zO|0y);|B(66&d5|AMeLPtxU? zQn$ol-J_mIhj({nx8F6bVsrc)msVhp|9Kog%!#e%{vc9JTZ{_!s6vHm1ZOc~zllpK z11~M&(k}88u@U!bV7M~#tsunA^}L+Wad6~Z&k#=~-jAI~!V>#>TKX<77yJQn%_L1k z41hm5BYnT_!)}4;*Mf#)GVpo+bKbaU-BPX)Z7N2elKzrh&8!zNuThR8{7z7?81B$^ z)rNA<-}9_s=W4ifckgefJ=2uZV&@7BGL9Rc`*KeojlNXprwTqvuKM;S`xHeuqSiXd zUVH%%Oo+I^7+9js+q?y{ovzxH|a5B zHm~g|F(1We7MYPoMRi>8Dj`bIHWZTcDHPJ-np7sN<@I_V|F7ku=4B>Zb}KSo0*_u;Bcu*v7&X$1j@;tg@}o zz3ri8Xbl*2p9ri0Ur1t7nJ4ueDtB$bf<-)ho&?o$stt5B^bh;abk3yR%4*-q+JF;nVNG8vKQDpY&ZnpGE( zfd^eQshZ6*bg1e17r1f(N3HHTR?>ODjdg)ov@MvYx0n4YZb`9veIaOI%1(^RT-0Sm z)I^FV*a<>%xgabqpP8~D=-Zd%80oi; zZwAlZ5c`u8gz;5Tf|n918^FG=7R|$8Af^b)-P03C+1CN|#4vEVO8Y#k(q$-(IBQbQ z!eH`o;IT?mF7c62`?U#E@nvjP0W_8M&6zJrbF~UWe{+hZaEj~>ecxt6=14kche^5g zco-6_UFSw2^R}X}G1N85eOW65g(QolKfmc3#3*V*oP?{d@|n%CsfNHVXP^}_tsseJ z0J<(YZ_fDS?y)p3Teee)K_6Jq1u3Vw-&b+r#yHpnxpB?f6F$f#^(IN&CvozC89(AZ zIcEbI8%zO|lME%WK_z~;Ck}+aFDmB@SYc;7dTO+a2nEbGwkh{_UO-xUjkIw*trV`J zoH?fUxtpr(cR74_u6iE^vCgO;SNCjR4*Ac$js%%?y+^3z(wattDLBpk zoOOoTh*C+PyU$n)5U479S5J46c;zMnUZV80i6b~R~4SYlq_6Z^ehbgX_J(+tTfXP<_!>h9*0yU`0Lp;=eu-X8~r zdWN3ewKi)Af}Kp@+3Lk#{j+a{|H(kEnHQg(Tbifdvf`7flG=Tnr&hfi1JZ@fxq_6% zevCAa_jLUlgux~vNi-HeXM5Kq5BO#r#EpsuY_@H0Is~EAAMomAD}!`|KNw2N#mT>U zJ8eH#gd8(h^_kbM$pMvn;zMGHYNc_4^)2144fI5`Ip1F- zsc*s%|9^^L1?<;DzkJ(pmHTWI8G%+5nLd+65LERhM|N0aL(taj=MN&KB6f)X|5eOZ zY{J5|yA??a&N(5IZKDQ!RjL)vAZztLZ?bCOk4uLhVkR6ec>c}fpHg*}BteD}uafd|*B*k{d5QjDsU+?u@zb%Q)I&ghNTNEk!oFRpsbQe% z0};nQZ2Z94syr`u;Q=q?T(tetoScVXg?aanI5eu`V13V2a-weW`&!ac&6S?=j7Wt5 zMi4Q12JmCf4i&x`ynCF$WD;3Gq(92@kbR97W|(n+h> z=FhkdK}mX!*L%1phapx~*mDS!k#>Nz%xxl786Lx@4B3_u`Y_eya3Wei4q#>3# z(%B(MR{Br-P6oSi9w}GB#NDv_@6;CB%N#A`n>pZ}pn5yHg0Q**~BBVeEli zE#r1%vJHg9YE4I>We06?H{V1j!mWDGhnK{nB%2ebM;a1WnaSg9D1yc}#$Q{^ z679`wu*(^eS)tB5?${9yAw%Anp(Y*-|1HPRD& z&)bjQdn7>wrqzyLzzJS_0yZaYj(6UrXw@W=e^ihp$!8Mty4@?)7hfrqof1cjI6jvk z-g06PsOD9N#3E-^&n?gO4pMc zK@^Uxp6{S1QuVYg^cKngA>5 z_}*k+`rM71@#yPIyGXLo1>%i+?BhDE#>TPo`VB6C=T7WkDY0D|ftkmCD*ND2-@fs^ z|5;PpRVSqFYj&6}80TcoaLu?8%OOB zbG3a}ZZ1hPS7_E^%(ZJjTrYp3J*1;3Uvz4$=V*5-QQNFHf~o2VI>V_;=ge_%#DTr2 zgJ-`GBZ9HakOQS{gtRS1dbkMJ8|HrY$HQMp9;APJG8@uJ-?lOgwZR3v`BL~+JrgiP z*06C%oR%dmLxhG8kMgAa3_XC?v4QhhzT0QlEO>1sBJ4}4NzO`jzctEIXmmXz~D_AIIAl#+H7_Z-;A#=Uo+ z^q#}(D|@PSr(Iq(0gb)naLVhG1emTZow37#Y-eqphvIDTy-{nP!bopICaImPXZkfx za?kpw_zk_Ks~+T)(!N?im4EC6vPJ;C?xl=;p4Wpb6)}Yp#X*Dj@&elW%HwB-^@jMJ zg6v};NeSY!UdOI^$$_*rveACatre%m{kZLb+M_fMNdCsIo^^>ob$iQ~h*neiVDGtYI?|`u{g!K663k^!cBr#!rk|3TWuh`b%o*CFCfU=Jp`sjPVwS6y_ zOvW~(I;;rBL|O5+a~UgjGWNU#40h z;u8JbpVAk{>3>d-73*VxK!%Sm5t77E3>7vmogc5a4- z{e^Vx?c(jve!RaYci&kEpYQW)r~IAvaXynZ=2=`u9}8M0dn1EwZ5zPYAyBbTX1(@3 z16dQ<*uRf)5BJDK@KHadOVw2Wy@^e4JAoi8=DY6aZPp+@>uS_rasNiD|JF{J@AW+j zzAV7fDs6)`WWTwUW`jZ$fl4^wDE;S2;4HYght^X5=Q+~h??{aj-}b;sUGNuYa@QWR zus#_SXIplfKv}8Anhm6C4oOWC2fEP≈czlLPMHsLTXV9_1%+OY)}GbY3YE7}_AN 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%0DSnH; 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

&&1-g8cP&*B$TXfXOo2VJpvEeKnRY-PX!Wp8Cu+ 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

1W!!)?KGQ07x1A>At@8c@vC{-K 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

    bivs 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�&VQ*}DMBJKfQNcg>cR!+6{rZ1`7j>q$ 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%0Dq6t&c>c?barW!d2{;;g7Q~XR!p`0>6 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

    X%U4Q!cc=N_))8IW-K&hsh!P41eF)*wXkp-WW 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%0DZKE~N$fUr^UNKe@BjA4$D<$IGk|#NV^@Z45B?{A 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π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

    r8W-zWLpv@Nn1xn4^Uj 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

    jYgg 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

    }XTR1P^O5xuf@hExq|X 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 LeZ>>kXpO$|}pNY_Zum2JZQ@g*DK5tdNEnx4eGn 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

    ^tsCM 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�z^r` z#m4|qY*5Q7&7wx+m*57^_EoO7%Y5k#?%keyNb8u3&RRAzfs;&t?N9;eEbB}HmC}vU zd{el>=#2L<@Ixx6+3FxTe#2PNHA7C6fBrKCJmr9>vCH^OgiL!T|MZTU!C)&%WDi}f zZGRT>rU1+}214FRwrzJL5vU#W!cBf392aK9eML@E@L<~ocO$xNQF__ZLymS8LE!qp zi|c0a;RjMBZ|h!S7(7~pk8gH;+dhExjQN} zXY43c`8*0jgu#UMPIds<2TG3>+}iMiTd$;dtBe7H{o$2f6<)BaF7A++s?ghf%8^|} zz4Kzb8*TuW7S0JTG_uS$^dC#r@%U%|VXXB<9ush5may4Q3rlS!$>(a}8Q>gxZnMYq z|AP!*3u|j>F?K|lp*qm2l+wN*`n-O)UD%DK_X3VMP@Xq4eH|j>8#d{?m<}#9isZv3Y zp80HoL9!~`8M&=sHyK42U>MgK50WZcIp;hZ1A1?Vo?l(RAsJFlIF2(IqpCYR1mMr2 zY)IR$!Dc^zCTxtZ8g zFAKCXYVSzy!~R!A6B4qWQx4*zpFQ6J7cn7DK)>_Oz8^6H?eC!fA z^rF$S&7H+S(?7$ZhF+Ir!o6qX{s|{QVXL9Z=6SNGB=UI#Si_y)9!g_cB8yR*8e@jSC! ziu}Jiq|*gI*ikk97=4@X%d_0!;z*{V`Hl*aY+FJgo^s-{@d{6DV-RtlQIUX_LL&TE zh)QpM*!XjBmxC+7g&fjdy7Ot8d*`53^SBcoz^D+(vfACApkSGzO?>GY(+Qliy2Ra8>3|e&i+`9DhM6zRS*R%2_@ao@ zVLDCtcS+{)3U;+`N%D;;B^ymN=W}ky&P2W(j}ho8?K1N-_7GhfaIVu(ae#cQ?wi$^ z^Eff|Rl#6%Jq1lL#&ZWbGn1bpzQaYx=0;wfG~QxhfZZ7G5-8a?K#9{Ovz;J_pUmvd z>@@PTXupjA#GD7lJNUXB+jtkj;sjx2=yx!%Y9DE2X?bo@Oj zh#{~$P&{^&o?9eYlJ9tNV1xh1|LcDfiJluan9@u_Z(7c26?be4a53lLzbkM|SBR*h zM=e|9FHseY!J8jC0f#_VJtAYM8R?L+-A?W0-QN*ZNbznX8{Sg{q3zrfW)+uEElU|N zD$zjG?b(dtFgXik97ihlxR>Iig66TRI4Htqfw!=;3V&BftfKSD@)#V7kl-^~F|4kn zQ7|U(k*lWFvKD=C)$HsGFvi~o@2yr|E_wW-{( zk&R3rN}s8@nB%}GogHu%>iS(S2FJ6$Qa!5{>;TtV;7JD?W8jDcR)9;1W);9bR0`_n zLm6+oZEo18TPte-4IEu54?3%u;95V^urd7r{1s4*lbP~D2sVDuylDrM7*zvman;3C z3HW>f{^azw;0nE&)UzNFugd^2q?!+`rFE98h7xNtJDZrTxoI=0HaE~5Ef3rcKvLn= zFFE5h+|>pZlgcJYcPFiY2Bnp81>^1s6FW`%SuLZ9Ui^FUPy0+D_q?*6U==hnPZ`lPmUW1wo_=oBSqI|c{6_t}lD42yA@pWuI7ox>4P z=iV7r^^^GPR9{-&M>n2l5eAf#oR_*^8R^XOn`hI|D_w3;)|p;^XWv#(Qd~b37Dl^H zuEAlt`{4Z(@~!Q_8h#gzeUiANA=0O14^;8fP~~|`4hlarN9BLAXD2PP2!R9_4m8%j zOo<4X0`A|Ka5aP)e~xuvoLm#QyT}sVJgjVKKzV|%pK2wK5|GR#Si0D5yS4vx+q}jM z45;@S;(vX>Txg!~EujAZXxXwub7LxKWDC_{I>`MixK-=DyB;QEk|GzvavESfE<~~H z@$P(YVI)Y7Yj1F|lYGy!QL1dZ=s)TRTjTt)hv|ku^Zkef(DyF!`~5RXt$U5XAv-h$ zj^#0A2uQTEwh9`I9bC)<+eYd8Y;Y()(2HZuXz9o(D_SjErzGuXhbXzBeT6m2GMOC^ z#tKec%@O|kt3QnhC?K1=+H!Dsz<-1JlOB%)L5+a(bCvajo^=ZScPjeUXP?Hl=7K{H;Kae^>9zp)RLwGR=c2dDiztTlObGwwXGJ4w5vttYW$acnsZ2Xjtp>)Oc+LvA%s3PDtXD}*E4yME4 zPHp_5$1Tj?{EV-ewbyiKgRP>+NJz2EvQS+ZO14OiMLW)T>fgED9;;(Qs#wUn=e)PyRoG{&!Sqq%IO+4Yi zSgGcRK#fnvps#l6uu3@AV|=9-7q5-VWbXt~iW3q9qt0yON4%nxNo10JF!mtSdF{BZ zR@FZ~6|N?^3HuL^`$v)j76wqB$nFt=B+y7r{2q zHq<|p%J}wO(IXXi5P3TXU@3OH8OJd$+k5B*oz z{U}E|KRM?!IQ?Pj&%Vpps%GnV3)J`?K7NnmQB9Ojh<{5=HP(?bZI-MxCk@S`B%7->TQ8;CP|CRhtbMUPn z6PA+Qp5L-Y^X6{T=M37Gx+aZ>UK--bU@;=b_4Ajv*;_roXAO~mHwzvUl{|2JsO z^b>u57jV+1h!nYoU)7x~x9Vr?QT**?ShCOTwGqWqqN7U%w|^QpCbw2UadpmFzfaKn zMLZ^TplW*CuZ+_MR215+2_PpMNeN@i8(?kj^@yh)cTU^?k%ikARo~hRmPbhi7g6t% zU1nz4!MfUSW3H)3LMDEupvmKvmmRwvY#K<#N_Z znLj%MSHa0)(AGCuT$7P`Qw~^veh!mmtBcP1{s2$Cn3mGEGgmRJO#`{jyf{!yz&HwY z%dNw(^A`EvRtBAaQQ%VVtNTdzHW4o-M^(8lJ6P8JsYES&c$L~y!1?rhAn>n7Szyoa z1c0wB6mCUS3kr~t6sc-awR6C3ve5$5b#xDv@?$`i@*Q(BN@jen(y`DgdBUIbHh?r@ z*0>EIqkvLLnd;q;!{y3fjoh#kH~{aUPUEX1-Kezg=Jg%$u=ZKL1XMBBr88lw`>8B$ z=8+>#w@;m>G|~d+Y=WwM{sS!_Q!`XKIj7Uot*_qi9 zHARh6`e)e(+M@#M{htGcs&SPe3<3>BtlLaNlRC$HbSB@7=kSYIEz2cRZ9lXfcYx{l znaZf9LS?)FZO1KRr&M{9>MEI(=aYEc)l#ZZt@P-H$!6ogLH1`m8{*J515iiLv8)X8 zGkQJXC~D-aU22Ckpq(W2rAfK+TAo<)(e&SenaXm7@ewC6LhWN4!2=mw`0qz7y zWuB$mr0!Owd(2D{vOTsVCO)?neUv;L2bvnM({KUBVtNtme*tCsX}B?ulixOmC&0t{N+DO234yMwf?m+k6Ld%7c>6fk@td+n)n!+OmH|a7`R|NMAzm9!#rM|HvsQXe8MsVE2XqD>9U?>M8uuf#I z`RUkS`Sf5zzl1&$c=itROB(H0dUq7m-R7#{Bn5tYf{9eF_l~4YXN3W<;gIZ_lK5r9 zxLnOnsOr{5CZ(VlSt>ZC3OB^h0h191Od`;vNLoK*WB+k0{L(o!$D<={t16?d9QSOu zq;+;%#%Z~q4{6iy;>yIFi?>XhxEX2GvIjWEC$ru{<5I7P|BUJy#|HB6a$X#f<^y2( z&&h(?aS5p~RM0-wr<{A4oNPVsM0bAPk*cg5D((_q5x&jY$A1QUvOR){##Z@fJSwQ# zBusQh-DF+0oh)$huQcE+`JWLHJmv0807qlr=5y?W_zV+Myh?6T_F@26n@S$kq^86a znAydS0f6;i9sJ@b15_8+lK=jjn8P}eVfl<9{%3M`R1pj$zNBSTE%_1$SNa(nW<;5M z_UD*1v5mVpW8d8wPs=cDFGS=j*nhfHkMoSY&w!D+N=zjG5LdGJ*@-k#$J+jm{KI+6 zJl6!E_MSt4RVnGU>jH{f_EPpXMU*iuS0~$x2zL5CK_OS{oq9~n2&sA*V^Apph3z{Ec&Op?OP04?pm)L65o~1@4X$**` zRUt)2Jrq{592ejBX7uu_KTW6V|J)sym?1?(dgQa+_Tg>B!8|!kV(=^3yrivq%rg)_ z1+BrW{`*p=!p7S!ZXj(1ThYh(fuu)XWbdDm|CbHqC6Fjr zjB(-EFm4sbrp%vlFw?uo2@rSjah7l$i10tr=^e4Eo5eUerJe97Cu20OQTXZ>S9~;< ztSmE)-Xa=(X083rIVZkNHdDIjdVD>fvsm5ngC>z}Ba^6SU$3qR?$hvu>gn}yt4VC!l#UZXPw(mLnPF(*kUv49Lw6Eu4 zH1b9p;uWKe@e%Mp5=S;3R(bogf%mfk*)u8bHuL?}&ObRv$`*4+3%-Jo@Tt}DjgG;a zuCjMgkvS3!omi^>A(NoE7+!gr_&5+#{47U$SzdzW0#o`{lI<|XOEZUKq{dR%A67iYtTsvLKqx+n!s zBusQB6IQP5#oA$Dj7#er>zU%ejJ8c@v3~mMIgmJc&@TRyPBrK;ru4lOCP4(O5c68k zF*Y)_ZP#$H@)^(pbi1Vm9VS;y^2%_fo<@RkaDshIjKPK%J2N5jRH@<}8`^f&enoNA z8l%8Az(f{PmE3+&6Ci3&4Ek{kF(JSn(*74z8t)jA`gzObsGMa59obkF&(7gjYq<#! zmS;Gr{d><(?$Zukf`4QWyj;yN)SVPXSMlZD*K1${k1YHpp!P2~>&GiXw2~tVA*^yL0?T9! z7ief!Vk(NMpuYwiGLD|3 z?ej?`$UyV9q>iJ3_VhCCUTAX z-RQ}{0E0wkWB%&S_~$kE-E;LFOjeDF5+wul2R12 zEWM7h!)s+ha{s zQnKWC$G(BmnDQt-z|~KvEr43W%Xc9XRl1c*y-l9@|1WAbEJjr%8Cd~8QAWuu0Hyx> zWYECLr?lnGrpNMN3%YWdv*Rm8S;V5FiRfGWyJXnC1@X@K}`$#upu zHp>{z#5*0VBh|aPKL;#h(#n5-uWYggKSU;=7Tt1?H^h#Ynxmv5-sr91sNgTUqEFnk z0}Y-XVN;ozHijm~yN-e0-Hj~OjzC1J@GPe#++0Kddm+iO*j2Y0N=J+oR8yOdy`Rdp z(lbg8+(l;WOFG%Xa`I`wo8Y__i_@f5d=R~_NddiHn8#JTI zP{5|7%RuBXAD%^n_(LQ{6Kc}UQJW;8v*KA}1&>%M6J^}dhP3_};~#YisGCWF8Y=^@ z6gvdZz`>?o%(%fjFQhLSy^u~v69%bRq$D1EWax3y=!Cq8Da?p1-|-i0irG6RO8Ph% zcVi6PPC`th1cZL@Dc8?vL}tc9`7@_gG4JSHcW(VFxH=l^0FLcsIYGOHWaSvoF;K7z zsCx?qR<`eOF@~)OGHzxI1$=hnqe&&;XRICnfYl<|>TRJQ#Z)$nVQzbVR@c# z&dFH#|3}ro#q7Ff*`H4#@NOQA%H|k97O?v9UzHB6hPtv zArurLB&0}?J6}L<3Caa<1L7izFE~kDa1kVg2*^M<7%LJ!#HV2Q!QJiZs$IMGTL1gZ z!NnN!dH>o{ckR8_|9{{6K8HES9COS$-`T_W>f>n>HZI|5>7#blLc0n~J2e=^Q{9rw7@KNL4AN~YdKo8V7b$^z;(TJrs1s}8 zN&J||%|PdfE0Md|1*>@HtWb}Q#b9G$0;xl4ccb=vj_-hAu49sY?D_jxQa?cMysHN$ zapvn&Csyy+a0M6CVD8*K1=DcO7OZwAJN$=nS&L~g!zAj`Mi+<}0B3&&Tv6M;h|GMB z_>HMr;+yZcojiyqd4%_O9&)FElWbI!>N~b%VVfj4zILkkoH#IPH$DyE@i)+(*8X1K z@aYpLj~coO4?e}%na zu3o1~Tt0Y&ClyIJp2x=Vi4ZMj2oPLJBzRB!JB{TTCT0KY)-E-t29@6@iEH@N;3jUb zgVJgW6aVo^oXmWZ>4IV0F_#HBcR^r1J_IqoJonV%;R4EolAY|}iAf1Wu)Jee^;6YB z6%JWrr^^Biy%T|*8Hs5fWyO8Y(%1+n{(glkVIY|OZq4x9vHd$(G1;2IVo&uL^Pc@A z(&x-7IRFK>##I&O{Q%tK=jIgn7j}|TwKKq25n!oZeK0Xvo`=L!bpf3JwxENtB{};O zcQulP8GJYwu7dpuDKi(}@zdT1+s#RgM1}3O`WODWKb6dC4&s#DK?!Pn!5HPqWR;vf zAZ|r%MYsJK6}N+68$JrqYOv$HgaBz9njY|!#e)i58krJf2$>8{K}VH zD6Ew>P8w(0xa9Ud>-_$sdNJ_C0e4tgmpKFJ*>b>Q<#Hx?Q2y5cKH0}hgSNFD%ya#7=q z;JFumcc1TRHQ+U{QfVo}U;?m~c(Rx{M&0+*>l+vO=!_!` zpmvRl#_OOsg$cwayNT>hAFwq0oQx&|x}xA`3{EemMAreW`>uxKAx>#1wqd|dDbxg} zZo5;c-th}Vt}|hZ?ZwLfGTj~;2uTzt`L1sY^Xvnt)ziM`6s2M@Wvh7(@OjSxSjcD0 zuonaHl(M!--RPJh0jq_5CBUPV0e6h`5SYe8!b-WSTM;}r1#_Mguz67uog}&GBu~o8 za_NXZ=WK{G?~0P`7bc570n&g*VF5FvBo4+l4=1DT|MfZ3vD*IoYO5()Puqo2VR*B$ zo^j}BXmvo&D6PTM)B{&O|AvyRoMRbh+&NzX<0lJl_l+4AE%gDiEdpx;Q4c6T%U%u) zh@;vV_0EkUGm~(rhB_sH<+d*2)*Q^N2fPv{O=}rw2=CTld}E!3JlXv{HYos2T!8M= zasaua!FIOOTWOOLa6bMUCIET@0Ziq%S02;qAT8SvKY_Fa=@3+{4A}DSVyXc(ZI_4) zm()=SD!btzdp~^+2bkhH|Hr2mo_0?i?Msw*Uc%XWLW@H}>GX-Yr=LMg|eRwz@g&>`9O5a}BKBaDOg&{v<0 zQChPTxQ+@md&r`QvHI-)_yu~htFomN{%yaSxy_h8F*QlnD7EuTBL1*s>#;3QsRE2s>7 z3n<8UtVFae6GYQWr0x8nd*oO;L0iR-yHws4uWm7gN8t(Y>j!!5)Tw@s>qa-U7M6C} zjZ{kEdHm6+5+k%jAuTK>iNg^7vpyK|*5`aD4C#6Zm}!ehq{8ABR12-!_^(1xk?%-E z`&;9W1h|-xaqxnGHW4-s%kAC(6fwQ3b2S0jwki2HuxL!-5AoRuBDdSed@+KEeI%Up?(l75Ycl4qVww_8mdV*9UaEjX6ec$vYX zcIkrq;9erOiZnUH49fD4+ds zV%L6G?&kttZC*x+4U*hc?*|_YUdH2_hUYMhZ?}hK4o`v{W0W2Li`XjvP$j+{(V>!& z?{Qu|n_}E~apaHLm)S@9d_K58@$fdGi`oxf0MT$PjGcYF1Z?8yQMzr%WMf38Y2gsC zA-NSl&eEg8rm=R7e-17mm=|k}M6W+3TAQ|t3<=+mF=$0N+jTlzO>026-}X74c|!^> zqPe$~>U8(h!)D^vX}ih6Jj}h@zL(qU;Bc7lT7JjA<~$;mD~@AA=HdeG?dzTRJdVxx z_Sm=hJyhD_414XCdwV&C?ue;Ser^sgrUx@kd)hPi3~r;w;MbM&-9xsAy!E{pJnZ{N zEq_n;RKeH>S3aHrV|AzHqFaC#wk&Mw{Qerz&+rO^OVQY>@Ns!|Ep%_U##z9f)>a_V zlT{tCXi?P=C&7UY9DGy;PALPKu4+2&gNCa8>~9R`T(8MU}mGHj~f`} zn;vz=IPK%{S(tVtm3~h{TRW(V^XqJbqA`;&Qe|?;JpWN=ZAnD+8fcQwTQJ{*12hfn zff*w7P`60gi;@lHVVyHnZdE`>GMFl$_EB#FR_ZbbyLU?V%Z{gtXCO0Z@WBodStjo0 z^XnXlx%m0sVg@F{Swndb+~#N2A%7MF!dVxl^!QzZAu(D4LLPPUWWLU4uDM7`1}`8b zfRK=r9EB$XNs}bb8Uy0WQK+1`JQGY73N)FW^Ih5YHD)0SpDT%wQZkUG^SM*ITe(F< z)Gp;xAy+pLry?PHL-<7(afbTMP&TY6C;Vh*==RDW;wviHW7OGxS0ML2exn}6-Z`*~ zcm|d_i|AGrKw%~0ODn<4+1eUqSp1O{+&FEQ7T>kWpzV#{wUXb+{r925)$(Vo0A?5luNS}o#~R|haY3d<}!_wwo>1 zD8Qz*4)VWLoUQHYBB7ObDglLD87Qm**Hmh_YR3xnsF|64S$4`?qu|C-fJ~bQ+dQ9- zE}cr3l`4wqbuKK3^q&(^GRBTd{``gW^NZuGZ1gKO%Jz-p8~xu=?_UMf3|cBZYSH+H z%D~AIaphclmWh&7+F5I2+PV4fqYOxL4j}5%QN7zItn=@sWXk8|&LeMw-s z{SH>WyMIjVJPMPARrBAzBTKfqHPun|kcla}!pgv2XYZG7porJyb2a{~)TutPZMkZ_ zJ7c%McTKgD6YMJl2Pv#Yyw;Ndz4CuvfmECkXDyla=d?H&`w&v8uIOSIohN7DVygU> zpVc{cpLthZ39qxCS$}!my$?SBYZN2d&nYLJq605*He=CA8hRa3&mBc<{b|h?Z+ixf z$M!jSUYOZ2b>z+odP)vb>1wlcxq86aTx5S9rsZ6IRQ0U0hmi$>TvIu>o}i^-&1*ni z%|-F&-A6xfW$CD6^Y`W{=AF}O1;F%XwLKF?ukCkUc@FQji(ei;JZc;vm@xRPiLrq1_wCOqRFDh%a#`-)hM^430 z4#HOaO2`*u#vIfHujOq_@+ba!g|x+d7SG)%RDxs&j5FAI2$H9@RT7aJ(M;}G@Xf(T z>E~a0r;0*s=wEv3Yy6j$qa7?Z&o|rGDYZ|_y=epKXRDL&WZL^Id3`mw z6tOq!vdv3dNUP8C{!J+U_f!$Ucgt0~@vAj>)d}p1eYJYLaN$W3ND+i|Fha#o=iK}7 zm@Q%wehVSZ!Nl%C@^CSi3?VvVjRny zWUv1y$nBt?zoX6__Gi~m`;w3wiwya1ySdKV3`TpRA8`1l+?OQe)|`t3^1~__pG|ej z#6eNL#l{wH9XRjA9)%c^5X2mh~x7|drbIzi)GYMU@P7GvEaJ{YIQ#3?$P zJG4W5Ne|@}zepXw013nj?`%8pv<4e8ixWDYcXk3KHaaA-t8F=yhph&YWFFmuDhZ5Z zxAJ}y`whwL_HVKO0H&&uNq`fAR{T16l3)gS%%87whi~LOaIF; z1&q2Q0QBc@s`Bf>MQ(dV%sjd|Uta$JkQEy!lhW6+_{7QI+`G2;VU1rr@ub&dL@SQp zog|$h;vB0 zs&_Rlc*6Nm&hrc(FqBx|z9;k*tb$`Ih7*D-8K%M(3%*<7AQ3`t({mwuD@k7G4!n0v z3%<_#=Lu?(sPU6ISEmY9zfy`e`{SX&_L)5x zVkJ2ol6)WR22j%$Y-}wffTEL}LU2*+LHMr)iz|9E7JTk6fJZeh-?LG_d#+7vn#ONN zR8nJ4g}Qd^N##8g+Z9szf&4u%N&14#+4H@`*@gHVY?_4+VLsKVKwAhF*C zust_m1df6)ro}(LZ$)!TicqCMbG})`DxMh;0haME%Kg_#vga7VqZIo1fyykxp1YU< z&NJV|HoXFq2xwu|BzIzWnumv&gyq==Ajz>9os-Fff^(?&f*vP=- z$JggM_3ks77oPX8clYC6?2T|*{ICCW|2Q6d^r&Aej?Y0u7UMuQnha6lR-449RqJyg zs-naV)||9i<&fb3z#PngV1j6+1q7{-@CLvGeS%X~fGMKJ9fQH#>6L?Lg=dt`FhJN6 z+=!_0x#MgCWKJN!sA8$JN$vt*+E^P(8 z)4#tC+02mm&c;?8$$e+f^Be<624J&HB62`%$OQ)i@AtKUav(M;iV~t+R|v=)tOQmk zIGV$M4sIMxBPuMPyvm+ASLKtm-x1epgT$Y?; z`g~Um4WGX{hT2|Dr^FtZA#h_1wku%*UN!Ft0__$htqI*j9R$D&Zfi7w*eTtLSD8vg z25eNar8cTP{>yhErFTt(p-~Y7Sr6#U$r!byv--|%cRtr8?gPMbZV>fBKF9M4kS|vV zi&zQ4iKsaKc&Pvug6 zz&XS1g|fn!5h>Y59_2;OuXaci6@VKXCWyNmn=dT&=~FoCur#HSNd(S%cV=BC3DtY- zyYCi7+(oRZ@Th=#*~u;dw}7J-9r7Y4&_f_|cZZMxPsVvM)i6!;N}4wy&OIJSWhk69 zuyT(Ecw-Wz`6qV)V?Sre$((J>T@4t>2O94&DxI9sZrt7(-@C#bB7cT5h?#ArUlMe4 z4=ANofP-(LMihVvV~zdZJwxsimw?;ne`Xhrof{uhX+>a_un}F!cBd&Uw)ZE*`jcv{yGk}qqgj)F2^XKZGV`eJX};M@BfzjRRjnWHg1ivj$K6v^xkt)0}xZ)hG__sLC7H+t>~PO zi4Wo^z5FGkRyF~#Jy34$Y|{Z%Y?1F!Ket)PUPSFyuwrqd+5yn%(>_Ck{dGD7-Sioq zKDt(0=PZm0&kc(~2{)!f#s19(3sEcUtet=iPaB}_pr@OZRh92UVp7fl!xi;ufdi&}Tg7)7Wnm$FU)?VaYjR zF5MYu7(97|LY&$gCb7QqoW?&({HZ%7!YU>%-?_4nT!%Qfk8s6P2e&vutfs|0qdLo2 z(Vr@8pM3@aj*5K9$oOLkzyjABv>k}CM`?II38=&l{rH`!coAF?kP&1dFZ#4};#}{! zdxKj8lr*tUh7cnbV-I;ApO#~PNcXXwhhV}G_x|&1;b{Sq)(fX)!Ne~IF?13N{yQf? zJH>p2F8jT=TeyZ8!(e{j5f2E@`wp&~1YCUN188!`1&ped*?(jFv9sfVy}J;y{y1mk zs37BdIq&dO{TD+lyiaUQ+z@|m5w7z4z7LPmGIkkhIoXqc%uUO8POU|(NPNC;Ht6B7 z4Ax*CR_75PyMf@_MXNHEFP!x)IF_74HC5Pg>9M(E>mt_5z|M(3Zsiw-VChji1I2}n zJH=~>W9MCF4_Ed`v!#7vDjtj$o0T$^b03dS%|_OPKj-sSW(_nrPS0nx0PeZ*Nb=Ip zzahu<v{H>Awt=rxh+ngA}`2jd+y_$yC-JL=l6Njvp3%H z73D1=sEb-OYr$Sg&JKC2m^9m-sgy~iw{ovsOT|Mrzi zH^&Ehe3?eA>}ldAxkwg>jBZqN9f54Xr#>8>AR zJeVp6x;88}>`oh#2CAZ9?!+t_8xGalaHIGKZM-tD39sA63S>5d&6TWwpj zdqkXd!0Oz@4PXY=j^*q)%F6jO5j?o?UHl4Q2C!4Y^rwI9##B=dX&o#cqx8fZdi-0* z2S=!Pr!vQ4so>)@-#Jg1*rP7c(40e`W!l zFj#0b7UlRhcDU2l55u3Gr%e1+#@^%Oi;Xv>3Zs|jU$k7|DrMaqZcI$c_}_`P2*(|2 zx}tJ?S}fnj2uemwh#->ASw|8q!MJ;{oNanD`S`(Zd}N)1}eJli2m5zdLdN2V>R?i3Wki^M0x_{onaBr&s_Y050DZ?a&a2aPkaABpqLOH=J zK??%>R_!xbYBmis;5EppV-%)L{{%pAS%jjD=w;_NrCfwH9km`H!9}p9UzkSlmqm1P z!_{SzA%YVMOmbq?$((k;QBbkTWKWwpIRTh~-Kcz!0~Qg+sU~pB z-}_svWa=MPp_3u*D{qAs&gBms2%=%Nx4(1cJCuwvk@J^#o@XH(gvIBdKa1?u=WW5i zpR=^i`Xvxq-dO|JJQJgvjA!t0VS`i_LTJa0m7?y*xp2bO?*PC535qk&*Xm3gMN6i6 zRNJ_mnz)1~7^cDhO7(-@ts|F%mkCfSKr-UWsE~EuYZ7zwxk(#h+A298sj*~Wwf{_3 zX1e+%HlQZK9P?b$cRc|^0d=*>lbi>)ZSWy2*KtQ-qLf#g9x8}?jgw?*k zOz`W(*EEiyRWlRh#8_Rl;@bfnqL}jLkr!55(dihXT`pQyURw#BeWQTdsMROw!y;A# zg-0Ptcd7waV|By*`07-2jg#Z}B>Ie=1Y_3M zDg^qTl}^Qxi?AA(oB2m20ZdzjQAW-TkD_g+rVnNLbXe_>=SewN#fdD{~d^D6T8N}_l6 z7bRS2=_h1nN|dn#tnMuxt2$U+=q4q<0z$^6LmkY{k< zYb8n&Q8BQmM>RcI&!nn};b2IhQYs%Tv;q)(w>tn2C*UxtFhJ4=C}E$^-DSr-tplwX zQ~;HqYy6{?dj`4l*;e`^AXyPdwAXMwWRn%y#!JcoN6lG2_yq3P9{h?~zu+J=)8=9u z=RsE53=4=lv%V5EDdIB{3Ob?l1Iy%{{}j zgz87dSQk#u&k?&IB<}MWj9=ingF;CD%l>oP+)b-VbM1sye0+`l@?G+?cz=5Q5FM}~ zKEn5bCrAZSy-~I$ihW{j4_0K(!eU61u^(n$3;igu5wNmC{vQmALqxEMT7|y$A**MN z&07(y>+GQ>xlg3)Lx5V&C*s4s39%P*4@-WIysEZUqqS@gSCU3Nq_LkHl-GFtQb_k9 z)DBSSBqG-Yd^T&iVDewjk7L$cNIV8i1s{V?m;~%v<%~0F;RhS4B+8>sG-2*Dr{K$T z!D8nIiJalH;1m~~&+!0aKi^TD9$VGt$R2Ys=ci)pHQ3HJv6e7ZctWQ-PntGdewVCe zzH53ETag-JQso`jvYn}%uQdZiy|~jm80T&)GmP%3$SH|?WKh12tzXLS%n~cf7%!wn#~c)iU2Q@xPPS!P1QQZsM#GuCiUa%KP4FSM#V^b;N9Q zCatI^c<@f3y;t@w2Y@$Ehj@3it6fQUcryI6}{0f1%L4W1o~NY@YX= zLF_Y!Z<4b_zH3BknP)`M@xHuIgL_r$a59R0IWsZ34^crP)tnY1CbMWPgt(aTzdbQz zl44~{DmkXWaBpxDVfyNy#xb2ac`fL})6xi4X}gm{AKTaGEb6SS+j1J4NPXUy9gcv$ zcZ}^o5_KbxZ#t|^4~Yyu9$_HyP(*jX$5_p?@4&9?71E+>je!z zYWu&pc?$xV83C*cep2>6{=I~*?WkMxonG7FRo&_tM|6PjQ#UFzY(|{u?=yMar_utr zfeNXATEcM-5umB?(SU25s-gl$)m|{a+1EHD98!7*D{+KSBS;$zocj-XxO4%S%A0sm z+brtjsZa3o4vH~}?5PX#vU|-s+tw(&l7z)z;2OK&7$H1O5(N<*>}qkLiUs7vyzHVUUeZVA=}^VW&MMn@$2S&IeJwGXp{2Pne%< zBtfwEF%%f=*j9!v0^Q@zpPq%@NcRBd9+IbkWNeTUpu#B9h3SEe$rb@NIvw%_!YSKQ zzN03%_2V&w(WpJGd>is-92%p*&Y{r|Wh>7$0i*YIvYC~ZC6h2hjGE6+v~EWS-F|^{Hy;cdDq9k#3(W zgC62Sh>_WMO~CsM)WV#{80rUW>jBd=h^&|a2TS__!QH19Yz25e!v`INtu`n)a|zm{ zTpdFjFrB~i`S4I^ky~@==K~nTTLaA;XO97=>Jvs zyEY?3qAA3eFzp5NBS!(~;Ak*#h`ZBLO7B>Y9YWK4O9ZG7fQ5U_Gy9)-6hqWA{f>v& z?pUrO-vx>TDgz#)YF#i$EWPtb32-LRMAni})H*&l)Ba`p{njbx4ydW9%eR033P7+Q z@EN)!uu>5;=Zsbgt}7rV&+avzecmP-VAasH^cheOAc40M_$D}D9MM3%crlWwZLp+=`x!f1mB2waW(eo36FP&kV*?AR>WY(Qk{1{Je6C2E~G4{68 zhDFCd6He%)TZ>81PJiMA&=uP`Niv3zy~YMGi66VDLx^9T_YQc<{jo#e=PWXJZPg@B z!kZwrz62(CGVbhWzhkEioTIAQ@BHH&1HnK&w$sF#!K2Ec`Vj3x%6ElRab=4Ev0`uX zk0uc`ppn3S)*Lx=B|^tPIWV2%%A6$+JahT{3Zqp){)*jqkiBh}=6-jlzjf?H)^CL* z9r9|*Gz+78@ui)XGzABr4A2@4IFCIb$OUO1rPlNmMMB54ht0C3@HrQ)EK$7fSh(fRHS<*d7+KuOjpct6jY3OOI~l)MkQ$q{)lkT-3L zW=){U^|^(^V2Wwu6|ylU23UPz2G$##Sl#Sn(C6OxqZ1rWRUVxDby@y%b|wy5c(Afb zKHH_We7-08v|^NxFsFtFvA?NPjezVi2b3Sqwo?75>?PM@YkjBdd5_p1c)S@-TSMAM zO&@5q@ljQhJ*>1|(NB|jA;n9Tm|~I?4|XC?<)8oo002ouK~$K;rdvA>{7?o%GPp4I z^_?%}T=KC?aa;_D8?0?bpKS*&-=86NO9Z!7vgU5%YXcQ4;J$DL8xHRG9uEG8%6EO9 zUp+ike8ed1tXO6zQ9r~;NSK*pp=MfeGIn_s+Kp)yv);vYOK!__@a**Eo_CR>7{||k zsu5cNwlm=)u+r|t;fe3%f`v6BD4H2MQ#xCTtr^V2u`X4Iz?}A5r&SFeU*z-SWSDQ4 zNzRq$UtA~Yv4ZvdtMv#p5>B xM@j;bHa)HY^}X5XVhJoWKH_b)Dq!W<)P@mf$<* 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�bomlVQux{VH zir@54z6LyaQt!TbRom%Y2365$>&0@KfMhjRS8?5Vrm~D? z7TZpg=oev7f?4%}i(1uDnz%tCfkB|7!t zF;OHIOmJbZ=w9sAx_jAOv7Zr@JVo>IyU}?23cv5yzJ`8yLu@zr_x{TdGM>M=Lapv6 zt0U1@FTK0{=il>UqZc1u0p|t0`Svw=|55*{Z+o@-ofB_ww-sA;l}57nYOK{%Z$wib zwP50LpsTqPXsj-WJ1lv0E-38pHbsEN6@9zc{^SO$&)EUSs>}p#pI-C9vrm9~Pr&C^ z@P!IIa|=9Eh|5E?{WeMtt%o#T>)eQir$;5TVY)U^O;za^ zT?o*0qgv&aDPUpW#UOg}l&rU-|J1+!xqkMU8~n)kT-BSO-L@b8>!z|E!aC*YnS0ENqovWA1UybNmo_93-mIiPJy1P~rT-N9;vY#TFb=$>Sfhgp8 zHRCE`?Pm$MDc-RaXRmIwMtkJyF2>$8sMw9DWbOMIX!7Q~0ma^eh1dyh;9A!N*?opI zqJRPO#LBSm@qJcXgIXXbkVXl3R9mm24HXRpj=;d>a?x4wMIB6v&iJxeWdJR8i&(eJ zJ~j1*Ev=jdh@kDE=VizFE zF|S=IVJVG!QJ(^xYP&ENo()C#_uPWrK4W1YY2WBVjsY+_?;wC&XqE=A0+MWuLb5H5 zvm8h3ycZPrq```IQmdwXErfo0&RhqF%=kwQOuDlI1B1L%kf7Ee(%lC>|HWaLd$A1^ zPHaB^9e`#u#|s9ZY6^f8XZMkC_olr|4uIrbWX@%bz4Y6}2*d5ZsxekV@i%+{=Wd%7 ztr4YVW<8F~2M)&&Mdw#Et8e+C6~v)w`N z8aIGg8Vos7Ng_h&^M*lwB=2c^0F!2x?2%aR`ur4|M(c+5+yormQ(>7er_c&R!k`DB zNdR33(JC++^zBY3y}OvKI2gKCZ4p_l=b3zuO-}3L1yFPo^avw%>a#X?931l^?wp;~ zbZ$C#k;nNN>D^=Sx&cEP{GC`quwq?^0K_2)HL{bs7v(M$`A_pv3PmxPwa_c1(@9Gi<8MooWzKvTy-aMm8ec&2q4TT%4?d zl&FX518;!}mIlnjK4f#Dh9s7Y)EMZ%h<-cfP_aRUM;jB_mTmc&XeqW~wsKnGff(sC z0i|Kv913uxx|=G>rO$5mrARsNpRF#X*@tei+XdW)N0UQcuv%9oC6gXoOF56Xb zCq<1(E_V^Bdjr~X`E$}zB#K!V#lBVAI761lPncB6WfEi`v!mK=4ZL%wjME($4IMM} z_&f-|%IfhN7((em79m9T@STyay7pk<(mm70X`*|SHtnye_sJIU*CK5xgeEo+u?8cv z?4FDNY<1KCZm2bwJkerIY-_-)po7=Ft4QVwf(ZP1*t9Ce2=KWY8@%8Ovga>Yd`b7> za)4l%+kR%^F1Vm>Kd3HnxWNz2Qqevvf780pQ%tLowwV(a6O+XO_S&Ky@z<(Cv@At= z&)5e9Yg^$n$RVHb$XnuwheTeGZvwYTkwLODnk-R@_ zk)dZ`c!2`{0To+qQ^&^i-TZ}<6DhVk@)Z~V(jA07iGbH90QA}OXqM-LAb?KvZb;tw z5(C(MM^w1zgZ;0VTaKp3hPPE?TK}8E63q^4;E1`~Sg-u={5!7`0ahUaZTF33hGgZKIH{bq@L6eN172so!advaFUg~8NK zn#M?B4sob`7Jd3$oO0$?ZH~oA|M*G#nvu#;_K9g}B98NmjVP>0WX}LLsAAajVm(9* z{XE26s@N0+*sIr6&rz;wI0%Wr?qDzP_zQrpqFRrLa{Rkl5nZ_G6>_ShG9(d=wRkwY z?g^T4Tttk))UO~j<$@g?7nGb6@s5vnT*+mD!i! z0Ipn(QwvR%Dox?NN(cHNvg5oH*dr>{kpOh%lD_C3=;&Tm)hiYyT@jg0fkMH+VpSlb z*D8QfL6Y2n2zAEw=K9Ru)u%vIb)P^@Yb| z-%;4#*!!D)%2Pb}P~nUJ!-LK(atq)#R=xMd;8%XbIiLUV-tWA2wH|(DZ^c?cg{qEg2G4Is{oDW2tNjOm}dvzuY4NXt9y?`VCZc#E5>`G-D>}t}b#b|aH5%-AK ze{{p?bgKW!&wp=i*XMZc?>xkheSdCv7`RxFy!>Cq0Ji2n88_T%dp z{nU5x@TG|NU%SG2ML+kEbN}5Rdcc43xBVmd@z0#zS^3`zeK6%9nB4iLT2*acN#dI>zDkj_XFp^tDipA+iyRtdmp-q z$2SkT&bQ~rZ6Ft4|H8fe(%UCI`|P<-@0@URa}RjqVf<^q^ws)9|BtWeFTGRS3op3B z1BgXZ_Vkx4A1ylC%7`?#>8RZ{h)#9{$pTju0@VnCP1qZG>OwZpD{4C-t{<-cO@I7j z{J;OdUcx88{(U@iO+I+g^{J2D;M>3UZG6Yid>bG9rrUh}@w@!w*OR~O=e^zd*T2v| z@B`2BpZ+&qjvxBlFW|*b1|GirGy;j8rwHt;BFL&@Gb@6`s>3UJ058yFyXaQ%QBFv{ zX9KV4Qg?(jo08bj*V1rdb7Ap{>_Q|`94V!Es{e{d)2INeqr?h6CGhAm3lDdG+s}9# zH}7mX--6c}omY|Xyq)WV*E@gaw?4sV{^JL6K64>fpgClqs)(rC5up|9sh5j`rv4QXaus-yuj;OX>rynL3kL4G`Tm(<$Nz+7z-Ex^|3w2zufP7Y&>wie>ID z$t3`4IYDVIvF5yf*?ANfp^@4+C@}d?)n19Go2} z&k;^xn3Z&*l$aJ>um2I$HHJm2;s(U>amS?dO|g_5-!w0bI?v8AxyFIMb;uZ0@7Zd} zJ_Hau%yQG=3aD^(>6&P4W(@Vja7*14tc40mu+)HIP3>p9@GybCkIK|*HPt4^p3=xW#t0qZPoL7#)=_WjZ`v&sn zdWDCP!A$uj@Ll%_PUsS3Ve3ZW1jLS>l(H8pHmG&b&jlCxV3shTLWj$=7*@AqWmqn$ zeV%-zz#SNZP_%m_$RiF1aDZdY63fuQrZV|(aaBX@YS@TfDk`O!k#4h?t`wa;>h4&R z*pDnEx8WhsiiOl&WN+le8G!ej?$-AH4Y(Z%)(#|4onQ#mIsg=27^dtvKz?v?opzUW zVITX%0s7_{3@mjV?DU?T&7ct!5z9YJB5JS~)H#+`=j2i@@i_1sw)KY6>^N$GcN^r; zj5!{}DBU6ZAM2D<38<%8vjM1UXL-(AIX{{PK<6=IgUiG0qs$DRJ2-L;J+le)erc+A z3&#QuX;m3rQb2pv1+2)HUbB|~oIoxp>5sd1xYb>voe;p{Tjb=N^TmgKF*0CKY`P-` zg3&w`$@JR3dfg^ZRB@Y1ALrisncQ^^^rf)KhCBQvHLxAUEBV@OqJ(NJ(ze^oXoG3R zgEM;g1eRs8O1@e0jCUBi&X>b>9+ihRKnq9)OAWp#bZx*^26)Q7 zRLj0Y_CPZpd&ybNX_~ z3+Z{${!c2&J6J%{rEq2Y5^?mWWoX!bZW?iPSB zkm^P(%RybjOA$pv-GD<5O;-WR1+ZXY^#(O2Pa*k&`{*oaj|KPvQ#kB$N6*m(H5RvK zeB)uCw9b|T4BH%kcGVap#ba$56WMfPhX01`*^ZH*aZubMdomIkz!|M>CWD3;p9KON z4)uxj@3y%C)d8NCfZ`Z3sbdfqp9$GRb+XF85{h3HXAndonOIajh9RZ4_F3HoiaQ4Y zw<}TM3=7%Ha$FY_nbprc@-&JsRG29%o&=Oi(spCseW<6p`vz=n>bs!;N~(@D!zCodeioaxg7gIY%OF%N*mVV**%QmJ9ScQ85M5vDo3JdHnzF z7hq591{{SEcXvoO%$TT<1KSA?u$F;?iuZ}Y!VV(14pu+92Z6w)b#h1*Q|$5jbbGGc zJcr^vHC)Vo44LE74~A$%0A)Wtzh6+3g7&)n{rW6w2CWHc&Er8-p!V5D)8M{UJYyh3A0r&Fgq!$S5@aqJ`c@g?7$U89P`V z6M(@6%2m`#J30pt(QcEXT8fl>IKcCFwgU>^MQsXzyRFy4RhFyY8p*iu$8Q7W1V1n2Gls%T@HPxJv!LAh~0D)qNA3!z6ya{1&|97r)b0g z;cC+*vX**1NuWA1x%Q5pII0-2H5sb~rRHVoa1>gU)<8ERu!6a@>|Ub}CQ)eyos_wi_X6#%y8*8x&8-T{v(ak;w`${f> zO${dvqE{2i?kZQn8cj*yhx$KU;?1q_bl;LU#FIBqbvkV%`U>^5c`tGQ{w-EzuSeJ1 zdo^y!{Tiayt`p+KUW<%cY_e7Z(OppyN*+NyB@!DkKg<)@AXH% z=1HF4y~p4E|9+|0`N_hQ7q_=R&(5cvc<`jR-g?I=|MTy85x?daKE1)VUEjlwH=bPK zm7CiB7r*S)^&7wYYjE>4kQvdESz>h8S|pOp#@d@f>@s3V^s2_zARMxDDV6`N1Myy$?Ly>+#zeZ+!k<-Rvj+ zz0Yy|i@*MZ`PRG7U}MxLe)9Xx>xi4%MrK6B8Eb9A3_B2_L`LO~4aB|?SS=pRTFt2H zW^`3GnP?gh*`lXi2a8W%d#1kmr@e~@AG-k_UEyE&17Ah#+tqsiX}$CATCCvB)w4vM zf%Cok-cLWvpa1pmD&~&G*FOJDfBb9TjhA0}zu$Q6)F1xf6RdNhRdArQLpD~=-A4tR zE0)Ykf#O~?OKD|+wIsI@R0B23?V~56o?Hd?#;Q0)pzeL(+&Acc`hM`!pMJh^ZeWpr zDfj*l_K(z-mEZpDKf(Xxcl?9>>NfeAA9>I(JbN48_ziEZfAE(d@i+XA+x~a|$Oq%R z?(rj^SXfUMJAzT{q8hXlWm%$;l&A$%Hdyu%EHi(&6Hy&a?A#Dl?4S#}ffBV_Fd@Rg zM#$ctsE!W0N4y8)YV<~QRoFdttQ&x_VI#24)mK-|RlwD@x)_OD;%h$i_>6ohZgEO- zp+qyOB9p5s6$$O=*c`!eRfDlX=0rY^4y=oll=oFvS0?%ty`z!U8&q*j3bZQa(egt9 zV9&rNaih&0QRqf=Y=Ru5wX`=FQQ}DujD3qvM(n`C3}~ym_#7oZ26oI!5yziUCC?0w zEUdb;2OlhJhf3o!$8D))yKJf~Hsf~l9$&^$IyAdt61WxFpw39SeQZAOK#9bLMNvba9- zDthP}UAe^px_a#~F%q3z+hrS;K_DetlOvsl=ehnkdTgc$_& zNtOzxJ|}&KYCKRAWMcEo2I2e4MQ~&;ur9U#$%&%H5}nuT4y8MJGnVh6En|py!nrqw z5ji=9L78J{=THS9h2zbo@pw);U-l zWah}HB%$?pRPy-~}Fwwz`oWhizH9K5z_PfKy*6c&h4RCPtrBg!>MkjI#}GekUNKE-m-%S z(qfmceUo3VY;|!B(_Q*-h`#X6gYAEIT8h5-%P7kkg=+}y4II&A-Nzt|#_`zP0lbh? z>?E+uHX#GtMM!}Qsc=jrx0eQJbpH<;Qrj;@0~J{AfSY(vg;ftu>mg?z;?9`i*ahWP z4FXa2z3r8AtXTq8H7-ouwcTQ7FA}+kbqYi+aA~jTH7WzgHMYd@aY2A(xtQIQKRl$j zOMbX4y;lLOD8#buwLMme0q){kwh@CnDx_~89mlw1pU@&6^pr-RIEwmS?sZ6yg=6^+ z`Im09x-D}XdkF1m5G_;+u(EIwmh(iRgMYgjIMTPgk#*}+w7QPO3XfUW~@(6JNZT| zrw}QrsF7b&MP2u|>vHdaK9v5m zowtC;UIM^oxki!kCTCOE^aeP$DQq%oyI17!3vyo6R&<%YWk_q;piP0Phl+MkTI|jb zaC^XW8&)6Hg5lCJwryL?J0L+gH~}!NN$m0DbK$2A)QtWDdK1eJ{@GuFZ+uqxSkqKSVu$JJ3k)mgIvb(jDg8fLw6+ECjC_#Iwc{-(8 z5ENfH(cKm7sv0Q`PWZ{C#=ga_4WaS8&Yj%2Q%dYo@Jq8h8px{d80?7^DGlAK)kLKJ zVhLYkRWx&-?>3TvLuW!wMSpTElIKlMJY9`1bq{rlWbw+j_f zl?0j!AiEizjaVY75S|ki;9iA{sB*5SzBZyzR5>!Z&l#1# ztKP|9`&(bDpY+P3-mfFJt7K#EYes+ibJzWq&u82g;`)RrVt@DDZTnDe{cC^e8~pBn z?-R9fGsWVFc71*|R-_TgZfRmF{vbnRQvy=caPXuQr~%CrR?_M$Z3X(Ytzd9pI}@w< zjURqYyzsQX=BM09&hJ*d(dzf`rO#jYpZl|~;OoEte*FFa=m+}~pLkk-_Xi)=4}Jcb z{Q7_75q{rq|192lT>KON(TDKf%iZ_yEj+ztB)iyKAa==as!!jocT85Vj>t7BXQ^{R z12NU`9N6XaJ198_LUg{h&_Pxqy1X*1rkWwDi-xHanjg?r(H-J|byr6g`zdfn;{G$u z$G6!JPOJ7OTi|*J?gOvA6^Tw{6rb*~uA{Mg=x%j17NI!?4cSJe7Fdf4`5no^`A(@% zzXYT;nz6duI^zvuHCxj8b!xHB7$}aOzamX8G`XU{uI0)CRuM$xsn;S!2tqgagU;)^ z;jp$wt6%y|TI$1rl~_@$%Pg}rL(G9!SbCr(nKJE?7fOm_0k;ZIXB_|!o+GA(w=jOq z;5!;(%+1HShr!18u0E`3koIpdQ^LXKwC^8?kP{Aw%^{+AsHSu`cqVl9mlL7tF9Wo2 zFm*5PAML!Ba&bRs+VJk`m#V&dfn>)M$3DX;rPj|(Zi}0z!i=Y-F*>e zK#^$o=X7g0EKEu%6BuL&4ZxSvOVbWJXz8E8=!Q=`SS7$Tc}4fv9A)5a_}~6B-&_)L6NE*q@SN~ zOgD+SBl13?umiZx9q5$gSWJR*Ae3oi4>Q_;g?y{(c|+T=@pZw`>kpmPh| zk5>RuVlyvw8)|*;NM_YM%fiw5+gJ#LCOi`Ki+z+`0NO(o!*PowpOp6mbe9^9s3V#_ zx|`GtH9EcmdNb5H!t6t8paRMcf}l_IQU7M2~+5czO{ZSD(fH(W$SL(!su z&#@mmzXFoJEPpgu)#DB$kzC3J7X%j2de$xwQ_C*<=KOFFmM|+e?)X)8MCgpO=z^aM z&@nzCj+~sNC06J`!@iQ#`R5=in4i(0;0|H~@~j-ZEtTZi1i(l+!QBi~8r0c43LoRM zilCLG*apKo582_x!dAf9=W<+`wA&4)km^9A3o0!%%4`@(wCpM{cGj_edZu|z18(qo zLP0@O-d28p)-O>Z&RdUDSPjI0a08JOU&aM*xj#^m5n7&6{ zQ2Ko|b0%#!11J+%x^-4*l1P`jkP?a~jfcx8PHEkK)%jGz=l`%9&Uf5}G6a%{vEKw7 z3(6x;oaYW8YR}ok2EXWNS?PkQJ+y|&Lm8f`(aFRSuqa1%;8wEkbTWteA`)D8+d0gv zITlb4TCIR6Mpg%tkGkEoaU8tx1=bF^nKWFXa^_sg)P)jBDSK?<>1*5+wkWY88}*F(Q-`V>_IsN0;qNn5B;4~@q)Gx9B=}zi*`>b z7fs0}8F$1K4!)*MxchFq`$D6F#nLogpux3@jBXR- z2(T(Dk`hec5p@DKD)2&MRUuROZ$(vAgxYh>ZR*wMO5y*2{Z85B}kg08j4KGta-*=RyPvYMTgWSvPBQC?5;GOXHs1tARu(dOZcf z!p)OFKELDBUwRnl{oeW6=bmo+(~DU+-RRTTPCVtp>1lql9@qJc+sb>lc=l=bt8XP@3%vQ-J$(3^-{)6- z_51kD=bo+gv3CLz8A{c#f`zK=j7_mmcd;W7#puxGLo_O)V-<^>77{203R3?mvp3{#$?c{>B#{rur zRlNs3Iwf{g+@3ewymP<5^XI;e@BX8&^q1Z~^>fecal2~@#!0R=IVE(2yL}H0p0qq^=4XL7$9*hhe zGAIoXt#TT=3`Y4`?B;#e(!sThH0&cb5C~#Q20gLCrSq-T2P*J*BnkRbjA&?|2OKSR zPpXJ9Niqc{sTl6P)gOitq-&}~d6LuFpk6#?7l4jwOiCCTNa?;#GN@T@MlUK52-rVtE>jJ6ie2 z_816{P*+Vk5my(m-aaExB(`dtnJ!6K6W0Z(idpwbz}ErPi+Hjj>HhI-tnxXWBCgr3 z%Qi4=t!GY0B8&E%fB853XVcAI22*~9AKy*#BedXX7`UM})Xw z%`h6urIKsAxSw9Yy(rQL1F^z|C3P5R;Cch=LS~zpyGh%00GpS&bg4@{I=KqS zfWX4J!@5&*CWIv&lslrCouC@v+#1g@dlgKz`K^@^(Y4r{$CCB&8R(v#8Bumr%n~GV zbSI#qP5IKJwohtRsl`D<+_{n>H+N>Tsu;znE^JB30ES8!FMed@7vA3cr+wE~^Y8tU zAIy(_4N>UkbGiQ0KmS7gtH1YS+r5uH!F2|2&O0NsR9un8>7FLQ?#!l#{Iojr*wvK) z*i${tMsCGMb}u&XRUu;w5_s?=KlQOE{rE9+smfFP?K$%*@Yx@I(7*RjeK3FHzx>Af z+28UQIG>p(RxhwuLsJwQrKvx3{h^CEMT0=E%-YnJ5dgRX!7b1662YM zi{JBo&+yOx&_g`?%-+vjKZ`ym0;v6_cy(I+=zI^a-4_12Z+<6#>Ni!aHyfud@aE&d zhZp;Q{`243f9oH5ZmXSOM(zbpCyiK5c?W0=~nia(WSChF4y}_&!pkl0B zqIpdpy+r`m&otiS6>&P_*;k5-JHGd?KgYlQcdq(df5vVk_D_EE`|;>~a9;szh^?zT8C^;_!<8{YmHt4u9vMVOS1&VVyH-R5 z5qs(OF?v1y;#K~vZ+!#Le|YcPcdzTO{EhqZ_kQfTc~v#$9rF`1)xvyWUqdD zyW+ENz8Jsx+h6OS^wD!a`iXm}j(+pUuj*^R;oW%g6P0g$;X%Lr&F}K|tko+PiwfNX zBNbdNFrb5?Tx^RhGPtWMgl=?aF*;f3La`%3uvyz)yggNQvl-{a+E%gAr-*#geRDwB zUFYhjd&JfKRUi1e$M|pl@(cNw|HAY2Kl+)E`t^67#WUNE&wT!>zv+{Y>rej9SK}9c z=L>lJ1bsRM)?S4Be+W_C3PEaQM^%bLP^uF`(?yneR`L2ql!`LiN?eGdtbfsg#Y6I;VbK-ubkuOecStd@PY3Ae)Su# zUe{0kXTB!-y!9u(;t?O+Y#kdIvf+yK$pjh|Y_K{J=%U6I@U*#OSv_@Gr-P*N)pD`UzC07J4OF)SG)?joINVuiH!oun}!*}?$1 zkOmtzvyi7fxsX8ZM@KMWR*w^N^{MQb#sjgnRV-PcNCR|Ybe9?B#BD$*6%mxM%lSG9 zB0wfst{6GU>=s8^z=WiTDv5ODU2ODHJfnC^u|kxS=X5~_PL86nQ?nh0K&YfG4Z7ZC z=1C&SsXYXAJH9d)41);*?nWL)aZg^-BBV(nRE{E0$_!GtMY+`yHTj6xIU$)2kiba* z9K80UI+{z*&<1%$TF@QsN)uKf7M&TmYgq#};-XWYV$`Xn-!dsCxk!#BkyuI~4saWm zF`$`AZGQ?gcf;|W?hrjtdGj6gger*j2sFd|jK;JbM7zl3;^iU{>26Bf37D0pGv|S% z<#;nU-JNM+SN4Prq3UiKlvM52Y<$nWn8c4MFxeeEY#L^G9Avffk|TL@&H~(>OCimFf!OLg_EZHdXn?1LA^onE7lKmb_)dDwH)!^n zBvEMnIps|iDS7d1u=4;Ev>%#L69~{OP|f#n_nUKU`VZA6dpSwncjX$aKy5nnW9zpF zpnNV2RE(TKOuj+Ge^V57&Vm8vcY)0CGj+j)r^Gf)Ot{-q=#ijd`n#-UCfG^&UKs>6 z-%kD~1?qK`F^F!>A1MzkJ)uKd?yE20pLRO^-JVqgI6oAKGEy>%Rb}Jdi|koxZJRtf zlx$~sk0#j;zyGqzNJV2`N`M6X5LG)y|M-yC0@dvt)&CunDv{0y;~?Lm8*A*|8g{upL$hL3SY${(s%@tm^Zc?&xxv7b&Q5lKu^V_-bdtrx zmo4&809cL4h=iqe9ttXUal%2nZ6u<;1AS7lu?D6yxST|s9lsjbukfARUBMYMmW^DEvy19t+X{GO89Q>^ z6GKvMDS^f@$QD@kw^=GyYo?CwnF<3s+iP7&3L07}zfi`1vKkedKex*epL&qV9aig{r?w4`ux-E0DT+g(<5*M)@5BVP9Udf{0Pv*)^jnTWjIEsY6=W= zB5labMH93BrUIFW68&Rutd$xh+is)lU3vxXP$L2@9Uwr8^cii?sWr`4zss0W%iR&t z(>l>r=!)jfZk-2}=8rbZcHvZ%Q+-D4-p^dMIx|qKG{nAPC_b_ZxVrBBgI~S!^-o{* z$Nu@Rsh|HdpW>wiKmEprzxmf5WIo6K$VYE+bDJ=TAB|pF%nH@~T}@?qf&0KHdU8la ztZtsDimY}j*sMKJ)r(}HZustdQI8)bR}(-*W|L?32VPqE;_D~;>A&~@zvP!Dw)-c( z{rZmQUKHG5zX=9e-BSw+R<=KKqn?zNdqIYpaadaSGy=@kd{H)NlToPuI)OcD(U^k(GG*+SU4(|LHHCe(N9o zM8EOYJ%0EDx7b&AXC9gFTD26H�sxlUE%Ty+W9!I!jPWCfc^gG}!LQJ&+YQ>$Glr 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

From 5c2431ec42e516ce81ecf85f05b76a073bc06410 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 19 Aug 2025 09:59:08 +0500 Subject: [PATCH 106/447] Update navbar-authenticated.html --- .../header/navbar-authenticated.html | 69 ++++++++++++++----- 1 file changed, 52 insertions(+), 17 deletions(-) diff --git a/lms/templates/header/navbar-authenticated.html b/lms/templates/header/navbar-authenticated.html index c9ea97a423b5..1e64b81b6d8d 100644 --- a/lms/templates/header/navbar-authenticated.html +++ b/lms/templates/header/navbar-authenticated.html @@ -26,39 +26,74 @@ help_link = doc_link %> + +
-

${_("The Office of Academic and Digital Innovations is accepting applications for participation in the competition of pedagogical scenarios for the creation and publication of online courses (MOOC/SPOC).")}

+

${_("The Office of Academic and Digital Innovations is accepting applications for participation in the competition of pedagogical scenarios for the creation and publication of online courses (MOOC/SPOC)")}.

${_("MOOC Competition Regulations")}

-

${_("Both creative teams of university departments and individual teaching or research staff of the university can participate in the competition.")}

-

${_("Based on the results of the competition, the commission will approve and release 5 MOOCs and 5 SPOCs.")}

+

${_("Both creative teams of university departments and individual teaching or research staff of the university can participate in the competition")}.

+

${_("Based on the results of the competition, the commission will approve and release")} 5 $_("MOOC")} ${_("and")} 5 ${_("SPOC")}.

@@ -467,33 +468,33 @@

${_("Competition Stages")}

- ${_("Stage 1")} + ${_("Stage")} 1

${_("Registration and Submission of Applications")}

-

${_("Until February 10, 2025")}

+

${_("Until")} ${_("February")} 10, 2025

- ${_("Stage 2")} + ${_("Stage")} 2

${_("Public Defense of Pedagogical Scenarios")}

-

${_("Until February 17, 2025")}

+

${_("Until")} ${_("February")} 17, 2025

- ${_("Stage 3")} + ${_("Stage")} 3

${_("Evaluation of Applications and Selection of Winners")}

-

${_("Until February 24, 2025")}

+

${_("Until")} ${_("February")} 24, 2025

- ${_("Stage 4")} + ${_("Stage")} 4

${_("Approval of Competition Results")}

-

${_("Until March 3, 2025")}

+

${_("Until")} ${_("March")} 3, 2025

@@ -506,7 +507,6 @@

${_("Application Requirements")}

-
@@ -514,8 +514,8 @@

${_("Application Requirements")}

${_("Cover Letter")}

@@ -525,8 +525,8 @@

${_("Cover Letter")}

${_("Pedagogical Scenario of an Online Course")}

@@ -536,12 +536,11 @@

${_("Pedagogical Scenario of an Online Course")}

${_("Lecture Video Recording")}

-
@@ -549,8 +548,8 @@

${_("Lecture Video Recording")}

${_("Online Course Certificate")}

@@ -560,8 +559,8 @@

${_("Online Course Certificate")}

${_("Author Information")}

@@ -577,19 +576,19 @@

${_("Competition Announcement")}

${_("The Office of Academic and Digital Innovations")} ${_("is pleased to announce the launch of the competition for the selection of pedagogical scenarios for online courses.")}
  • - ${_("Stage 1:")} ${_("Application submission:")} ${_("February 10–17, 2025")} + ${_("Stage")} 1: ${_("Application submission")} — ${_("February")} 10–17, 2025
  • - ${_("Stage 2:")} ${_("Selection of applications for participation:")} ${_("February 18–24, 2025")} + ${_("Stage")} 2: ${_("Selection of applications for participation")} — ${_("February")} 18–24, 2025
  • - ${_("Stage 3:")} ${_("Public defense of projects:")} ${_("February 25–28, 2025")} + ${_("Stage")} 3: ${_("Public defense of projects")} — ${_("February")} 25–28, 2025
  • - ${_("Stage 4:")} ${_("Announcement of winners:")} ${_("March 3–10, 2025")} + ${_("Stage")} 4: ${_("Announcement of winners")} — ${_("March")} 3–10, 2025
  • - ${_("Applications are accepted online via the form on the Open Kaznu website. Details and application templates can be found on the competition page.")} + ${_("Applications are accepted online via the form on the Open Kaznu website. Details and application templates can be found on the competition page")}.
  • @@ -597,7 +596,7 @@

    ${_("Competition Announcement")}

    @@ -605,11 +604,10 @@

    ${_("Competition Announcement")}

    ${_("Contacts")}

    -

    ${_("For all inquiries, please contact the Office of Academic and Digital Innovations: Building - Rectorate, Office 207, phone +7 727 377 33 33 (ext. 11-33, 32-16, 16-47, 33-81, 14-70)")}

    +

    ${_("For all inquiries, please contact the Office of Academic and Digital Innovations: Building - Rectorate, Office 207, phone")} +7 727 377 33 33 ${_("(ext.")} 11-33, 32-16, 16-47, 33-81, 14-70)

    - - + + + + From 7f610527ddcce78e488e4cfd9ce0dad93c056118 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Tue, 19 Aug 2025 15:27:26 +0500 Subject: [PATCH 128/447] Update author.html --- lms/templates/static_templates/author.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/templates/static_templates/author.html b/lms/templates/static_templates/author.html index bd653aa63e17..23b25a67ee02 100644 --- a/lms/templates/static_templates/author.html +++ b/lms/templates/static_templates/author.html @@ -323,7 +323,7 @@
    -

    ${_("Creating an Online Course for Authors")}

    +

    ${_("Creating an Online Course for Authors")}

    ${_("Al-Farabi Kazakh National University")}

    @@ -560,7 +560,7 @@

    ${_("Testing and Expertise")}

    -

    ${_("Contacts")}

    +

    ${_("Contacts")}

    ${_("For all inquiries, please contact the Center for Massive Open Online Courses: Building – Rectorate, Office 203, Phone 11-33.")}

    From af51d46f4ed9ae0b354ed15f8eeac5e2dd0cacd0 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Wed, 20 Aug 2025 14:34:01 +0500 Subject: [PATCH 129/447] Update views.py --- lms/djangoapps/courseware/views/views.py | 27 ++++++------------------ 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 3e7a3fae8ae4..ec9a3a27275e 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -285,37 +285,22 @@ def user_groups(user): return group_names + @ensure_csrf_cookie @cache_if_anonymous() def courses(request): """ - Render "find courses" page. The course selection work is done in courseware.courses. + Render "find courses" page. Only show courses with catalog_visibility = both. """ - courses_list = [] - course_discovery_meanings = getattr(settings, 'COURSE_DISCOVERY_MEANINGS', {}) - set_default_filter = ENABLE_COURSE_DISCOVERY_DEFAULT_LANGUAGE_FILTER.is_enabled() - if not settings.FEATURES.get('ENABLE_COURSE_DISCOVERY'): - courses_list = get_courses( - request.user, - filter_={"catalog_visibility": CATALOG_VISIBILITY_CATALOG_AND_ABOUT}, - ) - - if configuration_helpers.get_value("ENABLE_COURSE_SORTING_BY_START_DATE", - settings.FEATURES["ENABLE_COURSE_SORTING_BY_START_DATE"]): - courses_list = sort_by_start_date(courses_list) - else: - courses_list = sort_by_announcement(courses_list) - - # Add marketable programs to the context. - programs_list = get_programs_with_type(request.site, include_hidden=False) + courses_list = get_courses( + request.user, + filter_={"catalog_visibility": CATALOG_VISIBILITY_CATALOG_AND_ABOUT}, + ) return render_to_response( "courseware/courses.html", { 'courses': courses_list, - 'course_discovery_meanings': course_discovery_meanings, - 'set_default_filter': set_default_filter, - 'programs_list': programs_list, } ) From 8bea53c16cb30fc89a57adf7f02c8b787221cd57 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 21 Aug 2025 11:25:11 +0500 Subject: [PATCH 130/447] Update courses.html --- lms/templates/courseware/courses.html | 923 ++++++++++++++++++++++++-- 1 file changed, 851 insertions(+), 72 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 11ad5079ea65..e26f9d20246b 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -2,80 +2,859 @@ <%! import json from django.utils.translation import gettext as _ - from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json + from datetime import datetime %> <%inherit file="../main.html" /> -<% - course_discovery_enabled = settings.FEATURES.get('ENABLE_COURSE_DISCOVERY') -%> -<%namespace name='static' file='../static_content.html'/> - -% if course_discovery_enabled: -<%block name="header_extras"> - % for template_name in ["course_card", "filter_bar", "filter", "facet", "facet_option"]: - - % endfor - <%static:require_module module_name="js/discovery/discovery_factory" class_name="DiscoveryFactory"> - DiscoveryFactory( - ${course_discovery_meanings | n, dump_js_escaped_json}, - getParameterByName('search_query'), - "${user_language | n, js_escaped_string}", - "${user_timezone | n, js_escaped_string}", - ${set_default_filter | n, dump_js_escaped_json} - ); - +<%block name="headextra"> + -% endif - -<%block name="pagetitle">${_("Courses")} - -
    -
    -
    - % if course_discovery_enabled: - + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + + + + + +
    + + + + + + + + + + + + + + ${_("Filters")} + + +
    +
    + ${("Showing")} ${len(courses)} ${("of")} ${len(courses)} ${_("courses")} +
    + + + + + + + + + + + + + ${_("Filters")} + +
    + + % if courses: +
    + % for course in courses: + <% + now = datetime.now().date() + status = "unknown" + status_text = _("Unknown") + + if course.start and course.end: + start_date = course.start.date() if hasattr(course.start, 'date') else course.start + end_date = course.end.date() if hasattr(course.end, 'date') else course.end + + if now < start_date: + status = "upcoming" + status_text = _("Upcoming") + elif start_date <= now <= end_date: + status = "ongoing" + status_text = _("Ongoing") + elif now > end_date: + status = "completed" + status_text = _("Completed") + elif course.start: + start_date = course.start.date() if hasattr(course.start, 'date') else course.start + + if now < start_date: + status = "upcoming" + status_text = _("Upcoming") + else: + status = "ongoing" + status_text = _("Ongoing") + %> + +
    +
    + ${course.display_name_with_default} +
    ${status_text}
    +
    +
    +
    +
    ${course.display_org_with_default}
    + % if hasattr(course, 'language') and course.language: + ${course.language} + % endif +
    +

    ${course.display_name_with_default}

    + +
    + % if course.start: +
    + + + + + + + ${_("Start")}: ${course.start.strftime('%Y-%m-%d')} +
    + % endif
    - - -
    - - - % endif - -
    -
      - %for course in courses: -
    • - <%include file="../course.html" args="course=course" /> -
    • - %endfor -
    -
    - - - % if course_discovery_enabled: - - % endif - -
    -
    -
    + + + % endfor + + % else: +
    +
    📚
    +

    ${_("No courses available at the moment.")}

    +
    + % endif + + + + From 4dacda84fe842e0358dd1bcd737c84dbc31f26c4 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 21 Aug 2025 11:39:41 +0500 Subject: [PATCH 131/447] Update registration_form.py --- openedx/core/djangoapps/user_authn/views/registration_form.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openedx/core/djangoapps/user_authn/views/registration_form.py b/openedx/core/djangoapps/user_authn/views/registration_form.py index bf3900cb5c29..1098465f23aa 100644 --- a/openedx/core/djangoapps/user_authn/views/registration_form.py +++ b/openedx/core/djangoapps/user_authn/views/registration_form.py @@ -557,7 +557,7 @@ def _add_name_field(self, form_desc, required=True): # Translators: These instructions appear on the registration form, immediately # below a field meant to hold the user's full name. - name_instructions = _("This name will be used on any certificates that you earn.") + name_instructions = _("Full name (Surname and Name)") form_desc.add_field( "name", From 79e9bdef9e189a45fecb93eb329d2fd7afbd1cff Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 21 Aug 2025 11:42:30 +0500 Subject: [PATCH 132/447] Update __init__.py --- openedx/core/djangoapps/user_api/accounts/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openedx/core/djangoapps/user_api/accounts/__init__.py b/openedx/core/djangoapps/user_api/accounts/__init__.py index 2efc604ff39f..56a8614be638 100644 --- a/openedx/core/djangoapps/user_api/accounts/__init__.py +++ b/openedx/core/djangoapps/user_api/accounts/__init__.py @@ -93,7 +93,7 @@ # Translators: These messages are shown to users who do not enter information # into the required field or enter it incorrectly. -REQUIRED_FIELD_NAME_MSG = _("Enter your full name") +REQUIRED_FIELD_NAME_MSG = _("Enter your surname and name") REQUIRED_FIELD_FIRST_NAME_MSG = _("Enter your first name") REQUIRED_FIELD_LAST_NAME_MSG = _("Enter your last name") REQUIRED_FIELD_CONFIRM_EMAIL_MSG = _("The email addresses do not match") From fc7ea428ef51839a77b06c6d60f3c9a58b644fef Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 21 Aug 2025 12:54:06 +0500 Subject: [PATCH 133/447] Update registration_form.py --- openedx/core/djangoapps/user_authn/views/registration_form.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openedx/core/djangoapps/user_authn/views/registration_form.py b/openedx/core/djangoapps/user_authn/views/registration_form.py index 1098465f23aa..f92ddb5a6f8f 100644 --- a/openedx/core/djangoapps/user_authn/views/registration_form.py +++ b/openedx/core/djangoapps/user_authn/views/registration_form.py @@ -557,7 +557,7 @@ def _add_name_field(self, form_desc, required=True): # Translators: These instructions appear on the registration form, immediately # below a field meant to hold the user's full name. - name_instructions = _("Full name (Surname and Name)") + name_instructions = _("Surname and Name") form_desc.add_field( "name", From f67062ef295e3988d26400a383f4438a9b85e077 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 21 Aug 2025 15:58:48 +0500 Subject: [PATCH 134/447] Update course_about_sidebar_header.html --- .../courseware/course_about_sidebar_header.html | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lms/templates/courseware/course_about_sidebar_header.html b/lms/templates/courseware/course_about_sidebar_header.html index 7f59ed1f2ffb..d50075dfa89c 100644 --- a/lms/templates/courseware/course_about_sidebar_header.html +++ b/lms/templates/courseware/course_about_sidebar_header.html @@ -48,14 +48,24 @@ body=six.moves.urllib.parse.quote(email_body.encode('UTF-8')) ) %> + % endif From 54475526eb6d535c9ba9479ba8146b63b8bee65d Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 21 Aug 2025 16:07:54 +0500 Subject: [PATCH 135/447] Update views.py --- lms/djangoapps/courseware/views/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index ec9a3a27275e..116a56044ce9 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -851,7 +851,9 @@ def course_about(request, course_id): # pylint: disable=too-many-statements # Overview overview = CourseOverview.get_from_id(course.id) - + same_name_courses = CourseOverview.objects.filter( + display_name=overview.display_name + ).exclude(id=course.id) sidebar_html_enabled = ENABLE_COURSE_ABOUT_SIDEBAR_HTML.is_enabled() allow_anonymous = check_public_access(course, [COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE]) @@ -882,6 +884,7 @@ def course_about(request, course_id): # pylint: disable=too-many-statements 'course_image_urls': overview.image_urls, 'sidebar_html_enabled': sidebar_html_enabled, 'allow_anonymous': allow_anonymous, + 'same_name_courses': same_name_courses, } course_about_template = 'courseware/course_about.html' From 70f43484599414c4edd6c486c456a705cb80a3b9 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 21 Aug 2025 17:22:16 +0500 Subject: [PATCH 136/447] Update views.py --- lms/djangoapps/courseware/views/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 116a56044ce9..2b931f3bd801 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -853,7 +853,7 @@ def course_about(request, course_id): # pylint: disable=too-many-statements overview = CourseOverview.get_from_id(course.id) same_name_courses = CourseOverview.objects.filter( display_name=overview.display_name - ).exclude(id=course.id) + ).exclude(id=course.id).order_by('start') sidebar_html_enabled = ENABLE_COURSE_ABOUT_SIDEBAR_HTML.is_enabled() allow_anonymous = check_public_access(course, [COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE]) From 5702568e17c90e4f834bcc00d314878c0fb38578 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 21 Aug 2025 17:49:01 +0500 Subject: [PATCH 137/447] Update views.py --- lms/djangoapps/courseware/views/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 2b931f3bd801..6fe5b22f268d 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -853,7 +853,7 @@ def course_about(request, course_id): # pylint: disable=too-many-statements overview = CourseOverview.get_from_id(course.id) same_name_courses = CourseOverview.objects.filter( display_name=overview.display_name - ).exclude(id=course.id).order_by('start') + ).order_by('start') sidebar_html_enabled = ENABLE_COURSE_ABOUT_SIDEBAR_HTML.is_enabled() allow_anonymous = check_public_access(course, [COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE]) From 560ede70a4aff91acb1f7ddbcc0b9590679cb406 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 21 Aug 2025 17:59:39 +0500 Subject: [PATCH 138/447] Update course_about.html --- lms/templates/courseware/course_about.html | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html index eec9caeadbec..502665bd842b 100644 --- a/lms/templates/courseware/course_about.html +++ b/lms/templates/courseware/course_about.html @@ -65,7 +65,26 @@

    ${course.display_org_with_default}

    ${course.display_name_with_default}


    -

    ${get_course_about_section(request, course, 'short_description')}

    + % if same_name_courses: +
    + + +
    +% endif + +
    From f45a80bb1c7837a84c2e0c4306ce86248d947e80 Mon Sep 17 00:00:00 2001 From: boomboom0202 Date: Fri, 22 Aug 2025 12:35:35 +0500 Subject: [PATCH 139/447] =?UTF-8?q?=D0=A2=D0=B2=D0=BE=D0=B9=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D0=B9=20=D0=BA?= =?UTF-8?q?=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lms/djangoapps/retake_catalog/forms.py | 8 ++ .../retake_catalog/migrations/0001_initial.py | 41 ++++++++++ .../migrations/0002_delete_catalog.py | 18 +++++ .../migrations/0003_retakecatalog.py | 42 +++++++++++ .../migrations/0004_auto_20241127_2350.py | 20 +++++ .../0005_remove_retakecatalog_created.py | 19 +++++ .../migrations/0006_auto_20241128_0057.py | 20 +++++ .../migrations/0007_auto_20241128_0111.py | 20 +++++ .../retake_catalog/migrations/__init__.py | 0 lms/djangoapps/retake_catalog/models.py | 54 ++++++++++++++ lms/djangoapps/retake_catalog/views.py | 74 +++++++++++++++++++ 11 files changed, 316 insertions(+) create mode 100644 lms/djangoapps/retake_catalog/forms.py create mode 100644 lms/djangoapps/retake_catalog/migrations/0001_initial.py create mode 100644 lms/djangoapps/retake_catalog/migrations/0002_delete_catalog.py create mode 100644 lms/djangoapps/retake_catalog/migrations/0003_retakecatalog.py create mode 100644 lms/djangoapps/retake_catalog/migrations/0004_auto_20241127_2350.py create mode 100644 lms/djangoapps/retake_catalog/migrations/0005_remove_retakecatalog_created.py create mode 100644 lms/djangoapps/retake_catalog/migrations/0006_auto_20241128_0057.py create mode 100644 lms/djangoapps/retake_catalog/migrations/0007_auto_20241128_0111.py create mode 100644 lms/djangoapps/retake_catalog/migrations/__init__.py create mode 100644 lms/djangoapps/retake_catalog/models.py create mode 100644 lms/djangoapps/retake_catalog/views.py diff --git a/lms/djangoapps/retake_catalog/forms.py b/lms/djangoapps/retake_catalog/forms.py new file mode 100644 index 000000000000..9515ba30857a --- /dev/null +++ b/lms/djangoapps/retake_catalog/forms.py @@ -0,0 +1,8 @@ +from django import forms +from .models import retakecatalog + +class RetakeCatalogForm(forms.ModelForm): + class Meta: + model = retakecatalog + fields = '__all__' + diff --git a/lms/djangoapps/retake_catalog/migrations/0001_initial.py b/lms/djangoapps/retake_catalog/migrations/0001_initial.py new file mode 100644 index 000000000000..05c0f69e322a --- /dev/null +++ b/lms/djangoapps/retake_catalog/migrations/0001_initial.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2024-11-27 10:59 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Catalog', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('course_name', models.CharField(default='Not Specified', max_length=255, verbose_name='Course Name')), + ('university', models.CharField(blank=True, max_length=255, null=True, verbose_name='University')), + ('content_type', models.CharField(blank=True, max_length=255, null=True, verbose_name='Content Type')), + ('course_type', models.CharField(choices=[('MOOC', 'MOOC'), ('SPOC', 'SPOC'), ('none', 'None')], default='MOOC', max_length=50, verbose_name='Course Type (MOOC/SPOC)')), + ('difficulty_level', models.CharField(choices=[('basic', 'Basic'), ('intermediate', 'Intermediate'), ('advanced', 'Advanced'), ('none', 'None')], default='basic', max_length=50, verbose_name='Difficulty Level')), + ('platform', models.CharField(default='Not Specified', max_length=255, verbose_name='Platform')), + ('course_link', models.URLField(verbose_name='Course Link')), + ('organization', models.CharField(default='Not Specified', max_length=255, verbose_name='Organization / University Offering the Course')), + ('workload_hours', models.FloatField(default=0.0, verbose_name='Course Workload in Hours')), + ('workload_credits', models.FloatField(default=0.0, verbose_name='Course Workload in Credits')), + ('education_field', models.CharField(default='Not Specified', max_length=255, verbose_name='Field of Education')), + ('training_direction', models.CharField(default='Not Specified', max_length=255, verbose_name='Training Direction')), + ('op_code_name', models.TextField(default='Not Specified', verbose_name='Code and Name of the Program')), + ('course_description', models.TextField(default='Description not provided', verbose_name='Course Description')), + ('skills_covered', models.TextField(default='Skills not specified', verbose_name='Skills Covered')), + ('course_language', models.CharField(default='Russian', max_length=100, verbose_name='Course Language')), + ('related_disciplines', models.CharField(default='Not Specified', max_length=255, verbose_name='Discipline(s) for Credit Transfer')), + ('credit_workload', models.FloatField(default=0.0, verbose_name='Credit Workload')), + ('created', models.DateTimeField(auto_now_add=True)), + ], + ), + ] diff --git a/lms/djangoapps/retake_catalog/migrations/0002_delete_catalog.py b/lms/djangoapps/retake_catalog/migrations/0002_delete_catalog.py new file mode 100644 index 000000000000..d52c9f42aa98 --- /dev/null +++ b/lms/djangoapps/retake_catalog/migrations/0002_delete_catalog.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2024-11-27 11:07 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('retake_catalog', '0001_initial'), + ] + + operations = [ + migrations.DeleteModel( + name='Catalog', + ), + ] diff --git a/lms/djangoapps/retake_catalog/migrations/0003_retakecatalog.py b/lms/djangoapps/retake_catalog/migrations/0003_retakecatalog.py new file mode 100644 index 000000000000..573efd4f40ce --- /dev/null +++ b/lms/djangoapps/retake_catalog/migrations/0003_retakecatalog.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2024-11-27 11:18 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('retake_catalog', '0002_delete_catalog'), + ] + + operations = [ + migrations.CreateModel( + name='retakecatalog', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('course_name', models.CharField(default='Not Specified', max_length=255, verbose_name='Course Name')), + ('university', models.CharField(blank=True, max_length=255, null=True, verbose_name='University')), + ('content_type', models.CharField(blank=True, max_length=255, null=True, verbose_name='Content Type')), + ('course_type', models.CharField(choices=[('MOOC', 'MOOC'), ('SPOC', 'SPOC'), ('none', 'None')], default='MOOC', max_length=50, verbose_name='Course Type (MOOC/SPOC)')), + ('difficulty_level', models.CharField(choices=[('basic', 'Basic'), ('intermediate', 'Intermediate'), ('advanced', 'Advanced'), ('none', 'None')], default='basic', max_length=50, verbose_name='Difficulty Level')), + ('platform', models.CharField(default='Not Specified', max_length=255, verbose_name='Platform')), + ('course_link', models.URLField(verbose_name='Course Link')), + ('organization', models.CharField(default='Not Specified', max_length=255, verbose_name='Organization / University Offering the Course')), + ('workload_hours', models.FloatField(default=0.0, verbose_name='Course Workload in Hours')), + ('workload_credits', models.FloatField(default=0.0, verbose_name='Course Workload in Credits')), + ('education_field', models.CharField(default='Not Specified', max_length=255, verbose_name='Field of Education')), + ('training_direction', models.CharField(default='Not Specified', max_length=255, verbose_name='Training Direction')), + ('op_code_name', models.TextField(default='Not Specified', verbose_name='Code and Name of the Program')), + ('course_description', models.TextField(default='Description not provided', verbose_name='Course Description')), + ('skills_covered', models.TextField(default='Skills not specified', verbose_name='Skills Covered')), + ('course_language', models.CharField(default='Russian', max_length=100, verbose_name='Course Language')), + ('related_disciplines', models.CharField(default='Not Specified', max_length=255, verbose_name='Discipline(s) for Credit Transfer')), + ('credit_workload', models.FloatField(default=0.0, verbose_name='Credit Workload')), + ('created', models.DateTimeField(auto_now_add=True)), + ], + ), + ] diff --git a/lms/djangoapps/retake_catalog/migrations/0004_auto_20241127_2350.py b/lms/djangoapps/retake_catalog/migrations/0004_auto_20241127_2350.py new file mode 100644 index 000000000000..3be652680d89 --- /dev/null +++ b/lms/djangoapps/retake_catalog/migrations/0004_auto_20241127_2350.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2024-11-28 04:50 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('retake_catalog', '0003_retakecatalog'), + ] + + operations = [ + migrations.AlterField( + model_name='retakecatalog', + name='difficulty_level', + field=models.CharField(choices=[('\u0431\u0430\u0437\u043e\u0432\u044b\u0439', '\u0431\u0430\u0437\u043e\u0432\u044b\u0439'), ('\u0441\u0440\u0435\u0434\u043d\u0438\u0439', '\u0441\u0440\u0435\u0434\u043d\u0438\u0439'), ('\u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439', '\u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439'), ('none', 'None')], default='basic', max_length=50, verbose_name='Difficulty Level'), + ), + ] diff --git a/lms/djangoapps/retake_catalog/migrations/0005_remove_retakecatalog_created.py b/lms/djangoapps/retake_catalog/migrations/0005_remove_retakecatalog_created.py new file mode 100644 index 000000000000..72e34b8dd251 --- /dev/null +++ b/lms/djangoapps/retake_catalog/migrations/0005_remove_retakecatalog_created.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2024-11-28 05:49 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('retake_catalog', '0004_auto_20241127_2350'), + ] + + operations = [ + migrations.RemoveField( + model_name='retakecatalog', + name='created', + ), + ] diff --git a/lms/djangoapps/retake_catalog/migrations/0006_auto_20241128_0057.py b/lms/djangoapps/retake_catalog/migrations/0006_auto_20241128_0057.py new file mode 100644 index 000000000000..6a0e15055a4f --- /dev/null +++ b/lms/djangoapps/retake_catalog/migrations/0006_auto_20241128_0057.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2024-11-28 05:57 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('retake_catalog', '0005_remove_retakecatalog_created'), + ] + + operations = [ + migrations.AlterField( + model_name='retakecatalog', + name='course_type', + field=models.CharField(choices=[('MOOC', 'MOOC'), ('SPOC', 'SPOC'), ('Coursera', 'Coursera'), ('none', 'None')], default='MOOC', max_length=50, verbose_name='Course Type (MOOC/SPOC)'), + ), + ] diff --git a/lms/djangoapps/retake_catalog/migrations/0007_auto_20241128_0111.py b/lms/djangoapps/retake_catalog/migrations/0007_auto_20241128_0111.py new file mode 100644 index 000000000000..ba180c6234b1 --- /dev/null +++ b/lms/djangoapps/retake_catalog/migrations/0007_auto_20241128_0111.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2024-11-28 06:11 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('retake_catalog', '0006_auto_20241128_0057'), + ] + + operations = [ + migrations.AlterField( + model_name='retakecatalog', + name='course_type', + field=models.CharField(choices=[('MOOC', 'MOOC'), ('SPOC', 'SPOC'), ('none', 'None')], default='MOOC', max_length=50, verbose_name='Course Type (MOOC/SPOC)'), + ), + ] diff --git a/lms/djangoapps/retake_catalog/migrations/__init__.py b/lms/djangoapps/retake_catalog/migrations/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/lms/djangoapps/retake_catalog/models.py b/lms/djangoapps/retake_catalog/models.py new file mode 100644 index 000000000000..50eefb6b4ca2 --- /dev/null +++ b/lms/djangoapps/retake_catalog/models.py @@ -0,0 +1,54 @@ +# coding=UTF-8 +from django.db import models + +COURSE_TYPE_CHOICES = [ + (u'MOOC', u'MOOC'), + (u'SPOC', u'SPOC'), + (u'none', u'None') +] + +DIFFICULTY_LEVEL_CHOICES = [ + (u'базовый', u'базовый'), + (u'средний', u'средний'), + (u'продвинутый', u'продвинутый'), + (u'none', u'None') +] +class retakecatalog(models.Model): + course_name = models.CharField(max_length=255, verbose_name=u"Course Name", default=u"Not Specified") + university = models.CharField(max_length=255, null=True, blank=True, verbose_name=u"University") + content_type = models.CharField(max_length=255, null=True, blank=True, verbose_name=u"Content Type") + course_type = models.CharField( + max_length=50, + choices=COURSE_TYPE_CHOICES, + verbose_name=u"Course Type (MOOC/SPOC)", default=u"MOOC" + ) + difficulty_level = models.CharField( + max_length=50, + choices=DIFFICULTY_LEVEL_CHOICES, + verbose_name=u"Difficulty Level", default=u"basic" + ) + platform = models.CharField(max_length=255, verbose_name=u"Platform", default=u"Not Specified") + course_link = models.URLField(verbose_name=u"Course Link") + organization = models.CharField(max_length=255, verbose_name=u"Organization / University Offering the Course", default=u"Not Specified") + + # Workload + workload_hours = models.FloatField(verbose_name=u"Course Workload in Hours", default=0.0) + workload_credits = models.FloatField(verbose_name=u"Course Workload in Credits", default=0.0) + + # Education and Field + education_field = models.CharField(max_length=255, verbose_name=u"Field of Education", default=u"Not Specified") + training_direction = models.CharField(max_length=255, verbose_name=u"Training Direction", default=u"Not Specified") + op_code_name = models.TextField(verbose_name=u"Code and Name of the Program", default=u"Not Specified") + + # Additional Course Information + course_description = models.TextField(verbose_name=u"Course Description", default=u"Description not provided") + skills_covered = models.TextField(verbose_name=u"Skills Covered", default=u"Skills not specified") + course_language = models.CharField(max_length=100, verbose_name=u"Course Language", default=u"Russian") + related_disciplines = models.CharField(max_length=255, verbose_name=u"Discipline(s) for Credit Transfer", default=u"Not Specified") + credit_workload = models.FloatField(verbose_name=u"Credit Workload", default=0.0) + + def __str__(self): + return self.course_name + + class Meta: + app_label = 'retake_catalog' diff --git a/lms/djangoapps/retake_catalog/views.py b/lms/djangoapps/retake_catalog/views.py new file mode 100644 index 000000000000..057dda0988d1 --- /dev/null +++ b/lms/djangoapps/retake_catalog/views.py @@ -0,0 +1,74 @@ +from edxmako.shortcuts import marketing_link, render_to_response, render_to_string +from .models import retakecatalog +from .forms import RetakeCatalogForm +from django.db.models import Q +from django.middleware.csrf import get_token + +def retake_catalog(request): + courses = retakecatalog.objects.all() + + course_name = request.GET.get('course_name') + course_language = request.GET.get('course_language') + difficulty_level = request.GET.get('difficulty_level') + course_type = request.GET.get('course_type') + platform = request.GET.get('platform') + education_field = request.GET.get('education_field') + training_direction = request.GET.get('training_direction') + credit_workload = request.GET.get('credit_workload') + workload_hours = request.GET.get('workload_hours') + workload_credits = request.GET.get('workload_credits') + related_disciplines = request.GET.get('related_disciplines') + if course_name: + courses = courses.filter(course_name__icontains=course_name) + + if course_language: + courses = courses.filter(course_language=course_language) + if difficulty_level: + courses = courses.filter(difficulty_level=difficulty_level) + if course_type: + courses = courses.filter(course_type=course_type) + if platform: + courses = courses.filter(platform=platform) + if education_field: + courses = courses.filter(education_field__icontains=education_field) + if training_direction: + courses = courses.filter(training_direction__icontains=training_direction) + if credit_workload: + if credit_workload.startswith(">="): + courses = courses.filter(credit_workload__gte=float(credit_workload[2:])) + else: + courses = courses.filter(credit_workload__lt=float(credit_workload[1:])) + if workload_hours: + if workload_hours.startswith(">="): + courses = courses.filter(workload_hours__gte=float(workload_hours[2:])) + else: + courses = courses.filter(workload_hours__lt=float(workload_hours[1:])) + if workload_credits: + if workload_credits.startswith(">="): + courses = courses.filter(workload_credits__gte=float(workload_credits[2:])) + else: + courses = courses.filter(workload_credits__lt=float(workload_credits[1:])) + if related_disciplines: + courses = courses.filter(related_disciplines__icontains=related_disciplines) + + return render_to_response("retake_catalog/retake_catalog.html", {'courses': courses}) + + + + +def retake_catalog_form_view(request): + if request.method == 'POST': + form = RetakeCatalogForm(request.POST) + if form.is_valid(): + form.save() + return render_to_response('retake_catalog/success.html', {}) + else: + form = RetakeCatalogForm() + csrf_input = ''.format(get_token(request)) + context = { + 'form': form, + 'csrf_input': csrf_input, + } + return render_to_response('retake_catalog/retake_catalog_form.html', context) + + From 60305db2b7c063aa3df076c49cf77e32489469e5 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Fri, 22 Aug 2025 12:37:24 +0500 Subject: [PATCH 140/447] Update common.py --- lms/envs/common.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/envs/common.py b/lms/envs/common.py index c520f9ab3d41..452fb59f777d 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -3034,6 +3034,7 @@ def _make_locale_paths(settings): # pylint: disable=missing-function-docstring # (See https://github.com/openedx/edx-django-utils/tree/master/edx_django_utils/plugins) INSTALLED_APPS = [ 'lms.djangoapps.univerapi', + 'lms.djangoapps.retake_catalog', # Standard ones that are always installed... 'django.contrib.auth', 'django.contrib.contenttypes', From f2c75fe1b324c2552eebf5754b469e158e2a7ba8 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Fri, 22 Aug 2025 12:41:59 +0500 Subject: [PATCH 141/447] Update common.py --- cms/envs/common.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cms/envs/common.py b/cms/envs/common.py index a2475a7de9c2..bf97b16503d5 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -1608,6 +1608,7 @@ # remember to check that you are not creating new # RemovedInDjango19Warnings in the test logs. INSTALLED_APPS = [ + 'lms.djangoapps.retake_catalog', 'lms.djangoapps.univerapi', # Standard apps 'django.contrib.auth', From 8237caafcc9a2aa1fe90670055d1615d336210cf Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Thu, 18 Sep 2025 12:10:58 +0500 Subject: [PATCH 142/447] Update author.html --- lms/templates/static_templates/author.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/static_templates/author.html b/lms/templates/static_templates/author.html index 23b25a67ee02..11c6f22e108f 100644 --- a/lms/templates/static_templates/author.html +++ b/lms/templates/static_templates/author.html @@ -324,7 +324,7 @@

    ${_("Creating an Online Course for Authors")}

    -

    ${_("Al-Farabi Kazakh National University")}

    +

    ${_("Al-Farabi Kazakh National University")}

    From fa7e3392a8489df4205d3450ca2eb1a24c4da3d8 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Fri, 19 Sep 2025 09:05:32 +0500 Subject: [PATCH 143/447] Update detect.html --- lms/templates/static_templates/detect.html | 250 ++++++++++++++++++++- 1 file changed, 239 insertions(+), 11 deletions(-) diff --git a/lms/templates/static_templates/detect.html b/lms/templates/static_templates/detect.html index 22f7a80df7c4..b39dbd1978a6 100644 --- a/lms/templates/static_templates/detect.html +++ b/lms/templates/static_templates/detect.html @@ -2,15 +2,243 @@ <%! from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> -<%block name="pagetitle">${_("Donate")} - -
    -
    -

    - <%block name="pageheader">${page_header or _("Donate")} -

    -

    - <%block name="pagecontent">${page_content or _("This page left intentionally blank. Feel free to add your own content.")} -

    +<%block name="pagetitle">${_("Detect")} + + + + + + + + + + + +
    +
    +

    ${_("Chatbot Usage Verification System")}

    +

    ${_("Al-Farabi Kazakh National University")}

    +
    -
    + +
    + +
    +
    +

    ${_("Content Verification")}

    +
    + +
    +

    ${_("Content Analysis Tool")}

    +

    ${_("Use the built-in verification system to analyze text content and determine the likelihood of it being created with chatbots or artificial intelligence.")}

    + +
    + +
    +
    ${_("Open in full size")}
    +
    +
    + +

    ${_("This tool allows you to check texts for AI-generated content, which is especially important for ensuring academic integrity in the educational process.")}

    +
    +
    + + +
    +

    ${_("Contacts")}

    +

    ${_("For any questions, please contact the Center for Massive Open Online Courses: building - rectorate, office 203, phone 11-33.")}

    +
    +
    + + + + + From 60f27c2dbba34eb8c5fc46ca57e8991ddbfb3d31 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Fri, 19 Sep 2025 09:29:51 +0500 Subject: [PATCH 144/447] Update author.html --- lms/templates/static_templates/author.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/static_templates/author.html b/lms/templates/static_templates/author.html index 11c6f22e108f..7bc83f9c4520 100644 --- a/lms/templates/static_templates/author.html +++ b/lms/templates/static_templates/author.html @@ -2,7 +2,7 @@ <%! from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> -<%block name="pagetitle">${_("Donate")} +<%block name="pagetitle">${_("For authors")} From 6bb3faf7cf0fab671a2a11c75c8a57e99e3752c2 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Fri, 19 Sep 2025 09:30:12 +0500 Subject: [PATCH 145/447] Update competition.html --- lms/templates/static_templates/competition.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/static_templates/competition.html b/lms/templates/static_templates/competition.html index 9f062ab73e7c..67a685f918e8 100644 --- a/lms/templates/static_templates/competition.html +++ b/lms/templates/static_templates/competition.html @@ -2,7 +2,7 @@ <%! from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> - +<%block name="pagetitle">${_("Competition")} From 808c679ed44831bc0aebebc7553df03cdee5c546 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Fri, 19 Sep 2025 14:27:59 +0500 Subject: [PATCH 146/447] Update courses.html --- lms/templates/courseware/courses.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index e26f9d20246b..445f9ecc8d96 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -5,7 +5,7 @@ from datetime import datetime %> <%inherit file="../main.html" /> - +<%block name="pagetitle">${_("Competition")} <%block name="headextra"> + + + +
    +
    +

    О нас - Open Kaznu

    +

    Казахский национальный университет им. аль-Фараби

    +
    - + +
    + +
    +
    +

    О платформе

    +
    + +
    +

    Казахский национальный университет им. аль-Фараби является лидером среди казахстанских университетов по внедрению MOOC на открытой платформе OpenEdx.

    + +

    С 2014-2015 учебного года Центр дистанционного образования КазНУ им. аль-Фараби совместно с преподавательским составом начал работу по созданию MOOC, и в настоящее время на http://open.kaznu.kz существует собственная платформа MOOC на основе системы Open edX.

    +
    + +
    +

    История развития

    +

    1 октября 2015 года были запущены первые открытые курсы от ведущих преподавателей КазНУ им. аль-Фараби - "Теория вероятностей" и "Физические задачи" с доцентом В. Кашкаровым, на которые записались около 250 и 500 студентов из разных регионов Казахстана соответственно.

    +
    + +
    +

    Эти курсы в основном посещали студенты 1-2 курсов КазНУ им. аль-Фараби, старшие классы Назарбаев интеллектуальных школ, профильные физико-математические и средние школы. Анализ данных показал большой интерес к этим курсам, что дает стимул преподавательскому составу и сотрудникам университета продолжать работу в этом направлении. К концу июня 2016 года в системе было зарегистрировано более двух тысяч слушателей.

    + +

    При активном содействии КазНУ им. аль-Фараби была запущена Национальная платформа открытого образования Казахстана (далее - НПОК).

    +
    +
    + + +
    +
    +

    Этапы развития

    +
    + +
    +
    +
    + 2014-2015 +

    Начало работы

    +

    Центр дистанционного образования КазНУ начинает работу по созданию MOOC

    +
    +
    + +
    +
    + Октябрь 2015 +

    Первый запуск

    +

    Запущены первые открытые курсы от ведущих преподавателей университета

    +
    +
    + +
    +
    + Январь 2016 +

    Реорганизация

    +

    Центр дистанционного образования преобразован в Институт дистанционного образования

    +
    +
    + +
    +
    + Февраль 2016 +

    Новый этап

    +

    Институт дистанционного образования преобразован в Институт новых образовательных технологий

    +
    +
    + +
    +
    + Июнь 2016 +

    Достижение

    +

    В системе зарегистрировано более двух тысяч слушателей

    +
    +
    +
    +
    + + +
    +
    +

    Институциональное развитие

    +

    В рамках реализации комплекса мер по развитию электронного обучения и организации работы НПОК для подготовки кадров на основе технологий дистанционного обучения (ДОТ) и усиления работы Центра дистанционного образования (ЦДО), с целью повышения мобильности предоставления образовательных услуг университета по новым образовательным программам, руководство университета приняло решение (приказ ректора №45 от 29.01.2016) о преобразовании структурного подразделения Центра дистанционного образования в Институт дистанционного образования (ИДО), в который вошел Центр массовых открытых онлайн-курсов (ЦМООК) в статусе проектного офиса национальной платформы.

    + +

    Были разработаны и утверждены вице-ректором по учебной работе Ахмет-Заки Д.Ж. Положение о ЦМООК, а также должностные инструкции руководителя, ведущего специалиста и специалиста Центра ЦМООК (от 14 марта 2016 г.).

    + +

    В феврале 2016 года Институт дистанционного образования был преобразован в Институт новых образовательных технологий, который продолжает работу ЦМООК.

    +
    +
    + + +
    +
    +

    Наша команда

    +
    + +
    +

    Руководство офиса

    +
    +
    +
    + +
    +

    Мусинова Асель

    +

    Заместитель директора Департамента по академическим вопросам

    +
    + +
    +
    + +
    +

    Круговых Илья

    +

    Руководитель Офиса академических и цифровых инноваций

    +
    +
    +
    + +
    +

    Специалисты open.kaznu.kz

    +
    +
    +
    + +
    +

    Арыстанова Айнур

    +

    Главный специалист

    +
    + +
    +
    + +
    +

    Канафина Диана

    +

    Ведущий специалист

    +
    + +
    +
    + +
    +

    Суев Абылайхан

    +

    Инженер-программист

    +
    +
    +
    + +
    +

    Специалисты dl.kaznu.kz

    +
    +
    +
    + +
    +

    Смагулова Шынар

    +

    Главный специалист

    +
    + +
    +
    + +
    +

    Малик Нурлы

    +

    Главный специалист

    +
    + +
    +
    + +
    +

    Жабаев Талгат

    +

    Инженер-программист

    +
    +
    +
    + +
    +

    Видеоинженер офиса

    +
    +
    +
    + +
    +

    Асылхан Аниятолла

    +

    Главный специалист

    +
    +
    +
    +
    +
    + + + + From 97ea6d6e9e671a08bacbc1fb3b3f4576c05c6697 Mon Sep 17 00:00:00 2001 From: boomboom0202 <117350278+boomboom0202@users.noreply.github.com> Date: Fri, 26 Sep 2025 09:59:52 +0500 Subject: [PATCH 177/447] Update footer.html --- lms/templates/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/footer.html b/lms/templates/footer.html index 2841f2625655..bc7d6a16125c 100644 --- a/lms/templates/footer.html +++ b/lms/templates/footer.html @@ -30,7 +30,7 @@ diff --git a/lms/templates/static_templates/catalog_transfer.html b/lms/templates/static_templates/catalog_transfer.html index d6a1f0236faa..99c6fcc52e20 100644 --- a/lms/templates/static_templates/catalog_transfer.html +++ b/lms/templates/static_templates/catalog_transfer.html @@ -7,43 +7,115 @@ - МООК КазНУ им.Аль-Фараби + Каталог МООК КазНУ -

    Фильтры

    - - - - - - -
    +

    Каталог МООК КазНУ им. Аль-Фараби

    + +
    + + + + + + +
    + +
    @@ -242,16 +314,272 @@

    Структурирование ценностей в современно

    Организация: The Chinese University of Hong Kong

    +
    +

    Подходы социальных наук к изучению китайского общества Часть 1

    +

    Тип курса: MOOC

    +

    Уровень сложности: базовый

    +

    Платформа: Coursera

    +

    Учебная нагрузка (часы): 15.66

    +

    Учебная нагрузка (кредиты): 0.522

    +

    Область образования: 8D02 Искусство и гуманитарные науки

    +

    Область профессиональной подготовки: 6B022 Гуманитарные науки

    +

    Код и название образовательной программы: 6В02207-Востоковедение

    +

    Описание курса: Цель этого курса — превратить обучающихся в информированных потребителей исследований в + области социальных наук. Курс знакомит заинтересованных неспециалистов с концепциями, стандартами и + принципами проведения исследований в области социальных наук.

    +

    Осваиваемые навыки: могут оценивать доказательства и критически оценивать утверждения о важных социальных + явлениях

    +

    Язык курса: русский

    +

    Дисциплины для перезачета: Государственно-политический строй Китая

    +

    Учебная нагрузка в кредитах: 5.0

    +

    Ссылка на курс: Открыть курс

    +

    Организация: The Hong Kong University of Science and Technology

    +
    +
    +

    Successful Negotiation: Essential Strategies and Skills

    +

    Тип курса: MOOC

    +

    Уровень сложности: средний

    +

    Платформа: Coursera

    +

    Учебная нагрузка (часы): 17.0

    +

    Учебная нагрузка (кредиты): 5.0

    +

    Область образования: 6B02 Искусство и гуманитарные науки

    +

    Область профессиональной подготовки: 6B022 Гуманитарные науки

    +

    Код и название образовательной программы: 6B02207-Востоковедение

    +

    Описание курса: Successful Negotiation: Essential Strategies and Skills

    +

    Осваиваемые навыки: Этот модуль фокусируется на анализ переговоров, понимания стратегии и навыков ведения + переговоров

    +

    Язык курса: английский/русский

    +

    Дисциплины для перезачета: YaDEISV 4307 Язык дипломатии и этикета изучаемой стран Востока

    +

    Учебная нагрузка в кредитах: 5.0

    +

    Ссылка на курс: Открыть курс

    +

    Организация: University of Michigan

    +
    + +
    +

    Management Foundations in the Hospitality Industry

    +

    Тип курса: MOOC

    +

    Уровень сложности: средний

    +

    Платформа: Coursera

    +

    Учебная нагрузка (часы): 30.0

    +

    Учебная нагрузка (кредиты): 2.0

    +

    Область образования: 8D11 Услуги

    +

    Область профессиональной подготовки: 8D111 Сфера обслуживания

    +

    Код и название образовательной программы: 8D11102 Туризм и гостеприимство

    +

    Описание курса: Этот курс представляет собой введение в мотивацию, лидерство, коммуникации, принятие + решений и руководство людьми посредством эффективного управления человеческими ресурсами (HR), этику, + социальную ответственность и управление потребительским опытом в индустрии гостеприимства путем изучения + основ менеджмента, ориентированного на обслуживание. Все необходимые материалы для чтения представлены в + модулях курса. Они включают внешние ссылки, статьи, графику и видео. Курс состоит из следующих + элементов: тематические видеоматериалы, обсуждения и тесты для проверки понимания.

    +

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

    +

    Язык курса: английский

    +

    Дисциплины для перезачета: Разработка инновационных решений для менеджмента в сфере туризма и + гостеприимства

    +

    Учебная нагрузка в кредитах: 5.0

    +

    Ссылка на курс: Открыть курс +

    +

    Организация: University of North Texas

    +
    + +
    +

    Foundations of Hotel Budgeting and Forecasting

    +

    Тип курса: MOOC

    +

    Уровень сложности: средний

    +

    Платформа: Coursera

    +

    Учебная нагрузка (часы): 45.0

    +

    Учебная нагрузка (кредиты): 3.0

    +

    Область образования: 7M11 Услуги

    +

    Область профессиональной подготовки: 8D111 Сфера обслуживания

    +

    Код и название образовательной программы: 7M11104 - Ресторанное дело и гостиничный бизнес

    +

    Описание курса: Курс предназначен для обучения основным навыкам и знаниям бюджетирования и + прогнозирования в гостиничном бизнесе. Он предоставляет всестороннее понимание фундаментальных + концепций, практик и инструментов составления бюджета и прогнозирования, включая практические упражнения + и примеры из реальной жизни для применения знаний в индустрии гостеприимства.

    +

    Осваиваемые навыки: Составление бюджета отелей, оценка финансовых показателей, понимание тенденций в + отрасли, разработка стратегий на основе финансовых данных, практическое применение знаний в гостиничном + бизнесе.

    +

    Язык курса: английский

    +

    Дисциплины для перезачета: Прогнозирование и планирование в сфере гостеприимства

    +

    Учебная нагрузка в кредитах: 5.0

    +

    Ссылка на курс: Открыть курс

    +

    Организация: Starweaver

    +
    +
    +

    Introduction to Process Safety and Risk Analysis

    +

    Тип курса: MOOC

    +

    Уровень сложности: средний

    +

    Платформа: Coursera

    +

    Учебная нагрузка (часы): 13.01

    +

    Учебная нагрузка (кредиты): 0.434

    +

    Область образования: 6B05 Естественные науки, математика и статистика

    +

    Область профессиональной подготовки: 6B052 Окружающая среда

    +

    Код и название образовательной программы: 6В05202 Экология

    +

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

    +

    Осваиваемые навыки: Environmental justice, Public Health

    +

    Язык курса: английский

    +

    Дисциплины для перезачета: Қоршаған ортаға әсерін бағалау және экологиялық сараптама

    +

    Учебная нагрузка в кредитах: 5.0

    +

    Ссылка на курс: Открыть курс

    +

    Организация: University of California, Davis

    +
    +
    +

    Impacts of the Environment on Global Public Health Specialization

    +

    Тип курса: MOOC

    +

    Уровень сложности: базовый

    +

    Платформа: Coursera

    +

    Учебная нагрузка (часы): 115.0

    +

    Учебная нагрузка (кредиты): 3.85

    +

    Область образования: 6B05 Естественные науки, математика и статистика

    +

    Область профессиональной подготовки: 6B052 Окружающая среда

    +

    Код и название образовательной программы: 6B11202- Экологическая инженерия

    +

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

    +

    Осваиваемые навыки: Environmental justice, Public Health

    +

    Язык курса: английский

    +

    Дисциплины для перезачета: Қоршаған ортаға әсерін бағалау және экологиялық сараптама

    +

    Учебная нагрузка в кредитах: 5.0

    +

    Ссылка на курс: Открыть курс

    +

    Организация: University of California, Davis

    +
    +
    +

    Экология: Динамика экосистем и их сохранение

    +

    Тип курса: MOOC

    +

    Уровень сложности: средний

    +

    Платформа: Coursera

    +

    Учебная нагрузка (часы): 13.01

    +

    Учебная нагрузка (кредиты): 0.434

    +

    Область образования: 6B05 Естественные науки, математика и статистика

    +

    Область профессиональной подготовки: 6B052 Окружающая среда

    +

    Код и название образовательной программы: 6В05202 Экология

    +

    Описание курса: Этот курс представляет собой введение в экологию и динамику экосистем с использованием + системного мышления. На примере национального парка Горонгоза в Мозамбике слушатели изучат, как ученые + изучают экосистемы, и исследуют сложный комплекс факторов, которые лежат в основе управленческих усилий. + По окончании курса слушатели смогут решать реальные вопросы, связанные с охраной природы, например, + смогут ли экосистемы восстановиться после антропогенного воздействия и какую роль в этом восстановлении + могут и должны играть люди.

    +

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

    +

    Язык курса: английский

    +

    Дисциплины для перезачета: Экологический риск

    +

    Учебная нагрузка в кредитах: 5.0

    +

    Ссылка на курс: Открыть + курс

    +

    Организация: American Museum of Natural History

    +
    +
    +

    Глобальный экологический менеджмент

    +

    Тип курса: MOOC

    +

    Уровень сложности: средний

    +

    Платформа: Coursera

    +

    Учебная нагрузка (часы): 18.79

    +

    Учебная нагрузка (кредиты): 0.626

    +

    Область образования: 6B05 Естественные науки, математика и статистика

    +

    Область профессиональной подготовки: 6B052 Окружающая среда

    +

    Код и название образовательной программы: 6В05202 Экология

    +

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

    +

    Осваиваемые навыки: Городское планирование, Развитие водных ресурсов, Природные ресурсы, Зеленые технологии

    +

    Язык курса: английский

    +

    Дисциплины для перезачета: Стандарты менеджмента окружающей среды

    +

    Учебная нагрузка в кредитах: 5.0

    +

    Ссылка на курс: Открыть курс

    +

    Организация: Technical University of Denmark (DTU)

    +
    +
    + - From 5533ec14a18b5d9c86cfd767c61b66278711451f Mon Sep 17 00:00:00 2001 From: erarys Date: Thu, 4 Dec 2025 15:37:55 +0500 Subject: [PATCH 205/447] Edited bugs --- lms/templates/footer.html | 5 ++++- lms/templates/static_templates/catalog_transfer.html | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lms/templates/footer.html b/lms/templates/footer.html index 35e657ae33e4..63a73ada57a2 100644 --- a/lms/templates/footer.html +++ b/lms/templates/footer.html @@ -21,7 +21,10 @@

    - Илья Игорович (Руководитель отдела) +7 (705) 544 59 30
    (вн. 31-24, 11-33, 16-47) + Илья Игорович (Руководитель отдела)
    +7 (705) 544 59 30
    (вн. 31-24, 11-33, 16-47) + +

    +

    diff --git a/lms/templates/static_templates/catalog_transfer.html b/lms/templates/static_templates/catalog_transfer.html index 99c6fcc52e20..9077a4372a0e 100644 --- a/lms/templates/static_templates/catalog_transfer.html +++ b/lms/templates/static_templates/catalog_transfer.html @@ -11,7 +11,6 @@ + + /* BETA */ + .snowflake { + position: absolute; + color: #f1f3f6; + line-height: 1; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + + .snowflake-solid { + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; + background: #fff; + } + + /* Убираем отступы контейнера Open edX */ + .content-wrapper.main-container { + padding: 0 !important; + margin: 0 !important; + } + + /* Иногда отступ идёт сверху от body или header */ + body .content-wrapper { + padding-top: 0 !important; + } + <%block name="content"> -
    +

    ${_("Courses")}

    -

    ${_("Explore our collection of educational programs and start learning today")}

    -
    + +

    ${_("С наступающим Новым годом!")}

    +
    -
    +
    -

    ${_("Filter Courses")}

    -
    - - - - - - - -
    +

    ${_("Filter Courses")}

    +
    + + + + + + + +
    - % if courses: + % if courses: % for course in courses: - <% - from django.utils import timezone - now = timezone.now() - status = "completed" if course.end and course.end < now else "ongoing" - status_text = _('Completed') if status == "completed" else _('Ongoing') - %> -
    + <% + from django.utils import timezone + now = timezone.now() + status = "completed" if course.end and course.end < now else "ongoing" + status_text = _('Completed') if status == "completed" else _('Ongoing') + %> +
    - ${course.display_name} -
    ${status_text}
    + ${course.display_name} +
    ${status_text}
    -

    ${course.display_name}

    -
    - ${course.display_org_with_default} - % if course.language: - ${course.language} - % endif -
    -
    - ${_('Start')}: ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} - ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} -
    - ${_('Go to course')} +

    ${course.display_name}

    +
    + ${course.display_org_with_default} + % if course.language: + ${course.language} + % endif +
    +
    + ${_('Start')} + : ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} + ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} +
    + ${_('Go to course')}
    -
    +
    % endfor - % else: + % else:
    - 📚 -

    ${_('No courses found')}

    -

    ${_('There are currently no available courses')}

    + 📚 +

    ${_('No courses found')}

    +

    ${_('There are currently no available courses')}

    - % endif + % endif
    -
    +
    - + const query = document.getElementById("searchInput").value.toLowerCase().trim(); + const lang = document.getElementById("languageFilter").value; + const status = document.getElementById("statusFilter").value; + const org = document.getElementById("orgFilter").value; + + const cards = document.querySelectorAll("#courseList .course"); + let visible = 0; + + cards.forEach(card => { + const title = card.getAttribute("data-title"); + const cardLang = card.getAttribute("data-language"); + const cardStatus = card.getAttribute("data-status"); + const cardOrg = card.getAttribute("data-org"); + + const matches = + (!query || title.includes(query)) && + (!lang || cardLang === lang) && + (!status || cardStatus === status) && + (!org || cardOrg === org); + + card.style.display = matches ? "flex" : "none"; + if (matches) visible++; + }); + + const emptyState = document.querySelector(".no-results"); + if (!visible && !emptyState) { + const div = document.createElement("div"); + div.className = "no-results"; + div.innerHTML = `🔍

    ${_('No courses found')}

    `; + document.getElementById("courseList").appendChild(div); + } else if (visible && emptyState) { + emptyState.remove(); + } + } + + diff --git a/lms/templates/courseware/courses_basic.html b/lms/templates/courseware/courses_basic.html new file mode 100644 index 000000000000..f8826922a3be --- /dev/null +++ b/lms/templates/courseware/courses_basic.html @@ -0,0 +1,353 @@ +<%page expression_filter="h"/> +<%! + from django.utils.translation import gettext as _ +%> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("Courses")} + +<%block name="headextra"> + + + +<%block name="content"> +
    +

    ${_("Courses")}

    +

    ${_("Explore our collection of educational programs and start learning today")}

    +
    + +
    +
    +

    ${_("Filter Courses")}

    +
    + + + + + + + +
    +
    + +
    + % if courses: + % for course in courses: + <% + from django.utils import timezone + now = timezone.now() + status = "completed" if course.end and course.end < now else "ongoing" + status_text = _('Completed') if status == "completed" else _('Ongoing') + %> +
    +
    + ${course.display_name} +
    ${status_text}
    +
    +
    +

    ${course.display_name}

    +
    + ${course.display_org_with_default} + % if course.language: + ${course.language} + % endif +
    +
    + ${_('Start')}: ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} + ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} +
    + ${_('Go to course')} +
    +
    + % endfor + % else: +
    + 📚 +

    ${_('No courses found')}

    +

    ${_('There are currently no available courses')}

    +
    + % endif +
    +
    + + + diff --git a/lms/templates/courseware/courses_winter.html b/lms/templates/courseware/courses_winter.html new file mode 100644 index 000000000000..72b206c0f6bb --- /dev/null +++ b/lms/templates/courseware/courses_winter.html @@ -0,0 +1,585 @@ +<%page expression_filter="h"/> +<%! +from django.utils.translation import gettext as _ +%> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("Courses")} + +<%block name="headextra"> + + + +<%block name="content"> +
    +

    ${_("Courses")}

    +

    ${_("Explore our collection of educational programs and start learning today")}

    +
    + +
    +
    +

    ${_("Filter Courses")}

    +
    + + + + + + + +
    +
    + +
    + % if courses: + % for course in courses: + <% + from django.utils import timezone + now = timezone.now() + status = "completed" if course.end and course.end < now else "ongoing" + status_text = _('Completed') if status == "completed" else _('Ongoing') + %> +
    +
    + ${course.display_name} +
    ${status_text}
    +
    +
    +

    ${course.display_name}

    +
    + ${course.display_org_with_default} + % if course.language: + ${course.language} + % endif +
    +
    + ${_('Start')} + : ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} + ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} +
    + ${_('Go to course')} +
    +
    + % endfor + % else: +
    + 📚 +

    ${_('No courses found')}

    +

    ${_('There are currently no available courses')}

    +
    + % endif +
    +
    + + + + From f6adef29c40544ed5d3b13eb6a7048598cde0f56 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 26 Dec 2025 15:39:17 +0500 Subject: [PATCH 213/447] Conf ver --- lms/templates/courseware/courses.html | 704 +++++++++----------------- 1 file changed, 226 insertions(+), 478 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 82027e015871..f8826922a3be 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -1,605 +1,353 @@ <%page expression_filter="h"/> <%! -from django.utils.translation import gettext as _ + from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> <%block name="pagetitle">${_("Courses")} <%block name="headextra"> - + <%block name="content"> -
    +

    ${_("Courses")}

    - -

    ${_("С наступающим Новым годом!")}

    -
    +

    ${_("Explore our collection of educational programs and start learning today")}

    +
    -
    +
    -

    ${_("Filter Courses")}

    -
    - - - - - - - -
    +

    ${_("Filter Courses")}

    +
    + + + + + + + +
    - % if courses: + % if courses: % for course in courses: - <% - from django.utils import timezone - now = timezone.now() - status = "completed" if course.end and course.end < now else "ongoing" - status_text = _('Completed') if status == "completed" else _('Ongoing') - %> -
    + <% + from django.utils import timezone + now = timezone.now() + status = "completed" if course.end and course.end < now else "ongoing" + status_text = _('Completed') if status == "completed" else _('Ongoing') + %> +
    - ${course.display_name} -
    ${status_text}
    + ${course.display_name} +
    ${status_text}
    -

    ${course.display_name}

    -
    - ${course.display_org_with_default} - % if course.language: - ${course.language} - % endif -
    -
    - ${_('Start')} - : ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} - ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} -
    - ${_('Go to course')} +

    ${course.display_name}

    +
    + ${course.display_org_with_default} + % if course.language: + ${course.language} + % endif +
    +
    + ${_('Start')}: ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} + ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} +
    + ${_('Go to course')}
    -
    +
    % endfor - % else: + % else:
    - 📚 -

    ${_('No courses found')}

    -

    ${_('There are currently no available courses')}

    + 📚 +

    ${_('No courses found')}

    +

    ${_('There are currently no available courses')}

    - % endif + % endif
    -
    +
    - - + const query = document.getElementById("searchInput").value.toLowerCase().trim(); + const lang = document.getElementById("languageFilter").value; + const status = document.getElementById("statusFilter").value; + const org = document.getElementById("orgFilter").value; + + const cards = document.querySelectorAll("#courseList .course"); + let visible = 0; + + cards.forEach(card => { + const title = card.getAttribute("data-title"); + const cardLang = card.getAttribute("data-language"); + const cardStatus = card.getAttribute("data-status"); + const cardOrg = card.getAttribute("data-org"); + + const matches = + (!query || title.includes(query)) && + (!lang || cardLang === lang) && + (!status || cardStatus === status) && + (!org || cardOrg === org); + + card.style.display = matches ? "flex" : "none"; + if (matches) visible++; + }); + + const emptyState = document.querySelector(".no-results"); + if (!visible && !emptyState) { + const div = document.createElement("div"); + div.className = "no-results"; + div.innerHTML = `🔍

    ${_('No courses found')}

    `; + document.getElementById("courseList").appendChild(div); + } else if (visible && emptyState) { + emptyState.remove(); + } + } + From e849fac12c4006ccb61212c7deaa1852f39984cf Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 29 Dec 2025 10:08:45 +0500 Subject: [PATCH 214/447] Beta again --- lms/templates/courseware/courses.html | 682 +++++++++++++++++--------- 1 file changed, 457 insertions(+), 225 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index f8826922a3be..72b206c0f6bb 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -1,353 +1,585 @@ <%page expression_filter="h"/> <%! - from django.utils.translation import gettext as _ +from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> <%block name="pagetitle">${_("Courses")} <%block name="headextra"> - + + /* BETA */ + .snowflake { + position: absolute; + color: #f1f3f6; + line-height: 1; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + + .snowflake-solid { + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; + background: #fff; + } + <%block name="content"> -
    +

    ${_("Courses")}

    ${_("Explore our collection of educational programs and start learning today")}

    -
    +
    -
    +
    -

    ${_("Filter Courses")}

    -
    - - - - - - - -
    +

    ${_("Filter Courses")}

    +
    + + + + + + + +
    - % if courses: + % if courses: % for course in courses: - <% - from django.utils import timezone - now = timezone.now() - status = "completed" if course.end and course.end < now else "ongoing" - status_text = _('Completed') if status == "completed" else _('Ongoing') - %> -
    + <% + from django.utils import timezone + now = timezone.now() + status = "completed" if course.end and course.end < now else "ongoing" + status_text = _('Completed') if status == "completed" else _('Ongoing') + %> +
    - ${course.display_name} -
    ${status_text}
    + ${course.display_name} +
    ${status_text}
    -

    ${course.display_name}

    -
    - ${course.display_org_with_default} - % if course.language: - ${course.language} - % endif -
    -
    - ${_('Start')}: ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} - ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} -
    - ${_('Go to course')} +

    ${course.display_name}

    +
    + ${course.display_org_with_default} + % if course.language: + ${course.language} + % endif +
    +
    + ${_('Start')} + : ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} + ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} +
    + ${_('Go to course')}
    -
    +
    % endfor - % else: + % else:
    - 📚 -

    ${_('No courses found')}

    -

    ${_('There are currently no available courses')}

    + 📚 +

    ${_('No courses found')}

    +

    ${_('There are currently no available courses')}

    - % endif + % endif
    -
    +
    - + const query = document.getElementById("searchInput").value.toLowerCase().trim(); + const lang = document.getElementById("languageFilter").value; + const status = document.getElementById("statusFilter").value; + const org = document.getElementById("orgFilter").value; + + const cards = document.querySelectorAll("#courseList .course"); + let visible = 0; + + cards.forEach(card => { + const title = card.getAttribute("data-title"); + const cardLang = card.getAttribute("data-language"); + const cardStatus = card.getAttribute("data-status"); + const cardOrg = card.getAttribute("data-org"); + + const matches = + (!query || title.includes(query)) && + (!lang || cardLang === lang) && + (!status || cardStatus === status) && + (!org || cardOrg === org); + + card.style.display = matches ? "flex" : "none"; + if (matches) visible++; + }); + + const emptyState = document.querySelector(".no-results"); + if (!visible && !emptyState) { + const div = document.createElement("div"); + div.className = "no-results"; + div.innerHTML = `🔍

    ${_('No courses found')}

    `; + document.getElementById("courseList").appendChild(div); + } else if (visible && emptyState) { + emptyState.remove(); + } + } + + From d31df5d836d231efb4e3d57e435d07904f128c7c Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 5 Jan 2026 10:52:20 +0500 Subject: [PATCH 215/447] meme page NOT FOR DEPLOY!!! --- lms/djangoapps/news/views.py | 5 ++++- lms/templates/courseware/meme_page.html | 10 ++++++++++ lms/urls.py | 3 ++- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 lms/templates/courseware/meme_page.html diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 172b7a48158b..0716bd5bd981 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -31,10 +31,13 @@ def news_create(request): return redirect('news_list') else: form = NewsForm() - + context = { 'form': form, 'list_url': reverse('news_list'), } return render_to_response('news/form.html', context, request=request) +def meme_page(request): + return render(request, 'courseware/meme_page.html') + diff --git a/lms/templates/courseware/meme_page.html b/lms/templates/courseware/meme_page.html new file mode 100644 index 000000000000..ab6fa43b16df --- /dev/null +++ b/lms/templates/courseware/meme_page.html @@ -0,0 +1,10 @@ + + + + + Title + + +

    Hello world

    + + diff --git a/lms/urls.py b/lms/urls.py index c81f03a808e5..aea1abd7eaf9 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -51,7 +51,7 @@ from openedx.core.djangoapps.user_authn.views.login import redirect_to_lms_login from openedx.features.enterprise_support.api import enterprise_enabled from lms.djangoapps.univerapi import views as univer_views -from lms.djangoapps.news import views as news_views +from lms.djangoapps.news import views as news_views RESET_COURSE_DEADLINES_NAME = 'reset_course_deadlines' RENDER_XBLOCK_NAME = 'render_xblock' RENDER_VIDEO_XBLOCK_NAME = 'render_public_video_xblock' @@ -98,6 +98,7 @@ path('news/', news_views.news_list, name='news_list'), path('news//', news_views.news_detail, name='news_detail'), path('news/create/', news_views.news_create, name='news_create'), + path('meme/', news_views.meme_page, name='meme_page'), path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware From 07c72bcb40e57d67b9603b95bc82cc4618c5cb3b Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 5 Jan 2026 12:14:26 +0500 Subject: [PATCH 216/447] Meme style --- lms/templates/courseware/meme_page.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lms/templates/courseware/meme_page.html b/lms/templates/courseware/meme_page.html index ab6fa43b16df..66c13f2e2ac3 100644 --- a/lms/templates/courseware/meme_page.html +++ b/lms/templates/courseware/meme_page.html @@ -3,6 +3,9 @@ Title + {% load static %} + +

    Hello world

    From cda72a4dbf6afad293996cdf61133795154ef1ad Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 5 Jan 2026 14:28:04 +0500 Subject: [PATCH 217/447] analyze page --- lms/djangoapps/news/views.py | 4 ++-- lms/static/sass/base/meme_page.scss | 12 ++++++++++++ .../courseware/{meme_page.html => analyze.html} | 2 +- lms/urls.py | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 lms/static/sass/base/meme_page.scss rename lms/templates/courseware/{meme_page.html => analyze.html} (95%) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 0716bd5bd981..b930e0e4195f 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -38,6 +38,6 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) -def meme_page(request): - return render(request, 'courseware/meme_page.html') +def analyze(request): + return render(request, 'courseware/analyze.html') diff --git a/lms/static/sass/base/meme_page.scss b/lms/static/sass/base/meme_page.scss new file mode 100644 index 000000000000..8cbbe6fa4f6e --- /dev/null +++ b/lms/static/sass/base/meme_page.scss @@ -0,0 +1,12 @@ +@import "base/base"; +@import "base/reset"; +@import "base/layouts"; + +/* твои стили */ +h1 { + color: red; +} + +body { + background-color: red; +} diff --git a/lms/templates/courseware/meme_page.html b/lms/templates/courseware/analyze.html similarity index 95% rename from lms/templates/courseware/meme_page.html rename to lms/templates/courseware/analyze.html index 66c13f2e2ac3..cb31c4aa28f1 100644 --- a/lms/templates/courseware/meme_page.html +++ b/lms/templates/courseware/analyze.html @@ -5,7 +5,7 @@ Title {% load static %} - +

    Hello world

    diff --git a/lms/urls.py b/lms/urls.py index aea1abd7eaf9..dec4e4896422 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -98,7 +98,7 @@ path('news/', news_views.news_list, name='news_list'), path('news//', news_views.news_detail, name='news_detail'), path('news/create/', news_views.news_create, name='news_create'), - path('meme/', news_views.meme_page, name='meme_page'), + path('analyze/', news_views.analyze, name='analyze'), path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware From 6f7870f663ff129ea5e4b3a1be315b1acda7a68a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 5 Jan 2026 14:47:44 +0500 Subject: [PATCH 218/447] Added new style --- lms/static/sass/{base => }/meme_page.scss | 2 -- 1 file changed, 2 deletions(-) rename lms/static/sass/{base => }/meme_page.scss (67%) diff --git a/lms/static/sass/base/meme_page.scss b/lms/static/sass/meme_page.scss similarity index 67% rename from lms/static/sass/base/meme_page.scss rename to lms/static/sass/meme_page.scss index 8cbbe6fa4f6e..9cf2b1ca6e15 100644 --- a/lms/static/sass/base/meme_page.scss +++ b/lms/static/sass/meme_page.scss @@ -1,8 +1,6 @@ @import "base/base"; @import "base/reset"; -@import "base/layouts"; -/* твои стили */ h1 { color: red; } From 50e87df835bc96b0d67e4dd618a7f9be911ba3a5 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 6 Jan 2026 16:31:34 +0500 Subject: [PATCH 219/447] beta --- lms/static/sass/meme_page.scss | 10 ---------- lms/templates/courseware/analyze.html | 4 ++-- 2 files changed, 2 insertions(+), 12 deletions(-) delete mode 100644 lms/static/sass/meme_page.scss diff --git a/lms/static/sass/meme_page.scss b/lms/static/sass/meme_page.scss deleted file mode 100644 index 9cf2b1ca6e15..000000000000 --- a/lms/static/sass/meme_page.scss +++ /dev/null @@ -1,10 +0,0 @@ -@import "base/base"; -@import "base/reset"; - -h1 { - color: red; -} - -body { - background-color: red; -} diff --git a/lms/templates/courseware/analyze.html b/lms/templates/courseware/analyze.html index cb31c4aa28f1..2983c2d12ba0 100644 --- a/lms/templates/courseware/analyze.html +++ b/lms/templates/courseware/analyze.html @@ -1,11 +1,11 @@ +@import "mytheme" + Title {% load static %} - -

    Hello world

    From d537e1bc670891c2d6b07386d41b2e897f88c4d1 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 6 Jan 2026 16:50:01 +0500 Subject: [PATCH 220/447] analyze add header --- lms/templates/courseware/analyze.html | 36 +++++++++++++++++---------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/lms/templates/courseware/analyze.html b/lms/templates/courseware/analyze.html index 2983c2d12ba0..b565e97dfb87 100644 --- a/lms/templates/courseware/analyze.html +++ b/lms/templates/courseware/analyze.html @@ -1,13 +1,23 @@ -@import "mytheme" - - - - - - Title - {% load static %} - - -

    Hello world

    - - +<%page expression_filter="h"/> +<%! from django.utils.translation import gettext as _ %> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("News")} + +<%block name="extrahead"> + + + +
    + + +
    + Analyze +
    +
    + From c6b0b71f3e7470db70d4f7a7bf9ace55ab7e42c3 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 6 Jan 2026 17:41:54 +0500 Subject: [PATCH 221/447] copy news --- lms/templates/courseware/analyze.html | 238 +++++++++++++++++++++++++- 1 file changed, 235 insertions(+), 3 deletions(-) diff --git a/lms/templates/courseware/analyze.html b/lms/templates/courseware/analyze.html index b565e97dfb87..d186589cd174 100644 --- a/lms/templates/courseware/analyze.html +++ b/lms/templates/courseware/analyze.html @@ -6,7 +6,179 @@ <%block name="extrahead"> @@ -16,8 +188,68 @@

    ${_("News")}

    ${_("Stay updated with the latest news and announcements")}

    -
    - Analyze -
    + % if news_list: +
    + % for news in news_list: +
    + % if news.image: + ${news.title} + % else: +
    + +
    + % endif + +
    + + +
    + ${news.created_at.date()} +
    + +
    + ${news.content[:100]}... +
    + + + ${_("Read more")} → + +
    +
    + % endfor +
    + % else: +
    +
    📰
    +

    ${_("No news available")}

    +

    ${_("Check back later for updates")}

    +
    + % endif +<%block name="extrajs"> + + From a083f1427efbeb58cf48d7b61078a90926a1d507 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 6 Jan 2026 17:51:46 +0500 Subject: [PATCH 222/447] changed place --- lms/djangoapps/news/views.py | 2 +- lms/templates/{courseware => news}/analyze.html | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename lms/templates/{courseware => news}/analyze.html (100%) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index b930e0e4195f..c7026a40e631 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -39,5 +39,5 @@ def news_create(request): return render_to_response('news/form.html', context, request=request) def analyze(request): - return render(request, 'courseware/analyze.html') + return render(request, 'news/analyze.html') diff --git a/lms/templates/courseware/analyze.html b/lms/templates/news/analyze.html similarity index 100% rename from lms/templates/courseware/analyze.html rename to lms/templates/news/analyze.html From 0513e567584c0cac418fd935b566d5f21fac3e4b Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 10:15:54 +0500 Subject: [PATCH 223/447] news copy --- lms/djangoapps/news/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index c7026a40e631..3ebcdc9025db 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -39,5 +39,10 @@ def news_create(request): return render_to_response('news/form.html', context, request=request) def analyze(request): - return render(request, 'news/analyze.html') + news = News.objects.all() + context = { + 'news_list': news, + 'create_url': reverse('news_create'), + } + return render_to_response('news/analyze.html', context, request=request) From 7d37c3d5a397705f557e35d1fba2cb2c93d7f3d0 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 12:42:38 +0500 Subject: [PATCH 224/447] edit| --- lms/djangoapps/news/views.py | 7 +- lms/templates/news/analyze.html | 245 +------------------------------- 2 files changed, 3 insertions(+), 249 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 3ebcdc9025db..45ae2f02a55d 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -39,10 +39,5 @@ def news_create(request): return render_to_response('news/form.html', context, request=request) def analyze(request): - news = News.objects.all() - context = { - 'news_list': news, - 'create_url': reverse('news_create'), - } - return render_to_response('news/analyze.html', context, request=request) + return render_to_response('news/analyze.html', request=request) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index d186589cd174..e0319485ee46 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -5,251 +5,10 @@ <%block name="pagetitle">${_("News")} <%block name="extrahead"> - -
    - - - % if news_list: -
    - % for news in news_list: -
    - % if news.image: - ${news.title} - % else: -
    - -
    - % endif - -
    - - -
    - ${news.created_at.date()} -
    - -
    - ${news.content[:100]}... -
    - - - ${_("Read more")} → - -
    -
    - % endfor -
    - % else: -
    -
    📰
    -

    ${_("No news available")}

    -

    ${_("Check back later for updates")}

    -
    - % endif +
    +

    Hello world

    -<%block name="extrajs"> - - From cd816b1fe52ada4e6210a3562d7678d08e5add57 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 14:25:26 +0500 Subject: [PATCH 225/447] Added course list --- lms/djangoapps/news/views.py | 19 ++++++++++++++++++- lms/templates/news/analyze.html | 22 ++++++++++++++++------ 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 45ae2f02a55d..947e7466b247 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -5,6 +5,10 @@ from .forms import NewsForm from django.contrib.auth.decorators import user_passes_test +from openedx.core.djangoapps.content.course_overviews.models import CourseOverview +# from ..commerce.api.v1.models import Course + + def news_list(request): news = News.objects.all() context = { @@ -38,6 +42,19 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) + + + def analyze(request): - return render_to_response('news/analyze.html', request=request) + courses = CourseOverview.objects.all().order_by('-created') + + context = { + "courses": courses, + "courses_count": courses.count(), + } + + return render(request, "news/analyze.html", context) + + + return render_to_response('news/analyze.html', context, request=request) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index e0319485ee46..0e5b4e69caa5 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -2,13 +2,23 @@ <%! from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> -<%block name="pagetitle">${_("News")} +<%block name="pagetitle">${_("Analyze")} -<%block name="extrahead"> +
    +

    📊 Курсы

    - +

    Всего курсов: ${courses_count}

    -
    -

    Hello world

    +
      + % for course in courses: +
    • + ${course.display_name}
      + + ${course.course_id} + | org: ${course.org} + | start: ${course.start} + +
    • + % endfor +
    - From df214d09470e9a5eb74382922606e488d5cc5369 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 14:37:46 +0500 Subject: [PATCH 226/447] add --- lms/djangoapps/news/views.py | 2 +- lms/templates/news/analyze.html | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 947e7466b247..524a4973cf1a 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -53,7 +53,7 @@ def analyze(request): "courses_count": courses.count(), } - return render(request, "news/analyze.html", context) + # return render(request, "news/analyze.html", context) return render_to_response('news/analyze.html', context, request=request) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 0e5b4e69caa5..312831ca63d1 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -4,6 +4,8 @@ <%block name="pagetitle">${_("Analyze")} +<%block name="extrahead"> +

    📊 Курсы

    @@ -22,3 +24,4 @@

    📊 Курсы

    % endfor
    + From 9346f9a231721d44936b37f8cdecd2a6927d9323 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 14:52:56 +0500 Subject: [PATCH 227/447] add end block --- lms/templates/news/analyze.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 312831ca63d1..fbeea0e68664 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -24,4 +24,4 @@

    📊 Курсы

    % endfor
    - + From 7ada26894f4d5d91028b998726f9a1bb071b0f6d Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 15:06:10 +0500 Subject: [PATCH 228/447] add id --- lms/templates/news/analyze.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index fbeea0e68664..65ac53792fa2 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -16,7 +16,7 @@

    📊 Курсы

  • ${course.display_name}
    - ${course.course_id} + ${course.id} | org: ${course.org} | start: ${course.start} From f30ee00238dcf531367672f364d195a4485c46ac Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 15:22:40 +0500 Subject: [PATCH 229/447] new table --- lms/djangoapps/news/views.py | 16 +++++++--- lms/templates/news/analyze.html | 56 ++++++++++++++++++++++++++++++--- 2 files changed, 64 insertions(+), 8 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 524a4973cf1a..4e8a7fccee18 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -4,6 +4,7 @@ from .models import News from .forms import NewsForm from django.contrib.auth.decorators import user_passes_test +from django.db.models import Count from openedx.core.djangoapps.content.course_overviews.models import CourseOverview # from ..commerce.api.v1.models import Course @@ -46,15 +47,22 @@ def news_create(request): def analyze(request): - courses = CourseOverview.objects.all().order_by('-created') + courses = CourseOverview.objects.all() + + courses_by_org = ( + CourseOverview.objects + .values("org") + .annotate(total=Count("id")) + .order_by("-total") + ) context = { - "courses": courses, + "courses": courses[:50], "courses_count": courses.count(), + "chart_labels": [c["org"] for c in courses_by_org], + "chart_data": [c["total"] for c in courses_by_org], } - # return render(request, "news/analyze.html", context) - return render_to_response('news/analyze.html', context, request=request) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 65ac53792fa2..4f428e0fee24 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -5,23 +5,71 @@ <%block name="pagetitle">${_("Analyze")} <%block name="extrahead"> + +
    -

    📊 Курсы

    +

    🎓 Курсы по факультетам

    Всего курсов: ${courses_count}

    + +
    + +
    + + +

    📚 Курсы

      % for course in courses:
    • ${course.display_name}
      ${course.id} - | org: ${course.org} - | start: ${course.start} + | факультет: ${course.org}
    • % endfor
    - + + From 837dcf3b9aa8050c805414841d3a61bd68f20200 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 15:40:00 +0500 Subject: [PATCH 230/447] new --- lms/templates/news/analyze.html | 59 +++++++++++---------------------- 1 file changed, 19 insertions(+), 40 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 4f428e0fee24..a5bd7480783e 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -13,20 +13,16 @@

    🎓 Курсы по факультетам

    Всего курсов: ${courses_count}

    -
    - -

    📚 Курсы

      % for course in courses:
    • ${course.display_name}
      - ${course.id} - | факультет: ${course.org} + ${course.id} | факультет: ${course.org}
    • % endfor @@ -34,42 +30,25 @@

      📚 Курсы

  • From 027de80ba5d8427b776f0d7c71730cbfd85607d8 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 15:52:11 +0500 Subject: [PATCH 231/447] add render --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 4e8a7fccee18..4967a74cae61 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -64,5 +64,5 @@ def analyze(request): } - return render_to_response('news/analyze.html', context, request=request) + return render('news/analyze.html', context, request=request) From 50f50f605564ca0108d08060d931fdb729a6bed0 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 16:03:36 +0500 Subject: [PATCH 232/447] nothing --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 4967a74cae61..4e8a7fccee18 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -64,5 +64,5 @@ def analyze(request): } - return render('news/analyze.html', context, request=request) + return render_to_response('news/analyze.html', context, request=request) From b64ec36ac1a2ca68f7a30bfcf90de537aace1c84 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 16:04:32 +0500 Subject: [PATCH 233/447] n --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 4e8a7fccee18..4967a74cae61 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -64,5 +64,5 @@ def analyze(request): } - return render_to_response('news/analyze.html', context, request=request) + return render('news/analyze.html', context, request=request) From 3501e8a9fd9d7de95ab895dafa99851b53e7947f Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2026 16:17:08 +0500 Subject: [PATCH 234/447] new --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 4967a74cae61..65699d73a09b 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -64,5 +64,5 @@ def analyze(request): } - return render('news/analyze.html', context, request=request) + return render(request, "news/analyze.html", context) From 408cdfaa8aa605a1875211f27fae44ec0e7ac979 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 09:39:54 +0500 Subject: [PATCH 235/447] Edit --- lms/templates/news/analyze.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index a5bd7480783e..68a934f6c29f 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -18,17 +18,18 @@

    🎓 Курсы по факультетам

      - % for course in courses: + % for course in courses:
    • ${course.display_name}
      ${course.id} | факультет: ${course.org}
    • - % endfor + % endfor
    +<%block name="extrajs"> + From 99634fc3c720f2622b6fbea1616987d8483ecf69 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 10:38:22 +0500 Subject: [PATCH 236/447] Edit --- lms/templates/news/analyze.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 68a934f6c29f..850d6832854f 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -11,7 +11,7 @@

    🎓 Курсы по факультетам

    -

    Всего курсов: ${courses_count}

    +

    Всего курсов: 123 ${courses_count}

    From 5e3263afc33e8e9c1b08907aa6d5508a9f5f136a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 11:33:40 +0500 Subject: [PATCH 237/447] count --- lms/djangoapps/news/views.py | 2 +- lms/templates/news/analyze.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 65699d73a09b..5fd688539e82 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -58,7 +58,7 @@ def analyze(request): context = { "courses": courses[:50], - "courses_count": courses.count(), + "courses_count": 10, # courses.count(), "chart_labels": [c["org"] for c in courses_by_org], "chart_data": [c["total"] for c in courses_by_org], } diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 850d6832854f..2128e201b76e 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -11,7 +11,7 @@

    🎓 Курсы по факультетам

    -

    Всего курсов: 123 ${courses_count}

    +

    Всего курсов: ${courses_count}

    From ec2ce3b8ab00c1b0bc52bc63fde043be7e2380ea Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 13:07:16 +0500 Subject: [PATCH 238/447] fix1 --- lms/djangoapps/news/views.py | 5 + lms/templates/news/analyze.html | 260 +++++++++++++++++++++++++++----- 2 files changed, 224 insertions(+), 41 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 5fd688539e82..bb47428d0495 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -63,6 +63,11 @@ def analyze(request): "chart_data": [c["total"] for c in courses_by_org], } + news = News.objects.all() + context = { + 'news_list': news, + 'create_url': reverse('news_create'), + } return render(request, "news/analyze.html", context) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 2128e201b76e..a7216ee2bf9c 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -2,55 +2,233 @@ <%! from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> -<%block name="pagetitle">${_("Analyze")} +<%block name="pagetitle">${_("News")} <%block name="extrahead"> - - + + + +
    + -
      - % for course in courses: -
    • - ${course.display_name}
      - - ${course.id} | факультет: ${course.org} - -
    • - % endfor -
    + % if news_list: +
    + % for news in news_list: +
    + % if news.image: + ${news.title} + % else: +
    + +
    + % endif + +
    + + +
    + ${news.created_at.date()} +
    + +
    + ${news.content[:100]}... +
    + + + ${_("Read more")} → + +
    +
    + % endfor +
    + % else: +
    +
    📰
    +

    ${_("No news available")}

    +

    ${_("Check back later for updates")}

    +
    + % endif
    <%block name="extrajs"> - + From b9a53e2bdc43d76e7860802952224845c5f70b23 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 13:18:37 +0500 Subject: [PATCH 239/447] f2 --- lms/djangoapps/news/views.py | 40 ++--- lms/templates/news/analyze.html | 238 ++++------------------------- lms/templates/news/analyze2.html | 255 +++++++++++++++++++++++++++++++ 3 files changed, 310 insertions(+), 223 deletions(-) create mode 100644 lms/templates/news/analyze2.html diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index bb47428d0495..ad7dc7aebe6d 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -47,27 +47,31 @@ def news_create(request): def analyze(request): - courses = CourseOverview.objects.all() - - courses_by_org = ( - CourseOverview.objects - .values("org") - .annotate(total=Count("id")) - .order_by("-total") - ) - - context = { - "courses": courses[:50], - "courses_count": 10, # courses.count(), - "chart_labels": [c["org"] for c in courses_by_org], - "chart_data": [c["total"] for c in courses_by_org], - } - + # courses = CourseOverview.objects.all() + # + # courses_by_org = ( + # CourseOverview.objects + # .values("org") + # .annotate(total=Count("id")) + # .order_by("-total") + # ) + # news = News.objects.all() + # context = { + # "courses": courses[:50], + # "courses_count": 10, # courses.count(), + # "chart_labels": [c["org"] for c in courses_by_org], + # "chart_data": [c["total"] for c in courses_by_org], + # + # 'news_list': news, + # 'create_url': reverse('news_create'), + # } + # + # + # return render(request, "news/analyze.html", context) news = News.objects.all() context = { 'news_list': news, 'create_url': reverse('news_create'), } - - return render(request, "news/analyze.html", context) + return render_to_response('news/list.html', context, request=request) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index a7216ee2bf9c..60f79d17c6e0 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -6,226 +6,54 @@ <%block name="extrahead">
    % if news_list: -
    - % for news in news_list: -
    - % if news.image: - ${news.title} - % else: -
    - -
    - % endif - -
    - - -
    - ${news.created_at.date()} -
    +
    + % for news in news_list: +
    + % if news.image: + ${news.title} + % else: +
    + +
    + % endif + +
    + -
    - ${news.content[:100]}... -
    +
    + ${news.created_at.date()} +
    - - ${_("Read more")} → - -
    +
    + ${news.content[:100]}...
    - % endfor + + + ${_("Read more")} → + +
    + % endfor +
    % else: -
    -
    📰
    -

    ${_("No news available")}

    -

    ${_("Check back later for updates")}

    -
    +
    +
    📰
    +

    ${_("No news available")}

    +

    ${_("Check back later for updates")}

    +
    % endif
    diff --git a/lms/templates/news/analyze2.html b/lms/templates/news/analyze2.html new file mode 100644 index 000000000000..d186589cd174 --- /dev/null +++ b/lms/templates/news/analyze2.html @@ -0,0 +1,255 @@ +<%page expression_filter="h"/> +<%! from django.utils.translation import gettext as _ %> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("News")} + +<%block name="extrahead"> + + + +
    + + + % if news_list: +
    + % for news in news_list: +
    + % if news.image: + ${news.title} + % else: +
    + +
    + % endif + +
    + + +
    + ${news.created_at.date()} +
    + +
    + ${news.content[:100]}... +
    + + + ${_("Read more")} → + +
    +
    + % endfor +
    + % else: +
    +
    📰
    +

    ${_("No news available")}

    +

    ${_("Check back later for updates")}

    +
    + % endif +
    + +<%block name="extrajs"> + + From 8cfed587bc6f355d383b109d63e1e3f2ac50c2c3 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 13:28:36 +0500 Subject: [PATCH 240/447] f2 --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index ad7dc7aebe6d..749d2deb30d5 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -73,5 +73,5 @@ def analyze(request): 'news_list': news, 'create_url': reverse('news_create'), } - return render_to_response('news/list.html', context, request=request) + return render_to_response('news/analyze2.html', context, request=request) From d2f8bec1c93aa428a05ec39f4f7523daccebb1a8 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 13:43:04 +0500 Subject: [PATCH 241/447] f3 --- lms/djangoapps/news/views.py | 43 ++++---- lms/templates/news/analyze2.html | 178 +------------------------------ 2 files changed, 26 insertions(+), 195 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 749d2deb30d5..12e634b24acc 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -47,29 +47,30 @@ def news_create(request): def analyze(request): - # courses = CourseOverview.objects.all() - # - # courses_by_org = ( - # CourseOverview.objects - # .values("org") - # .annotate(total=Count("id")) - # .order_by("-total") - # ) - # news = News.objects.all() - # context = { - # "courses": courses[:50], - # "courses_count": 10, # courses.count(), - # "chart_labels": [c["org"] for c in courses_by_org], - # "chart_data": [c["total"] for c in courses_by_org], - # - # 'news_list': news, - # 'create_url': reverse('news_create'), - # } - # - # - # return render(request, "news/analyze.html", context) + courses = CourseOverview.objects.all() + + courses_by_org = ( + CourseOverview.objects + .values("org") + .annotate(total=Count("id")) + .order_by("-total") + ) + news = News.objects.all() + context = { + "courses": courses[:50], + "courses_count": 10, # courses.count(), + "chart_labels": [c["org"] for c in courses_by_org], + "chart_data": [c["total"] for c in courses_by_org], + + 'news_list': news, + 'create_url': reverse('news_create'), + } + + + news = News.objects.all() context = { + "courses": courses[:50], 'news_list': news, 'create_url': reverse('news_create'), } diff --git a/lms/templates/news/analyze2.html b/lms/templates/news/analyze2.html index d186589cd174..cfa4b90e5d64 100644 --- a/lms/templates/news/analyze2.html +++ b/lms/templates/news/analyze2.html @@ -2,183 +2,11 @@ <%! from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> -<%block name="pagetitle">${_("News")} +<%block name="pagetitle">${_("Analyze")} <%block name="extrahead"> @@ -187,7 +15,9 @@

    ${_("News")}

    ${_("Stay updated with the latest news and announcements")}

    - +
    + {courses} +
    % if news_list:
    % for news in news_list: From 52f22364b9969bafc7af2c4a1563a5a1f663e9ce Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 13:58:20 +0500 Subject: [PATCH 242/447] f3 --- lms/djangoapps/news/views.py | 19 ++++++------------- lms/templates/news/analyze2.html | 2 +- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 12e634b24acc..373d6ffe96a6 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -55,24 +55,17 @@ def analyze(request): .annotate(total=Count("id")) .order_by("-total") ) + news = News.objects.all() + context = { "courses": courses[:50], - "courses_count": 10, # courses.count(), + "courses_count": courses.count(), "chart_labels": [c["org"] for c in courses_by_org], "chart_data": [c["total"] for c in courses_by_org], - - 'news_list': news, - 'create_url': reverse('news_create'), + "news_list": news, + "create_url": reverse("news_create"), } - - - news = News.objects.all() - context = { - "courses": courses[:50], - 'news_list': news, - 'create_url': reverse('news_create'), - } - return render_to_response('news/analyze2.html', context, request=request) + return render_to_response("news/analyze2.html", context, request=request) diff --git a/lms/templates/news/analyze2.html b/lms/templates/news/analyze2.html index cfa4b90e5d64..8eba9788ba5c 100644 --- a/lms/templates/news/analyze2.html +++ b/lms/templates/news/analyze2.html @@ -16,7 +16,7 @@

    ${_("News")}

    ${_("Stay updated with the latest news and announcements")}

    - {courses} + ${courses}
    % if news_list:
    From 9422eabafac04287189aa86f14bcdcbe39f0c733 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 14:11:12 +0500 Subject: [PATCH 243/447] f4 --- lms/templates/news/analyze.html | 93 +++++++++++++++---------- lms/templates/news/analyze2.html | 114 +++++++++++++++---------------- 2 files changed, 114 insertions(+), 93 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 60f79d17c6e0..8eba9788ba5c 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -2,7 +2,7 @@ <%! from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> -<%block name="pagetitle">${_("News")} +<%block name="pagetitle">${_("Analyze")} <%block name="extrahead"> + -
    +
    - ${courses} +

    📚 Список курсов

    + +

    Всего курсов: ${courses_count}

    + +
      + % for course in courses: +
    • + ${course.display_name}
      + + ID: ${course.id}
      + org: ${course.org}
      + number: ${course.number}
      + start: ${course.start}
      + end: ${course.end} +
      +
    • + % endfor +
    +
    % if news_list: -
    - % for news in news_list: -
    - % if news.image: - ${news.title} - % else: -
    - -
    - % endif +
    + % for news in news_list: +
    + % if news.image: + ${news.title} + % else: +
    + +
    + % endif -
    - - -
    - ${news.created_at.date()} -
    +
    + -
    - ${news.content[:100]}... -
    +
    + ${news.created_at.date()} +
    - - ${_("Read more")} → - -
    +
    + ${news.content[:100]}...
    - % endfor + + + ${_("Read more")} → + +
    + % endfor +
    % else: -
    -
    📰
    -

    ${_("No news available")}

    -

    ${_("Check back later for updates")}

    -
    +
    +
    📰
    +

    ${_("No news available")}

    +

    ${_("Check back later for updates")}

    +
    % endif
    <%block name="extrajs"> - + From e603197b80e4899313c96b9c76d46d088b3a0637 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 14:44:31 +0500 Subject: [PATCH 244/447] add analyze3 --- lms/djangoapps/news/views.py | 77 ++++++++++++++++--- lms/templates/news/analyze.html | 112 ++++++++------------------- lms/templates/news/analyze2.html | 39 ---------- lms/templates/news/analyze3.html | 126 +++++++++++++++++++++++++++++++ 4 files changed, 226 insertions(+), 128 deletions(-) create mode 100644 lms/templates/news/analyze3.html diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 373d6ffe96a6..7be9c8cbea6e 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -43,12 +43,34 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) - - - +from django.db.models import Count +from django.db.models.functions import ExtractYear +from django.shortcuts import render +from course_overviews.models import CourseOverview + + +# def analyze(request): +# courses = CourseOverview.objects.all() +# +# courses_by_org = ( +# CourseOverview.objects +# .values("org") +# .annotate(total=Count("id")) +# .order_by("-total") +# ) +# +# context = { +# "courses": courses[:50], +# "courses_count": courses.count(), +# "chart_labels": [c["org"] for c in courses_by_org], +# "chart_data": [c["total"] for c in courses_by_org], +# } +# +# return render_to_response("news/analyze2.html", context, request=request) def analyze(request): courses = CourseOverview.objects.all() + # 1️⃣ Курсы по факультетам (org) courses_by_org = ( CourseOverview.objects .values("org") @@ -56,16 +78,51 @@ def analyze(request): .order_by("-total") ) - news = News.objects.all() + # 2️⃣ Курсы по годам старта + courses_by_year = ( + CourseOverview.objects + .exclude(start__isnull=True) + .annotate(year=ExtractYear("start")) + .values("year") + .annotate(total=Count("id")) + .order_by("year") + ) + + # 3️⃣ Курсы по языкам + courses_by_lang = ( + CourseOverview.objects + .exclude(language__isnull=True) + .values("language") + .annotate(total=Count("id")) + .order_by("-total") + ) + + # 4️⃣ Формат обучения + paced_data = [ + CourseOverview.objects.filter(self_paced=True).count(), + CourseOverview.objects.filter(self_paced=False).count(), + ] context = { + # список курсов "courses": courses[:50], "courses_count": courses.count(), - "chart_labels": [c["org"] for c in courses_by_org], - "chart_data": [c["total"] for c in courses_by_org], - "news_list": news, - "create_url": reverse("news_create"), - } - return render_to_response("news/analyze2.html", context, request=request) + # факультеты + "org_labels": [c["org"] for c in courses_by_org], + "org_data": [c["total"] for c in courses_by_org], + + # годы + "year_labels": [c["year"] for c in courses_by_year], + "year_data": [c["total"] for c in courses_by_year], + + # языки + "lang_labels": [c["language"] for c in courses_by_lang], + "lang_data": [c["total"] for c in courses_by_lang], + + # формат + "paced_labels": ["Self-paced", "Instructor-led"], + "paced_data": paced_data, + } + return render(request, "news/analyze3.html", context) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 8eba9788ba5c..2a065a6fe4aa 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -1,85 +1,39 @@ -<%page expression_filter="h"/> -<%! from django.utils.translation import gettext as _ %> -<%inherit file="../main.html" /> - -<%block name="pagetitle">${_("Analyze")} - -<%block name="extrahead"> - - - -
    - -
    - ${courses} -
    - % if news_list: -
    - % for news in news_list: -
    - % if news.image: - ${news.title} - % else: -
    - -
    - % endif - -
    - - -
    - ${news.created_at.date()} -
    +% if news_list: +
    + % for news in news_list: +
    + % if news.image: + ${news.title} + % else: +
    + +
    + % endif + +
    + -
    - ${news.content[:100]}... -
    +
    + ${news.created_at.date()} +
    - - ${_("Read more")} → - -
    +
    + ${news.content[:100]}...
    - % endfor + + + ${_("Read more")} → + +
    + % endfor +
    % else: -
    -
    📰
    -

    ${_("No news available")}

    -

    ${_("Check back later for updates")}

    -
    +
    +
    📰
    +

    ${_("No news available")}

    +

    ${_("Check back later for updates")}

    +
    % endif -
    - -<%block name="extrajs"> - - diff --git a/lms/templates/news/analyze2.html b/lms/templates/news/analyze2.html index 38d191c204e2..fe6df27a0450 100644 --- a/lms/templates/news/analyze2.html +++ b/lms/templates/news/analyze2.html @@ -35,45 +35,6 @@

    📚 Список курсов

    - % if news_list: -
    - % for news in news_list: -
    - % if news.image: - ${news.title} - % else: -
    - -
    - % endif - -
    - - -
    - ${news.created_at.date()} -
    - -
    - ${news.content[:100]}... -
    - - - ${_("Read more")} → - -
    -
    - % endfor -
    - % else: -
    -
    📰
    -

    ${_("No news available")}

    -

    ${_("Check back later for updates")}

    -
    - % endif
    <%block name="extrajs"> diff --git a/lms/templates/news/analyze3.html b/lms/templates/news/analyze3.html new file mode 100644 index 000000000000..4968a379ee36 --- /dev/null +++ b/lms/templates/news/analyze3.html @@ -0,0 +1,126 @@ +<%page expression_filter="h"/> +<%! from django.utils.translation import gettext as _ %> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("Analyze")} + +<%block name="extrahead"> + + + + +<%block name="content"> + +
    + +

    📊 Аналитика курсов

    + +

    Всего курсов: ${courses_count}

    + + +
    +

    Курсы по факультетам

    + +
    + + +
    +

    Курсы по годам

    + +
    + + +
    +

    Курсы по языкам

    + +
    + + +
    +

    Формат обучения

    + +
    + + +

    📚 Курсы

    + +
    + % for course in courses: +
    + ${course.display_name} +
    Org: ${course.org}
    +
    Language: ${course.language}
    + % if course.start: +
    Start: ${course.start.strftime('%d.%m.%Y')}
    + % endif + +
    + % endfor +
    + +
    + + + +<%block name="extrajs"> + + From 966cfc63553f8bcb2ced3617aa8e2444ddcd557d Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jan 2026 14:53:34 +0500 Subject: [PATCH 245/447] fx5 --- lms/djangoapps/news/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 7be9c8cbea6e..2e0de715ad0d 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -46,7 +46,6 @@ def news_create(request): from django.db.models import Count from django.db.models.functions import ExtractYear from django.shortcuts import render -from course_overviews.models import CourseOverview # def analyze(request): From 610aec26304371880f25f5b18c257aabf6fb69bc Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 13 Jan 2026 08:51:30 +0500 Subject: [PATCH 246/447] ok --- lms/djangoapps/news/views.py | 130 +++++++++++++++++------------------ 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 2e0de715ad0d..0ce9afda5a91 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -43,33 +43,14 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) -from django.db.models import Count -from django.db.models.functions import ExtractYear -from django.shortcuts import render +# from django.db.models import Count +# from django.db.models.functions import ExtractYear +# from django.shortcuts import render -# def analyze(request): -# courses = CourseOverview.objects.all() -# -# courses_by_org = ( -# CourseOverview.objects -# .values("org") -# .annotate(total=Count("id")) -# .order_by("-total") -# ) -# -# context = { -# "courses": courses[:50], -# "courses_count": courses.count(), -# "chart_labels": [c["org"] for c in courses_by_org], -# "chart_data": [c["total"] for c in courses_by_org], -# } -# -# return render_to_response("news/analyze2.html", context, request=request) def analyze(request): courses = CourseOverview.objects.all() - # 1️⃣ Курсы по факультетам (org) courses_by_org = ( CourseOverview.objects .values("org") @@ -77,51 +58,70 @@ def analyze(request): .order_by("-total") ) - # 2️⃣ Курсы по годам старта - courses_by_year = ( - CourseOverview.objects - .exclude(start__isnull=True) - .annotate(year=ExtractYear("start")) - .values("year") - .annotate(total=Count("id")) - .order_by("year") - ) - - # 3️⃣ Курсы по языкам - courses_by_lang = ( - CourseOverview.objects - .exclude(language__isnull=True) - .values("language") - .annotate(total=Count("id")) - .order_by("-total") - ) - - # 4️⃣ Формат обучения - paced_data = [ - CourseOverview.objects.filter(self_paced=True).count(), - CourseOverview.objects.filter(self_paced=False).count(), - ] - context = { - # список курсов "courses": courses[:50], "courses_count": courses.count(), - - # факультеты - "org_labels": [c["org"] for c in courses_by_org], - "org_data": [c["total"] for c in courses_by_org], - - # годы - "year_labels": [c["year"] for c in courses_by_year], - "year_data": [c["total"] for c in courses_by_year], - - # языки - "lang_labels": [c["language"] for c in courses_by_lang], - "lang_data": [c["total"] for c in courses_by_lang], - - # формат - "paced_labels": ["Self-paced", "Instructor-led"], - "paced_data": paced_data, + "chart_labels": [c["org"] for c in courses_by_org], + "chart_data": [c["total"] for c in courses_by_org], } - return render(request, "news/analyze3.html", context) + return render_to_response("news/analyze2.html", context, request=request) +# def analyze(request): +# courses = CourseOverview.objects.all() +# +# # 1️⃣ Курсы по факультетам (org) +# courses_by_org = ( +# CourseOverview.objects +# .values("org") +# .annotate(total=Count("id")) +# .order_by("-total") +# ) +# +# # 2️⃣ Курсы по годам старта +# courses_by_year = ( +# CourseOverview.objects +# .exclude(start__isnull=True) +# .annotate(year=ExtractYear("start")) +# .values("year") +# .annotate(total=Count("id")) +# .order_by("year") +# ) +# +# # 3️⃣ Курсы по языкам +# courses_by_lang = ( +# CourseOverview.objects +# .exclude(language__isnull=True) +# .values("language") +# .annotate(total=Count("id")) +# .order_by("-total") +# ) +# +# # 4️⃣ Формат обучения +# paced_data = [ +# CourseOverview.objects.filter(self_paced=True).count(), +# CourseOverview.objects.filter(self_paced=False).count(), +# ] +# +# context = { +# # список курсов +# "courses": courses[:50], +# "courses_count": courses.count(), +# +# # факультеты +# "org_labels": [c["org"] for c in courses_by_org], +# "org_data": [c["total"] for c in courses_by_org], +# +# # годы +# "year_labels": [c["year"] for c in courses_by_year], +# "year_data": [c["total"] for c in courses_by_year], +# +# # языки +# "lang_labels": [c["language"] for c in courses_by_lang], +# "lang_data": [c["total"] for c in courses_by_lang], +# +# # формат +# "paced_labels": ["Self-paced", "Instructor-led"], +# "paced_data": paced_data, +# } +# +# return render(request, "news/analyze3.html", context) From 78c8e65d57e0db1e7bbbbcbfcb7859a6b1f5ada8 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 13 Jan 2026 09:09:46 +0500 Subject: [PATCH 247/447] update --- lms/djangoapps/news/views.py | 129 +++++++++++++++++------------------ 1 file changed, 64 insertions(+), 65 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 0ce9afda5a91..6130b551e80e 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -43,33 +43,13 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) -# from django.db.models import Count -# from django.db.models.functions import ExtractYear -# from django.shortcuts import render - - -def analyze(request): - courses = CourseOverview.objects.all() - - courses_by_org = ( - CourseOverview.objects - .values("org") - .annotate(total=Count("id")) - .order_by("-total") - ) +from django.db.models import Count +from django.db.models.functions import ExtractYear - context = { - "courses": courses[:50], - "courses_count": courses.count(), - "chart_labels": [c["org"] for c in courses_by_org], - "chart_data": [c["total"] for c in courses_by_org], - } - return render_to_response("news/analyze2.html", context, request=request) # def analyze(request): # courses = CourseOverview.objects.all() # -# # 1️⃣ Курсы по факультетам (org) # courses_by_org = ( # CourseOverview.objects # .values("org") @@ -77,51 +57,70 @@ def analyze(request): # .order_by("-total") # ) # -# # 2️⃣ Курсы по годам старта -# courses_by_year = ( -# CourseOverview.objects -# .exclude(start__isnull=True) -# .annotate(year=ExtractYear("start")) -# .values("year") -# .annotate(total=Count("id")) -# .order_by("year") -# ) -# -# # 3️⃣ Курсы по языкам -# courses_by_lang = ( -# CourseOverview.objects -# .exclude(language__isnull=True) -# .values("language") -# .annotate(total=Count("id")) -# .order_by("-total") -# ) -# -# # 4️⃣ Формат обучения -# paced_data = [ -# CourseOverview.objects.filter(self_paced=True).count(), -# CourseOverview.objects.filter(self_paced=False).count(), -# ] -# # context = { -# # список курсов # "courses": courses[:50], # "courses_count": courses.count(), -# -# # факультеты -# "org_labels": [c["org"] for c in courses_by_org], -# "org_data": [c["total"] for c in courses_by_org], -# -# # годы -# "year_labels": [c["year"] for c in courses_by_year], -# "year_data": [c["total"] for c in courses_by_year], -# -# # языки -# "lang_labels": [c["language"] for c in courses_by_lang], -# "lang_data": [c["total"] for c in courses_by_lang], -# -# # формат -# "paced_labels": ["Self-paced", "Instructor-led"], -# "paced_data": paced_data, +# "chart_labels": [c["org"] for c in courses_by_org], +# "chart_data": [c["total"] for c in courses_by_org], # } # -# return render(request, "news/analyze3.html", context) +# return render_to_response("news/analyze2.html", context, request=request) +def analyze(request): + courses = CourseOverview.objects.all() + + # 1️⃣ Курсы по факультетам (org) + courses_by_org = ( + CourseOverview.objects + .values("org") + .annotate(total=Count("id")) + .order_by("-total") + ) + + # 2️⃣ Курсы по годам старта + courses_by_year = ( + CourseOverview.objects + .exclude(start__isnull=True) + .annotate(year=ExtractYear("start")) + .values("year") + .annotate(total=Count("id")) + .order_by("year") + ) + + # 3️⃣ Курсы по языкам + courses_by_lang = ( + CourseOverview.objects + .exclude(language__isnull=True) + .values("language") + .annotate(total=Count("id")) + .order_by("-total") + ) + + # 4️⃣ Формат обучения + paced_data = [ + CourseOverview.objects.filter(self_paced=True).count(), + CourseOverview.objects.filter(self_paced=False).count(), + ] + + context = { + # список курсов + "courses": courses[:50], + "courses_count": courses.count(), + + # факультеты + "org_labels": [c["org"] for c in courses_by_org], + "org_data": [c["total"] for c in courses_by_org], + + # годы + "year_labels": [c["year"] for c in courses_by_year], + "year_data": [c["total"] for c in courses_by_year], + + # языки + "lang_labels": [c["language"] for c in courses_by_lang], + "lang_data": [c["total"] for c in courses_by_lang], + + # формат + "paced_labels": ["Self-paced", "Instructor-led"], + "paced_data": paced_data, + } + + return render(request, "news/analyze3.html", context) From 833fdbddd789c2fc8f2be0c907c4ef4146c17eab Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 13 Jan 2026 09:34:45 +0500 Subject: [PATCH 248/447] render --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 6130b551e80e..96547a8e3b07 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -123,4 +123,4 @@ def analyze(request): "paced_data": paced_data, } - return render(request, "news/analyze3.html", context) + return render_to_response(request, "news/analyze3.html", context) From 07b4fff7a16c9b4f64c0a995da129c40a373d95d Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 13 Jan 2026 09:58:51 +0500 Subject: [PATCH 249/447] d --- lms/djangoapps/news/views.py | 128 +++++++++++++++++------------------ 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 96547a8e3b07..95be2b44a489 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -43,32 +43,13 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) -from django.db.models import Count -from django.db.models.functions import ExtractYear +# from django.db.models import Count +# from django.db.models.functions import ExtractYear -# def analyze(request): -# courses = CourseOverview.objects.all() -# -# courses_by_org = ( -# CourseOverview.objects -# .values("org") -# .annotate(total=Count("id")) -# .order_by("-total") -# ) -# -# context = { -# "courses": courses[:50], -# "courses_count": courses.count(), -# "chart_labels": [c["org"] for c in courses_by_org], -# "chart_data": [c["total"] for c in courses_by_org], -# } -# -# return render_to_response("news/analyze2.html", context, request=request) def analyze(request): courses = CourseOverview.objects.all() - # 1️⃣ Курсы по факультетам (org) courses_by_org = ( CourseOverview.objects .values("org") @@ -76,51 +57,70 @@ def analyze(request): .order_by("-total") ) - # 2️⃣ Курсы по годам старта - courses_by_year = ( - CourseOverview.objects - .exclude(start__isnull=True) - .annotate(year=ExtractYear("start")) - .values("year") - .annotate(total=Count("id")) - .order_by("year") - ) - - # 3️⃣ Курсы по языкам - courses_by_lang = ( - CourseOverview.objects - .exclude(language__isnull=True) - .values("language") - .annotate(total=Count("id")) - .order_by("-total") - ) - - # 4️⃣ Формат обучения - paced_data = [ - CourseOverview.objects.filter(self_paced=True).count(), - CourseOverview.objects.filter(self_paced=False).count(), - ] - context = { - # список курсов "courses": courses[:50], "courses_count": courses.count(), - - # факультеты - "org_labels": [c["org"] for c in courses_by_org], - "org_data": [c["total"] for c in courses_by_org], - - # годы - "year_labels": [c["year"] for c in courses_by_year], - "year_data": [c["total"] for c in courses_by_year], - - # языки - "lang_labels": [c["language"] for c in courses_by_lang], - "lang_data": [c["total"] for c in courses_by_lang], - - # формат - "paced_labels": ["Self-paced", "Instructor-led"], - "paced_data": paced_data, + "chart_labels": [c["org"] for c in courses_by_org], + "chart_data": [c["total"] for c in courses_by_org], } - return render_to_response(request, "news/analyze3.html", context) + return render_to_response("news/analyze2.html", context, request=request) +# def analyze(request): +# courses = CourseOverview.objects.all() +# +# # 1️⃣ Курсы по факультетам (org) +# courses_by_org = ( +# CourseOverview.objects +# .values("org") +# .annotate(total=Count("id")) +# .order_by("-total") +# ) +# +# # 2️⃣ Курсы по годам старта +# courses_by_year = ( +# CourseOverview.objects +# .exclude(start__isnull=True) +# .annotate(year=ExtractYear("start")) +# .values("year") +# .annotate(total=Count("id")) +# .order_by("year") +# ) +# +# # 3️⃣ Курсы по языкам +# courses_by_lang = ( +# CourseOverview.objects +# .exclude(language__isnull=True) +# .values("language") +# .annotate(total=Count("id")) +# .order_by("-total") +# ) +# +# # 4️⃣ Формат обучения +# paced_data = [ +# CourseOverview.objects.filter(self_paced=True).count(), +# CourseOverview.objects.filter(self_paced=False).count(), +# ] +# +# context = { +# # список курсов +# "courses": courses[:50], +# "courses_count": courses.count(), +# +# # факультеты +# "org_labels": [c["org"] for c in courses_by_org], +# "org_data": [c["total"] for c in courses_by_org], +# +# # годы +# "year_labels": [c["year"] for c in courses_by_year], +# "year_data": [c["total"] for c in courses_by_year], +# +# # языки +# "lang_labels": [c["language"] for c in courses_by_lang], +# "lang_data": [c["total"] for c in courses_by_lang], +# +# # формат +# "paced_labels": ["Self-paced", "Instructor-led"], +# "paced_data": paced_data, +# } +# +# return render_to_response(request, "news/analyze3.html", context) From c281eb978bc36d5e0e683c7b1588824c31e8110a Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 15 Jan 2026 14:10:44 +0500 Subject: [PATCH 250/447] Beta --- lms/djangoapps/news/views.py | 126 +++++++++++++++++------------------ 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 95be2b44a489..23a9e20e14c7 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -46,29 +46,10 @@ def news_create(request): # from django.db.models import Count # from django.db.models.functions import ExtractYear - -def analyze(request): - courses = CourseOverview.objects.all() - - courses_by_org = ( - CourseOverview.objects - .values("org") - .annotate(total=Count("id")) - .order_by("-total") - ) - - context = { - "courses": courses[:50], - "courses_count": courses.count(), - "chart_labels": [c["org"] for c in courses_by_org], - "chart_data": [c["total"] for c in courses_by_org], - } - - return render_to_response("news/analyze2.html", context, request=request) +# # def analyze(request): # courses = CourseOverview.objects.all() # -# # 1️⃣ Курсы по факультетам (org) # courses_by_org = ( # CourseOverview.objects # .values("org") @@ -76,51 +57,70 @@ def analyze(request): # .order_by("-total") # ) # -# # 2️⃣ Курсы по годам старта -# courses_by_year = ( -# CourseOverview.objects -# .exclude(start__isnull=True) -# .annotate(year=ExtractYear("start")) -# .values("year") -# .annotate(total=Count("id")) -# .order_by("year") -# ) -# -# # 3️⃣ Курсы по языкам -# courses_by_lang = ( -# CourseOverview.objects -# .exclude(language__isnull=True) -# .values("language") -# .annotate(total=Count("id")) -# .order_by("-total") -# ) -# -# # 4️⃣ Формат обучения -# paced_data = [ -# CourseOverview.objects.filter(self_paced=True).count(), -# CourseOverview.objects.filter(self_paced=False).count(), -# ] -# # context = { -# # список курсов # "courses": courses[:50], # "courses_count": courses.count(), -# -# # факультеты -# "org_labels": [c["org"] for c in courses_by_org], -# "org_data": [c["total"] for c in courses_by_org], -# -# # годы -# "year_labels": [c["year"] for c in courses_by_year], -# "year_data": [c["total"] for c in courses_by_year], -# -# # языки -# "lang_labels": [c["language"] for c in courses_by_lang], -# "lang_data": [c["total"] for c in courses_by_lang], -# -# # формат -# "paced_labels": ["Self-paced", "Instructor-led"], -# "paced_data": paced_data, +# "chart_labels": [c["org"] for c in courses_by_org], +# "chart_data": [c["total"] for c in courses_by_org], # } # -# return render_to_response(request, "news/analyze3.html", context) +# return render_to_response("news/analyze2.html", context, request=request) +def analyze(request): + courses = CourseOverview.objects.all() + + # 1️⃣ Курсы по факультетам (org) + courses_by_org = ( + CourseOverview.objects + .values("org") + .annotate(total=Count("id")) + .order_by("-total") + ) + + # 2️⃣ Курсы по годам старта + courses_by_year = ( + CourseOverview.objects + .exclude(start__isnull=True) + .annotate(year=ExtractYear("start")) + .values("year") + .annotate(total=Count("id")) + .order_by("year") + ) + + # 3️⃣ Курсы по языкам + courses_by_lang = ( + CourseOverview.objects + .exclude(language__isnull=True) + .values("language") + .annotate(total=Count("id")) + .order_by("-total") + ) + + # 4️⃣ Формат обучения + paced_data = [ + CourseOverview.objects.filter(self_paced=True).count(), + CourseOverview.objects.filter(self_paced=False).count(), + ] + + context = { + # список курсов + "courses": courses[:50], + "courses_count": courses.count(), + + # факультеты + "org_labels": [c["org"] for c in courses_by_org], + "org_data": [c["total"] for c in courses_by_org], + + # годы + "year_labels": [c["year"] for c in courses_by_year], + "year_data": [c["total"] for c in courses_by_year], + + # языки + "lang_labels": [c["language"] for c in courses_by_lang], + "lang_data": [c["total"] for c in courses_by_lang], + + # формат + "paced_labels": ["Self-paced", "Instructor-led"], + "paced_data": paced_data, + } + + return render_to_response(request, "news/analyze3.html", context) From 906062600a1bc5e243fdc4fb9d1210f925eac9ed Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 15 Jan 2026 14:16:34 +0500 Subject: [PATCH 251/447] beta1 --- lms/djangoapps/news/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 23a9e20e14c7..91730d4693eb 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -43,8 +43,8 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) -# from django.db.models import Count -# from django.db.models.functions import ExtractYear +from django.db.models import Count +from django.db.models.functions import ExtractYear # # def analyze(request): From 47ba6a704d6e8c9b4373176d28c1624dec27dbef Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 15 Jan 2026 14:32:45 +0500 Subject: [PATCH 252/447] beta2 --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 91730d4693eb..dbbe3c80c698 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -123,4 +123,4 @@ def analyze(request): "paced_data": paced_data, } - return render_to_response(request, "news/analyze3.html", context) + return render_to_response("news/analyze3.html", context, request) From 0d85c756448519ebb56c14e049b7efc19f1fe512 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 15 Jan 2026 14:49:10 +0500 Subject: [PATCH 253/447] beta --- lms/djangoapps/news/views.py | 37 +++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index dbbe3c80c698..2d01f21eafea 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -6,7 +6,7 @@ from django.contrib.auth.decorators import user_passes_test from django.db.models import Count -from openedx.core.djangoapps.content.course_overviews.models import CourseOverview + # from ..commerce.api.v1.models import Course @@ -65,10 +65,19 @@ def news_create(request): # } # # return render_to_response("news/analyze2.html", context, request=request) + +import json + +import json +from django.db.models import Count +from django.db.models.functions import ExtractYear +from openedx.core.djangoapps.content.course_overviews.models import CourseOverview +from edxmako.shortcuts import render_to_response + + def analyze(request): courses = CourseOverview.objects.all() - # 1️⃣ Курсы по факультетам (org) courses_by_org = ( CourseOverview.objects .values("org") @@ -76,7 +85,6 @@ def analyze(request): .order_by("-total") ) - # 2️⃣ Курсы по годам старта courses_by_year = ( CourseOverview.objects .exclude(start__isnull=True) @@ -86,7 +94,6 @@ def analyze(request): .order_by("year") ) - # 3️⃣ Курсы по языкам courses_by_lang = ( CourseOverview.objects .exclude(language__isnull=True) @@ -95,32 +102,32 @@ def analyze(request): .order_by("-total") ) - # 4️⃣ Формат обучения paced_data = [ CourseOverview.objects.filter(self_paced=True).count(), CourseOverview.objects.filter(self_paced=False).count(), ] context = { - # список курсов + # список курсов (НЕ для JS — оставляем как есть) "courses": courses[:50], "courses_count": courses.count(), # факультеты - "org_labels": [c["org"] for c in courses_by_org], - "org_data": [c["total"] for c in courses_by_org], + "org_labels": json.dumps([c["org"] for c in courses_by_org]), + "org_data": json.dumps([c["total"] for c in courses_by_org]), # годы - "year_labels": [c["year"] for c in courses_by_year], - "year_data": [c["total"] for c in courses_by_year], + "year_labels": json.dumps([c["year"] for c in courses_by_year]), + "year_data": json.dumps([c["total"] for c in courses_by_year]), # языки - "lang_labels": [c["language"] for c in courses_by_lang], - "lang_data": [c["total"] for c in courses_by_lang], + "lang_labels": json.dumps([c["language"] for c in courses_by_lang]), + "lang_data": json.dumps([c["total"] for c in courses_by_lang]), # формат - "paced_labels": ["Self-paced", "Instructor-led"], - "paced_data": paced_data, + "paced_labels": json.dumps(["Self-paced", "Instructor-led"]), + "paced_data": json.dumps(paced_data), } - return render_to_response("news/analyze3.html", context, request) + return render_to_response("news/analyze3.html", context, request=request) + From b1181442e8f6411a5098a80aab39b914ac0c61c5 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 15 Jan 2026 14:52:09 +0500 Subject: [PATCH 254/447] Beta --- lms/djangoapps/news/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 2d01f21eafea..091317d7f028 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -72,7 +72,6 @@ def news_create(request): from django.db.models import Count from django.db.models.functions import ExtractYear from openedx.core.djangoapps.content.course_overviews.models import CourseOverview -from edxmako.shortcuts import render_to_response def analyze(request): From 505f98161ba8445395d3298247723ee4bd682b70 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 15 Jan 2026 17:05:26 +0500 Subject: [PATCH 255/447] GG --- lms/djangoapps/news/views.py | 130 +++++++++++++++++------------------ 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 091317d7f028..fcd0d4ba202b 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -43,8 +43,8 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) -from django.db.models import Count -from django.db.models.functions import ExtractYear +# from django.db.models import Count +# from django.db.models.functions import ExtractYear # # def analyze(request): @@ -66,67 +66,67 @@ def news_create(request): # # return render_to_response("news/analyze2.html", context, request=request) -import json - -import json -from django.db.models import Count -from django.db.models.functions import ExtractYear -from openedx.core.djangoapps.content.course_overviews.models import CourseOverview - - -def analyze(request): - courses = CourseOverview.objects.all() - - courses_by_org = ( - CourseOverview.objects - .values("org") - .annotate(total=Count("id")) - .order_by("-total") - ) - - courses_by_year = ( - CourseOverview.objects - .exclude(start__isnull=True) - .annotate(year=ExtractYear("start")) - .values("year") - .annotate(total=Count("id")) - .order_by("year") - ) - - courses_by_lang = ( - CourseOverview.objects - .exclude(language__isnull=True) - .values("language") - .annotate(total=Count("id")) - .order_by("-total") - ) - - paced_data = [ - CourseOverview.objects.filter(self_paced=True).count(), - CourseOverview.objects.filter(self_paced=False).count(), - ] - - context = { - # список курсов (НЕ для JS — оставляем как есть) - "courses": courses[:50], - "courses_count": courses.count(), - - # факультеты - "org_labels": json.dumps([c["org"] for c in courses_by_org]), - "org_data": json.dumps([c["total"] for c in courses_by_org]), - - # годы - "year_labels": json.dumps([c["year"] for c in courses_by_year]), - "year_data": json.dumps([c["total"] for c in courses_by_year]), - - # языки - "lang_labels": json.dumps([c["language"] for c in courses_by_lang]), - "lang_data": json.dumps([c["total"] for c in courses_by_lang]), - - # формат - "paced_labels": json.dumps(["Self-paced", "Instructor-led"]), - "paced_data": json.dumps(paced_data), - } - - return render_to_response("news/analyze3.html", context, request=request) +# import json +# +# import json +# from django.db.models import Count +# from django.db.models.functions import ExtractYear +# from openedx.core.djangoapps.content.course_overviews.models import CourseOverview +# +# def analyze(request): +# courses = CourseOverview.objects.all() +# +# courses_by_org = ( +# CourseOverview.objects +# .values("org") +# .annotate(total=Count("id")) +# .order_by("-total") +# ) +# +# courses_by_year = ( +# CourseOverview.objects +# .exclude(start__isnull=True) +# .annotate(year=ExtractYear("start")) +# .values("year") +# .annotate(total=Count("id")) +# .order_by("year") +# ) +# +# courses_by_lang = ( +# CourseOverview.objects +# .exclude(language__isnull=True) +# .values("language") +# .annotate(total=Count("id")) +# .order_by("-total") +# ) +# +# paced_data = [ +# CourseOverview.objects.filter(self_paced=True).count(), +# CourseOverview.objects.filter(self_paced=False).count(), +# ] +# +# context = { +# # список курсов (НЕ для JS — оставляем как есть) +# "courses": courses[:50], +# "courses_count": courses.count(), +# +# # факультеты +# "org_labels": json.dumps([c["org"] for c in courses_by_org]), +# "org_data": json.dumps([c["total"] for c in courses_by_org]), +# +# # годы +# "year_labels": json.dumps([c["year"] for c in courses_by_year]), +# "year_data": json.dumps([c["total"] for c in courses_by_year]), +# +# # языки +# "lang_labels": json.dumps([c["language"] for c in courses_by_lang]), +# "lang_data": json.dumps([c["total"] for c in courses_by_lang]), +# +# # формат +# "paced_labels": json.dumps(["Self-paced", "Instructor-led"]), +# "paced_data": json.dumps(paced_data), +# } +# +# return render_to_response("news/analyze3.html", context, request=request) +# From de60eced0ab87735350350e81323ec445ec77e66 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 15 Jan 2026 17:08:55 +0500 Subject: [PATCH 256/447] workd --- lms/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/urls.py b/lms/urls.py index dec4e4896422..649339fe5b03 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -98,7 +98,7 @@ path('news/', news_views.news_list, name='news_list'), path('news//', news_views.news_detail, name='news_detail'), path('news/create/', news_views.news_create, name='news_create'), - path('analyze/', news_views.analyze, name='analyze'), + # path('analyze/', news_views.analyze, name='analyze'), path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware From da09c2d5c9f1da885a6880b91c31b49dcb9989bf Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 26 Jan 2026 14:25:04 +0500 Subject: [PATCH 257/447] Ok --- lms/djangoapps/news/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index fcd0d4ba202b..aaf503a3a6e6 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -45,7 +45,7 @@ def news_create(request): # from django.db.models import Count # from django.db.models.functions import ExtractYear - +# # # def analyze(request): # courses = CourseOverview.objects.all() @@ -65,14 +65,14 @@ def news_create(request): # } # # return render_to_response("news/analyze2.html", context, request=request) - +# # import json # # import json # from django.db.models import Count # from django.db.models.functions import ExtractYear # from openedx.core.djangoapps.content.course_overviews.models import CourseOverview - +# # # def analyze(request): # courses = CourseOverview.objects.all() @@ -129,4 +129,4 @@ def news_create(request): # } # # return render_to_response("news/analyze3.html", context, request=request) -# + From ebf0641653a8aee9584628ff1c819cc32a36a0d2 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 26 Jan 2026 14:26:14 +0500 Subject: [PATCH 258/447] New version test --- lms/djangoapps/news/views.py | 172 +++++++++++++++++------------------ lms/urls.py | 2 +- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index aaf503a3a6e6..0efaa6920c89 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -43,90 +43,90 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) -# from django.db.models import Count -# from django.db.models.functions import ExtractYear -# -# -# def analyze(request): -# courses = CourseOverview.objects.all() -# -# courses_by_org = ( -# CourseOverview.objects -# .values("org") -# .annotate(total=Count("id")) -# .order_by("-total") -# ) -# -# context = { -# "courses": courses[:50], -# "courses_count": courses.count(), -# "chart_labels": [c["org"] for c in courses_by_org], -# "chart_data": [c["total"] for c in courses_by_org], -# } -# -# return render_to_response("news/analyze2.html", context, request=request) -# -# import json -# -# import json -# from django.db.models import Count -# from django.db.models.functions import ExtractYear -# from openedx.core.djangoapps.content.course_overviews.models import CourseOverview -# -# -# def analyze(request): -# courses = CourseOverview.objects.all() -# -# courses_by_org = ( -# CourseOverview.objects -# .values("org") -# .annotate(total=Count("id")) -# .order_by("-total") -# ) -# -# courses_by_year = ( -# CourseOverview.objects -# .exclude(start__isnull=True) -# .annotate(year=ExtractYear("start")) -# .values("year") -# .annotate(total=Count("id")) -# .order_by("year") -# ) -# -# courses_by_lang = ( -# CourseOverview.objects -# .exclude(language__isnull=True) -# .values("language") -# .annotate(total=Count("id")) -# .order_by("-total") -# ) -# -# paced_data = [ -# CourseOverview.objects.filter(self_paced=True).count(), -# CourseOverview.objects.filter(self_paced=False).count(), -# ] -# -# context = { -# # список курсов (НЕ для JS — оставляем как есть) -# "courses": courses[:50], -# "courses_count": courses.count(), -# -# # факультеты -# "org_labels": json.dumps([c["org"] for c in courses_by_org]), -# "org_data": json.dumps([c["total"] for c in courses_by_org]), -# -# # годы -# "year_labels": json.dumps([c["year"] for c in courses_by_year]), -# "year_data": json.dumps([c["total"] for c in courses_by_year]), -# -# # языки -# "lang_labels": json.dumps([c["language"] for c in courses_by_lang]), -# "lang_data": json.dumps([c["total"] for c in courses_by_lang]), -# -# # формат -# "paced_labels": json.dumps(["Self-paced", "Instructor-led"]), -# "paced_data": json.dumps(paced_data), -# } -# -# return render_to_response("news/analyze3.html", context, request=request) +from django.db.models import Count +from django.db.models.functions import ExtractYear + + +def analyze(request): + courses = CourseOverview.objects.all() + + courses_by_org = ( + CourseOverview.objects + .values("org") + .annotate(total=Count("id")) + .order_by("-total") + ) + + context = { + "courses": courses[:50], + "courses_count": courses.count(), + "chart_labels": [c["org"] for c in courses_by_org], + "chart_data": [c["total"] for c in courses_by_org], + } + + return render_to_response("news/analyze2.html", context, request=request) + +import json + +import json +from django.db.models import Count +from django.db.models.functions import ExtractYear +from openedx.core.djangoapps.content.course_overviews.models import CourseOverview + + +def analyze(request): + courses = CourseOverview.objects.all() + + courses_by_org = ( + CourseOverview.objects + .values("org") + .annotate(total=Count("id")) + .order_by("-total") + ) + + courses_by_year = ( + CourseOverview.objects + .exclude(start__isnull=True) + .annotate(year=ExtractYear("start")) + .values("year") + .annotate(total=Count("id")) + .order_by("year") + ) + + courses_by_lang = ( + CourseOverview.objects + .exclude(language__isnull=True) + .values("language") + .annotate(total=Count("id")) + .order_by("-total") + ) + + paced_data = [ + CourseOverview.objects.filter(self_paced=True).count(), + CourseOverview.objects.filter(self_paced=False).count(), + ] + + context = { + # список курсов (НЕ для JS — оставляем как есть) + "courses": courses[:50], + "courses_count": courses.count(), + + # факультеты + "org_labels": json.dumps([c["org"] for c in courses_by_org]), + "org_data": json.dumps([c["total"] for c in courses_by_org]), + + # годы + "year_labels": json.dumps([c["year"] for c in courses_by_year]), + "year_data": json.dumps([c["total"] for c in courses_by_year]), + + # языки + "lang_labels": json.dumps([c["language"] for c in courses_by_lang]), + "lang_data": json.dumps([c["total"] for c in courses_by_lang]), + + # формат + "paced_labels": json.dumps(["Self-paced", "Instructor-led"]), + "paced_data": json.dumps(paced_data), + } + + return render_to_response("news/analyze3.html", context, request=request) diff --git a/lms/urls.py b/lms/urls.py index 649339fe5b03..dec4e4896422 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -98,7 +98,7 @@ path('news/', news_views.news_list, name='news_list'), path('news//', news_views.news_detail, name='news_detail'), path('news/create/', news_views.news_create, name='news_create'), - # path('analyze/', news_views.analyze, name='analyze'), + path('analyze/', news_views.analyze, name='analyze'), path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware From cc96d4d39fb6426505e594d51b64c712b2df31f6 Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 28 Jan 2026 11:36:05 +0500 Subject: [PATCH 259/447] no snow --- lms/templates/courseware/courses.html | 682 +++++++++----------------- 1 file changed, 225 insertions(+), 457 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 72b206c0f6bb..f8826922a3be 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -1,585 +1,353 @@ <%page expression_filter="h"/> <%! -from django.utils.translation import gettext as _ + from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> <%block name="pagetitle">${_("Courses")} <%block name="headextra"> - + <%block name="content"> -
    +

    ${_("Courses")}

    ${_("Explore our collection of educational programs and start learning today")}

    -
    +
    -
    +
    -

    ${_("Filter Courses")}

    -
    - - - - - - - -
    +

    ${_("Filter Courses")}

    +
    + + + + + + + +
    - % if courses: + % if courses: % for course in courses: - <% - from django.utils import timezone - now = timezone.now() - status = "completed" if course.end and course.end < now else "ongoing" - status_text = _('Completed') if status == "completed" else _('Ongoing') - %> -
    + <% + from django.utils import timezone + now = timezone.now() + status = "completed" if course.end and course.end < now else "ongoing" + status_text = _('Completed') if status == "completed" else _('Ongoing') + %> +
    - ${course.display_name} -
    ${status_text}
    + ${course.display_name} +
    ${status_text}
    -

    ${course.display_name}

    -
    - ${course.display_org_with_default} - % if course.language: - ${course.language} - % endif -
    -
    - ${_('Start')} - : ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} - ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} -
    - ${_('Go to course')} +

    ${course.display_name}

    +
    + ${course.display_org_with_default} + % if course.language: + ${course.language} + % endif +
    +
    + ${_('Start')}: ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} + ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} +
    + ${_('Go to course')}
    -
    +
    % endfor - % else: + % else:
    - 📚 -

    ${_('No courses found')}

    -

    ${_('There are currently no available courses')}

    + 📚 +

    ${_('No courses found')}

    +

    ${_('There are currently no available courses')}

    - % endif + % endif
    -
    +
    - - + const query = document.getElementById("searchInput").value.toLowerCase().trim(); + const lang = document.getElementById("languageFilter").value; + const status = document.getElementById("statusFilter").value; + const org = document.getElementById("orgFilter").value; + + const cards = document.querySelectorAll("#courseList .course"); + let visible = 0; + + cards.forEach(card => { + const title = card.getAttribute("data-title"); + const cardLang = card.getAttribute("data-language"); + const cardStatus = card.getAttribute("data-status"); + const cardOrg = card.getAttribute("data-org"); + + const matches = + (!query || title.includes(query)) && + (!lang || cardLang === lang) && + (!status || cardStatus === status) && + (!org || cardOrg === org); + + card.style.display = matches ? "flex" : "none"; + if (matches) visible++; + }); + + const emptyState = document.querySelector(".no-results"); + if (!visible && !emptyState) { + const div = document.createElement("div"); + div.className = "no-results"; + div.innerHTML = `🔍

    ${_('No courses found')}

    `; + document.getElementById("courseList").appendChild(div); + } else if (visible && emptyState) { + emptyState.remove(); + } + } + From b81ecb99bd008b8ff30f2614a61d98238f8c1076 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 29 Jan 2026 14:39:16 +0500 Subject: [PATCH 260/447] New column for db --- lms/templates/courseware/courses.html | 2 ++ .../djangoapps/content/course_overviews/models.py | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index f8826922a3be..640eedf18a30 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -351,3 +351,5 @@

    ${_('No courses found')}

    } + + diff --git a/openedx/core/djangoapps/content/course_overviews/models.py b/openedx/core/djangoapps/content/course_overviews/models.py index 10a56f0868fb..c3a9e3e99089 100644 --- a/openedx/core/djangoapps/content/course_overviews/models.py +++ b/openedx/core/djangoapps/content/course_overviews/models.py @@ -59,6 +59,11 @@ class CourseOverview(TimeStampedModel): .. no_pii: """ + COMPLEXITY_CHOICES = [ + ("easy", "Easy"), + ("medium", "Medium"), + ("hard", "Hard"), + ] class Meta: app_label = 'course_overviews' @@ -126,6 +131,14 @@ class Meta: short_description = models.TextField(null=True) course_video_url = models.TextField(null=True) effort = models.TextField(null=True) + # New column + complexity = models.CharField( + max_length=10, + choices=COMPLEXITY_CHOICES, + default="medium", + null=False, + blank=False, + ) self_paced = models.BooleanField(default=False) marketing_url = models.TextField(null=True) eligible_for_financial_aid = models.BooleanField(default=True) From 084e611823c50387a1326dca8a87b02c031219e8 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 29 Jan 2026 16:45:31 +0500 Subject: [PATCH 261/447] add new migrations --- ...0030_courseoverview_complexity_and_more.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 openedx/core/djangoapps/content/course_overviews/migrations/0030_courseoverview_complexity_and_more.py diff --git a/openedx/core/djangoapps/content/course_overviews/migrations/0030_courseoverview_complexity_and_more.py b/openedx/core/djangoapps/content/course_overviews/migrations/0030_courseoverview_complexity_and_more.py new file mode 100644 index 000000000000..75f46e3ce6b5 --- /dev/null +++ b/openedx/core/djangoapps/content/course_overviews/migrations/0030_courseoverview_complexity_and_more.py @@ -0,0 +1,40 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "course_overviews", + "0029_alter_historicalcourseoverview_options", + ), + ] + + operations = [ + migrations.AddField( + model_name="courseoverview", + name="complexity", + field=models.CharField( + max_length=10, + default="medium", + choices=[ + ("easy", "Easy"), + ("medium", "Medium"), + ("hard", "Hard"), + ], + ), + ), + migrations.AddField( + model_name="historicalcourseoverview", + name="complexity", + field=models.CharField( + max_length=10, + default="medium", + choices=[ + ("easy", "Easy"), + ("medium", "Medium"), + ("hard", "Hard"), + ], + ), + ), + ] From 72058510353758dc47c3a9f1a743af728d7eabb6 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 30 Jan 2026 10:10:07 +0500 Subject: [PATCH 262/447] New row in the course about --- lms/templates/courseware/course_about.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html index 502665bd842b..cf66ecdab05d 100644 --- a/lms/templates/courseware/course_about.html +++ b/lms/templates/courseware/course_about.html @@ -225,6 +225,9 @@

    ${course.display_name_with_default}

  • ${_("Estimated Effort")}

    ${get_course_about_section(request, course, "effort")}
  • % endif + % if get_course_about_section(request, course, "complexity"): +
  • ${_("Course Difficulties")}

    ${get_course_about_section(request, course, "complexity")}
  • + % endif ##
  • ${_('Course Length')}

    ${_('{number} weeks').format(number=15)}
  • %if course_price and (is_cosmetic_price_enabled): From 7bd976395dae0205eff6201dff5d3e47c93a04ba Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 30 Jan 2026 14:09:46 +0500 Subject: [PATCH 263/447] add new row --- lms/templates/courseware/course_about.html | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html index cf66ecdab05d..561143b6c8a5 100644 --- a/lms/templates/courseware/course_about.html +++ b/lms/templates/courseware/course_about.html @@ -228,6 +228,7 @@

    ${course.display_name_with_default}

    % if get_course_about_section(request, course, "complexity"):
  • ${_("Course Difficulties")}

    ${get_course_about_section(request, course, "complexity")}
  • % endif +

    Hello world

    ##
  • ${_('Course Length')}

    ${_('{number} weeks').format(number=15)}
  • %if course_price and (is_cosmetic_price_enabled): From d0c88be7cd9b44c7eb4dfc4661b90f73f1bbb60b Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 2 Feb 2026 10:41:41 +0500 Subject: [PATCH 264/447] add new column --- lms/djangoapps/courseware/views/views.py | 2 ++ lms/templates/courseware/course_about.html | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 6fe5b22f268d..88640a35a950 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -857,9 +857,11 @@ def course_about(request, course_id): # pylint: disable=too-many-statements sidebar_html_enabled = ENABLE_COURSE_ABOUT_SIDEBAR_HTML.is_enabled() allow_anonymous = check_public_access(course, [COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE]) + complexity = overview.extra_fields.get("complexity") context = { 'course': course, + 'complexity': complexity, 'course_details': course_details, 'staff_access': staff_access, 'studio_url': studio_url, diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html index 561143b6c8a5..b54a4e83686c 100644 --- a/lms/templates/courseware/course_about.html +++ b/lms/templates/courseware/course_about.html @@ -225,10 +225,17 @@

    ${course.display_name_with_default}

  • ${_("Estimated Effort")}

    ${get_course_about_section(request, course, "effort")}
  • % endif - % if get_course_about_section(request, course, "complexity"): -
  • ${_("Course Difficulties")}

    ${get_course_about_section(request, course, "complexity")}
  • + % if course_complexity: +
  • + +

    + ${_("Course Difficulty")} +

    + + ${course_complexity} + +
  • % endif -

    Hello world

    ##
  • ${_('Course Length')}

    ${_('{number} weeks').format(number=15)}
  • %if course_price and (is_cosmetic_price_enabled): From dbdfef123acfb17f798a6a3b40f41229d6f562e8 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 2 Feb 2026 12:01:26 +0500 Subject: [PATCH 265/447] fix --- lms/djangoapps/courseware/views/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 88640a35a950..29b0202465f4 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -857,7 +857,7 @@ def course_about(request, course_id): # pylint: disable=too-many-statements sidebar_html_enabled = ENABLE_COURSE_ABOUT_SIDEBAR_HTML.is_enabled() allow_anonymous = check_public_access(course, [COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE]) - complexity = overview.extra_fields.get("complexity") + complexity = overview.other_course_settings.get("complexity") context = { 'course': course, From d16423be0e3474122a230a348735062c3b74da86 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 2 Feb 2026 12:28:37 +0500 Subject: [PATCH 266/447] fix --- lms/djangoapps/courseware/views/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 29b0202465f4..6f69a81cd3bf 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -857,7 +857,7 @@ def course_about(request, course_id): # pylint: disable=too-many-statements sidebar_html_enabled = ENABLE_COURSE_ABOUT_SIDEBAR_HTML.is_enabled() allow_anonymous = check_public_access(course, [COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE]) - complexity = overview.other_course_settings.get("complexity") + complexity = overview.complexity context = { 'course': course, From 2da71c4e63ce5810a113a6d6c4d8d45a8f032df2 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 2 Feb 2026 14:15:32 +0500 Subject: [PATCH 267/447] fix --- lms/templates/courseware/course_about.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html index b54a4e83686c..369b9b4a6c2c 100644 --- a/lms/templates/courseware/course_about.html +++ b/lms/templates/courseware/course_about.html @@ -225,14 +225,14 @@

    ${course.display_name_with_default}

  • ${_("Estimated Effort")}

    ${get_course_about_section(request, course, "effort")}
  • % endif - % if course_complexity: + % if complexity:
  • ${_("Course Difficulty")}

    - ${course_complexity} + ${complexity}
  • % endif From 3a82976b544c58118e012c7d20d5466cf2d5188c Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 3 Feb 2026 11:20:24 +0500 Subject: [PATCH 268/447] add translation --- lms/templates/courseware/course_about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html index 369b9b4a6c2c..ac82a6dbfb1d 100644 --- a/lms/templates/courseware/course_about.html +++ b/lms/templates/courseware/course_about.html @@ -232,7 +232,7 @@

    ${course.display_name_with_default}

    ${_("Course Difficulty")}

    - ${complexity} + ${_(complexity)} % endif From 2449b1095872be6f8f1783deac7fb5231bd10c92 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 3 Feb 2026 15:19:24 +0500 Subject: [PATCH 269/447] new table --- lms/djangoapps/news/models.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/models.py b/lms/djangoapps/news/models.py index 55088bf33945..6057e6d83de2 100644 --- a/lms/djangoapps/news/models.py +++ b/lms/djangoapps/news/models.py @@ -18,4 +18,8 @@ class Meta: ordering = ['-created_at'] def __str__(self): - return self.title \ No newline at end of file + return self.title + + +class EmptyTable(models.Model): + title = models.CharField(max_length=200, verbose_name="Заголовок") From 17ab7a3acd8836b1c272500d82298b46156e0ce1 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 3 Feb 2026 15:40:00 +0500 Subject: [PATCH 270/447] new table migrations --- lms/djangoapps/news/migrations/002_initial.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lms/djangoapps/news/migrations/002_initial.py diff --git a/lms/djangoapps/news/migrations/002_initial.py b/lms/djangoapps/news/migrations/002_initial.py new file mode 100644 index 000000000000..a8bbefc1ac2a --- /dev/null +++ b/lms/djangoapps/news/migrations/002_initial.py @@ -0,0 +1,27 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='EmptyTable', + fields=[ + ('id', models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name='ID' + )), + ('title', models.CharField( + max_length=200, + verbose_name='Заголовок' + )), + ], + ), + ] From a5ac18c16154dda63431e9342b0bee4393d9dc98 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 3 Feb 2026 15:55:06 +0500 Subject: [PATCH 271/447] new table --- .../news/migrations/{002_initial.py => 0002_add_new_table.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lms/djangoapps/news/migrations/{002_initial.py => 0002_add_new_table.py} (100%) diff --git a/lms/djangoapps/news/migrations/002_initial.py b/lms/djangoapps/news/migrations/0002_add_new_table.py similarity index 100% rename from lms/djangoapps/news/migrations/002_initial.py rename to lms/djangoapps/news/migrations/0002_add_new_table.py From 9953afcc7c97e170db07c7950103243421e02af6 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 3 Feb 2026 16:02:51 +0500 Subject: [PATCH 272/447] remove --- .../news/migrations/0002_add_new_table.py | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100644 lms/djangoapps/news/migrations/0002_add_new_table.py diff --git a/lms/djangoapps/news/migrations/0002_add_new_table.py b/lms/djangoapps/news/migrations/0002_add_new_table.py deleted file mode 100644 index a8bbefc1ac2a..000000000000 --- a/lms/djangoapps/news/migrations/0002_add_new_table.py +++ /dev/null @@ -1,27 +0,0 @@ -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='EmptyTable', - fields=[ - ('id', models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name='ID' - )), - ('title', models.CharField( - max_length=200, - verbose_name='Заголовок' - )), - ], - ), - ] From 2be786e5e4323972dce0f066f89f9f72c6f3d946 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 3 Feb 2026 16:14:37 +0500 Subject: [PATCH 273/447] add new table --- .../news/migrations/0002_emptytable.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lms/djangoapps/news/migrations/0002_emptytable.py diff --git a/lms/djangoapps/news/migrations/0002_emptytable.py b/lms/djangoapps/news/migrations/0002_emptytable.py new file mode 100644 index 000000000000..a8bbefc1ac2a --- /dev/null +++ b/lms/djangoapps/news/migrations/0002_emptytable.py @@ -0,0 +1,27 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='EmptyTable', + fields=[ + ('id', models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name='ID' + )), + ('title', models.CharField( + max_length=200, + verbose_name='Заголовок' + )), + ], + ), + ] From 156977d2e94630ee55a2384504ae196230d6282e Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 3 Feb 2026 16:24:33 +0500 Subject: [PATCH 274/447] add new corrections --- .../news/migrations/0002_emptytable.py | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/lms/djangoapps/news/migrations/0002_emptytable.py b/lms/djangoapps/news/migrations/0002_emptytable.py index a8bbefc1ac2a..9efc84b62d29 100644 --- a/lms/djangoapps/news/migrations/0002_emptytable.py +++ b/lms/djangoapps/news/migrations/0002_emptytable.py @@ -3,25 +3,30 @@ class Migration(migrations.Migration): - initial = True - dependencies = [ + ("news", "0001_initial"), ] operations = [ migrations.CreateModel( - name='EmptyTable', + name="EmptyTable", fields=[ - ('id', models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name='ID' - )), - ('title', models.CharField( - max_length=200, - verbose_name='Заголовок' - )), + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "title", + models.CharField( + max_length=200, + verbose_name="Заголовок", + ), + ), ], ), ] From 9a610e77130418be50a5e7ed314ae13cfee45a67 Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 4 Feb 2026 10:20:37 +0500 Subject: [PATCH 275/447] modify progress function --- lms/djangoapps/courseware/views/views.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 6f69a81cd3bf..413f4847ace3 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -975,7 +975,10 @@ def _progress(request, course_key, student_id): student_id = int(student_id) # Check for ValueError if 'student_id' cannot be converted to integer. except ValueError: - raise Http404 # lint-amnesty, pylint: disable=raise-missing-from + try: + user_by_username = User.objects.get(username=student_id) + except User.DoesNotExist: + raise Http404 course = get_course_with_access(request.user, 'load', course_key) @@ -997,9 +1000,12 @@ def _progress(request, course_key, student_id): if not has_access_on_students_profiles: raise Http404 try: - student = User.objects.get(id=student_id) + if user_by_username: + student = user_by_username + else: + student = User.objects.get(id=student_id) except User.DoesNotExist: - raise Http404 # lint-amnesty, pylint: disable=raise-missing-from + raise Http404 # lint-amnesty, pylint: disable=raise-missing-from # NOTE: To make sure impersonation by instructor works, use # student instead of request.user in the rest of the function. From bf2e8b54fa4e4242ac2b7f0d3b0a618188283337 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 12 Feb 2026 17:11:33 +0500 Subject: [PATCH 276/447] some changes --- lms/djangoapps/grades/rest_api/serializers.py | 2 +- lms/djangoapps/grades/rest_api/v1/gradebook_views.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/grades/rest_api/serializers.py b/lms/djangoapps/grades/rest_api/serializers.py index b5c757f31bc6..36a6a07305bb 100644 --- a/lms/djangoapps/grades/rest_api/serializers.py +++ b/lms/djangoapps/grades/rest_api/serializers.py @@ -57,7 +57,7 @@ class StudentGradebookEntrySerializer(serializers.Serializer): external_user_key = serializers.CharField(required=False) percent = serializers.FloatField() section_breakdown = SectionBreakdownSerializer(many=True) - + profile_username = serializers.CharField(required=False, allow_null=True) class SubsectionGradeOverrideSerializer(serializers.Serializer): """ diff --git a/lms/djangoapps/grades/rest_api/v1/gradebook_views.py b/lms/djangoapps/grades/rest_api/v1/gradebook_views.py index c295563da565..5a3b7860e52e 100644 --- a/lms/djangoapps/grades/rest_api/v1/gradebook_views.py +++ b/lms/djangoapps/grades/rest_api/v1/gradebook_views.py @@ -507,6 +507,8 @@ def _gradebook_entry(self, user, course, graded_subsections, course_grade): kwargs=dict(course_id=str(course.id), student_id=user.id) ) user_entry['user_id'] = user.id + profile = getattr(user, 'profile', None) + user_entry['profile_username'] = getattr(profile, 'username', None) def is_masters_student(): # If this is a multiple-user lookup (didn't use the username param) we insert @@ -654,7 +656,7 @@ def get(self, request, course_key): # lint-amnesty, pylint: disable=too-many-st # TODO: In django 3.0+, we can directly filter on this 'exists' rather than annotating q_objects.append(Q(has_excluded_role=False)) entries = [] - related_models = ['user'] + related_models = ['user', 'user__profile'] users = self._paginate_users(course_key, q_objects, related_models, annotations=annotations) users_counts = self._get_users_counts(course_key, q_objects, annotations=annotations) From cd59c5dcd0b4ff6deab26af20be353e28ea9ebf1 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 16 Feb 2026 12:29:20 +0500 Subject: [PATCH 277/447] fixed bugs username to name --- lms/djangoapps/grades/rest_api/serializers.py | 2 +- lms/djangoapps/grades/rest_api/v1/gradebook_views.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/grades/rest_api/serializers.py b/lms/djangoapps/grades/rest_api/serializers.py index 36a6a07305bb..c3969a947ff4 100644 --- a/lms/djangoapps/grades/rest_api/serializers.py +++ b/lms/djangoapps/grades/rest_api/serializers.py @@ -57,7 +57,7 @@ class StudentGradebookEntrySerializer(serializers.Serializer): external_user_key = serializers.CharField(required=False) percent = serializers.FloatField() section_breakdown = SectionBreakdownSerializer(many=True) - profile_username = serializers.CharField(required=False, allow_null=True) + profile_name = serializers.CharField(required=False, allow_null=True) class SubsectionGradeOverrideSerializer(serializers.Serializer): """ diff --git a/lms/djangoapps/grades/rest_api/v1/gradebook_views.py b/lms/djangoapps/grades/rest_api/v1/gradebook_views.py index 5a3b7860e52e..14c5e38c6313 100644 --- a/lms/djangoapps/grades/rest_api/v1/gradebook_views.py +++ b/lms/djangoapps/grades/rest_api/v1/gradebook_views.py @@ -508,7 +508,7 @@ def _gradebook_entry(self, user, course, graded_subsections, course_grade): ) user_entry['user_id'] = user.id profile = getattr(user, 'profile', None) - user_entry['profile_username'] = getattr(profile, 'username', None) + user_entry['profile_name'] = getattr(profile, 'name', None) def is_masters_student(): # If this is a multiple-user lookup (didn't use the username param) we insert From 682dd6909724ebc2fe1428dc950c78a5bbe39677 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 24 Feb 2026 14:32:29 +0500 Subject: [PATCH 278/447] add new column for numbar --- lms/templates/header/navbar-authenticated.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lms/templates/header/navbar-authenticated.html b/lms/templates/header/navbar-authenticated.html index aafc8ee11972..ee67c297cd6a 100644 --- a/lms/templates/header/navbar-authenticated.html +++ b/lms/templates/header/navbar-authenticated.html @@ -96,6 +96,11 @@ ${_("News")}
    + % endif
    From 765889949a08c994de8aebcd520c95081c5ca281 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 24 Feb 2026 17:16:35 +0500 Subject: [PATCH 279/447] add some style| --- .../header/navbar-authenticated.html | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lms/templates/header/navbar-authenticated.html b/lms/templates/header/navbar-authenticated.html index ee67c297cd6a..f9acb33b1f20 100644 --- a/lms/templates/header/navbar-authenticated.html +++ b/lms/templates/header/navbar-authenticated.html @@ -42,6 +42,27 @@ color: #1a263c !important; } } +/* делаем .main flex, чтобы gap работал */ +.nav-links .main { + display: flex !important; + align-items: center; + flex-wrap: wrap; + gap: 6px !important; +} + +/* одинаковые отступы для всех пунктов */ +.nav-links .main .nav-item, +.nav-links .main .mobile-nav-item { + margin: 0 !important; + margin-top: 3px !important; + padding: 0 !important; /* чтобы inline не нужен был */ +} + +/* “воздух” внутри клика */ +.nav-links .main a { + padding: 0 6px !important; + line-height: 1.2 !important; +} From f6571be0106d6d9876239b7cfdd1e7c90aca4c20 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 7 Apr 2026 11:24:05 +0500 Subject: [PATCH 292/447] new correction --- lms/templates/certificates/_accomplishment-rendering.html | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 5bbbf922faa2..b7211a65a482 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -125,6 +125,7 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    ${_("This certificate hereby confirms that")} + 123
    ${accomplishment_copy_name} From 70df762a5dafb61a01ec38e641c4dd5852c32641 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 7 Apr 2026 11:31:56 +0500 Subject: [PATCH 293/447] back --- lms/templates/certificates/_accomplishment-rendering.html | 1 - 1 file changed, 1 deletion(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index b7211a65a482..5bbbf922faa2 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -125,7 +125,6 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    ${_("This certificate hereby confirms that")} - 123
    ${accomplishment_copy_name} From be7296f6adb59fad175775b7ea5d752b361d1cfb Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 7 Apr 2026 11:41:21 +0500 Subject: [PATCH 294/447] add --- lms/templates/certificates/_accomplishment-rendering.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 5bbbf922faa2..089a11daa8fb 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -124,7 +124,7 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    - ${_("This certificate hereby confirms that")} + ${_("This certificate hereby confirms that")} 1
    ${accomplishment_copy_name} From 3519111e8a1b007c298e4717c3b3645ff60a38c9 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 7 Apr 2026 11:49:40 +0500 Subject: [PATCH 295/447] hd --- lms/templates/certificates/_accomplishment-rendering.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 089a11daa8fb..76b48e908428 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -124,7 +124,7 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    - ${_("This certificate hereby confirms that")} 1 + ${_("This certificate hereby confirms")}
    ${accomplishment_copy_name} From 69569a8678d3087946b8bb1c0407d9f44cbd3353 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 7 Apr 2026 11:58:04 +0500 Subject: [PATCH 296/447] new --- lms/templates/certificates/_accomplishment-rendering.html | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 76b48e908428..03e217a9f9f1 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -125,6 +125,7 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    ${_("This certificate hereby confirms")} + ${_("Translate")}
    ${accomplishment_copy_name} From 59a235dda42de1f68738389ecbb4bd269b5c3956 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 7 Apr 2026 12:06:30 +0500 Subject: [PATCH 297/447] D --- lms/templates/certificates/_accomplishment-rendering.html | 1 - 1 file changed, 1 deletion(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 03e217a9f9f1..76b48e908428 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -125,7 +125,6 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    ${_("This certificate hereby confirms")} - ${_("Translate")}
    ${accomplishment_copy_name} From 01b0c3f84a84b19eea464c2f8c903c2c7c9e1726 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 7 Apr 2026 12:15:56 +0500 Subject: [PATCH 298/447] add translation --- .../_accomplishment-rendering.html | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 15ab1f44ed71..76b48e908428 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -124,7 +124,7 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    - Сертификат настоящим подтверждает, что + ${_("This certificate hereby confirms")}
    ${accomplishment_copy_name} @@ -133,15 +133,15 @@

    Внимание пользователям iPhone!

    - Прошел(-а) онлайн курс: + ${_("Passed an online course")}: ${accomplishment_copy_course_name}
    - Дата выдачи: + ${_("Date of issue")}: ${formatted_date}
    - Регистрационный номер: + ${_("Registration number")}: ${certificate_id_number}
    @@ -150,43 +150,44 @@

    Внимание пользователям iPhone!

    Signature 1
    Галеева А.К.
    -
    Член Правления - проректор
    по академическим вопросам
    +
    ${_("Board Member - Vice-Rector for")}
    ${_("Academic Affairs")}
    Signature 2
    Круговых И.И.
    -
    Руководитель Офиса академических
    и цифровых инноваций
    +
    ${_("Head of the Office of")}
    ${_("academic and digital innovation")}
    - % if mode != 'base' and certificate_data: - <% - signatories = certificate_data.get('signatories', []) - label = "Автор курса" - - if signatories: - name_text = signatories[0].get('name', '') - matches = re.findall(r'[А-ЯЁA-Z]\.[А-ЯЁA-Z]\.', name_text) - if len(matches) > 1: - label = "Авторы курса" - %> - % for signatory in certificate_data.get('signatories', []): - % if signatory.get('signature_image_path'): -
    - ${signatory['name']} + % if mode != 'base' and certificate_data: + <% + signatories = certificate_data.get('signatories', []) + label = _("Course author") + + if signatories: + name_text = signatories[0].get('name', '') + matches = re.findall(r'[А-ЯЁA-Z]\.[А-ЯЁA-Z]\.', name_text) + if len(matches) > 1: + label = _("Course authors") + %> + + % for signatory in certificate_data.get('signatories', []): + % if signatory.get('signature_image_path'): +
    + ${signatory['name']} +
    + % endif +
    + ${signatory['name']}
    - % endif + % endfor +
    - ${signatory['name']} + ${label}
    - % endfor - -
    - ${label} -
    - % endif -
    + % endif +
    From c12053cfd96dca9c84d1a6fbecbc1089bccb370f Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 7 Apr 2026 12:34:28 +0500 Subject: [PATCH 299/447] add new changes --- lms/templates/certificates/_accomplishment-rendering.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 76b48e908428..5bbbf922faa2 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -124,7 +124,7 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    - ${_("This certificate hereby confirms")} + ${_("This certificate hereby confirms that")}
    ${accomplishment_copy_name} From 5beb3f3e6a4c3aee69ae4a4e33795fe02284476c Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 7 Apr 2026 16:06:42 +0500 Subject: [PATCH 300/447] add course name --- lms/djangoapps/news/views.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 4c13aa36723d..52a1930346c8 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -147,18 +147,22 @@ def analyze(request): def go_to_exam(request): # ✅ 1. Берем данные из frontend - user_id = request.GET.get("user_id", "0") - username = request.GET.get("username", "unknown") + user_id = request.user.id + username = request.user.username unit_url = request.GET.get("unit_url", "/") + course_name = request.GET.get("course_name", "empty") + # можно взять реальные данные если нужно - firstname = request.user.profile.name - lastname = "User" - logger.info(f"User name 1", firstname) + try: + firstname, lastname = request.user.profile.name + except: + firstname, lastname = "None", "None" exam_id = 12321312 - exam_name = "Тестовый экзамен по Python" + exam_name = f"Тестовый экзамен по {course_name}" + logger.info(f"User name 1", exam_name) # 2. Время now = datetime.utcnow() start_iso = now.isoformat() + "Z" From 1671cb5d4b1c15c4366eb96fb7d72b2a149d03da Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 9 Apr 2026 09:49:17 +0500 Subject: [PATCH 301/447] add finish redirect --- lms/djangoapps/news/views.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 52a1930346c8..a07d3e6e3eed 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -136,6 +136,7 @@ def analyze(request): import jwt import urllib.parse import time +import random from datetime import datetime, timedelta from django.http import HttpResponseRedirect @@ -159,17 +160,18 @@ def go_to_exam(request): except: firstname, lastname = "None", "None" - exam_id = 12321312 + exam_id = random.randint(10**10, 10**11 - 1) + session_id = exam_id exam_name = f"Тестовый экзамен по {course_name}" + request.session["proctoring_session_id"] = session_id + logger.info(f"User name 1", exam_name) # 2. Время now = datetime.utcnow() start_iso = now.isoformat() + "Z" end_iso = (now + timedelta(hours=2)).isoformat() + "Z" - session_id = f"session_{user_id}_{exam_id}_{int(time.time())}" - # ✅ 3. Payload с динамическим возвратом payload = { "userId": user_id, @@ -210,3 +212,13 @@ def go_to_exam(request): print("Return URL:", unit_url) return HttpResponseRedirect(final_url) + + +def finish_redirect(request): + session_id = request.session.get("proctoring_session_id") + + redirect_url = request.GET.get("redirectUrl", "/") + + url = f"https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/finish/{session_id}/?redirectUrl={redirect_url}" + + return HttpResponseRedirect(url) From 2cc69e2a376f476619664ee8cb0beb3bfbaee480 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 9 Apr 2026 12:08:30 +0500 Subject: [PATCH 302/447] add finish exam url --- lms/djangoapps/news/views.py | 36 ++++--------------- .../_accomplishment-rendering.html | 2 +- lms/urls.py | 1 + 3 files changed, 8 insertions(+), 31 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index a07d3e6e3eed..d2602cc45271 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -7,6 +7,12 @@ from django.db.models import Count from common.djangoapps.student.models import UserProfile +from django.db.models import Count +from django.db.models.functions import ExtractYear +import json +from django.db.models import Count +from django.db.models.functions import ExtractYear +from openedx.core.djangoapps.content.course_overviews.models import CourseOverview # from ..commerce.api.v1.models import Course import logging @@ -45,36 +51,6 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) -from django.db.models import Count -from django.db.models.functions import ExtractYear - - -def analyze(request): - courses = CourseOverview.objects.all() - - courses_by_org = ( - CourseOverview.objects - .values("org") - .annotate(total=Count("id")) - .order_by("-total") - ) - - context = { - "courses": courses[:50], - "courses_count": courses.count(), - "chart_labels": [c["org"] for c in courses_by_org], - "chart_data": [c["total"] for c in courses_by_org], - } - - return render_to_response("news/analyze2.html", context, request=request) - -import json - -import json -from django.db.models import Count -from django.db.models.functions import ExtractYear -from openedx.core.djangoapps.content.course_overviews.models import CourseOverview - def analyze(request): courses = CourseOverview.objects.all() diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 76b48e908428..678c4fdf179b 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -19,7 +19,7 @@ - + diff --git a/lms/urls.py b/lms/urls.py index c260094310d9..f2a94d0cef05 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -100,6 +100,7 @@ path('news/create/', news_views.news_create, name='news_create'), path('analyze/', news_views.analyze, name='analyze'), path('go-to-exam/', news_views.go_to_exam, name='exam'), + path('finish-exam/', news_views.finish_redirect, name='finish_exam'), path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware From 632dbae0e14ed239addc4da8bdde44c7d1af1107 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 9 Apr 2026 14:31:57 +0500 Subject: [PATCH 303/447] add extended param form exam id and sessionid --- lms/djangoapps/news/views.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index d2602cc45271..5f8ab1d56e4e 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -15,6 +15,13 @@ from openedx.core.djangoapps.content.course_overviews.models import CourseOverview # from ..commerce.api.v1.models import Course import logging +import jwt +import urllib.parse +import time +import random +from datetime import datetime, timedelta + +from django.http import HttpResponseRedirect logger = logging.getLogger(__name__) @@ -109,15 +116,6 @@ def analyze(request): return render_to_response("news/analyze3.html", context, request=request) -import jwt -import urllib.parse -import time -import random -from datetime import datetime, timedelta - -from django.http import HttpResponseRedirect - - SECRET_KEY = "qaZE879dFwPO*#Pox@r$!1" PROCTORING_URL = "https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/start/" @@ -136,8 +134,8 @@ def go_to_exam(request): except: firstname, lastname = "None", "None" - exam_id = random.randint(10**10, 10**11 - 1) - session_id = exam_id + exam_id = random.randint(10**7, 10**8 - 1) + session_id = random.randint(10**10, 10**11 - 1) exam_name = f"Тестовый экзамен по {course_name}" request.session["proctoring_session_id"] = session_id From 46e641f35a4d3f83f792844a580848edff07a3fd Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 9 Apr 2026 16:08:52 +0500 Subject: [PATCH 304/447] add system which start stop exam with proctoring --- lms/djangoapps/news/views.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 5f8ab1d56e4e..b10bcdd3082f 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -19,9 +19,12 @@ import urllib.parse import time import random -from datetime import datetime, timedelta +from datetime import datetime, timedelta, timezone from django.http import HttpResponseRedirect +import httpx +from django.http import JsonResponse +from django.views.decorators.csrf import csrf_exempt logger = logging.getLogger(__name__) @@ -188,11 +191,24 @@ def go_to_exam(request): return HttpResponseRedirect(final_url) -def finish_redirect(request): +def finish_exam_api(request): session_id = request.session.get("proctoring_session_id") - redirect_url = request.GET.get("redirectUrl", "/") + now = datetime.now(timezone.utc) + payload = { + "iat": int(now.timestamp()), + "exp": int((now + timedelta(minutes=5)).timestamp()), + "sessionId": session_id, + } - url = f"https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/finish/{session_id}/?redirectUrl={redirect_url}" + token = jwt.encode(payload, SECRET_KEY, algorithm="HS256") + + url = f"https://farabi-proctoring.kaznu.kz/api/integration/simple/kaznu_moodle/sessions/{session_id}/finish/" + + httpx.post( + url, + headers={"Authorization": f"Bearer {token}"}, + json={"status": "finished"} + ) - return HttpResponseRedirect(url) + return JsonResponse({"status": "ok"}) From c2a3ab5be5c09bfc048a72dea3a0960c0a7b586d Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 9 Apr 2026 16:29:12 +0500 Subject: [PATCH 305/447] fixed function name --- lms/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/urls.py b/lms/urls.py index f2a94d0cef05..3bc498619f45 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -100,7 +100,7 @@ path('news/create/', news_views.news_create, name='news_create'), path('analyze/', news_views.analyze, name='analyze'), path('go-to-exam/', news_views.go_to_exam, name='exam'), - path('finish-exam/', news_views.finish_redirect, name='finish_exam'), + path('finish-exam/', news_views.finish_exam_api, name='finish_exam'), path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware From 7b625dfe74c0b28b8a4316c0e2a75320b4baad8a Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 9 Apr 2026 16:44:16 +0500 Subject: [PATCH 306/447] add new url| : --- lms/djangoapps/news/views.py | 2 +- lms/urls.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index b10bcdd3082f..6b1a18d62c68 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -159,7 +159,7 @@ def go_to_exam(request): "accountName": "kaznu_moodle", "examId": exam_id, "examName": exam_name, - "duration": 60, + "duration": 5, "schedule": False, "proctoring": "online", "examDesc": "Курс: Тестирование систем
    Преподаватель: AI Assistant", diff --git a/lms/urls.py b/lms/urls.py index 3bc498619f45..88d3c36e4d66 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -100,7 +100,7 @@ path('news/create/', news_views.news_create, name='news_create'), path('analyze/', news_views.analyze, name='analyze'), path('go-to-exam/', news_views.go_to_exam, name='exam'), - path('finish-exam/', news_views.finish_exam_api, name='finish_exam'), + path('finish-exam-api/', news_views.finish_exam_api, name='finish_exam'), path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware From f5a67f431b9b9b7406999eddcbd7301fdfddf725 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 10 Apr 2026 09:38:51 +0500 Subject: [PATCH 307/447] back --- lms/djangoapps/news/views.py | 21 ++++----------------- lms/urls.py | 2 +- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 6b1a18d62c68..e97cd9aa4cf4 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -191,24 +191,11 @@ def go_to_exam(request): return HttpResponseRedirect(final_url) -def finish_exam_api(request): +def finish_exam(request): session_id = request.session.get("proctoring_session_id") - now = datetime.now(timezone.utc) - payload = { - "iat": int(now.timestamp()), - "exp": int((now + timedelta(minutes=5)).timestamp()), - "sessionId": session_id, - } + redirect_url = request.GET.get("redirectUrl", "/") - token = jwt.encode(payload, SECRET_KEY, algorithm="HS256") - - url = f"https://farabi-proctoring.kaznu.kz/api/integration/simple/kaznu_moodle/sessions/{session_id}/finish/" - - httpx.post( - url, - headers={"Authorization": f"Bearer {token}"}, - json={"status": "finished"} - ) + url = f"https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/finish/{session_id}/?redirectUrl={redirect_url}" - return JsonResponse({"status": "ok"}) + return HttpResponseRedirect(url) diff --git a/lms/urls.py b/lms/urls.py index 88d3c36e4d66..4ee979a84351 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -100,7 +100,7 @@ path('news/create/', news_views.news_create, name='news_create'), path('analyze/', news_views.analyze, name='analyze'), path('go-to-exam/', news_views.go_to_exam, name='exam'), - path('finish-exam-api/', news_views.finish_exam_api, name='finish_exam'), + path('finish-exam/', news_views.finish_exam, name='finish_exam'), path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), path('', branding_views.index, name='root'), # Main marketing page, or redirect to courseware From 2326275c0432055d3edb9a574fa5bc6482b3f7a9 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 10 Apr 2026 10:50:52 +0500 Subject: [PATCH 308/447] hide secret key --- lms/djangoapps/news/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index e97cd9aa4cf4..14751e55ef53 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -25,7 +25,7 @@ import httpx from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt - +from django.conf import settings logger = logging.getLogger(__name__) def news_list(request): @@ -119,11 +119,12 @@ def analyze(request): return render_to_response("news/analyze3.html", context, request=request) -SECRET_KEY = "qaZE879dFwPO*#Pox@r$!1" + PROCTORING_URL = "https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/start/" def go_to_exam(request): + SECRET_KEY = str(settings.SECRET_KEY) # ✅ 1. Берем данные из frontend user_id = request.user.id username = request.user.username From 4fcf77506d5749f21187a855c951263bb92d06a4 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 10 Apr 2026 11:23:48 +0500 Subject: [PATCH 309/447] change key name --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 14751e55ef53..b795cd79b542 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -124,7 +124,7 @@ def analyze(request): def go_to_exam(request): - SECRET_KEY = str(settings.SECRET_KEY) + SECRET_KEY = str(settings.PROCTORING_API_KEY) # ✅ 1. Берем данные из frontend user_id = request.user.id username = request.user.username From e34b026949bf1b39ae6f359963665d179963949c Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 13 Apr 2026 09:18:09 +0500 Subject: [PATCH 310/447] add protored student name --- lms/djangoapps/news/views.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index b795cd79b542..0e0e78def0d5 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -134,7 +134,11 @@ def go_to_exam(request): # можно взять реальные данные если нужно try: - firstname, lastname = request.user.profile.name + name = request.user.profile.name.strip() + parts = name.split(maxsplit=1) + + firstname = parts[0] if len(parts) > 0 else "" + lastname = parts[1] if len(parts) > 1 else "" except: firstname, lastname = "None", "None" From a7d88d5ae434c475558d2182e68eb2449e19b276 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 13 Apr 2026 11:43:51 +0500 Subject: [PATCH 311/447] remove utf coding --- lms/templates/certificates/_accomplishment-rendering.html | 1 - 1 file changed, 1 deletion(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 5bbbf922faa2..730cb0586924 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -19,7 +19,6 @@ - From 4bf7d2f302771a9647bcfe338827574160a4c33f Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 13 Apr 2026 11:51:24 +0500 Subject: [PATCH 312/447] rmove httpx --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 0e0e78def0d5..689fb4d8c920 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -22,7 +22,7 @@ from datetime import datetime, timedelta, timezone from django.http import HttpResponseRedirect -import httpx + from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt from django.conf import settings From 59635e7e38cc6b611e651c878667ccca57bed0f4 Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 15 Apr 2026 10:23:56 +0500 Subject: [PATCH 313/447] add attention row --- lms/templates/static_templates/competition.html | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lms/templates/static_templates/competition.html b/lms/templates/static_templates/competition.html index 63b31b34e536..b7692b246b16 100644 --- a/lms/templates/static_templates/competition.html +++ b/lms/templates/static_templates/competition.html @@ -445,7 +445,17 @@

    ${_("About the Competition")}

    ${_("The Office of Academic and Digital Innovations is accepting applications for participation in the competition of pedagogical scenarios for the creation and publication of online courses (MOOC/SPOC)")}.

    - +
    +

    ${_("Attention!")}

    +

    ${_("The competition for pedagogical scenarios for the development and publication of online courses (MOOC/SPOC), organized by the Office of Academic and Digital Innovations, has been canceled in 2026.")}

    +

    ${_("Order on cancellation.")}

    +

    ${_("Information about the next competition will be published on this page.")}

    + +

    ${_("MOOC Competition Regulations")}

    From a6ab6fc705f0ec5279ff73d7a151689cc86fc718 Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 15 Apr 2026 11:15:10 +0500 Subject: [PATCH 314/447] change platform name --- lms/djangoapps/news/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 0e0e78def0d5..5945a661eb96 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -120,7 +120,7 @@ def analyze(request): -PROCTORING_URL = "https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/start/" +PROCTORING_URL = "https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_open/start/" def go_to_exam(request): @@ -161,7 +161,7 @@ def go_to_exam(request): "firstName": firstname, "thirdName": username, "language": "ru", - "accountName": "kaznu_moodle", + "accountName": "kaznu_open", "examId": exam_id, "examName": exam_name, "duration": 5, From 23e9ddb99d2af93efb63674261dcab3257d165d9 Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 15 Apr 2026 11:16:09 +0500 Subject: [PATCH 315/447] change platform name --- lms/djangoapps/news/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 689fb4d8c920..ac586fb270b2 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -120,7 +120,7 @@ def analyze(request): -PROCTORING_URL = "https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/start/" +PROCTORING_URL = "https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_open/start/" def go_to_exam(request): @@ -161,7 +161,7 @@ def go_to_exam(request): "firstName": firstname, "thirdName": username, "language": "ru", - "accountName": "kaznu_moodle", + "accountName": "kaznu_open", "examId": exam_id, "examName": exam_name, "duration": 5, From 4e12fb1e53eb19ad9a0c9d3b78ec9136290d7e28 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 16 Apr 2026 10:10:16 +0500 Subject: [PATCH 316/447] add complexity --- lms/djangoapps/course_api/serializers.py | 1 + openedx/core/djangoapps/models/course_details.py | 1 + 2 files changed, 2 insertions(+) diff --git a/lms/djangoapps/course_api/serializers.py b/lms/djangoapps/course_api/serializers.py index 5fc711376784..9b9bc262f48e 100644 --- a/lms/djangoapps/course_api/serializers.py +++ b/lms/djangoapps/course_api/serializers.py @@ -100,6 +100,7 @@ class CourseSerializer(serializers.Serializer): # pylint: disable=abstract-meth blocks_url = serializers.SerializerMethodField() effort = serializers.CharField() + complexity = serializers.CharField() end = serializers.DateTimeField() enrollment_start = serializers.DateTimeField() enrollment_end = serializers.DateTimeField() diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index c00d7d0b8816..33312d192ad2 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -27,6 +27,7 @@ 'short_description', 'overview', 'effort', + 'complexity', 'entrance_exam_enabled', 'entrance_exam_id', 'entrance_exam_minimum_score_pct', From 639b402da035dabdf1740cc41c8e872495c58db0 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 16 Apr 2026 12:08:34 +0500 Subject: [PATCH 317/447] try to fix --- .../contentstore/rest_api/v1/serializers/course_details.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cms/djangoapps/contentstore/rest_api/v1/serializers/course_details.py b/cms/djangoapps/contentstore/rest_api/v1/serializers/course_details.py index 6c2660428e66..8d4f4c2b12f4 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/serializers/course_details.py +++ b/cms/djangoapps/contentstore/rest_api/v1/serializers/course_details.py @@ -34,6 +34,7 @@ class CourseDetailsSerializer(serializers.Serializer): description = serializers.CharField(allow_blank=True) duration = serializers.CharField(allow_blank=True) effort = serializers.CharField(allow_null=True, allow_blank=True) + complexity = serializers.CharField(allow_null=True, allow_blank=True, required=False) end_date = serializers.DateTimeField(allow_null=True) enrollment_end = serializers.DateTimeField(allow_null=True) enrollment_start = serializers.DateTimeField(allow_null=True) From e09c73565c0513e5fa9689b6807e7945b6c90a56 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 16 Apr 2026 12:36:30 +0500 Subject: [PATCH 318/447] add log --- cms/djangoapps/contentstore/rest_api/v1/views/course_details.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cms/djangoapps/contentstore/rest_api/v1/views/course_details.py b/cms/djangoapps/contentstore/rest_api/v1/views/course_details.py index d5ccf3c6165e..34e350031b8b 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/views/course_details.py +++ b/cms/djangoapps/contentstore/rest_api/v1/views/course_details.py @@ -119,6 +119,7 @@ def get(self, request: Request, course_id: str): ) @verify_course_exists() def put(self, request: Request, course_id: str): + print("REQUEST DATA:", request.data) """ Update a course's details. From d5526e2840c2c330be4068adb09f63c3f255dbb0 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 16 Apr 2026 16:48:10 +0500 Subject: [PATCH 319/447] add complexity changes --- lms/djangoapps/course_api/serializers.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/course_api/serializers.py b/lms/djangoapps/course_api/serializers.py index 9b9bc262f48e..8642a95917cb 100644 --- a/lms/djangoapps/course_api/serializers.py +++ b/lms/djangoapps/course_api/serializers.py @@ -17,7 +17,6 @@ from openedx.core.djangoapps.models.course_details import CourseDetails from openedx.core.lib.api.fields import AbsoluteURLField - class _MediaSerializer(serializers.Serializer): # pylint: disable=abstract-method """ Nested serializer to represent a media object. @@ -100,7 +99,7 @@ class CourseSerializer(serializers.Serializer): # pylint: disable=abstract-meth blocks_url = serializers.SerializerMethodField() effort = serializers.CharField() - complexity = serializers.CharField() + complexity = serializers.SerializerMethodField() end = serializers.DateTimeField() enrollment_start = serializers.DateTimeField() enrollment_end = serializers.DateTimeField() @@ -121,6 +120,9 @@ class CourseSerializer(serializers.Serializer): # pylint: disable=abstract-meth # 'course_id' is a deprecated field, please use 'id' instead. course_id = serializers.CharField(source='id', read_only=True) + def get_complexity(self, obj): + return CourseDetails.fetch_about_attribute(obj.id, 'complexity') + def get_hidden(self, course_overview): """ Get the representation for SerializerMethodField `hidden` From ac770ecb32d366903e48a88f488d398956eaa36d Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 16 Apr 2026 18:02:04 +0500 Subject: [PATCH 320/447] add complexity --- openedx/core/djangoapps/models/course_details.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index 33312d192ad2..6ae0a626622a 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -28,6 +28,7 @@ 'overview', 'effort', 'complexity', + 'complexity', 'entrance_exam_enabled', 'entrance_exam_id', 'entrance_exam_minimum_score_pct', From e90a3864026fd228d2b67d62cabe7a2bc31718b5 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 17 Apr 2026 09:50:54 +0500 Subject: [PATCH 321/447] add log --- openedx/core/djangoapps/models/course_details.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index 6ae0a626622a..02bce2cabd1d 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -28,7 +28,6 @@ 'overview', 'effort', 'complexity', - 'complexity', 'entrance_exam_enabled', 'entrance_exam_id', 'entrance_exam_minimum_score_pct', @@ -195,6 +194,7 @@ def update_about_video(cls, course, video_id, user_id): @classmethod def update_from_json(cls, course_key, jsondict, user): # pylint: disable=too-many-statements + print(">>> PAYLOAD:", jsondict) """ Decode the json into CourseDetails and save any changed attrs to the db """ From 3487a09d5a3d358a81942964fd16f52016e2b8d3 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 17 Apr 2026 10:06:45 +0500 Subject: [PATCH 322/447] add log --- openedx/core/djangoapps/models/course_details.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index 02bce2cabd1d..cfbacb13edf1 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -313,6 +313,7 @@ def update_from_json(cls, course_key, jsondict, user): # pylint: disable=too-ma # fields changed. for attribute in ABOUT_ATTRIBUTES: if attribute in jsondict: + print(">>> SAVING:", attribute, jsondict[attribute]) cls.update_about_item(block, attribute, jsondict[attribute], user.id) cls.update_about_video(block, jsondict['intro_video'], user.id) From aa2735686f69bf5af6208c440b820879cfd92b7d Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 17 Apr 2026 11:35:05 +0500 Subject: [PATCH 323/447] log --- openedx/core/djangoapps/models/course_details.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index cfbacb13edf1..8768c58fe57d 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -311,6 +311,7 @@ def update_from_json(cls, course_key, jsondict, user): # pylint: disable=too-ma # the fields actually changed to make faster, could compare # against db or could have client send over a list of which # fields changed. + print(">>> ATTRIBUTES:", ABOUT_ATTRIBUTES) for attribute in ABOUT_ATTRIBUTES: if attribute in jsondict: print(">>> SAVING:", attribute, jsondict[attribute]) From 5d8ec97bc81b2870fe54b8d7ef52ff827917e58e Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 17 Apr 2026 11:56:18 +0500 Subject: [PATCH 324/447] log --- openedx/core/djangoapps/models/course_details.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index 8768c58fe57d..72278ec20d42 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -314,6 +314,8 @@ def update_from_json(cls, course_key, jsondict, user): # pylint: disable=too-ma print(">>> ATTRIBUTES:", ABOUT_ATTRIBUTES) for attribute in ABOUT_ATTRIBUTES: if attribute in jsondict: + print(">>> KEYS:", list(jsondict.keys())) + print(">>> COMPLEXITY IN JSONDICT:", "complexity" in jsondict) print(">>> SAVING:", attribute, jsondict[attribute]) cls.update_about_item(block, attribute, jsondict[attribute], user.id) From 3fbdfd121372f260bef46b81d245380b1e14369b Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 17 Apr 2026 12:05:21 +0500 Subject: [PATCH 325/447] fix bug --- openedx/core/djangoapps/models/course_details.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index 72278ec20d42..51b4ce92e1de 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -312,13 +312,20 @@ def update_from_json(cls, course_key, jsondict, user): # pylint: disable=too-ma # against db or could have client send over a list of which # fields changed. print(">>> ATTRIBUTES:", ABOUT_ATTRIBUTES) + # сначала сохрани всё кроме complexity for attribute in ABOUT_ATTRIBUTES: + if attribute == "complexity": + continue + if attribute in jsondict: - print(">>> KEYS:", list(jsondict.keys())) - print(">>> COMPLEXITY IN JSONDICT:", "complexity" in jsondict) print(">>> SAVING:", attribute, jsondict[attribute]) cls.update_about_item(block, attribute, jsondict[attribute], user.id) + # потом отдельно complexity + if 'complexity' in jsondict: + print(">>> SAVING COMPLEXITY:", jsondict['complexity']) + cls.update_about_item(block, 'complexity', jsondict['complexity'], user.id) + cls.update_about_video(block, jsondict['intro_video'], user.id) # Could just return jsondict w/o doing any db reads, but I put From a90ab079cf9c3e3ec1dc824ee496fb0272bb10ce Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 17 Apr 2026 12:17:02 +0500 Subject: [PATCH 326/447] add fix --- openedx/core/djangoapps/models/course_details.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index 51b4ce92e1de..4440792b35e1 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -312,19 +312,10 @@ def update_from_json(cls, course_key, jsondict, user): # pylint: disable=too-ma # against db or could have client send over a list of which # fields changed. print(">>> ATTRIBUTES:", ABOUT_ATTRIBUTES) - # сначала сохрани всё кроме complexity - for attribute in ABOUT_ATTRIBUTES: - if attribute == "complexity": - continue - - if attribute in jsondict: - print(">>> SAVING:", attribute, jsondict[attribute]) - cls.update_about_item(block, attribute, jsondict[attribute], user.id) + attributes_to_save = [a for a in ABOUT_ATTRIBUTES if a in jsondict] - # потом отдельно complexity - if 'complexity' in jsondict: - print(">>> SAVING COMPLEXITY:", jsondict['complexity']) - cls.update_about_item(block, 'complexity', jsondict['complexity'], user.id) + for attribute in attributes_to_save: + cls.update_about_item(block, attribute, jsondict[attribute], user.id) cls.update_about_video(block, jsondict['intro_video'], user.id) From 644f13ff981a3bc7a8e35da905608052d9d89d4e Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 17 Apr 2026 12:38:44 +0500 Subject: [PATCH 327/447] fix --- openedx/core/djangoapps/models/course_details.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index 4440792b35e1..cd2c1210edbe 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -315,7 +315,10 @@ def update_from_json(cls, course_key, jsondict, user): # pylint: disable=too-ma attributes_to_save = [a for a in ABOUT_ATTRIBUTES if a in jsondict] for attribute in attributes_to_save: - cls.update_about_item(block, attribute, jsondict[attribute], user.id) + if attribute == "complexity": + print(">>> BEFORE complexity save:", jsondict[attribute]) + cls.update_about_item(block, attribute, jsondict[attribute], user.id) + print(">>> AFTER complexity save") cls.update_about_video(block, jsondict['intro_video'], user.id) From f297c37a872d1e186a48487550cdc1a98447620b Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 20 Apr 2026 09:16:44 +0500 Subject: [PATCH 328/447] add complexity update by new way --- .../contentstore/rest_api/v1/views/course_details.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cms/djangoapps/contentstore/rest_api/v1/views/course_details.py b/cms/djangoapps/contentstore/rest_api/v1/views/course_details.py index 34e350031b8b..e6ad4b95979f 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/views/course_details.py +++ b/cms/djangoapps/contentstore/rest_api/v1/views/course_details.py @@ -119,7 +119,6 @@ def get(self, request: Request, course_id: str): ) @verify_course_exists() def put(self, request: Request, course_id: str): - print("REQUEST DATA:", request.data) """ Update a course's details. @@ -152,5 +151,13 @@ def put(self, request: Request, course_id: str): except ValidationError as err: return JsonResponseBadRequest({"error": err.message}) + from openedx.core.djangoapps.content.course_overviews.models import CourseOverview + + print("REQUEST DATA:", course_id, request.data) + complexity = request.data.get("complexity") + + if complexity: + CourseOverview.objects.filter(id=course_key).update(complexity=complexity) + serializer = CourseDetailsSerializer(updated_data) return Response(serializer.data) From c97e4d38ef7d4ad318f0a1ba28d7be56e17c3755 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 20 Apr 2026 10:15:55 +0500 Subject: [PATCH 329/447] backup 20.04.2026 --- .../rest_api/v1/serializers/course_details.py | 2 +- lms/djangoapps/course_api/serializers.py | 2 +- openedx/core/djangoapps/models/course_details.py | 13 +++++-------- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/cms/djangoapps/contentstore/rest_api/v1/serializers/course_details.py b/cms/djangoapps/contentstore/rest_api/v1/serializers/course_details.py index 8d4f4c2b12f4..436e9be6fa61 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/serializers/course_details.py +++ b/cms/djangoapps/contentstore/rest_api/v1/serializers/course_details.py @@ -34,7 +34,7 @@ class CourseDetailsSerializer(serializers.Serializer): description = serializers.CharField(allow_blank=True) duration = serializers.CharField(allow_blank=True) effort = serializers.CharField(allow_null=True, allow_blank=True) - complexity = serializers.CharField(allow_null=True, allow_blank=True, required=False) + # complexity = serializers.CharField(allow_null=True, allow_blank=True, required=False) end_date = serializers.DateTimeField(allow_null=True) enrollment_end = serializers.DateTimeField(allow_null=True) enrollment_start = serializers.DateTimeField(allow_null=True) diff --git a/lms/djangoapps/course_api/serializers.py b/lms/djangoapps/course_api/serializers.py index 8642a95917cb..bd4e981d2e9d 100644 --- a/lms/djangoapps/course_api/serializers.py +++ b/lms/djangoapps/course_api/serializers.py @@ -99,7 +99,7 @@ class CourseSerializer(serializers.Serializer): # pylint: disable=abstract-meth blocks_url = serializers.SerializerMethodField() effort = serializers.CharField() - complexity = serializers.SerializerMethodField() + # complexity = serializers.SerializerMethodField() end = serializers.DateTimeField() enrollment_start = serializers.DateTimeField() enrollment_end = serializers.DateTimeField() diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index cd2c1210edbe..dd60852cc902 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -27,7 +27,7 @@ 'short_description', 'overview', 'effort', - 'complexity', + # 'complexity', 'entrance_exam_enabled', 'entrance_exam_id', 'entrance_exam_minimum_score_pct', @@ -194,7 +194,7 @@ def update_about_video(cls, course, video_id, user_id): @classmethod def update_from_json(cls, course_key, jsondict, user): # pylint: disable=too-many-statements - print(">>> PAYLOAD:", jsondict) + # print(">>> PAYLOAD:", jsondict) """ Decode the json into CourseDetails and save any changed attrs to the db """ @@ -311,14 +311,11 @@ def update_from_json(cls, course_key, jsondict, user): # pylint: disable=too-ma # the fields actually changed to make faster, could compare # against db or could have client send over a list of which # fields changed. - print(">>> ATTRIBUTES:", ABOUT_ATTRIBUTES) - attributes_to_save = [a for a in ABOUT_ATTRIBUTES if a in jsondict] + # print(">>> ATTRIBUTES:", ABOUT_ATTRIBUTES) + for attribute in ABOUT_ATTRIBUTES: - for attribute in attributes_to_save: - if attribute == "complexity": - print(">>> BEFORE complexity save:", jsondict[attribute]) + if attribute in jsondict: cls.update_about_item(block, attribute, jsondict[attribute], user.id) - print(">>> AFTER complexity save") cls.update_about_video(block, jsondict['intro_video'], user.id) From 74cc6ec5e5f0ee75802153faa554014751943e90 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 20 Apr 2026 11:07:34 +0500 Subject: [PATCH 330/447] add translation --- lms/templates/static_templates/competition.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/static_templates/competition.html b/lms/templates/static_templates/competition.html index b7692b246b16..892e262fd3a3 100644 --- a/lms/templates/static_templates/competition.html +++ b/lms/templates/static_templates/competition.html @@ -453,7 +453,7 @@

    ${_("Attention!")}

    ${_("Data Download")} + style="background: var(--primary-dark); color: white; padding: 10px 20px; border-radius: 4px; text-decoration: none;">${_("Order")}
    From 02fa92b1f7a80773ec4760dfd777da6b5fdcec73 Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 22 Apr 2026 11:24:08 +0500 Subject: [PATCH 331/447] stable version --- lms/djangoapps/news/views.py | 3 +- lms/templates/news/analyze.html | 147 ++++++++++++++++++++++++------- lms/templates/news/analyze2.html | 44 --------- lms/templates/news/analyze3.html | 126 -------------------------- 4 files changed, 118 insertions(+), 202 deletions(-) delete mode 100644 lms/templates/news/analyze2.html delete mode 100644 lms/templates/news/analyze3.html diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index ac586fb270b2..a91ac03830fd 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -17,7 +17,6 @@ import logging import jwt import urllib.parse -import time import random from datetime import datetime, timedelta, timezone @@ -116,7 +115,7 @@ def analyze(request): "paced_data": json.dumps(paced_data), } - return render_to_response("news/analyze3.html", context, request=request) + return render_to_response("news/analyze.html", context, request=request) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 2a065a6fe4aa..4968a379ee36 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -1,39 +1,126 @@ -% if news_list: -
    - % for news in news_list: -
    - % if news.image: - ${news.title} - % else: -
    - -
    - % endif +<%page expression_filter="h"/> +<%! from django.utils.translation import gettext as _ %> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("Analyze")} + +<%block name="extrahead"> + + + + +<%block name="content"> + +
    + +

    📊 Аналитика курсов

    + +

    Всего курсов: ${courses_count}

    + + +
    +

    Курсы по факультетам

    + +
    + + +
    +

    Курсы по годам

    + +
    -
    - + +
    +

    Курсы по языкам

    + +
    -
    - ${news.created_at.date()} -
    + +
    +

    Формат обучения

    + +
    -
    - ${news.content[:100]}... -
    + +

    📚 Курсы

    - - ${_("Read more")} → + - % else: -
    -
    📰
    -

    ${_("No news available")}

    -

    ${_("Check back later for updates")}

    -
    - % endif + +
    + + + +<%block name="extrajs"> + + diff --git a/lms/templates/news/analyze2.html b/lms/templates/news/analyze2.html deleted file mode 100644 index fe6df27a0450..000000000000 --- a/lms/templates/news/analyze2.html +++ /dev/null @@ -1,44 +0,0 @@ -<%page expression_filter="h"/> -<%! from django.utils.translation import gettext as _ %> -<%inherit file="../main.html" /> - -<%block name="pagetitle">${_("Analyze")} - -<%block name="extrahead"> - - - -
    - -
    -

    📚 Список курсов

    - -

    Всего курсов: ${courses_count}

    - -
      - % for course in courses: -
    • - ${course.display_name}
      - - ID: ${course.id}
      - org: ${course.org}
      - number: ${course.number}
      - start: ${course.start}
      - end: ${course.end} -
      -
    • - % endfor -
    - -
    -
    - -<%block name="extrajs"> - - diff --git a/lms/templates/news/analyze3.html b/lms/templates/news/analyze3.html deleted file mode 100644 index 4968a379ee36..000000000000 --- a/lms/templates/news/analyze3.html +++ /dev/null @@ -1,126 +0,0 @@ -<%page expression_filter="h"/> -<%! from django.utils.translation import gettext as _ %> -<%inherit file="../main.html" /> - -<%block name="pagetitle">${_("Analyze")} - -<%block name="extrahead"> - - - - -<%block name="content"> - -
    - -

    📊 Аналитика курсов

    - -

    Всего курсов: ${courses_count}

    - - -
    -

    Курсы по факультетам

    - -
    - - -
    -

    Курсы по годам

    - -
    - - -
    -

    Курсы по языкам

    - -
    - - -
    -

    Формат обучения

    - -
    - - -

    📚 Курсы

    - -
    - % for course in courses: -
    - ${course.display_name} -
    Org: ${course.org}
    -
    Language: ${course.language}
    - % if course.start: -
    Start: ${course.start.strftime('%d.%m.%Y')}
    - % endif - -
    - % endfor -
    - -
    - - - -<%block name="extrajs"> - - From 3653d788e683b38f104bc436d767d2209a577a1a Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 23 Apr 2026 14:51:23 +0500 Subject: [PATCH 332/447] add log --- lms/djangoapps/news/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index a91ac03830fd..8c1003110cf4 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -147,7 +147,7 @@ def go_to_exam(request): request.session["proctoring_session_id"] = session_id - logger.info(f"User name 1", exam_name) + logger.info("my-log: exam start", extra={"sessionID": session_id}) # 2. Время now = datetime.utcnow() start_iso = now.isoformat() + "Z" @@ -197,8 +197,10 @@ def go_to_exam(request): def finish_exam(request): session_id = request.session.get("proctoring_session_id") + logger.info("my-log: exam finished", extra={"sessionID": session_id}) redirect_url = request.GET.get("redirectUrl", "/") + logger.info("my-log: exam finished", extra={"redirect_url": redirect_url}) url = f"https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/finish/{session_id}/?redirectUrl={redirect_url}" From 09f4dd3c5e30bdcd6bc97f92043d5fdbba30707a Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 23 Apr 2026 15:00:08 +0500 Subject: [PATCH 333/447] logs fixed --- lms/djangoapps/news/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 8c1003110cf4..c8627299f257 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -147,7 +147,7 @@ def go_to_exam(request): request.session["proctoring_session_id"] = session_id - logger.info("my-log: exam start", extra={"sessionID": session_id}) + logger.info("my-log: exam start", session_id) # 2. Время now = datetime.utcnow() start_iso = now.isoformat() + "Z" @@ -197,10 +197,10 @@ def go_to_exam(request): def finish_exam(request): session_id = request.session.get("proctoring_session_id") - logger.info("my-log: exam finished", extra={"sessionID": session_id}) + logger.info("my-log: exam finished", session_id) redirect_url = request.GET.get("redirectUrl", "/") - logger.info("my-log: exam finished", extra={"redirect_url": redirect_url}) + logger.info("my-log: exam finished", redirect_url) url = f"https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/finish/{session_id}/?redirectUrl={redirect_url}" From 2d5f8e43e5ad4f4654589f2c09e58417eee75512 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 27 Apr 2026 09:43:01 +0500 Subject: [PATCH 334/447] fix logs --- lms/djangoapps/news/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index c8627299f257..a6cafdde906d 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -147,7 +147,7 @@ def go_to_exam(request): request.session["proctoring_session_id"] = session_id - logger.info("my-log: exam start", session_id) + logger.info(f"my-log: exam start {session_id}") # 2. Время now = datetime.utcnow() start_iso = now.isoformat() + "Z" @@ -197,10 +197,10 @@ def go_to_exam(request): def finish_exam(request): session_id = request.session.get("proctoring_session_id") - logger.info("my-log: exam finished", session_id) + logger.info(f"my-log: exam finished {session_id}") redirect_url = request.GET.get("redirectUrl", "/") - logger.info("my-log: exam finished", redirect_url) + logger.info(f"my-log: exam finished {redirect_url}") url = f"https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/finish/{session_id}/?redirectUrl={redirect_url}" From 259595915674cfb83a768ebc1ccd5de41e0cc699 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 27 Apr 2026 10:33:10 +0500 Subject: [PATCH 335/447] add session --- lms/djangoapps/news/views.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index a6cafdde906d..cf066046923e 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -145,9 +145,10 @@ def go_to_exam(request): session_id = random.randint(10**10, 10**11 - 1) exam_name = f"Тестовый экзамен по {course_name}" - request.session["proctoring_session_id"] = session_id - logger.info(f"my-log: exam start {session_id}") + + redirect_with_session = f"{unit_url}?session_id={session_id}" + # 2. Время now = datetime.utcnow() start_iso = now.isoformat() + "Z" @@ -179,7 +180,7 @@ def go_to_exam(request): # 🔥 ВАЖНО: возвращаем туда откуда пришли "sessionUrl": unit_url, - "redirectUrl": unit_url, + "redirectUrl": redirect_with_session, } # 4. JWT @@ -196,7 +197,7 @@ def go_to_exam(request): def finish_exam(request): - session_id = request.session.get("proctoring_session_id") + session_id = request.GET.get("session_id") logger.info(f"my-log: exam finished {session_id}") redirect_url = request.GET.get("redirectUrl", "/") From f29ffb54ac02dd81059a00da407d87f24d6174c3 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 27 Apr 2026 10:53:48 +0500 Subject: [PATCH 336/447] session --- lms/djangoapps/news/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index cf066046923e..9b7e507c0134 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -147,7 +147,10 @@ def go_to_exam(request): logger.info(f"my-log: exam start {session_id}") - redirect_with_session = f"{unit_url}?session_id={session_id}" + if "?" in unit_url: + redirect_with_session = f"{unit_url}&session_id={session_id}" + else: + redirect_with_session = f"{unit_url}?session_id={session_id}" # 2. Время now = datetime.utcnow() From dc92b561c48d0235fb554058f9966a742de38328 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 27 Apr 2026 11:22:49 +0500 Subject: [PATCH 337/447] idk --- lms/djangoapps/news/views.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 9b7e507c0134..7e49718fbcb9 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -147,10 +147,7 @@ def go_to_exam(request): logger.info(f"my-log: exam start {session_id}") - if "?" in unit_url: - redirect_with_session = f"{unit_url}&session_id={session_id}" - else: - redirect_with_session = f"{unit_url}?session_id={session_id}" + redirect_with_session = f"{unit_url}&session_id={session_id}" # 2. Время now = datetime.utcnow() From 24e0d9c607cf23f7a7cb22734fb1fec8da449086 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 27 Apr 2026 12:42:32 +0500 Subject: [PATCH 338/447] take back session id by session --- lms/djangoapps/news/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 7e49718fbcb9..0ea84bb4f741 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -144,7 +144,7 @@ def go_to_exam(request): exam_id = random.randint(10**7, 10**8 - 1) session_id = random.randint(10**10, 10**11 - 1) exam_name = f"Тестовый экзамен по {course_name}" - + request.session["proctoring_session_id"] = session_id logger.info(f"my-log: exam start {session_id}") redirect_with_session = f"{unit_url}&session_id={session_id}" @@ -197,7 +197,7 @@ def go_to_exam(request): def finish_exam(request): - session_id = request.GET.get("session_id") + session_id = request.session.get("proctoring_session_id") logger.info(f"my-log: exam finished {session_id}") redirect_url = request.GET.get("redirectUrl", "/") From a51c66a7f3e1ca3602a00317abaa74ffc4d0a95a Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 27 Apr 2026 14:35:40 +0500 Subject: [PATCH 339/447] add session correct --- lms/djangoapps/news/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 0ea84bb4f741..adb4af32e7ad 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -147,7 +147,6 @@ def go_to_exam(request): request.session["proctoring_session_id"] = session_id logger.info(f"my-log: exam start {session_id}") - redirect_with_session = f"{unit_url}&session_id={session_id}" # 2. Время now = datetime.utcnow() @@ -180,7 +179,7 @@ def go_to_exam(request): # 🔥 ВАЖНО: возвращаем туда откуда пришли "sessionUrl": unit_url, - "redirectUrl": redirect_with_session, + "redirectUrl": unit_url, } # 4. JWT From 0b36803fb958f80225344ab930b7d4e474466e48 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 28 Apr 2026 09:26:26 +0500 Subject: [PATCH 340/447] fixed moodle to open --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index adb4af32e7ad..426ac81e7257 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -202,6 +202,6 @@ def finish_exam(request): redirect_url = request.GET.get("redirectUrl", "/") logger.info(f"my-log: exam finished {redirect_url}") - url = f"https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_moodle/finish/{session_id}/?redirectUrl={redirect_url}" + url = f"https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_open/finish/{session_id}/?redirectUrl={redirect_url}" return HttpResponseRedirect(url) From a949e3bfbfc5d8be619b742db2f9c77314c3ef68 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 28 Apr 2026 10:23:40 +0500 Subject: [PATCH 341/447] add logg --- lms/djangoapps/news/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 426ac81e7257..c73d1d84d8b2 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -163,10 +163,10 @@ def go_to_exam(request): "accountName": "kaznu_open", "examId": exam_id, "examName": exam_name, - "duration": 5, + "duration": 30, "schedule": False, "proctoring": "online", - "examDesc": "Курс: Тестирование систем
    Преподаватель: AI Assistant", + "examDesc": f"Курс: Тестирование систем
    Преподаватель: AI Assistant", "rules": { "websites": True, "look_away": True, @@ -191,6 +191,7 @@ def go_to_exam(request): print("Redirecting user to:", final_url) print("Return URL:", unit_url) + logger.info(f"Data {payload}") return HttpResponseRedirect(final_url) From 8e945b987dec546c5854892e2d6e728451102174 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 28 Apr 2026 10:37:35 +0500 Subject: [PATCH 342/447] add log --- lms/djangoapps/news/views.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index c73d1d84d8b2..76dc58a2be58 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -143,7 +143,7 @@ def go_to_exam(request): exam_id = random.randint(10**7, 10**8 - 1) session_id = random.randint(10**10, 10**11 - 1) - exam_name = f"Тестовый экзамен по {course_name}" + exam_name = f"Экзамен по {course_name}" request.session["proctoring_session_id"] = session_id logger.info(f"my-log: exam start {session_id}") @@ -166,7 +166,7 @@ def go_to_exam(request): "duration": 30, "schedule": False, "proctoring": "online", - "examDesc": f"Курс: Тестирование систем
    Преподаватель: AI Assistant", + "examDesc": f"Курс: {course_name}
    Преподаватель: AI Assistant", "rules": { "websites": True, "look_away": True, @@ -189,9 +189,7 @@ def go_to_exam(request): encoded_token = urllib.parse.quote(token) final_url = f"{PROCTORING_URL}?token={encoded_token}" - print("Redirecting user to:", final_url) - print("Return URL:", unit_url) - logger.info(f"Data {payload}") + logger.info(f"my-log: request get {request.GET}") return HttpResponseRedirect(final_url) From d2d67d6804f7e747aee435a3b4c20bb0dcfc532d Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 29 Apr 2026 09:28:53 +0500 Subject: [PATCH 343/447] Improved examDesc --- lms/djangoapps/news/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 76dc58a2be58..876a4b826c46 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -129,6 +129,7 @@ def go_to_exam(request): username = request.user.username unit_url = request.GET.get("unit_url", "/") course_name = request.GET.get("course_name", "empty") + section_name = request.GET.get("section_name", "empty") # можно взять реальные данные если нужно @@ -166,7 +167,7 @@ def go_to_exam(request): "duration": 30, "schedule": False, "proctoring": "online", - "examDesc": f"Курс: {course_name}
    Преподаватель: AI Assistant", + "examDesc": f"Курс: {course_name}
    Модуль: {section_name}

    Ссылка на задание {unit_url}", "rules": { "websites": True, "look_away": True, From e65f9fc3ea90200455bdc548f88dc4d970039230 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 18 May 2026 11:14:54 +0500 Subject: [PATCH 344/447] edited open analyze --- .../news/migrations/0002_emptytable.py | 32 ------------------- lms/djangoapps/news/views.py | 21 ++++++++---- 2 files changed, 14 insertions(+), 39 deletions(-) delete mode 100644 lms/djangoapps/news/migrations/0002_emptytable.py diff --git a/lms/djangoapps/news/migrations/0002_emptytable.py b/lms/djangoapps/news/migrations/0002_emptytable.py deleted file mode 100644 index 9efc84b62d29..000000000000 --- a/lms/djangoapps/news/migrations/0002_emptytable.py +++ /dev/null @@ -1,32 +0,0 @@ -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("news", "0001_initial"), - ] - - operations = [ - migrations.CreateModel( - name="EmptyTable", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "title", - models.CharField( - max_length=200, - verbose_name="Заголовок", - ), - ), - ], - ), - ] diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 876a4b826c46..1b58ab4fd2ce 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -63,16 +63,23 @@ def news_create(request): def analyze(request): courses = CourseOverview.objects.all() + course_org_filter = ["Test_kaznu", "rty", "123"] + today = timezone.now().date() - courses_by_org = ( + courses_qs = ( CourseOverview.objects + .exclude(org__in=course_org_filter) + .exclude(start__gt=today) + ) + courses_by_org = ( + courses_qs .values("org") .annotate(total=Count("id")) .order_by("-total") ) courses_by_year = ( - CourseOverview.objects + courses_qs .exclude(start__isnull=True) .annotate(year=ExtractYear("start")) .values("year") @@ -81,7 +88,7 @@ def analyze(request): ) courses_by_lang = ( - CourseOverview.objects + courses_qs .exclude(language__isnull=True) .values("language") .annotate(total=Count("id")) @@ -89,14 +96,14 @@ def analyze(request): ) paced_data = [ - CourseOverview.objects.filter(self_paced=True).count(), - CourseOverview.objects.filter(self_paced=False).count(), + courses_qs.objects.filter(self_paced=True).count(), + courses_qs.objects.filter(self_paced=False).count(), ] context = { # список курсов (НЕ для JS — оставляем как есть) - "courses": courses[:50], - "courses_count": courses.count(), + "courses": courses_qs[:50], + "courses_count": courses_qs.count(), # факультеты "org_labels": json.dumps([c["org"] for c in courses_by_org]), From 202274b66e604c4a216610530c037fc08c0b8769 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 18 May 2026 11:16:12 +0500 Subject: [PATCH 345/447] edited open analyze --- lms/djangoapps/news/views.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 876a4b826c46..1b58ab4fd2ce 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -63,16 +63,23 @@ def news_create(request): def analyze(request): courses = CourseOverview.objects.all() + course_org_filter = ["Test_kaznu", "rty", "123"] + today = timezone.now().date() - courses_by_org = ( + courses_qs = ( CourseOverview.objects + .exclude(org__in=course_org_filter) + .exclude(start__gt=today) + ) + courses_by_org = ( + courses_qs .values("org") .annotate(total=Count("id")) .order_by("-total") ) courses_by_year = ( - CourseOverview.objects + courses_qs .exclude(start__isnull=True) .annotate(year=ExtractYear("start")) .values("year") @@ -81,7 +88,7 @@ def analyze(request): ) courses_by_lang = ( - CourseOverview.objects + courses_qs .exclude(language__isnull=True) .values("language") .annotate(total=Count("id")) @@ -89,14 +96,14 @@ def analyze(request): ) paced_data = [ - CourseOverview.objects.filter(self_paced=True).count(), - CourseOverview.objects.filter(self_paced=False).count(), + courses_qs.objects.filter(self_paced=True).count(), + courses_qs.objects.filter(self_paced=False).count(), ] context = { # список курсов (НЕ для JS — оставляем как есть) - "courses": courses[:50], - "courses_count": courses.count(), + "courses": courses_qs[:50], + "courses_count": courses_qs.count(), # факультеты "org_labels": json.dumps([c["org"] for c in courses_by_org]), From 726c414724a673b1e42294c553db43a12ffd0658 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 18 May 2026 11:24:47 +0500 Subject: [PATCH 346/447] fix mistake --- lms/djangoapps/news/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 1b58ab4fd2ce..7172a8c056cd 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -62,7 +62,6 @@ def news_create(request): def analyze(request): - courses = CourseOverview.objects.all() course_org_filter = ["Test_kaznu", "rty", "123"] today = timezone.now().date() @@ -96,8 +95,8 @@ def analyze(request): ) paced_data = [ - courses_qs.objects.filter(self_paced=True).count(), - courses_qs.objects.filter(self_paced=False).count(), + courses_qs.filter(self_paced=True).count(), + courses_qs.filter(self_paced=False).count(), ] context = { From 68a0ad4da7f10e00bd3eb264a7b9db2d821ed848 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 18 May 2026 11:33:59 +0500 Subject: [PATCH 347/447] fix mistake2 --- lms/djangoapps/news/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 7172a8c056cd..a2c1ce901ae9 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -11,6 +11,7 @@ from django.db.models.functions import ExtractYear import json from django.db.models import Count +from django.utils import timezone from django.db.models.functions import ExtractYear from openedx.core.djangoapps.content.course_overviews.models import CourseOverview # from ..commerce.api.v1.models import Course @@ -18,7 +19,7 @@ import jwt import urllib.parse import random -from datetime import datetime, timedelta, timezone +from datetime import datetime, timedelta from django.http import HttpResponseRedirect From 466f01cde57903e9e1ec23a19cfc6944bff07785 Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 20 May 2026 11:46:46 +0500 Subject: [PATCH 348/447] add new column to CourseOverview --- .../0031_courseoverview_faculty_directions.py | 34 +++++++++++++++++++ .../content/course_overviews/models.py | 3 ++ 2 files changed, 37 insertions(+) create mode 100644 openedx/core/djangoapps/content/course_overviews/migrations/0031_courseoverview_faculty_directions.py diff --git a/openedx/core/djangoapps/content/course_overviews/migrations/0031_courseoverview_faculty_directions.py b/openedx/core/djangoapps/content/course_overviews/migrations/0031_courseoverview_faculty_directions.py new file mode 100644 index 000000000000..702f8574a024 --- /dev/null +++ b/openedx/core/djangoapps/content/course_overviews/migrations/0031_courseoverview_faculty_directions.py @@ -0,0 +1,34 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "course_overviews", + "0030_courseoverview_complexity_and_more", + ), + ] + + operations = [ + migrations.AddField( + model_name="courseoverview", + name="faculty", + field=models.TextField(null=True), + ), + migrations.AddField( + model_name="courseoverview", + name="directions", + field=models.TextField(null=True), + ), + migrations.AddField( + model_name="historicalcourseoverview", + name="faculty", + field=models.TextField(null=True), + ), + migrations.AddField( + model_name="historicalcourseoverview", + name="directions", + field=models.TextField(null=True), + ), + ] diff --git a/openedx/core/djangoapps/content/course_overviews/models.py b/openedx/core/djangoapps/content/course_overviews/models.py index c3a9e3e99089..07f471e9d5bf 100644 --- a/openedx/core/djangoapps/content/course_overviews/models.py +++ b/openedx/core/djangoapps/content/course_overviews/models.py @@ -139,6 +139,9 @@ class Meta: null=False, blank=False, ) + faculty = models.TextField(null=True) + directions = models.TextField(null=True) + self_paced = models.BooleanField(default=False) marketing_url = models.TextField(null=True) eligible_for_financial_aid = models.BooleanField(default=True) From 6fae2cfc98436f89bbf8c197a2cb4cff566ea9c3 Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 20 May 2026 14:19:55 +0500 Subject: [PATCH 349/447] change column name in courseoverview --- lms/djangoapps/news/views.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index a2c1ce901ae9..d515a263911d 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -71,9 +71,12 @@ def analyze(request): .exclude(org__in=course_org_filter) .exclude(start__gt=today) ) - courses_by_org = ( + + courses_by_faculty = ( courses_qs - .values("org") + .exclude(faculty__isnull=True) + .exclude(faculty="") + .values("faculty") .annotate(total=Count("id")) .order_by("-total") ) @@ -101,20 +104,19 @@ def analyze(request): ] context = { - # список курсов (НЕ для JS — оставляем как есть) "courses": courses_qs[:50], "courses_count": courses_qs.count(), # факультеты - "org_labels": json.dumps([c["org"] for c in courses_by_org]), - "org_data": json.dumps([c["total"] for c in courses_by_org]), + "org_labels": json.dumps([c["faculty"] for c in courses_by_faculty], ensure_ascii=False), + "org_data": json.dumps([c["total"] for c in courses_by_faculty]), # годы "year_labels": json.dumps([c["year"] for c in courses_by_year]), "year_data": json.dumps([c["total"] for c in courses_by_year]), # языки - "lang_labels": json.dumps([c["language"] for c in courses_by_lang]), + "lang_labels": json.dumps([c["language"] for c in courses_by_lang], ensure_ascii=False), "lang_data": json.dumps([c["total"] for c in courses_by_lang]), # формат From 5f03b102610bbc57c40a33fbce176d3269a16c6e Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 18 May 2026 11:24:47 +0500 Subject: [PATCH 350/447] fix mistake --- lms/djangoapps/news/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 1b58ab4fd2ce..7172a8c056cd 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -62,7 +62,6 @@ def news_create(request): def analyze(request): - courses = CourseOverview.objects.all() course_org_filter = ["Test_kaznu", "rty", "123"] today = timezone.now().date() @@ -96,8 +95,8 @@ def analyze(request): ) paced_data = [ - courses_qs.objects.filter(self_paced=True).count(), - courses_qs.objects.filter(self_paced=False).count(), + courses_qs.filter(self_paced=True).count(), + courses_qs.filter(self_paced=False).count(), ] context = { From ee5dc13c70e09d2341d86ed36a587815e5a57ddc Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 18 May 2026 11:33:59 +0500 Subject: [PATCH 351/447] fix mistake2 --- lms/djangoapps/news/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 7172a8c056cd..a2c1ce901ae9 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -11,6 +11,7 @@ from django.db.models.functions import ExtractYear import json from django.db.models import Count +from django.utils import timezone from django.db.models.functions import ExtractYear from openedx.core.djangoapps.content.course_overviews.models import CourseOverview # from ..commerce.api.v1.models import Course @@ -18,7 +19,7 @@ import jwt import urllib.parse import random -from datetime import datetime, timedelta, timezone +from datetime import datetime, timedelta from django.http import HttpResponseRedirect From 2f16958498fa14251579d2d6c471e80678694369 Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 20 May 2026 11:46:46 +0500 Subject: [PATCH 352/447] add new column to CourseOverview --- .../0031_courseoverview_faculty_directions.py | 34 +++++++++++++++++++ .../content/course_overviews/models.py | 3 ++ 2 files changed, 37 insertions(+) create mode 100644 openedx/core/djangoapps/content/course_overviews/migrations/0031_courseoverview_faculty_directions.py diff --git a/openedx/core/djangoapps/content/course_overviews/migrations/0031_courseoverview_faculty_directions.py b/openedx/core/djangoapps/content/course_overviews/migrations/0031_courseoverview_faculty_directions.py new file mode 100644 index 000000000000..702f8574a024 --- /dev/null +++ b/openedx/core/djangoapps/content/course_overviews/migrations/0031_courseoverview_faculty_directions.py @@ -0,0 +1,34 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "course_overviews", + "0030_courseoverview_complexity_and_more", + ), + ] + + operations = [ + migrations.AddField( + model_name="courseoverview", + name="faculty", + field=models.TextField(null=True), + ), + migrations.AddField( + model_name="courseoverview", + name="directions", + field=models.TextField(null=True), + ), + migrations.AddField( + model_name="historicalcourseoverview", + name="faculty", + field=models.TextField(null=True), + ), + migrations.AddField( + model_name="historicalcourseoverview", + name="directions", + field=models.TextField(null=True), + ), + ] diff --git a/openedx/core/djangoapps/content/course_overviews/models.py b/openedx/core/djangoapps/content/course_overviews/models.py index c3a9e3e99089..07f471e9d5bf 100644 --- a/openedx/core/djangoapps/content/course_overviews/models.py +++ b/openedx/core/djangoapps/content/course_overviews/models.py @@ -139,6 +139,9 @@ class Meta: null=False, blank=False, ) + faculty = models.TextField(null=True) + directions = models.TextField(null=True) + self_paced = models.BooleanField(default=False) marketing_url = models.TextField(null=True) eligible_for_financial_aid = models.BooleanField(default=True) From b6e30fd769a78a7c27413ce7c5ba26949a48ab8e Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 20 May 2026 14:19:55 +0500 Subject: [PATCH 353/447] change column name in courseoverview --- lms/djangoapps/news/views.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index a2c1ce901ae9..d515a263911d 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -71,9 +71,12 @@ def analyze(request): .exclude(org__in=course_org_filter) .exclude(start__gt=today) ) - courses_by_org = ( + + courses_by_faculty = ( courses_qs - .values("org") + .exclude(faculty__isnull=True) + .exclude(faculty="") + .values("faculty") .annotate(total=Count("id")) .order_by("-total") ) @@ -101,20 +104,19 @@ def analyze(request): ] context = { - # список курсов (НЕ для JS — оставляем как есть) "courses": courses_qs[:50], "courses_count": courses_qs.count(), # факультеты - "org_labels": json.dumps([c["org"] for c in courses_by_org]), - "org_data": json.dumps([c["total"] for c in courses_by_org]), + "org_labels": json.dumps([c["faculty"] for c in courses_by_faculty], ensure_ascii=False), + "org_data": json.dumps([c["total"] for c in courses_by_faculty]), # годы "year_labels": json.dumps([c["year"] for c in courses_by_year]), "year_data": json.dumps([c["total"] for c in courses_by_year]), # языки - "lang_labels": json.dumps([c["language"] for c in courses_by_lang]), + "lang_labels": json.dumps([c["language"] for c in courses_by_lang], ensure_ascii=False), "lang_data": json.dumps([c["total"] for c in courses_by_lang]), # формат From d42d168dd3d3c64a629aaac2a9776bb81b7b2271 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 21 May 2026 10:22:46 +0500 Subject: [PATCH 354/447] change directions, faculty --- lms/templates/news/analyze.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 4968a379ee36..a2509397e40f 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -68,7 +68,8 @@

    📚 Курсы

    % for course in courses:
    ${course.display_name} -
    Org: ${course.org}
    +
    Org: ${course.faculty}
    +
    Org: ${course.directions}
    Language: ${course.language}
    % if course.start:
    Start: ${course.start.strftime('%d.%m.%Y')}
    From dc4164c01c13c9d623d83d7246713bbc7111111b Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 21 May 2026 10:39:09 +0500 Subject: [PATCH 355/447] add new thing in analyze --- lms/djangoapps/news/views.py | 8 ++++++-- lms/templates/news/analyze.html | 25 +++++++++++++++++++------ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index d515a263911d..6c319612e9e1 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -108,8 +108,12 @@ def analyze(request): "courses_count": courses_qs.count(), # факультеты - "org_labels": json.dumps([c["faculty"] for c in courses_by_faculty], ensure_ascii=False), - "org_data": json.dumps([c["total"] for c in courses_by_faculty]), + "faculty_labels": json.dumps([c["faculty"] for c in courses_by_faculty], ensure_ascii=False), + "faculty_data": json.dumps([c["total"] for c in courses_by_faculty]), + + # факультеты + "directions_labels": json.dumps([c["directions"] for c in courses_by_faculty], ensure_ascii=False), + "directions_data": json.dumps([c["total"] for c in courses_by_faculty]), # годы "year_labels": json.dumps([c["year"] for c in courses_by_year]), diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index a2509397e40f..fef94a4714a1 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -40,7 +40,12 @@

    📊 Аналитика курсов

    Курсы по факультетам

    - + +
    + +
    +

    Курсы по факультетам

    +
    @@ -68,8 +73,8 @@

    📚 Курсы

    % for course in courses:
    ${course.display_name} -
    Org: ${course.faculty}
    -
    Org: ${course.directions}
    +
    Faculty: ${course.faculty}
    +
    Directions: ${course.directions}
    Language: ${course.language}
    % if course.start:
    Start: ${course.start.strftime('%d.%m.%Y')}
    @@ -89,11 +94,19 @@

    📚 Курсы

    <%block name="extrajs"> <%block name="content"> +
    +
    +
    +
    +
    Course analytics
    +

    Аналитика курсов

    +

    + Сводка по опубликованным курсам без тестовых организаций. Ниже показаны актуальные курсы текущего года; графики факультетов и направлений фильтруют список. +

    +
    +
    Обновлено: ${generated_at}
    +
    -
    - -

    📊 Аналитика курсов

    +
    +
    +
    Всего курсов
    +
    ${courses_count}
    +
    Без тестовых организаций
    +
    +
    +
    Актуальные за ${current_year}
    +
    ${current_year_courses_count}
    +
    Используются в списке ниже
    +
    +
    +
    Факультетов
    +
    ${faculty_count}
    +
    С заполненным полем faculty
    +
    +
    +
    Направлений
    +
    ${directions_count}
    +
    С заполненным полем directions
    +
    +
    -

    Всего курсов: ${courses_count}

    +
    + Языки: + % if language_summary: + % for language in language_summary: + ${language["label"]}: ${language["total"]} + % endfor + % else: + Нет данных + % endif +
    - -
    -

    Курсы по факультетам

    - -
    +
    +
    +
    +

    Курсы по годам

    +

    Динамика количества курсов по дате старта.

    +
    +
    +
    +
    + +
    +
    +
    -
    -

    Курсы по факультетам

    - -
    +
    +
    +
    +

    Структура курсов

    +

    Нажмите на столбец факультета или направления, чтобы отфильтровать актуальные курсы ниже.

    +
    +
    +
    +
    +
    +
    +

    Курсы по факультетам

    +

    Топ факультетов по количеству курсов.

    +
    +
    +
    + +
    +
    +
    +
    +
    +

    Курсы по направлениям

    +

    Топ направлений по количеству курсов.

    +
    +
    +
    + +
    +
    +
    +
    - -
    -

    Курсы по годам

    - -
    +
    +
    +
    +

    Курсы топ 50

    +

    Актуальные курсы с датой старта в ${current_year} году.

    +
    +
    - -
    -

    Курсы по языкам

    - -
    +
    +
    +
    + +
    - -
    -

    Формат обучения

    - -
    +
    +
    +
    - -

    📚 Курсы

    - -
    - % for course in courses: -
    - ${course.display_name} -
    Faculty: ${course.faculty}
    -
    Directions: ${course.directions}
    -
    Language: ${course.language}
    - % if course.start: -
    Start: ${course.start.strftime('%d.%m.%Y')}
    - % endif -
    - - Перейти к курсу → - +
    + + + + + + + + + + + + +
    КурсФакультетНаправлениеЯзыкСтарт
    +
    +
    По выбранному фильтру нет актуальных курсов за ${current_year} год.
    -
    - % endfor +
    -
    - <%block name="extrajs"> From 234704398e5bc50d76157e455e2189e920da0129 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 21 May 2026 11:59:47 +0500 Subject: [PATCH 358/447] make disign better --- lms/templates/news/analyze.html | 142 +++++++++++++++++++++----------- 1 file changed, 96 insertions(+), 46 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 74d5e8302e01..89ae7fd49097 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -11,14 +11,28 @@ --analytics-bg: #f6f8fb; --analytics-surface: #ffffff; --analytics-surface-soft: #f9fafc; - --analytics-border: #d9e0ea; + + --analytics-border: #d7e0ea; + --analytics-border-soft: #e7edf4; + --analytics-text: #172033; --analytics-muted: #667085; - --analytics-accent: #1b5e8f; - --analytics-accent-strong: #123f63; - --analytics-accent-soft: #e8f2f8; - --analytics-good: #2f7d5a; + + /* Мягкий синий: не слишком яркий, но все еще аккуратный */ + --analytics-accent: #2f6f95; + --analytics-accent-strong: #244b66; + --analytics-accent-dark: #18384f; + --analytics-accent-soft: #edf5fa; + --analytics-accent-soft-2: #f5f9fc; + + --analytics-good: #3b8067; + + --analytics-radius-sm: 6px; + --analytics-radius-md: 10px; + --analytics-radius-lg: 12px; + --analytics-shadow: 0 14px 40px rgba(16, 24, 40, 0.08); + --analytics-shadow-soft: 0 2px 8px rgba(16, 24, 40, 0.05); } .analytics-page { @@ -52,6 +66,7 @@ } .analytics-title { + color: var(--analytics-text); font-size: 34px; font-weight: 700; line-height: 1.15; @@ -80,9 +95,9 @@ .summary-card { background: var(--analytics-surface); - border: 1px solid var(--analytics-border); - border-radius: 6px; - box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04); + border: 1px solid var(--analytics-border-soft); + border-radius: var(--analytics-radius-md); + box-shadow: var(--analytics-shadow-soft); padding: 18px; } @@ -108,9 +123,9 @@ .language-strip { background: var(--analytics-surface); - border: 1px solid var(--analytics-border); - border-radius: 6px; - box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04); + border: 1px solid var(--analytics-border-soft); + border-radius: var(--analytics-radius-md); + box-shadow: var(--analytics-shadow-soft); display: flex; gap: 10px; flex-wrap: wrap; @@ -129,8 +144,8 @@ .language-chip, .filter-chip { align-items: center; - background: var(--analytics-surface-soft); - border: 1px solid var(--analytics-border); + background: var(--analytics-accent-soft-2); + border: 1px solid #d4e4ee; border-radius: 999px; color: var(--analytics-text); display: inline-flex; @@ -138,7 +153,7 @@ font-weight: 600; gap: 8px; min-height: 30px; - padding: 5px 11px; + padding: 5px 12px; } .language-chip strong, @@ -159,6 +174,7 @@ } .section-heading h2 { + color: var(--analytics-text); font-size: 21px; font-weight: 700; margin: 0; @@ -172,8 +188,8 @@ .panel { background: var(--analytics-surface); - border: 1px solid var(--analytics-border); - border-radius: 6px; + border: 1px solid var(--analytics-border-soft); + border-radius: var(--analytics-radius-lg); box-shadow: var(--analytics-shadow); padding: 20px; } @@ -196,8 +212,8 @@ .active-filter-bar { align-items: center; background: var(--analytics-accent-soft); - border: 1px solid #c7deed; - border-radius: 6px; + border: 1px solid #cbdde9; + border-radius: var(--analytics-radius-md); display: none; gap: 12px; justify-content: space-between; @@ -217,14 +233,24 @@ .clear-filter-button { background: var(--analytics-surface); - border: 1px solid #b7d1e3; - border-radius: 4px; + border: 1px solid #c3d6e3; + border-radius: 999px; color: var(--analytics-accent-strong); cursor: pointer; font-size: 13px; font-weight: 700; min-height: 34px; - padding: 6px 12px; + padding: 6px 14px; + transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease; +} + +.clear-filter-button:hover, +.clear-filter-button:focus { + background: var(--analytics-accent-dark); + border-color: var(--analytics-accent-dark); + color: #ffffff; + box-shadow: 0 6px 14px rgba(24, 56, 79, 0.18); + outline: none; } .courses-toolbar { @@ -251,7 +277,7 @@ } .courses-table th { - background: #f1f4f8; + background: #f3f6fa; border-bottom: 1px solid var(--analytics-border); color: #384152; font-size: 12px; @@ -263,7 +289,7 @@ } .courses-table td { - border-bottom: 1px solid #e8edf3; + border-bottom: 1px solid var(--analytics-border-soft); color: var(--analytics-text); font-size: 14px; padding: 14px 12px; @@ -274,14 +300,22 @@ border-bottom: 0; } +.courses-table tbody tr { + transition: background-color 0.16s ease; +} + +.courses-table tbody tr:hover { + background: #f8fbfd; +} + .course-title { color: var(--analytics-accent-strong); font-weight: 700; text-decoration: none; } -.course-title:hover, -.course-link:hover { +.course-title:hover { + color: var(--analytics-accent); text-decoration: underline; } @@ -292,28 +326,41 @@ } .filter-button { - background: transparent; - border: 0; - color: var(--analytics-accent); + background: var(--analytics-accent-soft-2); + border: 1px solid #d4e4ee; + border-radius: 999px; + color: var(--analytics-accent-strong); cursor: pointer; font: inherit; + font-size: 13px; font-weight: 700; - padding: 0; + padding: 5px 11px; text-align: left; + transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease; } -.filter-button:hover { - color: var(--analytics-accent-strong); - text-decoration: underline; +.filter-button:hover, +.filter-button:focus { + background: var(--analytics-accent-dark); + border-color: var(--analytics-accent-dark); + color: #ffffff; + box-shadow: 0 6px 14px rgba(24, 56, 79, 0.16); + outline: none; + text-decoration: none; } .course-link { - color: var(--analytics-accent); + color: var(--analytics-accent-strong); font-weight: 700; text-decoration: none; white-space: nowrap; } +.course-link:hover { + color: var(--analytics-accent); + text-decoration: underline; +} + .empty-state { color: var(--analytics-muted); display: none; @@ -519,20 +566,20 @@

    Курсы топ 50

    var courses = ${courses_json | n}; var palette = [ - "#1b5e8f", - "#2f7d5a", - "#8a5b15", - "#6f4aa8", - "#9a3f3f", - "#34758f", - "#4f6f52", - "#625f6f", - "#7a5872", - "#526a8a" + "#2f6f95", + "#3b8067", + "#9a7742", + "#6f5f96", + "#9a5b5b", + "#4b7f8f", + "#6f7f54", + "#6b7280", + "#8a6680", + "#5f7896" ]; Chart.defaults.font.family = "'Inter', 'Segoe UI', Arial, sans-serif"; - Chart.defaults.color = "#667085"; + Chart.defaults.color = "#5f6f82"; Chart.defaults.plugins.legend.display = false; function barChart(canvasId, labels, values, horizontal) { @@ -556,8 +603,11 @@

    Курсы топ 50

    indexAxis: horizontal ? "y" : "x", plugins: { tooltip: { - backgroundColor: "#172033", - padding: 10, + backgroundColor: "#18384f", + borderColor: "#2f6f95", + borderWidth: 1, + cornerRadius: 8, + padding: 11, titleFont: { weight: "700" }, callbacks: { label: function (context) { From 9d431e3933ea5589922d2b142fd5c8b5903b884c Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 21 May 2026 17:31:57 +0500 Subject: [PATCH 359/447] filter for coruse duplicate --- lms/djangoapps/news/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 214ad91dd96e..282ca3a653e7 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -85,7 +85,7 @@ def analyze(request): .exclude(faculty__isnull=True) .exclude(faculty="") .values("faculty") - .annotate(total=Count("id")) + .annotate(total=Count("display_name", distinct=True)) .order_by("-total", "faculty")[:12] ) @@ -94,7 +94,7 @@ def analyze(request): .exclude(directions__isnull=True) .exclude(directions="") .values("directions") - .annotate(total=Count("id")) + .annotate(total=Count("display_name", distinct=True)) .order_by("-total", "directions")[:12] ) From 78a540924b97194f7ed72c207ad830a3825003d5 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 09:51:37 +0500 Subject: [PATCH 360/447] add distinct for course --- lms/djangoapps/news/views.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 282ca3a653e7..e48e495743b1 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -4,13 +4,11 @@ from .models import News from .forms import NewsForm from django.contrib.auth.decorators import user_passes_test -from django.db.models import Count from common.djangoapps.student.models import UserProfile -from django.db.models import Count -from django.db.models.functions import ExtractYear import json from django.db.models import Count +from django.db.models import Count, OuterRef, Subquery from django.utils import timezone from django.db.models.functions import ExtractYear from openedx.core.djangoapps.content.course_overviews.models import CourseOverview @@ -67,10 +65,24 @@ def analyze(request): today = timezone.now().date() current_year = today.year - courses_qs = ( + base_courses_qs = ( CourseOverview.objects .exclude(org__in=course_org_filter) .exclude(start__gt=today) + .exclude(display_name__isnull=True) + .exclude(display_name="") + ) + + latest_course_ids = ( + base_courses_qs + .filter(display_name=OuterRef("display_name")) + .order_by("-start", "-id") + .values("id")[:1] + ) + + courses_qs = ( + base_courses_qs + .filter(id__in=Subquery(latest_course_ids)) ) current_year_courses_qs = ( @@ -85,7 +97,7 @@ def analyze(request): .exclude(faculty__isnull=True) .exclude(faculty="") .values("faculty") - .annotate(total=Count("display_name", distinct=True)) + .annotate(total=Count("id")) .order_by("-total", "faculty")[:12] ) @@ -94,7 +106,7 @@ def analyze(request): .exclude(directions__isnull=True) .exclude(directions="") .values("directions") - .annotate(total=Count("display_name", distinct=True)) + .annotate(total=Count("id")) .order_by("-total", "directions")[:12] ) From 8c363424d3c3469c392296f771915b5994f11365 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 09:56:11 +0500 Subject: [PATCH 361/447] add new filter for course --- lms/djangoapps/news/views.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index e48e495743b1..3d07a13e84d3 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -62,13 +62,29 @@ def news_create(request): def analyze(request): course_org_filter = ["Test_kaznu", "rty", "123"] - today = timezone.now().date() + + now = timezone.now() + today = now.date() current_year = today.year - base_courses_qs = ( + max_valid_end = now + timedelta(days=366) + + base_courses_qs = ( CourseOverview.objects .exclude(org__in=course_org_filter) - .exclude(start__gt=today) + + # курс уже должен быть запущен + .exclude(start__isnull=True) + .exclude(start__gt=now) + + # курс еще не должен закончиться + .exclude(end__isnull=True) + .exclude(end__lt=now) + + # скрываем слишком долгие/ошибочные курсы, например до 2028 года + .exclude(end__gt=max_valid_end) + + # убираем пустые названия .exclude(display_name__isnull=True) .exclude(display_name="") ) From d129d9da886f94b1115d9b9b7170741a4cdee5cf Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 10:12:35 +0500 Subject: [PATCH 362/447] new version --- lms/djangoapps/news/views.py | 107 ++++++++++++++++++----------------- 1 file changed, 55 insertions(+), 52 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 3d07a13e84d3..4de9b7d86745 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -7,10 +7,8 @@ from common.djangoapps.student.models import UserProfile import json -from django.db.models import Count -from django.db.models import Count, OuterRef, Subquery from django.utils import timezone -from django.db.models.functions import ExtractYear +from collections import Counte from openedx.core.djangoapps.content.course_overviews.models import CourseOverview # from ..commerce.api.v1.models import Course import logging @@ -24,6 +22,8 @@ from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt from django.conf import settings + +r logger = logging.getLogger(__name__) def news_list(request): @@ -87,64 +87,67 @@ def analyze(request): # убираем пустые названия .exclude(display_name__isnull=True) .exclude(display_name="") + .order_by("display_name", "-start", "-id") ) - latest_course_ids = ( - base_courses_qs - .filter(display_name=OuterRef("display_name")) - .order_by("-start", "-id") - .values("id")[:1] - ) + unique_courses = {} + for course in base_courses_qs: + if course.display_name not in unique_courses: + unique_courses[course.display_name] = course - courses_qs = ( - base_courses_qs - .filter(id__in=Subquery(latest_course_ids)) - ) + courses = list(unique_courses.values()) - current_year_courses_qs = ( - courses_qs - .exclude(start__isnull=True) - .filter(start__year=current_year) - .order_by("-start", "display_name") - ) + current_year_courses = [ + course for course in courses + if course.start and course.start.year == current_year + ] - courses_by_faculty = ( - courses_qs - .exclude(faculty__isnull=True) - .exclude(faculty="") - .values("faculty") - .annotate(total=Count("id")) - .order_by("-total", "faculty")[:12] + faculty_counter = Counter( + course.faculty for course in courses + if course.faculty ) - courses_by_directions = ( - courses_qs - .exclude(directions__isnull=True) - .exclude(directions="") - .values("directions") - .annotate(total=Count("id")) - .order_by("-total", "directions")[:12] + directions_counter = Counter( + course.directions for course in courses + if course.directions ) - courses_by_year = ( - courses_qs - .exclude(start__isnull=True) - .annotate(year=ExtractYear("start")) - .values("year") - .annotate(total=Count("id")) - .order_by("year") + year_counter = Counter( + course.start.year for course in courses + if course.start ) - courses_by_lang = ( - courses_qs - .exclude(language__isnull=True) - .exclude(language="") - .values("language") - .annotate(total=Count("id")) - .order_by("-total", "language") + language_counter = Counter( + course.language for course in courses + if course.language ) - top_courses = list(current_year_courses_qs[:50]) + courses_by_faculty = [ + {"faculty": faculty, "total": total} + for faculty, total in faculty_counter.most_common(12) + ] + + courses_by_directions = [ + {"directions": directions, "total": total} + for directions, total in directions_counter.most_common(12) + ] + + courses_by_year = [ + {"year": year, "total": year_counter[year]} + for year in sorted(year_counter) + ] + + courses_by_lang = [ + {"language": language, "total": total} + for language, total in language_counter.most_common() + ] + + top_courses = sorted( + current_year_courses, + key=lambda course: course.start, + reverse=True + )[:50] + courses_json = [ { "id": str(course.id), @@ -159,11 +162,11 @@ def analyze(request): ] context = { - "courses_count": courses_qs.count(), + "courses_count": len(courses), "current_year": current_year, - "current_year_courses_count": current_year_courses_qs.count(), - "faculty_count": courses_qs.exclude(faculty__isnull=True).exclude(faculty="").values("faculty").distinct().count(), - "directions_count": courses_qs.exclude(directions__isnull=True).exclude(directions="").values("directions").distinct().count(), + "current_year_courses_count": len(current_year_courses), + "faculty_count": len(set(course.faculty for course in courses if course.faculty)), + "directions_count": len(set(course.directions for course in courses if course.directions)), "generated_at": timezone.localtime().strftime("%d.%m.%Y %H:%M"), "language_summary": [ From 3925b08b9ad2e985372835e45460dd542c817b77 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 10:15:01 +0500 Subject: [PATCH 363/447] fix mistake --- lms/djangoapps/news/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 4de9b7d86745..89282dd1b253 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -8,7 +8,7 @@ import json from django.utils import timezone -from collections import Counte +from collections import Counter from openedx.core.djangoapps.content.course_overviews.models import CourseOverview # from ..commerce.api.v1.models import Course import logging @@ -23,7 +23,6 @@ from django.views.decorators.csrf import csrf_exempt from django.conf import settings -r logger = logging.getLogger(__name__) def news_list(request): From fe466e8112e7ff33cb651fa2a730061dfbdfb8bd Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 10:37:22 +0500 Subject: [PATCH 364/447] remove filter for course full grapthic --- lms/djangoapps/news/views.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 89282dd1b253..87409bf6ef3c 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -23,6 +23,10 @@ from django.views.decorators.csrf import csrf_exempt from django.conf import settings + +from django.db.models.functions import ExtractYear +from django.db.models import Count + logger = logging.getLogger(__name__) def news_list(request): @@ -100,7 +104,22 @@ def analyze(request): course for course in courses if course.start and course.start.year == current_year ] + # + courses_by_year_qs = ( + CourseOverview.objects + .exclude(org__in=course_org_filter) + .exclude(start__isnull=True) + .annotate(year=ExtractYear("start")) + .values("year") + .annotate(total=Count("id")) + .order_by("year") + ) + courses_by_year = [ + {"year": row["year"], "total": row["total"]} + for row in courses_by_year_qs + ] + # faculty_counter = Counter( course.faculty for course in courses if course.faculty @@ -111,11 +130,6 @@ def analyze(request): if course.directions ) - year_counter = Counter( - course.start.year for course in courses - if course.start - ) - language_counter = Counter( course.language for course in courses if course.language @@ -131,11 +145,6 @@ def analyze(request): for directions, total in directions_counter.most_common(12) ] - courses_by_year = [ - {"year": year, "total": year_counter[year]} - for year in sorted(year_counter) - ] - courses_by_lang = [ {"language": language, "total": total} for language, total in language_counter.most_common() From 66d51547f81728d11d91018761adc1b38a5e2503 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 10:56:19 +0500 Subject: [PATCH 365/447] add new filters --- lms/djangoapps/news/views.py | 125 +++++++++++++++++++++++------------ 1 file changed, 82 insertions(+), 43 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 214ad91dd96e..87409bf6ef3c 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -4,15 +4,11 @@ from .models import News from .forms import NewsForm from django.contrib.auth.decorators import user_passes_test -from django.db.models import Count from common.djangoapps.student.models import UserProfile -from django.db.models import Count -from django.db.models.functions import ExtractYear import json -from django.db.models import Count from django.utils import timezone -from django.db.models.functions import ExtractYear +from collections import Counter from openedx.core.djangoapps.content.course_overviews.models import CourseOverview # from ..commerce.api.v1.models import Course import logging @@ -26,6 +22,11 @@ from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt from django.conf import settings + + +from django.db.models.functions import ExtractYear +from django.db.models import Count + logger = logging.getLogger(__name__) def news_list(request): @@ -64,59 +65,97 @@ def news_create(request): def analyze(request): course_org_filter = ["Test_kaznu", "rty", "123"] - today = timezone.now().date() + + now = timezone.now() + today = now.date() current_year = today.year - courses_qs = ( + max_valid_end = now + timedelta(days=366) + + base_courses_qs = ( CourseOverview.objects .exclude(org__in=course_org_filter) - .exclude(start__gt=today) - ) - current_year_courses_qs = ( - courses_qs + # курс уже должен быть запущен .exclude(start__isnull=True) - .filter(start__year=current_year) - .order_by("-start", "display_name") - ) + .exclude(start__gt=now) - courses_by_faculty = ( - courses_qs - .exclude(faculty__isnull=True) - .exclude(faculty="") - .values("faculty") - .annotate(total=Count("id")) - .order_by("-total", "faculty")[:12] - ) + # курс еще не должен закончиться + .exclude(end__isnull=True) + .exclude(end__lt=now) - courses_by_directions = ( - courses_qs - .exclude(directions__isnull=True) - .exclude(directions="") - .values("directions") - .annotate(total=Count("id")) - .order_by("-total", "directions")[:12] + # скрываем слишком долгие/ошибочные курсы, например до 2028 года + .exclude(end__gt=max_valid_end) + + # убираем пустые названия + .exclude(display_name__isnull=True) + .exclude(display_name="") + .order_by("display_name", "-start", "-id") ) - courses_by_year = ( - courses_qs + unique_courses = {} + for course in base_courses_qs: + if course.display_name not in unique_courses: + unique_courses[course.display_name] = course + + courses = list(unique_courses.values()) + + current_year_courses = [ + course for course in courses + if course.start and course.start.year == current_year + ] + # + courses_by_year_qs = ( + CourseOverview.objects + .exclude(org__in=course_org_filter) .exclude(start__isnull=True) .annotate(year=ExtractYear("start")) .values("year") .annotate(total=Count("id")) .order_by("year") ) + courses_by_year = [ + {"year": row["year"], "total": row["total"]} + for row in courses_by_year_qs + ] - courses_by_lang = ( - courses_qs - .exclude(language__isnull=True) - .exclude(language="") - .values("language") - .annotate(total=Count("id")) - .order_by("-total", "language") + # + faculty_counter = Counter( + course.faculty for course in courses + if course.faculty + ) + + directions_counter = Counter( + course.directions for course in courses + if course.directions ) - top_courses = list(current_year_courses_qs[:50]) + language_counter = Counter( + course.language for course in courses + if course.language + ) + + courses_by_faculty = [ + {"faculty": faculty, "total": total} + for faculty, total in faculty_counter.most_common(12) + ] + + courses_by_directions = [ + {"directions": directions, "total": total} + for directions, total in directions_counter.most_common(12) + ] + + courses_by_lang = [ + {"language": language, "total": total} + for language, total in language_counter.most_common() + ] + + top_courses = sorted( + current_year_courses, + key=lambda course: course.start, + reverse=True + )[:50] + courses_json = [ { "id": str(course.id), @@ -131,11 +170,11 @@ def analyze(request): ] context = { - "courses_count": courses_qs.count(), + "courses_count": len(courses), "current_year": current_year, - "current_year_courses_count": current_year_courses_qs.count(), - "faculty_count": courses_qs.exclude(faculty__isnull=True).exclude(faculty="").values("faculty").distinct().count(), - "directions_count": courses_qs.exclude(directions__isnull=True).exclude(directions="").values("directions").distinct().count(), + "current_year_courses_count": len(current_year_courses), + "faculty_count": len(set(course.faculty for course in courses if course.faculty)), + "directions_count": len(set(course.directions for course in courses if course.directions)), "generated_at": timezone.localtime().strftime("%d.%m.%Y %H:%M"), "language_summary": [ From 96e743478d721d4a486c1acc2d6ed1c7c67deb46 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 11:20:03 +0500 Subject: [PATCH 366/447] add certificate translate and fixed something --- .../_accomplishment-rendering.html | 67 ++++++++++--------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 7dde88d9f834..678c4fdf179b 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -19,7 +19,7 @@ - + @@ -124,7 +124,7 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    - Сертификат настоящим подтверждает, что + ${_("This certificate hereby confirms")}
    ${accomplishment_copy_name} @@ -133,15 +133,15 @@

    Внимание пользователям iPhone!

    - Прошел(-а) онлайн курс: + ${_("Passed an online course")}: ${accomplishment_copy_course_name}
    - Дата выдачи: + ${_("Date of issue")}: ${formatted_date}
    - Регистрационный номер: + ${_("Registration number")}: ${certificate_id_number}
    @@ -150,43 +150,44 @@

    Внимание пользователям iPhone!

    Signature 1
    Галеева А.К.
    -
    Член Правления - проректор
    по академическим вопросам
    +
    ${_("Board Member - Vice-Rector for")}
    ${_("Academic Affairs")}
    Signature 2
    Круговых И.И.
    -
    Руководитель Офиса академических
    и цифровых инноваций
    +
    ${_("Head of the Office of")}
    ${_("academic and digital innovation")}
    - % if mode != 'base' and certificate_data: - <% - signatories = certificate_data.get('signatories', []) - label = "Автор" - - if signatories: - name_text = signatories[0].get('name', '') - matches = re.findall(r'[А-ЯЁA-Z]\.[А-ЯЁA-Z]\.', name_text) - if len(matches) > 1: - label = "Авторы" - %> - % for signatory in certificate_data.get('signatories', []): - % if signatory.get('signature_image_path'): -
    - ${signatory['name']} + % if mode != 'base' and certificate_data: + <% + signatories = certificate_data.get('signatories', []) + label = _("Course author") + + if signatories: + name_text = signatories[0].get('name', '') + matches = re.findall(r'[А-ЯЁA-Z]\.[А-ЯЁA-Z]\.', name_text) + if len(matches) > 1: + label = _("Course authors") + %> + + % for signatory in certificate_data.get('signatories', []): + % if signatory.get('signature_image_path'): +
    + ${signatory['name']} +
    + % endif +
    + ${signatory['name']}
    - % endif + % endfor +
    - ${signatory['name']} + ${label}
    - % endfor - -
    - ${label} -
    - % endif -
    + % endif +
    From 622fc57839985c2928f89a502ed6d201af65a897 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 11:25:35 +0500 Subject: [PATCH 367/447] add filter for analyze and add new strtime for certificate --- lms/djangoapps/certificates/views/webview.py | 3 ++- lms/djangoapps/news/views.py | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/certificates/views/webview.py b/lms/djangoapps/certificates/views/webview.py index 3b6cc75e4890..1a2651166508 100644 --- a/lms/djangoapps/certificates/views/webview.py +++ b/lms/djangoapps/certificates/views/webview.py @@ -121,7 +121,8 @@ def _update_certificate_context(context, course, course_overview, user_certifica else: date = display_date_for_certificate(course, user_certificate) # Translators: The format of the date includes the full name of the month - context['certificate_date_issued'] = strftime_localized(date, settings.CERTIFICATE_DATE_FORMAT) + # context['certificate_date_issued'] = strftime_localized(date, settings.CERTIFICATE_DATE_FORMAT) + context['certificate_date_issued'] = date.strftime("%d.%m.%Y") # Translators: This text represents the verification of the certificate context['document_meta_description'] = _('This is a valid {platform_name} certificate for {user_name}, ' diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 87409bf6ef3c..2c3a49bedb65 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -105,10 +105,13 @@ def analyze(request): if course.start and course.start.year == current_year ] # + max_year = current_year + 1 + courses_by_year_qs = ( CourseOverview.objects .exclude(org__in=course_org_filter) .exclude(start__isnull=True) + .filter(start__year__lte=max_year) .annotate(year=ExtractYear("start")) .values("year") .annotate(total=Count("id")) From 61f20ff3e6dc0676b97803aea2462cc0d12e0c8b Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 12:11:03 +0500 Subject: [PATCH 368/447] width auto for certificate --- .../certificates/_accomplishment-rendering.html | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 678c4fdf179b..7d494f555b88 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -25,9 +25,16 @@ @@ -114,7 +116,7 @@

    Внимание пользователям iPhone!

    -
    +
    From e5f1d10e9ae9e5bc9134c11865b079ba4226fe18 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 12:33:55 +0500 Subject: [PATCH 370/447] its big mistake so backup --- .../_accomplishment-rendering.html | 25 ++++++------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 4f430024a6ca..678c4fdf179b 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -25,20 +25,10 @@ @@ -115,8 +106,8 @@

    Внимание пользователям iPhone!

    -
    -
    +
    +
    From e1485ee9602551f138102185a01df3b1cac1acdc Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 12:36:11 +0500 Subject: [PATCH 371/447] change width in analyze --- lms/templates/news/analyze.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 89ae7fd49097..a6adc98ea9c9 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -267,13 +267,13 @@ } .courses-table-wrap { - overflow-x: auto; + overflow-x: hidden; } .courses-table { border-collapse: collapse; - min-width: 980px; width: 100%; + table-layout: fixed; } .courses-table th { From 04895d4cb4c6cb139f6aa87c55feef20f84e5dc1 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 12:45:52 +0500 Subject: [PATCH 372/447] add th, td limiter --- lms/templates/news/analyze.html | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index a6adc98ea9c9..9f4be700f6a3 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -296,6 +296,42 @@ vertical-align: top; } +.courses-table td, +.courses-table th { + word-break: break-word; + overflow-wrap: anywhere; +} + +.courses-table th:nth-child(1), +.courses-table td:nth-child(1) { + width: 32%; +} + +.courses-table th:nth-child(2), +.courses-table td:nth-child(2) { + width: 16%; +} + +.courses-table th:nth-child(3), +.courses-table td:nth-child(3) { + width: 22%; +} + +.courses-table th:nth-child(4), +.courses-table td:nth-child(4) { + width: 9%; +} + +.courses-table th:nth-child(5), +.courses-table td:nth-child(5) { + width: 11%; +} + +.courses-table th:nth-child(6), +.courses-table td:nth-child(6) { + width: 10%; +} + .courses-table tr:last-child td { border-bottom: 0; } From 9e91059801de4393d3cd32032d5caa8aede7a37c Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 14:40:44 +0500 Subject: [PATCH 373/447] fixed --- lms/templates/certificates/_accomplishment-rendering.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 678c4fdf179b..93876d40dd3f 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -124,7 +124,7 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    - ${_("This certificate hereby confirms")} + ${_("This certificate hereby confirms that")}
    ${accomplishment_copy_name} From d7c3c8be8786b3227aaf452ba18b1528d8122ba1 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 22 May 2026 14:43:37 +0500 Subject: [PATCH 374/447] fuck --- lms/djangoapps/news/views.py | 128 +++++++++++++++++++++++------------ 1 file changed, 85 insertions(+), 43 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 214ad91dd96e..2c3a49bedb65 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -4,15 +4,11 @@ from .models import News from .forms import NewsForm from django.contrib.auth.decorators import user_passes_test -from django.db.models import Count from common.djangoapps.student.models import UserProfile -from django.db.models import Count -from django.db.models.functions import ExtractYear import json -from django.db.models import Count from django.utils import timezone -from django.db.models.functions import ExtractYear +from collections import Counter from openedx.core.djangoapps.content.course_overviews.models import CourseOverview # from ..commerce.api.v1.models import Course import logging @@ -26,6 +22,11 @@ from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt from django.conf import settings + + +from django.db.models.functions import ExtractYear +from django.db.models import Count + logger = logging.getLogger(__name__) def news_list(request): @@ -64,59 +65,100 @@ def news_create(request): def analyze(request): course_org_filter = ["Test_kaznu", "rty", "123"] - today = timezone.now().date() + + now = timezone.now() + today = now.date() current_year = today.year - courses_qs = ( + max_valid_end = now + timedelta(days=366) + + base_courses_qs = ( CourseOverview.objects .exclude(org__in=course_org_filter) - .exclude(start__gt=today) - ) - current_year_courses_qs = ( - courses_qs + # курс уже должен быть запущен .exclude(start__isnull=True) - .filter(start__year=current_year) - .order_by("-start", "display_name") - ) + .exclude(start__gt=now) - courses_by_faculty = ( - courses_qs - .exclude(faculty__isnull=True) - .exclude(faculty="") - .values("faculty") - .annotate(total=Count("id")) - .order_by("-total", "faculty")[:12] - ) + # курс еще не должен закончиться + .exclude(end__isnull=True) + .exclude(end__lt=now) - courses_by_directions = ( - courses_qs - .exclude(directions__isnull=True) - .exclude(directions="") - .values("directions") - .annotate(total=Count("id")) - .order_by("-total", "directions")[:12] + # скрываем слишком долгие/ошибочные курсы, например до 2028 года + .exclude(end__gt=max_valid_end) + + # убираем пустые названия + .exclude(display_name__isnull=True) + .exclude(display_name="") + .order_by("display_name", "-start", "-id") ) - courses_by_year = ( - courses_qs + unique_courses = {} + for course in base_courses_qs: + if course.display_name not in unique_courses: + unique_courses[course.display_name] = course + + courses = list(unique_courses.values()) + + current_year_courses = [ + course for course in courses + if course.start and course.start.year == current_year + ] + # + max_year = current_year + 1 + + courses_by_year_qs = ( + CourseOverview.objects + .exclude(org__in=course_org_filter) .exclude(start__isnull=True) + .filter(start__year__lte=max_year) .annotate(year=ExtractYear("start")) .values("year") .annotate(total=Count("id")) .order_by("year") ) + courses_by_year = [ + {"year": row["year"], "total": row["total"]} + for row in courses_by_year_qs + ] - courses_by_lang = ( - courses_qs - .exclude(language__isnull=True) - .exclude(language="") - .values("language") - .annotate(total=Count("id")) - .order_by("-total", "language") + # + faculty_counter = Counter( + course.faculty for course in courses + if course.faculty + ) + + directions_counter = Counter( + course.directions for course in courses + if course.directions ) - top_courses = list(current_year_courses_qs[:50]) + language_counter = Counter( + course.language for course in courses + if course.language + ) + + courses_by_faculty = [ + {"faculty": faculty, "total": total} + for faculty, total in faculty_counter.most_common(12) + ] + + courses_by_directions = [ + {"directions": directions, "total": total} + for directions, total in directions_counter.most_common(12) + ] + + courses_by_lang = [ + {"language": language, "total": total} + for language, total in language_counter.most_common() + ] + + top_courses = sorted( + current_year_courses, + key=lambda course: course.start, + reverse=True + )[:50] + courses_json = [ { "id": str(course.id), @@ -131,11 +173,11 @@ def analyze(request): ] context = { - "courses_count": courses_qs.count(), + "courses_count": len(courses), "current_year": current_year, - "current_year_courses_count": current_year_courses_qs.count(), - "faculty_count": courses_qs.exclude(faculty__isnull=True).exclude(faculty="").values("faculty").distinct().count(), - "directions_count": courses_qs.exclude(directions__isnull=True).exclude(directions="").values("directions").distinct().count(), + "current_year_courses_count": len(current_year_courses), + "faculty_count": len(set(course.faculty for course in courses if course.faculty)), + "directions_count": len(set(course.directions for course in courses if course.directions)), "generated_at": timezone.localtime().strftime("%d.%m.%Y %H:%M"), "language_summary": [ From 40ba13cc46b878279f90007db1654b92d35b39ec Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 25 May 2026 08:53:28 +0500 Subject: [PATCH 375/447] fix certificate open --- lms/djangoapps/news/views.py | 4 ---- lms/templates/certificates/_accomplishment-rendering.html | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 2c3a49bedb65..82ca60540db4 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -76,10 +76,6 @@ def analyze(request): CourseOverview.objects .exclude(org__in=course_org_filter) - # курс уже должен быть запущен - .exclude(start__isnull=True) - .exclude(start__gt=now) - # курс еще не должен закончиться .exclude(end__isnull=True) .exclude(end__lt=now) diff --git a/lms/templates/certificates/_accomplishment-rendering.html b/lms/templates/certificates/_accomplishment-rendering.html index 678c4fdf179b..93876d40dd3f 100644 --- a/lms/templates/certificates/_accomplishment-rendering.html +++ b/lms/templates/certificates/_accomplishment-rendering.html @@ -124,7 +124,7 @@

    Внимание пользователям iPhone!

    СЕРТИФИКАТ
    - ${_("This certificate hereby confirms")} + ${_("This certificate hereby confirms that")}
    ${accomplishment_copy_name} From 5d987edf3245d441407c33e0e98ee62c1696d4f4 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 25 May 2026 14:37:49 +0500 Subject: [PATCH 376/447] remove empty row --- lms/djangoapps/news/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 82ca60540db4..6dd0fccd53db 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -199,7 +199,6 @@ def analyze(request): PROCTORING_URL = "https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_open/start/" - def go_to_exam(request): SECRET_KEY = str(settings.PROCTORING_API_KEY) # ✅ 1. Берем данные из frontend From bd554d45bfcda8998c6e015f43053327283b0793 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 28 May 2026 13:57:54 +0500 Subject: [PATCH 377/447] add translation for analyze --- lms/templates/news/analyze.html | 92 ++-- lms/templates/news/analyze_save.html | 775 +++++++++++++++++++++++++++ 2 files changed, 826 insertions(+), 41 deletions(-) create mode 100644 lms/templates/news/analyze_save.html diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 9f4be700f6a3..3bbe7de9382f 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -460,54 +460,54 @@
    -
    Course analytics
    -

    Аналитика курсов

    +
    ${_("Course analytics")}
    +

    ${_("Course analysis")}

    - Сводка по опубликованным курсам без тестовых организаций. Ниже показаны актуальные курсы текущего года; графики факультетов и направлений фильтруют список. + ${_("Summary of published courses without test organizations. The current courses of the current year are shown below; schedules of faculties and directions filter the list.")}

    -
    Обновлено: ${generated_at}
    +
    ${_("Updated")}: ${generated_at}
    -
    +
    -
    Всего курсов
    +
    ${_("Total courses")}
    ${courses_count}
    -
    Без тестовых организаций
    +
    ${_("Without test courses")}
    -
    Актуальные за ${current_year}
    +
    ${_("Current issues")} ${current_year}
    ${current_year_courses_count}
    -
    Используются в списке ниже
    +
    ${_("Used in the list below")}
    -
    Факультетов
    +
    ${_("Faculties")}
    ${faculty_count}
    -
    С заполненным полем faculty
    +
    ${_("With filled faculty field")}
    -
    Направлений
    +
    ${_("Directions")}
    ${directions_count}
    -
    С заполненным полем directions
    +
    ${_("With filled directions field")}
    -
    - Языки: +
    + ${_("Languages")}: % if language_summary: % for language in language_summary: ${language["label"]}: ${language["total"]} % endfor % else: - Нет данных + ${_("No data")} % endif
    -

    Курсы по годам

    -

    Динамика количества курсов по дате старта.

    +

    ${_("Courses by year")}

    +

    ${_("Course count dynamics by start date.")}

    @@ -520,16 +520,16 @@

    Курсы по годам

    -

    Структура курсов

    -

    Нажмите на столбец факультета или направления, чтобы отфильтровать актуальные курсы ниже.

    +

    ${_("Course structure")}

    +

    ${_("Click a faculty or direction bar to filter the current courses below.")}

    -

    Курсы по факультетам

    -

    Топ факультетов по количеству курсов.

    +

    ${_("Courses by faculty")}

    +

    ${_("Top faculties by number of courses.")}

    @@ -539,8 +539,8 @@

    Курсы по факультетам

    -

    Курсы по направлениям

    -

    Топ направлений по количеству курсов.

    +

    ${_("Courses by directions")}

    +

    ${_("Top directions by number of courses.")}

    @@ -553,15 +553,15 @@

    Курсы по направлениям

    -

    Курсы топ 50

    -

    Актуальные курсы с датой старта в ${current_year} году.

    +

    ${_("Top 50 courses")}

    +

    ${_("Current courses with a start date in")} ${current_year} ${_("year")}.

    - +
    @@ -572,18 +572,18 @@

    Курсы топ 50

    - - - - - + + + + +
    КурсФакультетНаправлениеЯзыкСтарт${_("Course")}${_("Faculty")}${_("Direction")}${_("Language")}${_("Start")}
    -
    По выбранному фильтру нет актуальных курсов за ${current_year} год.
    +
    ${_("There are no current courses for the selected filter in")} ${current_year} ${_("year")}.
    @@ -601,6 +601,16 @@

    Курсы топ 50

    var directionsData = ${directions_data | n}; var courses = ${courses_json | n}; + var translations = { + courses: "${_("Courses")}", + notSpecified: "${_("Not specified")}", + open: "${_("Open")}", + shown: "${_("Shown")}", + of: "${_("of")}", + faculty: "${_("Faculty")}", + direction: "${_("Direction")}" + }; + var palette = [ "#2f6f95", "#3b8067", @@ -624,7 +634,7 @@

    Курсы топ 50

    data: { labels: labels, datasets: [{ - label: "Курсы", + label: translations.courses, data: values, backgroundColor: labels.map(function (_, index) { return palette[index % palette.length]; @@ -647,7 +657,7 @@

    Курсы топ 50

    titleFont: { weight: "700" }, callbacks: { label: function (context) { - return "Курсов: " + context.parsed[horizontal ? "x" : "y"]; + return translations.courses + ": " + context.parsed[horizontal ? "x" : "y"]; } } } @@ -697,7 +707,7 @@

    Курсы топ 50

    function filterButton(type, value) { if (!value) { - return 'Не указано'; + return '' + translations.notSpecified + ''; } return ''; } @@ -719,18 +729,18 @@

    Курсы топ 50

    '' + courseCell(course) + '' + '' + filterButton("faculty", course.faculty) + '' + '' + filterButton("directions", course.directions) + '' + - '' + escapeHtml(course.language || "Не указан") + '' + - '' + escapeHtml(course.start || "Не указано") + '' + - 'Открыть' + + '' + escapeHtml(course.language || translations.notSpecified) + '' + + '' + escapeHtml(course.start || translations.notSpecified) + '' + + '' + translations.open + '' + ''; }).join(""); - coursesCount.textContent = "Показано: " + visibleCourses.length + " из " + courses.length; + coursesCount.textContent = translations.shown + ": " + visibleCourses.length + " " + translations.of + " " + courses.length; emptyState.classList.toggle("is-visible", visibleCourses.length === 0); if (activeFilter) { activeFilterBar.classList.add("is-visible"); - activeFilterLabel.textContent = (activeFilter.type === "faculty" ? "Факультет: " : "Направление: ") + activeFilter.value; + activeFilterLabel.textContent = (activeFilter.type === "faculty" ? translations.faculty + ": " : translations.direction + ": ") + activeFilter.value; } else { activeFilterBar.classList.remove("is-visible"); activeFilterLabel.textContent = ""; diff --git a/lms/templates/news/analyze_save.html b/lms/templates/news/analyze_save.html new file mode 100644 index 000000000000..5a9e69f3e813 --- /dev/null +++ b/lms/templates/news/analyze_save.html @@ -0,0 +1,775 @@ +<%page expression_filter="h"/> +<%! from django.utils.translation import gettext as _ %> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("Analyze")} + +<%block name="extrahead"> + + + + +<%block name="content"> +
    +
    +
    +
    +
    Course analytics
    +

    ${_("Course analysis")}

    +

    + ${_("Summary of published courses without test organizations. The current courses of the current year are shown below; schedules of faculties and directions filter the list")}. +

    +
    +
    ${_("Updated")}: ${generated_at}
    +
    + +
    +
    +
    ${_("Total courses")}
    +
    ${courses_count}
    +
    ${_("Without test courses")}
    +
    +
    +
    ${_("Current issues")} ${current_year}
    +
    ${current_year_courses_count}
    +
    Используются в списке ниже
    +
    +
    +
    Факультетов
    +
    ${faculty_count}
    +
    С заполненным полем faculty
    +
    +
    +
    Направлений
    +
    ${directions_count}
    +
    С заполненным полем directions
    +
    +
    + +
    + Языки: + % if language_summary: + % for language in language_summary: + ${language["label"]}: ${language["total"]} + % endfor + % else: + Нет данных + % endif +
    + +
    +
    +
    +

    Курсы по годам

    +

    Динамика количества курсов по дате старта.

    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +

    Структура курсов

    +

    Нажмите на столбец факультета или направления, чтобы отфильтровать актуальные курсы ниже.

    +
    +
    +
    +
    +
    +
    +

    Курсы по факультетам

    +

    Топ факультетов по количеству курсов.

    +
    +
    +
    + +
    +
    +
    +
    +
    +

    Курсы по направлениям

    +

    Топ направлений по количеству курсов.

    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +

    Курсы топ 50

    +

    Актуальные курсы с датой старта в ${current_year} году.

    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + + + + + + + + + + + + +
    КурсФакультетНаправлениеЯзыкСтарт
    +
    +
    По выбранному фильтру нет актуальных курсов за ${current_year} год.
    +
    +
    +
    +
    + + +<%block name="extrajs"> + + From a42e459fa9e10e7f2f77ec388f25ff7d5abb4114 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 28 May 2026 15:26:46 +0500 Subject: [PATCH 378/447] add new word --- lms/templates/news/analyze.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 3bbe7de9382f..f3886ef27af4 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -520,7 +520,7 @@

    ${_("Courses by year")}

    -

    ${_("Course structure")}

    +

    ${_("Course Structure")}

    ${_("Click a faculty or direction bar to filter the current courses below.")}

    @@ -604,7 +604,7 @@

    ${_("Top 50 courses")}

    var translations = { courses: "${_("Courses")}", notSpecified: "${_("Not specified")}", - open: "${_("Open")}", + open: "${_("Open it")}", shown: "${_("Shown")}", of: "${_("of")}", faculty: "${_("Faculty")}", From 1c23930985e44c181a2874d8a31ffbd9342ad7e0 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 28 May 2026 16:08:39 +0500 Subject: [PATCH 379/447] test translate for faculty --- lms/djangoapps/news/views.py | 103 ++++++++++++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 6dd0fccd53db..c10faa5f5214 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -62,7 +62,101 @@ def news_create(request): } return render_to_response('news/form.html', context, request=request) - +# +from django.utils.translation import get_language + +FACULTY_TRANSLATIONS = { + "Биологии и биотехнологии": { + "kk": "Биология және биотехнология", + "en": "Biology and Biotechnology", + }, + "Востоковедения": { + "kk": "Шығыстану", + "en": "Oriental Studies", + }, + "Высшая школа экономики и бизнеса": { + "kk": "Экономика және бизнес Жоғары мектебі", + "en": "Higher School of Economics and Business", + }, + "Довузовского образования": { + "kk": "Жоғары оқу орнына дейінгі білім беру", + "en": "Pre-university education", + }, + "Журналистики": { + "kk": "Журналистика", + "en": "Journalism", + }, + "ОАиЦИ": { + "kk": "ОАжЦИ", + "en": "OADI", + }, + "Информационных технологий": { + "kk": "Ақпараттық технологиялар", + "en": "Information Technology", + }, + "Истории": { + "kk": "Тарих", + "en": "History", + }, + "Исторический": { + "kk": "Тарихи", + "en": "Historical", + }, + "Кластер инжиниринга и наукоемких технологий": { + "kk": "Инжиниринг және жоғары технологиялар кластері", + "en": "Cluster of Engineering and High Technologies", + }, + "Механико-математический": { + "kk": "Механика-математика", + "en": "Mechanics and Mathematics", + }, + "Физико-технический": { + "kk": "Физика-техникалық", + "en": "Physics and Technology", + }, + "Филологический": { + "kk": "Филология", + "en": "Philology", + }, + "Философии и политологии": { + "kk": "Философия және саясаттану", + "en": "Philosophy and Political Science", + }, + "Химии и химической технологии": { + "kk": "Химия және химиялық технологиялар", + "en": "Chemistry and Chemical Technology", + }, + "Юридический": { + "kk": "Заң", + "en": "Law", + }, + "Международных отношений": { + "kk": "Халықаралық қатынастар", + "en": "International Relations", + }, + "Медицины и здравоохранения": { + "kk": "Медицина және денсаулық сақтау", + "en": "Medicine and Healthcare", + }, +} + + +def normalize_language_code(): + language = get_language() or "ru" + return language.split("-")[0].split("_")[0] + + +def translate_faculty(value): + if not value: + return "" + + language = normalize_language_code() + + if language == "ru": + return value + + return FACULTY_TRANSLATIONS.get(value, {}).get(language, value) +# def analyze(request): course_org_filter = ["Test_kaznu", "rty", "123"] @@ -159,7 +253,7 @@ def analyze(request): { "id": str(course.id), "display_name": course.display_name or str(course.id), - "faculty": course.faculty or "", + "faculty": translate_faculty(course.faculty), "directions": course.directions or "", "language": course.language or "", "start": course.start.strftime("%d.%m.%Y") if course.start else "", @@ -181,7 +275,10 @@ def analyze(request): for row in courses_by_lang ], - "faculty_labels": json.dumps([row["faculty"] for row in courses_by_faculty], ensure_ascii=False), + "faculty_labels": json.dumps( + [translate_faculty(row["faculty"]) for row in courses_by_faculty], + ensure_ascii=False + ), "faculty_data": json.dumps([row["total"] for row in courses_by_faculty]), "directions_labels": json.dumps([row["directions"] for row in courses_by_directions], ensure_ascii=False), From f806a5217894f3b2cb1e50636f0237d145f5d4c8 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 28 May 2026 16:16:25 +0500 Subject: [PATCH 380/447] add new thing --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index c10faa5f5214..fa2b48db414d 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -90,7 +90,7 @@ def news_create(request): "kk": "ОАжЦИ", "en": "OADI", }, - "Информационных технологий": { + "Information Technology": { # Информационных технологий "kk": "Ақпараттық технологиялар", "en": "Information Technology", }, From c15d209b36a268002a0a0107538feb3b421517bf Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 28 May 2026 16:27:16 +0500 Subject: [PATCH 381/447] add directions --- lms/djangoapps/news/views.py | 37 +++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index fa2b48db414d..39edcd33ded6 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -90,7 +90,7 @@ def news_create(request): "kk": "ОАжЦИ", "en": "OADI", }, - "Information Technology": { # Информационных технологий + "Информационных технологий": { # "kk": "Ақпараттық технологиялар", "en": "Information Technology", }, @@ -140,6 +140,41 @@ def news_create(request): }, } +DIRECTION_TRANSLATIONS = { + "Социальные науки, журналистика и информация": { + "kk": "Әлеуметтік ғылымдар, журналистика және ақпарат", + "en": "Social sciences, Journalism and Information", + }, + "Естественные науки, математика и статистика": { + "kk": "Жаратылыстану ғылымдары, математика және статистика", + "en": "Natural Sciences, Mathematics and Statistics", + }, + "Искусство и гуманитарные науки": { + "kk": "Өнер және гуманитарлық ғылымдар", + "en": "Arts and Humanities", + }, + "Бизнес, управление и право": { + "kk": "Бизнес, басқару және құқық", + "en": "Business, Management and Law", + }, + "Педагогические науки": { + "kk": "Педагогикалық ғылымдар", + "en": "Pedagogical sciences", + }, + "Информационно-коммуникационные технологии": { + "kk": "Ақпараттық-коммуникациялық технологиялар", + "en": "Information and communication technologies", + }, + "Инженерные, обрабатывающие и строительные отрасли": { + "kk": "Инженерлік, өңдеу және құрылыс салалары", + "en": "Engineering, manufacturing and construction branches", + }, + "Здравоохранение": { + "kk": "Денсаулық сақтау", + "en": "Healthcare", + }, +} + def normalize_language_code(): language = get_language() or "ru" From f4e9661ff067ebadac503322a91151b229297c57 Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 28 May 2026 17:01:25 +0500 Subject: [PATCH 382/447] add translation --- lms/djangoapps/news/views.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 39edcd33ded6..f49fc3831ae4 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -191,6 +191,18 @@ def translate_faculty(value): return value return FACULTY_TRANSLATIONS.get(value, {}).get(language, value) + + +def translate_direction(value): + if not value: + return "" + + language = normalize_language_code() + + if language == "ru": + return value + + return DIRECTION_TRANSLATIONS.get(value, {}).get(language, value) # def analyze(request): course_org_filter = ["Test_kaznu", "rty", "123"] @@ -289,7 +301,7 @@ def analyze(request): "id": str(course.id), "display_name": course.display_name or str(course.id), "faculty": translate_faculty(course.faculty), - "directions": course.directions or "", + "directions": translate_direction(course.directions), "language": course.language or "", "start": course.start.strftime("%d.%m.%Y") if course.start else "", "url": "/courses/{}/about".format(course.id), @@ -316,7 +328,10 @@ def analyze(request): ), "faculty_data": json.dumps([row["total"] for row in courses_by_faculty]), - "directions_labels": json.dumps([row["directions"] for row in courses_by_directions], ensure_ascii=False), + "directions_labels": json.dumps( + [translate_direction(row["directions"]) for row in courses_by_directions], + ensure_ascii=False + ), "directions_data": json.dumps([row["total"] for row in courses_by_directions]), "year_labels": json.dumps([row["year"] for row in courses_by_year]), From a0f7d1d5431ed6972759730d59df7c88498bd45b Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 28 May 2026 17:04:58 +0500 Subject: [PATCH 383/447] add flexable columns --- lms/templates/news/analyze.html | 56 ++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index f3886ef27af4..010081d3ab51 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -199,7 +199,7 @@ } .chart-wrap { - height: 300px; + height: 360px; position: relative; } @@ -627,12 +627,43 @@

    ${_("Top 50 courses")}

    Chart.defaults.font.family = "'Inter', 'Segoe UI', Arial, sans-serif"; Chart.defaults.color = "#5f6f82"; Chart.defaults.plugins.legend.display = false; + function wrapLabel(label, maxLength) { + if (!label) { + return ""; + } + + var words = String(label).split(" "); + var lines = []; + var currentLine = ""; + + words.forEach(function (word) { + var testLine = currentLine ? currentLine + " " + word : word; + + if (testLine.length > maxLength && currentLine) { + lines.push(currentLine); + currentLine = word; + } else { + currentLine = testLine; + } + }); + + if (currentLine) { + lines.push(currentLine); + } + return lines; + } function barChart(canvasId, labels, values, horizontal) { + var displayLabels = horizontal + ? labels.map(function (label) { + return wrapLabel(label, 24); + }) + : labels; + return new Chart(document.getElementById(canvasId), { type: "bar", data: { - labels: labels, + labels: displayLabels, datasets: [{ label: translations.courses, data: values, @@ -640,13 +671,21 @@

    ${_("Top 50 courses")}

    return palette[index % palette.length]; }), borderRadius: 4, - maxBarThickness: horizontal ? 28 : 42 + maxBarThickness: horizontal ? 24 : 42 }] }, options: { responsive: true, maintainAspectRatio: false, indexAxis: horizontal ? "y" : "x", + layout: { + padding: { + left: horizontal ? 8 : 0, + right: 16, + top: 4, + bottom: 4 + } + }, plugins: { tooltip: { backgroundColor: "#18384f", @@ -656,6 +695,9 @@

    ${_("Top 50 courses")}

    padding: 11, titleFont: { weight: "700" }, callbacks: { + title: function (context) { + return labels[context[0].dataIndex]; + }, label: function (context) { return translations.courses + ": " + context.parsed[horizontal ? "x" : "y"]; } @@ -671,7 +713,13 @@

    ${_("Top 50 courses")}

    y: { beginAtZero: true, grid: { color: horizontal ? "transparent" : "#edf1f6" }, - ticks: { precision: 0 } + ticks: { + precision: 0, + autoSkip: false, + font: { + size: horizontal ? 11 : 12 + } + } } } } From 3c60fdafcce11f2e45c91411a826edface87cc0b Mon Sep 17 00:00:00 2001 From: Erarys Date: Thu, 28 May 2026 17:32:06 +0500 Subject: [PATCH 384/447] remove tab row func --- lms/templates/news/analyze.html | 55 ++++++++++----------------------- 1 file changed, 16 insertions(+), 39 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 010081d3ab51..8acc4c3c3a2a 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -209,6 +209,16 @@ gap: 18px; } +.stacked-charts { + display: grid; + grid-template-columns: 1fr; + gap: 18px; +} + +.chart-wrap--directions { + height: 430px; +} + .active-filter-bar { align-items: center; background: var(--analytics-accent-soft); @@ -524,7 +534,7 @@

    ${_("Course Structure")}

    ${_("Click a faculty or direction bar to filter the current courses below.")}

    -
    +
    @@ -536,6 +546,7 @@

    ${_("Courses by faculty")}

    +
    @@ -543,7 +554,7 @@

    ${_("Courses by directions")}

    ${_("Top directions by number of courses.")}

    -
    +
    @@ -627,43 +638,12 @@

    ${_("Top 50 courses")}

    Chart.defaults.font.family = "'Inter', 'Segoe UI', Arial, sans-serif"; Chart.defaults.color = "#5f6f82"; Chart.defaults.plugins.legend.display = false; - function wrapLabel(label, maxLength) { - if (!label) { - return ""; - } - var words = String(label).split(" "); - var lines = []; - var currentLine = ""; - - words.forEach(function (word) { - var testLine = currentLine ? currentLine + " " + word : word; - - if (testLine.length > maxLength && currentLine) { - lines.push(currentLine); - currentLine = word; - } else { - currentLine = testLine; - } - }); - - if (currentLine) { - lines.push(currentLine); - } - - return lines; - } function barChart(canvasId, labels, values, horizontal) { - var displayLabels = horizontal - ? labels.map(function (label) { - return wrapLabel(label, 24); - }) - : labels; - return new Chart(document.getElementById(canvasId), { type: "bar", data: { - labels: displayLabels, + labels: labels, datasets: [{ label: translations.courses, data: values, @@ -671,7 +651,7 @@

    ${_("Top 50 courses")}

    return palette[index % palette.length]; }), borderRadius: 4, - maxBarThickness: horizontal ? 24 : 42 + maxBarThickness: horizontal ? 28 : 42 }] }, options: { @@ -681,7 +661,7 @@

    ${_("Top 50 courses")}

    layout: { padding: { left: horizontal ? 8 : 0, - right: 16, + right: 18, top: 4, bottom: 4 } @@ -695,9 +675,6 @@

    ${_("Top 50 courses")}

    padding: 11, titleFont: { weight: "700" }, callbacks: { - title: function (context) { - return labels[context[0].dataIndex]; - }, label: function (context) { return translations.courses + ": " + context.parsed[horizontal ? "x" : "y"]; } From 6b02c9a801b2a4d2ee51799c894eadb901420c0f Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 2 Jun 2026 09:36:09 +0500 Subject: [PATCH 385/447] add new v of translation --- lms/djangoapps/news/views.py | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index f49fc3831ae4..f7278d67e4bf 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -66,42 +66,38 @@ def news_create(request): from django.utils.translation import get_language FACULTY_TRANSLATIONS = { - "Биологии и биотехнологии": { + "Биология и биотехнология": { "kk": "Биология және биотехнология", "en": "Biology and Biotechnology", }, - "Востоковедения": { + "Востоковедение": { "kk": "Шығыстану", "en": "Oriental Studies", }, "Высшая школа экономики и бизнеса": { - "kk": "Экономика және бизнес Жоғары мектебі", + "kk": "Экономика және бизнес жоғары мектебі", "en": "Higher School of Economics and Business", }, - "Довузовского образования": { + "Довузовское образование": { "kk": "Жоғары оқу орнына дейінгі білім беру", - "en": "Pre-university education", + "en": "Pre-university Education", }, - "Журналистики": { + "Журналистика": { "kk": "Журналистика", "en": "Journalism", }, - "ОАиЦИ": { - "kk": "ОАжЦИ", - "en": "OADI", + "Офис академических и цифровых инноваций": { + "kk": "Академиялық және цифрлық инновациялар кеңсесі", + "en": "Office of Academic and Digital Innovations", }, - "Информационных технологий": { # - "kk": "Ақпараттық технологиялар", - "en": "Information Technology", + "Информационные технологии и искусственный интеллект": { + "kk": "Ақпараттық технологиялар және жасанды интеллект", + "en": "Information Technology and Artificial Intelligence", }, - "Истории": { + "История": { "kk": "Тарих", "en": "History", }, - "Исторический": { - "kk": "Тарихи", - "en": "Historical", - }, "Кластер инжиниринга и наукоемких технологий": { "kk": "Инжиниринг және жоғары технологиялар кластері", "en": "Cluster of Engineering and High Technologies", From cbc3f3c44d616ad729db91c496a73e4aa49fd0c2 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 2 Jun 2026 10:03:58 +0500 Subject: [PATCH 386/447] same --- lms/djangoapps/news/views.py | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index f49fc3831ae4..f7278d67e4bf 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -66,42 +66,38 @@ def news_create(request): from django.utils.translation import get_language FACULTY_TRANSLATIONS = { - "Биологии и биотехнологии": { + "Биология и биотехнология": { "kk": "Биология және биотехнология", "en": "Biology and Biotechnology", }, - "Востоковедения": { + "Востоковедение": { "kk": "Шығыстану", "en": "Oriental Studies", }, "Высшая школа экономики и бизнеса": { - "kk": "Экономика және бизнес Жоғары мектебі", + "kk": "Экономика және бизнес жоғары мектебі", "en": "Higher School of Economics and Business", }, - "Довузовского образования": { + "Довузовское образование": { "kk": "Жоғары оқу орнына дейінгі білім беру", - "en": "Pre-university education", + "en": "Pre-university Education", }, - "Журналистики": { + "Журналистика": { "kk": "Журналистика", "en": "Journalism", }, - "ОАиЦИ": { - "kk": "ОАжЦИ", - "en": "OADI", + "Офис академических и цифровых инноваций": { + "kk": "Академиялық және цифрлық инновациялар кеңсесі", + "en": "Office of Academic and Digital Innovations", }, - "Информационных технологий": { # - "kk": "Ақпараттық технологиялар", - "en": "Information Technology", + "Информационные технологии и искусственный интеллект": { + "kk": "Ақпараттық технологиялар және жасанды интеллект", + "en": "Information Technology and Artificial Intelligence", }, - "Истории": { + "История": { "kk": "Тарих", "en": "History", }, - "Исторический": { - "kk": "Тарихи", - "en": "Historical", - }, "Кластер инжиниринга и наукоемких технологий": { "kk": "Инжиниринг және жоғары технологиялар кластері", "en": "Cluster of Engineering and High Technologies", From 54b9fe9bb5e095e64bfa4b908eb5b9b988d8f162 Mon Sep 17 00:00:00 2001 From: Erarys Date: Tue, 2 Jun 2026 10:12:17 +0500 Subject: [PATCH 387/447] add complexity and another columns copy to new course (RERUN) --- cms/djangoapps/contentstore/tasks.py | 42 ++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/cms/djangoapps/contentstore/tasks.py b/cms/djangoapps/contentstore/tasks.py index b6cb2af53d56..ac421cbb6642 100644 --- a/cms/djangoapps/contentstore/tasks.py +++ b/cms/djangoapps/contentstore/tasks.py @@ -130,6 +130,46 @@ def clone_instance(instance, field_values): return instance +def copy_custom_course_overview_fields(source_course_key, destination_course_key): + """ + Copy custom CourseOverview fields from source course to rerun course. + """ + from openedx.core.djangoapps.content.course_overviews.models import CourseOverview + + try: + source_overview = CourseOverview.objects.get(id=source_course_key) + + try: + destination_overview = CourseOverview.objects.get(id=destination_course_key) + except CourseOverview.DoesNotExist: + destination_overview = CourseOverview.get_from_id(destination_course_key) + + destination_overview.faculty = source_overview.faculty + destination_overview.directions = source_overview.directions + destination_overview.complexity = source_overview.complexity + + destination_overview.save(update_fields=[ + "faculty", + "directions", + "complexity", + ]) + + LOGGER.info( + "my-log: copied custom overview fields during course rerun: %s -> %s, faculty=%s, directions=%s, complexity=%s", + source_course_key, + destination_course_key, + source_overview.faculty, + source_overview.directions, + source_overview.complexity, + ) + + except Exception: + LOGGER.exception( + "my-log: failed to copy custom overview fields during course rerun: %s -> %s", + source_course_key, + destination_course_key, + ) + @shared_task @set_code_owner_attribute @@ -152,6 +192,8 @@ def rerun_course(source_course_key_string, destination_course_key_string, user_i with store.default_store('split'): store.clone_course(source_course_key, destination_course_key, user_id, fields=fields) + copy_custom_course_overview_fields(source_course_key, destination_course_key) + update_unit_discussion_state_from_discussion_blocks(destination_course_key, user_id) # set initial permissions for the user to access the course. From 03a8eaa2738323c1d93b8c361cc6d4f9dd954b7e Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 3 Jun 2026 16:39:12 +0500 Subject: [PATCH 388/447] org -> faculty --- lms/templates/courseware/courses.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 640eedf18a30..9029ea8d07d7 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -261,8 +261,8 @@

    ${_("Filter Courses")}

    From 173f3a7cb7aac2c86f65c7a2b7f88e9c4267dc2b Mon Sep 17 00:00:00 2001 From: Erarys Date: Wed, 3 Jun 2026 17:04:05 +0500 Subject: [PATCH 389/447] fixed faculty --- lms/templates/courseware/courses.html | 42 +++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 9029ea8d07d7..3bf65a770e27 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -259,9 +259,9 @@

    ${_("Filter Courses")}

    - + + % for faculty in sorted(set([c.faculty for c in courses if c.faculty])): % endfor @@ -281,7 +281,7 @@

    ${_("Filter Courses")}

    data-title="${course.display_name.lower()}" data-language="${course.language or ''}" data-status="${status}" - data-org="${course.display_org_with_default}"> + data-faculty="${course.faculty or ''}">
    ${course.display_name} @@ -315,32 +315,32 @@

    ${_('No courses found')}

    + + + From 3c18587e558f8ca496a3e5332f9e90bd2ab6bcc9 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Wed, 19 Aug 2026 15:58:22 +0500 Subject: [PATCH 395/447] add course launch count --- lms/djangoapps/news/views.py | 12 ++++++++++++ lms/templates/news/analyze.html | 17 ++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index f7278d67e4bf..2e42326eedc6 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -292,6 +292,17 @@ def analyze(request): reverse=True )[:50] + course_run_counts = dict( + CourseOverview.objects + .exclude(org__in=course_org_filter) + .exclude(display_name__isnull=True) + .exclude(display_name="") + .exclude(start__isnull=True) + .values("display_name") + .annotate(total=Count("id", distinct=True)) + .values_list("display_name", "total") + ) + courses_json = [ { "id": str(course.id), @@ -300,6 +311,7 @@ def analyze(request): "directions": translate_direction(course.directions), "language": course.language or "", "start": course.start.strftime("%d.%m.%Y") if course.start else "", + "run_count": course_run_counts.get(course.display_name, 1), "url": "/courses/{}/about".format(course.id), } for course in top_courses diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 8acc4c3c3a2a..89311a1709f4 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -314,17 +314,17 @@ .courses-table th:nth-child(1), .courses-table td:nth-child(1) { - width: 32%; + width: 29%; } .courses-table th:nth-child(2), .courses-table td:nth-child(2) { - width: 16%; + width: 15%; } .courses-table th:nth-child(3), .courses-table td:nth-child(3) { - width: 22%; + width: 19%; } .courses-table th:nth-child(4), @@ -334,12 +334,17 @@ .courses-table th:nth-child(5), .courses-table td:nth-child(5) { - width: 11%; + width: 9%; } .courses-table th:nth-child(6), .courses-table td:nth-child(6) { - width: 10%; + width: 11%; + + +.courses-table th:nth-child(7), +.courses-table td:nth-child(7) { + width: 8%; } .courses-table tr:last-child td { @@ -587,6 +592,7 @@

    ${_("Top 50 courses")}

    ${_("Faculty")} ${_("Direction")} ${_("Language")} + ${_("Launches")} ${_("Start")} @@ -755,6 +761,7 @@

    ${_("Top 50 courses")}

    '' + filterButton("faculty", course.faculty) + '' + '' + filterButton("directions", course.directions) + '' + '' + escapeHtml(course.language || translations.notSpecified) + '' + + '' + escapeHtml(course.run_count || 1) + '' + '' + escapeHtml(course.start || translations.notSpecified) + '' + '' + translations.open + '' + ''; From b6d5e20a42008961517aa5de5448b090dcb3826a Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 20 Aug 2026 16:18:23 +0500 Subject: [PATCH 396/447] remove year filter --- lms/djangoapps/news/views.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 2e42326eedc6..abc92da15ad3 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -201,7 +201,7 @@ def translate_direction(value): return DIRECTION_TRANSLATIONS.get(value, {}).get(language, value) # def analyze(request): - course_org_filter = ["Test_kaznu", "rty", "123"] + course_org_filter = ["Test_kaznu", "rty", "123", "AI Tools in Action: Boosting Productivity with Modern Workflows", "Demo"] now = timezone.now() today = now.date() @@ -237,6 +237,8 @@ def analyze(request): course for course in courses if course.start and course.start.year == current_year ] + # Rewrite code to test it # + current_year_courses = courses # max_year = current_year + 1 @@ -244,7 +246,7 @@ def analyze(request): CourseOverview.objects .exclude(org__in=course_org_filter) .exclude(start__isnull=True) - .filter(start__year__lte=max_year) + # .filter(start__year__lte=max_year) .annotate(year=ExtractYear("start")) .values("year") .annotate(total=Count("id")) From a78ea589cc6c18b40a946752a605bfc6953a4789 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Fri, 21 Aug 2026 11:43:40 +0500 Subject: [PATCH 397/447] d --- lms/djangoapps/news/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index abc92da15ad3..cc75cadf91dd 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -214,8 +214,8 @@ def analyze(request): .exclude(org__in=course_org_filter) # курс еще не должен закончиться - .exclude(end__isnull=True) - .exclude(end__lt=now) + # .exclude(end__isnull=True) + # .exclude(end__lt=now) # скрываем слишком долгие/ошибочные курсы, например до 2028 года .exclude(end__gt=max_valid_end) From c5e46bd35811fd669b7d74923e1dd226ccc0368a Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Fri, 21 Aug 2026 12:00:07 +0500 Subject: [PATCH 398/447] a --- lms/djangoapps/news/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index cc75cadf91dd..d7e2136dcd43 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -221,6 +221,7 @@ def analyze(request): .exclude(end__gt=max_valid_end) # убираем пустые названия + .filter(start__lte=now) .exclude(display_name__isnull=True) .exclude(display_name="") .order_by("display_name", "-start", "-id") From e24d54319d1eb3bb351d33f3a6693f70fa76b597 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Fri, 21 Aug 2026 12:19:25 +0500 Subject: [PATCH 399/447] a --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index d7e2136dcd43..5848a1b6318a 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -214,7 +214,7 @@ def analyze(request): .exclude(org__in=course_org_filter) # курс еще не должен закончиться - # .exclude(end__isnull=True) + .exclude(end__isnull=True) # .exclude(end__lt=now) # скрываем слишком долгие/ошибочные курсы, например до 2028 года From 5af99c722287f3bec71f0b8badbe6c98c39513b4 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Fri, 21 Aug 2026 12:29:56 +0500 Subject: [PATCH 400/447] d --- lms/djangoapps/news/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 5848a1b6318a..a920a6d07148 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -247,7 +247,7 @@ def analyze(request): CourseOverview.objects .exclude(org__in=course_org_filter) .exclude(start__isnull=True) - # .filter(start__year__lte=max_year) + .filter(start__year__lte=max_year) .annotate(year=ExtractYear("start")) .values("year") .annotate(total=Count("id")) From 35f853c2db6a1afe638862be3499c8b367c9bac0 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Fri, 21 Aug 2026 12:43:58 +0500 Subject: [PATCH 401/447] Changes --- lms/templates/news/analyze.html | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 89311a1709f4..8acc4c3c3a2a 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -314,17 +314,17 @@ .courses-table th:nth-child(1), .courses-table td:nth-child(1) { - width: 29%; + width: 32%; } .courses-table th:nth-child(2), .courses-table td:nth-child(2) { - width: 15%; + width: 16%; } .courses-table th:nth-child(3), .courses-table td:nth-child(3) { - width: 19%; + width: 22%; } .courses-table th:nth-child(4), @@ -334,17 +334,12 @@ .courses-table th:nth-child(5), .courses-table td:nth-child(5) { - width: 9%; + width: 11%; } .courses-table th:nth-child(6), .courses-table td:nth-child(6) { - width: 11%; - - -.courses-table th:nth-child(7), -.courses-table td:nth-child(7) { - width: 8%; + width: 10%; } .courses-table tr:last-child td { @@ -592,7 +587,6 @@

    ${_("Top 50 courses")}

    ${_("Faculty")} ${_("Direction")} ${_("Language")} - ${_("Launches")} ${_("Start")} @@ -761,7 +755,6 @@

    ${_("Top 50 courses")}

    '' + filterButton("faculty", course.faculty) + '' + '' + filterButton("directions", course.directions) + '' + '' + escapeHtml(course.language || translations.notSpecified) + '' + - '' + escapeHtml(course.run_count || 1) + '' + '' + escapeHtml(course.start || translations.notSpecified) + '' + '' + translations.open + '' + ''; From 1fcc0d3ee83ce1f397628689a6f65cf2fc606f5e Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Fri, 21 Aug 2026 13:01:42 +0500 Subject: [PATCH 402/447] ok --- lms/templates/news/analyze.html | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 8acc4c3c3a2a..89311a1709f4 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -314,17 +314,17 @@ .courses-table th:nth-child(1), .courses-table td:nth-child(1) { - width: 32%; + width: 29%; } .courses-table th:nth-child(2), .courses-table td:nth-child(2) { - width: 16%; + width: 15%; } .courses-table th:nth-child(3), .courses-table td:nth-child(3) { - width: 22%; + width: 19%; } .courses-table th:nth-child(4), @@ -334,12 +334,17 @@ .courses-table th:nth-child(5), .courses-table td:nth-child(5) { - width: 11%; + width: 9%; } .courses-table th:nth-child(6), .courses-table td:nth-child(6) { - width: 10%; + width: 11%; + + +.courses-table th:nth-child(7), +.courses-table td:nth-child(7) { + width: 8%; } .courses-table tr:last-child td { @@ -587,6 +592,7 @@

    ${_("Top 50 courses")}

    ${_("Faculty")} ${_("Direction")} ${_("Language")} + ${_("Launches")} ${_("Start")} @@ -755,6 +761,7 @@

    ${_("Top 50 courses")}

    '' + filterButton("faculty", course.faculty) + '' + '' + filterButton("directions", course.directions) + '' + '' + escapeHtml(course.language || translations.notSpecified) + '' + + '' + escapeHtml(course.run_count || 1) + '' + '' + escapeHtml(course.start || translations.notSpecified) + '' + '' + translations.open + '' + ''; From 14273e648c562d67d16ca3a4779986221be919f9 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Fri, 21 Aug 2026 14:05:47 +0500 Subject: [PATCH 403/447] add new style --- lms/templates/courseware/courses_summer.html | 961 ++++++++++++------- 1 file changed, 611 insertions(+), 350 deletions(-) diff --git a/lms/templates/courseware/courses_summer.html b/lms/templates/courseware/courses_summer.html index 7438d15fd067..5414b04baefb 100644 --- a/lms/templates/courseware/courses_summer.html +++ b/lms/templates/courseware/courses_summer.html @@ -9,214 +9,265 @@ <%block name="headextra"> - - -<%block name="content"> -
    -
    -
    -
    -
    ${_("Course analytics")}
    -

    ${_("Course analysis")}

    -

    - ${_("Summary of published courses without test organizations. The current courses of the current year are shown below; schedules of faculties and directions filter the list.")} -

    -
    -
    ${_("Updated")}: ${generated_at}
    -
    - -
    -
    -
    ${_("Total courses")}
    -
    ${courses_count}
    -
    ${_("Without test courses")}
    -
    -
    -
    ${_("Current issues")} ${current_year}
    -
    ${current_year_courses_count}
    -
    ${_("Used in the list below")}
    -
    -
    -
    ${_("Faculties")}
    -
    ${faculty_count}
    -
    ${_("With filled faculty field")}
    -
    -
    -
    ${_("Directions")}
    -
    ${directions_count}
    -
    ${_("With filled directions field")}
    -
    -
    - -
    - ${_("Languages")}: - % if language_summary: - % for language in language_summary: - ${language["label"]}: ${language["total"]} - % endfor - % else: - ${_("No data")} - % endif -
    - -
    -
    -
    -

    ${_("Courses by year")}

    -

    ${_("Course count dynamics by start date.")}

    -
    -
    -
    -
    - -
    -
    -
    - -
    -
    -
    -

    ${_("Course Structure")}

    -

    ${_("Click a faculty or direction bar to filter the current courses below.")}

    -
    -
    -
    -
    -
    -
    -

    ${_("Courses by faculty")}

    -

    ${_("Top faculties by number of courses.")}

    -
    -
    -
    - -
    -
    - -
    -
    -
    -

    ${_("Courses by directions")}

    -

    ${_("Top directions by number of courses.")}

    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    -

    ${_("Top 50 courses")}

    -

    ${_("Current courses with a start date in")} ${current_year} ${_("year")}.

    -
    -
    - -
    -
    -
    - -
    - -
    -
    -
    -
    - - - - - - - - - - - - - -
    ${_("Course")}${_("Faculty")}${_("Direction")}${_("Language")}${_("Launches")}${_("Start")}
    -
    -
    ${_("There are no current courses for the selected filter in")} ${current_year} ${_("year")}.
    -
    -
    -
    -
    - - -<%block name="extrajs"> - - +.summary-card { + background: var(--analytics-surface); + border: 1px solid rgba(255, 255, 255, 0.92); + border-radius: var(--analytics-radius-md); + box-shadow: var(--analytics-shadow); + overflow: hidden; + padding: 20px; + position: relative; + transition: box-shadow var(--analytics-transition), transform var(--analytics-transition); +} + +.summary-card::before { + background: linear-gradient(90deg, var(--analytics-navy), var(--analytics-blue-bright), var(--analytics-sky)); + content: ""; + height: 4px; + left: 0; + position: absolute; + right: 0; + top: 0; + transform: scaleX(0.34); + transform-origin: left; + transition: transform var(--analytics-transition); From 820187d0056ae22c0ab1d7c8de74af304ced5fa9 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Wed, 26 Aug 2026 11:00:45 +0500 Subject: [PATCH 410/447] remake --- lms/djangoapps/news/views.py | 4 +- lms/templates/news/analyze.html | 1021 +++++++++++++++++++++++++------ 2 files changed, 831 insertions(+), 194 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index f858a76fa1df..98190738a0b5 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -293,7 +293,7 @@ def analyze(request): current_year_courses, key=lambda course: course.start, reverse=True - )[:50] + ) course_run_counts = dict( CourseOverview.objects @@ -351,7 +351,7 @@ def analyze(request): "courses_json": json.dumps(courses_json, ensure_ascii=False), } - return render_to_response("news/analyze_save.html", context, request=request) + return render_to_response("news/analyze.html", context, request=request) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 1e9d3da4b1d2..ae0c2cc6299d 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -1,192 +1,829 @@ - background: - radial-gradient(circle at 8% 18%, rgba(96, 165, 250, 0.16), transparent 25rem), - radial-gradient(circle at 94% 72%, rgba(30, 64, 175, 0.09), transparent 28rem), - var(--analytics-bg); - color: var(--analytics-text); - margin: -20px -15px 0; - min-height: 100vh; - overflow: hidden; - padding: 24px 20px 56px; - position: relative; -} - -.analytics-scroll-progress { - background: rgba(219, 234, 254, 0.32); - height: 4px; - left: 0; - pointer-events: none; - position: fixed; - right: 0; - top: 0; - z-index: 9999; -} - -.analytics-scroll-progress span { - background: linear-gradient(90deg, var(--analytics-navy), var(--analytics-blue-bright), var(--analytics-sky)); - box-shadow: 0 0 12px rgba(96, 165, 250, 0.65); - display: block; - height: 100%; - transform: scaleX(0); - transform-origin: left center; - width: 100%; - will-change: transform; -} - -.analytics-shell { - margin: 0 auto; - max-width: 1240px; -} - -.analytics-hero { - animation: analyticsGradient 14s ease-in-out infinite alternate; - background: linear-gradient(125deg, var(--analytics-navy), var(--analytics-blue), var(--analytics-blue-bright)); - background-size: 180% 180%; - border-radius: 28px; - box-shadow: 0 24px 62px rgba(26, 38, 60, 0.22); - color: #fff; - isolation: isolate; - margin-bottom: 20px; - min-height: 250px; - overflow: hidden; - padding: 44px 42px; - position: relative; -} - -.analytics-hero::before { - background-image: - linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), - linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px); - background-size: 44px 44px; - content: ""; - inset: 0; - mask-image: linear-gradient(to right, #000, transparent 92%); - position: absolute; - z-index: -1; -} - -.analytics-hero__orb { - backdrop-filter: blur(3px); - background: linear-gradient(145deg, rgba(255, 255, 255, 0.24), rgba(96, 165, 250, 0.06)); - border: 1px solid rgba(255, 255, 255, 0.22); - border-radius: 50%; - pointer-events: none; - position: absolute; -} - -.analytics-hero__orb--one { - animation: analyticsFloatOne 8s ease-in-out infinite; - height: 155px; - right: 7%; - top: 24px; - width: 155px; -} - -.analytics-hero__orb--two { - animation: analyticsFloatTwo 10s ease-in-out infinite; - bottom: -38px; - height: 105px; - right: 25%; - width: 105px; -} - -.analytics-header { - align-items: flex-end; - display: flex; - gap: 28px; - justify-content: space-between; - min-height: 162px; - position: relative; - z-index: 2; -} - -.analytics-header__copy { - max-width: 760px; -} - -.analytics-kicker { - align-items: center; - backdrop-filter: blur(10px); - background: rgba(255, 255, 255, 0.12); - border: 1px solid rgba(255, 255, 255, 0.24); - border-radius: 999px; - color: #fff; - display: inline-flex; - font-size: 12px; - font-weight: 800; - gap: 8px; - letter-spacing: 0.11em; - margin-bottom: 17px; - padding: 8px 13px; - text-transform: uppercase; -} - -.analytics-kicker::before { - animation: analyticsPulse 2.4s ease-in-out infinite; - background: #93c5fd; - border-radius: 50%; - content: ""; - height: 8px; - width: 8px; -} - -.analytics-title { - color: #fff !important; - font-size: clamp(2.3rem, 5vw, 4rem); - font-weight: 850; - letter-spacing: -0.045em; - line-height: 1; - margin: 0; - text-shadow: 0 10px 30px rgba(7, 18, 48, 0.25); -} - -.analytics-subtitle { - color: rgba(255, 255, 255, 0.84); - font-size: 15px; - line-height: 1.65; - margin: 16px 0 0; - max-width: 720px; -} - -.analytics-date { - backdrop-filter: blur(12px); - background: rgba(255, 255, 255, 0.1); - border: 1px solid rgba(255, 255, 255, 0.2); - border-radius: 14px; - color: rgba(255, 255, 255, 0.88); - font-size: 12px; - font-weight: 650; - padding: 11px 14px; - white-space: nowrap; -} - -.analytics-summary { - display: grid; - gap: 14px; - grid-template-columns: repeat(4, minmax(0, 1fr)); - margin: -38px 20px 20px; - position: relative; - z-index: 5; -} - -.summary-card { - background: var(--analytics-surface); - border: 1px solid rgba(255, 255, 255, 0.92); - border-radius: var(--analytics-radius-md); - box-shadow: var(--analytics-shadow); - overflow: hidden; - padding: 20px; - position: relative; - transition: box-shadow var(--analytics-transition), transform var(--analytics-transition); -} - -.summary-card::before { - background: linear-gradient(90deg, var(--analytics-navy), var(--analytics-blue-bright), var(--analytics-sky)); - content: ""; - height: 4px; - left: 0; - position: absolute; - right: 0; - top: 0; - transform: scaleX(0.34); - transform-origin: left; - transition: transform var(--analytics-transition); +<%page expression_filter="h"/> +<%! from django.utils.translation import gettext as _ %> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("Analyze")} + +<%block name="extrahead"> + + + + +<%block name="content"> +
    +
    +
    +
    +
    ${_("Course analytics")}
    +

    ${_("Course analysis")}

    +

    + ${_("Summary of published courses without test organizations. The current courses of the current year are shown below; schedules of faculties and directions filter the list.")} +

    +
    +
    ${_("Updated")}: ${generated_at}
    +
    + +
    +
    +
    ${_("Total courses")}
    +
    ${courses_count}
    +
    ${_("Without test courses")}
    +
    +
    +
    ${_("Current issues")} ${current_year}
    +
    ${current_year_courses_count}
    +
    ${_("Used in the list below")}
    +
    +
    +
    ${_("Faculties")}
    +
    ${faculty_count}
    +
    ${_("With filled faculty field")}
    +
    +
    +
    ${_("Directions")}
    +
    ${directions_count}
    +
    ${_("With filled directions field")}
    +
    +
    + +
    + ${_("Languages")}: + % if language_summary: + % for language in language_summary: + ${language["label"]}: ${language["total"]} + % endfor + % else: + ${_("No data")} + % endif +
    + +
    +
    +
    +

    ${_("Courses by year")}

    +

    ${_("Course count dynamics by start date.")}

    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +

    ${_("Course Structure")}

    +

    ${_("Click a faculty or direction bar to filter the current courses below.")}

    +
    +
    +
    +
    +
    +
    +

    ${_("Courses by faculty")}

    +

    ${_("Top faculties by number of courses.")}

    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    ${_("Courses by directions")}

    +

    ${_("Top directions by number of courses.")}

    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +

    ${_("Top 50 courses")}

    +

    ${_("Current courses with a start date in")} ${current_year} ${_("year")}.

    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + + + + + + + + + + + + + +
    ${_("Course")}${_("Faculty")}${_("Direction")}${_("Language")}${_("Launches")}${_("Start")}
    +
    +
    ${_("There are no current courses for the selected filter in")} ${current_year} ${_("year")} + . +
    +
    +
    +
    +
    + + +<%block name="extrajs"> + + From c118bbcf029fd5230570c4278351ad53d81da89e Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Wed, 26 Aug 2026 16:27:04 +0500 Subject: [PATCH 411/447] add web fix bug --- lms/templates/courseware/courses.html | 585 ++++++++++++++++---------- 1 file changed, 360 insertions(+), 225 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 1def4fbdd122..8ba0b5d049f6 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -1,356 +1,491 @@ <%page expression_filter="h"/> <%! - from django.utils.translation import gettext as _ +from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> <%block name="pagetitle">${_("Courses")} <%block name="headextra"> - + <%block name="content"> -
    +

    ${_("Courses")}

    ${_("Explore our collection of educational programs and start learning today")}

    -
    +
    -
    +
    -

    ${_("Filter Courses")}

    -
    - - - - - - - -
    +

    ${_("Filter Courses")}

    +
    + + + + + + + +
    - % if courses: + % if courses: % for course in courses: - <% - from django.utils import timezone - now = timezone.now() - status = "completed" if course.end and course.end < now else "ongoing" - status_text = _('Completed') if status == "completed" else _('Ongoing') - %> -
    + <% + from django.utils import timezone + now = timezone.now() + status = "completed" if course.end and course.end < now else "ongoing" + status_text = _('Completed') if status == "completed" else _('Ongoing') + %> +
    - ${course.display_name} -
    ${status_text}
    + ${course.display_name} +
    ${status_text}
    -

    ${course.display_name}

    -
    - ${course.display_org_with_default} - % if course.language: - ${course.language} - % endif -
    -
    - ${_('Start')}: ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} - ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} -
    - ${_('Go to course')} +

    ${course.display_name}

    +
    + ${course.display_org_with_default} + % if course.language: + ${course.language} + % endif +
    +
    + ${_('Start')} + : ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} + ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} +
    + ${_('Go to course')}
    -
    +
    % endfor - % else: + % else:
    - 📚 -

    ${_('No courses found')}

    -

    ${_('There are currently no available courses')}

    + 📚 +

    ${_('No courses found')}

    +

    ${_('There are currently no available courses')}

    - % endif + % endif
    -
    +
    + + + + + + const searchInput = document.getElementById("searchInput"); + const languageFilter = document.getElementById("languageFilter"); + const statusFilter = document.getElementById("statusFilter"); + const facultyFilter = document.getElementById("facultyFilter"); + const courseList = document.getElementById("courseList"); + + const query = searchInput.value.toLowerCase().trim(); + const language = languageFilter.value; + const status = statusFilter.value; + const faculty = facultyFilter.value; + + const cards = courseList.querySelectorAll(".course"); + let visible = 0; + + cards.forEach(function (card) { + const wasHidden = card.hidden; + + const title = (card.dataset.title || "").toLowerCase(); + const cardLanguage = card.dataset.language || ""; + const cardStatus = card.dataset.status || ""; + const cardFaculty = card.dataset.faculty || ""; + + const matches = + (!query || title.includes(query)) && + (!language || cardLanguage === language) && + (!status || cardStatus === status) && + (!faculty || cardFaculty === faculty); + + if (matches) { + /* + * Если карточка до этого была скрыта фильтром, + * показываем её с короткой анимацией. + * + * Если она просто не успела раскрыться при прокрутке, + * принудительно убираем opacity: 0. + */ + showCourse(card, wasHidden); + visible += 1; + } else { + hideCourse(card); + } + }); + + let emptyState = courseList.querySelector( + '.no-results[data-filter-empty="true"]' + ); + + if (visible === 0 && cards.length > 0 && !emptyState) { + emptyState = document.createElement("div"); + emptyState.className = "no-results"; + emptyState.dataset.filterEmpty = "true"; + + emptyState.innerHTML = + '' + + '

    ${_("No courses found")}

    '; + + courseList.appendChild(emptyState); + } else if (visible > 0 && emptyState) { + emptyState.remove(); + } + + window.requestAnimationFrame(function () { + if (window.ScrollTrigger) { + ScrollTrigger.refresh(true); + } + }); + } + + /* + * Первоначальная анимация карточек при прокрутке. + * Она создаётся один раз, а не внутри showCourse(). + */ + if ( + window.gsap && + window.ScrollTrigger && + !reduceMotion + ) { + gsap.registerPlugin(ScrollTrigger); + + document.querySelectorAll("#courseList .course").forEach( + function (card) { + gsap.from(card, { + autoAlpha: 0, + duration: 0.65, + ease: "power3.out", + y: 42, + scrollTrigger: { + trigger: card, + start: "top 92%", + once: true + }, + onComplete: function () { + clearCourseAnimation(card); + } + }); + } + ); + } + From 0e22dc17f699c7038e64b62e65c5e1e0bd31061d Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Wed, 26 Aug 2026 17:06:25 +0500 Subject: [PATCH 412/447] fix2 --- lms/templates/courseware/courses.html | 1001 ++++++++++++++++--------- 1 file changed, 636 insertions(+), 365 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 8ba0b5d049f6..3a7d1eb003b0 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -1,491 +1,762 @@ <%page expression_filter="h"/> <%! -from django.utils.translation import gettext as _ + from django.utils.translation import gettext as _ %> <%inherit file="../main.html" /> <%block name="pagetitle">${_("Courses")} <%block name="headextra"> - + + @media (max-width: 1020px) { + .filters { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + } + + @media (max-width: 650px) { + .courses-hero { + min-height: 320px; + padding: 68px 18px 105px; + } + + .courses-hero__orb--one { left: -70px; } + .courses-hero__orb--two { right: -35px; } + + .courses-container { + padding-left: 13px; + padding-right: 13px; + } + + .filter-box { + padding: 24px 17px 19px; + } + + .filter-header { + align-items: flex-start; + flex-wrap: wrap; + } + + .results-count { + margin-left: 0; + order: 3; + width: 100%; + } + + .filters, + .course-grid { + grid-template-columns: 1fr; + } + } + + @media (prefers-reduced-motion: reduce) { + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + scroll-behavior: auto !important; + transition-duration: 0.01ms !important; + } + + .course-grid.courses-animate .course { + opacity: 1 !important; + transform: none !important; + } + } + <%block name="content"> -
    -

    ${_("Courses")}

    -

    ${_("Explore our collection of educational programs and start learning today")}

    -
    - -
    -
    -

    ${_("Filter Courses")}

    -
    - - - - - - - +
    +
    + + + +
    +
    ${_("Course catalog")}
    +

    ${_("Courses")}

    +

    ${_("Explore our collection of educational programs and start learning today")}

    +
    +
    + +
    +
    +
    +

    ${_("Filter Courses")}

    + +
    -
    +
    + + + + + + + +
    +
    -
    +
    % if courses: - % for course in courses: - <% - from django.utils import timezone - now = timezone.now() - status = "completed" if course.end and course.end < now else "ongoing" - status_text = _('Completed') if status == "completed" else _('Ongoing') - %> -
    -
    + % for course in courses: + <% + from django.utils import timezone + now = timezone.now() + status = "completed" if course.end and course.end < now else "ongoing" + status_text = _('Completed') if status == "completed" else _('Ongoing') + %> + +
    +
    ${course.display_name} + src="${course.course_image_url if hasattr(course, 'course_image_url') else '/static/images/default-course.jpg'}" + alt="${course.display_name or _('Course')}" + loading="lazy" + >
    ${status_text}
    -
    -
    +
    + +

    ${course.display_name}

    +
    - ${course.display_org_with_default} - % if course.language: + ${course.display_org_with_default} + % if course.language: ${course.language} - % endif + % endif
    +
    - ${_('Start')} - : ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} - ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} + ${_('Start')}: ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} + ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')}
    - ${_('Go to course')} -
    -
    - % endfor + + ${_('Go to course')} +
    + + % endfor % else: -
    - 📚 +
    +

    ${_('No courses found')}

    ${_('There are currently no available courses')}

    -
    +
    % endif -
    -
    - - - - - - - + }); + }, { + rootMargin: "0px 0px -6% 0px", + threshold: 0.06 + }); + cards.forEach(function (card) { + courseObserver.observe(card); + }); + } else { + cards.forEach(function (card) { + card.classList.add("is-visible"); + }); + } + })(); + + From f25188c4e985ed68c57aa4881f7918df798fd9c2 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Wed, 26 Aug 2026 17:31:17 +0500 Subject: [PATCH 413/447] fix3 --- lms/templates/courseware/courses.html | 92 +-------------------------- 1 file changed, 1 insertion(+), 91 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 3a7d1eb003b0..bccab7105b3d 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -266,19 +266,6 @@ transition: box-shadow var(--courses-transition), transform var(--courses-transition); } - /* Только обычная прокрутка: карточки раскрывает IntersectionObserver. */ - .course-grid.courses-animate .course:not(.is-visible) { - opacity: 0; - transform: translateY(34px); - } - - .course-grid.courses-animate .course { - transition: - opacity 0.55s ease, - transform 0.55s cubic-bezier(.2, .8, .2, 1), - box-shadow var(--courses-transition); - } - .course:hover { box-shadow: var(--courses-shadow-hover); transform: translateY(-7px); @@ -288,23 +275,6 @@ display: none !important; } - /* После первого поиска/фильтра все анимации карточек отключены. */ - .course-grid.animations-disabled .course { - animation: none !important; - opacity: 1 !important; - transform: none !important; - transition: box-shadow 0.18s ease !important; - visibility: visible !important; - } - - .course-grid.animations-disabled .course:hover { - transform: none !important; - } - - .course-grid.animations-disabled .course[hidden] { - display: none !important; - } - .course-media { background: #dbeafe; overflow: hidden; @@ -327,7 +297,7 @@ width: 100%; } - .course-grid:not(.animations-disabled) .course:hover img { + .course:hover img { transform: scale(1.045); } @@ -502,10 +472,6 @@ transition-duration: 0.01ms !important; } - .course-grid.courses-animate .course { - opacity: 1 !important; - transform: none !important; - } } @@ -629,9 +595,6 @@

    ${_('No courses found')}

    var resultsCount = document.getElementById("resultsCount"); var courseList = document.getElementById("courseList"); var cards = Array.prototype.slice.call(courseList.querySelectorAll(".course")); - var reduceMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches; - var courseObserver = null; - var animationsDisabled = false; var emptyMessage = "${_('No courses found')}"; var shownMessage = "${_('Shown')}"; @@ -643,29 +606,6 @@

    ${_('No courses found')}

    .trim(); } - function disableAnimations() { - if (animationsDisabled) { - return; - } - - animationsDisabled = true; - courseList.classList.remove("courses-animate"); - courseList.classList.add("animations-disabled"); - - if (courseObserver) { - courseObserver.disconnect(); - courseObserver = null; - } - - cards.forEach(function (card) { - card.classList.add("is-visible"); - card.style.removeProperty("display"); - card.style.removeProperty("opacity"); - card.style.removeProperty("visibility"); - card.style.removeProperty("transform"); - }); - } - function updateEmptyState(visible) { var emptyState = courseList.querySelector('.no-results[data-filter-empty="true"]'); @@ -687,13 +627,8 @@

    ${_('No courses found')}

    var language = languageFilter.value; var status = statusFilter.value; var faculty = facultyFilter.value; - var filterIsActive = Boolean(query || language || status || faculty); var visible = 0; - if (filterIsActive) { - disableAnimations(); - } - cards.forEach(function (card) { var title = normalizeText(card.dataset.title); var cardLanguage = card.dataset.language || ""; @@ -709,7 +644,6 @@

    ${_('No courses found')}

    card.hidden = !matches; if (matches) { - card.classList.add("is-visible"); visible += 1; } }); @@ -733,30 +667,6 @@

    ${_('No courses found')}

    }); resultsCount.textContent = shownMessage + ": " + cards.length + " / " + cards.length; - - if ("IntersectionObserver" in window && !reduceMotion && cards.length) { - courseList.classList.add("courses-animate"); - - courseObserver = new IntersectionObserver(function (entries, observer) { - entries.forEach(function (entry) { - if (entry.isIntersecting) { - entry.target.classList.add("is-visible"); - observer.unobserve(entry.target); - } - }); - }, { - rootMargin: "0px 0px -6% 0px", - threshold: 0.06 - }); - - cards.forEach(function (card) { - courseObserver.observe(card); - }); - } else { - cards.forEach(function (card) { - card.classList.add("is-visible"); - }); - } })(); From bb5b8a5ba19ed7b2195d50013a7f16a04f612a8e Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 10:24:38 +0500 Subject: [PATCH 414/447] add addaptive page --- lms/templates/courseware/courses.html | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index bccab7105b3d..6c4a9eb74866 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -206,13 +206,17 @@ } .filters { - display: grid; - gap: 14px; - grid-template-columns: minmax(240px, 1.25fr) repeat(3, minmax(190px, 1fr)); + display: grid; + gap: 14px; + grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)); } .filters input, .filters select { + box-sizing: border-box; + min-width: 0; + max-width: 100%; + width: 100%; appearance: none; background-color: #fff; border: 2px solid #e1e7f0; @@ -224,7 +228,6 @@ outline: none; padding: 11px 15px; transition: border var(--courses-transition), box-shadow var(--courses-transition); - width: 100%; } .filters select { From 397bff59728bd3ef0e9d8479f74363292c4348df Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 10:41:31 +0500 Subject: [PATCH 415/447] d --- lms/templates/courseware/courses.html | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 6c4a9eb74866..dbd5ff5b1cca 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -476,6 +476,22 @@ } } + .filter-box, + .filters { + box-sizing: border-box; + min-width: 0; + max-width: 100%; + width: 100%; + } + + #searchInput { + grid-column: 1 / -1; + box-sizing: border-box !important; + display: block; + min-width: 0 !important; + max-width: 100% !important; + width: 100% !important; + } From 15e85f4515b02d71adf886706294ff0a136bebd6 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 11:07:56 +0500 Subject: [PATCH 416/447] n --- lms/templates/courseware/courses.html | 42 ++++++++++++++++++++------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index dbd5ff5b1cca..acdeae209ce3 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -431,10 +431,10 @@ } @media (max-width: 650px) { - .courses-hero { - min-height: 320px; - padding: 68px 18px 105px; - } + .filters { + grid-template-columns: 1fr; + } + } .courses-hero__orb--one { left: -70px; } .courses-hero__orb--two { right: -35px; } @@ -476,21 +476,41 @@ } } - .filter-box, - .filters { + .courses-container { box-sizing: border-box; - min-width: 0; - max-width: 100%; width: 100%; } - #searchInput { - grid-column: 1 / -1; + .filter-box { + box-sizing: border-box !important; + min-width: 0 !important; + max-width: 100% !important; + width: 100% !important; + overflow-x: hidden; + } + + .filters { box-sizing: border-box !important; - display: block; min-width: 0 !important; max-width: 100% !important; width: 100% !important; + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + #searchInput { + box-sizing: border-box !important; + grid-column: 1 / -1; + display: block !important; + float: none !important; + position: static !important; + + width: 100% !important; + min-width: 0 !important; + max-width: 100% !important; + + margin: 0 !important; + left: auto !important; + right: auto !important; } From 57643347c8d6d3d9a47e629c134d7ec1bb377bdd Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 12:04:05 +0500 Subject: [PATCH 417/447] d --- lms/templates/courseware/courses.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index acdeae209ce3..6bda8a3ba615 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -42,7 +42,7 @@ background: linear-gradient(125deg, var(--courses-navy), var(--courses-blue), var(--courses-blue-bright)); color: #fff; isolation: isolate; - min-height: 350px; + min-height: 250px; overflow: hidden; padding: 82px 24px 115px; position: relative; From adda48812f4ff714aa9a078555c2a4e6300abd7a Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 13:23:31 +0500 Subject: [PATCH 418/447] M --- lms/templates/courseware/courses.html | 57 +++++---------------------- 1 file changed, 9 insertions(+), 48 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 6bda8a3ba615..bccab7105b3d 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -42,7 +42,7 @@ background: linear-gradient(125deg, var(--courses-navy), var(--courses-blue), var(--courses-blue-bright)); color: #fff; isolation: isolate; - min-height: 250px; + min-height: 350px; overflow: hidden; padding: 82px 24px 115px; position: relative; @@ -206,17 +206,13 @@ } .filters { - display: grid; - gap: 14px; - grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)); + display: grid; + gap: 14px; + grid-template-columns: minmax(240px, 1.25fr) repeat(3, minmax(190px, 1fr)); } .filters input, .filters select { - box-sizing: border-box; - min-width: 0; - max-width: 100%; - width: 100%; appearance: none; background-color: #fff; border: 2px solid #e1e7f0; @@ -228,6 +224,7 @@ outline: none; padding: 11px 15px; transition: border var(--courses-transition), box-shadow var(--courses-transition); + width: 100%; } .filters select { @@ -431,10 +428,10 @@ } @media (max-width: 650px) { - .filters { - grid-template-columns: 1fr; - } - } + .courses-hero { + min-height: 320px; + padding: 68px 18px 105px; + } .courses-hero__orb--one { left: -70px; } .courses-hero__orb--two { right: -35px; } @@ -476,42 +473,6 @@ } } - .courses-container { - box-sizing: border-box; - width: 100%; - } - - .filter-box { - box-sizing: border-box !important; - min-width: 0 !important; - max-width: 100% !important; - width: 100% !important; - overflow-x: hidden; - } - - .filters { - box-sizing: border-box !important; - min-width: 0 !important; - max-width: 100% !important; - width: 100% !important; - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - #searchInput { - box-sizing: border-box !important; - grid-column: 1 / -1; - display: block !important; - float: none !important; - position: static !important; - - width: 100% !important; - min-width: 0 !important; - max-width: 100% !important; - - margin: 0 !important; - left: auto !important; - right: auto !important; - } From ca0a5b0d7bdd63398645993617353a473da30ed9 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 13:40:38 +0500 Subject: [PATCH 419/447] m --- lms/templates/courseware/courses.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index bccab7105b3d..e1fa47db19aa 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -222,7 +222,7 @@ font-size: 14px; min-height: 46px; outline: none; - padding: 11px 15px; + padding: 11px 45px; transition: border var(--courses-transition), box-shadow var(--courses-transition); width: 100%; } From 4fde0831b669c2942d0eb084b1a2b932d2393c71 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 13:53:31 +0500 Subject: [PATCH 420/447] 2 --- lms/templates/courseware/courses.html | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index e1fa47db19aa..91c1434767a8 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -211,6 +211,12 @@ grid-template-columns: minmax(240px, 1.25fr) repeat(3, minmax(190px, 1fr)); } + .filters input { + box-sizing: border-box; + min-width: 40px; + max-width: 100%; + width: 100%; + } .filters input, .filters select { appearance: none; @@ -222,7 +228,7 @@ font-size: 14px; min-height: 46px; outline: none; - padding: 11px 45px; + padding: 11px 15px; transition: border var(--courses-transition), box-shadow var(--courses-transition); width: 100%; } @@ -473,6 +479,13 @@ } } + #searchInput { + box-sizing: border-box !important; + width: 100% !important; + min-width: 0 !important; + max-width: 100% !important; + margin: 0 !important; + } From 86968d3ebd4c811644b3b373c0770ac7c4d8a853 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 14:01:43 +0500 Subject: [PATCH 421/447] d --- lms/templates/courseware/courses.html | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 91c1434767a8..adf1af5ba495 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -216,6 +216,7 @@ min-width: 40px; max-width: 100%; width: 100%; + background: #00aa00; } .filters input, .filters select { From 3ddfa22e839e860294693b7749a502861ff83da1 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 14:10:41 +0500 Subject: [PATCH 422/447] add --- lms/templates/courseware/courses.html | 1 - 1 file changed, 1 deletion(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index adf1af5ba495..1cba3e605ab6 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -231,7 +231,6 @@ outline: none; padding: 11px 15px; transition: border var(--courses-transition), box-shadow var(--courses-transition); - width: 100%; } .filters select { From 9f0f0b16ca01d30d863f85b6876815a2b8577130 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 14:21:58 +0500 Subject: [PATCH 423/447] 1 --- lms/templates/courseware/courses.html | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 1cba3e605ab6..381f247bd523 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -210,14 +210,6 @@ gap: 14px; grid-template-columns: minmax(240px, 1.25fr) repeat(3, minmax(190px, 1fr)); } - - .filters input { - box-sizing: border-box; - min-width: 40px; - max-width: 100%; - width: 100%; - background: #00aa00; - } .filters input, .filters select { appearance: none; From bb95276133591e81d1357f875030c691d7342ce9 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 14:28:41 +0500 Subject: [PATCH 424/447] d --- lms/templates/courseware/courses.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 381f247bd523..6f3afa9486e4 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -210,6 +210,9 @@ gap: 14px; grid-template-columns: minmax(240px, 1.25fr) repeat(3, minmax(190px, 1fr)); } + .filters input { + width: 80%; + } .filters input, .filters select { appearance: none; From 354c9f284728dbdcdc723a0bd5a5c297cc3093b6 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 14:36:41 +0500 Subject: [PATCH 425/447] d --- lms/templates/courseware/courses.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 6f3afa9486e4..1b01e236e382 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -210,8 +210,9 @@ gap: 14px; grid-template-columns: minmax(240px, 1.25fr) repeat(3, minmax(190px, 1fr)); } - .filters input { - width: 80%; + + #searchInput { + width: 100% !important; } .filters input, .filters select { From 7f50525ce4fb9c4c252acaf5c4ccf1ea7d3667ea Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 14:48:12 +0500 Subject: [PATCH 426/447] D --- lms/templates/courseware/courses.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index 1b01e236e382..cafcb52bc344 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -211,8 +211,12 @@ grid-template-columns: minmax(240px, 1.25fr) repeat(3, minmax(190px, 1fr)); } - #searchInput { + .catalog-filters #searchInput { + box-sizing: border-box !important; width: 100% !important; + min-width: 0 !important; + max-width: 100% !important; + margin: 0 !important; } .filters input, .filters select { From bc6a2fd9701a8f3635f8351c661454bce98e9402 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 14:55:19 +0500 Subject: [PATCH 427/447] d --- lms/templates/courseware/courses.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index cafcb52bc344..e690f94b7a13 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -213,9 +213,9 @@ .catalog-filters #searchInput { box-sizing: border-box !important; - width: 100% !important; + width: 70% !important; min-width: 0 !important; - max-width: 100% !important; + max-width: 70% !important; margin: 0 !important; } .filters input, From 839755fefd21abfc411f62ff72fade9084786992 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 15:04:57 +0500 Subject: [PATCH 428/447] d --- lms/djangoapps/news/views.py | 2 +- lms/templates/courseware/courses.html | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 98190738a0b5..a9cdab1246a0 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -319,7 +319,7 @@ def analyze(request): } for course in top_courses ] - +# One Two Threee context = { "courses_count": len(courses), "current_year": current_year, diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index e690f94b7a13..cafcb52bc344 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -213,9 +213,9 @@ .catalog-filters #searchInput { box-sizing: border-box !important; - width: 70% !important; + width: 100% !important; min-width: 0 !important; - max-width: 70% !important; + max-width: 100% !important; margin: 0 !important; } .filters input, From 4e90183225b225b0c669b223521dcb4e3f045792 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 17:20:39 +0500 Subject: [PATCH 429/447] Add red background --- lms/djangoapps/news/views.py | 4 +++- lms/templates/courseware/courses.html | 6 +----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index a9cdab1246a0..2de8b58ab7af 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -319,7 +319,9 @@ def analyze(request): } for course in top_courses ] -# One Two Threee +# One Two Threeesdfsdfsd + + nzt123 = 1 context = { "courses_count": len(courses), "current_year": current_year, diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index cafcb52bc344..b9757dda16ce 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -480,11 +480,7 @@ } #searchInput { - box-sizing: border-box !important; - width: 100% !important; - min-width: 0 !important; - max-width: 100% !important; - margin: 0 !important; + background-color:red; } From ef66c46738ac8b00cf40cb385b7102fc817b4cea Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Thu, 27 Aug 2026 17:38:42 +0500 Subject: [PATCH 430/447] update courses2 and fix bugs --- lms/djangoapps/courseware/views/views.py | 2 +- lms/djangoapps/news/views.py | 3 --- .../{courses_summer.html => courses2.html} | 13 ++++++++++++- 3 files changed, 13 insertions(+), 5 deletions(-) rename lms/templates/courseware/{courses_summer.html => courses2.html} (98%) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index c47ab97ea249..fae66f4d0121 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -298,7 +298,7 @@ def courses(request): ) return render_to_response( - "courseware/courses_summer.html", + "courseware/courses2.html", { 'courses': courses_list, } diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 2de8b58ab7af..45444c983c84 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -319,9 +319,6 @@ def analyze(request): } for course in top_courses ] -# One Two Threeesdfsdfsd - - nzt123 = 1 context = { "courses_count": len(courses), "current_year": current_year, diff --git a/lms/templates/courseware/courses_summer.html b/lms/templates/courseware/courses2.html similarity index 98% rename from lms/templates/courseware/courses_summer.html rename to lms/templates/courseware/courses2.html index ef2c0ffb9f0c..06b44ea5c956 100644 --- a/lms/templates/courseware/courses_summer.html +++ b/lms/templates/courseware/courses2.html @@ -338,7 +338,6 @@ outline: none; padding: 12px 16px; transition: border var(--catalog-transition), box-shadow var(--catalog-transition), transform var(--catalog-transition); - width: 100%; } .catalog-filters select { @@ -864,6 +863,18 @@

    ${_('No courses found')}

    } function filterCourses() { + courseList.querySelectorAll("img").forEach(function (image) { + image.loading = "eager"; + }); + + // Останавливаем незавершённые анимации карточек + if (window.gsap) { + gsap.killTweensOf(cards); + + gsap.set(cards, { + clearProps: "opacity,transform,visibility" + }); + } var query = searchInput.value.toLowerCase().trim(); var language = languageFilter.value; var status = statusFilter.value; From 5614a8a383cfb24eef7d086c7a9efea0808fb3f0 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Fri, 28 Aug 2026 10:01:10 +0500 Subject: [PATCH 431/447] d --- lms/templates/news/analyze.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index ae0c2cc6299d..12629f314edc 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -199,13 +199,13 @@ } .chart-wrap { - height: 300px; + height: 380px; position: relative; } .split-grid { display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); + grid-template-columns: minmax(0, 1fr); gap: 18px; } From ecaf480c10bb71d4eeacb309833be51735921e79 Mon Sep 17 00:00:00 2001 From: Erarys Abylkasym Date: Fri, 28 Aug 2026 10:42:54 +0500 Subject: [PATCH 432/447] adaptive filters search: --- lms/templates/courseware/courses2.html | 62 +++++++++++++++++--------- 1 file changed, 41 insertions(+), 21 deletions(-) diff --git a/lms/templates/courseware/courses2.html b/lms/templates/courseware/courses2.html index 06b44ea5c956..c47fc485b825 100644 --- a/lms/templates/courseware/courses2.html +++ b/lms/templates/courseware/courses2.html @@ -321,23 +321,35 @@ .catalog-filters { display: grid; - grid-template-columns: 280px repeat(3, minmax(180px, 1fr)); + grid-template-columns: + repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 14px; + + box-sizing: border-box; + width: 100%; + min-width: 0; + max-width: 100%; } .catalog-filters input, .catalog-filters select { - appearance: none; - background-color: #fff; - border: 2px solid #e2e8f0; - border-radius: 14px; - color: var(--catalog-text); - font: inherit; - font-size: 15px; - min-height: 48px; - outline: none; - padding: 12px 16px; - transition: border var(--catalog-transition), box-shadow var(--catalog-transition), transform var(--catalog-transition); + appearance: none; + box-sizing: border-box !important; + + width: 100% !important; + min-width: 0 !important; + max-width: 100% !important; + margin: 0 !important; + + background-color: #fff; + border: 2px solid #e2e8f0; + border-radius: 14px; + color: var(--catalog-text); + font: inherit; + font-size: 15px; + min-height: 48px; + outline: none; + padding: 12px 16px; } .catalog-filters select { @@ -580,9 +592,9 @@ .catalog-empty p { margin: 0; } - #searchInput { - max-width: 250px; - } + /*#searchInput {*/ + /* max-width: 250px;*/ + /*}*/ @keyframes catalogGradient { 0% { background-position: 0% 50%; } @@ -609,9 +621,9 @@ grid-template-columns: 1fr; } - #searchInput { - max-width: 340px; - } + /*#searchInput {*/ + /* max-width: 340px;*/ + /*}*/ .catalog-hero { min-height: 360px; padding: 72px 18px 108px; @@ -626,9 +638,17 @@ padding-right: 14px; } - .catalog-filter { - padding: 25px 18px 20px; - } + #searchInput { + box-sizing: border-box !important; + width: 100% !important; + min-width: 0 !important; + max-width: 100% !important; + } + .catalog-filter { + box-sizing: border-box; + min-width: 0; + max-width: 100%; + } .catalog-filter__header { align-items: flex-start; From ddd2cb2aabc92c3c6cb7bdf4c699604e1f922514 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 4 Sep 2026 14:58:47 +0500 Subject: [PATCH 433/447] fuck that shit --- lms/djangoapps/courseware/views/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index c47ab97ea249..413f4847ace3 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -298,7 +298,7 @@ def courses(request): ) return render_to_response( - "courseware/courses_summer.html", + "courseware/courses.html", { 'courses': courses_list, } From 4c433a9324b694d2baad501db1ca879c5a952318 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 4 Sep 2026 15:56:09 +0500 Subject: [PATCH 434/447] add update --- lms/djangoapps/news/views.py | 38 ++++++++++++++++++--------------- lms/templates/news/analyze.html | 2 +- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index f7278d67e4bf..3ed3e94f13e7 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -205,13 +205,16 @@ def analyze(request): now = timezone.now() today = now.date() - current_year = today.year - - max_valid_end = now + timedelta(days=366) - - base_courses_qs = ( - CourseOverview.objects - .exclude(org__in=course_org_filter) + current_year = today.year + + year_start = now.replace(month=1, day=1, hour=0, minute=0, second=0, microsecond=0) + next_year_start = year_start.replace(year=current_year + 1) + all_courses_qs = CourseOverview.objects.exclude(org__in=course_org_filter) + + max_valid_end = now + timedelta(days=366) + + base_courses_qs = ( + all_courses_qs # курс еще не должен закончиться .exclude(end__isnull=True) @@ -233,10 +236,11 @@ def analyze(request): courses = list(unique_courses.values()) - current_year_courses = [ - course for course in courses - if course.start and course.start.year == current_year - ] + # Count each course run starting this year, regardless of its end date or title. + current_year_courses = list(all_courses_qs.filter( + start__gte=year_start, + start__lt=next_year_start, + )) # max_year = current_year + 1 @@ -286,11 +290,11 @@ def analyze(request): for language, total in language_counter.most_common() ] - top_courses = sorted( - current_year_courses, - key=lambda course: course.start, - reverse=True - )[:50] + top_courses = sorted( + current_year_courses, + key=lambda course: course.start, + reverse=True + ) courses_json = [ { @@ -306,7 +310,7 @@ def analyze(request): ] context = { - "courses_count": len(courses), + "courses_count": all_courses_qs.count(), "current_year": current_year, "current_year_courses_count": len(current_year_courses), "faculty_count": len(set(course.faculty for course in courses if course.faculty)), diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 8acc4c3c3a2a..2611e404bc8d 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -564,7 +564,7 @@

    ${_("Courses by directions")}

    -

    ${_("Top 50 courses")}

    +

    ${_("All courses")}

    ${_("Current courses with a start date in")} ${current_year} ${_("year")}.

    From 3199dd7fc80c7f1d378cd95c0aea39b70706bce7 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 4 Sep 2026 16:09:49 +0500 Subject: [PATCH 435/447] add new --- lms/djangoapps/news/views.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 45444c983c84..5f966faa460a 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -207,9 +207,14 @@ def analyze(request): today = now.date() current_year = today.year + year_start = now.replace(month=1, day=1, hour=0, minute=0, second=0, microsecond=0) + next_year_start = year_start.replace(year=current_year + 1) + all_courses_qs = CourseOverview.objects.exclude(org__in=course_org_filter) + max_valid_end = now + timedelta(days=366) base_courses_qs = ( + all_courses_qs, CourseOverview.objects .exclude(org__in=course_org_filter) @@ -234,10 +239,10 @@ def analyze(request): courses = list(unique_courses.values()) - current_year_courses = [ - course for course in courses - if course.start and course.start.year == current_year - ] + current_year_courses = list(all_courses_qs.filter( + start__gte=year_start, + start__lt=next_year_start, + )) # Rewrite code to test it # current_year_courses = courses # @@ -320,7 +325,7 @@ def analyze(request): for course in top_courses ] context = { - "courses_count": len(courses), + "courses_count": all_courses_qs.count(), "current_year": current_year, "current_year_courses_count": len(current_year_courses), "faculty_count": len(set(course.faculty for course in courses if course.faculty)), From 1a45fb8a4579eb81951996a2100527c83871beaf Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 4 Sep 2026 16:13:34 +0500 Subject: [PATCH 436/447] update --- lms/djangoapps/news/views.py | 85 ++++++++++++------------------------ 1 file changed, 27 insertions(+), 58 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 5f966faa460a..1a731a34f8d0 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -201,7 +201,8 @@ def translate_direction(value): return DIRECTION_TRANSLATIONS.get(value, {}).get(language, value) # def analyze(request): - course_org_filter = ["Test_kaznu", "rty", "123", "AI Tools in Action: Boosting Productivity with Modern Workflows", "Demo"] + course_org_filter = ["Test_kaznu", "rty", "123", "Demo"] + course_name_filter = ["AI Tools in Action: Boosting Productivity with Modern Workflows"] now = timezone.now() today = now.date() @@ -209,48 +210,21 @@ def analyze(request): year_start = now.replace(month=1, day=1, hour=0, minute=0, second=0, microsecond=0) next_year_start = year_start.replace(year=current_year + 1) - all_courses_qs = CourseOverview.objects.exclude(org__in=course_org_filter) - - max_valid_end = now + timedelta(days=366) - - base_courses_qs = ( - all_courses_qs, - CourseOverview.objects - .exclude(org__in=course_org_filter) - - # курс еще не должен закончиться - .exclude(end__isnull=True) - # .exclude(end__lt=now) - - # скрываем слишком долгие/ошибочные курсы, например до 2028 года - .exclude(end__gt=max_valid_end) - - # убираем пустые названия - .filter(start__lte=now) - .exclude(display_name__isnull=True) - .exclude(display_name="") - .order_by("display_name", "-start", "-id") - ) - - unique_courses = {} - for course in base_courses_qs: - if course.display_name not in unique_courses: - unique_courses[course.display_name] = course - - courses = list(unique_courses.values()) - - current_year_courses = list(all_courses_qs.filter( - start__gte=year_start, - start__lt=next_year_start, - )) - # Rewrite code to test it # - current_year_courses = courses - # - max_year = current_year + 1 - - courses_by_year_qs = ( - CourseOverview.objects - .exclude(org__in=course_org_filter) + all_courses_qs = ( + CourseOverview.objects + .exclude(org__in=course_org_filter) + .exclude(display_name__in=course_name_filter) + ) + + # Include every run starting this year, regardless of its end date or title. + current_year_courses = list(all_courses_qs.filter( + start__gte=year_start, + start__lt=next_year_start, + )) + max_year = current_year + 1 + + courses_by_year_qs = ( + all_courses_qs .exclude(start__isnull=True) .filter(start__year__lte=max_year) .annotate(year=ExtractYear("start")) @@ -265,17 +239,17 @@ def analyze(request): # faculty_counter = Counter( - course.faculty for course in courses + course.faculty for course in current_year_courses if course.faculty ) directions_counter = Counter( - course.directions for course in courses + course.directions for course in current_year_courses if course.directions ) language_counter = Counter( - course.language for course in courses + course.language for course in current_year_courses if course.language ) @@ -300,15 +274,10 @@ def analyze(request): reverse=True ) - course_run_counts = dict( - CourseOverview.objects - .exclude(org__in=course_org_filter) - .exclude(display_name__isnull=True) - .exclude(display_name="") - .exclude(start__isnull=True) - .values("display_name") - .annotate(total=Count("id", distinct=True)) - .values_list("display_name", "total") + # Group runs across years by course identity, not by their editable titles. + course_run_counts = Counter( + (course_key.org, course_key.course) + for course_key in all_courses_qs.exclude(start__isnull=True).values_list("id", flat=True) ) courses_json = [ @@ -319,7 +288,7 @@ def analyze(request): "directions": translate_direction(course.directions), "language": course.language or "", "start": course.start.strftime("%d.%m.%Y") if course.start else "", - "run_count": course_run_counts.get(course.display_name, 1), + "run_count": course_run_counts.get((course.id.org, course.id.course), 1), "url": "/courses/{}/about".format(course.id), } for course in top_courses @@ -328,8 +297,8 @@ def analyze(request): "courses_count": all_courses_qs.count(), "current_year": current_year, "current_year_courses_count": len(current_year_courses), - "faculty_count": len(set(course.faculty for course in courses if course.faculty)), - "directions_count": len(set(course.directions for course in courses if course.directions)), + "faculty_count": len(faculty_counter), + "directions_count": len(directions_counter), "generated_at": timezone.localtime().strftime("%d.%m.%Y %H:%M"), "language_summary": [ From 841900a390cfbdc87752503c99cbfc11aa5cc714 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 4 Sep 2026 16:39:18 +0500 Subject: [PATCH 437/447] d --- lms/djangoapps/news/views.py | 113 ++++++++++++++-- lms/templates/news/course_details.html | 174 +++++++++++++++++++++++++ lms/urls.py | 1 + 3 files changed, 277 insertions(+), 11 deletions(-) create mode 100644 lms/templates/news/course_details.html diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 1a731a34f8d0..b523fa45a68a 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -4,7 +4,12 @@ from .models import News from .forms import NewsForm from django.contrib.auth.decorators import user_passes_test -from common.djangoapps.student.models import UserProfile +from common.djangoapps.student.models import CourseEnrollment, UserProfile +from lms.djangoapps.certificates.data import CertificateStatuses +from lms.djangoapps.certificates.models import GeneratedCertificate +from lms.djangoapps.grades.models import PersistentCourseGrade +from opaque_keys import InvalidKeyError +from opaque_keys.edx.keys import CourseKey import json from django.utils import timezone @@ -19,13 +24,13 @@ from django.http import HttpResponseRedirect -from django.http import JsonResponse +from django.http import Http404, JsonResponse from django.views.decorators.csrf import csrf_exempt from django.conf import settings -from django.db.models.functions import ExtractYear -from django.db.models import Count +from django.db.models.functions import ExtractYear, TruncMonth +from django.db.models import Avg, Count, Q logger = logging.getLogger(__name__) @@ -215,6 +220,12 @@ def analyze(request): .exclude(org__in=course_org_filter) .exclude(display_name__in=course_name_filter) ) + # Count each nonempty title once, even across different course codes and runs. + unique_course_names = { + name.strip() + for name in all_courses_qs.values_list("display_name", flat=True) + if name and name.strip() + } # Include every run starting this year, regardless of its end date or title. current_year_courses = list(all_courses_qs.filter( @@ -289,12 +300,12 @@ def analyze(request): "language": course.language or "", "start": course.start.strftime("%d.%m.%Y") if course.start else "", "run_count": course_run_counts.get((course.id.org, course.id.course), 1), - "url": "/courses/{}/about".format(course.id), + "url": reverse("course_details", kwargs={"course_id": str(course.id)}), } for course in top_courses ] context = { - "courses_count": all_courses_qs.count(), + "courses_count": len(unique_course_names), "current_year": current_year, "current_year_courses_count": len(current_year_courses), "faculty_count": len(faculty_counter), @@ -324,11 +335,91 @@ def analyze(request): "courses_json": json.dumps(courses_json, ensure_ascii=False), } - return render_to_response("news/analyze.html", context, request=request) - - - -PROCTORING_URL = "https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_open/start/" + return render_to_response("news/analyze.html", context, request=request) + + +def course_details(request, course_id): + """Aggregate analytics for one course run, without exposing learner identities.""" + try: + course_key = CourseKey.from_string(course_id) + except InvalidKeyError as exc: + raise Http404("Invalid course ID") from exc + + course = get_object_or_404(CourseOverview, id=course_key) + now = timezone.now() + enrollments = CourseEnrollment.objects.filter(course_id=course_key).order_by() + enrollment_stats = enrollments.aggregate( + total=Count("user_id", distinct=True), + active=Count("user_id", filter=Q(is_active=True), distinct=True), + recent=Count("user_id", filter=Q(created__gte=now - timedelta(days=30), created__lte=now), distinct=True), + ) + # Use the same enrollment population for outcomes and their denominators. + enrolled_user_ids = enrollments.values("user_id") + certificate_count = GeneratedCertificate.objects.filter( + course_id=course_key, + user_id__in=enrolled_user_ids, + status=CertificateStatuses.downloadable, + ).values("user_id").distinct().count() + grade_stats = PersistentCourseGrade.objects.filter( + course_id=course_key, + user_id__in=enrolled_user_ids, + ).aggregate( + recorded=Count("user_id", distinct=True), + passed=Count("user_id", filter=Q(passed_timestamp__isnull=False), distinct=True), + average=Avg("percent_grade"), + ) + total = enrollment_stats["total"] + stats = { + **enrollment_stats, + "inactive": total - enrollment_stats["active"], + "certificates": certificate_count, + "certificate_rate": round(certificate_count * 100 / total, 1) if total else 0, + "grades_recorded": grade_stats["recorded"], + "passed": grade_stats["passed"], + "average_grade": round(grade_stats["average"] * 100, 1) if grade_stats["average"] is not None else None, + } + + # Twelve calendar months, including empty months and the current partial month. + month = now.replace(day=1, hour=0, minute=0, second=0, microsecond=0) + months = [month] + for _ in range(11): + month = (month - timedelta(days=1)).replace(day=1) + months.append(month) + months.reverse() + monthly_counts = { + (row["month"].year, row["month"].month): row["total"] + for row in enrollments.filter(created__gte=months[0], created__lte=now) + .annotate(month=TruncMonth("created", tzinfo=now.tzinfo)) + .values("month") + .annotate(total=Count("user_id", distinct=True)) + .order_by("month") + } + peak = max(monthly_counts.values(), default=0) + enrollment_history = [] + for month in months: + count = monthly_counts.get((month.year, month.month), 0) + enrollment_history.append({ + "label": month.strftime("%m.%Y"), + "total": count, + "height": round(count * 100 / peak, 1) if peak else 0, + }) + + context = { + "course": course, + "stats": stats, + "faculty": translate_faculty(course.faculty), + "directions": translate_direction(course.directions), + "enrollment_history": enrollment_history, + "history_total": sum(row["total"] for row in enrollment_history), + "analysis_url": reverse("analyze"), + "course_url": reverse("about_course", kwargs={"course_id": str(course.id)}), + "generated_at": timezone.localtime(now).strftime("%d.%m.%Y %H:%M"), + } + return render_to_response("news/course_details.html", context, request=request) + + + +PROCTORING_URL = "https://farabi-proctoring.kaznu.kz/integration/simple/kaznu_open/start/" def go_to_exam(request): SECRET_KEY = str(settings.PROCTORING_API_KEY) diff --git a/lms/templates/news/course_details.html b/lms/templates/news/course_details.html new file mode 100644 index 000000000000..0ad12d096958 --- /dev/null +++ b/lms/templates/news/course_details.html @@ -0,0 +1,174 @@ +<%page expression_filter="h"/> +<%! from django.utils.translation import gettext as _ %> +<%inherit file="../main.html" /> + +<%def name="pagetitle()">${_("Course analytics")} — ${course.display_name or course.id} + +<%block name="head_extra"> + + + +
    +
    + + +
    +

    ${_("Course analytics")}

    +

    ${course.display_name or course.id}

    +

    ${course.id}

    +
    +

    ${_("Statistics for this course run only.")}

    + ${_("Go to course")} → +
    +
    + +
    +
    +
    ${_("Total enrolled users")}
    +
    ${stats['total']}
    +

    ${_("All existing enrollment records, including inactive ones.")}

    +
    +
    +
    ${_("Active enrollments")}
    +
    ${stats['active']}
    +

    ${_("Currently enrolled; does not measure learning activity.")}

    +
    +
    +
    ${_("Certificate recipients")}
    +
    ${stats['certificates']}
    +

    ${_("Users with an issued, available certificate.")}

    +
    +
    +
    ${_("Certificate rate")}
    +
    ${stats['certificate_rate']}%
    +

    ${_("Certificate recipients divided by all enrolled users.")}

    +
    +
    + +
    +
    +

    ${_("Enrollment history")}

    +

    ${_("New enrollment records over the last 12 calendar months. The current month is incomplete.")}

    + % if not history_total: +
    ${_("No new enrollments in this period.")}
    + % endif +
    +
      + % for month in enrollment_history: +
    1. +
      ${month['total']}
      + +
      ${month['label']}
      +
    2. + % endfor +
    +
    +
    + +
    +

    ${_("Enrollment status")}

    +

    ${_("One user is counted once within this course run.")}

    +
    +
    ${_("Active")}
    ${stats['active']}
    +
    ${_("Inactive")}
    ${stats['inactive']}
    +
    ${_("New in the last 30 days")}
    ${stats['recent']}
    +
    ${_("New in the displayed period")}
    ${history_total}
    +
    +
    +
    + +
    +
    +

    ${_("Learning outcomes")}

    +

    ${_("Based on saved grades and certificate records for enrolled users.")}

    +
    +
    ${_("Earned a passing grade at least once")}${stats['passed']}
    +

    ${_("A recorded passing date does not guarantee a currently valid certificate.")}

    +
    +
    +
    + ${_("Average saved grade")} + ${str(stats['average_grade']) + '%' if stats['average_grade'] is not None else '—'} +
    +

    ${_("Users with a saved grade")}: ${stats['grades_recorded']}. ${_("Missing grades are not counted as zero.")}

    +
    +
    +
    ${_("Certificate recipients")}${stats['certificates']}
    +

    ${_("Only issued, available certificates are counted. Revoked certificates and generation errors are excluded. This is not a download count.")}

    +
    +
    + +
    +

    ${_("Course information")}

    +
    +
    ${_("Organization")}
    ${course.org or '—'}
    +
    ${_("Faculty")}
    ${faculty or '—'}
    +
    ${_("Direction")}
    ${directions or '—'}
    +
    ${_("Language")}
    ${course.language or '—'}
    +
    ${_("Start date")}
    ${course.start.strftime('%d.%m.%Y') if course.start else '—'}
    +
    ${_("End date")}
    ${course.end.strftime('%d.%m.%Y') if course.end else '—'}
    +
    +
    +
    +
    +
    diff --git a/lms/urls.py b/lms/urls.py index 4ee979a84351..6d86a34d828a 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -99,6 +99,7 @@ path('news//', news_views.news_detail, name='news_detail'), path('news/create/', news_views.news_create, name='news_create'), path('analyze/', news_views.analyze, name='analyze'), + path('analyze/course_details//', news_views.course_details, name='course_details'), path('go-to-exam/', news_views.go_to_exam, name='exam'), path('finish-exam/', news_views.finish_exam, name='finish_exam'), path('api/univertest/', univer_views.UniverTestView.as_view(), name='univer_test'), From 34e07967e0810369ce094712ba80e1fa764892b4 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 7 Sep 2026 10:29:03 +0500 Subject: [PATCH 438/447] remove red --- lms/templates/courseware/courses.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html index b9757dda16ce..53aee15827eb 100644 --- a/lms/templates/courseware/courses.html +++ b/lms/templates/courseware/courses.html @@ -479,9 +479,7 @@ } } - #searchInput { - background-color:red; - } + From b8c6cee070ba355874e1b91f55c62f98bf3cd1b8 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 7 Sep 2026 10:55:24 +0500 Subject: [PATCH 439/447] attempt to choose different courses page for open --- lms/djangoapps/courseware/views/views.py | 2 +- lms/templates/courseware/courses_summer.html | 738 +++++++++++++++++++ 2 files changed, 739 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 413f4847ace3..fae66f4d0121 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -298,7 +298,7 @@ def courses(request): ) return render_to_response( - "courseware/courses.html", + "courseware/courses2.html", { 'courses': courses_list, } diff --git a/lms/templates/courseware/courses_summer.html b/lms/templates/courseware/courses_summer.html index e69de29bb2d1..7438d15fd067 100644 --- a/lms/templates/courseware/courses_summer.html +++ b/lms/templates/courseware/courses_summer.html @@ -0,0 +1,738 @@ +<%page expression_filter="h"/> +<%! + from django.utils.translation import gettext as _ +%> +<%inherit file="../main.html" /> + +<%block name="pagetitle">${_("Courses")} + +<%block name="headextra"> + + + +<%block name="content"> +
    +
    + + + + + + +
    +
    ${_("Summer of learning")}
    +

    ${_("Courses")}

    +

    ${_("Explore our collection of educational programs and start learning today")}

    +
    +
    + +
    +
    +

    ${_("Find your next course")}

    +
    + + + + + + + +
    +
    + +
    + % if courses: + % for course in courses: + <% + from django.utils import timezone + now = timezone.now() + status = "completed" if course.end and course.end < now else "ongoing" + status_text = _('Completed') if status == "completed" else _('Ongoing') + %> +
    +
    + ${course.display_name} +
    ${status_text}
    +
    + +
    +

    ${course.display_name}

    +
    + ${course.display_org_with_default} + % if course.language: + ${course.language} + % endif +
    +
    + ${_('Start')}: ${course.start.strftime('%Y-%m-%d') if course.start else _('Not specified')} + ${_('End')}: ${course.end.strftime('%Y-%m-%d') if course.end else _('Not specified')} +
    + ${_('Go to course')} +
    +
    + % endfor + % else: +
    + +

    ${_('No courses found')}

    +

    ${_('There are currently no available courses')}

    +
    + % endif +
    +
    +
    + + + + + From 5fd977123cad7fd4204a13f977b30711d8067322 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 7 Sep 2026 11:25:22 +0500 Subject: [PATCH 440/447] add admin verify in the Analyze button --- lms/djangoapps/news/views.py | 4 +++- lms/templates/header/navbar-authenticated.html | 12 +++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index b523fa45a68a..77f88b5d50ef 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -205,7 +205,8 @@ def translate_direction(value): return DIRECTION_TRANSLATIONS.get(value, {}).get(language, value) # -def analyze(request): +@user_passes_test(lambda u: u.is_staff) +def analyze(request): course_org_filter = ["Test_kaznu", "rty", "123", "Demo"] course_name_filter = ["AI Tools in Action: Boosting Productivity with Modern Workflows"] @@ -338,6 +339,7 @@ def analyze(request): return render_to_response("news/analyze.html", context, request=request) +@user_passes_test(lambda u: u.is_staff) def course_details(request, course_id): """Aggregate analytics for one course run, without exposing learner identities.""" try: diff --git a/lms/templates/header/navbar-authenticated.html b/lms/templates/header/navbar-authenticated.html index c88238b08c20..23da4ecce6a0 100644 --- a/lms/templates/header/navbar-authenticated.html +++ b/lms/templates/header/navbar-authenticated.html @@ -117,11 +117,13 @@ ${_("News")}
    - + % if self.real_user.is_staff: + + % endif % endif
    From 2d624e0565a504319f6514e16329698490889711 Mon Sep 17 00:00:00 2001 From: Erarys Date: Mon, 7 Sep 2026 14:58:56 +0500 Subject: [PATCH 441/447] add comment --- lms/djangoapps/courseware/views/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index fae66f4d0121..fe0786f45935 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -296,7 +296,7 @@ def courses(request): request.user, filter_={"catalog_visibility": CATALOG_VISIBILITY_CATALOG_AND_ABOUT}, ) - + # Do not change courses2 to courses return render_to_response( "courseware/courses2.html", { From a03f9ba43a0c8005ae2eb79f4603eaab298ba875 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 11 Sep 2026 12:14:38 +0500 Subject: [PATCH 442/447] add new admin --- cms/djangoapps/contentstore/course_admin.py | 496 ++++++++++++++++++ cms/djangoapps/contentstore/tasks.py | 90 +++- .../contentstore/tests/test_course_admin.py | 133 +++++ .../contentstore/views/course_admin.py | 285 ++++++++++ .../views/tests/test_course_admin.py | 322 ++++++++++++ cms/static/js/course_admin.js | 373 +++++++++++++ cms/templates/course-admin.html | 228 ++++++++ cms/urls.py | 9 + lms/djangoapps/certificates/api.py | 36 ++ .../tests/test_generation_settings_api.py | 41 ++ lms/djangoapps/news/views.py | 71 ++- lms/templates/news/analyze.html | 29 +- lms/templates/news/course_details.html | 71 ++- setup.cfg | 2 + 14 files changed, 2125 insertions(+), 61 deletions(-) create mode 100644 cms/djangoapps/contentstore/course_admin.py create mode 100644 cms/djangoapps/contentstore/tests/test_course_admin.py create mode 100644 cms/djangoapps/contentstore/views/course_admin.py create mode 100644 cms/djangoapps/contentstore/views/tests/test_course_admin.py create mode 100644 cms/static/js/course_admin.js create mode 100644 cms/templates/course-admin.html create mode 100644 lms/djangoapps/certificates/tests/test_generation_settings_api.py diff --git a/cms/djangoapps/contentstore/course_admin.py b/cms/djangoapps/contentstore/course_admin.py new file mode 100644 index 000000000000..3eb67f78341d --- /dev/null +++ b/cms/djangoapps/contentstore/course_admin.py @@ -0,0 +1,496 @@ +"""Services for the private Studio course administration page. + +Reruns use Studio's existing cloning task. SQL stores only the reservation, +enrollment modes and certificate configuration; learner records are never copied. +""" + +import json +import logging +import re +from copy import deepcopy +from datetime import datetime, timezone + +from django.core.exceptions import PermissionDenied, ValidationError +from django.db import IntegrityError, transaction +from django.utils.dateparse import parse_datetime +from opaque_keys import InvalidKeyError +from opaque_keys.edx.keys import CourseKey +from opaque_keys.edx.locator import CourseLocator + +from common.djangoapps.course_action_state.models import CourseRerunState +from common.djangoapps.course_modes.models import CourseMode +from lms.djangoapps.certificates.api import ( + create_course_certificate_generation_settings, + get_course_certificate_generation_settings, +) +from openedx.core.djangoapps.content.course_overviews.models import CourseOverview +from xmodule.modulestore import EdxJSONEncoder, ModuleStoreEnum +from xmodule.modulestore.django import modulestore +from xmodule.modulestore.exceptions import ItemNotFoundError + +LOGGER = logging.getLogger(__name__) +RUN_PATTERN = re.compile(r"^(\d{4})_C([1-9]\d*)$", re.IGNORECASE) +DATE_FIELDS = frozenset(('start', 'end', 'enrollment_start', 'enrollment_end', 'certificate_available_date')) +BOOLEAN_FIELDS = frozenset(('self_paced', 'invitation_only')) +COURSE_FIELDS = DATE_FIELDS | BOOLEAN_FIELDS | {'catalog_visibility'} +SETTINGS_FIELDS = COURSE_FIELDS | {'mode', 'certificate_mode', 'shift_content_dates'} + + +def _require_admin(user): + """Keep service calls as restricted as the HTTP entry points.""" + if not user.is_authenticated or not user.is_active or not user.is_staff: + raise PermissionDenied() + + +def validate_settings(payload, require_dates=False): + """Validate the small, explicit settings contract; omitted values stay unchanged. + + Date-only and timezone-less inputs use UTC. The page sends offsets explicitly. + Empty optional dates clear their field; start and end cannot be cleared. + """ + if not isinstance(payload, dict): + raise ValidationError('Настройки должны быть объектом JSON.') + unknown = set(payload) - SETTINGS_FIELDS + if unknown: + raise ValidationError(f'Неизвестные настройки: {", ".join(sorted(unknown))}.') + result = dict(payload) + for name in DATE_FIELDS & result.keys(): + value = result[name] + if value in (None, ''): + result[name] = None + else: + try: + parsed = value if isinstance(value, datetime) else parse_datetime(value) + except (TypeError, ValueError) as exc: + raise ValidationError(f'Некорректная дата: {name}.') from exc + if parsed is None: + raise ValidationError(f'Некорректная дата: {name}.') + result[name] = ( + parsed.replace(tzinfo=timezone.utc) if parsed.tzinfo is None else parsed.astimezone(timezone.utc) + ) + for name in ('start', 'end'): + if (require_dates or name in result) and result.get(name) is None: + raise ValidationError(f'Укажите дату {name}.') + for name in (BOOLEAN_FIELDS | {'shift_content_dates'}) & result.keys(): + if not isinstance(result[name], bool): + raise ValidationError(f'{name}: требуется true или false.') + choices = { + 'catalog_visibility': ('both', 'about', 'none'), + 'mode': ('copy', 'honor', 'audit'), + 'certificate_mode': ('copy', 'enabled', 'disabled'), + } + for name, allowed in choices.items(): + if name in result and result[name] not in allowed: + raise ValidationError(f'Недопустимое значение {name}.') + _validate_dates(result) + return result + + +def _validate_dates(values): + """Validate complete or partial course/enrollment calendars.""" + for start_name, end_name in (('start', 'end'), ('enrollment_start', 'enrollment_end')): + start, end = values.get(start_name), values.get(end_name) + if start and end and start >= end: + raise ValidationError(f'{end_name} должна быть позже {start_name}.') + if values.get('enrollment_end') and values.get('end') and values['enrollment_end'] > values['end']: + raise ValidationError('Окончание записи не может быть позже окончания курса.') + if values.get('enrollment_start') and values.get('end') and values['enrollment_start'] > values['end']: + raise ValidationError('Начало записи не может быть позже окончания курса.') + + +def _source_course(raw_key): + """Require a real, unversioned split-store course.""" + try: + key = raw_key if isinstance(raw_key, CourseKey) else CourseKey.from_string(raw_key) + except (InvalidKeyError, TypeError) as exc: + raise ValidationError('Некорректный идентификатор курса.') from exc + if (type(key) is not CourseLocator or key.deprecated # pylint: disable=unidiomatic-typecheck + or key.branch or key.version_guid): + raise ValidationError('Поддерживаются только курсы course-v1 без версии или ветки.') + course = modulestore().get_course(key, depth=0) + if course is None: + raise ValidationError('Курс не найден.') + return course + + +def _known_course_keys(): + """Include Mongo courses, SQL overviews and all outstanding run reservations.""" + keys = {course.id for course in modulestore().get_course_summaries()} + keys.update(CourseOverview.objects.values_list('id', flat=True)) + keys.update(CourseRerunState.objects.filter(action='rerun').values_list('course_key', flat=True)) + return keys + + +def next_course_key(source_key, year, known_keys): + """Choose the next numeric YYYY_Cn within this organization/course/year.""" + maximum = 0 + for key in known_keys: + if not isinstance(key, CourseKey): + key = CourseKey.from_string(key) + if key.org.casefold() != source_key.org.casefold() or key.course.casefold() != source_key.course.casefold(): + continue + match = RUN_PATTERN.fullmatch(key.run or '') + if match and int(match.group(1)) == year: + maximum = max(maximum, int(match.group(2))) + return CourseLocator(org=source_key.org, course=source_key.course, run=f'{year}_C{maximum + 1}') + + +def _generation_values(course, settings): + """Resolve the latest certificate settings, requiring an active template to enable.""" + original = get_course_certificate_generation_settings(course.id) + values = { + 'self_generation_enabled': original['self_generation_enabled'] if original else False, + 'language_specific_templates_enabled': original['language_specific_templates_enabled'] if original else False, + 'include_hours_of_effort': original['include_hours_of_effort'] if original else None, + } + policy = settings.get('certificate_mode', 'copy') + if policy != 'copy': + values['self_generation_enabled'] = policy == 'enabled' + if values['self_generation_enabled']: + certificates = (course.certificates or {}).get('certificates', []) + if not any(certificate.get('is_active') for certificate in certificates): + raise ValidationError('Сначала настройте и активируйте сертификат курса в Studio.') + return values + + +def _settings_for_course(course, settings, rerun=False): + """Validate resulting dates, including unchanged values on an existing course.""" + values = {name: getattr(course, name) for name in DATE_FIELDS} + if rerun: + values.update(enrollment_start=None, enrollment_end=None, certificate_available_date=None) + values.update(settings) + _validate_dates(values) + if rerun or settings.get('certificate_mode') == 'enabled': + _generation_values(course, settings) + + +def _result(source_key, course_key=None, state='failed', message='', state_id=None): + return { + 'source_course_id': str(source_key), + 'course_id': str(course_key) if course_key else None, + 'state': state, + 'message': message, + 'state_id': state_id, + } + + +def _error_message(exc): + if isinstance(exc, ValidationError): + return ' '.join(exc.messages) + return 'Операция не выполнена. Подробности записаны в журнал Studio.' + + +def _prepare_course(raw_key, settings, seen): + course = _source_course(raw_key) + family = (course.id.org.casefold(), course.id.course.casefold()) + if family in seen: + raise ValidationError('Выберите только один исходный запуск для одного курса.') + seen.add(family) + _settings_for_course(course, settings, rerun=True) + return course + + +def preview_course_reruns(user, course_keys, settings): + """Preflight each selection without reserving a key or starting a task.""" + _require_admin(user) + settings = validate_settings(settings, require_dates=True) + known, seen, results = _known_course_keys(), set(), [] + for raw_key in course_keys: + try: + course = _prepare_course(raw_key, settings, seen) + destination = next_course_key(course.id, settings['start'].year, known) + known.add(destination) + results.append(_result(course.id, destination, 'preview', 'Готов к перезапуску.')) + except Exception as exc: # pylint: disable=broad-except + LOGGER.exception('Course admin preflight failed for %s', raw_key) + results.append(_result(raw_key, message=_error_message(exc))) + return results + + +def _reserve_rerun(course, user, year, known, expected=None): + """The SQL unique constraint arbitrates simultaneous requests for the next run. + +Never use the existing manager's initiated()/get_or_create(): it overwrites a +competing worker's reservation. Each collision gets a separate savepoint. +""" + if expected: + try: + expected = CourseKey.from_string(expected) + except (InvalidKeyError, TypeError) as exc: + raise ValidationError('Некорректный идентификатор из предварительного просмотра.') from exc + match = RUN_PATTERN.fullmatch(expected.run or '') + if (type(expected) is not CourseLocator # pylint: disable=unidiomatic-typecheck + or expected.branch or expected.version_guid + or expected.org != course.id.org or expected.course != course.id.course + or not match or int(match.group(1)) != year): + raise ValidationError('Идентификатор запуска не соответствует выбранному курсу и году.') + previous = CourseRerunState.objects.filter(course_key=expected, action='rerun').first() + if previous: + if previous.source_course_key == course.id and previous.created_user_id == user.id: + return previous, False + raise ValidationError('Этот запуск уже зарезервирован. Обновите предварительный просмотр.') + if expected != next_course_key(course.id, year, known): + raise ValidationError('Список запусков изменился. Обновите предварительный просмотр.') + for _ in range(1000): + destination = expected or next_course_key(course.id, year, known) + known.add(destination) + if modulestore().has_course(destination, ignore_case=True): + if expected: + raise ValidationError('Курс уже существует. Обновите предварительный просмотр.') + continue + try: + with transaction.atomic(): + reservation = CourseRerunState.objects.create( + course_key=destination, + action='rerun', + state='in_progress', + source_course_key=course.id, + created_user=user, + updated_user=user, + display_name=course.display_name or str(course.id), + should_display=True, + message='', + ) + return reservation, True + except IntegrityError: + # Another request reserved this run between the read and insert. + if expected: + previous = CourseRerunState.objects.filter(course_key=expected, action='rerun').first() + if previous and previous.source_course_key == course.id and previous.created_user_id == user.id: + return previous, False + raise ValidationError('Этот запуск уже зарезервирован. Обновите предварительный просмотр.') from None + continue + raise ValidationError('Не удалось зарезервировать запуск. Повторите запрос.') + + +def queue_course_reruns(user, course_keys, settings, expected_course_ids=None): + """Reserve distinct destinations and dispatch one existing Studio task per course.""" + from cms.djangoapps.contentstore.tasks import rerun_course # pylint: disable=import-outside-toplevel + + _require_admin(user) + settings = validate_settings(settings, require_dates=True) + if expected_course_ids is not None: + if isinstance(expected_course_ids, list) and len(expected_course_ids) == len(course_keys): + expected_course_ids = dict(zip(map(str, course_keys), expected_course_ids)) + if not isinstance(expected_course_ids, dict) or set(expected_course_ids) != set(map(str, course_keys)): + raise ValidationError('Предварительный просмотр должен включать все выбранные курсы.') + if not all(isinstance(value, str) and value for value in expected_course_ids.values()): + raise ValidationError('Предварительный просмотр содержит некорректные идентификаторы.') + known, seen, results = _known_course_keys(), set(), [] + for raw_key in course_keys: + reservation = None + try: + course = _prepare_course(raw_key, settings, seen) + reservation, created = _reserve_rerun( + course, user, settings['start'].year, known, + expected=expected_course_ids[str(raw_key)] if expected_course_ids is not None else None, + ) + destination = reservation.course_key + if not created: + results.append(_result( + course.id, destination, reservation.state, + 'Этот запрос уже принят; новый запуск не создан.', reservation.pk, + )) + continue + fields = {name: value for name, value in settings.items() if name in COURSE_FIELDS} + fields.update( + display_name=course.display_name, + wiki_slug=f'{destination.org}.{destination.course}.{destination.run}', + advertised_start=None, + video_upload_pipeline={}, + ) + for name in ('enrollment_start', 'enrollment_end', 'certificate_available_date'): + fields.setdefault(name, None) + if settings.get('certificate_mode') == 'enabled': + fields['cert_html_view_enabled'] = True + result = _result(course.id, destination, 'in_progress', 'Задача поставлена в очередь.', reservation.pk) + # Enqueue only once the unique reservation is committed. With autocommit + # this executes immediately; it also remains safe under ATOMIC_REQUESTS. + + def dispatch(state=reservation, source=course.id, overrides=fields, row=result): + try: + rerun_course.delay( + str(source), str(state.course_key), user.id, + json.dumps(overrides, cls=EdxJSONEncoder), + admin_settings=json.loads(json.dumps(settings, cls=EdxJSONEncoder)), + ) + except Exception: # pylint: disable=broad-except + LOGGER.exception('Could not enqueue admin rerun for %s', state.course_key) + CourseRerunState.objects.failed(course_key=state.course_key) + row.update(state='failed', message='Не удалось отправить задачу в очередь. Проверьте Celery.') + transaction.on_commit(dispatch) + results.append(result) + except Exception as exc: # pylint: disable=broad-except + LOGGER.exception('Course admin rerun failed for %s', raw_key) + if reservation: + CourseRerunState.objects.failed(course_key=reservation.course_key) + results.append(_result( + raw_key, reservation.course_key if reservation else None, + message=_error_message(exc), state_id=reservation.pk if reservation else None, + )) + return results + + +def _ensure_mode(course_key, slug): + """Add a free mode without removing or modifying existing paid tracks.""" + CourseMode.objects.get_or_create( + course_id=course_key, mode_slug=slug, currency='usd', + defaults={'mode_display_name': 'Honor' if slug == 'honor' else 'Audit', 'min_price': 0}, + ) + + +def configure_rerun(source_key, destination_key, settings): + """Copy only course-level SQL settings after the Studio clone has completed. + +Caller wraps this and its final success state in the same SQL transaction. +The clone already carries grading, content, active certificate design and other +Studio course fields. Ecommerce identifiers belong to the source product and +must be provisioned separately for a new course run. +""" + settings = validate_settings(settings, require_dates=True) + source = _source_course(source_key) + generation_values = _generation_values(source, settings) + CourseOverview.get_from_id(destination_key) + policy = settings.get('mode', 'copy') + if policy == 'copy': + modes = list(CourseMode.objects.filter(course_id=source_key)) + for mode in modes: + values = { + field.name: getattr(mode, field.name) + for field in CourseMode._meta.concrete_fields + if field.name not in ('id', 'course', 'mode_slug', 'currency') + } + delta = settings['start'] - source.start if source.start else None + if delta and values['_expiration_datetime']: + values['_expiration_datetime'] += delta + if delta and values['expiration_date']: + values['expiration_date'] += delta + for name in ('sku', 'android_sku', 'ios_sku', 'bulk_sku'): + values[name] = None + CourseMode.objects.update_or_create( + course_id=destination_key, mode_slug=mode.mode_slug, currency=mode.currency, defaults=values, + ) + if not modes: + default = CourseMode.DEFAULT_MODE + CourseMode.objects.get_or_create( + course_id=destination_key, mode_slug=default.slug, currency=default.currency, + defaults={ + 'mode_display_name': default.name, 'min_price': default.min_price, + 'suggested_prices': default.suggested_prices, 'description': default.description, + }, + ) + else: + _ensure_mode(destination_key, policy) + create_course_certificate_generation_settings(destination_key, generation_values) + + +def shift_rerun_content_dates(source_key, destination_key, user_id, settings): + """Shift explicit section/component dates in each branch without publishing drafts. + +Use the split store's branch-local update primitive intentionally: the normal +Studio update auto-publishes chapters/sequentials, replacing published content +with draft content. The two existing branches must remain independent here. +Advanced schedules embedded in third-party XBlock JSON are not rewritten. +""" + if not settings.get('shift_content_dates', True): + return + from xmodule.modulestore.split_mongo.split import SplitMongoModuleStore # pylint: disable=import-outside-toplevel + + settings = validate_settings(settings, require_dates=True) + source = _source_course(source_key) + if not source.start: + return + delta = settings['start'] - source.start + if not delta: + return + store = modulestore()._get_modulestore_for_courselike(destination_key) # pylint: disable=protected-access + with store.bulk_operations(destination_key): + published_changed = False + for branch in (ModuleStoreEnum.BranchName.published, ModuleStoreEnum.BranchName.draft): + try: + blocks = store.get_items(destination_key.for_branch(branch)) + except ItemNotFoundError: + # A draft-only source may have no published branch. + continue + for block in blocks: + if block.category == 'course': + continue + changed = False + for name in ('start', 'due'): + field = block.fields.get(name) + if field and field.is_set_on(block) and getattr(block, name) is not None: + setattr(block, name, getattr(block, name) + delta) + changed = True + if changed: + # Drop the snapshot version so multiple updates advance this + # branch's current head instead of writing detached versions. + block.location = block.location.version_agnostic() + SplitMongoModuleStore.update_item(store, block, user_id) + published_changed = published_changed or branch == ModuleStoreEnum.BranchName.published + if published_changed: + store._flag_publish_event(destination_key) # pylint: disable=protected-access + + +def save_course_settings(user, course_keys, settings): + """Apply selected fields to each existing course; preserve unselected settings.""" + _require_admin(user) + settings = validate_settings(settings) + results, seen = [], set() + for raw_key in course_keys: + previous_fields = None + try: + course = _source_course(raw_key) + if course.id in seen: + raise ValidationError('Курс указан повторно.') + seen.add(course.id) + _settings_for_course(course, settings) + with transaction.atomic(): + CourseOverview.get_from_id(course.id) + # Serialize SQL configuration updates for this existing course. + CourseOverview.objects.select_for_update().get(id=course.id) + course = _source_course(course.id) + _settings_for_course(course, settings) + if settings.get('mode', 'copy') != 'copy': + _ensure_mode(course.id, settings['mode']) + generation_values = None + if settings.get('certificate_mode', 'copy') != 'copy': + generation_values = _generation_values(course, settings) + touched = set(settings) & COURSE_FIELDS + if settings.get('certificate_mode') == 'enabled': + touched.add('cert_html_view_enabled') + previous_fields = { + name: (course.fields[name].is_set_on(course), deepcopy(getattr(course, name))) + for name in touched + } + for name, value in settings.items(): + if name in COURSE_FIELDS: + setattr(course, name, value) + if settings.get('certificate_mode') == 'enabled': + course.cert_html_view_enabled = True + modulestore().update_item(course, user.id) + CourseOverview.load_from_module_store(course.id) + if generation_values is not None: + create_course_certificate_generation_settings(course.id, generation_values) + results.append(_result(course.id, course.id, 'saved', 'Настройки сохранены.')) + except Exception as exc: # pylint: disable=broad-except + LOGGER.exception('Course admin settings failed for %s', raw_key) + message = _error_message(exc) + if previous_fields: + # SQL rolled back above, but Mongo does not participate in its + # transaction. Restore precisely the touched fields on failure. + try: + with transaction.atomic(): + CourseOverview.objects.select_for_update().get(id=course.id) + restored = _source_course(course.id) + for name, (was_set, value) in previous_fields.items(): + if was_set: + setattr(restored, name, value) + else: + delattr(restored, name) + modulestore().update_item(restored, user.id) + CourseOverview.load_from_module_store(restored.id) + except Exception: # pylint: disable=broad-except + LOGGER.exception('Could not restore course settings for %s', raw_key) + message += ' Часть настроек могла сохраниться; проверьте курс в Studio.' + results.append(_result(raw_key, raw_key, message=message)) + return results diff --git a/cms/djangoapps/contentstore/tasks.py b/cms/djangoapps/contentstore/tasks.py index ac421cbb6642..60976e556ade 100644 --- a/cms/djangoapps/contentstore/tasks.py +++ b/cms/djangoapps/contentstore/tasks.py @@ -22,6 +22,7 @@ from django.contrib.auth import get_user_model from django.core.exceptions import SuspiciousOperation from django.core.files import File +from django.db import transaction from django.test import RequestFactory from django.utils.text import get_valid_filename from edx_django_utils.monitoring import ( @@ -130,7 +131,8 @@ def clone_instance(instance, field_values): return instance -def copy_custom_course_overview_fields(source_course_key, destination_course_key): + +def copy_custom_course_overview_fields(source_course_key, destination_course_key, raise_on_error=False): """ Copy custom CourseOverview fields from source course to rerun course. """ @@ -169,14 +171,33 @@ def copy_custom_course_overview_fields(source_course_key, destination_course_key source_course_key, destination_course_key, ) + if raise_on_error: + raise @shared_task @set_code_owner_attribute -def rerun_course(source_course_key_string, destination_course_key_string, user_id, fields=None): +def rerun_course(source_course_key_string, destination_course_key_string, user_id, fields=None, admin_settings=None): """ Reruns a course in a new celery task. """ + if admin_settings is not None: + # Celery may redeliver a task. Hold the destination reservation lock so + # concurrent deliveries cannot clone or overwrite one another's status. + with transaction.atomic(): + state = CourseRerunState.objects.select_for_update().get( + course_key=CourseKey.from_string(destination_course_key_string), action='rerun', + ) + if state.state != 'in_progress': + return state.state + return _rerun_course( + source_course_key_string, destination_course_key_string, user_id, fields, admin_settings, + ) + return _rerun_course(source_course_key_string, destination_course_key_string, user_id, fields) + + +def _rerun_course(source_course_key_string, destination_course_key_string, user_id, fields=None, admin_settings=None): + """Implementation shared by native Studio reruns and reserved admin reruns.""" # import here, at top level this import prevents the celery workers from starting up correctly from edxval.api import copy_course_videos @@ -192,36 +213,53 @@ def rerun_course(source_course_key_string, destination_course_key_string, user_i with store.default_store('split'): store.clone_course(source_course_key, destination_course_key, user_id, fields=fields) - copy_custom_course_overview_fields(source_course_key, destination_course_key) - - update_unit_discussion_state_from_discussion_blocks(destination_course_key, user_id) + if admin_settings is not None: + from cms.djangoapps.contentstore.course_admin import shift_rerun_content_dates + shift_rerun_content_dates(source_course_key, destination_course_key, user_id, admin_settings) - # set initial permissions for the user to access the course. - initialize_permissions(destination_course_key, User.objects.get(id=user_id)) + copy_custom_course_overview_fields( + source_course_key, + destination_course_key, + raise_on_error=admin_settings is not None, + ) - # update state: Succeeded - CourseRerunState.objects.succeeded(course_key=destination_course_key) + update_unit_discussion_state_from_discussion_blocks(destination_course_key, user_id) # call edxval to attach videos to the rerun copy_course_videos(source_course_key, destination_course_key) - # Copy OrganizationCourse - organization_course = OrganizationCourse.objects.filter(course_id=source_course_key_string).first() - - if organization_course: - clone_instance(organization_course, {'course_id': destination_course_key_string}) - - # Copy RestrictedCourse - restricted_course = RestrictedCourse.objects.filter(course_key=source_course_key).first() - - if restricted_course: - country_access_rules = CountryAccessRule.objects.filter(restricted_course=restricted_course) - new_restricted_course = clone_instance(restricted_course, {'course_key': destination_course_key}) - for country_access_rule in country_access_rules: - clone_instance(country_access_rule, {'restricted_course': new_restricted_course}) - - org_data = ensure_organization(source_course_key.org) - add_organization_course(org_data, destination_course_key) + # Success includes every copy and the admin workflow's SQL configuration. + # Keep SQL copies in one transaction, and apply admin configuration after + # modulestore signals so pacing handlers cannot overwrite certificate settings. + with transaction.atomic(): + # Set initial permissions for the user to access the course. + creator = User.objects.get(id=user_id) + if admin_settings is not None: + # The private bulk workflow reserves directly instead of invoking the + # single-course HTTP helper that normally grants these roles. + CourseInstructorRole(destination_course_key).add_users(creator) + CourseStaffRole(destination_course_key).add_users(creator) + initialize_permissions(destination_course_key, creator) + + # Copy OrganizationCourse + organization_course = OrganizationCourse.objects.filter(course_id=source_course_key_string).first() + if organization_course: + clone_instance(organization_course, {'course_id': destination_course_key_string}) + + # Copy RestrictedCourse + restricted_course = RestrictedCourse.objects.filter(course_key=source_course_key).first() + if restricted_course: + country_access_rules = CountryAccessRule.objects.filter(restricted_course=restricted_course) + new_restricted_course = clone_instance(restricted_course, {'course_key': destination_course_key}) + for country_access_rule in country_access_rules: + clone_instance(country_access_rule, {'restricted_course': new_restricted_course}) + + org_data = ensure_organization(source_course_key.org) + add_organization_course(org_data, destination_course_key) + if admin_settings is not None: + from cms.djangoapps.contentstore.course_admin import configure_rerun + configure_rerun(source_course_key, destination_course_key, admin_settings) + CourseRerunState.objects.succeeded(course_key=destination_course_key) return "succeeded" except DuplicateCourseError: diff --git a/cms/djangoapps/contentstore/tests/test_course_admin.py b/cms/djangoapps/contentstore/tests/test_course_admin.py new file mode 100644 index 000000000000..3320666a4ede --- /dev/null +++ b/cms/djangoapps/contentstore/tests/test_course_admin.py @@ -0,0 +1,133 @@ +"""Unit tests for the private course administration service.""" + +from contextlib import nullcontext +from datetime import datetime, timezone +from types import SimpleNamespace +from unittest.mock import Mock, patch + +from django.core.exceptions import PermissionDenied, ValidationError +from django.test import SimpleTestCase +from opaque_keys.edx.locator import CourseLocator + +from cms.djangoapps.contentstore import course_admin + + +SOURCE = CourseLocator(org='FBB', course='BNJjTSOB', run='2026_C1') + + +class CourseAdminSettingsTests(SimpleTestCase): + """The bulk API accepts only explicit, internally consistent settings.""" + + def test_dates_are_normalized_to_utc(self): + result = course_admin.validate_settings({ + 'start': '2027-01-01T09:00:00+05:00', + 'end': '2027-05-31T09:00:00+05:00', + 'self_paced': True, + 'catalog_visibility': 'about', + }, require_dates=True) + + self.assertEqual(result['start'], datetime(2027, 1, 1, 4, tzinfo=timezone.utc)) + self.assertEqual(result['end'], datetime(2027, 5, 31, 4, tzinfo=timezone.utc)) + self.assertTrue(result['self_paced']) + + def test_rejects_unknown_settings_invalid_choices_and_non_boolean_values(self): + invalid_payloads = ( + {'unexpected': 'value'}, + {'catalog_visibility': 'public'}, + {'mode': 'verified'}, + {'certificate_mode': 'yes'}, + {'self_paced': 'true'}, + ) + for payload in invalid_payloads: + with self.subTest(payload=payload), self.assertRaises(ValidationError): + course_admin.validate_settings(payload) + + def test_rejects_inconsistent_course_and_enrollment_periods(self): + invalid_payloads = ( + {'start': '2027-02-01T00:00:00Z', 'end': '2027-01-01T00:00:00Z'}, + {'enrollment_start': '2027-03-01T00:00:00Z', + 'enrollment_end': '2027-02-01T00:00:00Z'}, + {'end': '2027-03-01T00:00:00Z', 'enrollment_end': '2027-04-01T00:00:00Z'}, + ) + for payload in invalid_payloads: + with self.subTest(payload=payload), self.assertRaises(ValidationError): + course_admin.validate_settings(payload) + + def test_service_rejects_non_admin_and_inactive_staff(self): + for user in ( + SimpleNamespace(is_authenticated=False, is_active=True, is_staff=True), + SimpleNamespace(is_authenticated=True, is_active=True, is_staff=False), + SimpleNamespace(is_authenticated=True, is_active=False, is_staff=True), + ): + with self.subTest(user=user), self.assertRaises(PermissionDenied): + course_admin.preview_course_reruns(user, [], { + 'start': '2027-01-01T00:00:00Z', 'end': '2027-02-01T00:00:00Z', + }) + + +class CourseAdminRunTests(SimpleTestCase): + """Automatic run numbers work with numeric C suffixes and legacy sources.""" + + def test_next_run_uses_highest_numeric_suffix_for_year_and_family(self): + known = { + CourseLocator(org='FBB', course='BNJjTSOB', run='2027_C2'), + CourseLocator(org='fbb', course='bnjjtsob', run='2027_C10'), + CourseLocator(org='FBB', course='BNJjTSOB', run='2026_C99'), + CourseLocator(org='FBB', course='OTHER', run='2027_C50'), + CourseLocator(org='FBB', course='BNJjTSOB', run='2021-2022_C1'), + } + + result = course_admin.next_course_key(SOURCE, 2027, known) + + self.assertEqual(str(result), 'course-v1:FBB+BNJjTSOB+2027_C11') + + def test_certificate_generation_requires_an_active_studio_certificate(self): + source = SimpleNamespace(id=SOURCE, certificates={'certificates': [{'is_active': False}]}) + current = { + 'self_generation_enabled': True, + 'language_specific_templates_enabled': False, + 'include_hours_of_effort': None, + } + with patch.object(course_admin, 'get_course_certificate_generation_settings', return_value=current): + with self.assertRaises(ValidationError): + course_admin._generation_values(source, {'certificate_mode': 'copy'}) + + source.certificates['certificates'][0]['is_active'] = True + result = course_admin._generation_values(source, {'certificate_mode': 'copy'}) + + self.assertTrue(result['self_generation_enabled']) + + def test_shift_content_dates_updates_published_and_draft_branches_independently(self): + source_start = datetime(2026, 1, 1, tzinfo=timezone.utc) + published = self._block(datetime(2026, 2, 1, tzinfo=timezone.utc)) + draft = self._block(datetime(2026, 2, 3, tzinfo=timezone.utc)) + store = Mock() + store.bulk_operations.return_value = nullcontext() + store.get_items.side_effect = ([published], [draft]) + mixed_store = Mock() + mixed_store._get_modulestore_for_courselike.return_value = store + settings = { + 'start': '2027-01-01T00:00:00Z', + 'end': '2027-05-31T00:00:00Z', + 'shift_content_dates': True, + } + + with patch.object(course_admin, '_source_course', return_value=SimpleNamespace(start=source_start)), \ + patch.object(course_admin, 'modulestore', return_value=mixed_store), \ + patch('xmodule.modulestore.split_mongo.split.SplitMongoModuleStore.update_item') as update: + course_admin.shift_rerun_content_dates(SOURCE, SOURCE, 7, settings) + + self.assertEqual(published.start, datetime(2027, 2, 1, tzinfo=timezone.utc)) + self.assertEqual(draft.start, datetime(2027, 2, 3, tzinfo=timezone.utc)) + self.assertEqual(update.call_count, 2) + store._flag_publish_event.assert_called_once_with(SOURCE) + + @staticmethod + def _block(start): + date_field = Mock() + date_field.is_set_on.return_value = True + location = Mock() + location.version_agnostic.return_value = location + return SimpleNamespace( + category='chapter', fields={'start': date_field}, start=start, location=location, + ) diff --git a/cms/djangoapps/contentstore/views/course_admin.py b/cms/djangoapps/contentstore/views/course_admin.py new file mode 100644 index 000000000000..03b3724fe59d --- /dev/null +++ b/cms/djangoapps/contentstore/views/course_admin.py @@ -0,0 +1,285 @@ +"""Private Studio console for global administrators managing course runs.""" + +import json +import logging +import re +from datetime import timezone +from functools import wraps + +from django.conf import settings +from django.core import signing +from django.core.exceptions import ValidationError +from django.core.paginator import Paginator +from django.http import JsonResponse +from django.middleware.csrf import get_token +from django.urls import reverse +from django.views.decorators.cache import never_cache +from django.views.decorators.csrf import csrf_protect, ensure_csrf_cookie +from django.views.decorators.http import require_GET, require_POST +from opaque_keys import InvalidKeyError +from opaque_keys.edx.keys import CourseKey +from opaque_keys.edx.locator import CourseLocator + +from cms.djangoapps.contentstore import course_admin as service +from cms.djangoapps.contentstore.utils import get_schedule_details_url +from common.djangoapps.course_action_state.models import CourseRerunState +from common.djangoapps.course_modes.models import CourseMode +from common.djangoapps.edxmako.shortcuts import render_to_response +from common.djangoapps.student.roles import GlobalStaff +from lms.djangoapps.certificates.api import get_self_generation_enabled_for_courses +from openedx.core.djangoapps.content.course_overviews.models import CourseOverview +from xmodule.modulestore.django import modulestore + + +LOG = logging.getLogger(__name__) +PREVIEW_SALT = 'studio.course-admin.preview.v1' +RUN_PATTERN = re.compile(r'^(\d{4})_C([1-9]\d*)$', re.IGNORECASE) + + +def admin_required(view): + """Check every endpoint, including reads, independently of navigation.""" + @wraps(view) + def wrapped(request, *args, **kwargs): + if not (request.user.is_authenticated and request.user.is_active and GlobalStaff().has_user(request.user)): + return JsonResponse({'error': 'Доступ разрешён только администраторам платформы.'}, status=403) + return view(request, *args, **kwargs) + return wrapped + + +def parse_filters(values): + """Accept bounded, literal filters from either a query string or JSON.""" + if not isinstance(values, dict) and not hasattr(values, 'getlist'): + raise ValueError('Некорректные фильтры.') + result = {} + for field in ('q', 'org', 'run', 'year'): + value = values.get(field, '') + if not isinstance(value, str) or len(value) > 255: + raise ValueError('Некорректное значение фильтра.') + result[field] = value.strip() + if result['year'] and not re.fullmatch(r'[1-9]\d{3}', result['year']): + raise ValueError('Год должен состоять из четырёх цифр.') + latest = values.get('latest', True) + if latest not in (True, False, '1', '0', 'true', 'false', 'on', ''): + raise ValueError('Некорректный фильтр последнего запуска.') + result['latest'] = latest in (True, '1', 'true', 'on') + return result + + +def filter_courses(courses, filters): + """Filter arbitrary legacy runs, then select the latest matching family run.""" + selected = [] + for course in courses: + key = course['key'] + if filters['org'] and filters['org'].casefold() != key.org.casefold(): + continue + if filters['run'] and filters['run'].casefold() != key.run.casefold(): + continue + if filters['year'] and not key.run.startswith(filters['year']): + continue + searchable = f"{key} {course['name']} {course.get('faculty') or ''}".casefold() + if filters['q'] and filters['q'].casefold() not in searchable: + continue + selected.append(course) + if filters['latest']: + families = {} + for course in selected: + key = course['key'] + family = (key.org.casefold(), key.course.casefold()) + previous = families.get(family) + if previous is None or _run_order(course) > _run_order(previous): + families[family] = course + selected = list(families.values()) + return sorted(selected, key=lambda course: (course['name'].casefold(), str(course['key']))) + + +def _run_order(course): + """Compare C10 numerically; legacy runs fall back to their course start.""" + match = RUN_PATTERN.fullmatch(course['key'].run) + start = course.get('start') + year = int(match[1]) if match else (start.year if start else 0) + sequence = int(match[2]) if match else 0 + return year, sequence, str(start or ''), course['key'].run + + +def _courses(): + """Use Studio's inventory, including drafts absent from the SQL overview cache.""" + overviews = {str(course.id): course for course in CourseOverview.objects.all()} + courses = [] + for summary in modulestore().get_course_summaries(): + key = summary.id + # Native reruns require split course keys; libraries/CCX are not courses to clone here. + if type(key) is not CourseLocator or key.deprecated: # pylint: disable=unidiomatic-typecheck + continue + overview = overviews.get(str(key)) + courses.append({ + 'key': key, + 'name': summary.display_name or str(key), + 'start': getattr(overview, 'start', None), + 'end': getattr(overview, 'end', None), + 'enrollment_start': getattr(overview, 'enrollment_start', None), + 'enrollment_end': getattr(overview, 'enrollment_end', None), + 'visibility': getattr(overview, 'catalog_visibility', None), + 'faculty': getattr(overview, 'faculty', ''), + 'self_paced': getattr(overview, 'self_paced', False), + 'invitation_only': getattr(overview, 'invitation_only', False), + 'certificate_available_date': getattr(overview, 'certificate_available_date', None), + }) + return courses + + +def _display_course(course, modes, generation): + row = dict(course) + key = row.pop('key') + row.update(id=str(key), org=key.org, run=key.run) + row['mode_labels'] = ', '.join(modes.get(str(key), [])) or f'{CourseMode.DEFAULT_MODE_SLUG} (по умолчанию)' + row['certificate_generation'] = 'Включена' if generation.get(str(key)) else 'Выключена' + row['self_paced_label'] = 'В своём темпе' if row.pop('self_paced') else 'По расписанию преподавателя' + row['invitation_only_label'] = 'Запись только по приглашению' if row.pop('invitation_only') else 'Открытая запись' + for field in ('start', 'end', 'enrollment_start', 'enrollment_end', 'certificate_available_date'): + value = row[field] + row[field] = value.astimezone(timezone.utc).strftime('%Y-%m-%d %H:%M') if value else '' + row['details_url'] = get_schedule_details_url(key) or reverse( + 'settings_handler', kwargs={'course_key_string': str(key)}, + ) + return row + + +def _state_result(state): + return { + 'source_course_id': str(state.source_course_key), + 'course_id': str(state.course_key), + 'state': state.state, + 'message': ('Перезапуск завершён.' if state.state == 'succeeded' else + 'Ошибка перезапуска. Подробности доступны в журнале CMS worker.' if state.state == 'failed' else + 'Курс создаётся в фоновой задаче.'), + } + + +@never_cache +@admin_required +@ensure_csrf_cookie +@require_GET +def course_admin_page(request): + """Render a direct-link-only management console, without adding any menu entry.""" + try: + filters = parse_filters(request.GET) + except ValueError as exc: + return JsonResponse({'error': str(exc)}, status=400) + courses = filter_courses(_courses(), filters) + page = Paginator(courses, 50).get_page(request.GET.get('page', 1)) + page_keys = [course['key'] for course in page.object_list] + modes = {} + for mode in CourseMode.objects.filter(course_id__in=page_keys).order_by('mode_slug', 'currency'): + modes.setdefault(str(mode.course_id), []).append(f'{mode.mode_slug} ({mode.currency})') + generation = get_self_generation_enabled_for_courses(page_keys) + recent = CourseRerunState.objects.find_all(created_user=request.user).order_by('-created_time')[:50] + return render_to_response('course-admin.html', { + 'courses': [_display_course(course, modes, generation) for course in page.object_list], + 'course_filters': filters, + 'page': page.number, + 'num_pages': page.paginator.num_pages, + 'total': page.paginator.count, + 'endpoint_url': reverse('course_admin_action'), + 'status_url': reverse('course_admin_status'), + 'initial_results': [_state_result(state) for state in recent], + 'timezone_label': 'UTC (Казахстан: UTC+5)', + 'csrf_token': get_token(request), + }) + + +def _selected_keys(payload): + all_matching = payload.get('all_matching', False) + if not isinstance(all_matching, bool): + raise ValueError('Некорректный способ выбора курсов.') + if all_matching: + keys = [course['key'] for course in filter_courses(_courses(), parse_filters(payload.get('filters', {})))] + else: + identifiers = payload.get('course_ids', []) + if not isinstance(identifiers, list) or not all(isinstance(value, str) for value in identifiers): + raise ValueError('Передайте список идентификаторов курсов.') + keys = [] + for identifier in dict.fromkeys(identifiers): + key = CourseKey.from_string(identifier) + if (type(key) is not CourseLocator or key.deprecated or key.branch # pylint: disable=unidiomatic-typecheck + or key.version_guid): + raise ValueError('Поддерживаются только обычные курсы Studio с идентификатором course-v1.') + keys.append(key) + limit = getattr(settings, 'COURSE_ADMIN_MAX_BATCH_SIZE', 1000) + if not keys or len(keys) > limit: + raise ValueError(f'Выберите от 1 до {limit} курсов. Уточните фильтры для большой выборки.') + return keys + + +@never_cache +@admin_required +@require_POST +@csrf_protect +def course_admin_action(request): + """Validate a complete batch before dispatch; report operational failures per course.""" + try: + payload = json.loads(request.body) + if not isinstance(payload, dict): + raise ValueError('Ожидается JSON-объект.') + action = payload.get('action') + if action not in ('preview', 'rerun', 'save'): + raise ValueError('Неизвестное действие.') + raw_settings = payload.get('settings', {}) + if not isinstance(raw_settings, dict): + raise ValueError('Некорректные настройки.') + normalized = service.validate_settings(raw_settings, require_dates=action != 'save') + keys = _selected_keys(payload) + if action == 'preview': + results = service.preview_course_reruns(request.user, keys, normalized) + targets = {row['source_course_id']: row['course_id'] for row in results if row['state'] == 'preview'} + token = signing.dumps({ + 'user_id': request.user.pk, 'course_ids': [str(key) for key in keys], + 'settings': raw_settings, 'targets': targets, + }, salt=PREVIEW_SALT, compress=True) + return JsonResponse({'results': results, 'preview_token': token}) + if action == 'rerun': + token = payload.get('preview_token') + if not isinstance(token, str): + raise ValueError('Сначала выполните предварительный просмотр перезапуска.') + preview = signing.loads(token, salt=PREVIEW_SALT, max_age=3600) + if (preview['user_id'] != request.user.pk or preview['settings'] != raw_settings + or set(preview['course_ids']) != {str(key) for key in keys} + or set(preview['targets']) != {str(key) for key in keys}): + raise ValueError('Выбор курсов или настройки изменились. Повторите предварительный просмотр.') + results = service.queue_course_reruns(request.user, keys, normalized, + expected_course_ids=preview['targets']) + else: + if not normalized: + raise ValueError('Выберите хотя бы одну настройку для сохранения.') + results = service.save_course_settings(request.user, keys, normalized) + LOG.info('Course admin action=%s user=%s courses=%s settings=%s results=%s', action, request.user.pk, + [str(key) for key in keys], normalized, + [(row['course_id'], row['state']) for row in results]) + return JsonResponse({'results': results}) + except (signing.BadSignature, KeyError): + return JsonResponse({ + 'error': 'Предварительный просмотр истёк или недействителен. Выполните его снова.', + }, status=400) + except (ValueError, TypeError, InvalidKeyError, ValidationError) as exc: + message = '; '.join(exc.messages) if isinstance(exc, ValidationError) else str(exc) + return JsonResponse({'error': message}, status=400) + + +@never_cache +@admin_required +@require_GET +def course_admin_status(request): + """Fetch durable rerun results without relying on the Celery result backend.""" + try: + identifiers = request.GET.get('course_ids', '').split(',') + if not 1 <= len(identifiers) <= 50: + raise ValueError('Запрашивайте от 1 до 50 статусов за один запрос.') + keys = [CourseKey.from_string(identifier) for identifier in identifiers] + except (ValueError, InvalidKeyError) as exc: + return JsonResponse({'error': str(exc)}, status=400) + states = {str(state.course_key): state for state in CourseRerunState.objects.find_all(course_key__in=keys)} + return JsonResponse({'results': [ + _state_result(states[str(key)]) if str(key) in states else { + 'source_course_id': '', 'course_id': str(key), 'state': 'unknown', + 'message': 'Запись о перезапуске не найдена. Обновите страницу.', + } for key in keys + ]}) diff --git a/cms/djangoapps/contentstore/views/tests/test_course_admin.py b/cms/djangoapps/contentstore/views/tests/test_course_admin.py new file mode 100644 index 000000000000..a711fc73f609 --- /dev/null +++ b/cms/djangoapps/contentstore/views/tests/test_course_admin.py @@ -0,0 +1,322 @@ +"""HTTP authorization, signed previews and selection rules for the private course console.""" + +import json +from datetime import datetime, timezone +from types import SimpleNamespace +from unittest.mock import patch + +from django.conf import settings +from django.core import signing +from django.core.exceptions import ValidationError +from django.http import HttpResponse +from django.middleware.csrf import get_token +from django.test import RequestFactory, SimpleTestCase, override_settings +from opaque_keys.edx.locator import CourseLocator + +from cms.djangoapps.contentstore.views import course_admin as views + + +SOURCE = 'course-v1:FBB+BNJjTSOB+2026_C1' +TARGET = 'course-v1:FBB+BNJjTSOB+2026_C2' +OTHER = 'course-v1:FBB+OTHER+2026_C1' +DATES = {'start': '2026-09-01T00:00:00Z', 'end': '2026-12-31T00:00:00Z'} + + +def course(run='2026_C1', org='FBB', number='BNJjTSOB', name='Biotechnology', start=None): + """Create an inventory row without a database or a Mongo course.""" + return { + 'key': CourseLocator(org=org, course=number, run=run), 'name': name, + 'start': start, 'end': None, 'enrollment_start': None, 'enrollment_end': None, + 'faculty': 'Biology', 'visibility': 'both', + } + + +@override_settings(COURSE_ADMIN_MAX_BATCH_SIZE=500) +class CourseAdminViewTests(SimpleTestCase): + """Exercise real Django decorators, requests and signatures with service boundaries mocked.""" + + def setUp(self): + super().setUp() + self.factory = RequestFactory() + self.user = SimpleNamespace(pk=10, id=10, is_authenticated=True, is_active=True, is_staff=True) + self.source = CourseLocator.from_string(SOURCE) + self.preview_rows = [{ + 'source_course_id': SOURCE, 'course_id': TARGET, 'state': 'preview', 'message': 'Ready', + }] + self.inventory = self.enterContext(patch.object(views, '_courses', return_value=[course()])) + self.validate = self.enterContext(patch.object( + views.service, 'validate_settings', side_effect=lambda values, **kwargs: dict(values), + )) + self.preview = self.enterContext(patch.object( + views.service, 'preview_course_reruns', return_value=self.preview_rows, + )) + self.queue = self.enterContext(patch.object(views.service, 'queue_course_reruns', return_value=[])) + self.save = self.enterContext(patch.object(views.service, 'save_course_settings', return_value=[])) + self.states = self.enterContext(patch.object(views.CourseRerunState, 'objects')) + self.modes = self.enterContext(patch.object(views.CourseMode, 'objects')) + self.modes.filter.return_value.order_by.return_value = [] + self.generation = self.enterContext(patch.object( + views, 'get_self_generation_enabled_for_courses', return_value={}, + )) + + def request(self, method='post', payload=None, user=None, csrf=True, **extra): + """Build a request with a real, matched CSRF cookie and masked header token.""" + if method == 'post': + request = self.factory.post('/course-admin/action/', json.dumps(payload), + content_type='application/json', **extra) + else: + request = getattr(self.factory, method)('/course-admin/', payload or {}, **extra) + request.user = user or self.user + if csrf: + token = get_token(request) + request.COOKIES[settings.CSRF_COOKIE_NAME] = request.META['CSRF_COOKIE'] + request.META['HTTP_X_CSRFTOKEN'] = token + return request + + def action(self, action='preview', **values): + payload = {'action': action, 'course_ids': [SOURCE], 'settings': dict(DATES)} + payload.update(values) + return views.course_admin_action(self.request(payload=payload)) + + @staticmethod + def body(response): + return json.loads(response.content) + + def token(self, **changes): + data = {'user_id': self.user.pk, 'course_ids': [SOURCE], 'settings': dict(DATES), + 'targets': {SOURCE: TARGET}} + data.update(changes) + return signing.dumps(data, salt=views.PREVIEW_SALT) + + def test_every_endpoint_rejects_anonymous_nonstaff_and_inactive_admins(self): + for endpoint in (views.course_admin_page, views.course_admin_action, views.course_admin_status): + for overrides in ({'is_authenticated': False}, {'is_staff': False}, {'is_active': False}): + with self.subTest(endpoint=endpoint.__name__, user=overrides): + user = SimpleNamespace(**(vars(self.user) | overrides)) + response = endpoint(self.request(payload={}, user=user, csrf=False)) + self.assertEqual(response.status_code, 403) + self.assertIn('no-store', response['Cache-Control']) + self.inventory.assert_not_called() + self.validate.assert_not_called() + self.preview.assert_not_called() + self.queue.assert_not_called() + self.save.assert_not_called() + self.states.find_all.assert_not_called() + + def test_read_endpoints_reject_post_and_write_endpoint_rejects_get(self): + for endpoint in (views.course_admin_page, views.course_admin_status): + with self.subTest(endpoint=endpoint.__name__): + self.assertEqual(endpoint(self.request(payload={})).status_code, 405) + self.assertEqual(views.course_admin_action(self.request(method='get')).status_code, 405) + self.validate.assert_not_called() + + def test_action_requires_csrf_for_each_operation(self): + for operation in ('preview', 'rerun', 'save'): + with self.subTest(operation=operation): + request = self.request(payload={'action': operation}, csrf=False) + self.assertEqual(views.course_admin_action(request).status_code, 403) + self.validate.assert_not_called() + + def test_action_rejects_wrong_csrf_and_untrusted_origin(self): + request = self.request(payload={'action': 'save'}) + request.META['HTTP_X_CSRFTOKEN'] = 'x' * 64 + self.assertEqual(views.course_admin_action(request).status_code, 403) + request = self.request(payload={'action': 'save'}, HTTP_ORIGIN='https://untrusted.example') + self.assertEqual(views.course_admin_action(request).status_code, 403) + self.validate.assert_not_called() + + def test_preview_is_read_only_and_signs_exact_selection_settings_and_targets(self): + response = self.action() + self.assertEqual(response.status_code, 200) + body = self.body(response) + self.assertEqual(body['results'], self.preview_rows) + decoded = signing.loads(body['preview_token'], salt=views.PREVIEW_SALT) + self.assertEqual(decoded, {'user_id': self.user.pk, 'course_ids': [SOURCE], + 'settings': DATES, 'targets': {SOURCE: TARGET}}) + self.preview.assert_called_once_with(self.user, [self.source], DATES) + self.validate.assert_called_once_with(DATES, require_dates=True) + self.queue.assert_not_called() + self.save.assert_not_called() + self.assertIn('no-store', response['Cache-Control']) + + def test_rerun_forwards_preview_mapping_and_repeated_token_unchanged(self): + token = self.body(self.action())['preview_token'] + for _ in range(2): + self.assertEqual(self.action('rerun', preview_token=token).status_code, 200) + self.assertEqual(self.queue.call_count, 2) + for call in self.queue.call_args_list: + self.assertEqual(call.args, (self.user, [self.source], DATES)) + self.assertEqual(call.kwargs, {'expected_course_ids': {SOURCE: TARGET}}) + # The service owns reservation idempotency; the HTTP layer must not recompute a new target. + self.assertEqual(self.preview.call_count, 1) + + def test_rerun_rejects_missing_corrupted_and_expired_tokens(self): + with patch('django.core.signing.time.time', return_value=1000): + expired = self.token() + for token in (None, '', 'corrupt', self.token() + 'x', expired): + with self.subTest(token=token): + self.assertEqual(self.action('rerun', preview_token=token).status_code, 400) + self.queue.assert_not_called() + + def test_rerun_rejects_cross_user_changed_settings_changed_ids_and_partial_preview(self): + variants = ( + {'user_id': 20}, {'settings': dict(DATES, catalog_visibility='none')}, + {'course_ids': [OTHER]}, {'targets': {}}, {'targets': {SOURCE: TARGET, OTHER: OTHER}}, + ) + for changes in variants: + with self.subTest(changes=changes): + response = self.action('rerun', preview_token=self.token(**changes)) + self.assertEqual(response.status_code, 400) + self.queue.assert_not_called() + + def test_preview_with_one_failed_course_cannot_be_submitted_as_a_complete_batch(self): + self.preview.return_value = self.preview_rows + [{ + 'source_course_id': OTHER, 'course_id': None, 'state': 'failed', 'message': 'Missing', + }] + ids = [SOURCE, OTHER] + response = self.action(course_ids=ids) + self.assertEqual(response.status_code, 200) + response = self.action('rerun', course_ids=ids, preview_token=self.body(response)['preview_token']) + self.assertEqual(response.status_code, 400) + self.queue.assert_not_called() + + def test_explicit_selection_deduplicates_ids_and_preserves_order(self): + self.assertEqual(self.action(course_ids=[SOURCE, OTHER, SOURCE]).status_code, 200) + self.assertEqual(self.preview.call_args.args[1], [self.source, CourseLocator.from_string(OTHER)]) + + def test_all_matching_selects_server_inventory_beyond_one_display_page(self): + self.inventory.return_value = [course(number=f'course{index}') for index in range(60)] + response = self.action(all_matching=True, filters={'latest': False}, course_ids=[OTHER]) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(self.preview.call_args.args[1]), 60) + self.assertNotIn(CourseLocator.from_string(OTHER), self.preview.call_args.args[1]) + + def test_changed_all_matching_inventory_invalidates_preview(self): + token = self.body(self.action(all_matching=True, filters={}))['preview_token'] + self.inventory.return_value.append(course(number='NEW')) + response = self.action('rerun', all_matching=True, filters={}, preview_token=token) + self.assertEqual(response.status_code, 400) + self.queue.assert_not_called() + + @override_settings(COURSE_ADMIN_MAX_BATCH_SIZE=1) + def test_empty_and_oversized_selections_rejected_before_service_action(self): + for identifiers in ([], [SOURCE, OTHER]): + with self.subTest(identifiers=identifiers): + self.assertEqual(self.action(course_ids=identifiers).status_code, 400) + self.inventory.return_value = [course(), course(number='OTHER')] + self.assertEqual(self.action(all_matching=True).status_code, 400) + self.preview.assert_not_called() + + def test_malformed_payload_settings_filters_and_identifiers_rejected(self): + variants = ( + {'action': 'delete'}, {'settings': []}, {'course_ids': SOURCE}, {'course_ids': [1]}, + {'course_ids': ['not-a-course']}, {'course_ids': ['FBB/BNJjTSOB/2026_C1']}, + {'course_ids': ['library-v1:FBB+LIB']}, {'all_matching': 'true'}, + {'all_matching': True, 'filters': []}, {'all_matching': True, 'filters': {'year': '26'}}, + ) + for values in variants: + with self.subTest(values=values): + self.assertEqual(self.action(**values).status_code, 400) + request = self.factory.post('/course-admin/action/', '{', content_type='application/json') + request.user = self.user + request._dont_enforce_csrf_checks = True # Test JSON decoding independently of CSRF tests above. + self.assertEqual(views.course_admin_action(request).status_code, 400) + self.assertEqual(views.course_admin_action(self.request(payload=[])).status_code, 400) + self.preview.assert_not_called() + self.queue.assert_not_called() + self.save.assert_not_called() + + def test_service_settings_validation_errors_return_400_without_mutation(self): + self.validate.side_effect = ValidationError(['Invalid start date', 'Invalid visibility']) + response = self.action('save', settings={'start': 'bad', 'catalog_visibility': 'public'}) + self.assertEqual(response.status_code, 400) + self.assertIn('Invalid start date', self.body(response)['error']) + self.save.assert_not_called() + + def test_save_accepts_partial_settings_without_preview_and_rejects_empty_settings(self): + response = self.action('save', settings={'catalog_visibility': 'none'}) + self.assertEqual(response.status_code, 200) + self.validate.assert_called_with({'catalog_visibility': 'none'}, require_dates=False) + self.save.assert_called_once_with(self.user, [self.source], {'catalog_visibility': 'none'}) + self.assertEqual(self.action('save', settings={}).status_code, 400) + self.assertEqual(self.save.call_count, 1) + self.queue.assert_not_called() + + def test_page_paginates_and_sets_csrf_cookie(self): + self.inventory.return_value = [course(number=f'course{index}') for index in range(60)] + self.states.find_all.return_value.order_by.return_value = [] + with patch.object(views, 'render_to_response', return_value=HttpResponse('console')) as render, \ + patch.object(views, '_display_course', side_effect=lambda row, modes, generation: { + 'id': str(row['key']), + }), \ + patch.object(views, 'reverse', return_value='/endpoint/'): + response = views.course_admin_page(self.request(method='get', payload={'page': '2'})) + self.assertEqual(response.status_code, 200) + context = render.call_args.args[1] + self.assertEqual((context['total'], context['num_pages'], context['page']), (60, 2, 2)) + self.assertEqual(len(context['courses']), 10) + self.assertIn(settings.CSRF_COOKIE_NAME, response.cookies) + self.assertTrue(context['csrf_token']) + + def test_page_rejects_invalid_filters_before_inventory_read(self): + response = views.course_admin_page(self.request(method='get', payload={'year': 'bad'})) + self.assertEqual(response.status_code, 400) + self.inventory.assert_not_called() + + def test_status_returns_persisted_state_and_unknown_without_task_backend(self): + state = SimpleNamespace(source_course_key=self.source, course_key=CourseLocator.from_string(TARGET), + state='failed') + self.states.find_all.return_value = [state] + response = views.course_admin_status(self.request( + method='get', payload={'course_ids': ','.join((TARGET, OTHER))}, + )) + self.assertEqual(response.status_code, 200) + rows = self.body(response)['results'] + self.assertEqual([(row['course_id'], row['state']) for row in rows], [(TARGET, 'failed'), (OTHER, 'unknown')]) + self.queue.assert_not_called() + self.states.find_all.assert_called_once_with( + course_key__in=[CourseLocator.from_string(TARGET), CourseLocator.from_string(OTHER)], + ) + + def test_status_rejects_missing_invalid_and_oversized_ids(self): + for value in ('', 'invalid', ','.join([SOURCE] * 51)): + with self.subTest(value=value): + response = views.course_admin_status(self.request(method='get', payload={'course_ids': value})) + self.assertEqual(response.status_code, 400) + self.states.find_all.assert_not_called() + + +class CourseAdminFilterTests(SimpleTestCase): + """Selection preserves course families and supports historical run identifiers.""" + + def test_latest_compares_numeric_run_and_keeps_organizations_separate(self): + rows = [course('2026_C2'), course('2026_C10'), course('2025_C20'), course('2026_C1', org='kaznu')] + result = views.filter_courses(rows, views.parse_filters({})) + self.assertEqual({str(row['key']) for row in result}, { + 'course-v1:FBB+BNJjTSOB+2026_C10', 'course-v1:kaznu+BNJjTSOB+2026_C1', + }) + + def test_legacy_runs_remain_selectable_and_use_start_for_latest(self): + rows = [course('C3', start=datetime(2021, 10, 1, tzinfo=timezone.utc)), + course('2022-2023_C1', start=datetime(2022, 11, 7, tzinfo=timezone.utc)), + course('2021C2', start=datetime(2021, 1, 25, tzinfo=timezone.utc))] + selected = views.filter_courses(rows, views.parse_filters({})) + self.assertEqual(selected[0]['key'].run, '2022-2023_C1') + selected = views.filter_courses(rows, views.parse_filters({'run': 'C3'})) + self.assertEqual(selected[0]['key'].run, 'C3') + self.assertEqual(len(views.filter_courses(rows, views.parse_filters({'latest': False}))), 3) + + def test_filters_apply_before_latest_and_match_literals_case_insensitively(self): + rows = [course('2025_C1'), course('2026_C1'), course('2025_C2', org='OTHER')] + selected = views.filter_courses(rows, views.parse_filters({'year': '2025', 'org': 'fbb', 'q': 'biology'})) + self.assertEqual([str(row['key']) for row in selected], ['course-v1:FBB+BNJjTSOB+2025_C1']) + self.assertEqual(views.filter_courses(rows, views.parse_filters({'q': '.*'})), []) + + def test_filter_validation_bounds_and_normalization(self): + for values in ([], {'q': ['x']}, {'q': 'x' * 256}, {'org': None}, {'year': '0000'}, + {'year': '20266'}, {'latest': 'yes'}): + with self.subTest(values=values), self.assertRaises(ValueError): + views.parse_filters(values) + normalized = views.parse_filters({'q': ' Biology ', 'latest': 'false'}) + self.assertEqual(normalized['q'], 'Biology') + self.assertFalse(normalized['latest']) diff --git a/cms/static/js/course_admin.js b/cms/static/js/course_admin.js new file mode 100644 index 000000000000..20a22b79eb3f --- /dev/null +++ b/cms/static/js/course_admin.js @@ -0,0 +1,373 @@ +/* global fetch */ +(function() { + 'use strict'; + + var root = document.getElementById('course-admin'); + if (!root) { + return; + } + + var settingsForm = document.getElementById('course-settings'); + var courseCheckboxes = Array.from(root.querySelectorAll('input[name="course_ids"]')); + var selectPage = document.getElementById('select-page'); + var allMatching = document.getElementById('all-matching'); + var previewButton = document.getElementById('preview-rerun'); + var rerunButton = document.getElementById('rerun-courses'); + var saveButton = document.getElementById('save-settings'); + var actionMessage = document.getElementById('action-message'); + var pollMessage = document.getElementById('poll-message'); + var resultBody = document.getElementById('operation-results'); + var results = new Map(); + var appliedFilters = JSON.parse(root.dataset.filters); + var total = Number(root.dataset.total); + var busy = false; + var previewSignature = null; + var previewTargets = null; + var previewToken = null; + var pollTimer = null; + var polling = false; + var pollDelay = 3000; + var stateLabels = { + preview: 'Проверено', + queued: 'В очереди', + in_progress: 'Создаётся', + succeeded: 'Готово', + failed: 'Ошибка', + saved: 'Сохранено' + }; + + function selectedIds() { + return courseCheckboxes.filter(function(input) { return input.checked; }) + .map(function(input) { return input.value; }); + } + + function selectedCount() { + return allMatching.checked ? total : selectedIds().length; + } + + function notify(message, kind) { + actionMessage.textContent = message; + actionMessage.className = 'notice' + (kind ? ' ' + kind : ''); + actionMessage.hidden = !message; + } + + function updateControls() { + var count = selectedCount(); + var selectedOnPage = selectedIds().length; + document.getElementById('selection-count').textContent = 'Выбрано: ' + count; + selectPage.checked = allMatching.checked || (courseCheckboxes.length > 0 && selectedOnPage === courseCheckboxes.length); + selectPage.indeterminate = !allMatching.checked && selectedOnPage > 0 && selectedOnPage < courseCheckboxes.length; + selectPage.disabled = busy || allMatching.checked || !courseCheckboxes.length; + allMatching.disabled = busy || !total; + courseCheckboxes.forEach(function(input) { input.disabled = busy || allMatching.checked; }); + previewButton.disabled = busy || !count; + saveButton.disabled = busy || !count; + rerunButton.disabled = busy || !count || !previewSignature; + Array.from(settingsForm.elements).forEach(function(input) { + if (input.tagName !== 'BUTTON' && input.type !== 'hidden') { + var clearInput = settingsForm.elements.namedItem('clear_' + input.name); + input.disabled = busy || Boolean(clearInput && clearInput.checked); + } + }); + root.setAttribute('aria-busy', busy ? 'true' : 'false'); + } + + function invalidatePreview() { + previewSignature = null; + previewTargets = null; + previewToken = null; + document.getElementById('preview-hint').textContent = 'Сначала выберите курсы и проверьте новые ID. После изменения настроек проверку нужно повторить.'; + updateControls(); + } + + function collectPayload(action) { + var settings = {}; + ['start', 'end', 'enrollment_start', 'enrollment_end', 'certificate_available_date'].forEach(function(name) { + var input = settingsForm.elements.namedItem(name); + var clearInput = settingsForm.elements.namedItem('clear_' + name); + if (clearInput && clearInput.checked) { + settings[name] = null; + } else if (input.value) { + // datetime-local has no zone. This form explicitly collects UTC, independent of the browser zone. + var date = new Date(input.value + 'Z'); + if (Number.isNaN(date.getTime())) { + throw new Error('Проверьте дату: ' + name + '.'); + } + settings[name] = date.toISOString(); + } + }); + ['catalog_visibility', 'mode', 'certificate_mode', 'self_paced', 'invitation_only'].forEach(function(name) { + var value = settingsForm.elements.namedItem(name).value; + if (value !== '') { + settings[name] = name === 'self_paced' || name === 'invitation_only' ? value === 'true' : value; + } + }); + if (action !== 'save') { + if (!settings.start || !settings.end) { + throw new Error('Для нового запуска заполните начало и конец курса в UTC.'); + } + settings.mode = settings.mode || 'copy'; + settings.certificate_mode = settings.certificate_mode || 'copy'; + settings.shift_content_dates = settingsForm.elements.namedItem('shift_content_dates').checked; + } else if (!Object.keys(settings).length) { + throw new Error('Заполните хотя бы одно поле или выберите настройку для изменения.'); + } + if (settings.start && settings.end && settings.start >= settings.end) { + throw new Error('Конец курса должен быть позже начала.'); + } + if (settings.enrollment_start && settings.enrollment_end && settings.enrollment_start >= settings.enrollment_end) { + throw new Error('Конец записи должен быть позже начала записи.'); + } + if (!selectedCount()) { + throw new Error('Выберите хотя бы один курс.'); + } + return { + action: action, + course_ids: allMatching.checked ? [] : selectedIds(), + all_matching: allMatching.checked, + filters: appliedFilters, + settings: settings + }; + } + + function signature(payload) { + return JSON.stringify({ + course_ids: payload.course_ids, + all_matching: payload.all_matching, + filters: payload.filters, + settings: payload.settings + }); + } + + async function readResponse(response) { + var body; + try { + body = await response.json(); + } catch (error) { + throw new Error('Сервер вернул неожиданный ответ. Проверьте авторизацию и обновите страницу.'); + } + if (!response.ok) { + var detail = body.error || body.message; + if (typeof detail !== 'string') { + detail = 'Запрос не выполнен (HTTP ' + response.status + ').'; + } + var requestError = new Error(detail); + requestError.status = response.status; + requestError.results = body.results; + throw requestError; + } + if (!Array.isArray(body.results)) { + throw new Error('В ответе сервера отсутствует список результатов. Обновите страницу для проверки операций.'); + } + return body; + } + + function renderResults() { + resultBody.replaceChildren(); + var counts = {}; + results.forEach(function(result) { + var row = document.createElement('tr'); + [result.source_course_id, result.course_id].forEach(function(id) { + var cell = document.createElement('td'); + cell.className = 'result-id'; + var code = document.createElement('code'); + code.textContent = id || '—'; + cell.appendChild(code); + row.appendChild(cell); + }); + var stateCell = document.createElement('td'); + var state = document.createElement('span'); + var knownState = Object.prototype.hasOwnProperty.call(stateLabels, result.state); + state.className = 'status' + (knownState ? ' status-' + result.state : ''); + state.textContent = knownState ? stateLabels[result.state] : (result.state || 'Неизвестно'); + stateCell.appendChild(state); + row.appendChild(stateCell); + var message = document.createElement('td'); + message.className = 'result-message'; + message.textContent = result.message || ''; + row.appendChild(message); + resultBody.appendChild(row); + counts[result.state] = (counts[result.state] || 0) + 1; + }); + document.getElementById('results-panel').hidden = !results.size; + document.getElementById('results-summary').textContent = Object.keys(stateLabels) + .filter(function(state) { return counts[state]; }) + .map(function(state) { return stateLabels[state] + ': ' + counts[state]; }).join(' · '); + } + + function mergeResults(newResults, isPreview) { + if (isPreview) { + results.forEach(function(result, key) { + if (result.state === 'preview') { + results.delete(key); + } + }); + } + (newResults || []).forEach(function(result) { + // A status lookup may return an unknown destination without its source. + // Reuse the source from the pending row so the update replaces it and + // polling does not continue forever under a second map key. + if (!result.source_course_id && result.course_id) { + results.forEach(function(existing) { + if (!result.source_course_id && existing.course_id === result.course_id) { + result = Object.assign({}, result, {source_course_id: existing.source_course_id}); + } + }); + } + if (!Object.prototype.hasOwnProperty.call(stateLabels, result.state)) { + result = Object.assign({}, result, { + state: 'failed', + message: result.message || 'Состояние операции недоступно. Проверьте курс в Studio.' + }); + } + var key = (result.source_course_id || '') + '→' + (result.course_id || ''); + results.set(key, result); + }); + renderResults(); + } + + function pendingIds() { + var ids = []; + results.forEach(function(result) { + if ((result.state === 'queued' || result.state === 'in_progress') && result.course_id) { + ids.push(result.course_id); + } + }); + return Array.from(new Set(ids)); + } + + function schedulePoll() { + if (!pollTimer && !polling && pendingIds().length) { + pollTimer = window.setTimeout(poll, pollDelay); + } + } + + async function poll() { + pollTimer = null; + var ids = pendingIds(); + if (!ids.length) { + return; + } + polling = true; + try { + // Keep status URLs bounded when the administrator selected all matching courses. + for (var offset = 0; offset < ids.length; offset += 20) { + var url = new URL(root.dataset.statusUrl, window.location.href); + url.searchParams.set('course_ids', ids.slice(offset, offset + 20).join(',')); + var response = await fetch(url.toString(), { + credentials: 'same-origin', + cache: 'no-store', + headers: {Accept: 'application/json'} + }); + var body = await readResponse(response); + mergeResults(body.results, false); + } + pollMessage.hidden = true; + pollDelay = 3000; + } catch (error) { + pollMessage.textContent = 'Не удалось обновить состояние: ' + error.message + ' Проверка будет повторена автоматически.'; + pollMessage.hidden = false; + pollDelay = Math.min(pollDelay * 2, 30000); + } finally { + polling = false; + schedulePoll(); + } + } + + async function submitAction(action) { + if (busy || !settingsForm.reportValidity()) { + return; + } + var payload; + try { + payload = collectPayload(action); + if (action === 'rerun' && previewSignature !== signature(payload)) { + throw new Error('Настройки изменились. Сначала повторите проверку новых запусков.'); + } + if (action === 'rerun') { + payload.preview_targets = previewTargets; + payload.preview_token = previewToken; + } + } catch (error) { + notify(error.message, 'error'); + return; + } + busy = true; + updateControls(); + notify(action === 'preview' ? 'Проверяем курсы и новые номера запусков…' : 'Отправляем операцию. Дождитесь ответа сервера…'); + try { + var response = await fetch(root.dataset.endpoint, { + method: 'POST', + credentials: 'same-origin', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + 'X-CSRFToken': settingsForm.elements.namedItem('csrfmiddlewaretoken').value + }, + body: JSON.stringify(payload) + }); + var body = await readResponse(response); + mergeResults(body.results, action === 'preview'); + var failed = body.results.filter(function(result) { return result.state === 'failed'; }).length; + if (action === 'preview') { + var previewReady = Boolean(body.preview_token) && body.results.length > 0 && body.results.every(function(result) { + return result.state === 'preview' && result.source_course_id && result.course_id; + }); + previewSignature = previewReady ? signature(payload) : null; + previewToken = previewReady ? body.preview_token : null; + previewTargets = previewReady ? {} : null; + if (previewReady) { + body.results.forEach(function(result) { previewTargets[result.source_course_id] = result.course_id; }); + } + document.getElementById('preview-hint').textContent = previewReady + ? 'Проверено запусков: ' + body.results.length + '. Новые ID показаны ниже. Нажмите «Создать новые запуски», чтобы начать.' + : 'Проверьте сообщения по каждому курсу и повторите проверку после исправления ошибок.'; + notify(previewReady ? 'Предварительная проверка завершена. Новые курсы ещё не созданы.' : 'Не все курсы прошли проверку. Подробности ниже.', previewReady ? 'success' : 'error'); + } else { + invalidatePreview(); + notify(failed + ? 'Операция завершилась с ошибками для ' + failed + ' курсов. Проверьте результаты ниже.' + : (action === 'rerun' ? 'Запрос принят. Следите за состоянием создания курсов ниже.' : 'Настройки сохранены. Результаты по каждому курсу показаны ниже.'), failed ? 'error' : 'success'); + } + schedulePoll(); + } catch (error) { + var safeRerunRetry = action === 'rerun' && (!error.status || error.status >= 500); + if (!safeRerunRetry) { + invalidatePreview(); + } + if (Array.isArray(error.results)) { + mergeResults(error.results, action === 'preview'); + schedulePoll(); + } + var message = error.message; + if (safeRerunRetry) { + message += ' Можно повторить создание: сохранены те же ID и параметры, чтобы не создать дубликаты.'; + } else if (action !== 'preview') { + message += ' Если запрос успел выполниться, изменения уже применены. Перед повтором обновите страницу и проверьте результаты.'; + } + notify(message, 'error'); + } finally { + busy = false; + updateControls(); + } + } + + selectPage.addEventListener('change', function() { + courseCheckboxes.forEach(function(input) { input.checked = selectPage.checked; }); + invalidatePreview(); + }); + allMatching.addEventListener('change', invalidatePreview); + courseCheckboxes.forEach(function(input) { input.addEventListener('change', invalidatePreview); }); + settingsForm.addEventListener('input', invalidatePreview); + settingsForm.addEventListener('change', invalidatePreview); + document.getElementById('course-filters').addEventListener('input', invalidatePreview); + document.getElementById('course-filters').addEventListener('change', invalidatePreview); + settingsForm.addEventListener('submit', function(event) { event.preventDefault(); }); + previewButton.addEventListener('click', function() { submitAction('preview'); }); + rerunButton.addEventListener('click', function() { submitAction('rerun'); }); + saveButton.addEventListener('click', function() { submitAction('save'); }); + + mergeResults(JSON.parse(root.dataset.initialResults), false); + updateControls(); + schedulePoll(); +}()); diff --git a/cms/templates/course-admin.html b/cms/templates/course-admin.html new file mode 100644 index 000000000000..2c0234386020 --- /dev/null +++ b/cms/templates/course-admin.html @@ -0,0 +1,228 @@ +## coding=utf-8 +<%page expression_filter="h"/> +<%namespace name="static" file="static_content.html"/> +<%! +import json +from urllib.parse import urlencode +%> +<% + pagination_filters = {key: value for key, value in course_filters.items() if value not in ('', None, False)} + pagination_filters['latest'] = '1' if course_filters.get('latest') else '0' + visibility_labels = {'both': 'Каталог и страница курса', 'about': 'Только страница курса', 'none': 'Скрыт'} +%> + + + + + + + Управление курсами — Studio + + + + +
    +
    +
    Studio · Только для администраторов
    +

    Управление курсами

    +

    Выберите курсы, проверьте новые номера запусков и создайте их с общими настройками. + Здесь же можно изменить даты, видимость, режимы обучения и сертификаты существующих курсов.

    +
    + + +
    +

    1. Выберите курсы

    Найдено: ${total}
    +
    +
    + + + + +
    +
    + + + +
    +
    +
    + + + Выбрано: 0 +
    +
    + + + + + % for course in courses: + + + + + + + + + % endfor + % if not courses: + + % endif + +
    Курсы, соответствующие применённым фильтрам
    ВыборКурсОрганизация / запускОбучение (${timezone_label})Запись (${timezone_label})Видимость
    ${course['name']}${course['id']} + % if course.get('mode_labels'): +
    Режимы: ${course['mode_labels']}
    + % endif + % if course.get('certificate_generation'): +
    Генерация сертификатов: ${course['certificate_generation']}
    + % endif + % if course.get('self_paced_label'): +
    ${course['self_paced_label']}
    + % endif + % if course.get('invitation_only_label'): +
    ${course['invitation_only_label']}
    + % endif + % if course.get('certificate_available_date'): +
    Сертификаты с: ${course['certificate_available_date']} UTC
    + % endif +
    ${course['org']}
    ${course['run']} + % if course.get('faculty'): +
    ${course['faculty']}
    + % endif +
    С: ${course.get('start') or '—'}До: ${course.get('end') or '—'}С: ${course.get('enrollment_start') or '—'}До: ${course.get('enrollment_end') or '—'}${visibility_labels.get(course.get('visibility'), course.get('visibility') or '—')}
    Курсы не найдены. Измените фильтры.
    +
    + % if num_pages > 1: + + % endif +

    Выбор отдельных курсов действует на текущей странице. «Все найденные курсы» охватывает все страницы применённых фильтров.

    +
    + +
    +

    2. Задайте общие настройки

    +

    При сохранении существующих курсов пустые поля и «Без изменений» сохраняют текущие настройки. Для нового запуска обязательны начало и конец курса.

    +
    + +
    + Расписание · ${timezone_label} +
    + + +
    +
    +
    +

    Введите время в UTC. Например, 09:00 по времени Алматы (UTC+5) = 04:00 UTC.

    +

    В новом запуске пустые даты записи и доступности сертификатов снимают прежние ограничения по датам.

    +
    +
    + Доступ и обучение +
    + + + + + +
    +
    +

    Включение генерации требует активного настроенного сертификата курса, а также включённых системных настроек HTML-сертификатов и генерации. Выбор режима Honor сам по себе не настраивает сертификат.

    +

    Видимость управляет каталогом и страницей описания курса. Она не закрывает учебные материалы для уже записанных студентов.

    +
    +
    + Расписание содержимого при перезапуске + +

    Действует только при создании нового запуска. Календари внешних инструментов и задания ORA могут требовать отдельной проверки.

    +
    +
    Новый ID сохраняет организацию и код курса. Год берётся из даты начала в UTC, а номер C выбирается следующим свободным: например, 2026_C1 → 2026_C2. Материалы копируются штатным перезапуском Studio. Если отключить перенос, даты разделов и заданий останутся прежними.
    +
    + + +
    +

    Сначала выберите курсы и проверьте новые ID. После изменения настроек проверку нужно повторить.

    +
    +

    Изменить выбранные существующие курсы
    Применяет заполненные поля к выбранным курсам. Новые запуски не создаются.

    + +
    +
    + +
    + + +
    + + diff --git a/cms/urls.py b/cms/urls.py index d01e89d9d276..020264fa574d 100644 --- a/cms/urls.py +++ b/cms/urls.py @@ -20,6 +20,11 @@ from cms.djangoapps.contentstore import views as contentstore_views from cms.djangoapps.contentstore.views.block import xblock_edit_view from cms.djangoapps.contentstore.views.organization import OrganizationListView +from cms.djangoapps.contentstore.views.course_admin import ( + course_admin_action, + course_admin_page, + course_admin_status, +) from openedx.core.apidocs import api_info from openedx.core.djangoapps.password_policy import compliance as password_policy_compliance from openedx.core.djangoapps.password_policy.forms import PasswordPolicyAwareAdminAuthForm @@ -69,6 +74,10 @@ path('server_error', contentstore_views.server_error, name='server_error'), path('organizations', OrganizationListView.as_view(), name='organizations'), path('api/toggles/', include('openedx.core.djangoapps.waffle_utils.urls')), + # Deliberately absent from Studio navigation; every endpoint requires global staff. + path('course-admin/', course_admin_page, name='course_admin'), + path('course-admin/action/', course_admin_action, name='course_admin_action'), + path('course-admin/status/', course_admin_status, name='course_admin_status'), # noop to squelch ajax errors path('event', contentstore_views.event, name='event'), diff --git a/lms/djangoapps/certificates/api.py b/lms/djangoapps/certificates/api.py index d6c77f4e721b..ee3838d314da 100644 --- a/lms/djangoapps/certificates/api.py +++ b/lms/djangoapps/certificates/api.py @@ -355,6 +355,42 @@ def set_cert_generation_enabled(course_key, is_enabled): log.info("Disabled self-generated certificates for course '%s'.", str(course_key)) +def get_course_certificate_generation_settings(course_key): + """Return the latest per-course certificate-generation settings as plain data.""" + course_settings = CertificateGenerationCourseSetting.get(course_key) + if course_settings is None: + return None + return { + "self_generation_enabled": course_settings.self_generation_enabled, + "language_specific_templates_enabled": course_settings.language_specific_templates_enabled, + "include_hours_of_effort": course_settings.include_hours_of_effort, + } + + +def get_self_generation_enabled_for_courses(course_keys): + """Return the effective latest self-generation flag for each supplied course.""" + result = {} + course_settings = CertificateGenerationCourseSetting.objects.filter( + course_key__in=course_keys, + ).order_by("created", "pk") + for item in course_settings: + result[str(item.course_key)] = item.self_generation_enabled + return result + + +def create_course_certificate_generation_settings(course_key, values): + """Append per-course settings so historical duplicate rows remain well-defined.""" + allowed = { + "self_generation_enabled", + "language_specific_templates_enabled", + "include_hours_of_effort", + } + unknown = set(values) - allowed + if unknown: + raise ValueError(f"Unsupported certificate generation settings: {sorted(unknown)}") + return CertificateGenerationCourseSetting.objects.create(course_key=course_key, **values) + + def is_certificate_invalidated(student, course_key): """Check whether the certificate belonging to the given student (in given course) has been invalidated. diff --git a/lms/djangoapps/certificates/tests/test_generation_settings_api.py b/lms/djangoapps/certificates/tests/test_generation_settings_api.py new file mode 100644 index 000000000000..71001f6978c7 --- /dev/null +++ b/lms/djangoapps/certificates/tests/test_generation_settings_api.py @@ -0,0 +1,41 @@ +"""Tests for the public certificate-generation settings API.""" + +from django.test import TestCase +from opaque_keys.edx.locator import CourseLocator + +from lms.djangoapps.certificates import api + + +class CertificateGenerationSettingsApiTests(TestCase): + """The API handles historical duplicate rows using the most recent value.""" + + def setUp(self): + super().setUp() + self.course_key = CourseLocator(org='FBB', course='BNJjTSOB', run='2026_C1') + + def test_create_and_get_latest_settings(self): + api.create_course_certificate_generation_settings(self.course_key, { + 'self_generation_enabled': False, + 'language_specific_templates_enabled': False, + 'include_hours_of_effort': None, + }) + api.create_course_certificate_generation_settings(self.course_key, { + 'self_generation_enabled': True, + 'language_specific_templates_enabled': True, + 'include_hours_of_effort': True, + }) + + result = api.get_course_certificate_generation_settings(self.course_key) + + self.assertEqual(result, { + 'self_generation_enabled': True, + 'language_specific_templates_enabled': True, + 'include_hours_of_effort': True, + }) + self.assertEqual(api.get_self_generation_enabled_for_courses([self.course_key]), { + str(self.course_key): True, + }) + + def test_create_rejects_unknown_fields(self): + with self.assertRaises(ValueError): + api.create_course_certificate_generation_settings(self.course_key, {'enabled': True}) diff --git a/lms/djangoapps/news/views.py b/lms/djangoapps/news/views.py index 77f88b5d50ef..4f9ff586aafa 100644 --- a/lms/djangoapps/news/views.py +++ b/lms/djangoapps/news/views.py @@ -24,13 +24,13 @@ from django.http import HttpResponseRedirect -from django.http import Http404, JsonResponse +from django.http import Http404, HttpResponseBadRequest, JsonResponse from django.views.decorators.csrf import csrf_exempt from django.conf import settings from django.db.models.functions import ExtractYear, TruncMonth -from django.db.models import Avg, Count, Q +from django.db.models import Avg, Count, Exists, Min, OuterRef, Q logger = logging.getLogger(__name__) @@ -68,7 +68,7 @@ def news_create(request): return render_to_response('news/form.html', context, request=request) # -from django.utils.translation import get_language +from django.utils.translation import get_language, gettext as _ FACULTY_TRANSLATIONS = { "Биология и биотехнология": { @@ -289,7 +289,7 @@ def analyze(request): # Group runs across years by course identity, not by their editable titles. course_run_counts = Counter( (course_key.org, course_key.course) - for course_key in all_courses_qs.exclude(start__isnull=True).values_list("id", flat=True) + for course_key in all_courses_qs.values_list("id", flat=True) ) courses_json = [ @@ -341,59 +341,86 @@ def analyze(request): @user_passes_test(lambda u: u.is_staff) def course_details(request, course_id): - """Aggregate analytics for one course run, without exposing learner identities.""" + """Aggregate selected runs of the same course, deduplicating learner totals.""" try: course_key = CourseKey.from_string(course_id) except InvalidKeyError as exc: raise Http404("Invalid course ID") from exc course = get_object_or_404(CourseOverview, id=course_key) + # The run component and editable display name are not part of course identity. + available_runs = [ + run for run in CourseOverview.objects.filter(org=course_key.org).order_by("-start", "id") + if (run.id.org, run.id.course) == (course_key.org, course_key.course) + ] + available_ids = {str(run.id) for run in available_runs} + if request.GET.get("scope") == "all": + selected_ids = available_ids + elif "selection" in request.GET or "run" in request.GET: + selected_ids = set(request.GET.getlist("run")) + if not selected_ids or not selected_ids.issubset(available_ids): + return HttpResponseBadRequest(_("Select at least one valid run of this course.")) + else: + selected_ids = {str(course_key)} + selected_runs = [run for run in available_runs if str(run.id) in selected_ids] + selected_keys = [run.id for run in selected_runs] + # A single selection displays that run's metadata and course link. + if len(selected_runs) == 1: + course = selected_runs[0] now = timezone.now() - enrollments = CourseEnrollment.objects.filter(course_id=course_key).order_by() + enrollments = CourseEnrollment.objects.filter(course_id__in=selected_keys).order_by() enrollment_stats = enrollments.aggregate( total=Count("user_id", distinct=True), + enrollment_records=Count("id"), + first_enrollment=Min("created"), active=Count("user_id", filter=Q(is_active=True), distinct=True), recent=Count("user_id", filter=Q(created__gte=now - timedelta(days=30), created__lte=now), distinct=True), ) # Use the same enrollment population for outcomes and their denominators. - enrolled_user_ids = enrollments.values("user_id") - certificate_count = GeneratedCertificate.objects.filter( - course_id=course_key, - user_id__in=enrolled_user_ids, + # Match BOTH the learner and run, not just enrollment in any selected run. + matching_enrollment = CourseEnrollment.objects.filter( + course_id=OuterRef("course_id"), user_id=OuterRef("user_id"), + ) + certificate_stats = GeneratedCertificate.objects.filter( + Exists(matching_enrollment), + course_id__in=selected_keys, status=CertificateStatuses.downloadable, - ).values("user_id").distinct().count() + ).aggregate(recipients=Count("user_id", distinct=True), issued=Count("id")) + certificate_count = certificate_stats["recipients"] grade_stats = PersistentCourseGrade.objects.filter( - course_id=course_key, - user_id__in=enrolled_user_ids, + Exists(matching_enrollment), + course_id__in=selected_keys, ).aggregate( recorded=Count("user_id", distinct=True), passed=Count("user_id", filter=Q(passed_timestamp__isnull=False), distinct=True), average=Avg("percent_grade"), ) + first_enrollment = enrollment_stats.pop("first_enrollment") total = enrollment_stats["total"] stats = { **enrollment_stats, "inactive": total - enrollment_stats["active"], "certificates": certificate_count, + "issued_certificates": certificate_stats["issued"], "certificate_rate": round(certificate_count * 100 / total, 1) if total else 0, "grades_recorded": grade_stats["recorded"], "passed": grade_stats["passed"], "average_grade": round(grade_stats["average"] * 100, 1) if grade_stats["average"] is not None else None, } - # Twelve calendar months, including empty months and the current partial month. - month = now.replace(day=1, hour=0, minute=0, second=0, microsecond=0) - months = [month] - for _ in range(11): - month = (month - timedelta(days=1)).replace(day=1) + # Include the complete enrollment history, with empty calendar months filled in. + current_month = now.replace(day=1, hour=0, minute=0, second=0, microsecond=0) + month = min(first_enrollment or now, now).replace(day=1, hour=0, minute=0, second=0, microsecond=0) + months = [] + while month <= current_month: months.append(month) - months.reverse() + month = (month + timedelta(days=32)).replace(day=1) monthly_counts = { (row["month"].year, row["month"].month): row["total"] for row in enrollments.filter(created__gte=months[0], created__lte=now) .annotate(month=TruncMonth("created", tzinfo=now.tzinfo)) .values("month") - .annotate(total=Count("user_id", distinct=True)) + .annotate(total=Count("id")) .order_by("month") } peak = max(monthly_counts.values(), default=0) @@ -408,6 +435,10 @@ def course_details(request, course_id): context = { "course": course, + "available_runs": available_runs, + "selected_ids": selected_ids, + "selected_runs": selected_runs, + "selection_url": reverse("course_details", kwargs={"course_id": str(course_key)}), "stats": stats, "faculty": translate_faculty(course.faculty), "directions": translate_direction(course.directions), diff --git a/lms/templates/news/analyze.html b/lms/templates/news/analyze.html index 867715882f85..41fe62b7106e 100644 --- a/lms/templates/news/analyze.html +++ b/lms/templates/news/analyze.html @@ -7,6 +7,9 @@ <%block name="extrahead"> + + +
    +

    Управление курсами

    +

    Закрытая LMS-страница для массового перезапуска и настройки курсов.

    + + % if error: +
    ${error}
    + % endif + % if results: +
    Команда обработана. Результаты показаны ниже.
    + % endif + +
    +

    Фильтр курсов

    +
    +
    + + + + +
    +
    + + + + Найдено: ${total} +
    +
    +
    + +
    + + % for name in ('q', 'org', 'run', 'year'): + + % endfor + + + +
    +

    1. Выберите курсы

    + +
    + + + + % for course in courses: + + + + + + + + + % endfor + % if not courses: + + % endif + +
    ВыборКурсОрганизация / запускПериод курса, UTCРежим / сертификатыВидимость
    ${course['name']}${course['id']}${course['org']}
    ${course['run']}
    ${course['start'] or '—'}
    ${course['end'] or '—'}
    ${course['mode_labels']}
    Генерация: ${course['certificate_generation']}
    ${visibility_labels.get(course.get('visibility'), course.get('visibility') or '—')}
    Курсы не найдены.
    +
    + % if num_pages > 1: + + % endif +
    + +
    +

    2. Общие настройки

    +
    + Расписание, UTC +
    + + + + +
    +
    +
    + Доступ и сертификаты +
    + + + + + + +
    +
    +
    + +
    +
    + + +
    +

    Для перезапуска укажите начало и конец курса. Новый ID получит следующий свободный номер YYYY_Cn.

    +
    +
    + + % if results: +
    +

    Результат команды

    +
    + % for result in results: + + % endfor +
    Исходный курсЦелевой курсСостояниеСообщение
    ${result.get('source_course_id') or '—'}${result.get('course_id') or '—'}${result.get('state')}${result.get('message')}
    +
    + % endif + + % if recent_results: +
    +

    Последние перезапуски

    +

    Обновите страницу, чтобы получить текущее состояние фоновой задачи.

    +
    + % for result in recent_results: + + % endfor +
    Исходный курсНовый курсСостояниеСообщение
    ${result['source_course_id']}${result['course_id']}${result['state']}${result['message']}
    +
    + % endif +
    + + diff --git a/lms/urls.py b/lms/urls.py index 6d86a34d828a..bfae46e18930 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -16,6 +16,7 @@ from common.djangoapps.student import views as student_views from common.djangoapps.util import views as util_views from lms.djangoapps.branding import views as branding_views +from lms.djangoapps.course_admin import views as course_admin_views from lms.djangoapps.courseware.masquerade import MasqueradeView from lms.djangoapps.courseware.block_render import ( handle_xblock_callback, @@ -95,6 +96,7 @@ urlpatterns = [ + path('course-admin/', course_admin_views.course_admin, name='course_admin'), path('news/', news_views.news_list, name='news_list'), path('news//', news_views.news_detail, name='news_detail'), path('news/create/', news_views.news_create, name='news_create'), From 1b1d3570da373a9de26154359d28ea641aac790a Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 11 Sep 2026 15:51:14 +0500 Subject: [PATCH 444/447] fix: accept course admin URL without trailing slash --- lms/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/urls.py b/lms/urls.py index bfae46e18930..b44993ecb61c 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -96,7 +96,7 @@ urlpatterns = [ - path('course-admin/', course_admin_views.course_admin, name='course_admin'), + re_path(r'^course-admin/?$', course_admin_views.course_admin, name='course_admin'), path('news/', news_views.news_list, name='news_list'), path('news//', news_views.news_detail, name='news_detail'), path('news/create/', news_views.news_create, name='news_create'), From 5a4708520018d4df235d3bd36183cd6b5895c431 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 11 Sep 2026 16:11:56 +0500 Subject: [PATCH 445/447] fix: dispatch LMS reruns to CMS worker --- cms/djangoapps/contentstore/course_admin.py | 35 ++++++++++++++----- .../contentstore/tests/test_course_admin.py | 24 +++++++++++++ 2 files changed, 51 insertions(+), 8 deletions(-) diff --git a/cms/djangoapps/contentstore/course_admin.py b/cms/djangoapps/contentstore/course_admin.py index 3eb67f78341d..89decf3fa201 100644 --- a/cms/djangoapps/contentstore/course_admin.py +++ b/cms/djangoapps/contentstore/course_admin.py @@ -1,4 +1,4 @@ -"""Services for the private Studio course administration page. +"""Services for the private course administration page. Reruns use Studio's existing cloning task. SQL stores only the reservation, enrollment modes and certificate configuration; learner records are never copied. @@ -10,6 +10,7 @@ from copy import deepcopy from datetime import datetime, timezone +from celery import current_app from django.core.exceptions import PermissionDenied, ValidationError from django.db import IntegrityError, transaction from django.utils.dateparse import parse_datetime @@ -28,6 +29,11 @@ from xmodule.modulestore.django import modulestore from xmodule.modulestore.exceptions import ItemNotFoundError + +RERUN_COURSE_TASK_NAME = 'cms.djangoapps.contentstore.tasks.rerun_course' +CMS_CELERY_QUEUE = 'edx.cms.core.default' +CMS_CELERY_EXCHANGE = 'edx.cms.core' + LOGGER = logging.getLogger(__name__) RUN_PATTERN = re.compile(r"^(\d{4})_C([1-9]\d*)$", re.IGNORECASE) DATE_FIELDS = frozenset(('start', 'end', 'enrollment_start', 'enrollment_end', 'certificate_available_date')) @@ -263,10 +269,27 @@ def _reserve_rerun(course, user, year, known, expected=None): raise ValidationError('Не удалось зарезервировать запуск. Повторите запрос.') +def _send_rerun_task(source, destination, user_id, fields, settings): + """Send the CMS-only cloning task without importing CMS Django apps in LMS.""" + current_app.send_task( + RERUN_COURSE_TASK_NAME, + args=( + str(source), + str(destination), + user_id, + json.dumps(fields, cls=EdxJSONEncoder), + ), + kwargs={ + 'admin_settings': json.loads(json.dumps(settings, cls=EdxJSONEncoder)), + }, + queue=CMS_CELERY_QUEUE, + exchange=CMS_CELERY_EXCHANGE, + routing_key=CMS_CELERY_QUEUE, + ) + + def queue_course_reruns(user, course_keys, settings, expected_course_ids=None): """Reserve distinct destinations and dispatch one existing Studio task per course.""" - from cms.djangoapps.contentstore.tasks import rerun_course # pylint: disable=import-outside-toplevel - _require_admin(user) settings = validate_settings(settings, require_dates=True) if expected_course_ids is not None: @@ -309,11 +332,7 @@ def queue_course_reruns(user, course_keys, settings, expected_course_ids=None): def dispatch(state=reservation, source=course.id, overrides=fields, row=result): try: - rerun_course.delay( - str(source), str(state.course_key), user.id, - json.dumps(overrides, cls=EdxJSONEncoder), - admin_settings=json.loads(json.dumps(settings, cls=EdxJSONEncoder)), - ) + _send_rerun_task(source, state.course_key, user.id, overrides, settings) except Exception: # pylint: disable=broad-except LOGGER.exception('Could not enqueue admin rerun for %s', state.course_key) CourseRerunState.objects.failed(course_key=state.course_key) diff --git a/cms/djangoapps/contentstore/tests/test_course_admin.py b/cms/djangoapps/contentstore/tests/test_course_admin.py index 3320666a4ede..7f807ac21d10 100644 --- a/cms/djangoapps/contentstore/tests/test_course_admin.py +++ b/cms/djangoapps/contentstore/tests/test_course_admin.py @@ -68,6 +68,30 @@ def test_service_rejects_non_admin_and_inactive_staff(self): class CourseAdminRunTests(SimpleTestCase): """Automatic run numbers work with numeric C suffixes and legacy sources.""" + def test_rerun_is_sent_to_cms_worker_without_importing_the_cms_task(self): + settings = { + 'start': datetime(2027, 1, 1, tzinfo=timezone.utc), + 'end': datetime(2027, 5, 31, tzinfo=timezone.utc), + } + fields = {'display_name': 'Biology'} + + with patch.object(course_admin, 'current_app') as celery_app: + course_admin._send_rerun_task(SOURCE, SOURCE, 7, fields, settings) + + celery_app.send_task.assert_called_once_with( + course_admin.RERUN_COURSE_TASK_NAME, + args=(str(SOURCE), str(SOURCE), 7, '{"display_name": "Biology"}'), + kwargs={ + 'admin_settings': { + 'start': '2027-01-01T00:00:00+00:00', + 'end': '2027-05-31T00:00:00+00:00', + }, + }, + queue=course_admin.CMS_CELERY_QUEUE, + exchange=course_admin.CMS_CELERY_EXCHANGE, + routing_key=course_admin.CMS_CELERY_QUEUE, + ) + def test_next_run_uses_highest_numeric_suffix_for_year_and_family(self): known = { CourseLocator(org='FBB', course='BNJjTSOB', run='2027_C2'), From ebf2ab68c445228f7761e4c454f0be63241ed54a Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 11 Sep 2026 16:28:22 +0500 Subject: [PATCH 446/447] fix: build learning outline after admin rerun --- cms/djangoapps/contentstore/tasks.py | 5 +++++ .../contentstore/tests/test_tasks.py | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/cms/djangoapps/contentstore/tasks.py b/cms/djangoapps/contentstore/tasks.py index 60976e556ade..c51ef131e388 100644 --- a/cms/djangoapps/contentstore/tasks.py +++ b/cms/djangoapps/contentstore/tasks.py @@ -259,6 +259,11 @@ def _rerun_course(source_course_key_string, destination_course_key_string, user_ if admin_settings is not None: from cms.djangoapps.contentstore.course_admin import configure_rerun configure_rerun(source_course_key, destination_course_key, admin_settings) + # Split Mongo cloning deliberately skips automatic publishing. Build + # the SQL outline before reporting success so the Learning MFE can + # open the copied course immediately. + if key_supports_outlines(destination_course_key): + update_outline_from_modulestore(destination_course_key) CourseRerunState.objects.succeeded(course_key=destination_course_key) return "succeeded" diff --git a/cms/djangoapps/contentstore/tests/test_tasks.py b/cms/djangoapps/contentstore/tests/test_tasks.py index 103e24deb821..959d6383932d 100644 --- a/cms/djangoapps/contentstore/tests/test_tasks.py +++ b/cms/djangoapps/contentstore/tests/test_tasks.py @@ -189,6 +189,25 @@ def test_success(self): country=restricted_country ) + @mock.patch('cms.djangoapps.contentstore.course_admin.shift_rerun_content_dates') + @mock.patch('cms.djangoapps.contentstore.course_admin.configure_rerun') + @mock.patch('cms.djangoapps.contentstore.tasks.update_outline_from_modulestore') + def test_admin_rerun_builds_learning_outline(self, update_outline, _configure, _shift_dates): + """An admin rerun is usable in the Learning MFE as soon as it succeeds.""" + old_course_key = self.course.id + new_course_key = CourseLocator(org=old_course_key.org, course=old_course_key.course, run='admin-rerun') + CourseRerunState.objects.initiated(old_course_key, new_course_key, self.user, 'Admin Re-run') + + result = rerun_course( + str(old_course_key), + str(new_course_key), + self.user.id, + admin_settings={}, + ) + + self.assertEqual(result, 'succeeded') + update_outline.assert_called_once_with(new_course_key) + @override_settings(CONTENTSTORE=TEST_DATA_CONTENTSTORE) class RegisterExamsTaskTestCase(CourseTestCase): # pylint: disable=missing-class-docstring From ebdefd2b167e3380dc8eb4f880bc4723e409bff5 Mon Sep 17 00:00:00 2001 From: Erarys Date: Fri, 11 Sep 2026 17:19:08 +0500 Subject: [PATCH 447/447] feat: improve persistent course rerun controls --- cms/djangoapps/contentstore/course_admin.py | 24 ++++- cms/djangoapps/contentstore/tasks.py | 4 +- .../contentstore/tests/test_course_admin.py | 3 + .../contentstore/tests/test_tasks.py | 10 +- lms/djangoapps/course_admin/views.py | 98 +++++++++++++------ lms/templates/course-admin.html | 74 +++++++++++--- 6 files changed, 163 insertions(+), 50 deletions(-) diff --git a/cms/djangoapps/contentstore/course_admin.py b/cms/djangoapps/contentstore/course_admin.py index 89decf3fa201..efd988f73bac 100644 --- a/cms/djangoapps/contentstore/course_admin.py +++ b/cms/djangoapps/contentstore/course_admin.py @@ -39,7 +39,8 @@ DATE_FIELDS = frozenset(('start', 'end', 'enrollment_start', 'enrollment_end', 'certificate_available_date')) BOOLEAN_FIELDS = frozenset(('self_paced', 'invitation_only')) COURSE_FIELDS = DATE_FIELDS | BOOLEAN_FIELDS | {'catalog_visibility'} -SETTINGS_FIELDS = COURSE_FIELDS | {'mode', 'certificate_mode', 'shift_content_dates'} +WORKFLOW_BOOLEAN_FIELDS = frozenset(('shift_content_dates', 'hide_source')) +SETTINGS_FIELDS = COURSE_FIELDS | {'mode', 'certificate_mode'} | WORKFLOW_BOOLEAN_FIELDS def _require_admin(user): @@ -77,7 +78,7 @@ def validate_settings(payload, require_dates=False): for name in ('start', 'end'): if (require_dates or name in result) and result.get(name) is None: raise ValidationError(f'Укажите дату {name}.') - for name in (BOOLEAN_FIELDS | {'shift_content_dates'}) & result.keys(): + for name in (BOOLEAN_FIELDS | WORKFLOW_BOOLEAN_FIELDS) & result.keys(): if not isinstance(result[name], bool): raise ValidationError(f'{name}: требуется true или false.') choices = { @@ -403,6 +404,25 @@ def configure_rerun(source_key, destination_key, settings): create_course_certificate_generation_settings(destination_key, generation_values) +def hide_source_course(source_key, user_id): + """Hide a successfully replaced source run from course discovery.""" + course = _source_course(source_key) + if course.catalog_visibility == 'none': + return + previous_visibility = course.catalog_visibility + try: + course.catalog_visibility = 'none' + modulestore().update_item(course, user_id) + CourseOverview.load_from_module_store(course.id) + except Exception: + LOGGER.exception('Could not hide source course %s; restoring its visibility', source_key) + restored = _source_course(source_key) + restored.catalog_visibility = previous_visibility + modulestore().update_item(restored, user_id) + CourseOverview.load_from_module_store(restored.id) + raise + + def shift_rerun_content_dates(source_key, destination_key, user_id, settings): """Shift explicit section/component dates in each branch without publishing drafts. diff --git a/cms/djangoapps/contentstore/tasks.py b/cms/djangoapps/contentstore/tasks.py index c51ef131e388..d43281fe9eed 100644 --- a/cms/djangoapps/contentstore/tasks.py +++ b/cms/djangoapps/contentstore/tasks.py @@ -257,13 +257,15 @@ def _rerun_course(source_course_key_string, destination_course_key_string, user_ org_data = ensure_organization(source_course_key.org) add_organization_course(org_data, destination_course_key) if admin_settings is not None: - from cms.djangoapps.contentstore.course_admin import configure_rerun + from cms.djangoapps.contentstore.course_admin import configure_rerun, hide_source_course configure_rerun(source_course_key, destination_course_key, admin_settings) # Split Mongo cloning deliberately skips automatic publishing. Build # the SQL outline before reporting success so the Learning MFE can # open the copied course immediately. if key_supports_outlines(destination_course_key): update_outline_from_modulestore(destination_course_key) + if admin_settings.get('hide_source'): + hide_source_course(source_course_key, user_id) CourseRerunState.objects.succeeded(course_key=destination_course_key) return "succeeded" diff --git a/cms/djangoapps/contentstore/tests/test_course_admin.py b/cms/djangoapps/contentstore/tests/test_course_admin.py index 7f807ac21d10..8bbc1a1543a7 100644 --- a/cms/djangoapps/contentstore/tests/test_course_admin.py +++ b/cms/djangoapps/contentstore/tests/test_course_admin.py @@ -24,11 +24,13 @@ def test_dates_are_normalized_to_utc(self): 'end': '2027-05-31T09:00:00+05:00', 'self_paced': True, 'catalog_visibility': 'about', + 'hide_source': True, }, require_dates=True) self.assertEqual(result['start'], datetime(2027, 1, 1, 4, tzinfo=timezone.utc)) self.assertEqual(result['end'], datetime(2027, 5, 31, 4, tzinfo=timezone.utc)) self.assertTrue(result['self_paced']) + self.assertTrue(result['hide_source']) def test_rejects_unknown_settings_invalid_choices_and_non_boolean_values(self): invalid_payloads = ( @@ -37,6 +39,7 @@ def test_rejects_unknown_settings_invalid_choices_and_non_boolean_values(self): {'mode': 'verified'}, {'certificate_mode': 'yes'}, {'self_paced': 'true'}, + {'hide_source': 'true'}, ) for payload in invalid_payloads: with self.subTest(payload=payload), self.assertRaises(ValidationError): diff --git a/cms/djangoapps/contentstore/tests/test_tasks.py b/cms/djangoapps/contentstore/tests/test_tasks.py index 959d6383932d..05341405d732 100644 --- a/cms/djangoapps/contentstore/tests/test_tasks.py +++ b/cms/djangoapps/contentstore/tests/test_tasks.py @@ -191,9 +191,12 @@ def test_success(self): @mock.patch('cms.djangoapps.contentstore.course_admin.shift_rerun_content_dates') @mock.patch('cms.djangoapps.contentstore.course_admin.configure_rerun') + @mock.patch('cms.djangoapps.contentstore.course_admin.hide_source_course') @mock.patch('cms.djangoapps.contentstore.tasks.update_outline_from_modulestore') - def test_admin_rerun_builds_learning_outline(self, update_outline, _configure, _shift_dates): - """An admin rerun is usable in the Learning MFE as soon as it succeeds.""" + def test_admin_rerun_builds_outline_and_hides_source( + self, update_outline, hide_source, _configure, _shift_dates, + ): + """An admin rerun is usable in Learning and can retire its source run.""" old_course_key = self.course.id new_course_key = CourseLocator(org=old_course_key.org, course=old_course_key.course, run='admin-rerun') CourseRerunState.objects.initiated(old_course_key, new_course_key, self.user, 'Admin Re-run') @@ -202,11 +205,12 @@ def test_admin_rerun_builds_learning_outline(self, update_outline, _configure, _ str(old_course_key), str(new_course_key), self.user.id, - admin_settings={}, + admin_settings={'hide_source': True}, ) self.assertEqual(result, 'succeeded') update_outline.assert_called_once_with(new_course_key) + hide_source.assert_called_once_with(old_course_key, self.user.id) @override_settings(CONTENTSTORE=TEST_DATA_CONTENTSTORE) diff --git a/lms/djangoapps/course_admin/views.py b/lms/djangoapps/course_admin/views.py index 20d8a40019ee..1983e4c2b61e 100644 --- a/lms/djangoapps/course_admin/views.py +++ b/lms/djangoapps/course_admin/views.py @@ -4,11 +4,12 @@ import re from datetime import timezone from functools import wraps +from urllib.parse import urlencode from django.conf import settings from django.core.exceptions import ValidationError from django.core.paginator import Paginator -from django.http import HttpResponseForbidden +from django.http import HttpResponseForbidden, HttpResponseRedirect from django.middleware.csrf import get_token from django.urls import reverse from django.views.decorators.cache import never_cache @@ -30,6 +31,16 @@ LOG = logging.getLogger(__name__) RUN_PATTERN = re.compile(r'^(\d{4})_C([1-9]\d*)$', re.IGNORECASE) DATE_FIELDS = ('start', 'end', 'enrollment_start', 'enrollment_end', 'certificate_available_date') +FORM_VALUE_FIELDS = DATE_FIELDS + ( + 'catalog_visibility', 'mode', 'certificate_mode', 'self_paced', 'invitation_only', +) +FORM_CHECKBOX_FIELDS = ( + 'clear_enrollment_start', 'clear_enrollment_end', 'clear_certificate_available_date', + 'shift_content_dates', 'hide_source', +) +FORM_SESSION_KEY = 'course_admin.form.v1' +FEEDBACK_SESSION_KEY = 'course_admin.feedback.v1' +FORM_DEFAULTS = {'mode': 'copy', 'certificate_mode': 'copy', 'shift_content_dates': '1'} def admin_required(view): @@ -194,9 +205,34 @@ def _settings_from_form(request, rerun): raise ValueError(f'{field}: некорректное значение.') if rerun: values['shift_content_dates'] = request.POST.get('shift_content_dates') == '1' + values['hide_source'] = request.POST.get('hide_source') == '1' return service.validate_settings(values, require_dates=rerun) +def _form_values(request): + """Keep an administrator's settings across redirects and later page loads.""" + values = dict(FORM_DEFAULTS) + saved = request.session.get(FORM_SESSION_KEY, {}) + if isinstance(saved, dict): + values.update({key: value for key, value in saved.items() if isinstance(value, str)}) + if request.method == 'POST': + for field in FORM_VALUE_FIELDS: + value = request.POST.get(field, '') + values[field] = value[:255] if isinstance(value, str) else '' + for field in FORM_CHECKBOX_FIELDS: + values[field] = '1' if request.POST.get(field) == '1' else '' + request.session[FORM_SESSION_KEY] = values + return values + + +def _redirect_after_post(filters, page): + query = {key: value for key, value in filters.items() if value not in ('', None, False)} + query['latest'] = '1' if filters.get('latest') else '0' + if page: + query['page'] = page + return HttpResponseRedirect(f"{reverse('course_admin')}?{urlencode(query)}") + + def _state_result(state): messages = { 'succeeded': 'Перезапуск завершён.', @@ -218,41 +254,46 @@ def _state_result(state): def course_admin(request): """Render and process the complete admin form on one LMS URL.""" source = request.POST if request.method == 'POST' else request.GET - results = [] - error = '' + form_values = _form_values(request) + feedback = request.session.pop(FEEDBACK_SESSION_KEY, {}) if request.method == 'GET' else {} + results = feedback.get('results', []) if isinstance(feedback, dict) else [] + error = feedback.get('error', '') if isinstance(feedback, dict) else '' try: filters = parse_filters(source) except ValueError as exc: filters = parse_filters({}) - error = str(exc) + error = error or str(exc) all_courses = _courses() - if request.method == 'POST' and not error: - try: - action = request.POST.get('action') - if action not in ('rerun', 'save'): - raise ValueError('Неизвестное действие.') - keys = _selected_keys(request, filters, all_courses) - normalized = _settings_from_form(request, rerun=action == 'rerun') - if action == 'rerun': - results = service.queue_course_reruns(request.user, keys, normalized) - else: - if not normalized: - raise ValueError('Заполните хотя бы одну настройку для сохранения.') - results = service.save_course_settings(request.user, keys, normalized) - LOG.info( - 'LMS course admin action=%s user=%s courses=%s results=%s', - action, request.user.pk, [str(key) for key in keys], - [(row['course_id'], row['state']) for row in results], - ) - except (ValueError, TypeError, InvalidKeyError, ValidationError) as exc: - error = '; '.join(exc.messages) if isinstance(exc, ValidationError) else str(exc) - except Exception: # pylint: disable=broad-except - LOG.exception('Unexpected LMS course admin failure') - error = 'Операция не выполнена. Подробности записаны в журнал LMS.' + if request.method == 'POST': + if not error: + try: + action = request.POST.get('action') + if action not in ('rerun', 'save'): + raise ValueError('Неизвестное действие.') + keys = _selected_keys(request, filters, all_courses) + normalized = _settings_from_form(request, rerun=action == 'rerun') + if action == 'rerun': + results = service.queue_course_reruns(request.user, keys, normalized) + else: + if not normalized: + raise ValueError('Заполните хотя бы одну настройку для сохранения.') + results = service.save_course_settings(request.user, keys, normalized) + LOG.info( + 'LMS course admin action=%s user=%s courses=%s results=%s', + action, request.user.pk, [str(key) for key in keys], + [(row['course_id'], row['state']) for row in results], + ) + except (ValueError, TypeError, InvalidKeyError, ValidationError) as exc: + error = '; '.join(exc.messages) if isinstance(exc, ValidationError) else str(exc) + except Exception: # pylint: disable=broad-except + LOG.exception('Unexpected LMS course admin failure') + error = 'Операция не выполнена. Подробности записаны в журнал LMS.' + request.session[FEEDBACK_SESSION_KEY] = {'results': results, 'error': error} + return _redirect_after_post(filters, request.POST.get('page')) courses = filter_courses(all_courses, filters) - page = Paginator(courses, 50).get_page(source.get('page', 1)) + page = Paginator(courses, 50).get_page(request.GET.get('page', 1)) recent = CourseRerunState.objects.find_all(created_user=request.user).order_by('-created_time')[:30] return render_to_response('course-admin.html', { 'courses': _display_courses(page.object_list), @@ -262,6 +303,7 @@ def course_admin(request): 'total': page.paginator.count, 'results': results, 'recent_results': [_state_result(state) for state in recent], + 'form_values': form_values, 'error': error, 'csrf_token': get_token(request), }, request=request) diff --git a/lms/templates/course-admin.html b/lms/templates/course-admin.html index 24fcc205c433..7fc59df29c5a 100644 --- a/lms/templates/course-admin.html +++ b/lms/templates/course-admin.html @@ -2,6 +2,12 @@ <%page expression_filter="h"/> <%! from urllib.parse import urlencode + +def selected(values, name, value): + return 'selected' if values.get(name, '') == value else '' + +def checked(values, name): + return 'checked' if values.get(name) == '1' else '' %> <% pagination_filters = {key: value for key, value in course_filters.items() if value not in ('', None, False)} @@ -22,6 +28,7 @@ h1 { margin: 0 0 6px; font-size: 30px; } h2 { margin: 0 0 16px; font-size: 20px; } .muted { color: #607086; } + .help { margin-top: 5px; color: #607086; font-size: 13px; font-weight: normal; } .panel { margin-top: 18px; padding: 20px; border: 1px solid #d7dee7; border-radius: 8px; background: white; } .grid { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 14px; } label.field { display: flex; flex-direction: column; gap: 5px; font-weight: 600; } @@ -34,6 +41,7 @@ table { width: 100%; border-collapse: collapse; font-size: 14px; } th, td { padding: 10px; border-bottom: 1px solid #e1e6ed; text-align: left; vertical-align: top; } th { background: #f6f8fa; } + tbody tr:has(input[name=course_ids]:checked) { background: #f0f7ff; } code { display: block; margin-top: 4px; color: #5d6876; overflow-wrap: anywhere; } .notice { margin-top: 16px; padding: 12px 14px; border-radius: 4px; background: #edf4fc; } .error { color: #8f2020; background: #ffeded; } @@ -42,6 +50,9 @@ legend { margin-bottom: 12px; font-weight: bold; } .pagination { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 15px; } .status { white-space: nowrap; font-weight: bold; } + .actions { position: sticky; bottom: 10px; z-index: 2; padding: 12px; border: 1px solid #c8d8e8; border-radius: 6px; background: #f7fbff; box-shadow: 0 4px 14px #2030471f; } + .selection-count { padding: 5px 9px; border-radius: 12px; background: #e4eef8; color: #174f7c; font-weight: bold; } + input:focus, select:focus, button:focus { outline: 3px solid #87b9e2; outline-offset: 1px; } @media (max-width: 900px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 560px) { .grid { grid-template-columns: 1fr; } main { padding: 18px 10px 40px; } } @@ -86,10 +97,13 @@

    Фильтр курсов

    1. Выберите курсы

    - +
    + + Выбрано на странице: 0 +
    - + % for course in courses: @@ -122,30 +136,32 @@

    1. Выберите курсы

    2. Общие настройки

    +

    После отправки формы значения сохраняются в вашей администраторской сессии и останутся после обновления страницы.

    Расписание, UTC
    - - - - + + + +
    Доступ и сертификаты
    - - - - - - + + + + + +
    - + +
    -
    +
    @@ -167,14 +183,40 @@

    Результат команды

    % if recent_results:

    Последние перезапуски

    -

    Обновите страницу, чтобы получить текущее состояние фоновой задачи.

    +

    Открывайте новый курс после состояния «succeeded»: к этому моменту его LMS-оглавление уже построено.

    + Обновить состояния
    ВыборКурсОрганизация / запускПериод курса, UTCРежим / сертификатыВидимость
    КурсОрганизация / запускПериод курса, UTCРежим / сертификатыВидимость
    % for result in recent_results: - + % endfor
    Исходный курсНовый курсСостояниеСообщение
    ${result['source_course_id']}${result['course_id']}${result['state']}${result['message']}
    ${result['source_course_id']} + % if result['state'] == 'succeeded': + ${result['course_id']} + % else: + ${result['course_id']} + % endif + ${result['state']}${result['message']}
    % endif +