django-pfx 1.4.dev44__tar.gz → 1.4.dev46__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/PKG-INFO +1 -1
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/django_pfx.egg-info/PKG-INFO +1 -1
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/default_settings.py +1 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/otp_user_mixin.py +5 -2
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_auth_api.py +8 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/.gitignore +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/.gitlab-ci.yml +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/.pre-commit-config.yaml +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/LICENSE +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/MANIFEST.in +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/README.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/django_pfx.egg-info/SOURCES.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/django_pfx.egg-info/dependency_links.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/django_pfx.egg-info/requires.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/django_pfx.egg-info/top_level.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/Makefile +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/conf.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/index.rst +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/api.views.rst +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/authentication.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/decorator.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/generate_openapi.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/getting_started.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/internationalisation.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/model.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/pfx_views.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/profiling.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/settings.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/doc/source/testing.md +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/img/pfx.png +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/img/pfx.svg +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/make_messages +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/manage.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/apidoc/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/apidoc/parameters.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/apidoc/schema.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/apidoc/tags.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/apps.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/decorator/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/decorator/rest.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/exceptions.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/fields.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/http/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/http/json_response.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/management/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/management/commands/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/management/commands/profile.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/middleware/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/middleware/authentication.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/middleware/locale.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/middleware/profiling.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/migrations/0001_initial.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/migrations/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/abstract_pfx_base_user.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/cache_mixins.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/login_ban.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/not_null_fields.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/pfx_models.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/pfx_user.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/serializers/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/serializers/json.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/settings.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/shortcuts.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/storage/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/storage/s3_storage.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/templates/registration/otp_code_email.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/templates/registration/otp_code_subject.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/test.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/urls.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/authentication_views.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/fields.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/filters_views.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/locale_views.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/date_format.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/groups.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/list_count.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/list_items.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/list_order.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/list_search.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/subset.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/rest_views.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/settings/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/settings/dev.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pyproject.toml +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/requirements.txt +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/serve-doc +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/setup.cfg +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/setup.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/models.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/settings/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/settings/ci.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/settings/common.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/settings/dev.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/settings/dev_custom_example.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/settings/dev_default.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/__init__.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/basic_api_errors.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/basic_api_test.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_api_doc.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_body_mixin.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_cache.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_client.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_fields.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_filters.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_locale_api.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_perm_tests.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_perms_api.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_profiling_middleware.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_settings.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_shortcuts.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_timezone_middleware.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_tools.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_user_queryset.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_view_decorators.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/tests/test_view_fields.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/urls.py +0 -0
- {django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/tests/views.py +0 -0
|
@@ -69,10 +69,13 @@ class OtpUserMixin(models.Model):
|
|
|
69
69
|
"""Return the setup URL for OTP activation.
|
|
70
70
|
"""
|
|
71
71
|
import pyotp
|
|
72
|
+
args = dict(
|
|
73
|
+
name=self.get_username(), issuer_name=settings.PFX_SITE_NAME)
|
|
74
|
+
if settings.PFX_OTP_IMAGE:
|
|
75
|
+
args['image'] = settings.PFX_OTP_IMAGE
|
|
72
76
|
return pyotp.totp.TOTP(
|
|
73
77
|
tmp and self.otp_secret_token_tmp or
|
|
74
|
-
self.otp_secret_token).provisioning_uri(
|
|
75
|
-
name=self.email, issuer_name=settings.PFX_SITE_NAME)
|
|
78
|
+
self.otp_secret_token).provisioning_uri(**args)
|
|
76
79
|
|
|
77
80
|
def is_otp_valid(self, otp_code, tmp=False):
|
|
78
81
|
"""Verify an OTP code.
|
|
@@ -894,6 +894,7 @@ class AuthAPITest(TestAssertMixin, TransactionTestCase):
|
|
|
894
894
|
self.assertRC(response, 200)
|
|
895
895
|
self.client.token = self.get_val(response, 'token')
|
|
896
896
|
|
|
897
|
+
@override_settings(PFX_OTP_IMAGE="https://example.org/fake.png")
|
|
897
898
|
def test_otp_enable(self):
|
|
898
899
|
self.client.login(username='jrr.tolkien', password='RIGHT PASSWORD')
|
|
899
900
|
|
|
@@ -901,7 +902,14 @@ class AuthAPITest(TestAssertMixin, TransactionTestCase):
|
|
|
901
902
|
response = self.client.get('/api/auth/otp/setup-uri')
|
|
902
903
|
self.assertRC(response, 200)
|
|
903
904
|
self.assertJIn(response, 'setup_uri', "otpauth://totp/")
|
|
905
|
+
self.assertJIn(response, 'setup_uri', "Books%20Demo:jrr.tolkien")
|
|
906
|
+
self.assertJIn(response, 'setup_uri', "issuer=Books%20Demo")
|
|
907
|
+
self.assertJIn(
|
|
908
|
+
response, 'setup_uri',
|
|
909
|
+
"image=https%3A%2F%2Fexample.org%2Ffake.png")
|
|
904
910
|
self.user1.refresh_from_db()
|
|
911
|
+
self.assertJIn(
|
|
912
|
+
response, 'setup_uri', f"secret={self.user1.otp_secret_token_tmp}")
|
|
905
913
|
self.assertIsNone(self.user1.otp_secret_token)
|
|
906
914
|
self.assertEqual(len(self.user1.otp_secret_token_tmp), 32)
|
|
907
915
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/models/user_filtered_queryset_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/templates/registration/otp_code_email.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/templates/registration/welcome_email.txt
RENAMED
|
File without changes
|
{django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/templates/registration/welcome_subject.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/media_redirect.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/subset_page_size.py
RENAMED
|
File without changes
|
{django_pfx-1.4.dev44 → django_pfx-1.4.dev46}/pfx/pfxcore/views/parameters/subset_page_subset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|