From 8560de75abb002904a2befa2104680b78fc5c6c3 Mon Sep 17 00:00:00 2001 From: Irak Date: Tue, 29 Oct 2019 15:07:24 +0100 Subject: [PATCH] aenderung --- .idea/vcs.xml | 6 + news/.idea/misc.xml | 7 + news/.idea/modules.xml | 8 + news/.idea/news.iml | 33 + news/.idea/workspace.xml | 242 + news/db.sqlite3 | 0 news/manage.py | 21 + news/news/__init__.py | 0 news/news/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 153 bytes news/news/__pycache__/settings.cpython-37.pyc | Bin 0 -> 2272 bytes news/news/__pycache__/urls.cpython-37.pyc | Bin 0 -> 925 bytes news/news/__pycache__/wsgi.cpython-37.pyc | Bin 0 -> 550 bytes news/news/settings.py | 121 + news/news/urls.py | 22 + news/news/wsgi.py | 16 + news/posts/__init__.py | 0 news/posts/admin.py | 3 + news/posts/apps.py | 5 + news/posts/migrations/__init__.py | 0 news/posts/models.py | 3 + news/posts/tests.py | 3 + news/posts/views.py | 5 + .../__pycache__/django-admin.cpython-37.pyc | Bin 0 -> 323 bytes news/venv/bin/activate | 76 + news/venv/bin/activate.csh | 37 + news/venv/bin/activate.fish | 75 + news/venv/bin/django-admin | 11 + news/venv/bin/django-admin.py | 5 + news/venv/bin/easy_install | 12 + news/venv/bin/easy_install-3.7 | 12 + news/venv/bin/pip | 12 + news/venv/bin/pip3 | 12 + news/venv/bin/pip3.7 | 12 + news/venv/bin/python | Bin 0 -> 9604 bytes news/venv/bin/python3 | Bin 0 -> 9604 bytes news/venv/bin/python3.7 | Bin 0 -> 9604 bytes news/venv/bin/sqlformat | 11 + .../Django-2.2.6.dist-info/INSTALLER | 1 + .../Django-2.2.6.dist-info/LICENSE | 27 + .../Django-2.2.6.dist-info/METADATA | 84 + .../Django-2.2.6.dist-info/RECORD | 4212 +++++++ .../Django-2.2.6.dist-info/WHEEL | 5 + .../Django-2.2.6.dist-info/entry_points.txt | 3 + .../Django-2.2.6.dist-info/top_level.txt | 1 + .../site-packages/django/__init__.py | 24 + .../site-packages/django/__main__.py | 9 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1001 bytes .../__pycache__/__main__.cpython-37.pyc | Bin 0 -> 415 bytes .../__pycache__/shortcuts.cpython-37.pyc | Bin 0 -> 4994 bytes .../site-packages/django/apps/__init__.py | 4 + .../apps/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 298 bytes .../apps/__pycache__/config.cpython-37.pyc | Bin 0 -> 4842 bytes .../apps/__pycache__/registry.cpython-37.pyc | Bin 0 -> 12906 bytes .../site-packages/django/apps/config.py | 216 + .../site-packages/django/apps/registry.py | 426 + .../__pycache__/django-admin.cpython-37.pyc | Bin 0 -> 308 bytes .../site-packages/django/bin/django-admin.py | 5 + .../site-packages/django/conf/__init__.py | 255 + .../conf/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 9042 bytes .../global_settings.cpython-37.pyc | Bin 0 -> 8297 bytes .../django/conf/app_template/__init__.py-tpl | 0 .../django/conf/app_template/admin.py-tpl | 3 + .../django/conf/app_template/apps.py-tpl | 5 + .../app_template/migrations/__init__.py-tpl | 0 .../django/conf/app_template/models.py-tpl | 3 + .../django/conf/app_template/tests.py-tpl | 3 + .../django/conf/app_template/views.py-tpl | 3 + .../django/conf/global_settings.py | 636 + .../django/conf/locale/__init__.py | 575 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 5695 bytes .../conf/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 26389 bytes .../conf/locale/af/LC_MESSAGES/django.po | 1275 ++ .../conf/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 30712 bytes .../conf/locale/ar/LC_MESSAGES/django.po | 1314 ++ .../django/conf/locale/ar/__init__.py | 0 .../ar/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ar/__pycache__/formats.cpython-37.pyc | Bin 0 -> 410 bytes .../django/conf/locale/ar/formats.py | 21 + .../conf/locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 16665 bytes .../conf/locale/ast/LC_MESSAGES/django.po | 1212 ++ .../conf/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 26630 bytes .../conf/locale/az/LC_MESSAGES/django.po | 1260 ++ .../django/conf/locale/az/__init__.py | 0 .../az/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../az/__pycache__/formats.cpython-37.pyc | Bin 0 -> 757 bytes .../django/conf/locale/az/formats.py | 32 + .../conf/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 34765 bytes .../conf/locale/be/LC_MESSAGES/django.po | 1301 ++ .../conf/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 29687 bytes .../conf/locale/bg/LC_MESSAGES/django.po | 1253 ++ .../django/conf/locale/bg/__init__.py | 0 .../bg/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../bg/__pycache__/formats.cpython-37.pyc | Bin 0 -> 368 bytes .../django/conf/locale/bg/formats.py | 21 + .../conf/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 17250 bytes .../conf/locale/bn/LC_MESSAGES/django.po | 1191 ++ .../django/conf/locale/bn/__init__.py | 0 .../bn/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../bn/__pycache__/formats.cpython-37.pyc | Bin 0 -> 628 bytes .../django/conf/locale/bn/formats.py | 32 + .../conf/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 15435 bytes .../conf/locale/br/LC_MESSAGES/django.po | 1259 ++ .../conf/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 11073 bytes .../conf/locale/bs/LC_MESSAGES/django.po | 1211 ++ .../django/conf/locale/bs/__init__.py | 0 .../bs/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../bs/__pycache__/formats.cpython-37.pyc | Bin 0 -> 437 bytes .../django/conf/locale/bs/formats.py | 21 + .../conf/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 26667 bytes .../conf/locale/ca/LC_MESSAGES/django.po | 1284 ++ .../django/conf/locale/ca/__init__.py | 0 .../ca/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ca/__pycache__/formats.cpython-37.pyc | Bin 0 -> 784 bytes .../django/conf/locale/ca/formats.py | 30 + .../conf/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 28343 bytes .../conf/locale/cs/LC_MESSAGES/django.po | 1310 ++ .../django/conf/locale/cs/__init__.py | 0 .../cs/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../cs/__pycache__/formats.cpython-37.pyc | Bin 0 -> 915 bytes .../django/conf/locale/cs/formats.py | 42 + .../conf/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 22280 bytes .../conf/locale/cy/LC_MESSAGES/django.po | 1274 ++ .../django/conf/locale/cy/__init__.py | 0 .../cy/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../cy/__pycache__/formats.cpython-37.pyc | Bin 0 -> 828 bytes .../django/conf/locale/cy/formats.py | 35 + .../conf/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 26075 bytes .../conf/locale/da/LC_MESSAGES/django.po | 1267 ++ .../django/conf/locale/da/__init__.py | 0 .../da/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../da/__pycache__/formats.cpython-37.pyc | Bin 0 -> 664 bytes .../django/conf/locale/da/formats.py | 26 + .../conf/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 27406 bytes .../conf/locale/de/LC_MESSAGES/django.po | 1283 ++ .../django/conf/locale/de/__init__.py | 0 .../de/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../de/__pycache__/formats.cpython-37.pyc | Bin 0 -> 680 bytes .../django/conf/locale/de/formats.py | 28 + .../django/conf/locale/de_CH/__init__.py | 0 .../de_CH/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../de_CH/__pycache__/formats.cpython-37.pyc | Bin 0 -> 687 bytes .../django/conf/locale/de_CH/formats.py | 34 + .../conf/locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 28798 bytes .../conf/locale/dsb/LC_MESSAGES/django.po | 1319 ++ .../conf/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 34441 bytes .../conf/locale/el/LC_MESSAGES/django.po | 1299 ++ .../django/conf/locale/el/__init__.py | 0 .../el/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../el/__pycache__/formats.cpython-37.pyc | Bin 0 -> 813 bytes .../django/conf/locale/el/formats.py | 35 + .../conf/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../conf/locale/en/LC_MESSAGES/django.po | 1527 +++ .../django/conf/locale/en/__init__.py | 0 .../en/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../en/__pycache__/formats.cpython-37.pyc | Bin 0 -> 832 bytes .../django/conf/locale/en/formats.py | 40 + .../conf/locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 16288 bytes .../conf/locale/en_AU/LC_MESSAGES/django.po | 1205 ++ .../django/conf/locale/en_AU/__init__.py | 0 .../en_AU/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../en_AU/__pycache__/formats.cpython-37.pyc | Bin 0 -> 831 bytes .../django/conf/locale/en_AU/formats.py | 39 + .../conf/locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 13133 bytes .../conf/locale/en_GB/LC_MESSAGES/django.po | 1195 ++ .../django/conf/locale/en_GB/__init__.py | 0 .../en_GB/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../en_GB/__pycache__/formats.cpython-37.pyc | Bin 0 -> 831 bytes .../django/conf/locale/en_GB/formats.py | 39 + .../conf/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 26087 bytes .../conf/locale/eo/LC_MESSAGES/django.po | 1276 ++ .../django/conf/locale/eo/__init__.py | 0 .../eo/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../eo/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1000 bytes .../django/conf/locale/eo/formats.py | 49 + .../conf/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 26778 bytes .../conf/locale/es/LC_MESSAGES/django.po | 1297 ++ .../django/conf/locale/es/__init__.py | 0 .../es/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../es/__pycache__/formats.cpython-37.pyc | Bin 0 -> 782 bytes .../django/conf/locale/es/formats.py | 30 + .../conf/locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 27233 bytes .../conf/locale/es_AR/LC_MESSAGES/django.po | 1285 ++ .../django/conf/locale/es_AR/__init__.py | 0 .../es_AR/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../es_AR/__pycache__/formats.cpython-37.pyc | Bin 0 -> 752 bytes .../django/conf/locale/es_AR/formats.py | 30 + .../conf/locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 22791 bytes .../conf/locale/es_CO/LC_MESSAGES/django.po | 1241 ++ .../django/conf/locale/es_CO/__init__.py | 0 .../es_CO/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../es_CO/__pycache__/formats.cpython-37.pyc | Bin 0 -> 797 bytes .../django/conf/locale/es_CO/formats.py | 26 + .../conf/locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 15095 bytes .../conf/locale/es_MX/LC_MESSAGES/django.po | 1204 ++ .../django/conf/locale/es_MX/__init__.py | 0 .../es_MX/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../es_MX/__pycache__/formats.cpython-37.pyc | Bin 0 -> 797 bytes .../django/conf/locale/es_MX/formats.py | 25 + .../django/conf/locale/es_NI/__init__.py | 0 .../es_NI/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../es_NI/__pycache__/formats.cpython-37.pyc | Bin 0 -> 797 bytes .../django/conf/locale/es_NI/formats.py | 26 + .../django/conf/locale/es_PR/__init__.py | 0 .../es_PR/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../es_PR/__pycache__/formats.cpython-37.pyc | Bin 0 -> 785 bytes .../django/conf/locale/es_PR/formats.py | 27 + .../conf/locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 23797 bytes .../conf/locale/es_VE/LC_MESSAGES/django.po | 1245 ++ .../conf/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 24191 bytes .../conf/locale/et/LC_MESSAGES/django.po | 1264 ++ .../django/conf/locale/et/__init__.py | 0 .../et/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../et/__pycache__/formats.cpython-37.pyc | Bin 0 -> 370 bytes .../django/conf/locale/et/formats.py | 21 + .../conf/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 26371 bytes .../conf/locale/eu/LC_MESSAGES/django.po | 1277 ++ .../django/conf/locale/eu/__init__.py | 0 .../eu/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../eu/__pycache__/formats.cpython-37.pyc | Bin 0 -> 551 bytes .../django/conf/locale/eu/formats.py | 21 + .../conf/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 30916 bytes .../conf/locale/fa/LC_MESSAGES/django.po | 1270 ++ .../django/conf/locale/fa/__init__.py | 0 .../fa/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../fa/__pycache__/formats.cpython-37.pyc | Bin 0 -> 520 bytes .../django/conf/locale/fa/formats.py | 21 + .../conf/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 26301 bytes .../conf/locale/fi/LC_MESSAGES/django.po | 1267 ++ .../django/conf/locale/fi/__init__.py | 0 .../fi/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../fi/__pycache__/formats.cpython-37.pyc | Bin 0 -> 836 bytes .../django/conf/locale/fi/formats.py | 39 + .../conf/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 27684 bytes .../conf/locale/fr/LC_MESSAGES/django.po | 1299 ++ .../django/conf/locale/fr/__init__.py | 0 .../fr/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../fr/__pycache__/formats.cpython-37.pyc | Bin 0 -> 780 bytes .../django/conf/locale/fr/formats.py | 33 + .../conf/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 2525 bytes .../conf/locale/fy/LC_MESSAGES/django.po | 1191 ++ .../django/conf/locale/fy/__init__.py | 0 .../fy/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../fy/__pycache__/formats.cpython-37.pyc | Bin 0 -> 201 bytes .../django/conf/locale/fy/formats.py | 21 + .../conf/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 15097 bytes .../conf/locale/ga/LC_MESSAGES/django.po | 1252 ++ .../django/conf/locale/ga/__init__.py | 0 .../ga/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ga/__pycache__/formats.cpython-37.pyc | Bin 0 -> 364 bytes .../django/conf/locale/ga/formats.py | 21 + .../conf/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 29716 bytes .../conf/locale/gd/LC_MESSAGES/django.po | 1343 ++ .../django/conf/locale/gd/__init__.py | 0 .../gd/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../gd/__pycache__/formats.cpython-37.pyc | Bin 0 -> 471 bytes .../django/conf/locale/gd/formats.py | 21 + .../conf/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 15342 bytes .../conf/locale/gl/LC_MESSAGES/django.po | 1208 ++ .../django/conf/locale/gl/__init__.py | 0 .../gl/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../gl/__pycache__/formats.cpython-37.pyc | Bin 0 -> 538 bytes .../django/conf/locale/gl/formats.py | 21 + .../conf/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 30609 bytes .../conf/locale/he/LC_MESSAGES/django.po | 1280 ++ .../django/conf/locale/he/__init__.py | 0 .../he/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../he/__pycache__/formats.cpython-37.pyc | Bin 0 -> 483 bytes .../django/conf/locale/he/formats.py | 21 + .../conf/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 19270 bytes .../conf/locale/hi/LC_MESSAGES/django.po | 1193 ++ .../django/conf/locale/hi/__init__.py | 0 .../hi/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../hi/__pycache__/formats.cpython-37.pyc | Bin 0 -> 366 bytes .../django/conf/locale/hi/formats.py | 21 + .../conf/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 24409 bytes .../conf/locale/hr/LC_MESSAGES/django.po | 1277 ++ .../django/conf/locale/hr/__init__.py | 0 .../hr/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../hr/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1049 bytes .../django/conf/locale/hr/formats.py | 47 + .../conf/locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 28550 bytes .../conf/locale/hsb/LC_MESSAGES/django.po | 1312 ++ .../conf/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 27364 bytes .../conf/locale/hu/LC_MESSAGES/django.po | 1291 ++ .../django/conf/locale/hu/__init__.py | 0 .../hu/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../hu/__pycache__/formats.cpython-37.pyc | Bin 0 -> 730 bytes .../django/conf/locale/hu/formats.py | 31 + .../conf/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 27713 bytes .../conf/locale/hy/LC_MESSAGES/django.po | 1243 ++ .../conf/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 23125 bytes .../conf/locale/ia/LC_MESSAGES/django.po | 1245 ++ .../conf/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 25925 bytes .../conf/locale/id/LC_MESSAGES/django.po | 1265 ++ .../django/conf/locale/id/__init__.py | 0 .../id/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../id/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1020 bytes .../django/conf/locale/id/formats.py | 49 + .../conf/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 14965 bytes .../conf/locale/io/LC_MESSAGES/django.po | 1206 ++ .../conf/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 24466 bytes .../conf/locale/is/LC_MESSAGES/django.po | 1266 ++ .../django/conf/locale/is/__init__.py | 0 .../is/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../is/__pycache__/formats.cpython-37.pyc | Bin 0 -> 424 bytes .../django/conf/locale/is/formats.py | 21 + .../conf/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 26635 bytes .../conf/locale/it/LC_MESSAGES/django.po | 1287 ++ .../django/conf/locale/it/__init__.py | 0 .../it/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../it/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1023 bytes .../django/conf/locale/it/formats.py | 45 + .../conf/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 29182 bytes .../conf/locale/ja/LC_MESSAGES/django.po | 1250 ++ .../django/conf/locale/ja/__init__.py | 0 .../ja/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ja/__pycache__/formats.cpython-37.pyc | Bin 0 -> 503 bytes .../django/conf/locale/ja/formats.py | 21 + .../conf/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 29673 bytes .../conf/locale/ka/LC_MESSAGES/django.po | 1248 ++ .../django/conf/locale/ka/__init__.py | 0 .../ka/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ka/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1011 bytes .../django/conf/locale/ka/formats.py | 47 + .../conf/locale/kab/LC_MESSAGES/django.mo | Bin 0 -> 7200 bytes .../conf/locale/kab/LC_MESSAGES/django.po | 1182 ++ .../conf/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 13916 bytes .../conf/locale/kk/LC_MESSAGES/django.po | 1213 ++ .../conf/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 7284 bytes .../conf/locale/km/LC_MESSAGES/django.po | 1167 ++ .../django/conf/locale/km/__init__.py | 0 .../km/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../km/__pycache__/formats.cpython-37.pyc | Bin 0 -> 492 bytes .../django/conf/locale/km/formats.py | 21 + .../conf/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 18634 bytes .../conf/locale/kn/LC_MESSAGES/django.po | 1224 ++ .../django/conf/locale/kn/__init__.py | 0 .../kn/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../kn/__pycache__/formats.cpython-37.pyc | Bin 0 -> 309 bytes .../django/conf/locale/kn/formats.py | 21 + .../conf/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 27294 bytes .../conf/locale/ko/LC_MESSAGES/django.po | 1252 ++ .../django/conf/locale/ko/__init__.py | 0 .../ko/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ko/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1072 bytes .../django/conf/locale/ko/formats.py | 52 + .../conf/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 8069 bytes .../conf/locale/lb/LC_MESSAGES/django.po | 1184 ++ .../conf/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 28609 bytes .../conf/locale/lt/LC_MESSAGES/django.po | 1324 ++ .../django/conf/locale/lt/__init__.py | 0 .../lt/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../lt/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1033 bytes .../django/conf/locale/lt/formats.py | 45 + .../conf/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 27473 bytes .../conf/locale/lv/LC_MESSAGES/django.po | 1294 ++ .../django/conf/locale/lv/__init__.py | 0 .../lv/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../lv/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1041 bytes .../django/conf/locale/lv/formats.py | 46 + .../conf/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 29431 bytes .../conf/locale/mk/LC_MESSAGES/django.po | 1254 ++ .../django/conf/locale/mk/__init__.py | 0 .../mk/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../mk/__pycache__/formats.cpython-37.pyc | Bin 0 -> 940 bytes .../django/conf/locale/mk/formats.py | 42 + .../conf/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 36981 bytes .../conf/locale/ml/LC_MESSAGES/django.po | 1247 ++ .../django/conf/locale/ml/__init__.py | 0 .../ml/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ml/__pycache__/formats.cpython-37.pyc | Bin 0 -> 832 bytes .../django/conf/locale/ml/formats.py | 40 + .../conf/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 31170 bytes .../conf/locale/mn/LC_MESSAGES/django.po | 1274 ++ .../django/conf/locale/mn/__init__.py | 0 .../mn/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../mn/__pycache__/formats.cpython-37.pyc | Bin 0 -> 280 bytes .../django/conf/locale/mn/formats.py | 21 + .../conf/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 1652 bytes .../conf/locale/mr/LC_MESSAGES/django.po | 1183 ++ .../conf/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 2650 bytes .../conf/locale/my/LC_MESSAGES/django.po | 1168 ++ .../conf/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 25948 bytes .../conf/locale/nb/LC_MESSAGES/django.po | 1271 ++ .../django/conf/locale/nb/__init__.py | 0 .../nb/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../nb/__pycache__/formats.cpython-37.pyc | Bin 0 -> 842 bytes .../django/conf/locale/nb/formats.py | 39 + .../conf/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 31196 bytes .../conf/locale/ne/LC_MESSAGES/django.po | 1229 ++ .../conf/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 25925 bytes .../conf/locale/nl/LC_MESSAGES/django.po | 1283 ++ .../django/conf/locale/nl/__init__.py | 0 .../nl/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../nl/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1428 bytes .../django/conf/locale/nl/formats.py | 70 + .../conf/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 14256 bytes .../conf/locale/nn/LC_MESSAGES/django.po | 1198 ++ .../django/conf/locale/nn/__init__.py | 0 .../nn/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../nn/__pycache__/formats.cpython-37.pyc | Bin 0 -> 846 bytes .../django/conf/locale/nn/formats.py | 40 + .../conf/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 19250 bytes .../conf/locale/os/LC_MESSAGES/django.po | 1210 ++ .../conf/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 11501 bytes .../conf/locale/pa/LC_MESSAGES/django.po | 1184 ++ .../conf/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 28877 bytes .../conf/locale/pl/LC_MESSAGES/django.po | 1345 ++ .../django/conf/locale/pl/__init__.py | 0 .../pl/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../pl/__pycache__/formats.cpython-37.pyc | Bin 0 -> 696 bytes .../django/conf/locale/pl/formats.py | 29 + .../conf/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 26396 bytes .../conf/locale/pt/LC_MESSAGES/django.po | 1277 ++ .../django/conf/locale/pt/__init__.py | 0 .../pt/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../pt/__pycache__/formats.cpython-37.pyc | Bin 0 -> 873 bytes .../django/conf/locale/pt/formats.py | 38 + .../conf/locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 26707 bytes .../conf/locale/pt_BR/LC_MESSAGES/django.po | 1295 ++ .../django/conf/locale/pt_BR/__init__.py | 0 .../pt_BR/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../pt_BR/__pycache__/formats.cpython-37.pyc | Bin 0 -> 791 bytes .../django/conf/locale/pt_BR/formats.py | 33 + .../conf/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 27531 bytes .../conf/locale/ro/LC_MESSAGES/django.po | 1307 ++ .../django/conf/locale/ro/__init__.py | 0 .../ro/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ro/__pycache__/formats.cpython-37.pyc | Bin 0 -> 796 bytes .../django/conf/locale/ro/formats.py | 35 + .../conf/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 36963 bytes .../conf/locale/ru/LC_MESSAGES/django.po | 1349 ++ .../django/conf/locale/ru/__init__.py | 0 .../ru/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ru/__pycache__/formats.cpython-37.pyc | Bin 0 -> 777 bytes .../django/conf/locale/ru/formats.py | 32 + .../conf/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 27960 bytes .../conf/locale/sk/LC_MESSAGES/django.po | 1310 ++ .../django/conf/locale/sk/__init__.py | 0 .../sk/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../sk/__pycache__/formats.cpython-37.pyc | Bin 0 -> 698 bytes .../django/conf/locale/sk/formats.py | 29 + .../conf/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 27630 bytes .../conf/locale/sl/LC_MESSAGES/django.po | 1309 ++ .../django/conf/locale/sl/__init__.py | 0 .../sl/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../sl/__pycache__/formats.cpython-37.pyc | Bin 0 -> 1032 bytes .../django/conf/locale/sl/formats.py | 47 + .../conf/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 26966 bytes .../conf/locale/sq/LC_MESSAGES/django.po | 1278 ++ .../django/conf/locale/sq/__init__.py | 0 .../sq/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../sq/__pycache__/formats.cpython-37.pyc | Bin 0 -> 396 bytes .../django/conf/locale/sq/formats.py | 21 + .../conf/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 33073 bytes .../conf/locale/sr/LC_MESSAGES/django.po | 1290 ++ .../django/conf/locale/sr/__init__.py | 0 .../sr/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../sr/__pycache__/formats.cpython-37.pyc | Bin 0 -> 962 bytes .../django/conf/locale/sr/formats.py | 43 + .../conf/locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 14941 bytes .../conf/locale/sr_Latn/LC_MESSAGES/django.po | 1230 ++ .../django/conf/locale/sr_Latn/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 207 bytes .../__pycache__/formats.cpython-37.pyc | Bin 0 -> 967 bytes .../django/conf/locale/sr_Latn/formats.py | 43 + .../conf/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 26399 bytes .../conf/locale/sv/LC_MESSAGES/django.po | 1283 ++ .../django/conf/locale/sv/__init__.py | 0 .../sv/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../sv/__pycache__/formats.cpython-37.pyc | Bin 0 -> 843 bytes .../django/conf/locale/sv/formats.py | 38 + .../conf/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 14903 bytes .../conf/locale/sw/LC_MESSAGES/django.po | 1194 ++ .../conf/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 7155 bytes .../conf/locale/ta/LC_MESSAGES/django.po | 1184 ++ .../django/conf/locale/ta/__init__.py | 0 .../ta/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../ta/__pycache__/formats.cpython-37.pyc | Bin 0 -> 311 bytes .../django/conf/locale/ta/formats.py | 21 + .../conf/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 13321 bytes .../conf/locale/te/LC_MESSAGES/django.po | 1187 ++ .../django/conf/locale/te/__init__.py | 0 .../te/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../te/__pycache__/formats.cpython-37.pyc | Bin 0 -> 309 bytes .../django/conf/locale/te/formats.py | 21 + .../conf/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 20155 bytes .../conf/locale/th/LC_MESSAGES/django.po | 1192 ++ .../django/conf/locale/th/__init__.py | 0 .../th/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../th/__pycache__/formats.cpython-37.pyc | Bin 0 -> 757 bytes .../django/conf/locale/th/formats.py | 33 + .../conf/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 27131 bytes .../conf/locale/tr/LC_MESSAGES/django.po | 1286 ++ .../django/conf/locale/tr/__init__.py | 0 .../tr/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../tr/__pycache__/formats.cpython-37.pyc | Bin 0 -> 691 bytes .../django/conf/locale/tr/formats.py | 29 + .../conf/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 15352 bytes .../conf/locale/tt/LC_MESSAGES/django.po | 1184 ++ .../conf/locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 13564 bytes .../conf/locale/udm/LC_MESSAGES/django.po | 1171 ++ .../conf/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 35688 bytes .../conf/locale/uk/LC_MESSAGES/django.po | 1338 ++ .../django/conf/locale/uk/__init__.py | 0 .../uk/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../uk/__pycache__/formats.cpython-37.pyc | Bin 0 -> 836 bytes .../django/conf/locale/uk/formats.py | 37 + .../conf/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 12566 bytes .../conf/locale/ur/LC_MESSAGES/django.po | 1193 ++ .../conf/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 19452 bytes .../conf/locale/vi/LC_MESSAGES/django.po | 1194 ++ .../django/conf/locale/vi/__init__.py | 0 .../vi/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../vi/__pycache__/formats.cpython-37.pyc | Bin 0 -> 528 bytes .../django/conf/locale/vi/formats.py | 21 + .../conf/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 25378 bytes .../conf/locale/zh_Hans/LC_MESSAGES/django.po | 1244 ++ .../django/conf/locale/zh_Hans/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 207 bytes .../__pycache__/formats.cpython-37.pyc | Bin 0 -> 955 bytes .../django/conf/locale/zh_Hans/formats.py | 42 + .../conf/locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 24865 bytes .../conf/locale/zh_Hant/LC_MESSAGES/django.po | 1207 ++ .../django/conf/locale/zh_Hant/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 207 bytes .../__pycache__/formats.cpython-37.pyc | Bin 0 -> 955 bytes .../django/conf/locale/zh_Hant/formats.py | 42 + .../conf/project_template/manage.py-tpl | 21 + .../project_name/__init__.py-tpl | 0 .../project_name/settings.py-tpl | 120 + .../project_template/project_name/urls.py-tpl | 21 + .../project_template/project_name/wsgi.py-tpl | 16 + .../django/conf/urls/__init__.py | 13 + .../urls/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 633 bytes .../conf/urls/__pycache__/i18n.cpython-37.pyc | Bin 0 -> 1325 bytes .../urls/__pycache__/static.cpython-37.pyc | Bin 0 -> 1059 bytes .../site-packages/django/conf/urls/i18n.py | 39 + .../site-packages/django/conf/urls/static.py | 28 + .../site-packages/django/contrib/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 195 bytes .../django/contrib/admin/__init__.py | 29 + .../admin/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1313 bytes .../admin/__pycache__/actions.cpython-37.pyc | Bin 0 -> 2337 bytes .../admin/__pycache__/apps.cpython-37.pyc | Bin 0 -> 1399 bytes .../admin/__pycache__/checks.cpython-37.pyc | Bin 0 -> 36476 bytes .../__pycache__/decorators.cpython-37.pyc | Bin 0 -> 1189 bytes .../__pycache__/exceptions.cpython-37.pyc | Bin 0 -> 742 bytes .../admin/__pycache__/filters.cpython-37.pyc | Bin 0 -> 14422 bytes .../admin/__pycache__/forms.cpython-37.pyc | Bin 0 -> 1379 bytes .../admin/__pycache__/helpers.cpython-37.pyc | Bin 0 -> 13618 bytes .../admin/__pycache__/models.cpython-37.pyc | Bin 0 -> 5097 bytes .../admin/__pycache__/options.cpython-37.pyc | Bin 0 -> 63033 bytes .../admin/__pycache__/sites.cpython-37.pyc | Bin 0 -> 15791 bytes .../admin/__pycache__/tests.cpython-37.pyc | Bin 0 -> 7737 bytes .../admin/__pycache__/utils.cpython-37.pyc | Bin 0 -> 15003 bytes .../admin/__pycache__/widgets.cpython-37.pyc | Bin 0 -> 19154 bytes .../django/contrib/admin/actions.py | 79 + .../django/contrib/admin/apps.py | 24 + .../django/contrib/admin/checks.py | 1134 ++ .../django/contrib/admin/decorators.py | 30 + .../django/contrib/admin/exceptions.py | 11 + .../django/contrib/admin/filters.py | 422 + .../django/contrib/admin/forms.py | 30 + .../django/contrib/admin/helpers.py | 402 + .../admin/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 16245 bytes .../admin/locale/af/LC_MESSAGES/django.po | 716 ++ .../admin/locale/af/LC_MESSAGES/djangojs.mo | Bin 0 -> 4477 bytes .../admin/locale/af/LC_MESSAGES/djangojs.po | 219 + .../admin/locale/am/LC_MESSAGES/django.mo | Bin 0 -> 8309 bytes .../admin/locale/am/LC_MESSAGES/django.po | 636 + .../admin/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 17621 bytes .../admin/locale/ar/LC_MESSAGES/django.po | 713 ++ .../admin/locale/ar/LC_MESSAGES/djangojs.mo | Bin 0 -> 4959 bytes .../admin/locale/ar/LC_MESSAGES/djangojs.po | 227 + .../admin/locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 2476 bytes .../admin/locale/ast/LC_MESSAGES/django.po | 636 + .../admin/locale/ast/LC_MESSAGES/djangojs.mo | Bin 0 -> 2137 bytes .../admin/locale/ast/LC_MESSAGES/djangojs.po | 211 + .../admin/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 16875 bytes .../admin/locale/az/LC_MESSAGES/django.po | 716 ++ .../admin/locale/az/LC_MESSAGES/djangojs.mo | Bin 0 -> 4621 bytes .../admin/locale/az/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 20007 bytes .../admin/locale/be/LC_MESSAGES/django.po | 685 + .../admin/locale/be/LC_MESSAGES/djangojs.mo | Bin 0 -> 5942 bytes .../admin/locale/be/LC_MESSAGES/djangojs.po | 224 + .../admin/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 20070 bytes .../admin/locale/bg/LC_MESSAGES/django.po | 689 + .../admin/locale/bg/LC_MESSAGES/djangojs.mo | Bin 0 -> 5565 bytes .../admin/locale/bg/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 15247 bytes .../admin/locale/bn/LC_MESSAGES/django.po | 652 + .../admin/locale/bn/LC_MESSAGES/djangojs.mo | Bin 0 -> 2313 bytes .../admin/locale/bn/LC_MESSAGES/djangojs.po | 207 + .../admin/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 6489 bytes .../admin/locale/br/LC_MESSAGES/django.po | 671 + .../admin/locale/br/LC_MESSAGES/djangojs.mo | Bin 0 -> 1658 bytes .../admin/locale/br/LC_MESSAGES/djangojs.po | 217 + .../admin/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 8845 bytes .../admin/locale/bs/LC_MESSAGES/django.po | 657 + .../admin/locale/bs/LC_MESSAGES/djangojs.mo | Bin 0 -> 1183 bytes .../admin/locale/bs/LC_MESSAGES/djangojs.po | 211 + .../admin/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 16994 bytes .../admin/locale/ca/LC_MESSAGES/django.po | 720 ++ .../admin/locale/ca/LC_MESSAGES/djangojs.mo | Bin 0 -> 4560 bytes .../admin/locale/ca/LC_MESSAGES/djangojs.po | 221 + .../admin/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 17190 bytes .../admin/locale/cs/LC_MESSAGES/django.po | 723 ++ .../admin/locale/cs/LC_MESSAGES/djangojs.mo | Bin 0 -> 5053 bytes .../admin/locale/cs/LC_MESSAGES/djangojs.po | 226 + .../admin/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 12521 bytes .../admin/locale/cy/LC_MESSAGES/django.po | 675 + .../admin/locale/cy/LC_MESSAGES/djangojs.mo | Bin 0 -> 3801 bytes .../admin/locale/cy/LC_MESSAGES/djangojs.po | 222 + .../admin/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 16367 bytes .../admin/locale/da/LC_MESSAGES/django.po | 712 ++ .../admin/locale/da/LC_MESSAGES/djangojs.mo | Bin 0 -> 4518 bytes .../admin/locale/da/LC_MESSAGES/djangojs.po | 221 + .../admin/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 17151 bytes .../admin/locale/de/LC_MESSAGES/django.po | 724 ++ .../admin/locale/de/LC_MESSAGES/djangojs.mo | Bin 0 -> 4602 bytes .../admin/locale/de/LC_MESSAGES/djangojs.po | 221 + .../admin/locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 17280 bytes .../admin/locale/dsb/LC_MESSAGES/django.po | 715 ++ .../admin/locale/dsb/LC_MESSAGES/djangojs.mo | Bin 0 -> 5016 bytes .../admin/locale/dsb/LC_MESSAGES/djangojs.po | 225 + .../admin/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 23088 bytes .../admin/locale/el/LC_MESSAGES/django.po | 738 ++ .../admin/locale/el/LC_MESSAGES/djangojs.mo | Bin 0 -> 5888 bytes .../admin/locale/el/LC_MESSAGES/djangojs.po | 223 + .../admin/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../admin/locale/en/LC_MESSAGES/django.po | 888 ++ .../admin/locale/en/LC_MESSAGES/djangojs.mo | Bin 0 -> 356 bytes .../admin/locale/en/LC_MESSAGES/djangojs.po | 263 + .../admin/locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 2894 bytes .../admin/locale/en_AU/LC_MESSAGES/django.po | 636 + .../locale/en_AU/LC_MESSAGES/djangojs.mo | Bin 0 -> 1714 bytes .../locale/en_AU/LC_MESSAGES/djangojs.po | 209 + .../admin/locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 11159 bytes .../admin/locale/en_GB/LC_MESSAGES/django.po | 691 ++ .../locale/en_GB/LC_MESSAGES/djangojs.mo | Bin 0 -> 3147 bytes .../locale/en_GB/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 16252 bytes .../admin/locale/eo/LC_MESSAGES/django.po | 717 ++ .../admin/locale/eo/LC_MESSAGES/djangojs.mo | Bin 0 -> 4452 bytes .../admin/locale/eo/LC_MESSAGES/djangojs.po | 220 + .../admin/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 17223 bytes .../admin/locale/es/LC_MESSAGES/django.po | 738 ++ .../admin/locale/es/LC_MESSAGES/djangojs.mo | Bin 0 -> 4627 bytes .../admin/locale/es/LC_MESSAGES/djangojs.po | 224 + .../admin/locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 17374 bytes .../admin/locale/es_AR/LC_MESSAGES/django.po | 721 ++ .../locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 0 -> 4892 bytes .../locale/es_AR/LC_MESSAGES/djangojs.po | 228 + .../admin/locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 15156 bytes .../admin/locale/es_CO/LC_MESSAGES/django.po | 697 ++ .../locale/es_CO/LC_MESSAGES/djangojs.mo | Bin 0 -> 3895 bytes .../locale/es_CO/LC_MESSAGES/djangojs.po | 223 + .../admin/locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 14127 bytes .../admin/locale/es_MX/LC_MESSAGES/django.po | 683 + .../locale/es_MX/LC_MESSAGES/djangojs.mo | Bin 0 -> 3380 bytes .../locale/es_MX/LC_MESSAGES/djangojs.po | 219 + .../admin/locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 16837 bytes .../admin/locale/es_VE/LC_MESSAGES/django.po | 698 ++ .../locale/es_VE/LC_MESSAGES/djangojs.mo | Bin 0 -> 4635 bytes .../locale/es_VE/LC_MESSAGES/djangojs.po | 222 + .../admin/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 15553 bytes .../admin/locale/et/LC_MESSAGES/django.po | 709 ++ .../admin/locale/et/LC_MESSAGES/djangojs.mo | Bin 0 -> 4394 bytes .../admin/locale/et/LC_MESSAGES/djangojs.po | 220 + .../admin/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 16336 bytes .../admin/locale/eu/LC_MESSAGES/django.po | 713 ++ .../admin/locale/eu/LC_MESSAGES/djangojs.mo | Bin 0 -> 4522 bytes .../admin/locale/eu/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 19770 bytes .../admin/locale/fa/LC_MESSAGES/django.po | 718 ++ .../admin/locale/fa/LC_MESSAGES/djangojs.mo | Bin 0 -> 5267 bytes .../admin/locale/fa/LC_MESSAGES/djangojs.po | 222 + .../admin/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 15778 bytes .../admin/locale/fi/LC_MESSAGES/django.po | 708 ++ .../admin/locale/fi/LC_MESSAGES/djangojs.mo | Bin 0 -> 4561 bytes .../admin/locale/fi/LC_MESSAGES/djangojs.po | 220 + .../admin/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 17947 bytes .../admin/locale/fr/LC_MESSAGES/django.po | 728 ++ .../admin/locale/fr/LC_MESSAGES/djangojs.mo | Bin 0 -> 4735 bytes .../admin/locale/fr/LC_MESSAGES/djangojs.po | 220 + .../admin/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../admin/locale/fy/LC_MESSAGES/django.po | 609 + .../admin/locale/fy/LC_MESSAGES/djangojs.mo | Bin 0 -> 476 bytes .../admin/locale/fy/LC_MESSAGES/djangojs.po | 145 + .../admin/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 15075 bytes .../admin/locale/ga/LC_MESSAGES/django.po | 715 ++ .../admin/locale/ga/LC_MESSAGES/djangojs.mo | Bin 0 -> 5247 bytes .../admin/locale/ga/LC_MESSAGES/djangojs.po | 234 + .../admin/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 18685 bytes .../admin/locale/gd/LC_MESSAGES/django.po | 743 ++ .../admin/locale/gd/LC_MESSAGES/djangojs.mo | Bin 0 -> 5304 bytes .../admin/locale/gd/LC_MESSAGES/djangojs.po | 237 + .../admin/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 13246 bytes .../admin/locale/gl/LC_MESSAGES/django.po | 679 + .../admin/locale/gl/LC_MESSAGES/djangojs.mo | Bin 0 -> 3279 bytes .../admin/locale/gl/LC_MESSAGES/djangojs.po | 221 + .../admin/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 18109 bytes .../admin/locale/he/LC_MESSAGES/django.po | 703 ++ .../admin/locale/he/LC_MESSAGES/djangojs.mo | Bin 0 -> 5157 bytes .../admin/locale/he/LC_MESSAGES/djangojs.po | 223 + .../admin/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 18457 bytes .../admin/locale/hi/LC_MESSAGES/django.po | 666 + .../admin/locale/hi/LC_MESSAGES/djangojs.mo | Bin 0 -> 4893 bytes .../admin/locale/hi/LC_MESSAGES/djangojs.po | 217 + .../admin/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 14702 bytes .../admin/locale/hr/LC_MESSAGES/django.po | 716 ++ .../admin/locale/hr/LC_MESSAGES/djangojs.mo | Bin 0 -> 3360 bytes .../admin/locale/hr/LC_MESSAGES/djangojs.po | 223 + .../admin/locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 17024 bytes .../admin/locale/hsb/LC_MESSAGES/django.po | 710 ++ .../admin/locale/hsb/LC_MESSAGES/djangojs.mo | Bin 0 -> 5087 bytes .../admin/locale/hsb/LC_MESSAGES/djangojs.po | 226 + .../admin/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 16903 bytes .../admin/locale/hu/LC_MESSAGES/django.po | 715 ++ .../admin/locale/hu/LC_MESSAGES/djangojs.mo | Bin 0 -> 4524 bytes .../admin/locale/hu/LC_MESSAGES/djangojs.po | 221 + .../admin/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 18274 bytes .../admin/locale/hy/LC_MESSAGES/django.po | 708 ++ .../admin/locale/hy/LC_MESSAGES/djangojs.mo | Bin 0 -> 5636 bytes .../admin/locale/hy/LC_MESSAGES/djangojs.po | 219 + .../admin/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 11278 bytes .../admin/locale/ia/LC_MESSAGES/django.po | 664 + .../admin/locale/ia/LC_MESSAGES/djangojs.mo | Bin 0 -> 3177 bytes .../admin/locale/ia/LC_MESSAGES/djangojs.po | 216 + .../admin/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 16118 bytes .../admin/locale/id/LC_MESSAGES/django.po | 715 ++ .../admin/locale/id/LC_MESSAGES/djangojs.mo | Bin 0 -> 4407 bytes .../admin/locale/id/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 12624 bytes .../admin/locale/io/LC_MESSAGES/django.po | 668 + .../admin/locale/io/LC_MESSAGES/djangojs.mo | Bin 0 -> 464 bytes .../admin/locale/io/LC_MESSAGES/djangojs.po | 145 + .../admin/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 16598 bytes .../admin/locale/is/LC_MESSAGES/django.po | 711 ++ .../admin/locale/is/LC_MESSAGES/djangojs.mo | Bin 0 -> 4559 bytes .../admin/locale/is/LC_MESSAGES/djangojs.po | 219 + .../admin/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 16882 bytes .../admin/locale/it/LC_MESSAGES/django.po | 727 ++ .../admin/locale/it/LC_MESSAGES/djangojs.mo | Bin 0 -> 4537 bytes .../admin/locale/it/LC_MESSAGES/djangojs.po | 223 + .../admin/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 18026 bytes .../admin/locale/ja/LC_MESSAGES/django.po | 704 ++ .../admin/locale/ja/LC_MESSAGES/djangojs.mo | Bin 0 -> 4688 bytes .../admin/locale/ja/LC_MESSAGES/djangojs.po | 213 + .../admin/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 20101 bytes .../admin/locale/ka/LC_MESSAGES/django.po | 699 ++ .../admin/locale/ka/LC_MESSAGES/djangojs.mo | Bin 0 -> 5516 bytes .../admin/locale/ka/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/kab/LC_MESSAGES/django.mo | Bin 0 -> 3531 bytes .../admin/locale/kab/LC_MESSAGES/django.po | 631 + .../admin/locale/kab/LC_MESSAGES/djangojs.mo | Bin 0 -> 1844 bytes .../admin/locale/kab/LC_MESSAGES/djangojs.po | 204 + .../admin/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 12845 bytes .../admin/locale/kk/LC_MESSAGES/django.po | 695 ++ .../admin/locale/kk/LC_MESSAGES/djangojs.mo | Bin 0 -> 2387 bytes .../admin/locale/kk/LC_MESSAGES/djangojs.po | 210 + .../admin/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 10403 bytes .../admin/locale/km/LC_MESSAGES/django.po | 636 + .../admin/locale/km/LC_MESSAGES/djangojs.mo | Bin 0 -> 1334 bytes .../admin/locale/km/LC_MESSAGES/djangojs.po | 201 + .../admin/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 9203 bytes .../admin/locale/kn/LC_MESSAGES/django.po | 639 + .../admin/locale/kn/LC_MESSAGES/djangojs.mo | Bin 0 -> 1872 bytes .../admin/locale/kn/LC_MESSAGES/djangojs.po | 205 + .../admin/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 17405 bytes .../admin/locale/ko/LC_MESSAGES/django.po | 717 ++ .../admin/locale/ko/LC_MESSAGES/djangojs.mo | Bin 0 -> 4493 bytes .../admin/locale/ko/LC_MESSAGES/djangojs.po | 216 + .../admin/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 913 bytes .../admin/locale/lb/LC_MESSAGES/django.po | 632 + .../admin/locale/lb/LC_MESSAGES/djangojs.mo | Bin 0 -> 474 bytes .../admin/locale/lb/LC_MESSAGES/djangojs.po | 145 + .../admin/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 17033 bytes .../admin/locale/lt/LC_MESSAGES/django.po | 720 ++ .../admin/locale/lt/LC_MESSAGES/djangojs.mo | Bin 0 -> 5183 bytes .../admin/locale/lt/LC_MESSAGES/djangojs.po | 236 + .../admin/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 16662 bytes .../admin/locale/lv/LC_MESSAGES/django.po | 716 ++ .../admin/locale/lv/LC_MESSAGES/djangojs.mo | Bin 0 -> 4903 bytes .../admin/locale/lv/LC_MESSAGES/djangojs.po | 224 + .../admin/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 20661 bytes .../admin/locale/mk/LC_MESSAGES/django.po | 692 ++ .../admin/locale/mk/LC_MESSAGES/djangojs.mo | Bin 0 -> 5633 bytes .../admin/locale/mk/LC_MESSAGES/djangojs.po | 219 + .../admin/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 24622 bytes .../admin/locale/ml/LC_MESSAGES/django.po | 703 ++ .../admin/locale/ml/LC_MESSAGES/djangojs.mo | Bin 0 -> 7547 bytes .../admin/locale/ml/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 20545 bytes .../admin/locale/mn/LC_MESSAGES/django.po | 712 ++ .../admin/locale/mn/LC_MESSAGES/djangojs.mo | Bin 0 -> 5228 bytes .../admin/locale/mn/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../admin/locale/mr/LC_MESSAGES/django.po | 609 + .../admin/locale/mr/LC_MESSAGES/djangojs.mo | Bin 0 -> 468 bytes .../admin/locale/mr/LC_MESSAGES/djangojs.po | 145 + .../admin/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 3677 bytes .../admin/locale/my/LC_MESSAGES/django.po | 629 + .../admin/locale/my/LC_MESSAGES/djangojs.mo | Bin 0 -> 3268 bytes .../admin/locale/my/LC_MESSAGES/djangojs.po | 206 + .../admin/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 15980 bytes .../admin/locale/nb/LC_MESSAGES/django.po | 711 ++ .../admin/locale/nb/LC_MESSAGES/djangojs.mo | Bin 0 -> 4375 bytes .../admin/locale/nb/LC_MESSAGES/djangojs.po | 220 + .../admin/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 15710 bytes .../admin/locale/ne/LC_MESSAGES/django.po | 645 + .../admin/locale/ne/LC_MESSAGES/djangojs.mo | Bin 0 -> 5362 bytes .../admin/locale/ne/LC_MESSAGES/djangojs.po | 213 + .../admin/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 16768 bytes .../admin/locale/nl/LC_MESSAGES/django.po | 724 ++ .../admin/locale/nl/LC_MESSAGES/djangojs.mo | Bin 0 -> 4619 bytes .../admin/locale/nl/LC_MESSAGES/djangojs.po | 226 + .../admin/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 10943 bytes .../admin/locale/nn/LC_MESSAGES/django.po | 664 + .../admin/locale/nn/LC_MESSAGES/djangojs.mo | Bin 0 -> 3120 bytes .../admin/locale/nn/LC_MESSAGES/djangojs.po | 217 + .../admin/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 14978 bytes .../admin/locale/os/LC_MESSAGES/django.po | 665 + .../admin/locale/os/LC_MESSAGES/djangojs.mo | Bin 0 -> 3806 bytes .../admin/locale/os/LC_MESSAGES/djangojs.po | 217 + .../admin/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 10185 bytes .../admin/locale/pa/LC_MESSAGES/django.po | 668 + .../admin/locale/pa/LC_MESSAGES/djangojs.mo | Bin 0 -> 1207 bytes .../admin/locale/pa/LC_MESSAGES/djangojs.po | 205 + .../admin/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 17192 bytes .../admin/locale/pl/LC_MESSAGES/django.po | 733 ++ .../admin/locale/pl/LC_MESSAGES/djangojs.mo | Bin 0 -> 5106 bytes .../admin/locale/pl/LC_MESSAGES/djangojs.po | 244 + .../admin/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 16912 bytes .../admin/locale/pt/LC_MESSAGES/django.po | 725 ++ .../admin/locale/pt/LC_MESSAGES/djangojs.mo | Bin 0 -> 4579 bytes .../admin/locale/pt/LC_MESSAGES/djangojs.po | 222 + .../admin/locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 16830 bytes .../admin/locale/pt_BR/LC_MESSAGES/django.po | 733 ++ .../locale/pt_BR/LC_MESSAGES/djangojs.mo | Bin 0 -> 4619 bytes .../locale/pt_BR/LC_MESSAGES/djangojs.po | 221 + .../admin/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 16893 bytes .../admin/locale/ro/LC_MESSAGES/django.po | 724 ++ .../admin/locale/ro/LC_MESSAGES/djangojs.mo | Bin 0 -> 4686 bytes .../admin/locale/ro/LC_MESSAGES/djangojs.po | 228 + .../admin/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 21726 bytes .../admin/locale/ru/LC_MESSAGES/django.po | 729 ++ .../admin/locale/ru/LC_MESSAGES/djangojs.mo | Bin 0 -> 6560 bytes .../admin/locale/ru/LC_MESSAGES/djangojs.po | 236 + .../admin/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 16288 bytes .../admin/locale/sk/LC_MESSAGES/django.po | 724 ++ .../admin/locale/sk/LC_MESSAGES/djangojs.mo | Bin 0 -> 4677 bytes .../admin/locale/sk/LC_MESSAGES/djangojs.po | 226 + .../admin/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 16136 bytes .../admin/locale/sl/LC_MESSAGES/django.po | 690 + .../admin/locale/sl/LC_MESSAGES/djangojs.mo | Bin 0 -> 4724 bytes .../admin/locale/sl/LC_MESSAGES/djangojs.po | 225 + .../admin/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 17053 bytes .../admin/locale/sq/LC_MESSAGES/django.po | 715 ++ .../admin/locale/sq/LC_MESSAGES/djangojs.mo | Bin 0 -> 4590 bytes .../admin/locale/sq/LC_MESSAGES/djangojs.po | 220 + .../admin/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 20855 bytes .../admin/locale/sr/LC_MESSAGES/django.po | 715 ++ .../admin/locale/sr/LC_MESSAGES/djangojs.mo | Bin 0 -> 5221 bytes .../admin/locale/sr/LC_MESSAGES/djangojs.po | 216 + .../locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 12383 bytes .../locale/sr_Latn/LC_MESSAGES/django.po | 694 ++ .../locale/sr_Latn/LC_MESSAGES/djangojs.mo | Bin 0 -> 4337 bytes .../locale/sr_Latn/LC_MESSAGES/djangojs.po | 216 + .../admin/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 16348 bytes .../admin/locale/sv/LC_MESSAGES/django.po | 718 ++ .../admin/locale/sv/LC_MESSAGES/djangojs.mo | Bin 0 -> 4541 bytes .../admin/locale/sv/LC_MESSAGES/djangojs.po | 223 + .../admin/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 14353 bytes .../admin/locale/sw/LC_MESSAGES/django.po | 676 + .../admin/locale/sw/LC_MESSAGES/djangojs.mo | Bin 0 -> 3647 bytes .../admin/locale/sw/LC_MESSAGES/djangojs.po | 217 + .../admin/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 10179 bytes .../admin/locale/ta/LC_MESSAGES/django.po | 643 + .../admin/locale/ta/LC_MESSAGES/djangojs.mo | Bin 0 -> 1379 bytes .../admin/locale/ta/LC_MESSAGES/djangojs.po | 204 + .../admin/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 10590 bytes .../admin/locale/te/LC_MESSAGES/django.po | 640 + .../admin/locale/te/LC_MESSAGES/djangojs.mo | Bin 0 -> 1362 bytes .../admin/locale/te/LC_MESSAGES/djangojs.po | 205 + .../admin/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 18986 bytes .../admin/locale/th/LC_MESSAGES/django.po | 684 + .../admin/locale/th/LC_MESSAGES/djangojs.mo | Bin 0 -> 6250 bytes .../admin/locale/th/LC_MESSAGES/djangojs.po | 213 + .../admin/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 16966 bytes .../admin/locale/tr/LC_MESSAGES/django.po | 721 ++ .../admin/locale/tr/LC_MESSAGES/djangojs.mo | Bin 0 -> 4547 bytes .../admin/locale/tr/LC_MESSAGES/djangojs.po | 221 + .../admin/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 12952 bytes .../admin/locale/tt/LC_MESSAGES/django.po | 655 + .../admin/locale/tt/LC_MESSAGES/djangojs.mo | Bin 0 -> 2607 bytes .../admin/locale/tt/LC_MESSAGES/djangojs.po | 208 + .../admin/locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 622 bytes .../admin/locale/udm/LC_MESSAGES/django.po | 606 + .../admin/locale/udm/LC_MESSAGES/djangojs.mo | Bin 0 -> 462 bytes .../admin/locale/udm/LC_MESSAGES/djangojs.po | 142 + .../admin/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 20988 bytes .../admin/locale/uk/LC_MESSAGES/django.po | 730 ++ .../admin/locale/uk/LC_MESSAGES/djangojs.mo | Bin 0 -> 5930 bytes .../admin/locale/uk/LC_MESSAGES/djangojs.po | 230 + .../admin/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 13106 bytes .../admin/locale/ur/LC_MESSAGES/django.po | 661 + .../admin/locale/ur/LC_MESSAGES/djangojs.mo | Bin 0 -> 2678 bytes .../admin/locale/ur/LC_MESSAGES/djangojs.po | 211 + .../admin/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 14860 bytes .../admin/locale/vi/LC_MESSAGES/django.po | 702 ++ .../admin/locale/vi/LC_MESSAGES/djangojs.mo | Bin 0 -> 3733 bytes .../admin/locale/vi/LC_MESSAGES/djangojs.po | 220 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 15531 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 699 ++ .../locale/zh_Hans/LC_MESSAGES/djangojs.mo | Bin 0 -> 4245 bytes .../locale/zh_Hans/LC_MESSAGES/djangojs.po | 220 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 15152 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 660 + .../locale/zh_Hant/LC_MESSAGES/djangojs.mo | Bin 0 -> 4230 bytes .../locale/zh_Hant/LC_MESSAGES/djangojs.po | 213 + .../contrib/admin/migrations/0001_initial.py | 47 + .../0002_logentry_remove_auto_add.py | 22 + .../0003_logentry_add_action_flag_choices.py | 20 + .../contrib/admin/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-37.pyc | Bin 0 -> 1623 bytes ...02_logentry_remove_auto_add.cpython-37.pyc | Bin 0 -> 742 bytes ...try_add_action_flag_choices.cpython-37.pyc | Bin 0 -> 762 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 212 bytes .../django/contrib/admin/models.py | 150 + .../django/contrib/admin/options.py | 2182 ++++ .../django/contrib/admin/sites.py | 537 + .../admin/static/admin/css/autocomplete.css | 260 + .../contrib/admin/static/admin/css/base.css | 987 ++ .../admin/static/admin/css/changelists.css | 344 + .../admin/static/admin/css/dashboard.css | 27 + .../contrib/admin/static/admin/css/fonts.css | 20 + .../contrib/admin/static/admin/css/forms.css | 532 + .../contrib/admin/static/admin/css/login.css | 79 + .../admin/static/admin/css/responsive.css | 992 ++ .../admin/static/admin/css/responsive_rtl.css | 84 + .../contrib/admin/static/admin/css/rtl.css | 269 + .../css/vendor/select2/LICENSE-SELECT2.md | 21 + .../admin/css/vendor/select2/select2.css | 484 + .../admin/css/vendor/select2/select2.min.css | 1 + .../admin/static/admin/css/widgets.css | 565 + .../admin/static/admin/fonts/LICENSE.txt | 202 + .../admin/static/admin/fonts/README.txt | 3 + .../admin/fonts/Roboto-Bold-webfont.woff | Bin 0 -> 86184 bytes .../admin/fonts/Roboto-Light-webfont.woff | Bin 0 -> 85692 bytes .../admin/fonts/Roboto-Regular-webfont.woff | Bin 0 -> 85876 bytes .../contrib/admin/static/admin/img/LICENSE | 20 + .../contrib/admin/static/admin/img/README.txt | 7 + .../admin/static/admin/img/calendar-icons.svg | 14 + .../static/admin/img/gis/move_vertex_off.svg | 1 + .../static/admin/img/gis/move_vertex_on.svg | 1 + .../admin/static/admin/img/icon-addlink.svg | 3 + .../admin/static/admin/img/icon-alert.svg | 3 + .../admin/static/admin/img/icon-calendar.svg | 9 + .../static/admin/img/icon-changelink.svg | 3 + .../admin/static/admin/img/icon-clock.svg | 9 + .../static/admin/img/icon-deletelink.svg | 3 + .../admin/static/admin/img/icon-no.svg | 3 + .../static/admin/img/icon-unknown-alt.svg | 3 + .../admin/static/admin/img/icon-unknown.svg | 3 + .../admin/static/admin/img/icon-viewlink.svg | 3 + .../admin/static/admin/img/icon-yes.svg | 3 + .../admin/static/admin/img/inline-delete.svg | 3 + .../contrib/admin/static/admin/img/search.svg | 3 + .../admin/static/admin/img/selector-icons.svg | 34 + .../admin/static/admin/img/sorting-icons.svg | 19 + .../admin/static/admin/img/tooltag-add.svg | 3 + .../static/admin/img/tooltag-arrowright.svg | 3 + .../admin/static/admin/js/SelectBox.js | 144 + .../admin/static/admin/js/SelectFilter2.js | 246 + .../contrib/admin/static/admin/js/actions.js | 153 + .../admin/static/admin/js/actions.min.js | 7 + .../admin/js/admin/DateTimeShortcuts.js | 423 + .../admin/js/admin/RelatedObjectLookups.js | 181 + .../admin/static/admin/js/autocomplete.js | 37 + .../contrib/admin/static/admin/js/calendar.js | 208 + .../contrib/admin/static/admin/js/cancel.js | 13 + .../admin/static/admin/js/change_form.js | 20 + .../contrib/admin/static/admin/js/collapse.js | 55 + .../admin/static/admin/js/collapse.min.js | 3 + .../contrib/admin/static/admin/js/core.js | 212 + .../contrib/admin/static/admin/js/inlines.js | 298 + .../admin/static/admin/js/inlines.min.js | 13 + .../admin/static/admin/js/jquery.init.js | 8 + .../admin/static/admin/js/popup_response.js | 16 + .../admin/static/admin/js/prepopulate.js | 42 + .../admin/static/admin/js/prepopulate.min.js | 1 + .../admin/static/admin/js/prepopulate_init.js | 10 + .../admin/static/admin/js/timeparse.js | 106 + .../contrib/admin/static/admin/js/urlify.js | 195 + .../static/admin/js/vendor/jquery/LICENSE.txt | 26 + .../static/admin/js/vendor/jquery/jquery.js | 10365 ++++++++++++++++ .../admin/js/vendor/jquery/jquery.min.js | 2 + .../static/admin/js/vendor/select2/LICENSE.md | 21 + .../static/admin/js/vendor/select2/i18n/ar.js | 3 + .../static/admin/js/vendor/select2/i18n/az.js | 3 + .../static/admin/js/vendor/select2/i18n/bg.js | 3 + .../static/admin/js/vendor/select2/i18n/ca.js | 3 + .../static/admin/js/vendor/select2/i18n/cs.js | 3 + .../static/admin/js/vendor/select2/i18n/da.js | 3 + .../static/admin/js/vendor/select2/i18n/de.js | 3 + .../static/admin/js/vendor/select2/i18n/el.js | 3 + .../static/admin/js/vendor/select2/i18n/en.js | 3 + .../static/admin/js/vendor/select2/i18n/es.js | 3 + .../static/admin/js/vendor/select2/i18n/et.js | 3 + .../static/admin/js/vendor/select2/i18n/eu.js | 3 + .../static/admin/js/vendor/select2/i18n/fa.js | 3 + .../static/admin/js/vendor/select2/i18n/fi.js | 3 + .../static/admin/js/vendor/select2/i18n/fr.js | 3 + .../static/admin/js/vendor/select2/i18n/gl.js | 3 + .../static/admin/js/vendor/select2/i18n/he.js | 3 + .../static/admin/js/vendor/select2/i18n/hi.js | 3 + .../static/admin/js/vendor/select2/i18n/hr.js | 3 + .../static/admin/js/vendor/select2/i18n/hu.js | 3 + .../static/admin/js/vendor/select2/i18n/id.js | 3 + .../static/admin/js/vendor/select2/i18n/is.js | 3 + .../static/admin/js/vendor/select2/i18n/it.js | 3 + .../static/admin/js/vendor/select2/i18n/ja.js | 3 + .../static/admin/js/vendor/select2/i18n/km.js | 3 + .../static/admin/js/vendor/select2/i18n/ko.js | 3 + .../static/admin/js/vendor/select2/i18n/lt.js | 3 + .../static/admin/js/vendor/select2/i18n/lv.js | 3 + .../static/admin/js/vendor/select2/i18n/mk.js | 3 + .../static/admin/js/vendor/select2/i18n/ms.js | 3 + .../static/admin/js/vendor/select2/i18n/nb.js | 3 + .../static/admin/js/vendor/select2/i18n/nl.js | 3 + .../static/admin/js/vendor/select2/i18n/pl.js | 3 + .../admin/js/vendor/select2/i18n/pt-BR.js | 3 + .../static/admin/js/vendor/select2/i18n/pt.js | 3 + .../static/admin/js/vendor/select2/i18n/ro.js | 3 + .../static/admin/js/vendor/select2/i18n/ru.js | 3 + .../static/admin/js/vendor/select2/i18n/sk.js | 3 + .../admin/js/vendor/select2/i18n/sr-Cyrl.js | 3 + .../static/admin/js/vendor/select2/i18n/sr.js | 3 + .../static/admin/js/vendor/select2/i18n/sv.js | 3 + .../static/admin/js/vendor/select2/i18n/th.js | 3 + .../static/admin/js/vendor/select2/i18n/tr.js | 3 + .../static/admin/js/vendor/select2/i18n/uk.js | 3 + .../static/admin/js/vendor/select2/i18n/vi.js | 3 + .../admin/js/vendor/select2/i18n/zh-CN.js | 3 + .../admin/js/vendor/select2/i18n/zh-TW.js | 3 + .../admin/js/vendor/select2/select2.full.js | 6436 ++++++++++ .../js/vendor/select2/select2.full.min.js | 3 + .../admin/js/vendor/xregexp/LICENSE.txt | 21 + .../static/admin/js/vendor/xregexp/xregexp.js | 2308 ++++ .../admin/js/vendor/xregexp/xregexp.min.js | 18 + .../contrib/admin/templates/admin/404.html | 12 + .../contrib/admin/templates/admin/500.html | 17 + .../admin/templates/admin/actions.html | 23 + .../admin/templates/admin/app_index.html | 18 + .../templates/admin/auth/user/add_form.html | 10 + .../admin/auth/user/change_password.html | 60 + .../contrib/admin/templates/admin/base.html | 93 + .../admin/templates/admin/base_site.html | 9 + .../admin/templates/admin/change_form.html | 81 + .../admin/change_form_object_tools.html | 8 + .../admin/templates/admin/change_list.html | 82 + .../admin/change_list_object_tools.html | 12 + .../templates/admin/change_list_results.html | 38 + .../admin/templates/admin/date_hierarchy.html | 16 + .../templates/admin/delete_confirmation.html | 52 + .../admin/delete_selected_confirmation.html | 55 + .../templates/admin/edit_inline/stacked.html | 25 + .../templates/admin/edit_inline/tabular.html | 75 + .../contrib/admin/templates/admin/filter.html | 8 + .../templates/admin/includes/fieldset.html | 29 + .../admin/includes/object_delete_summary.html | 7 + .../contrib/admin/templates/admin/index.html | 86 + .../admin/templates/admin/invalid_setup.html | 13 + .../contrib/admin/templates/admin/login.html | 66 + .../admin/templates/admin/object_history.html | 42 + .../admin/templates/admin/pagination.html | 12 + .../admin/templates/admin/popup_response.html | 11 + .../admin/prepopulated_fields_js.html | 6 + .../admin/templates/admin/search_form.html | 16 + .../admin/templates/admin/submit_line.html | 14 + .../admin/widgets/clearable_file_input.html | 6 + .../admin/widgets/foreign_key_raw_id.html | 1 + .../admin/widgets/many_to_many_raw_id.html | 1 + .../admin/templates/admin/widgets/radio.html | 1 + .../admin/widgets/related_widget_wrapper.html | 31 + .../admin/widgets/split_datetime.html | 4 + .../admin/templates/admin/widgets/url.html | 1 + .../templates/registration/logged_out.html | 12 + .../registration/password_change_done.html | 15 + .../registration/password_change_form.html | 60 + .../registration/password_reset_complete.html | 20 + .../registration/password_reset_confirm.html | 42 + .../registration/password_reset_done.html | 19 + .../registration/password_reset_email.html | 14 + .../registration/password_reset_form.html | 29 + .../contrib/admin/templatetags/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 214 bytes .../__pycache__/admin_list.cpython-37.pyc | Bin 0 -> 11957 bytes .../__pycache__/admin_modify.cpython-37.pyc | Bin 0 -> 3504 bytes .../__pycache__/admin_static.cpython-37.pyc | Bin 0 -> 662 bytes .../__pycache__/admin_urls.cpython-37.pyc | Bin 0 -> 1781 bytes .../__pycache__/base.cpython-37.pyc | Bin 0 -> 1484 bytes .../__pycache__/log.cpython-37.pyc | Bin 0 -> 2354 bytes .../contrib/admin/templatetags/admin_list.py | 485 + .../admin/templatetags/admin_modify.py | 111 + .../admin/templatetags/admin_static.py | 16 + .../contrib/admin/templatetags/admin_urls.py | 56 + .../django/contrib/admin/templatetags/base.py | 33 + .../django/contrib/admin/templatetags/log.py | 59 + .../django/contrib/admin/tests.py | 184 + .../django/contrib/admin/utils.py | 523 + .../django/contrib/admin/views/__init__.py | 0 .../views/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 207 bytes .../__pycache__/autocomplete.cpython-37.pyc | Bin 0 -> 2337 bytes .../__pycache__/decorators.cpython-37.pyc | Bin 0 -> 876 bytes .../views/__pycache__/main.cpython-37.pyc | Bin 0 -> 11654 bytes .../contrib/admin/views/autocomplete.py | 52 + .../django/contrib/admin/views/decorators.py | 18 + .../django/contrib/admin/views/main.py | 477 + .../django/contrib/admin/widgets.py | 475 + .../django/contrib/admindocs/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 273 bytes .../admindocs/__pycache__/apps.cpython-37.pyc | Bin 0 -> 565 bytes .../__pycache__/middleware.cpython-37.pyc | Bin 0 -> 1551 bytes .../admindocs/__pycache__/urls.cpython-37.pyc | Bin 0 -> 1200 bytes .../__pycache__/utils.cpython-37.pyc | Bin 0 -> 6030 bytes .../__pycache__/views.cpython-37.pyc | Bin 0 -> 11976 bytes .../django/contrib/admindocs/apps.py | 7 + .../admindocs/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 702 bytes .../admindocs/locale/af/LC_MESSAGES/django.po | 258 + .../admindocs/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 7286 bytes .../admindocs/locale/ar/LC_MESSAGES/django.po | 276 + .../locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 715 bytes .../locale/ast/LC_MESSAGES/django.po | 258 + .../admindocs/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 1687 bytes .../admindocs/locale/az/LC_MESSAGES/django.po | 258 + .../admindocs/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 8185 bytes .../admindocs/locale/be/LC_MESSAGES/django.po | 284 + .../admindocs/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 7837 bytes .../admindocs/locale/bg/LC_MESSAGES/django.po | 286 + .../admindocs/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 3794 bytes .../admindocs/locale/bn/LC_MESSAGES/django.po | 261 + .../admindocs/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 1571 bytes .../admindocs/locale/br/LC_MESSAGES/django.po | 263 + .../admindocs/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 1730 bytes .../admindocs/locale/bs/LC_MESSAGES/django.po | 261 + .../admindocs/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 6681 bytes .../admindocs/locale/ca/LC_MESSAGES/django.po | 287 + .../admindocs/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 6641 bytes .../admindocs/locale/cs/LC_MESSAGES/django.po | 284 + .../admindocs/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 5401 bytes .../admindocs/locale/cy/LC_MESSAGES/django.po | 279 + .../admindocs/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 6458 bytes .../admindocs/locale/da/LC_MESSAGES/django.po | 284 + .../admindocs/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 6585 bytes .../admindocs/locale/de/LC_MESSAGES/django.po | 286 + .../locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 6836 bytes .../locale/dsb/LC_MESSAGES/django.po | 285 + .../admindocs/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 8598 bytes .../admindocs/locale/el/LC_MESSAGES/django.po | 289 + .../admindocs/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../admindocs/locale/en/LC_MESSAGES/django.po | 359 + .../locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../locale/en_AU/LC_MESSAGES/django.po | 275 + .../locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 1821 bytes .../locale/en_GB/LC_MESSAGES/django.po | 260 + .../admindocs/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 6391 bytes .../admindocs/locale/eo/LC_MESSAGES/django.po | 280 + .../admindocs/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 6673 bytes .../admindocs/locale/es/LC_MESSAGES/django.po | 292 + .../locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 6691 bytes .../locale/es_AR/LC_MESSAGES/django.po | 286 + .../locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 6476 bytes .../locale/es_CO/LC_MESSAGES/django.po | 281 + .../locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 1853 bytes .../locale/es_MX/LC_MESSAGES/django.po | 260 + .../locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 6663 bytes .../locale/es_VE/LC_MESSAGES/django.po | 286 + .../admindocs/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 6402 bytes .../admindocs/locale/et/LC_MESSAGES/django.po | 284 + .../admindocs/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 6479 bytes .../admindocs/locale/eu/LC_MESSAGES/django.po | 283 + .../admindocs/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 7533 bytes .../admindocs/locale/fa/LC_MESSAGES/django.po | 284 + .../admindocs/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 6413 bytes .../admindocs/locale/fi/LC_MESSAGES/django.po | 278 + .../admindocs/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 6786 bytes .../admindocs/locale/fr/LC_MESSAGES/django.po | 285 + .../admindocs/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../admindocs/locale/fy/LC_MESSAGES/django.po | 275 + .../admindocs/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 1940 bytes .../admindocs/locale/ga/LC_MESSAGES/django.po | 262 + .../admindocs/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 6995 bytes .../admindocs/locale/gd/LC_MESSAGES/django.po | 288 + .../admindocs/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 2265 bytes .../admindocs/locale/gl/LC_MESSAGES/django.po | 260 + .../admindocs/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 7006 bytes .../admindocs/locale/he/LC_MESSAGES/django.po | 274 + .../admindocs/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 2297 bytes .../admindocs/locale/hi/LC_MESSAGES/django.po | 258 + .../admindocs/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 2550 bytes .../admindocs/locale/hr/LC_MESSAGES/django.po | 264 + .../locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 6797 bytes .../locale/hsb/LC_MESSAGES/django.po | 286 + .../admindocs/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 6660 bytes .../admindocs/locale/hu/LC_MESSAGES/django.po | 286 + .../admindocs/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 1860 bytes .../admindocs/locale/ia/LC_MESSAGES/django.po | 260 + .../admindocs/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 6367 bytes .../admindocs/locale/id/LC_MESSAGES/django.po | 286 + .../admindocs/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 464 bytes .../admindocs/locale/io/LC_MESSAGES/django.po | 275 + .../admindocs/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 1828 bytes .../admindocs/locale/is/LC_MESSAGES/django.po | 261 + .../admindocs/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 6480 bytes .../admindocs/locale/it/LC_MESSAGES/django.po | 289 + .../admindocs/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 7377 bytes .../admindocs/locale/ja/LC_MESSAGES/django.po | 282 + .../admindocs/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 4446 bytes .../admindocs/locale/ka/LC_MESSAGES/django.po | 263 + .../locale/kab/LC_MESSAGES/django.mo | Bin 0 -> 1289 bytes .../locale/kab/LC_MESSAGES/django.po | 258 + .../admindocs/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 1587 bytes .../admindocs/locale/kk/LC_MESSAGES/django.po | 258 + .../admindocs/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 1476 bytes .../admindocs/locale/km/LC_MESSAGES/django.po | 259 + .../admindocs/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 1656 bytes .../admindocs/locale/kn/LC_MESSAGES/django.po | 259 + .../admindocs/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 6609 bytes .../admindocs/locale/ko/LC_MESSAGES/django.po | 278 + .../admindocs/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 474 bytes .../admindocs/locale/lb/LC_MESSAGES/django.po | 275 + .../admindocs/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 6741 bytes .../admindocs/locale/lt/LC_MESSAGES/django.po | 290 + .../admindocs/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 6487 bytes .../admindocs/locale/lv/LC_MESSAGES/django.po | 283 + .../admindocs/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 8290 bytes .../admindocs/locale/mk/LC_MESSAGES/django.po | 286 + .../admindocs/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 6865 bytes .../admindocs/locale/ml/LC_MESSAGES/django.po | 268 + .../admindocs/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 7607 bytes .../admindocs/locale/mn/LC_MESSAGES/django.po | 284 + .../admindocs/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../admindocs/locale/mr/LC_MESSAGES/django.po | 275 + .../admindocs/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 1721 bytes .../admindocs/locale/my/LC_MESSAGES/django.po | 258 + .../admindocs/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 6346 bytes .../admindocs/locale/nb/LC_MESSAGES/django.po | 283 + .../admindocs/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 1505 bytes .../admindocs/locale/ne/LC_MESSAGES/django.po | 257 + .../admindocs/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 6349 bytes .../admindocs/locale/nl/LC_MESSAGES/django.po | 282 + .../admindocs/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 1662 bytes .../admindocs/locale/nn/LC_MESSAGES/django.po | 261 + .../admindocs/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 2044 bytes .../admindocs/locale/os/LC_MESSAGES/django.po | 258 + .../admindocs/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 1275 bytes .../admindocs/locale/pa/LC_MESSAGES/django.po | 258 + .../admindocs/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 6652 bytes .../admindocs/locale/pl/LC_MESSAGES/django.po | 293 + .../admindocs/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 6566 bytes .../admindocs/locale/pt/LC_MESSAGES/django.po | 286 + .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 6601 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 290 + .../admindocs/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 6755 bytes .../admindocs/locale/ro/LC_MESSAGES/django.po | 287 + .../admindocs/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 8569 bytes .../admindocs/locale/ru/LC_MESSAGES/django.po | 290 + .../admindocs/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 6644 bytes .../admindocs/locale/sk/LC_MESSAGES/django.po | 285 + .../admindocs/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 6508 bytes .../admindocs/locale/sl/LC_MESSAGES/django.po | 285 + .../admindocs/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 6565 bytes .../admindocs/locale/sq/LC_MESSAGES/django.po | 282 + .../admindocs/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 3672 bytes .../admindocs/locale/sr/LC_MESSAGES/django.po | 264 + .../locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 1932 bytes .../locale/sr_Latn/LC_MESSAGES/django.po | 262 + .../admindocs/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 6417 bytes .../admindocs/locale/sv/LC_MESSAGES/django.po | 286 + .../admindocs/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 1808 bytes .../admindocs/locale/sw/LC_MESSAGES/django.po | 259 + .../admindocs/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 1675 bytes .../admindocs/locale/ta/LC_MESSAGES/django.po | 258 + .../admindocs/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 1684 bytes .../admindocs/locale/te/LC_MESSAGES/django.po | 258 + .../admindocs/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 2167 bytes .../admindocs/locale/th/LC_MESSAGES/django.po | 258 + .../admindocs/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 6625 bytes .../admindocs/locale/tr/LC_MESSAGES/django.po | 287 + .../admindocs/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 1869 bytes .../admindocs/locale/tt/LC_MESSAGES/django.po | 259 + .../locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 618 bytes .../locale/udm/LC_MESSAGES/django.po | 275 + .../admindocs/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 8449 bytes .../admindocs/locale/uk/LC_MESSAGES/django.po | 293 + .../admindocs/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 1836 bytes .../admindocs/locale/ur/LC_MESSAGES/django.po | 259 + .../admindocs/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 1306 bytes .../admindocs/locale/vi/LC_MESSAGES/django.po | 259 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 6110 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 274 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 4747 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 267 + .../django/contrib/admindocs/middleware.py | 30 + .../templates/admin_doc/bookmarklets.html | 26 + .../admindocs/templates/admin_doc/index.html | 34 + .../templates/admin_doc/missing_docutils.html | 22 + .../templates/admin_doc/model_detail.html | 78 + .../templates/admin_doc/model_index.html | 52 + .../templates/admin_doc/template_detail.html | 27 + .../admin_doc/template_filter_index.html | 54 + .../admin_doc/template_tag_index.html | 54 + .../templates/admin_doc/view_detail.html | 33 + .../templates/admin_doc/view_index.html | 59 + .../django/contrib/admindocs/urls.py | 50 + .../django/contrib/admindocs/utils.py | 237 + .../django/contrib/admindocs/views.py | 414 + .../django/contrib/auth/__init__.py | 225 + .../auth/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 6239 bytes .../auth/__pycache__/admin.cpython-37.pyc | Bin 0 -> 6591 bytes .../auth/__pycache__/apps.cpython-37.pyc | Bin 0 -> 1397 bytes .../auth/__pycache__/backends.cpython-37.pyc | Bin 0 -> 7293 bytes .../auth/__pycache__/base_user.cpython-37.pyc | Bin 0 -> 5677 bytes .../auth/__pycache__/checks.cpython-37.pyc | Bin 0 -> 3764 bytes .../context_processors.cpython-37.pyc | Bin 0 -> 2462 bytes .../__pycache__/decorators.cpython-37.pyc | Bin 0 -> 2760 bytes .../auth/__pycache__/forms.cpython-37.pyc | Bin 0 -> 14185 bytes .../auth/__pycache__/hashers.cpython-37.pyc | Bin 0 -> 22416 bytes .../__pycache__/middleware.cpython-37.pyc | Bin 0 -> 4541 bytes .../auth/__pycache__/mixins.cpython-37.pyc | Bin 0 -> 4645 bytes .../auth/__pycache__/models.cpython-37.pyc | Bin 0 -> 16601 bytes .../password_validation.cpython-37.pyc | Bin 0 -> 8398 bytes .../auth/__pycache__/signals.cpython-37.pyc | Bin 0 -> 391 bytes .../auth/__pycache__/tokens.cpython-37.pyc | Bin 0 -> 3271 bytes .../auth/__pycache__/urls.cpython-37.pyc | Bin 0 -> 916 bytes .../__pycache__/validators.cpython-37.pyc | Bin 0 -> 1076 bytes .../auth/__pycache__/views.cpython-37.pyc | Bin 0 -> 11991 bytes .../django/contrib/auth/admin.py | 205 + .../site-packages/django/contrib/auth/apps.py | 28 + .../django/contrib/auth/backends.py | 188 + .../django/contrib/auth/base_user.py | 139 + .../django/contrib/auth/checks.py | 166 + .../contrib/auth/common-passwords.txt.gz | Bin 0 -> 81355 bytes .../django/contrib/auth/context_processors.py | 63 + .../django/contrib/auth/decorators.py | 73 + .../django/contrib/auth/forms.py | 424 + .../django/contrib/auth/handlers/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 209 bytes .../__pycache__/modwsgi.cpython-37.pyc | Bin 0 -> 1323 bytes .../django/contrib/auth/handlers/modwsgi.py | 43 + .../django/contrib/auth/hashers.py | 637 + .../auth/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 7427 bytes .../auth/locale/af/LC_MESSAGES/django.po | 304 + .../auth/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 8705 bytes .../auth/locale/ar/LC_MESSAGES/django.po | 310 + .../auth/locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 2250 bytes .../auth/locale/ast/LC_MESSAGES/django.po | 284 + .../auth/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 7450 bytes .../auth/locale/az/LC_MESSAGES/django.po | 300 + .../auth/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 10008 bytes .../auth/locale/be/LC_MESSAGES/django.po | 310 + .../auth/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 8751 bytes .../auth/locale/bg/LC_MESSAGES/django.po | 304 + .../auth/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 5455 bytes .../auth/locale/bn/LC_MESSAGES/django.po | 286 + .../auth/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 1436 bytes .../auth/locale/br/LC_MESSAGES/django.po | 293 + .../auth/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 2963 bytes .../auth/locale/bs/LC_MESSAGES/django.po | 292 + .../auth/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 7641 bytes .../auth/locale/ca/LC_MESSAGES/django.po | 309 + .../auth/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 7805 bytes .../auth/locale/cs/LC_MESSAGES/django.po | 306 + .../auth/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 4338 bytes .../auth/locale/cy/LC_MESSAGES/django.po | 294 + .../auth/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 7443 bytes .../auth/locale/da/LC_MESSAGES/django.po | 305 + .../auth/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 7514 bytes .../auth/locale/de/LC_MESSAGES/django.po | 313 + .../auth/locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 8096 bytes .../auth/locale/dsb/LC_MESSAGES/django.po | 315 + .../auth/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 10150 bytes .../auth/locale/el/LC_MESSAGES/django.po | 316 + .../auth/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../auth/locale/en/LC_MESSAGES/django.po | 369 + .../auth/locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 3650 bytes .../auth/locale/en_AU/LC_MESSAGES/django.po | 290 + .../auth/locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 3179 bytes .../auth/locale/en_GB/LC_MESSAGES/django.po | 289 + .../auth/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 7347 bytes .../auth/locale/eo/LC_MESSAGES/django.po | 306 + .../auth/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 7766 bytes .../auth/locale/es/LC_MESSAGES/django.po | 316 + .../auth/locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 7920 bytes .../auth/locale/es_AR/LC_MESSAGES/django.po | 311 + .../auth/locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 6529 bytes .../auth/locale/es_CO/LC_MESSAGES/django.po | 304 + .../auth/locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 7860 bytes .../auth/locale/es_MX/LC_MESSAGES/django.po | 311 + .../auth/locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 7415 bytes .../auth/locale/es_VE/LC_MESSAGES/django.po | 304 + .../auth/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 7432 bytes .../auth/locale/et/LC_MESSAGES/django.po | 307 + .../auth/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 7396 bytes .../auth/locale/eu/LC_MESSAGES/django.po | 310 + .../auth/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 8963 bytes .../auth/locale/fa/LC_MESSAGES/django.po | 308 + .../auth/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 7514 bytes .../auth/locale/fi/LC_MESSAGES/django.po | 306 + .../auth/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 8116 bytes .../auth/locale/fr/LC_MESSAGES/django.po | 315 + .../auth/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../auth/locale/fy/LC_MESSAGES/django.po | 226 + .../auth/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 3572 bytes .../auth/locale/ga/LC_MESSAGES/django.po | 298 + .../auth/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 8720 bytes .../auth/locale/gd/LC_MESSAGES/django.po | 333 + .../auth/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 4022 bytes .../auth/locale/gl/LC_MESSAGES/django.po | 293 + .../auth/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 8624 bytes .../auth/locale/he/LC_MESSAGES/django.po | 302 + .../auth/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 5364 bytes .../auth/locale/hi/LC_MESSAGES/django.po | 290 + .../auth/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 5894 bytes .../auth/locale/hr/LC_MESSAGES/django.po | 306 + .../auth/locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 7925 bytes .../auth/locale/hsb/LC_MESSAGES/django.po | 312 + .../auth/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 7691 bytes .../auth/locale/hu/LC_MESSAGES/django.po | 308 + .../auth/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 8001 bytes .../auth/locale/hy/LC_MESSAGES/django.po | 295 + .../auth/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 3314 bytes .../auth/locale/ia/LC_MESSAGES/django.po | 288 + .../auth/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 7169 bytes .../auth/locale/id/LC_MESSAGES/django.po | 303 + .../auth/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 464 bytes .../auth/locale/io/LC_MESSAGES/django.po | 226 + .../auth/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 7540 bytes .../auth/locale/is/LC_MESSAGES/django.po | 307 + .../auth/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 7583 bytes .../auth/locale/it/LC_MESSAGES/django.po | 313 + .../auth/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 8062 bytes .../auth/locale/ja/LC_MESSAGES/django.po | 298 + .../auth/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 10625 bytes .../auth/locale/ka/LC_MESSAGES/django.po | 300 + .../auth/locale/kab/LC_MESSAGES/django.mo | Bin 0 -> 2982 bytes .../auth/locale/kab/LC_MESSAGES/django.po | 287 + .../auth/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 3542 bytes .../auth/locale/kk/LC_MESSAGES/django.po | 285 + .../auth/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 2609 bytes .../auth/locale/km/LC_MESSAGES/django.po | 281 + .../auth/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 4024 bytes .../auth/locale/kn/LC_MESSAGES/django.po | 285 + .../auth/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 7612 bytes .../auth/locale/ko/LC_MESSAGES/django.po | 303 + .../auth/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 474 bytes .../auth/locale/lb/LC_MESSAGES/django.po | 226 + .../auth/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 8146 bytes .../auth/locale/lt/LC_MESSAGES/django.po | 320 + .../auth/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 7599 bytes .../auth/locale/lv/LC_MESSAGES/django.po | 306 + .../auth/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 9235 bytes .../auth/locale/mk/LC_MESSAGES/django.po | 308 + .../auth/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 12611 bytes .../auth/locale/ml/LC_MESSAGES/django.po | 303 + .../auth/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 9403 bytes .../auth/locale/mn/LC_MESSAGES/django.po | 310 + .../auth/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../auth/locale/mr/LC_MESSAGES/django.po | 226 + .../auth/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 1026 bytes .../auth/locale/my/LC_MESSAGES/django.po | 282 + .../auth/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 7222 bytes .../auth/locale/nb/LC_MESSAGES/django.po | 301 + .../auth/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 8553 bytes .../auth/locale/ne/LC_MESSAGES/django.po | 286 + .../auth/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 7485 bytes .../auth/locale/nl/LC_MESSAGES/django.po | 314 + .../auth/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 2801 bytes .../auth/locale/nn/LC_MESSAGES/django.po | 285 + .../auth/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 4434 bytes .../auth/locale/os/LC_MESSAGES/django.po | 288 + .../auth/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 3666 bytes .../auth/locale/pa/LC_MESSAGES/django.po | 285 + .../auth/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 7927 bytes .../auth/locale/pl/LC_MESSAGES/django.po | 322 + .../auth/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 7756 bytes .../auth/locale/pt/LC_MESSAGES/django.po | 313 + .../auth/locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 7554 bytes .../auth/locale/pt_BR/LC_MESSAGES/django.po | 320 + .../auth/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 7961 bytes .../auth/locale/ro/LC_MESSAGES/django.po | 320 + .../auth/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 10482 bytes .../auth/locale/ru/LC_MESSAGES/django.po | 320 + .../auth/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 7838 bytes .../auth/locale/sk/LC_MESSAGES/django.po | 309 + .../auth/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 7552 bytes .../auth/locale/sl/LC_MESSAGES/django.po | 308 + .../auth/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 7846 bytes .../auth/locale/sq/LC_MESSAGES/django.po | 308 + .../auth/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 9754 bytes .../auth/locale/sr/LC_MESSAGES/django.po | 309 + .../auth/locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 3293 bytes .../auth/locale/sr_Latn/LC_MESSAGES/django.po | 293 + .../auth/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 7447 bytes .../auth/locale/sv/LC_MESSAGES/django.po | 311 + .../auth/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 5029 bytes .../auth/locale/sw/LC_MESSAGES/django.po | 287 + .../auth/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 2679 bytes .../auth/locale/ta/LC_MESSAGES/django.po | 283 + .../auth/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 2955 bytes .../auth/locale/te/LC_MESSAGES/django.po | 285 + .../auth/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 6013 bytes .../auth/locale/th/LC_MESSAGES/django.po | 282 + .../auth/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 7480 bytes .../auth/locale/tr/LC_MESSAGES/django.po | 310 + .../auth/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 1371 bytes .../auth/locale/tt/LC_MESSAGES/django.po | 281 + .../auth/locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 462 bytes .../auth/locale/udm/LC_MESSAGES/django.po | 226 + .../auth/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 10079 bytes .../auth/locale/uk/LC_MESSAGES/django.po | 319 + .../auth/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 698 bytes .../auth/locale/ur/LC_MESSAGES/django.po | 282 + .../auth/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 4703 bytes .../auth/locale/vi/LC_MESSAGES/django.po | 292 + .../auth/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 6729 bytes .../auth/locale/zh_Hans/LC_MESSAGES/django.po | 295 + .../auth/locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 6759 bytes .../auth/locale/zh_Hant/LC_MESSAGES/django.po | 291 + .../contrib/auth/management/__init__.py | 145 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 3733 bytes .../__pycache__/changepassword.cpython-37.pyc | Bin 0 -> 2471 bytes .../createsuperuser.cpython-37.pyc | Bin 0 -> 6013 bytes .../management/commands/changepassword.py | 75 + .../management/commands/createsuperuser.py | 211 + .../django/contrib/auth/middleware.py | 123 + .../contrib/auth/migrations/0001_initial.py | 104 + .../0002_alter_permission_name_max_length.py | 16 + .../0003_alter_user_email_max_length.py | 16 + .../0004_alter_user_username_opts.py | 23 + .../0005_alter_user_last_login_null.py | 16 + .../0006_require_contenttypes_0002.py | 14 + ...007_alter_validators_add_error_messages.py | 24 + .../0008_alter_user_username_max_length.py | 24 + .../0009_alter_user_last_name_max_length.py | 16 + .../0010_alter_group_name_max_length.py | 16 + .../0011_update_proxy_permissions.py | 68 + .../contrib/auth/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-37.pyc | Bin 0 -> 2969 bytes ..._permission_name_max_length.cpython-37.pyc | Bin 0 -> 657 bytes ...alter_user_email_max_length.cpython-37.pyc | Bin 0 -> 699 bytes ...04_alter_user_username_opts.cpython-37.pyc | Bin 0 -> 939 bytes ..._alter_user_last_login_null.cpython-37.pyc | Bin 0 -> 684 bytes ...6_require_contenttypes_0002.cpython-37.pyc | Bin 0 -> 563 bytes ...lidators_add_error_messages.cpython-37.pyc | Bin 0 -> 952 bytes ...er_user_username_max_length.cpython-37.pyc | Bin 0 -> 958 bytes ...r_user_last_name_max_length.cpython-37.pyc | Bin 0 -> 700 bytes ...alter_group_name_max_length.cpython-37.pyc | Bin 0 -> 682 bytes ...11_update_proxy_permissions.cpython-37.pyc | Bin 0 -> 2605 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 211 bytes .../django/contrib/auth/mixins.py | 109 + .../django/contrib/auth/models.py | 434 + .../contrib/auth/password_validation.py | 205 + .../django/contrib/auth/signals.py | 5 + .../auth/widgets/read_only_password_hash.html | 5 + .../registration/password_reset_subject.txt | 3 + .../django/contrib/auth/tokens.py | 93 + .../site-packages/django/contrib/auth/urls.py | 20 + .../django/contrib/auth/validators.py | 25 + .../django/contrib/auth/views.py | 359 + .../django/contrib/contenttypes/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 282 bytes .../__pycache__/admin.cpython-37.pyc | Bin 0 -> 3813 bytes .../__pycache__/apps.cpython-37.pyc | Bin 0 -> 1168 bytes .../__pycache__/checks.cpython-37.pyc | Bin 0 -> 1585 bytes .../__pycache__/fields.cpython-37.pyc | Bin 0 -> 21984 bytes .../__pycache__/forms.cpython-37.pyc | Bin 0 -> 3054 bytes .../__pycache__/models.cpython-37.pyc | Bin 0 -> 5916 bytes .../__pycache__/views.cpython-37.pyc | Bin 0 -> 2061 bytes .../django/contrib/contenttypes/admin.py | 129 + .../django/contrib/contenttypes/apps.py | 22 + .../django/contrib/contenttypes/checks.py | 41 + .../django/contrib/contenttypes/fields.py | 688 + .../django/contrib/contenttypes/forms.py | 82 + .../locale/af/LC_MESSAGES/django.mo | Bin 0 -> 1070 bytes .../locale/af/LC_MESSAGES/django.po | 42 + .../locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 1259 bytes .../locale/ar/LC_MESSAGES/django.po | 44 + .../locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 643 bytes .../locale/ast/LC_MESSAGES/django.po | 42 + .../locale/az/LC_MESSAGES/django.mo | Bin 0 -> 1101 bytes .../locale/az/LC_MESSAGES/django.po | 43 + .../locale/be/LC_MESSAGES/django.mo | Bin 0 -> 1394 bytes .../locale/be/LC_MESSAGES/django.po | 44 + .../locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 1267 bytes .../locale/bg/LC_MESSAGES/django.po | 45 + .../locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 1201 bytes .../locale/bn/LC_MESSAGES/django.po | 43 + .../locale/br/LC_MESSAGES/django.mo | Bin 0 -> 1419 bytes .../locale/br/LC_MESSAGES/django.po | 45 + .../locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 700 bytes .../locale/bs/LC_MESSAGES/django.po | 43 + .../locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 1134 bytes .../locale/ca/LC_MESSAGES/django.po | 43 + .../locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 1142 bytes .../locale/cs/LC_MESSAGES/django.po | 43 + .../locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 1159 bytes .../locale/cy/LC_MESSAGES/django.po | 43 + .../locale/da/LC_MESSAGES/django.mo | Bin 0 -> 1081 bytes .../locale/da/LC_MESSAGES/django.po | 43 + .../locale/de/LC_MESSAGES/django.mo | Bin 0 -> 1092 bytes .../locale/de/LC_MESSAGES/django.po | 42 + .../locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 1169 bytes .../locale/dsb/LC_MESSAGES/django.po | 43 + .../locale/el/LC_MESSAGES/django.mo | Bin 0 -> 1323 bytes .../locale/el/LC_MESSAGES/django.po | 45 + .../locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../locale/en/LC_MESSAGES/django.po | 45 + .../locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../locale/en_AU/LC_MESSAGES/django.po | 41 + .../locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 1053 bytes .../locale/en_GB/LC_MESSAGES/django.po | 43 + .../locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 1087 bytes .../locale/eo/LC_MESSAGES/django.po | 42 + .../locale/es/LC_MESSAGES/django.mo | Bin 0 -> 1142 bytes .../locale/es/LC_MESSAGES/django.po | 45 + .../locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 1121 bytes .../locale/es_AR/LC_MESSAGES/django.po | 43 + .../locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 1158 bytes .../locale/es_CO/LC_MESSAGES/django.po | 43 + .../locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 1109 bytes .../locale/es_MX/LC_MESSAGES/django.po | 43 + .../locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 1152 bytes .../locale/es_VE/LC_MESSAGES/django.po | 44 + .../locale/et/LC_MESSAGES/django.mo | Bin 0 -> 1066 bytes .../locale/et/LC_MESSAGES/django.po | 44 + .../locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 1077 bytes .../locale/eu/LC_MESSAGES/django.po | 43 + .../locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 1171 bytes .../locale/fa/LC_MESSAGES/django.po | 44 + .../locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 1073 bytes .../locale/fi/LC_MESSAGES/django.po | 44 + .../locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 1112 bytes .../locale/fr/LC_MESSAGES/django.po | 43 + .../locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../locale/fy/LC_MESSAGES/django.po | 41 + .../locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 1097 bytes .../locale/ga/LC_MESSAGES/django.po | 44 + .../locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 1191 bytes .../locale/gd/LC_MESSAGES/django.po | 44 + .../locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 1072 bytes .../locale/gl/LC_MESSAGES/django.po | 44 + .../locale/he/LC_MESSAGES/django.mo | Bin 0 -> 1256 bytes .../locale/he/LC_MESSAGES/django.po | 43 + .../locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 1321 bytes .../locale/hi/LC_MESSAGES/django.po | 42 + .../locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 1167 bytes .../locale/hr/LC_MESSAGES/django.po | 45 + .../locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 1143 bytes .../locale/hsb/LC_MESSAGES/django.po | 43 + .../locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 1103 bytes .../locale/hu/LC_MESSAGES/django.po | 44 + .../locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 1290 bytes .../locale/hy/LC_MESSAGES/django.po | 41 + .../locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 1079 bytes .../locale/ia/LC_MESSAGES/django.po | 42 + .../locale/id/LC_MESSAGES/django.mo | Bin 0 -> 1066 bytes .../locale/id/LC_MESSAGES/django.po | 45 + .../locale/io/LC_MESSAGES/django.mo | Bin 0 -> 1051 bytes .../locale/io/LC_MESSAGES/django.po | 41 + .../locale/is/LC_MESSAGES/django.mo | Bin 0 -> 1086 bytes .../locale/is/LC_MESSAGES/django.po | 44 + .../locale/it/LC_MESSAGES/django.mo | Bin 0 -> 1098 bytes .../locale/it/LC_MESSAGES/django.po | 45 + .../locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 1239 bytes .../locale/ja/LC_MESSAGES/django.po | 46 + .../locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 1429 bytes .../locale/ka/LC_MESSAGES/django.po | 43 + .../locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 627 bytes .../locale/kk/LC_MESSAGES/django.po | 41 + .../locale/km/LC_MESSAGES/django.mo | Bin 0 -> 678 bytes .../locale/km/LC_MESSAGES/django.po | 41 + .../locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 714 bytes .../locale/kn/LC_MESSAGES/django.po | 42 + .../locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 1127 bytes .../locale/ko/LC_MESSAGES/django.po | 42 + .../locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 474 bytes .../locale/lb/LC_MESSAGES/django.po | 41 + .../locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 1215 bytes .../locale/lt/LC_MESSAGES/django.po | 46 + .../locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 1090 bytes .../locale/lv/LC_MESSAGES/django.po | 44 + .../locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 1258 bytes .../locale/mk/LC_MESSAGES/django.po | 44 + .../locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 1378 bytes .../locale/ml/LC_MESSAGES/django.po | 43 + .../locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 1225 bytes .../locale/mn/LC_MESSAGES/django.po | 46 + .../locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../locale/mr/LC_MESSAGES/django.po | 41 + .../locale/my/LC_MESSAGES/django.mo | Bin 0 -> 1554 bytes .../locale/my/LC_MESSAGES/django.po | 42 + .../locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 1081 bytes .../locale/nb/LC_MESSAGES/django.po | 45 + .../locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 1344 bytes .../locale/ne/LC_MESSAGES/django.po | 41 + .../locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 1077 bytes .../locale/nl/LC_MESSAGES/django.po | 44 + .../locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 1054 bytes .../locale/nn/LC_MESSAGES/django.po | 43 + .../locale/os/LC_MESSAGES/django.mo | Bin 0 -> 1116 bytes .../locale/os/LC_MESSAGES/django.po | 42 + .../locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 697 bytes .../locale/pa/LC_MESSAGES/django.po | 42 + .../locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 1251 bytes .../locale/pl/LC_MESSAGES/django.po | 46 + .../locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 1125 bytes .../locale/pt/LC_MESSAGES/django.po | 44 + .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 1137 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 45 + .../locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 1142 bytes .../locale/ro/LC_MESSAGES/django.po | 45 + .../locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 1426 bytes .../locale/ru/LC_MESSAGES/django.po | 48 + .../locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 1104 bytes .../locale/sk/LC_MESSAGES/django.po | 44 + .../locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 1147 bytes .../locale/sl/LC_MESSAGES/django.po | 45 + .../locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 1103 bytes .../locale/sq/LC_MESSAGES/django.po | 42 + .../locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 1265 bytes .../locale/sr/LC_MESSAGES/django.po | 45 + .../locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 1098 bytes .../locale/sr_Latn/LC_MESSAGES/django.po | 45 + .../locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 1066 bytes .../locale/sv/LC_MESSAGES/django.po | 45 + .../locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 563 bytes .../locale/sw/LC_MESSAGES/django.po | 41 + .../locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 678 bytes .../locale/ta/LC_MESSAGES/django.po | 41 + .../locale/te/LC_MESSAGES/django.mo | Bin 0 -> 690 bytes .../locale/te/LC_MESSAGES/django.po | 41 + .../locale/th/LC_MESSAGES/django.mo | Bin 0 -> 1186 bytes .../locale/th/LC_MESSAGES/django.po | 42 + .../locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 1121 bytes .../locale/tr/LC_MESSAGES/django.po | 44 + .../locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 659 bytes .../locale/tt/LC_MESSAGES/django.po | 41 + .../locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 462 bytes .../locale/udm/LC_MESSAGES/django.po | 41 + .../locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 1382 bytes .../locale/uk/LC_MESSAGES/django.po | 48 + .../locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 671 bytes .../locale/ur/LC_MESSAGES/django.po | 41 + .../locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 1155 bytes .../locale/vi/LC_MESSAGES/django.po | 45 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 1062 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 45 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 1083 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 44 + .../contenttypes/management/__init__.py | 134 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 4012 bytes .../remove_stale_contenttypes.cpython-37.pyc | Bin 0 -> 3171 bytes .../commands/remove_stale_contenttypes.py | 80 + .../contenttypes/migrations/0001_initial.py | 34 + .../0002_remove_content_type_name.py | 39 + .../contenttypes/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-37.pyc | Bin 0 -> 1166 bytes ...02_remove_content_type_name.cpython-37.pyc | Bin 0 -> 1236 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 219 bytes .../django/contrib/contenttypes/models.py | 177 + .../django/contrib/contenttypes/views.py | 88 + .../django/contrib/flatpages/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 273 bytes .../__pycache__/admin.cpython-37.pyc | Bin 0 -> 912 bytes .../flatpages/__pycache__/apps.cpython-37.pyc | Bin 0 -> 547 bytes .../__pycache__/forms.cpython-37.pyc | Bin 0 -> 2613 bytes .../__pycache__/middleware.cpython-37.pyc | Bin 0 -> 910 bytes .../__pycache__/models.cpython-37.pyc | Bin 0 -> 1912 bytes .../__pycache__/sitemaps.cpython-37.pyc | Bin 0 -> 938 bytes .../flatpages/__pycache__/urls.cpython-37.pyc | Bin 0 -> 399 bytes .../__pycache__/views.cpython-37.pyc | Bin 0 -> 1972 bytes .../django/contrib/flatpages/admin.py | 19 + .../django/contrib/flatpages/apps.py | 7 + .../django/contrib/flatpages/forms.py | 69 + .../flatpages/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 2297 bytes .../flatpages/locale/af/LC_MESSAGES/django.po | 89 + .../flatpages/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 2475 bytes .../flatpages/locale/ar/LC_MESSAGES/django.po | 87 + .../locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 924 bytes .../locale/ast/LC_MESSAGES/django.po | 80 + .../flatpages/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 2235 bytes .../flatpages/locale/az/LC_MESSAGES/django.po | 89 + .../flatpages/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 2801 bytes .../flatpages/locale/be/LC_MESSAGES/django.po | 88 + .../flatpages/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 2569 bytes .../flatpages/locale/bg/LC_MESSAGES/django.po | 87 + .../flatpages/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 2988 bytes .../flatpages/locale/bn/LC_MESSAGES/django.po | 83 + .../flatpages/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 2433 bytes .../flatpages/locale/br/LC_MESSAGES/django.po | 95 + .../flatpages/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 1782 bytes .../flatpages/locale/bs/LC_MESSAGES/django.po | 88 + .../flatpages/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 2258 bytes .../flatpages/locale/ca/LC_MESSAGES/django.po | 91 + .../flatpages/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 2359 bytes .../flatpages/locale/cs/LC_MESSAGES/django.po | 88 + .../flatpages/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 2163 bytes .../flatpages/locale/cy/LC_MESSAGES/django.po | 88 + .../flatpages/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 2288 bytes .../flatpages/locale/da/LC_MESSAGES/django.po | 92 + .../flatpages/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 2216 bytes .../flatpages/locale/de/LC_MESSAGES/django.po | 86 + .../locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 2398 bytes .../locale/dsb/LC_MESSAGES/django.po | 90 + .../flatpages/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 2870 bytes .../flatpages/locale/el/LC_MESSAGES/django.po | 92 + .../flatpages/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../flatpages/locale/en/LC_MESSAGES/django.po | 96 + .../locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../locale/en_AU/LC_MESSAGES/django.po | 74 + .../locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 1989 bytes .../locale/en_GB/LC_MESSAGES/django.po | 85 + .../flatpages/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 2295 bytes .../flatpages/locale/eo/LC_MESSAGES/django.po | 89 + .../flatpages/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 2293 bytes .../flatpages/locale/es/LC_MESSAGES/django.po | 94 + .../locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 2282 bytes .../locale/es_AR/LC_MESSAGES/django.po | 89 + .../locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 2140 bytes .../locale/es_CO/LC_MESSAGES/django.po | 86 + .../locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 2062 bytes .../locale/es_MX/LC_MESSAGES/django.po | 84 + .../locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 2187 bytes .../locale/es_VE/LC_MESSAGES/django.po | 85 + .../flatpages/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 2095 bytes .../flatpages/locale/et/LC_MESSAGES/django.po | 85 + .../flatpages/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 2244 bytes .../flatpages/locale/eu/LC_MESSAGES/django.po | 90 + .../flatpages/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 2459 bytes .../flatpages/locale/fa/LC_MESSAGES/django.po | 87 + .../flatpages/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 2127 bytes .../flatpages/locale/fi/LC_MESSAGES/django.po | 88 + .../flatpages/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 2452 bytes .../flatpages/locale/fr/LC_MESSAGES/django.po | 93 + .../flatpages/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../flatpages/locale/fy/LC_MESSAGES/django.po | 74 + .../flatpages/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 2191 bytes .../flatpages/locale/ga/LC_MESSAGES/django.po | 87 + .../flatpages/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 2295 bytes .../flatpages/locale/gd/LC_MESSAGES/django.po | 89 + .../flatpages/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 2039 bytes .../flatpages/locale/gl/LC_MESSAGES/django.po | 86 + .../flatpages/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 2548 bytes .../flatpages/locale/he/LC_MESSAGES/django.po | 88 + .../flatpages/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 2770 bytes .../flatpages/locale/hi/LC_MESSAGES/django.po | 81 + .../flatpages/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 2188 bytes .../flatpages/locale/hr/LC_MESSAGES/django.po | 88 + .../locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 2384 bytes .../locale/hsb/LC_MESSAGES/django.po | 89 + .../flatpages/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 2263 bytes .../flatpages/locale/hu/LC_MESSAGES/django.po | 89 + .../flatpages/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 2536 bytes .../flatpages/locale/hy/LC_MESSAGES/django.po | 84 + .../flatpages/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 500 bytes .../flatpages/locale/ia/LC_MESSAGES/django.po | 77 + .../flatpages/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 2236 bytes .../flatpages/locale/id/LC_MESSAGES/django.po | 91 + .../flatpages/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 464 bytes .../flatpages/locale/io/LC_MESSAGES/django.po | 74 + .../flatpages/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 2252 bytes .../flatpages/locale/is/LC_MESSAGES/django.po | 87 + .../flatpages/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 2245 bytes .../flatpages/locale/it/LC_MESSAGES/django.po | 92 + .../flatpages/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 2494 bytes .../flatpages/locale/ja/LC_MESSAGES/django.po | 90 + .../flatpages/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 3022 bytes .../flatpages/locale/ka/LC_MESSAGES/django.po | 88 + .../flatpages/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 2438 bytes .../flatpages/locale/kk/LC_MESSAGES/django.po | 88 + .../flatpages/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 1942 bytes .../flatpages/locale/km/LC_MESSAGES/django.po | 80 + .../flatpages/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 1902 bytes .../flatpages/locale/kn/LC_MESSAGES/django.po | 82 + .../flatpages/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 2285 bytes .../flatpages/locale/ko/LC_MESSAGES/django.po | 89 + .../flatpages/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 502 bytes .../flatpages/locale/lb/LC_MESSAGES/django.po | 77 + .../flatpages/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 2506 bytes .../flatpages/locale/lt/LC_MESSAGES/django.po | 94 + .../flatpages/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 2367 bytes .../flatpages/locale/lv/LC_MESSAGES/django.po | 93 + .../flatpages/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 2699 bytes .../flatpages/locale/mk/LC_MESSAGES/django.po | 90 + .../flatpages/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 3565 bytes .../flatpages/locale/ml/LC_MESSAGES/django.po | 89 + .../flatpages/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 2776 bytes .../flatpages/locale/mn/LC_MESSAGES/django.po | 92 + .../flatpages/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../flatpages/locale/mr/LC_MESSAGES/django.po | 74 + .../flatpages/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 507 bytes .../flatpages/locale/my/LC_MESSAGES/django.po | 77 + .../flatpages/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 2196 bytes .../flatpages/locale/nb/LC_MESSAGES/django.po | 91 + .../flatpages/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 1500 bytes .../flatpages/locale/ne/LC_MESSAGES/django.po | 77 + .../flatpages/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 2238 bytes .../flatpages/locale/nl/LC_MESSAGES/django.po | 92 + .../flatpages/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 1693 bytes .../flatpages/locale/nn/LC_MESSAGES/django.po | 84 + .../flatpages/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 2329 bytes .../flatpages/locale/os/LC_MESSAGES/django.po | 86 + .../flatpages/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 903 bytes .../flatpages/locale/pa/LC_MESSAGES/django.po | 78 + .../flatpages/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 2455 bytes .../flatpages/locale/pl/LC_MESSAGES/django.po | 96 + .../flatpages/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 2115 bytes .../flatpages/locale/pt/LC_MESSAGES/django.po | 87 + .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 2274 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 95 + .../flatpages/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 2337 bytes .../flatpages/locale/ro/LC_MESSAGES/django.po | 96 + .../flatpages/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 2966 bytes .../flatpages/locale/ru/LC_MESSAGES/django.po | 94 + .../flatpages/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 2145 bytes .../flatpages/locale/sk/LC_MESSAGES/django.po | 90 + .../flatpages/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 2173 bytes .../flatpages/locale/sl/LC_MESSAGES/django.po | 88 + .../flatpages/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 2328 bytes .../flatpages/locale/sq/LC_MESSAGES/django.po | 89 + .../flatpages/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 2755 bytes .../flatpages/locale/sr/LC_MESSAGES/django.po | 92 + .../locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 2307 bytes .../locale/sr_Latn/LC_MESSAGES/django.po | 92 + .../flatpages/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 2288 bytes .../flatpages/locale/sv/LC_MESSAGES/django.po | 90 + .../flatpages/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 1537 bytes .../flatpages/locale/sw/LC_MESSAGES/django.po | 83 + .../flatpages/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 1945 bytes .../flatpages/locale/ta/LC_MESSAGES/django.po | 80 + .../flatpages/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 1238 bytes .../flatpages/locale/te/LC_MESSAGES/django.po | 79 + .../flatpages/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 2698 bytes .../flatpages/locale/th/LC_MESSAGES/django.po | 80 + .../flatpages/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 2290 bytes .../flatpages/locale/tr/LC_MESSAGES/django.po | 93 + .../flatpages/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 2007 bytes .../flatpages/locale/tt/LC_MESSAGES/django.po | 84 + .../locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 490 bytes .../locale/udm/LC_MESSAGES/django.po | 77 + .../flatpages/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 2962 bytes .../flatpages/locale/uk/LC_MESSAGES/django.po | 96 + .../flatpages/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 1976 bytes .../flatpages/locale/ur/LC_MESSAGES/django.po | 84 + .../flatpages/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 1035 bytes .../flatpages/locale/vi/LC_MESSAGES/django.po | 82 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 2127 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 88 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 2053 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 84 + .../django/contrib/flatpages/middleware.py | 20 + .../flatpages/migrations/0001_initial.py | 39 + .../contrib/flatpages/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-37.pyc | Bin 0 -> 1478 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 216 bytes .../django/contrib/flatpages/models.py | 40 + .../django/contrib/flatpages/sitemaps.py | 12 + .../flatpages/templatetags/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 218 bytes .../__pycache__/flatpages.cpython-37.pyc | Bin 0 -> 2932 bytes .../flatpages/templatetags/flatpages.py | 99 + .../django/contrib/flatpages/urls.py | 6 + .../django/contrib/flatpages/views.py | 70 + .../django/contrib/gis/__init__.py | 1 + .../gis/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 255 bytes .../gis/__pycache__/apps.cpython-37.pyc | Bin 0 -> 778 bytes .../gis/__pycache__/feeds.cpython-37.pyc | Bin 0 -> 5699 bytes .../gis/__pycache__/geometry.cpython-37.pyc | Bin 0 -> 526 bytes .../gis/__pycache__/measure.cpython-37.pyc | Bin 0 -> 9265 bytes .../gis/__pycache__/ptr.cpython-37.pyc | Bin 0 -> 1329 bytes .../gis/__pycache__/shortcuts.cpython-37.pyc | Bin 0 -> 1350 bytes .../gis/__pycache__/views.cpython-37.pyc | Bin 0 -> 847 bytes .../django/contrib/gis/admin/__init__.py | 12 + .../admin/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 693 bytes .../admin/__pycache__/options.cpython-37.pyc | Bin 0 -> 4315 bytes .../admin/__pycache__/widgets.cpython-37.pyc | Bin 0 -> 2887 bytes .../django/contrib/gis/admin/options.py | 134 + .../django/contrib/gis/admin/widgets.py | 117 + .../site-packages/django/contrib/gis/apps.py | 11 + .../django/contrib/gis/db/__init__.py | 0 .../db/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 202 bytes .../contrib/gis/db/backends/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 211 bytes .../backends/__pycache__/utils.cpython-37.pyc | Bin 0 -> 1217 bytes .../contrib/gis/db/backends/base/__init__.py | 0 .../base/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 216 bytes .../base/__pycache__/adapter.cpython-37.pyc | Bin 0 -> 1048 bytes .../base/__pycache__/features.cpython-37.pyc | Bin 0 -> 3479 bytes .../base/__pycache__/models.cpython-37.pyc | Bin 0 -> 4403 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 6326 bytes .../contrib/gis/db/backends/base/adapter.py | 19 + .../contrib/gis/db/backends/base/features.py | 98 + .../contrib/gis/db/backends/base/models.py | 136 + .../gis/db/backends/base/operations.py | 162 + .../contrib/gis/db/backends/mysql/__init__.py | 0 .../mysql/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 217 bytes .../mysql/__pycache__/base.cpython-37.pyc | Bin 0 -> 767 bytes .../mysql/__pycache__/features.cpython-37.pyc | Bin 0 -> 1335 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 1446 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 3738 bytes .../mysql/__pycache__/schema.cpython-37.pyc | Bin 0 -> 3085 bytes .../contrib/gis/db/backends/mysql/base.py | 16 + .../contrib/gis/db/backends/mysql/features.py | 26 + .../gis/db/backends/mysql/introspection.py | 38 + .../gis/db/backends/mysql/operations.py | 100 + .../contrib/gis/db/backends/mysql/schema.py | 77 + .../gis/db/backends/oracle/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 218 bytes .../oracle/__pycache__/adapter.cpython-37.pyc | Bin 0 -> 2272 bytes .../oracle/__pycache__/base.cpython-37.pyc | Bin 0 -> 773 bytes .../__pycache__/features.cpython-37.pyc | Bin 0 -> 704 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 1261 bytes .../oracle/__pycache__/models.cpython-37.pyc | Bin 0 -> 2762 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 7996 bytes .../oracle/__pycache__/schema.cpython-37.pyc | Bin 0 -> 3863 bytes .../contrib/gis/db/backends/oracle/adapter.py | 57 + .../contrib/gis/db/backends/oracle/base.py | 16 + .../gis/db/backends/oracle/features.py | 11 + .../gis/db/backends/oracle/introspection.py | 42 + .../contrib/gis/db/backends/oracle/models.py | 64 + .../gis/db/backends/oracle/operations.py | 217 + .../contrib/gis/db/backends/oracle/schema.py | 94 + .../gis/db/backends/postgis/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 219 bytes .../__pycache__/adapter.cpython-37.pyc | Bin 0 -> 2409 bytes .../postgis/__pycache__/base.cpython-37.pyc | Bin 0 -> 1315 bytes .../postgis/__pycache__/const.cpython-37.pyc | Bin 0 -> 663 bytes .../__pycache__/features.cpython-37.pyc | Bin 0 -> 703 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 2929 bytes .../postgis/__pycache__/models.cpython-37.pyc | Bin 0 -> 2681 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 13166 bytes .../__pycache__/pgraster.cpython-37.pyc | Bin 0 -> 2505 bytes .../postgis/__pycache__/schema.cpython-37.pyc | Bin 0 -> 2357 bytes .../gis/db/backends/postgis/adapter.py | 65 + .../contrib/gis/db/backends/postgis/base.py | 26 + .../contrib/gis/db/backends/postgis/const.py | 43 + .../gis/db/backends/postgis/features.py | 12 + .../gis/db/backends/postgis/introspection.py | 100 + .../contrib/gis/db/backends/postgis/models.py | 70 + .../gis/db/backends/postgis/operations.py | 396 + .../gis/db/backends/postgis/pgraster.py | 141 + .../contrib/gis/db/backends/postgis/schema.py | 66 + .../gis/db/backends/spatialite/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 222 bytes .../__pycache__/adapter.cpython-37.pyc | Bin 0 -> 761 bytes .../__pycache__/base.cpython-37.pyc | Bin 0 -> 2567 bytes .../__pycache__/client.cpython-37.pyc | Bin 0 -> 486 bytes .../__pycache__/features.cpython-37.pyc | Bin 0 -> 853 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 2319 bytes .../__pycache__/models.cpython-37.pyc | Bin 0 -> 2645 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 8169 bytes .../__pycache__/schema.cpython-37.pyc | Bin 0 -> 4731 bytes .../gis/db/backends/spatialite/adapter.py | 9 + .../gis/db/backends/spatialite/base.py | 74 + .../gis/db/backends/spatialite/client.py | 5 + .../gis/db/backends/spatialite/features.py | 13 + .../db/backends/spatialite/introspection.py | 73 + .../gis/db/backends/spatialite/models.py | 68 + .../gis/db/backends/spatialite/operations.py | 219 + .../gis/db/backends/spatialite/schema.py | 165 + .../django/contrib/gis/db/backends/utils.py | 27 + .../django/contrib/gis/db/models/__init__.py | 18 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 844 bytes .../__pycache__/aggregates.cpython-37.pyc | Bin 0 -> 3444 bytes .../models/__pycache__/fields.cpython-37.pyc | Bin 0 -> 12923 bytes .../__pycache__/functions.cpython-37.pyc | Bin 0 -> 18357 bytes .../models/__pycache__/lookups.cpython-37.pyc | Bin 0 -> 12060 bytes .../models/__pycache__/proxy.cpython-37.pyc | Bin 0 -> 2456 bytes .../contrib/gis/db/models/aggregates.py | 76 + .../django/contrib/gis/db/models/fields.py | 381 + .../django/contrib/gis/db/models/functions.py | 471 + .../django/contrib/gis/db/models/lookups.py | 346 + .../django/contrib/gis/db/models/proxy.py | 80 + .../contrib/gis/db/models/sql/__init__.py | 7 + .../sql/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 343 bytes .../sql/__pycache__/conversion.cpython-37.pyc | Bin 0 -> 2946 bytes .../contrib/gis/db/models/sql/conversion.py | 69 + .../site-packages/django/contrib/gis/feeds.py | 140 + .../django/contrib/gis/forms/__init__.py | 8 + .../forms/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 569 bytes .../forms/__pycache__/fields.cpython-37.pyc | Bin 0 -> 4228 bytes .../forms/__pycache__/widgets.cpython-37.pyc | Bin 0 -> 3969 bytes .../django/contrib/gis/forms/fields.py | 132 + .../django/contrib/gis/forms/widgets.py | 117 + .../django/contrib/gis/gdal/LICENSE | 28 + .../django/contrib/gis/gdal/__init__.py | 47 + .../gdal/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1942 bytes .../gis/gdal/__pycache__/base.cpython-37.pyc | Bin 0 -> 514 bytes .../__pycache__/datasource.cpython-37.pyc | Bin 0 -> 4150 bytes .../gdal/__pycache__/driver.cpython-37.pyc | Bin 0 -> 2576 bytes .../gdal/__pycache__/envelope.cpython-37.pyc | Bin 0 -> 5909 bytes .../gis/gdal/__pycache__/error.cpython-37.pyc | Bin 0 -> 1576 bytes .../gdal/__pycache__/feature.cpython-37.pyc | Bin 0 -> 4690 bytes .../gis/gdal/__pycache__/field.cpython-37.pyc | Bin 0 -> 7836 bytes .../__pycache__/geometries.cpython-37.pyc | Bin 0 -> 25616 bytes .../gdal/__pycache__/geomtype.cpython-37.pyc | Bin 0 -> 2989 bytes .../gis/gdal/__pycache__/layer.cpython-37.pyc | Bin 0 -> 9341 bytes .../gdal/__pycache__/libgdal.cpython-37.pyc | Bin 0 -> 3117 bytes .../gis/gdal/__pycache__/srs.cpython-37.pyc | Bin 0 -> 12774 bytes .../django/contrib/gis/gdal/base.py | 6 + .../django/contrib/gis/gdal/datasource.py | 120 + .../django/contrib/gis/gdal/driver.py | 97 + .../django/contrib/gis/gdal/envelope.py | 178 + .../django/contrib/gis/gdal/error.py | 61 + .../django/contrib/gis/gdal/feature.py | 115 + .../django/contrib/gis/gdal/field.py | 234 + .../django/contrib/gis/gdal/geometries.py | 715 ++ .../django/contrib/gis/gdal/geomtype.py | 95 + .../django/contrib/gis/gdal/layer.py | 214 + .../django/contrib/gis/gdal/libgdal.py | 124 + .../contrib/gis/gdal/prototypes/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 215 bytes .../prototypes/__pycache__/ds.cpython-37.pyc | Bin 0 -> 3561 bytes .../__pycache__/errcheck.cpython-37.pyc | Bin 0 -> 3969 bytes .../__pycache__/generation.cpython-37.pyc | Bin 0 -> 4435 bytes .../__pycache__/geom.cpython-37.pyc | Bin 0 -> 4051 bytes .../__pycache__/raster.cpython-37.pyc | Bin 0 -> 3730 bytes .../prototypes/__pycache__/srs.cpython-37.pyc | Bin 0 -> 2719 bytes .../django/contrib/gis/gdal/prototypes/ds.py | 81 + .../contrib/gis/gdal/prototypes/errcheck.py | 139 + .../contrib/gis/gdal/prototypes/generation.py | 158 + .../contrib/gis/gdal/prototypes/geom.py | 109 + .../contrib/gis/gdal/prototypes/raster.py | 108 + .../django/contrib/gis/gdal/prototypes/srs.py | 80 + .../contrib/gis/gdal/raster/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 211 bytes .../raster/__pycache__/band.cpython-37.pyc | Bin 0 -> 7921 bytes .../raster/__pycache__/base.cpython-37.pyc | Bin 0 -> 1839 bytes .../raster/__pycache__/const.cpython-37.pyc | Bin 0 -> 1492 bytes .../raster/__pycache__/source.cpython-37.pyc | Bin 0 -> 12922 bytes .../django/contrib/gis/gdal/raster/band.py | 252 + .../django/contrib/gis/gdal/raster/base.py | 75 + .../django/contrib/gis/gdal/raster/const.py | 76 + .../django/contrib/gis/gdal/raster/source.py | 467 + .../django/contrib/gis/gdal/srs.py | 335 + .../django/contrib/gis/geoip2/__init__.py | 23 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1021 bytes .../geoip2/__pycache__/base.cpython-37.pyc | Bin 0 -> 7462 bytes .../__pycache__/resources.cpython-37.pyc | Bin 0 -> 785 bytes .../django/contrib/gis/geoip2/base.py | 229 + .../django/contrib/gis/geoip2/resources.py | 21 + .../django/contrib/gis/geometry.py | 13 + .../django/contrib/gis/geos/LICENSE | 27 + .../django/contrib/gis/geos/__init__.py | 15 + .../geos/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 961 bytes .../gis/geos/__pycache__/base.cpython-37.pyc | Bin 0 -> 514 bytes .../__pycache__/collections.cpython-37.pyc | Bin 0 -> 4853 bytes .../geos/__pycache__/coordseq.cpython-37.pyc | Bin 0 -> 8356 bytes .../gis/geos/__pycache__/error.cpython-37.pyc | Bin 0 -> 438 bytes .../geos/__pycache__/factory.cpython-37.pyc | Bin 0 -> 970 bytes .../geos/__pycache__/geometry.cpython-37.pyc | Bin 0 -> 27530 bytes .../gis/geos/__pycache__/io.cpython-37.pyc | Bin 0 -> 1321 bytes .../geos/__pycache__/libgeos.cpython-37.pyc | Bin 0 -> 4229 bytes .../__pycache__/linestring.cpython-37.pyc | Bin 0 -> 5419 bytes .../__pycache__/mutable_list.cpython-37.pyc | Bin 0 -> 10250 bytes .../gis/geos/__pycache__/point.cpython-37.pyc | Bin 0 -> 5180 bytes .../geos/__pycache__/polygon.cpython-37.pyc | Bin 0 -> 6599 bytes .../geos/__pycache__/prepared.cpython-37.pyc | Bin 0 -> 2489 bytes .../django/contrib/gis/geos/base.py | 6 + .../django/contrib/gis/geos/collections.py | 115 + .../django/contrib/gis/geos/coordseq.py | 196 + .../django/contrib/gis/geos/error.py | 3 + .../django/contrib/gis/geos/factory.py | 33 + .../django/contrib/gis/geos/geometry.py | 738 ++ .../django/contrib/gis/geos/io.py | 24 + .../django/contrib/gis/geos/libgeos.py | 175 + .../django/contrib/gis/geos/linestring.py | 175 + .../django/contrib/gis/geos/mutable_list.py | 310 + .../django/contrib/gis/geos/point.py | 157 + .../django/contrib/gis/geos/polygon.py | 178 + .../django/contrib/gis/geos/prepared.py | 49 + .../contrib/gis/geos/prototypes/__init__.py | 25 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1801 bytes .../__pycache__/coordseq.cpython-37.pyc | Bin 0 -> 2854 bytes .../__pycache__/errcheck.cpython-37.pyc | Bin 0 -> 2537 bytes .../__pycache__/geom.cpython-37.pyc | Bin 0 -> 3103 bytes .../prototypes/__pycache__/io.cpython-37.pyc | Bin 0 -> 10324 bytes .../__pycache__/misc.cpython-37.pyc | Bin 0 -> 1301 bytes .../__pycache__/predicates.cpython-37.pyc | Bin 0 -> 1772 bytes .../__pycache__/prepared.cpython-37.pyc | Bin 0 -> 1289 bytes .../__pycache__/threadsafe.cpython-37.pyc | Bin 0 -> 2683 bytes .../__pycache__/topology.cpython-37.pyc | Bin 0 -> 2036 bytes .../contrib/gis/geos/prototypes/coordseq.py | 91 + .../contrib/gis/geos/prototypes/errcheck.py | 83 + .../contrib/gis/geos/prototypes/geom.py | 96 + .../django/contrib/gis/geos/prototypes/io.py | 339 + .../contrib/gis/geos/prototypes/misc.py | 31 + .../contrib/gis/geos/prototypes/predicates.py | 43 + .../contrib/gis/geos/prototypes/prepared.py | 28 + .../contrib/gis/geos/prototypes/threadsafe.py | 77 + .../contrib/gis/geos/prototypes/topology.py | 53 + .../gis/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 470 bytes .../gis/locale/af/LC_MESSAGES/django.po | 80 + .../gis/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 2428 bytes .../gis/locale/ar/LC_MESSAGES/django.po | 90 + .../gis/locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 850 bytes .../gis/locale/ast/LC_MESSAGES/django.po | 85 + .../gis/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 2013 bytes .../gis/locale/az/LC_MESSAGES/django.po | 88 + .../gis/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 2488 bytes .../gis/locale/be/LC_MESSAGES/django.po | 90 + .../gis/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 2452 bytes .../gis/locale/bg/LC_MESSAGES/django.po | 90 + .../gis/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 1070 bytes .../gis/locale/bn/LC_MESSAGES/django.po | 86 + .../gis/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 1614 bytes .../gis/locale/br/LC_MESSAGES/django.po | 91 + .../gis/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 1308 bytes .../gis/locale/bs/LC_MESSAGES/django.po | 88 + .../gis/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 2043 bytes .../gis/locale/ca/LC_MESSAGES/django.po | 93 + .../gis/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 2111 bytes .../gis/locale/cs/LC_MESSAGES/django.po | 91 + .../gis/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 1430 bytes .../gis/locale/cy/LC_MESSAGES/django.po | 86 + .../gis/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 1934 bytes .../gis/locale/da/LC_MESSAGES/django.po | 89 + .../gis/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 1999 bytes .../gis/locale/de/LC_MESSAGES/django.po | 88 + .../gis/locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 2109 bytes .../gis/locale/dsb/LC_MESSAGES/django.po | 89 + .../gis/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 2519 bytes .../gis/locale/el/LC_MESSAGES/django.po | 93 + .../gis/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../gis/locale/en/LC_MESSAGES/django.po | 103 + .../gis/locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../gis/locale/en_AU/LC_MESSAGES/django.po | 80 + .../gis/locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 1369 bytes .../gis/locale/en_GB/LC_MESSAGES/django.po | 88 + .../gis/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 1960 bytes .../gis/locale/eo/LC_MESSAGES/django.po | 88 + .../gis/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 2056 bytes .../gis/locale/es/LC_MESSAGES/django.po | 93 + .../gis/locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 2069 bytes .../gis/locale/es_AR/LC_MESSAGES/django.po | 90 + .../gis/locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 1865 bytes .../gis/locale/es_CO/LC_MESSAGES/django.po | 92 + .../gis/locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 1441 bytes .../gis/locale/es_MX/LC_MESSAGES/django.po | 87 + .../gis/locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../gis/locale/es_VE/LC_MESSAGES/django.po | 80 + .../gis/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 1961 bytes .../gis/locale/et/LC_MESSAGES/django.po | 90 + .../gis/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 1973 bytes .../gis/locale/eu/LC_MESSAGES/django.po | 88 + .../gis/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 2281 bytes .../gis/locale/fa/LC_MESSAGES/django.po | 90 + .../gis/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 1946 bytes .../gis/locale/fi/LC_MESSAGES/django.po | 87 + .../gis/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 2082 bytes .../gis/locale/fr/LC_MESSAGES/django.po | 90 + .../gis/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../gis/locale/fy/LC_MESSAGES/django.po | 80 + .../gis/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 1420 bytes .../gis/locale/ga/LC_MESSAGES/django.po | 88 + .../gis/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 2142 bytes .../gis/locale/gd/LC_MESSAGES/django.po | 91 + .../gis/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 1421 bytes .../gis/locale/gl/LC_MESSAGES/django.po | 89 + .../gis/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 2236 bytes .../gis/locale/he/LC_MESSAGES/django.po | 86 + .../gis/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 1818 bytes .../gis/locale/hi/LC_MESSAGES/django.po | 86 + .../gis/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 1549 bytes .../gis/locale/hr/LC_MESSAGES/django.po | 91 + .../gis/locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 2083 bytes .../gis/locale/hsb/LC_MESSAGES/django.po | 90 + .../gis/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 1941 bytes .../gis/locale/hu/LC_MESSAGES/django.po | 90 + .../gis/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 2535 bytes .../gis/locale/hy/LC_MESSAGES/django.po | 86 + .../gis/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 1899 bytes .../gis/locale/ia/LC_MESSAGES/django.po | 89 + .../gis/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 1983 bytes .../gis/locale/id/LC_MESSAGES/django.po | 92 + .../gis/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 464 bytes .../gis/locale/io/LC_MESSAGES/django.po | 80 + .../gis/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 1317 bytes .../gis/locale/is/LC_MESSAGES/django.po | 86 + .../gis/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 2009 bytes .../gis/locale/it/LC_MESSAGES/django.po | 93 + .../gis/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 2124 bytes .../gis/locale/ja/LC_MESSAGES/django.po | 88 + .../gis/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 1991 bytes .../gis/locale/ka/LC_MESSAGES/django.po | 87 + .../gis/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 1349 bytes .../gis/locale/kk/LC_MESSAGES/django.po | 85 + .../gis/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 459 bytes .../gis/locale/km/LC_MESSAGES/django.po | 80 + .../gis/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 461 bytes .../gis/locale/kn/LC_MESSAGES/django.po | 80 + .../gis/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 1975 bytes .../gis/locale/ko/LC_MESSAGES/django.po | 90 + .../gis/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 474 bytes .../gis/locale/lb/LC_MESSAGES/django.po | 80 + .../gis/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 2113 bytes .../gis/locale/lt/LC_MESSAGES/django.po | 91 + .../gis/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 2057 bytes .../gis/locale/lv/LC_MESSAGES/django.po | 88 + .../gis/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 2620 bytes .../gis/locale/mk/LC_MESSAGES/django.po | 93 + .../gis/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 2049 bytes .../gis/locale/ml/LC_MESSAGES/django.po | 88 + .../gis/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 2433 bytes .../gis/locale/mn/LC_MESSAGES/django.po | 93 + .../gis/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../gis/locale/mr/LC_MESSAGES/django.po | 80 + .../gis/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 525 bytes .../gis/locale/my/LC_MESSAGES/django.po | 85 + .../gis/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 1930 bytes .../gis/locale/nb/LC_MESSAGES/django.po | 90 + .../gis/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 982 bytes .../gis/locale/ne/LC_MESSAGES/django.po | 84 + .../gis/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 1985 bytes .../gis/locale/nl/LC_MESSAGES/django.po | 94 + .../gis/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 1202 bytes .../gis/locale/nn/LC_MESSAGES/django.po | 87 + .../gis/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 1594 bytes .../gis/locale/os/LC_MESSAGES/django.po | 87 + .../gis/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 1265 bytes .../gis/locale/pa/LC_MESSAGES/django.po | 86 + .../gis/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 2138 bytes .../gis/locale/pl/LC_MESSAGES/django.po | 95 + .../gis/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 2036 bytes .../gis/locale/pt/LC_MESSAGES/django.po | 95 + .../gis/locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 2011 bytes .../gis/locale/pt_BR/LC_MESSAGES/django.po | 94 + .../gis/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 2047 bytes .../gis/locale/ro/LC_MESSAGES/django.po | 92 + .../gis/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 2583 bytes .../gis/locale/ru/LC_MESSAGES/django.po | 93 + .../gis/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 2010 bytes .../gis/locale/sk/LC_MESSAGES/django.po | 88 + .../gis/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 2067 bytes .../gis/locale/sl/LC_MESSAGES/django.po | 92 + .../gis/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 1918 bytes .../gis/locale/sq/LC_MESSAGES/django.po | 89 + .../gis/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 2442 bytes .../gis/locale/sr/LC_MESSAGES/django.po | 89 + .../gis/locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 1971 bytes .../gis/locale/sr_Latn/LC_MESSAGES/django.po | 88 + .../gis/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 1987 bytes .../gis/locale/sv/LC_MESSAGES/django.po | 92 + .../gis/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 1426 bytes .../gis/locale/sw/LC_MESSAGES/django.po | 87 + .../gis/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 466 bytes .../gis/locale/ta/LC_MESSAGES/django.po | 80 + .../gis/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 824 bytes .../gis/locale/te/LC_MESSAGES/django.po | 84 + .../gis/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 1835 bytes .../gis/locale/th/LC_MESSAGES/django.po | 86 + .../gis/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 2024 bytes .../gis/locale/tr/LC_MESSAGES/django.po | 91 + .../gis/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 1470 bytes .../gis/locale/tt/LC_MESSAGES/django.po | 85 + .../gis/locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 462 bytes .../gis/locale/udm/LC_MESSAGES/django.po | 80 + .../gis/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 2455 bytes .../gis/locale/uk/LC_MESSAGES/django.po | 92 + .../gis/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 1410 bytes .../gis/locale/ur/LC_MESSAGES/django.po | 86 + .../gis/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 1384 bytes .../gis/locale/vi/LC_MESSAGES/django.po | 87 + .../gis/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 1852 bytes .../gis/locale/zh_Hans/LC_MESSAGES/django.po | 92 + .../gis/locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 2012 bytes .../gis/locale/zh_Hant/LC_MESSAGES/django.po | 89 + .../__pycache__/inspectdb.cpython-37.pyc | Bin 0 -> 893 bytes .../__pycache__/ogrinspect.cpython-37.pyc | Bin 0 -> 5161 bytes .../gis/management/commands/inspectdb.py | 17 + .../gis/management/commands/ogrinspect.py | 133 + .../django/contrib/gis/measure.py | 333 + .../site-packages/django/contrib/gis/ptr.py | 38 + .../contrib/gis/serializers/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 211 bytes .../__pycache__/geojson.cpython-37.pyc | Bin 0 -> 2810 bytes .../django/contrib/gis/serializers/geojson.py | 67 + .../django/contrib/gis/shortcuts.py | 40 + .../django/contrib/gis/sitemaps/__init__.py | 4 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 324 bytes .../sitemaps/__pycache__/kml.cpython-37.pyc | Bin 0 -> 2612 bytes .../sitemaps/__pycache__/views.cpython-37.pyc | Bin 0 -> 1956 bytes .../django/contrib/gis/sitemaps/kml.py | 70 + .../django/contrib/gis/sitemaps/views.py | 61 + .../django/contrib/gis/static/gis/css/ol3.css | 31 + .../gis/static/gis/img/draw_line_off.svg | 1 + .../gis/static/gis/img/draw_line_on.svg | 1 + .../gis/static/gis/img/draw_point_off.svg | 1 + .../gis/static/gis/img/draw_point_on.svg | 1 + .../gis/static/gis/img/draw_polygon_off.svg | 1 + .../gis/static/gis/img/draw_polygon_on.svg | 1 + .../contrib/gis/static/gis/js/OLMapWidget.js | 231 + .../gis/templates/gis/admin/openlayers.html | 40 + .../gis/templates/gis/admin/openlayers.js | 176 + .../contrib/gis/templates/gis/admin/osm.html | 2 + .../contrib/gis/templates/gis/admin/osm.js | 2 + .../contrib/gis/templates/gis/kml/base.kml | 6 + .../gis/templates/gis/kml/placemarks.kml | 8 + .../gis/templates/gis/openlayers-osm.html | 12 + .../contrib/gis/templates/gis/openlayers.html | 40 + .../django/contrib/gis/utils/__init__.py | 14 + .../utils/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 692 bytes .../__pycache__/layermapping.cpython-37.pyc | Bin 0 -> 15666 bytes .../utils/__pycache__/ogrinfo.cpython-37.pyc | Bin 0 -> 1729 bytes .../__pycache__/ogrinspect.cpython-37.pyc | Bin 0 -> 7421 bytes .../gis/utils/__pycache__/srs.cpython-37.pyc | Bin 0 -> 2484 bytes .../django/contrib/gis/utils/layermapping.py | 631 + .../django/contrib/gis/utils/ogrinfo.py | 51 + .../django/contrib/gis/utils/ogrinspect.py | 237 + .../django/contrib/gis/utils/srs.py | 76 + .../site-packages/django/contrib/gis/views.py | 20 + .../django/contrib/humanize/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 270 bytes .../humanize/__pycache__/apps.cpython-37.pyc | Bin 0 -> 542 bytes .../django/contrib/humanize/apps.py | 7 + .../humanize/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 5097 bytes .../humanize/locale/af/LC_MESSAGES/django.po | 394 + .../humanize/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 7691 bytes .../humanize/locale/ar/LC_MESSAGES/django.po | 377 + .../humanize/locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 3468 bytes .../humanize/locale/ast/LC_MESSAGES/django.po | 262 + .../humanize/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 5216 bytes .../humanize/locale/az/LC_MESSAGES/django.po | 398 + .../humanize/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 6681 bytes .../humanize/locale/be/LC_MESSAGES/django.po | 320 + .../humanize/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 4645 bytes .../humanize/locale/bg/LC_MESSAGES/django.po | 265 + .../humanize/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 4026 bytes .../humanize/locale/bn/LC_MESSAGES/django.po | 263 + .../humanize/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 5850 bytes .../humanize/locale/br/LC_MESSAGES/django.po | 517 + .../humanize/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 1416 bytes .../humanize/locale/bs/LC_MESSAGES/django.po | 292 + .../humanize/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 3989 bytes .../humanize/locale/ca/LC_MESSAGES/django.po | 398 + .../humanize/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 6846 bytes .../humanize/locale/cs/LC_MESSAGES/django.po | 476 + .../humanize/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 5241 bytes .../humanize/locale/cy/LC_MESSAGES/django.po | 318 + .../humanize/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 5339 bytes .../humanize/locale/da/LC_MESSAGES/django.po | 396 + .../humanize/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 5418 bytes .../humanize/locale/de/LC_MESSAGES/django.po | 395 + .../humanize/locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 7036 bytes .../humanize/locale/dsb/LC_MESSAGES/django.po | 475 + .../humanize/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 6740 bytes .../humanize/locale/el/LC_MESSAGES/django.po | 398 + .../humanize/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../humanize/locale/en/LC_MESSAGES/django.po | 455 + .../locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../locale/en_AU/LC_MESSAGES/django.po | 261 + .../locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 3461 bytes .../locale/en_GB/LC_MESSAGES/django.po | 263 + .../humanize/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 5386 bytes .../humanize/locale/eo/LC_MESSAGES/django.po | 394 + .../humanize/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 5440 bytes .../humanize/locale/es/LC_MESSAGES/django.po | 401 + .../locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 5502 bytes .../locale/es_AR/LC_MESSAGES/django.po | 398 + .../locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 4203 bytes .../locale/es_CO/LC_MESSAGES/django.po | 267 + .../locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 3939 bytes .../locale/es_MX/LC_MESSAGES/django.po | 264 + .../locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 942 bytes .../locale/es_VE/LC_MESSAGES/django.po | 262 + .../humanize/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 4402 bytes .../humanize/locale/et/LC_MESSAGES/django.po | 398 + .../humanize/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 5287 bytes .../humanize/locale/eu/LC_MESSAGES/django.po | 397 + .../humanize/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 5808 bytes .../humanize/locale/fa/LC_MESSAGES/django.po | 400 + .../humanize/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 4177 bytes .../humanize/locale/fi/LC_MESSAGES/django.po | 265 + .../humanize/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 5502 bytes .../humanize/locale/fr/LC_MESSAGES/django.po | 396 + .../humanize/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../humanize/locale/fy/LC_MESSAGES/django.po | 261 + .../humanize/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 5112 bytes .../humanize/locale/ga/LC_MESSAGES/django.po | 516 + .../humanize/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 7232 bytes .../humanize/locale/gd/LC_MESSAGES/django.po | 476 + .../humanize/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 3474 bytes .../humanize/locale/gl/LC_MESSAGES/django.po | 265 + .../humanize/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 7857 bytes .../humanize/locale/he/LC_MESSAGES/django.po | 476 + .../humanize/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 4131 bytes .../humanize/locale/hi/LC_MESSAGES/django.po | 263 + .../humanize/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 1274 bytes .../humanize/locale/hr/LC_MESSAGES/django.po | 291 + .../humanize/locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 7146 bytes .../humanize/locale/hsb/LC_MESSAGES/django.po | 475 + .../humanize/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 5307 bytes .../humanize/locale/hu/LC_MESSAGES/django.po | 397 + .../humanize/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 1529 bytes .../humanize/locale/hy/LC_MESSAGES/django.po | 396 + .../humanize/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 4167 bytes .../humanize/locale/ia/LC_MESSAGES/django.po | 262 + .../humanize/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 4665 bytes .../humanize/locale/id/LC_MESSAGES/django.po | 359 + .../humanize/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 464 bytes .../humanize/locale/io/LC_MESSAGES/django.po | 261 + .../humanize/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 3805 bytes .../humanize/locale/is/LC_MESSAGES/django.po | 399 + .../humanize/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 5981 bytes .../humanize/locale/it/LC_MESSAGES/django.po | 404 + .../humanize/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 4840 bytes .../humanize/locale/ja/LC_MESSAGES/django.po | 357 + .../humanize/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 4878 bytes .../humanize/locale/ka/LC_MESSAGES/django.po | 395 + .../humanize/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 2113 bytes .../humanize/locale/kk/LC_MESSAGES/django.po | 394 + .../humanize/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 459 bytes .../humanize/locale/km/LC_MESSAGES/django.po | 233 + .../humanize/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 461 bytes .../humanize/locale/kn/LC_MESSAGES/django.po | 233 + .../humanize/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 4817 bytes .../humanize/locale/ko/LC_MESSAGES/django.po | 358 + .../humanize/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 474 bytes .../humanize/locale/lb/LC_MESSAGES/django.po | 261 + .../humanize/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 7374 bytes .../humanize/locale/lt/LC_MESSAGES/django.po | 478 + .../humanize/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 6252 bytes .../humanize/locale/lv/LC_MESSAGES/django.po | 440 + .../humanize/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 4761 bytes .../humanize/locale/mk/LC_MESSAGES/django.po | 262 + .../humanize/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 4736 bytes .../humanize/locale/ml/LC_MESSAGES/django.po | 395 + .../humanize/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 6020 bytes .../humanize/locale/mn/LC_MESSAGES/django.po | 398 + .../humanize/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../humanize/locale/mr/LC_MESSAGES/django.po | 261 + .../humanize/locale/ms/LC_MESSAGES/django.mo | Bin 0 -> 842 bytes .../humanize/locale/ms/LC_MESSAGES/django.po | 353 + .../humanize/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 3479 bytes .../humanize/locale/my/LC_MESSAGES/django.po | 234 + .../humanize/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 5358 bytes .../humanize/locale/nb/LC_MESSAGES/django.po | 398 + .../humanize/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 2285 bytes .../humanize/locale/ne/LC_MESSAGES/django.po | 261 + .../humanize/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 5303 bytes .../humanize/locale/nl/LC_MESSAGES/django.po | 398 + .../humanize/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 3482 bytes .../humanize/locale/nn/LC_MESSAGES/django.po | 263 + .../humanize/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 3902 bytes .../humanize/locale/os/LC_MESSAGES/django.po | 262 + .../humanize/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 1569 bytes .../humanize/locale/pa/LC_MESSAGES/django.po | 263 + .../humanize/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 7018 bytes .../humanize/locale/pl/LC_MESSAGES/django.po | 483 + .../humanize/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 5408 bytes .../humanize/locale/pt/LC_MESSAGES/django.po | 398 + .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 5427 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 400 + .../humanize/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 6229 bytes .../humanize/locale/ro/LC_MESSAGES/django.po | 441 + .../humanize/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 8569 bytes .../humanize/locale/ru/LC_MESSAGES/django.po | 484 + .../humanize/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 6931 bytes .../humanize/locale/sk/LC_MESSAGES/django.po | 477 + .../humanize/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 5430 bytes .../humanize/locale/sl/LC_MESSAGES/django.po | 323 + .../humanize/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 5321 bytes .../humanize/locale/sq/LC_MESSAGES/django.po | 395 + .../humanize/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 7246 bytes .../humanize/locale/sr/LC_MESSAGES/django.po | 436 + .../locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 562 bytes .../locale/sr_Latn/LC_MESSAGES/django.po | 290 + .../humanize/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 5359 bytes .../humanize/locale/sv/LC_MESSAGES/django.po | 398 + .../humanize/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 4146 bytes .../humanize/locale/sw/LC_MESSAGES/django.po | 262 + .../humanize/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 466 bytes .../humanize/locale/ta/LC_MESSAGES/django.po | 261 + .../humanize/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 1327 bytes .../humanize/locale/te/LC_MESSAGES/django.po | 262 + .../humanize/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 3709 bytes .../humanize/locale/th/LC_MESSAGES/django.po | 357 + .../humanize/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 5304 bytes .../humanize/locale/tr/LC_MESSAGES/django.po | 400 + .../humanize/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 3243 bytes .../humanize/locale/tt/LC_MESSAGES/django.po | 233 + .../humanize/locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 462 bytes .../humanize/locale/udm/LC_MESSAGES/django.po | 233 + .../humanize/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 8854 bytes .../humanize/locale/uk/LC_MESSAGES/django.po | 483 + .../humanize/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 1347 bytes .../humanize/locale/ur/LC_MESSAGES/django.po | 261 + .../humanize/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 3646 bytes .../humanize/locale/vi/LC_MESSAGES/django.po | 235 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 4709 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 362 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 3185 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 358 + .../contrib/humanize/templatetags/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 217 bytes .../__pycache__/humanize.cpython-37.pyc | Bin 0 -> 8122 bytes .../contrib/humanize/templatetags/humanize.py | 300 + .../django/contrib/messages/__init__.py | 4 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 364 bytes .../messages/__pycache__/api.cpython-37.pyc | Bin 0 -> 3127 bytes .../messages/__pycache__/apps.cpython-37.pyc | Bin 0 -> 542 bytes .../__pycache__/constants.cpython-37.pyc | Bin 0 -> 448 bytes .../context_processors.cpython-37.pyc | Bin 0 -> 598 bytes .../__pycache__/middleware.cpython-37.pyc | Bin 0 -> 1254 bytes .../messages/__pycache__/utils.cpython-37.pyc | Bin 0 -> 508 bytes .../messages/__pycache__/views.cpython-37.pyc | Bin 0 -> 958 bytes .../django/contrib/messages/api.py | 96 + .../django/contrib/messages/apps.py | 7 + .../django/contrib/messages/constants.py | 21 + .../contrib/messages/context_processors.py | 13 + .../django/contrib/messages/middleware.py | 26 + .../contrib/messages/storage/__init__.py | 12 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 670 bytes .../storage/__pycache__/base.cpython-37.pyc | Bin 0 -> 6448 bytes .../storage/__pycache__/cookie.cpython-37.pyc | Bin 0 -> 6036 bytes .../__pycache__/fallback.cpython-37.pyc | Bin 0 -> 2058 bytes .../__pycache__/session.cpython-37.pyc | Bin 0 -> 2255 bytes .../django/contrib/messages/storage/base.py | 170 + .../django/contrib/messages/storage/cookie.py | 166 + .../contrib/messages/storage/fallback.py | 54 + .../contrib/messages/storage/session.py | 48 + .../django/contrib/messages/utils.py | 12 + .../django/contrib/messages/views.py | 18 + .../django/contrib/postgres/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 270 bytes .../postgres/__pycache__/apps.cpython-37.pyc | Bin 0 -> 2603 bytes .../__pycache__/functions.cpython-37.pyc | Bin 0 -> 693 bytes .../__pycache__/indexes.cpython-37.pyc | Bin 0 -> 6886 bytes .../__pycache__/lookups.cpython-37.pyc | Bin 0 -> 3373 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 3566 bytes .../__pycache__/search.cpython-37.pyc | Bin 0 -> 9351 bytes .../__pycache__/serializers.cpython-37.pyc | Bin 0 -> 690 bytes .../__pycache__/signals.cpython-37.pyc | Bin 0 -> 1824 bytes .../postgres/__pycache__/utils.cpython-37.pyc | Bin 0 -> 1220 bytes .../__pycache__/validators.cpython-37.pyc | Bin 0 -> 3205 bytes .../contrib/postgres/aggregates/__init__.py | 2 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 261 bytes .../__pycache__/general.cpython-37.pyc | Bin 0 -> 2576 bytes .../__pycache__/mixins.cpython-37.pyc | Bin 0 -> 2870 bytes .../__pycache__/statistics.cpython-37.pyc | Bin 0 -> 3161 bytes .../contrib/postgres/aggregates/general.py | 63 + .../contrib/postgres/aggregates/mixins.py | 57 + .../contrib/postgres/aggregates/statistics.py | 69 + .../django/contrib/postgres/apps.py | 66 + .../contrib/postgres/fields/__init__.py | 5 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 304 bytes .../fields/__pycache__/array.cpython-37.pyc | Bin 0 -> 11540 bytes .../fields/__pycache__/citext.cpython-37.pyc | Bin 0 -> 1200 bytes .../fields/__pycache__/hstore.cpython-37.pyc | Bin 0 -> 4300 bytes .../fields/__pycache__/jsonb.cpython-37.pyc | Bin 0 -> 7006 bytes .../fields/__pycache__/mixins.cpython-37.pyc | Bin 0 -> 1180 bytes .../fields/__pycache__/ranges.cpython-37.pyc | Bin 0 -> 9067 bytes .../fields/__pycache__/utils.cpython-37.pyc | Bin 0 -> 513 bytes .../django/contrib/postgres/fields/array.py | 305 + .../django/contrib/postgres/fields/citext.py | 24 + .../django/contrib/postgres/fields/hstore.py | 112 + .../django/contrib/postgres/fields/jsonb.py | 186 + .../django/contrib/postgres/fields/mixins.py | 29 + .../django/contrib/postgres/fields/ranges.py | 274 + .../django/contrib/postgres/fields/utils.py | 3 + .../django/contrib/postgres/forms/__init__.py | 4 + .../forms/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 285 bytes .../forms/__pycache__/array.cpython-37.pyc | Bin 0 -> 7462 bytes .../forms/__pycache__/hstore.cpython-37.pyc | Bin 0 -> 1705 bytes .../forms/__pycache__/jsonb.cpython-37.pyc | Bin 0 -> 2016 bytes .../forms/__pycache__/ranges.cpython-37.pyc | Bin 0 -> 3896 bytes .../django/contrib/postgres/forms/array.py | 214 + .../django/contrib/postgres/forms/hstore.py | 58 + .../django/contrib/postgres/forms/jsonb.py | 62 + .../django/contrib/postgres/forms/ranges.py | 109 + .../django/contrib/postgres/functions.py | 11 + .../django/contrib/postgres/indexes.py | 183 + .../jinja2/postgres/widgets/split_array.html | 1 + .../postgres/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 3135 bytes .../postgres/locale/af/LC_MESSAGES/django.po | 114 + .../postgres/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 4416 bytes .../postgres/locale/ar/LC_MESSAGES/django.po | 140 + .../postgres/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 3132 bytes .../postgres/locale/az/LC_MESSAGES/django.po | 112 + .../postgres/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 4490 bytes .../postgres/locale/be/LC_MESSAGES/django.po | 132 + .../postgres/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 3439 bytes .../postgres/locale/bg/LC_MESSAGES/django.po | 119 + .../postgres/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 3191 bytes .../postgres/locale/ca/LC_MESSAGES/django.po | 121 + .../postgres/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 3686 bytes .../postgres/locale/cs/LC_MESSAGES/django.po | 129 + .../postgres/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 3167 bytes .../postgres/locale/da/LC_MESSAGES/django.po | 120 + .../postgres/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 3282 bytes .../postgres/locale/de/LC_MESSAGES/django.po | 117 + .../postgres/locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 3853 bytes .../postgres/locale/dsb/LC_MESSAGES/django.po | 131 + .../postgres/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 3917 bytes .../postgres/locale/el/LC_MESSAGES/django.po | 120 + .../postgres/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../postgres/locale/en/LC_MESSAGES/django.po | 128 + .../postgres/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 3155 bytes .../postgres/locale/eo/LC_MESSAGES/django.po | 119 + .../postgres/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 3195 bytes .../postgres/locale/es/LC_MESSAGES/django.po | 123 + .../locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 3178 bytes .../locale/es_AR/LC_MESSAGES/django.po | 118 + .../locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 2903 bytes .../locale/es_CO/LC_MESSAGES/django.po | 122 + .../locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 882 bytes .../locale/es_MX/LC_MESSAGES/django.po | 108 + .../postgres/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 3081 bytes .../postgres/locale/et/LC_MESSAGES/django.po | 120 + .../postgres/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 3133 bytes .../postgres/locale/eu/LC_MESSAGES/django.po | 118 + .../postgres/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 3614 bytes .../postgres/locale/fa/LC_MESSAGES/django.po | 117 + .../postgres/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 3212 bytes .../postgres/locale/fi/LC_MESSAGES/django.po | 120 + .../postgres/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 3393 bytes .../postgres/locale/fr/LC_MESSAGES/django.po | 119 + .../postgres/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 3828 bytes .../postgres/locale/gd/LC_MESSAGES/django.po | 135 + .../postgres/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 722 bytes .../postgres/locale/gl/LC_MESSAGES/django.po | 108 + .../postgres/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 4017 bytes .../postgres/locale/he/LC_MESSAGES/django.po | 120 + .../postgres/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 1217 bytes .../postgres/locale/hr/LC_MESSAGES/django.po | 112 + .../postgres/locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 3767 bytes .../postgres/locale/hsb/LC_MESSAGES/django.po | 129 + .../postgres/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 3185 bytes .../postgres/locale/hu/LC_MESSAGES/django.po | 118 + .../postgres/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 3593 bytes .../postgres/locale/hy/LC_MESSAGES/django.po | 119 + .../postgres/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 758 bytes .../postgres/locale/ia/LC_MESSAGES/django.po | 108 + .../postgres/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 3035 bytes .../postgres/locale/id/LC_MESSAGES/django.po | 118 + .../postgres/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 3212 bytes .../postgres/locale/is/LC_MESSAGES/django.po | 118 + .../postgres/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 3243 bytes .../postgres/locale/it/LC_MESSAGES/django.po | 126 + .../postgres/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 3349 bytes .../postgres/locale/ja/LC_MESSAGES/django.po | 110 + .../postgres/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 731 bytes .../postgres/locale/ka/LC_MESSAGES/django.po | 108 + .../postgres/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 683 bytes .../postgres/locale/kk/LC_MESSAGES/django.po | 107 + .../postgres/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 3196 bytes .../postgres/locale/ko/LC_MESSAGES/django.po | 114 + .../postgres/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 3853 bytes .../postgres/locale/lt/LC_MESSAGES/django.po | 130 + .../postgres/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 3382 bytes .../postgres/locale/lv/LC_MESSAGES/django.po | 125 + .../postgres/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 3717 bytes .../postgres/locale/mk/LC_MESSAGES/django.po | 122 + .../postgres/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 3732 bytes .../postgres/locale/mn/LC_MESSAGES/django.po | 121 + .../postgres/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 3112 bytes .../postgres/locale/nb/LC_MESSAGES/django.po | 117 + .../postgres/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 934 bytes .../postgres/locale/ne/LC_MESSAGES/django.po | 106 + .../postgres/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 3223 bytes .../postgres/locale/nl/LC_MESSAGES/django.po | 121 + .../postgres/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 3694 bytes .../postgres/locale/pl/LC_MESSAGES/django.po | 137 + .../postgres/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 3135 bytes .../postgres/locale/pt/LC_MESSAGES/django.po | 117 + .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 3190 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 126 + .../postgres/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 3454 bytes .../postgres/locale/ro/LC_MESSAGES/django.po | 129 + .../postgres/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 5119 bytes .../postgres/locale/ru/LC_MESSAGES/django.po | 141 + .../postgres/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 3630 bytes .../postgres/locale/sk/LC_MESSAGES/django.po | 128 + .../postgres/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 3524 bytes .../postgres/locale/sl/LC_MESSAGES/django.po | 130 + .../postgres/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 3192 bytes .../postgres/locale/sq/LC_MESSAGES/django.po | 117 + .../postgres/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 4106 bytes .../postgres/locale/sr/LC_MESSAGES/django.po | 123 + .../locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 3098 bytes .../locale/sr_Latn/LC_MESSAGES/django.po | 123 + .../postgres/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 3196 bytes .../postgres/locale/sv/LC_MESSAGES/django.po | 121 + .../postgres/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 3162 bytes .../postgres/locale/tr/LC_MESSAGES/django.po | 119 + .../postgres/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 4758 bytes .../postgres/locale/uk/LC_MESSAGES/django.po | 138 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 2849 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 109 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 2864 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 107 + .../django/contrib/postgres/lookups.py | 76 + .../django/contrib/postgres/operations.py | 77 + .../django/contrib/postgres/search.py | 239 + .../django/contrib/postgres/serializers.py | 10 + .../django/contrib/postgres/signals.py | 64 + .../postgres/widgets/split_array.html | 1 + .../django/contrib/postgres/utils.py | 29 + .../django/contrib/postgres/validators.py | 76 + .../django/contrib/redirects/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 273 bytes .../__pycache__/admin.cpython-37.pyc | Bin 0 -> 638 bytes .../redirects/__pycache__/apps.cpython-37.pyc | Bin 0 -> 546 bytes .../__pycache__/middleware.cpython-37.pyc | Bin 0 -> 1849 bytes .../__pycache__/models.cpython-37.pyc | Bin 0 -> 1421 bytes .../django/contrib/redirects/admin.py | 10 + .../django/contrib/redirects/apps.py | 7 + .../redirects/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 1119 bytes .../redirects/locale/af/LC_MESSAGES/django.po | 50 + .../redirects/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 1342 bytes .../redirects/locale/ar/LC_MESSAGES/django.po | 50 + .../locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 1071 bytes .../locale/ast/LC_MESSAGES/django.po | 50 + .../redirects/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 1157 bytes .../redirects/locale/az/LC_MESSAGES/django.po | 51 + .../redirects/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 1437 bytes .../redirects/locale/be/LC_MESSAGES/django.po | 52 + .../redirects/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 1268 bytes .../redirects/locale/bg/LC_MESSAGES/django.po | 52 + .../redirects/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 1319 bytes .../redirects/locale/bn/LC_MESSAGES/django.po | 48 + .../redirects/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 1429 bytes .../redirects/locale/br/LC_MESSAGES/django.po | 54 + .../redirects/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 1115 bytes .../redirects/locale/bs/LC_MESSAGES/django.po | 51 + .../redirects/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 1137 bytes .../redirects/locale/ca/LC_MESSAGES/django.po | 52 + .../redirects/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 1156 bytes .../redirects/locale/cs/LC_MESSAGES/django.po | 50 + .../redirects/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 1132 bytes .../redirects/locale/cy/LC_MESSAGES/django.po | 51 + .../redirects/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 1114 bytes .../redirects/locale/da/LC_MESSAGES/django.po | 49 + .../redirects/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 1136 bytes .../redirects/locale/de/LC_MESSAGES/django.po | 50 + .../locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 1242 bytes .../locale/dsb/LC_MESSAGES/django.po | 51 + .../redirects/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 1384 bytes .../redirects/locale/el/LC_MESSAGES/django.po | 51 + .../redirects/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../redirects/locale/en/LC_MESSAGES/django.po | 50 + .../locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../locale/en_AU/LC_MESSAGES/django.po | 42 + .../locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 1053 bytes .../locale/en_GB/LC_MESSAGES/django.po | 50 + .../redirects/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 1138 bytes .../redirects/locale/eo/LC_MESSAGES/django.po | 52 + .../redirects/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 1143 bytes .../redirects/locale/es/LC_MESSAGES/django.po | 52 + .../locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 1127 bytes .../locale/es_AR/LC_MESSAGES/django.po | 51 + .../locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 1147 bytes .../locale/es_CO/LC_MESSAGES/django.po | 50 + .../locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 1136 bytes .../locale/es_MX/LC_MESSAGES/django.po | 52 + .../locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../locale/es_VE/LC_MESSAGES/django.po | 42 + .../redirects/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 1122 bytes .../redirects/locale/et/LC_MESSAGES/django.po | 52 + .../redirects/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 1119 bytes .../redirects/locale/eu/LC_MESSAGES/django.po | 50 + .../redirects/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 1241 bytes .../redirects/locale/fa/LC_MESSAGES/django.po | 49 + .../redirects/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 1158 bytes .../redirects/locale/fi/LC_MESSAGES/django.po | 52 + .../redirects/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 1141 bytes .../redirects/locale/fr/LC_MESSAGES/django.po | 50 + .../redirects/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../redirects/locale/fy/LC_MESSAGES/django.po | 42 + .../redirects/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 1075 bytes .../redirects/locale/ga/LC_MESSAGES/django.po | 48 + .../redirects/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 1252 bytes .../redirects/locale/gd/LC_MESSAGES/django.po | 51 + .../redirects/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 1127 bytes .../redirects/locale/gl/LC_MESSAGES/django.po | 51 + .../redirects/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 1128 bytes .../redirects/locale/he/LC_MESSAGES/django.po | 46 + .../redirects/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 1409 bytes .../redirects/locale/hi/LC_MESSAGES/django.po | 49 + .../redirects/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 1207 bytes .../redirects/locale/hr/LC_MESSAGES/django.po | 52 + .../locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 1236 bytes .../locale/hsb/LC_MESSAGES/django.po | 51 + .../redirects/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 1152 bytes .../redirects/locale/hu/LC_MESSAGES/django.po | 51 + .../redirects/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 1261 bytes .../redirects/locale/hy/LC_MESSAGES/django.po | 49 + .../redirects/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 1152 bytes .../redirects/locale/ia/LC_MESSAGES/django.po | 50 + .../redirects/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 1098 bytes .../redirects/locale/id/LC_MESSAGES/django.po | 51 + .../redirects/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 1019 bytes .../redirects/locale/io/LC_MESSAGES/django.po | 48 + .../redirects/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 1065 bytes .../redirects/locale/is/LC_MESSAGES/django.po | 49 + .../redirects/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 1105 bytes .../redirects/locale/it/LC_MESSAGES/django.po | 52 + .../redirects/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 1148 bytes .../redirects/locale/ja/LC_MESSAGES/django.po | 47 + .../redirects/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 1511 bytes .../redirects/locale/ka/LC_MESSAGES/django.po | 50 + .../locale/kab/LC_MESSAGES/django.mo | Bin 0 -> 699 bytes .../locale/kab/LC_MESSAGES/django.po | 45 + .../redirects/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 1261 bytes .../redirects/locale/kk/LC_MESSAGES/django.po | 48 + .../redirects/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 1248 bytes .../redirects/locale/km/LC_MESSAGES/django.po | 47 + .../redirects/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 1396 bytes .../redirects/locale/kn/LC_MESSAGES/django.po | 48 + .../redirects/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 1112 bytes .../redirects/locale/ko/LC_MESSAGES/django.po | 48 + .../redirects/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 474 bytes .../redirects/locale/lb/LC_MESSAGES/django.po | 42 + .../redirects/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 1191 bytes .../redirects/locale/lt/LC_MESSAGES/django.po | 52 + .../redirects/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 1179 bytes .../redirects/locale/lv/LC_MESSAGES/django.po | 52 + .../redirects/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 1353 bytes .../redirects/locale/mk/LC_MESSAGES/django.po | 52 + .../redirects/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 1573 bytes .../redirects/locale/ml/LC_MESSAGES/django.po | 51 + .../redirects/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 1274 bytes .../redirects/locale/mn/LC_MESSAGES/django.po | 52 + .../redirects/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../redirects/locale/mr/LC_MESSAGES/django.po | 42 + .../redirects/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 549 bytes .../redirects/locale/my/LC_MESSAGES/django.po | 46 + .../redirects/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 1147 bytes .../redirects/locale/nb/LC_MESSAGES/django.po | 53 + .../redirects/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 1420 bytes .../redirects/locale/ne/LC_MESSAGES/django.po | 47 + .../redirects/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 1105 bytes .../redirects/locale/nl/LC_MESSAGES/django.po | 52 + .../redirects/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 1072 bytes .../redirects/locale/nn/LC_MESSAGES/django.po | 49 + .../redirects/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 1150 bytes .../redirects/locale/os/LC_MESSAGES/django.po | 49 + .../redirects/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 748 bytes .../redirects/locale/pa/LC_MESSAGES/django.po | 47 + .../redirects/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 1279 bytes .../redirects/locale/pl/LC_MESSAGES/django.po | 53 + .../redirects/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 1129 bytes .../redirects/locale/pt/LC_MESSAGES/django.po | 52 + .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 1162 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 53 + .../redirects/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 1222 bytes .../redirects/locale/ro/LC_MESSAGES/django.po | 53 + .../redirects/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 1456 bytes .../redirects/locale/ru/LC_MESSAGES/django.po | 53 + .../redirects/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 1160 bytes .../redirects/locale/sk/LC_MESSAGES/django.po | 51 + .../redirects/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 1173 bytes .../redirects/locale/sl/LC_MESSAGES/django.po | 52 + .../redirects/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 1125 bytes .../redirects/locale/sq/LC_MESSAGES/django.po | 51 + .../redirects/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 1350 bytes .../redirects/locale/sr/LC_MESSAGES/django.po | 52 + .../locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 1145 bytes .../locale/sr_Latn/LC_MESSAGES/django.po | 52 + .../redirects/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 1147 bytes .../redirects/locale/sv/LC_MESSAGES/django.po | 52 + .../redirects/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 1078 bytes .../redirects/locale/sw/LC_MESSAGES/django.po | 49 + .../redirects/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 1502 bytes .../redirects/locale/ta/LC_MESSAGES/django.po | 49 + .../redirects/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 467 bytes .../redirects/locale/te/LC_MESSAGES/django.po | 42 + .../redirects/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 1331 bytes .../redirects/locale/th/LC_MESSAGES/django.po | 46 + .../redirects/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 1124 bytes .../redirects/locale/tr/LC_MESSAGES/django.po | 53 + .../redirects/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 1178 bytes .../redirects/locale/tt/LC_MESSAGES/django.po | 48 + .../locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 462 bytes .../locale/udm/LC_MESSAGES/django.po | 42 + .../redirects/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 1414 bytes .../redirects/locale/uk/LC_MESSAGES/django.po | 54 + .../redirects/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 1138 bytes .../redirects/locale/ur/LC_MESSAGES/django.po | 46 + .../redirects/locale/uz/LC_MESSAGES/django.mo | Bin 0 -> 592 bytes .../redirects/locale/uz/LC_MESSAGES/django.po | 45 + .../redirects/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 1106 bytes .../redirects/locale/vi/LC_MESSAGES/django.po | 49 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 1093 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 49 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 1096 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 48 + .../django/contrib/redirects/middleware.py | 50 + .../redirects/migrations/0001_initial.py | 40 + .../contrib/redirects/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-37.pyc | Bin 0 -> 1296 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 216 bytes .../django/contrib/redirects/models.py | 29 + .../django/contrib/sessions/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 270 bytes .../sessions/__pycache__/apps.cpython-37.pyc | Bin 0 -> 542 bytes .../__pycache__/base_session.cpython-37.pyc | Bin 0 -> 2235 bytes .../__pycache__/exceptions.cpython-37.pyc | Bin 0 -> 670 bytes .../__pycache__/middleware.cpython-37.pyc | Bin 0 -> 2580 bytes .../__pycache__/models.cpython-37.pyc | Bin 0 -> 1853 bytes .../__pycache__/serializers.cpython-37.pyc | Bin 0 -> 894 bytes .../django/contrib/sessions/apps.py | 7 + .../contrib/sessions/backends/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 213 bytes .../backends/__pycache__/base.cpython-37.pyc | Bin 0 -> 12413 bytes .../backends/__pycache__/cache.cpython-37.pyc | Bin 0 -> 2590 bytes .../__pycache__/cached_db.cpython-37.pyc | Bin 0 -> 2384 bytes .../backends/__pycache__/db.cpython-37.pyc | Bin 0 -> 4038 bytes .../backends/__pycache__/file.cpython-37.pyc | Bin 0 -> 5488 bytes .../__pycache__/signed_cookies.cpython-37.pyc | Bin 0 -> 3182 bytes .../django/contrib/sessions/backends/base.py | 348 + .../django/contrib/sessions/backends/cache.py | 81 + .../contrib/sessions/backends/cached_db.py | 65 + .../django/contrib/sessions/backends/db.py | 109 + .../django/contrib/sessions/backends/file.py | 202 + .../sessions/backends/signed_cookies.py | 82 + .../django/contrib/sessions/base_session.py | 47 + .../django/contrib/sessions/exceptions.py | 11 + .../sessions/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 717 bytes .../sessions/locale/af/LC_MESSAGES/django.po | 36 + .../sessions/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 846 bytes .../sessions/locale/ar/LC_MESSAGES/django.po | 37 + .../sessions/locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 702 bytes .../sessions/locale/ast/LC_MESSAGES/django.po | 36 + .../sessions/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 731 bytes .../sessions/locale/az/LC_MESSAGES/django.po | 37 + .../sessions/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 895 bytes .../sessions/locale/be/LC_MESSAGES/django.po | 38 + .../sessions/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 783 bytes .../sessions/locale/bg/LC_MESSAGES/django.po | 37 + .../sessions/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 762 bytes .../sessions/locale/bn/LC_MESSAGES/django.po | 36 + .../sessions/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 1027 bytes .../sessions/locale/br/LC_MESSAGES/django.po | 40 + .../sessions/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 759 bytes .../sessions/locale/bs/LC_MESSAGES/django.po | 37 + .../sessions/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 738 bytes .../sessions/locale/ca/LC_MESSAGES/django.po | 37 + .../sessions/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 747 bytes .../sessions/locale/cs/LC_MESSAGES/django.po | 36 + .../sessions/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 774 bytes .../sessions/locale/cy/LC_MESSAGES/django.po | 37 + .../sessions/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 722 bytes .../sessions/locale/da/LC_MESSAGES/django.po | 36 + .../sessions/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 721 bytes .../sessions/locale/de/LC_MESSAGES/django.po | 35 + .../sessions/locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 810 bytes .../sessions/locale/dsb/LC_MESSAGES/django.po | 37 + .../sessions/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 809 bytes .../sessions/locale/el/LC_MESSAGES/django.po | 36 + .../sessions/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../sessions/locale/en/LC_MESSAGES/django.po | 38 + .../locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../locale/en_AU/LC_MESSAGES/django.po | 35 + .../locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 707 bytes .../locale/en_GB/LC_MESSAGES/django.po | 36 + .../sessions/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 727 bytes .../sessions/locale/eo/LC_MESSAGES/django.po | 37 + .../sessions/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 734 bytes .../sessions/locale/es/LC_MESSAGES/django.po | 37 + .../locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 735 bytes .../locale/es_AR/LC_MESSAGES/django.po | 37 + .../locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 754 bytes .../locale/es_CO/LC_MESSAGES/django.po | 36 + .../locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 756 bytes .../locale/es_MX/LC_MESSAGES/django.po | 37 + .../locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../locale/es_VE/LC_MESSAGES/django.po | 35 + .../sessions/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 737 bytes .../sessions/locale/et/LC_MESSAGES/django.po | 37 + .../sessions/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 728 bytes .../sessions/locale/eu/LC_MESSAGES/django.po | 36 + .../sessions/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 755 bytes .../sessions/locale/fa/LC_MESSAGES/django.po | 37 + .../sessions/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 721 bytes .../sessions/locale/fi/LC_MESSAGES/django.po | 37 + .../sessions/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 733 bytes .../sessions/locale/fr/LC_MESSAGES/django.po | 36 + .../sessions/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../sessions/locale/fy/LC_MESSAGES/django.po | 35 + .../sessions/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 747 bytes .../sessions/locale/ga/LC_MESSAGES/django.po | 37 + .../sessions/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 791 bytes .../sessions/locale/gd/LC_MESSAGES/django.po | 37 + .../sessions/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 701 bytes .../sessions/locale/gl/LC_MESSAGES/django.po | 37 + .../sessions/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 809 bytes .../sessions/locale/he/LC_MESSAGES/django.po | 36 + .../sessions/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 759 bytes .../sessions/locale/hi/LC_MESSAGES/django.po | 36 + .../sessions/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 819 bytes .../sessions/locale/hr/LC_MESSAGES/django.po | 38 + .../sessions/locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 805 bytes .../sessions/locale/hsb/LC_MESSAGES/django.po | 37 + .../sessions/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 727 bytes .../sessions/locale/hu/LC_MESSAGES/django.po | 37 + .../sessions/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 815 bytes .../sessions/locale/hy/LC_MESSAGES/django.po | 35 + .../sessions/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 744 bytes .../sessions/locale/ia/LC_MESSAGES/django.po | 36 + .../sessions/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 705 bytes .../sessions/locale/id/LC_MESSAGES/django.po | 38 + .../sessions/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 683 bytes .../sessions/locale/io/LC_MESSAGES/django.po | 35 + .../sessions/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 706 bytes .../sessions/locale/is/LC_MESSAGES/django.po | 36 + .../sessions/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 726 bytes .../sessions/locale/it/LC_MESSAGES/django.po | 37 + .../sessions/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 757 bytes .../sessions/locale/ja/LC_MESSAGES/django.po | 37 + .../sessions/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 803 bytes .../sessions/locale/ka/LC_MESSAGES/django.po | 36 + .../sessions/locale/kab/LC_MESSAGES/django.mo | Bin 0 -> 743 bytes .../sessions/locale/kab/LC_MESSAGES/django.po | 35 + .../sessions/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 810 bytes .../sessions/locale/kk/LC_MESSAGES/django.po | 37 + .../sessions/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 929 bytes .../sessions/locale/km/LC_MESSAGES/django.po | 35 + .../sessions/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 814 bytes .../sessions/locale/kn/LC_MESSAGES/django.po | 36 + .../sessions/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 700 bytes .../sessions/locale/ko/LC_MESSAGES/django.po | 36 + .../sessions/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 474 bytes .../sessions/locale/lb/LC_MESSAGES/django.po | 35 + .../sessions/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 786 bytes .../sessions/locale/lt/LC_MESSAGES/django.po | 38 + .../sessions/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 753 bytes .../sessions/locale/lv/LC_MESSAGES/django.po | 38 + .../sessions/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 816 bytes .../sessions/locale/mk/LC_MESSAGES/django.po | 37 + .../sessions/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 854 bytes .../sessions/locale/ml/LC_MESSAGES/django.po | 37 + .../sessions/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 784 bytes .../sessions/locale/mn/LC_MESSAGES/django.po | 38 + .../sessions/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../sessions/locale/mr/LC_MESSAGES/django.po | 35 + .../sessions/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 872 bytes .../sessions/locale/my/LC_MESSAGES/django.po | 36 + .../sessions/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 717 bytes .../sessions/locale/nb/LC_MESSAGES/django.po | 38 + .../sessions/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 802 bytes .../sessions/locale/ne/LC_MESSAGES/django.po | 36 + .../sessions/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 733 bytes .../sessions/locale/nl/LC_MESSAGES/django.po | 36 + .../sessions/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 695 bytes .../sessions/locale/nn/LC_MESSAGES/django.po | 36 + .../sessions/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 732 bytes .../sessions/locale/os/LC_MESSAGES/django.po | 36 + .../sessions/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 771 bytes .../sessions/locale/pa/LC_MESSAGES/django.po | 36 + .../sessions/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 869 bytes .../sessions/locale/pl/LC_MESSAGES/django.po | 39 + .../sessions/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 738 bytes .../sessions/locale/pt/LC_MESSAGES/django.po | 37 + .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 757 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 37 + .../sessions/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 776 bytes .../sessions/locale/ro/LC_MESSAGES/django.po | 39 + .../sessions/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 913 bytes .../sessions/locale/ru/LC_MESSAGES/django.po | 39 + .../sessions/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 766 bytes .../sessions/locale/sk/LC_MESSAGES/django.po | 36 + .../sessions/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 770 bytes .../sessions/locale/sl/LC_MESSAGES/django.po | 38 + .../sessions/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 724 bytes .../sessions/locale/sq/LC_MESSAGES/django.po | 36 + .../sessions/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 855 bytes .../sessions/locale/sr/LC_MESSAGES/django.po | 38 + .../locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 757 bytes .../locale/sr_Latn/LC_MESSAGES/django.po | 38 + .../sessions/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 707 bytes .../sessions/locale/sv/LC_MESSAGES/django.po | 37 + .../sessions/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 743 bytes .../sessions/locale/sw/LC_MESSAGES/django.po | 36 + .../sessions/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 801 bytes .../sessions/locale/ta/LC_MESSAGES/django.po | 35 + .../sessions/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 786 bytes .../sessions/locale/te/LC_MESSAGES/django.po | 36 + .../sessions/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 814 bytes .../sessions/locale/th/LC_MESSAGES/django.po | 36 + .../sessions/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 726 bytes .../sessions/locale/tr/LC_MESSAGES/django.po | 37 + .../sessions/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 806 bytes .../sessions/locale/tt/LC_MESSAGES/django.po | 36 + .../sessions/locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 462 bytes .../sessions/locale/udm/LC_MESSAGES/django.po | 35 + .../sessions/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 841 bytes .../sessions/locale/uk/LC_MESSAGES/django.po | 38 + .../sessions/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 729 bytes .../sessions/locale/ur/LC_MESSAGES/django.po | 35 + .../sessions/locale/uz/LC_MESSAGES/django.mo | Bin 0 -> 744 bytes .../sessions/locale/uz/LC_MESSAGES/django.po | 35 + .../sessions/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 679 bytes .../sessions/locale/vi/LC_MESSAGES/django.po | 38 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 722 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 37 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 733 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 37 + .../__pycache__/clearsessions.cpython-37.pyc | Bin 0 -> 1015 bytes .../management/commands/clearsessions.py | 19 + .../django/contrib/sessions/middleware.py | 74 + .../sessions/migrations/0001_initial.py | 30 + .../contrib/sessions/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-37.pyc | Bin 0 -> 1028 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 215 bytes .../django/contrib/sessions/models.py | 35 + .../django/contrib/sessions/serializers.py | 20 + .../django/contrib/sitemaps/__init__.py | 163 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 4929 bytes .../sitemaps/__pycache__/apps.cpython-37.pyc | Bin 0 -> 543 bytes .../sitemaps/__pycache__/views.cpython-37.pyc | Bin 0 -> 2601 bytes .../django/contrib/sitemaps/apps.py | 7 + .../__pycache__/ping_google.cpython-37.pyc | Bin 0 -> 1024 bytes .../management/commands/ping_google.py | 16 + .../contrib/sitemaps/templates/sitemap.xml | 13 + .../sitemaps/templates/sitemap_index.xml | 4 + .../django/contrib/sitemaps/views.py | 92 + .../django/contrib/sites/__init__.py | 1 + .../sites/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 261 bytes .../sites/__pycache__/admin.cpython-37.pyc | Bin 0 -> 543 bytes .../sites/__pycache__/apps.cpython-37.pyc | Bin 0 -> 803 bytes .../__pycache__/management.cpython-37.pyc | Bin 0 -> 1225 bytes .../sites/__pycache__/managers.cpython-37.pyc | Bin 0 -> 2185 bytes .../__pycache__/middleware.cpython-37.pyc | Bin 0 -> 739 bytes .../sites/__pycache__/models.cpython-37.pyc | Bin 0 -> 4219 bytes .../sites/__pycache__/requests.cpython-37.pyc | Bin 0 -> 1262 bytes .../__pycache__/shortcuts.cpython-37.pyc | Bin 0 -> 690 bytes .../django/contrib/sites/admin.py | 8 + .../django/contrib/sites/apps.py | 13 + .../sites/locale/af/LC_MESSAGES/django.mo | Bin 0 -> 786 bytes .../sites/locale/af/LC_MESSAGES/django.po | 36 + .../sites/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 947 bytes .../sites/locale/ar/LC_MESSAGES/django.po | 38 + .../sites/locale/ast/LC_MESSAGES/django.mo | Bin 0 -> 774 bytes .../sites/locale/ast/LC_MESSAGES/django.po | 36 + .../sites/locale/az/LC_MESSAGES/django.mo | Bin 0 -> 773 bytes .../sites/locale/az/LC_MESSAGES/django.po | 37 + .../sites/locale/be/LC_MESSAGES/django.mo | Bin 0 -> 1024 bytes .../sites/locale/be/LC_MESSAGES/django.po | 38 + .../sites/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 904 bytes .../sites/locale/bg/LC_MESSAGES/django.po | 38 + .../sites/locale/bn/LC_MESSAGES/django.mo | Bin 0 -> 925 bytes .../sites/locale/bn/LC_MESSAGES/django.po | 37 + .../sites/locale/br/LC_MESSAGES/django.mo | Bin 0 -> 1107 bytes .../sites/locale/br/LC_MESSAGES/django.po | 40 + .../sites/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 692 bytes .../sites/locale/bs/LC_MESSAGES/django.po | 37 + .../sites/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 791 bytes .../sites/locale/ca/LC_MESSAGES/django.po | 38 + .../sites/locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 815 bytes .../sites/locale/cs/LC_MESSAGES/django.po | 36 + .../sites/locale/cy/LC_MESSAGES/django.mo | Bin 0 -> 835 bytes .../sites/locale/cy/LC_MESSAGES/django.po | 37 + .../sites/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 794 bytes .../sites/locale/da/LC_MESSAGES/django.po | 36 + .../sites/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 792 bytes .../sites/locale/de/LC_MESSAGES/django.po | 36 + .../sites/locale/dsb/LC_MESSAGES/django.mo | Bin 0 -> 868 bytes .../sites/locale/dsb/LC_MESSAGES/django.po | 37 + .../sites/locale/el/LC_MESSAGES/django.mo | Bin 0 -> 878 bytes .../sites/locale/el/LC_MESSAGES/django.po | 38 + .../sites/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 356 bytes .../sites/locale/en/LC_MESSAGES/django.po | 38 + .../sites/locale/en_AU/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../sites/locale/en_AU/LC_MESSAGES/django.po | 35 + .../sites/locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 639 bytes .../sites/locale/en_GB/LC_MESSAGES/django.po | 36 + .../sites/locale/eo/LC_MESSAGES/django.mo | Bin 0 -> 792 bytes .../sites/locale/eo/LC_MESSAGES/django.po | 38 + .../sites/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 804 bytes .../sites/locale/es/LC_MESSAGES/django.po | 39 + .../sites/locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 817 bytes .../sites/locale/es_AR/LC_MESSAGES/django.po | 38 + .../sites/locale/es_CO/LC_MESSAGES/django.mo | Bin 0 -> 825 bytes .../sites/locale/es_CO/LC_MESSAGES/django.po | 36 + .../sites/locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 809 bytes .../sites/locale/es_MX/LC_MESSAGES/django.po | 38 + .../sites/locale/es_VE/LC_MESSAGES/django.mo | Bin 0 -> 486 bytes .../sites/locale/es_VE/LC_MESSAGES/django.po | 35 + .../sites/locale/et/LC_MESSAGES/django.mo | Bin 0 -> 788 bytes .../sites/locale/et/LC_MESSAGES/django.po | 38 + .../sites/locale/eu/LC_MESSAGES/django.mo | Bin 0 -> 807 bytes .../sites/locale/eu/LC_MESSAGES/django.po | 37 + .../sites/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 872 bytes .../sites/locale/fa/LC_MESSAGES/django.po | 38 + .../sites/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 786 bytes .../sites/locale/fi/LC_MESSAGES/django.po | 37 + .../sites/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 797 bytes .../sites/locale/fr/LC_MESSAGES/django.po | 37 + .../sites/locale/fy/LC_MESSAGES/django.mo | Bin 0 -> 476 bytes .../sites/locale/fy/LC_MESSAGES/django.po | 35 + .../sites/locale/ga/LC_MESSAGES/django.mo | Bin 0 -> 683 bytes .../sites/locale/ga/LC_MESSAGES/django.po | 37 + .../sites/locale/gd/LC_MESSAGES/django.mo | Bin 0 -> 858 bytes .../sites/locale/gd/LC_MESSAGES/django.po | 37 + .../sites/locale/gl/LC_MESSAGES/django.mo | Bin 0 -> 742 bytes .../sites/locale/gl/LC_MESSAGES/django.po | 37 + .../sites/locale/he/LC_MESSAGES/django.mo | Bin 0 -> 820 bytes .../sites/locale/he/LC_MESSAGES/django.po | 36 + .../sites/locale/hi/LC_MESSAGES/django.mo | Bin 0 -> 665 bytes .../sites/locale/hi/LC_MESSAGES/django.po | 35 + .../sites/locale/hr/LC_MESSAGES/django.mo | Bin 0 -> 876 bytes .../sites/locale/hr/LC_MESSAGES/django.po | 38 + .../sites/locale/hsb/LC_MESSAGES/django.mo | Bin 0 -> 863 bytes .../sites/locale/hsb/LC_MESSAGES/django.po | 37 + .../sites/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 796 bytes .../sites/locale/hu/LC_MESSAGES/django.po | 37 + .../sites/locale/hy/LC_MESSAGES/django.mo | Bin 0 -> 906 bytes .../sites/locale/hy/LC_MESSAGES/django.po | 36 + .../sites/locale/ia/LC_MESSAGES/django.mo | Bin 0 -> 809 bytes .../sites/locale/ia/LC_MESSAGES/django.po | 36 + .../sites/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 791 bytes .../sites/locale/id/LC_MESSAGES/django.po | 38 + .../sites/locale/io/LC_MESSAGES/django.mo | Bin 0 -> 760 bytes .../sites/locale/io/LC_MESSAGES/django.po | 35 + .../sites/locale/is/LC_MESSAGES/django.mo | Bin 0 -> 812 bytes .../sites/locale/is/LC_MESSAGES/django.po | 37 + .../sites/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 795 bytes .../sites/locale/it/LC_MESSAGES/django.po | 38 + .../sites/locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 814 bytes .../sites/locale/ja/LC_MESSAGES/django.po | 37 + .../sites/locale/ka/LC_MESSAGES/django.mo | Bin 0 -> 993 bytes .../sites/locale/ka/LC_MESSAGES/django.po | 37 + .../sites/locale/kab/LC_MESSAGES/django.mo | Bin 0 -> 808 bytes .../sites/locale/kab/LC_MESSAGES/django.po | 35 + .../sites/locale/kk/LC_MESSAGES/django.mo | Bin 0 -> 895 bytes .../sites/locale/kk/LC_MESSAGES/django.po | 36 + .../sites/locale/km/LC_MESSAGES/django.mo | Bin 0 -> 701 bytes .../sites/locale/km/LC_MESSAGES/django.po | 35 + .../sites/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 676 bytes .../sites/locale/kn/LC_MESSAGES/django.po | 36 + .../sites/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 807 bytes .../sites/locale/ko/LC_MESSAGES/django.po | 38 + .../sites/locale/lb/LC_MESSAGES/django.mo | Bin 0 -> 474 bytes .../sites/locale/lb/LC_MESSAGES/django.po | 35 + .../sites/locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 869 bytes .../sites/locale/lt/LC_MESSAGES/django.po | 40 + .../sites/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 823 bytes .../sites/locale/lv/LC_MESSAGES/django.po | 39 + .../sites/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 885 bytes .../sites/locale/mk/LC_MESSAGES/django.po | 37 + .../sites/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 1007 bytes .../sites/locale/ml/LC_MESSAGES/django.po | 37 + .../sites/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 867 bytes .../sites/locale/mn/LC_MESSAGES/django.po | 39 + .../sites/locale/mr/LC_MESSAGES/django.mo | Bin 0 -> 468 bytes .../sites/locale/mr/LC_MESSAGES/django.po | 35 + .../sites/locale/my/LC_MESSAGES/django.mo | Bin 0 -> 961 bytes .../sites/locale/my/LC_MESSAGES/django.po | 36 + .../sites/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 793 bytes .../sites/locale/nb/LC_MESSAGES/django.po | 38 + .../sites/locale/ne/LC_MESSAGES/django.mo | Bin 0 -> 899 bytes .../sites/locale/ne/LC_MESSAGES/django.po | 35 + .../sites/locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 776 bytes .../sites/locale/nl/LC_MESSAGES/django.po | 38 + .../sites/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 633 bytes .../sites/locale/nn/LC_MESSAGES/django.po | 36 + .../sites/locale/os/LC_MESSAGES/django.mo | Bin 0 -> 806 bytes .../sites/locale/os/LC_MESSAGES/django.po | 36 + .../sites/locale/pa/LC_MESSAGES/django.mo | Bin 0 -> 684 bytes .../sites/locale/pa/LC_MESSAGES/django.po | 36 + .../sites/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 944 bytes .../sites/locale/pl/LC_MESSAGES/django.po | 40 + .../sites/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 797 bytes .../sites/locale/pt/LC_MESSAGES/django.po | 38 + .../sites/locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 824 bytes .../sites/locale/pt_BR/LC_MESSAGES/django.po | 38 + .../sites/locale/ro/LC_MESSAGES/django.mo | Bin 0 -> 857 bytes .../sites/locale/ro/LC_MESSAGES/django.po | 40 + .../sites/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 1016 bytes .../sites/locale/ru/LC_MESSAGES/django.po | 41 + .../sites/locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 822 bytes .../sites/locale/sk/LC_MESSAGES/django.po | 37 + .../sites/locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 845 bytes .../sites/locale/sl/LC_MESSAGES/django.po | 39 + .../sites/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 810 bytes .../sites/locale/sq/LC_MESSAGES/django.po | 36 + .../sites/locale/sr/LC_MESSAGES/django.mo | Bin 0 -> 935 bytes .../sites/locale/sr/LC_MESSAGES/django.po | 38 + .../locale/sr_Latn/LC_MESSAGES/django.mo | Bin 0 -> 815 bytes .../locale/sr_Latn/LC_MESSAGES/django.po | 38 + .../sites/locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 792 bytes .../sites/locale/sv/LC_MESSAGES/django.po | 38 + .../sites/locale/sw/LC_MESSAGES/django.mo | Bin 0 -> 781 bytes .../sites/locale/sw/LC_MESSAGES/django.po | 36 + .../sites/locale/ta/LC_MESSAGES/django.mo | Bin 0 -> 714 bytes .../sites/locale/ta/LC_MESSAGES/django.po | 35 + .../sites/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 687 bytes .../sites/locale/te/LC_MESSAGES/django.po | 35 + .../sites/locale/th/LC_MESSAGES/django.mo | Bin 0 -> 898 bytes .../sites/locale/th/LC_MESSAGES/django.po | 36 + .../sites/locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 799 bytes .../sites/locale/tr/LC_MESSAGES/django.po | 39 + .../sites/locale/tt/LC_MESSAGES/django.mo | Bin 0 -> 706 bytes .../sites/locale/tt/LC_MESSAGES/django.po | 36 + .../sites/locale/udm/LC_MESSAGES/django.mo | Bin 0 -> 462 bytes .../sites/locale/udm/LC_MESSAGES/django.po | 35 + .../sites/locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 960 bytes .../sites/locale/uk/LC_MESSAGES/django.po | 39 + .../sites/locale/ur/LC_MESSAGES/django.mo | Bin 0 -> 654 bytes .../sites/locale/ur/LC_MESSAGES/django.po | 35 + .../sites/locale/uz/LC_MESSAGES/django.mo | Bin 0 -> 799 bytes .../sites/locale/uz/LC_MESSAGES/django.po | 35 + .../sites/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 762 bytes .../sites/locale/vi/LC_MESSAGES/django.po | 38 + .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 779 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 37 + .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 790 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 39 + .../django/contrib/sites/management.py | 38 + .../django/contrib/sites/managers.py | 60 + .../django/contrib/sites/middleware.py | 12 + .../contrib/sites/migrations/0001_initial.py | 31 + .../migrations/0002_alter_domain_unique.py | 20 + .../contrib/sites/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-37.pyc | Bin 0 -> 1078 bytes .../0002_alter_domain_unique.cpython-37.pyc | Bin 0 -> 792 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 212 bytes .../django/contrib/sites/models.py | 120 + .../django/contrib/sites/requests.py | 19 + .../django/contrib/sites/shortcuts.py | 16 + .../django/contrib/staticfiles/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 279 bytes .../__pycache__/apps.cpython-37.pyc | Bin 0 -> 871 bytes .../__pycache__/checks.cpython-37.pyc | Bin 0 -> 591 bytes .../__pycache__/finders.cpython-37.pyc | Bin 0 -> 9415 bytes .../__pycache__/handlers.cpython-37.pyc | Bin 0 -> 2917 bytes .../__pycache__/storage.cpython-37.pyc | Bin 0 -> 14499 bytes .../__pycache__/testing.cpython-37.pyc | Bin 0 -> 796 bytes .../__pycache__/urls.cpython-37.pyc | Bin 0 -> 672 bytes .../__pycache__/utils.cpython-37.pyc | Bin 0 -> 1983 bytes .../__pycache__/views.cpython-37.pyc | Bin 0 -> 1440 bytes .../django/contrib/staticfiles/apps.py | 13 + .../django/contrib/staticfiles/checks.py | 14 + .../django/contrib/staticfiles/finders.py | 296 + .../django/contrib/staticfiles/handlers.py | 66 + .../__pycache__/collectstatic.cpython-37.pyc | Bin 0 -> 9443 bytes .../__pycache__/findstatic.cpython-37.pyc | Bin 0 -> 1729 bytes .../__pycache__/runserver.cpython-37.pyc | Bin 0 -> 1575 bytes .../management/commands/collectstatic.py | 353 + .../management/commands/findstatic.py | 43 + .../management/commands/runserver.py | 32 + .../django/contrib/staticfiles/storage.py | 501 + .../staticfiles/templatetags/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 220 bytes .../__pycache__/staticfiles.cpython-37.pyc | Bin 0 -> 978 bytes .../staticfiles/templatetags/staticfiles.py | 28 + .../django/contrib/staticfiles/testing.py | 13 + .../django/contrib/staticfiles/urls.py | 19 + .../django/contrib/staticfiles/utils.py | 63 + .../django/contrib/staticfiles/views.py | 39 + .../django/contrib/syndication/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 279 bytes .../__pycache__/apps.cpython-37.pyc | Bin 0 -> 554 bytes .../__pycache__/views.cpython-37.pyc | Bin 0 -> 6316 bytes .../django/contrib/syndication/apps.py | 7 + .../django/contrib/syndication/views.py | 218 + .../site-packages/django/core/__init__.py | 0 .../core/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 192 bytes .../__pycache__/exceptions.cpython-37.pyc | Bin 0 -> 6412 bytes .../core/__pycache__/paginator.cpython-37.pyc | Bin 0 -> 6948 bytes .../core/__pycache__/signals.cpython-37.pyc | Bin 0 -> 425 bytes .../core/__pycache__/signing.cpython-37.pyc | Bin 0 -> 7355 bytes .../__pycache__/validators.cpython-37.pyc | Bin 0 -> 16020 bytes .../core/__pycache__/wsgi.cpython-37.pyc | Bin 0 -> 647 bytes .../django/core/cache/__init__.py | 124 + .../cache/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 3933 bytes .../cache/__pycache__/utils.cpython-37.pyc | Bin 0 -> 743 bytes .../django/core/cache/backends/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 207 bytes .../backends/__pycache__/base.cpython-37.pyc | Bin 0 -> 9817 bytes .../backends/__pycache__/db.cpython-37.pyc | Bin 0 -> 7627 bytes .../backends/__pycache__/dummy.cpython-37.pyc | Bin 0 -> 1829 bytes .../__pycache__/filebased.cpython-37.pyc | Bin 0 -> 5733 bytes .../__pycache__/locmem.cpython-37.pyc | Bin 0 -> 4116 bytes .../__pycache__/memcached.cpython-37.pyc | Bin 0 -> 6804 bytes .../django/core/cache/backends/base.py | 283 + .../django/core/cache/backends/db.py | 284 + .../django/core/cache/backends/dummy.py | 38 + .../django/core/cache/backends/filebased.py | 164 + .../django/core/cache/backends/locmem.py | 122 + .../django/core/cache/backends/memcached.py | 186 + .../site-packages/django/core/cache/utils.py | 12 + .../django/core/checks/__init__.py | 24 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1021 bytes .../checks/__pycache__/caches.cpython-37.pyc | Bin 0 -> 672 bytes .../__pycache__/database.cpython-37.pyc | Bin 0 -> 538 bytes .../__pycache__/messages.cpython-37.pyc | Bin 0 -> 3596 bytes .../__pycache__/model_checks.cpython-37.pyc | Bin 0 -> 6206 bytes .../__pycache__/registry.cpython-37.pyc | Bin 0 -> 3627 bytes .../__pycache__/templates.cpython-37.pyc | Bin 0 -> 1427 bytes .../__pycache__/translation.cpython-37.pyc | Bin 0 -> 775 bytes .../checks/__pycache__/urls.cpython-37.pyc | Bin 0 -> 3396 bytes .../django/core/checks/caches.py | 16 + .../core/checks/compatibility/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 213 bytes .../django/core/checks/database.py | 11 + .../django/core/checks/messages.py | 75 + .../django/core/checks/model_checks.py | 180 + .../django/core/checks/registry.py | 97 + .../django/core/checks/security/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 208 bytes .../security/__pycache__/base.cpython-37.pyc | Bin 0 -> 6352 bytes .../security/__pycache__/csrf.cpython-37.pyc | Bin 0 -> 1503 bytes .../__pycache__/sessions.cpython-37.pyc | Bin 0 -> 2613 bytes .../django/core/checks/security/base.py | 210 + .../django/core/checks/security/csrf.py | 40 + .../django/core/checks/security/sessions.py | 97 + .../django/core/checks/templates.py | 35 + .../django/core/checks/translation.py | 19 + .../site-packages/django/core/checks/urls.py | 110 + .../site-packages/django/core/exceptions.py | 183 + .../django/core/files/__init__.py | 3 + .../files/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 271 bytes .../files/__pycache__/base.cpython-37.pyc | Bin 0 -> 5323 bytes .../files/__pycache__/images.cpython-37.pyc | Bin 0 -> 2035 bytes .../files/__pycache__/locks.cpython-37.pyc | Bin 0 -> 3355 bytes .../files/__pycache__/move.cpython-37.pyc | Bin 0 -> 2015 bytes .../files/__pycache__/storage.cpython-37.pyc | Bin 0 -> 12359 bytes .../files/__pycache__/temp.cpython-37.pyc | Bin 0 -> 2747 bytes .../__pycache__/uploadedfile.cpython-37.pyc | Bin 0 -> 4580 bytes .../__pycache__/uploadhandler.cpython-37.pyc | Bin 0 -> 7485 bytes .../files/__pycache__/utils.cpython-37.pyc | Bin 0 -> 3030 bytes .../site-packages/django/core/files/base.py | 160 + .../site-packages/django/core/files/images.py | 84 + .../site-packages/django/core/files/locks.py | 113 + .../site-packages/django/core/files/move.py | 87 + .../django/core/files/storage.py | 366 + .../site-packages/django/core/files/temp.py | 74 + .../django/core/files/uploadedfile.py | 117 + .../django/core/files/uploadhandler.py | 205 + .../site-packages/django/core/files/utils.py | 52 + .../django/core/handlers/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 201 bytes .../handlers/__pycache__/base.cpython-37.pyc | Bin 0 -> 4617 bytes .../__pycache__/exception.cpython-37.pyc | Bin 0 -> 3611 bytes .../handlers/__pycache__/wsgi.cpython-37.pyc | Bin 0 -> 6645 bytes .../django/core/handlers/base.py | 166 + .../django/core/handlers/exception.py | 129 + .../django/core/handlers/wsgi.py | 214 + .../django/core/mail/__init__.py | 116 + .../mail/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 4035 bytes .../mail/__pycache__/message.cpython-37.pyc | Bin 0 -> 14766 bytes .../mail/__pycache__/utils.cpython-37.pyc | Bin 0 -> 763 bytes .../django/core/mail/backends/__init__.py | 1 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 206 bytes .../backends/__pycache__/base.cpython-37.pyc | Bin 0 -> 2418 bytes .../__pycache__/console.cpython-37.pyc | Bin 0 -> 1707 bytes .../backends/__pycache__/dummy.cpython-37.pyc | Bin 0 -> 648 bytes .../__pycache__/filebased.cpython-37.pyc | Bin 0 -> 2448 bytes .../__pycache__/locmem.cpython-37.pyc | Bin 0 -> 1293 bytes .../backends/__pycache__/smtp.cpython-37.pyc | Bin 0 -> 3998 bytes .../django/core/mail/backends/base.py | 59 + .../django/core/mail/backends/console.py | 42 + .../django/core/mail/backends/dummy.py | 10 + .../django/core/mail/backends/filebased.py | 70 + .../django/core/mail/backends/locmem.py | 30 + .../django/core/mail/backends/smtp.py | 131 + .../site-packages/django/core/mail/message.py | 454 + .../site-packages/django/core/mail/utils.py | 20 + .../django/core/management/__init__.py | 381 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 12522 bytes .../__pycache__/base.cpython-37.pyc | Bin 0 -> 21242 bytes .../__pycache__/color.cpython-37.pyc | Bin 0 -> 1972 bytes .../management/__pycache__/sql.cpython-37.pyc | Bin 0 -> 1679 bytes .../__pycache__/templates.cpython-37.pyc | Bin 0 -> 9571 bytes .../__pycache__/utils.cpython-37.pyc | Bin 0 -> 3839 bytes .../django/core/management/base.py | 548 + .../django/core/management/color.py | 73 + .../commands/__pycache__/check.cpython-37.pyc | Bin 0 -> 2295 bytes .../compilemessages.cpython-37.pyc | Bin 0 -> 4635 bytes .../createcachetable.cpython-37.pyc | Bin 0 -> 3518 bytes .../__pycache__/dbshell.cpython-37.pyc | Bin 0 -> 1278 bytes .../__pycache__/diffsettings.cpython-37.pyc | Bin 0 -> 3097 bytes .../__pycache__/dumpdata.cpython-37.pyc | Bin 0 -> 5677 bytes .../commands/__pycache__/flush.cpython-37.pyc | Bin 0 -> 2764 bytes .../__pycache__/inspectdb.cpython-37.pyc | Bin 0 -> 9140 bytes .../__pycache__/loaddata.cpython-37.pyc | Bin 0 -> 10443 bytes .../__pycache__/makemessages.cpython-37.pyc | Bin 0 -> 20592 bytes .../__pycache__/makemigrations.cpython-37.pyc | Bin 0 -> 9467 bytes .../__pycache__/migrate.cpython-37.pyc | Bin 0 -> 10435 bytes .../__pycache__/runserver.cpython-37.pyc | Bin 0 -> 4801 bytes .../__pycache__/sendtestemail.cpython-37.pyc | Bin 0 -> 1737 bytes .../commands/__pycache__/shell.cpython-37.pyc | Bin 0 -> 3050 bytes .../__pycache__/showmigrations.cpython-37.pyc | Bin 0 -> 4246 bytes .../__pycache__/sqlflush.cpython-37.pyc | Bin 0 -> 1267 bytes .../__pycache__/sqlmigrate.cpython-37.pyc | Bin 0 -> 2462 bytes .../sqlsequencereset.cpython-37.pyc | Bin 0 -> 1316 bytes .../squashmigrations.cpython-37.pyc | Bin 0 -> 6136 bytes .../__pycache__/startapp.cpython-37.pyc | Bin 0 -> 891 bytes .../__pycache__/startproject.cpython-37.pyc | Bin 0 -> 991 bytes .../commands/__pycache__/test.cpython-37.pyc | Bin 0 -> 2239 bytes .../__pycache__/testserver.cpython-37.pyc | Bin 0 -> 1879 bytes .../django/core/management/commands/check.py | 65 + .../management/commands/compilemessages.py | 147 + .../management/commands/createcachetable.py | 108 + .../core/management/commands/dbshell.py | 31 + .../core/management/commands/diffsettings.py | 79 + .../core/management/commands/dumpdata.py | 194 + .../django/core/management/commands/flush.py | 82 + .../core/management/commands/inspectdb.py | 300 + .../core/management/commands/loaddata.py | 351 + .../core/management/commands/makemessages.py | 687 + .../management/commands/makemigrations.py | 311 + .../core/management/commands/migrate.py | 365 + .../core/management/commands/runserver.py | 161 + .../core/management/commands/sendtestemail.py | 40 + .../django/core/management/commands/shell.py | 102 + .../management/commands/showmigrations.py | 139 + .../core/management/commands/sqlflush.py | 22 + .../core/management/commands/sqlmigrate.py | 65 + .../management/commands/sqlsequencereset.py | 23 + .../management/commands/squashmigrations.py | 214 + .../core/management/commands/startapp.py | 14 + .../core/management/commands/startproject.py | 20 + .../django/core/management/commands/test.py | 56 + .../core/management/commands/testserver.py | 54 + .../django/core/management/sql.py | 52 + .../django/core/management/templates.py | 334 + .../django/core/management/utils.py | 124 + .../site-packages/django/core/paginator.py | 194 + .../django/core/serializers/__init__.py | 234 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 6721 bytes .../__pycache__/base.cpython-37.pyc | Bin 0 -> 10488 bytes .../__pycache__/json.cpython-37.pyc | Bin 0 -> 3417 bytes .../__pycache__/python.cpython-37.pyc | Bin 0 -> 5503 bytes .../__pycache__/pyyaml.cpython-37.pyc | Bin 0 -> 2738 bytes .../__pycache__/xml_serializer.cpython-37.pyc | Bin 0 -> 14685 bytes .../django/core/serializers/base.py | 318 + .../django/core/serializers/json.py | 104 + .../django/core/serializers/python.py | 156 + .../django/core/serializers/pyyaml.py | 77 + .../django/core/serializers/xml_serializer.py | 420 + .../django/core/servers/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 200 bytes .../__pycache__/basehttp.cpython-37.pyc | Bin 0 -> 6962 bytes .../django/core/servers/basehttp.py | 213 + .../site-packages/django/core/signals.py | 6 + .../site-packages/django/core/signing.py | 198 + .../site-packages/django/core/validators.py | 539 + .../site-packages/django/core/wsgi.py | 13 + .../site-packages/django/db/__init__.py | 61 + .../db/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 2238 bytes .../db/__pycache__/transaction.cpython-37.pyc | Bin 0 -> 8079 bytes .../db/__pycache__/utils.cpython-37.pyc | Bin 0 -> 10392 bytes .../django/db/backends/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 199 bytes .../__pycache__/ddl_references.cpython-37.pyc | Bin 0 -> 8935 bytes .../__pycache__/signals.cpython-37.pyc | Bin 0 -> 308 bytes .../backends/__pycache__/utils.cpython-37.pyc | Bin 0 -> 7370 bytes .../django/db/backends/base/__init__.py | 0 .../base/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 204 bytes .../base/__pycache__/base.cpython-37.pyc | Bin 0 -> 21143 bytes .../base/__pycache__/client.cpython-37.pyc | Bin 0 -> 824 bytes .../base/__pycache__/creation.cpython-37.pyc | Bin 0 -> 8951 bytes .../base/__pycache__/features.cpython-37.pyc | Bin 0 -> 4977 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 7918 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 29606 bytes .../base/__pycache__/schema.cpython-37.pyc | Bin 0 -> 34807 bytes .../__pycache__/validation.cpython-37.pyc | Bin 0 -> 1328 bytes .../django/db/backends/base/base.py | 659 + .../django/db/backends/base/client.py | 12 + .../django/db/backends/base/creation.py | 296 + .../django/db/backends/base/features.py | 308 + .../django/db/backends/base/introspection.py | 171 + .../django/db/backends/base/operations.py | 673 + .../django/db/backends/base/schema.py | 1163 ++ .../django/db/backends/base/validation.py | 25 + .../django/db/backends/ddl_references.py | 193 + .../django/db/backends/dummy/__init__.py | 0 .../dummy/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../dummy/__pycache__/base.cpython-37.pyc | Bin 0 -> 2699 bytes .../dummy/__pycache__/features.cpython-37.pyc | Bin 0 -> 499 bytes .../django/db/backends/dummy/base.py | 73 + .../django/db/backends/dummy/features.py | 6 + .../django/db/backends/mysql/__init__.py | 0 .../mysql/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../mysql/__pycache__/base.cpython-37.pyc | Bin 0 -> 10389 bytes .../mysql/__pycache__/client.cpython-37.pyc | Bin 0 -> 1627 bytes .../mysql/__pycache__/compiler.cpython-37.pyc | Bin 0 -> 1532 bytes .../mysql/__pycache__/creation.cpython-37.pyc | Bin 0 -> 2640 bytes .../mysql/__pycache__/features.cpython-37.pyc | Bin 0 -> 4745 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 7456 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 10982 bytes .../mysql/__pycache__/schema.cpython-37.pyc | Bin 0 -> 4502 bytes .../__pycache__/validation.cpython-37.pyc | Bin 0 -> 2518 bytes .../django/db/backends/mysql/base.py | 344 + .../django/db/backends/mysql/client.py | 48 + .../django/db/backends/mysql/compiler.py | 25 + .../django/db/backends/mysql/creation.py | 67 + .../django/db/backends/mysql/features.py | 120 + .../django/db/backends/mysql/introspection.py | 209 + .../django/db/backends/mysql/operations.py | 306 + .../django/db/backends/mysql/schema.py | 103 + .../django/db/backends/mysql/validation.py | 60 + .../django/db/backends/oracle/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 206 bytes .../oracle/__pycache__/base.cpython-37.pyc | Bin 0 -> 17615 bytes .../oracle/__pycache__/client.cpython-37.pyc | Bin 0 -> 826 bytes .../__pycache__/compiler.cpython-37.pyc | Bin 0 -> 2211 bytes .../__pycache__/creation.cpython-37.pyc | Bin 0 -> 15333 bytes .../__pycache__/features.cpython-37.pyc | Bin 0 -> 2733 bytes .../__pycache__/functions.cpython-37.pyc | Bin 0 -> 1368 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 10334 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 20032 bytes .../oracle/__pycache__/schema.cpython-37.pyc | Bin 0 -> 6475 bytes .../oracle/__pycache__/utils.cpython-37.pyc | Bin 0 -> 1948 bytes .../__pycache__/validation.cpython-37.pyc | Bin 0 -> 1026 bytes .../django/db/backends/oracle/base.py | 543 + .../django/db/backends/oracle/client.py | 17 + .../django/db/backends/oracle/compiler.py | 60 + .../django/db/backends/oracle/creation.py | 400 + .../django/db/backends/oracle/features.py | 71 + .../django/db/backends/oracle/functions.py | 22 + .../db/backends/oracle/introspection.py | 276 + .../django/db/backends/oracle/operations.py | 589 + .../django/db/backends/oracle/schema.py | 171 + .../django/db/backends/oracle/utils.py | 56 + .../django/db/backends/oracle/validation.py | 22 + .../django/db/backends/postgresql/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 210 bytes .../__pycache__/base.cpython-37.pyc | Bin 0 -> 7805 bytes .../__pycache__/client.cpython-37.pyc | Bin 0 -> 1839 bytes .../__pycache__/creation.cpython-37.pyc | Bin 0 -> 3034 bytes .../__pycache__/features.cpython-37.pyc | Bin 0 -> 3036 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 10284 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 11001 bytes .../__pycache__/schema.cpython-37.pyc | Bin 0 -> 4108 bytes .../__pycache__/utils.cpython-37.pyc | Bin 0 -> 451 bytes .../django/db/backends/postgresql/base.py | 283 + .../django/db/backends/postgresql/client.py | 71 + .../django/db/backends/postgresql/creation.py | 77 + .../django/db/backends/postgresql/features.py | 77 + .../db/backends/postgresql/introspection.py | 233 + .../db/backends/postgresql/operations.py | 284 + .../django/db/backends/postgresql/schema.py | 141 + .../django/db/backends/postgresql/utils.py | 7 + .../backends/postgresql_psycopg2/__init__.py | 9 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 467 bytes .../__pycache__/base.cpython-37.pyc | Bin 0 -> 247 bytes .../__pycache__/client.cpython-37.pyc | Bin 0 -> 251 bytes .../__pycache__/creation.cpython-37.pyc | Bin 0 -> 255 bytes .../__pycache__/features.cpython-37.pyc | Bin 0 -> 255 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 265 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 259 bytes .../__pycache__/schema.cpython-37.pyc | Bin 0 -> 251 bytes .../__pycache__/utils.cpython-37.pyc | Bin 0 -> 249 bytes .../db/backends/postgresql_psycopg2/base.py | 1 + .../db/backends/postgresql_psycopg2/client.py | 1 + .../backends/postgresql_psycopg2/creation.py | 1 + .../backends/postgresql_psycopg2/features.py | 1 + .../postgresql_psycopg2/introspection.py | 1 + .../postgresql_psycopg2/operations.py | 1 + .../db/backends/postgresql_psycopg2/schema.py | 1 + .../db/backends/postgresql_psycopg2/utils.py | 1 + .../django/db/backends/signals.py | 3 + .../django/db/backends/sqlite3/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 207 bytes .../sqlite3/__pycache__/base.cpython-37.pyc | Bin 0 -> 17083 bytes .../sqlite3/__pycache__/client.cpython-37.pyc | Bin 0 -> 701 bytes .../__pycache__/creation.cpython-37.pyc | Bin 0 -> 3513 bytes .../__pycache__/features.cpython-37.pyc | Bin 0 -> 1727 bytes .../__pycache__/introspection.cpython-37.pyc | Bin 0 -> 11312 bytes .../__pycache__/operations.cpython-37.pyc | Bin 0 -> 12919 bytes .../sqlite3/__pycache__/schema.cpython-37.pyc | Bin 0 -> 11953 bytes .../django/db/backends/sqlite3/base.py | 560 + .../django/db/backends/sqlite3/client.py | 12 + .../django/db/backends/sqlite3/creation.py | 98 + .../django/db/backends/sqlite3/features.py | 44 + .../db/backends/sqlite3/introspection.py | 434 + .../django/db/backends/sqlite3/operations.py | 333 + .../django/db/backends/sqlite3/schema.py | 411 + .../site-packages/django/db/backends/utils.py | 252 + .../django/db/migrations/__init__.py | 2 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 302 bytes .../__pycache__/autodetector.cpython-37.pyc | Bin 0 -> 36489 bytes .../__pycache__/exceptions.cpython-37.pyc | Bin 0 -> 2550 bytes .../__pycache__/executor.cpython-37.pyc | Bin 0 -> 11220 bytes .../__pycache__/graph.cpython-37.pyc | Bin 0 -> 12683 bytes .../__pycache__/loader.cpython-37.pyc | Bin 0 -> 10315 bytes .../__pycache__/migration.cpython-37.pyc | Bin 0 -> 5416 bytes .../__pycache__/optimizer.cpython-37.pyc | Bin 0 -> 2764 bytes .../__pycache__/questioner.cpython-37.pyc | Bin 0 -> 8994 bytes .../__pycache__/recorder.cpython-37.pyc | Bin 0 -> 4351 bytes .../__pycache__/serializer.cpython-37.pyc | Bin 0 -> 13765 bytes .../__pycache__/state.cpython-37.pyc | Bin 0 -> 18889 bytes .../__pycache__/utils.cpython-37.pyc | Bin 0 -> 902 bytes .../__pycache__/writer.cpython-37.pyc | Bin 0 -> 8093 bytes .../django/db/migrations/autodetector.py | 1320 ++ .../django/db/migrations/exceptions.py | 54 + .../django/db/migrations/executor.py | 376 + .../django/db/migrations/graph.py | 319 + .../django/db/migrations/loader.py | 324 + .../django/db/migrations/migration.py | 193 + .../db/migrations/operations/__init__.py | 17 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 928 bytes .../__pycache__/base.cpython-37.pyc | Bin 0 -> 5440 bytes .../__pycache__/fields.cpython-37.pyc | Bin 0 -> 12368 bytes .../__pycache__/models.cpython-37.pyc | Bin 0 -> 28206 bytes .../__pycache__/special.cpython-37.pyc | Bin 0 -> 6494 bytes .../__pycache__/utils.cpython-37.pyc | Bin 0 -> 2090 bytes .../django/db/migrations/operations/base.py | 141 + .../django/db/migrations/operations/fields.py | 402 + .../django/db/migrations/operations/models.py | 878 ++ .../db/migrations/operations/special.py | 203 + .../django/db/migrations/operations/utils.py | 53 + .../django/db/migrations/optimizer.py | 70 + .../django/db/migrations/questioner.py | 239 + .../django/db/migrations/recorder.py | 92 + .../django/db/migrations/serializer.py | 333 + .../django/db/migrations/state.py | 612 + .../django/db/migrations/utils.py | 17 + .../django/db/migrations/writer.py | 300 + .../django/db/models/__init__.py | 48 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 2198 bytes .../__pycache__/aggregates.cpython-37.pyc | Bin 0 -> 6241 bytes .../db/models/__pycache__/base.cpython-37.pyc | Bin 0 -> 44835 bytes .../__pycache__/constants.cpython-37.pyc | Bin 0 -> 275 bytes .../__pycache__/constraints.cpython-37.pyc | Bin 0 -> 6307 bytes .../__pycache__/deletion.cpython-37.pyc | Bin 0 -> 10862 bytes .../__pycache__/expressions.cpython-37.pyc | Bin 0 -> 51614 bytes .../models/__pycache__/indexes.cpython-37.pyc | Bin 0 -> 5585 bytes .../models/__pycache__/lookups.cpython-37.pyc | Bin 0 -> 18934 bytes .../models/__pycache__/manager.cpython-37.pyc | Bin 0 -> 6150 bytes .../models/__pycache__/options.cpython-37.pyc | Bin 0 -> 22621 bytes .../models/__pycache__/query.cpython-37.pyc | Bin 0 -> 60046 bytes .../__pycache__/query_utils.cpython-37.pyc | Bin 0 -> 11555 bytes .../models/__pycache__/signals.cpython-37.pyc | Bin 0 -> 1979 bytes .../models/__pycache__/utils.cpython-37.pyc | Bin 0 -> 908 bytes .../django/db/models/aggregates.py | 155 + .../site-packages/django/db/models/base.py | 1832 +++ .../django/db/models/constants.py | 6 + .../django/db/models/constraints.py | 121 + .../django/db/models/deletion.py | 329 + .../django/db/models/expressions.py | 1358 ++ .../django/db/models/fields/__init__.py | 2352 ++++ .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 67886 bytes .../fields/__pycache__/files.cpython-37.pyc | Bin 0 -> 12321 bytes .../fields/__pycache__/mixins.cpython-37.pyc | Bin 0 -> 1407 bytes .../fields/__pycache__/proxy.cpython-37.pyc | Bin 0 -> 943 bytes .../fields/__pycache__/related.cpython-37.pyc | Bin 0 -> 47043 bytes .../related_descriptors.cpython-37.pyc | Bin 0 -> 35802 bytes .../related_lookups.cpython-37.pyc | Bin 0 -> 5830 bytes .../reverse_related.cpython-37.pyc | Bin 0 -> 9910 bytes .../django/db/models/fields/files.py | 466 + .../django/db/models/fields/mixins.py | 26 + .../django/db/models/fields/proxy.py | 18 + .../django/db/models/fields/related.py | 1647 +++ .../db/models/fields/related_descriptors.py | 1137 ++ .../db/models/fields/related_lookups.py | 154 + .../db/models/fields/reverse_related.py | 290 + .../django/db/models/functions/__init__.py | 42 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 2313 bytes .../__pycache__/comparison.cpython-37.pyc | Bin 0 -> 5123 bytes .../__pycache__/datetime.cpython-37.pyc | Bin 0 -> 9974 bytes .../functions/__pycache__/math.cpython-37.pyc | Bin 0 -> 5936 bytes .../__pycache__/mixins.cpython-37.pyc | Bin 0 -> 2761 bytes .../functions/__pycache__/text.cpython-37.pyc | Bin 0 -> 10991 bytes .../__pycache__/window.cpython-37.pyc | Bin 0 -> 3896 bytes .../django/db/models/functions/comparison.py | 112 + .../django/db/models/functions/datetime.py | 308 + .../django/db/models/functions/math.py | 163 + .../django/db/models/functions/mixins.py | 50 + .../django/db/models/functions/text.py | 267 + .../django/db/models/functions/window.py | 108 + .../site-packages/django/db/models/indexes.py | 131 + .../site-packages/django/db/models/lookups.py | 556 + .../site-packages/django/db/models/manager.py | 201 + .../site-packages/django/db/models/options.py | 828 ++ .../site-packages/django/db/models/query.py | 1897 +++ .../django/db/models/query_utils.py | 336 + .../site-packages/django/db/models/signals.py | 53 + .../django/db/models/sql/__init__.py | 7 + .../sql/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 486 bytes .../sql/__pycache__/compiler.cpython-37.pyc | Bin 0 -> 42869 bytes .../sql/__pycache__/constants.cpython-37.pyc | Bin 0 -> 581 bytes .../__pycache__/datastructures.cpython-37.pyc | Bin 0 -> 5655 bytes .../sql/__pycache__/query.cpython-37.pyc | Bin 0 -> 62492 bytes .../sql/__pycache__/subqueries.cpython-37.pyc | Bin 0 -> 7235 bytes .../sql/__pycache__/where.cpython-37.pyc | Bin 0 -> 7674 bytes .../django/db/models/sql/compiler.py | 1515 +++ .../django/db/models/sql/constants.py | 27 + .../django/db/models/sql/datastructures.py | 170 + .../django/db/models/sql/query.py | 2260 ++++ .../django/db/models/sql/subqueries.py | 194 + .../django/db/models/sql/where.py | 228 + .../site-packages/django/db/models/utils.py | 21 + .../site-packages/django/db/transaction.py | 317 + .../site-packages/django/db/utils.py | 307 + .../site-packages/django/dispatch/__init__.py | 9 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 503 bytes .../__pycache__/dispatcher.cpython-37.pyc | Bin 0 -> 8538 bytes .../django/dispatch/dispatcher.py | 292 + .../site-packages/django/dispatch/license.txt | 36 + .../site-packages/django/forms/__init__.py | 11 + .../forms/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 512 bytes .../__pycache__/boundfield.cpython-37.pyc | Bin 0 -> 9539 bytes .../forms/__pycache__/fields.cpython-37.pyc | Bin 0 -> 37091 bytes .../forms/__pycache__/forms.cpython-37.pyc | Bin 0 -> 15295 bytes .../forms/__pycache__/formsets.cpython-37.pyc | Bin 0 -> 14595 bytes .../forms/__pycache__/models.cpython-37.pyc | Bin 0 -> 36182 bytes .../__pycache__/renderers.cpython-37.pyc | Bin 0 -> 3022 bytes .../forms/__pycache__/utils.cpython-37.pyc | Bin 0 -> 6943 bytes .../forms/__pycache__/widgets.cpython-37.pyc | Bin 0 -> 36480 bytes .../site-packages/django/forms/boundfield.py | 266 + .../site-packages/django/forms/fields.py | 1202 ++ .../site-packages/django/forms/forms.py | 506 + .../site-packages/django/forms/formsets.py | 449 + .../jinja2/django/forms/widgets/attrs.html | 1 + .../jinja2/django/forms/widgets/checkbox.html | 1 + .../django/forms/widgets/checkbox_option.html | 1 + .../django/forms/widgets/checkbox_select.html | 1 + .../forms/widgets/clearable_file_input.html | 5 + .../jinja2/django/forms/widgets/date.html | 1 + .../jinja2/django/forms/widgets/datetime.html | 1 + .../jinja2/django/forms/widgets/email.html | 1 + .../jinja2/django/forms/widgets/file.html | 1 + .../jinja2/django/forms/widgets/hidden.html | 1 + .../jinja2/django/forms/widgets/input.html | 1 + .../django/forms/widgets/input_option.html | 1 + .../django/forms/widgets/multiple_hidden.html | 1 + .../django/forms/widgets/multiple_input.html | 5 + .../django/forms/widgets/multiwidget.html | 1 + .../jinja2/django/forms/widgets/number.html | 1 + .../jinja2/django/forms/widgets/password.html | 1 + .../jinja2/django/forms/widgets/radio.html | 1 + .../django/forms/widgets/radio_option.html | 1 + .../jinja2/django/forms/widgets/select.html | 5 + .../django/forms/widgets/select_date.html | 1 + .../django/forms/widgets/select_option.html | 1 + .../django/forms/widgets/splitdatetime.html | 1 + .../forms/widgets/splithiddendatetime.html | 1 + .../jinja2/django/forms/widgets/text.html | 1 + .../jinja2/django/forms/widgets/textarea.html | 2 + .../jinja2/django/forms/widgets/time.html | 1 + .../jinja2/django/forms/widgets/url.html | 1 + .../site-packages/django/forms/models.py | 1360 ++ .../site-packages/django/forms/renderers.py | 70 + .../templates/django/forms/widgets/attrs.html | 1 + .../django/forms/widgets/checkbox.html | 1 + .../django/forms/widgets/checkbox_option.html | 1 + .../django/forms/widgets/checkbox_select.html | 1 + .../forms/widgets/clearable_file_input.html | 5 + .../templates/django/forms/widgets/date.html | 1 + .../django/forms/widgets/datetime.html | 1 + .../templates/django/forms/widgets/email.html | 1 + .../templates/django/forms/widgets/file.html | 1 + .../django/forms/widgets/hidden.html | 1 + .../templates/django/forms/widgets/input.html | 1 + .../django/forms/widgets/input_option.html | 1 + .../django/forms/widgets/multiple_hidden.html | 1 + .../django/forms/widgets/multiple_input.html | 5 + .../django/forms/widgets/multiwidget.html | 1 + .../django/forms/widgets/number.html | 1 + .../django/forms/widgets/password.html | 1 + .../templates/django/forms/widgets/radio.html | 1 + .../django/forms/widgets/radio_option.html | 1 + .../django/forms/widgets/select.html | 5 + .../django/forms/widgets/select_date.html | 1 + .../django/forms/widgets/select_option.html | 1 + .../django/forms/widgets/splitdatetime.html | 1 + .../forms/widgets/splithiddendatetime.html | 1 + .../templates/django/forms/widgets/text.html | 1 + .../django/forms/widgets/textarea.html | 2 + .../templates/django/forms/widgets/time.html | 1 + .../templates/django/forms/widgets/url.html | 1 + .../site-packages/django/forms/utils.py | 178 + .../site-packages/django/forms/widgets.py | 1079 ++ .../site-packages/django/http/__init__.py | 21 + .../http/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1053 bytes .../http/__pycache__/cookie.cpython-37.pyc | Bin 0 -> 678 bytes .../multipartparser.cpython-37.pyc | Bin 0 -> 17332 bytes .../http/__pycache__/request.cpython-37.pyc | Bin 0 -> 20168 bytes .../http/__pycache__/response.cpython-37.pyc | Bin 0 -> 19904 bytes .../site-packages/django/http/cookie.py | 26 + .../django/http/multipartparser.py | 688 + .../site-packages/django/http/request.py | 603 + .../site-packages/django/http/response.py | 559 + .../django/middleware/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 198 bytes .../__pycache__/cache.cpython-37.pyc | Bin 0 -> 6143 bytes .../__pycache__/clickjacking.cpython-37.pyc | Bin 0 -> 1934 bytes .../__pycache__/common.cpython-37.pyc | Bin 0 -> 6016 bytes .../__pycache__/csrf.cpython-37.pyc | Bin 0 -> 8609 bytes .../__pycache__/gzip.cpython-37.pyc | Bin 0 -> 1456 bytes .../__pycache__/http.cpython-37.pyc | Bin 0 -> 1724 bytes .../__pycache__/locale.cpython-37.pyc | Bin 0 -> 2296 bytes .../__pycache__/security.cpython-37.pyc | Bin 0 -> 2263 bytes .../site-packages/django/middleware/cache.py | 189 + .../django/middleware/clickjacking.py | 45 + .../site-packages/django/middleware/common.py | 173 + .../site-packages/django/middleware/csrf.py | 327 + .../site-packages/django/middleware/gzip.py | 52 + .../site-packages/django/middleware/http.py | 41 + .../site-packages/django/middleware/locale.py | 61 + .../django/middleware/security.py | 46 + .../site-packages/django/shortcuts.py | 158 + .../site-packages/django/template/__init__.py | 68 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1779 bytes .../template/__pycache__/base.cpython-37.pyc | Bin 0 -> 29039 bytes .../__pycache__/context.cpython-37.pyc | Bin 0 -> 9720 bytes .../context_processors.cpython-37.pyc | Bin 0 -> 2829 bytes .../__pycache__/defaultfilters.cpython-37.pyc | Bin 0 -> 24354 bytes .../__pycache__/defaulttags.cpython-37.pyc | Bin 0 -> 44801 bytes .../__pycache__/engine.cpython-37.pyc | Bin 0 -> 6066 bytes .../__pycache__/exceptions.cpython-37.pyc | Bin 0 -> 1785 bytes .../__pycache__/library.cpython-37.pyc | Bin 0 -> 10226 bytes .../__pycache__/loader.cpython-37.pyc | Bin 0 -> 1952 bytes .../__pycache__/loader_tags.cpython-37.pyc | Bin 0 -> 9955 bytes .../__pycache__/response.cpython-37.pyc | Bin 0 -> 4596 bytes .../__pycache__/smartif.cpython-37.pyc | Bin 0 -> 7460 bytes .../template/__pycache__/utils.cpython-37.pyc | Bin 0 -> 3607 bytes .../django/template/backends/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 205 bytes .../backends/__pycache__/base.cpython-37.pyc | Bin 0 -> 2682 bytes .../__pycache__/django.cpython-37.pyc | Bin 0 -> 4828 bytes .../backends/__pycache__/dummy.cpython-37.pyc | Bin 0 -> 2265 bytes .../__pycache__/jinja2.cpython-37.pyc | Bin 0 -> 3933 bytes .../backends/__pycache__/utils.cpython-37.pyc | Bin 0 -> 673 bytes .../django/template/backends/base.py | 81 + .../django/template/backends/django.py | 129 + .../django/template/backends/dummy.py | 53 + .../django/template/backends/jinja2.py | 108 + .../django/template/backends/utils.py | 14 + .../site-packages/django/template/base.py | 1044 ++ .../site-packages/django/template/context.py | 280 + .../django/template/context_processors.py | 81 + .../django/template/defaultfilters.py | 907 ++ .../django/template/defaulttags.py | 1474 +++ .../site-packages/django/template/engine.py | 180 + .../django/template/exceptions.py | 42 + .../site-packages/django/template/library.py | 328 + .../site-packages/django/template/loader.py | 66 + .../django/template/loader_tags.py | 317 + .../django/template/loaders/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 204 bytes .../app_directories.cpython-37.pyc | Bin 0 -> 719 bytes .../loaders/__pycache__/base.cpython-37.pyc | Bin 0 -> 1817 bytes .../loaders/__pycache__/cached.cpython-37.pyc | Bin 0 -> 4103 bytes .../__pycache__/filesystem.cpython-37.pyc | Bin 0 -> 1816 bytes .../loaders/__pycache__/locmem.cpython-37.pyc | Bin 0 -> 1146 bytes .../template/loaders/app_directories.py | 14 + .../django/template/loaders/base.py | 49 + .../django/template/loaders/cached.py | 95 + .../django/template/loaders/filesystem.py | 46 + .../django/template/loaders/locmem.py | 27 + .../site-packages/django/template/response.py | 145 + .../site-packages/django/template/smartif.py | 208 + .../site-packages/django/template/utils.py | 107 + .../django/templatetags/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 200 bytes .../__pycache__/cache.cpython-37.pyc | Bin 0 -> 3186 bytes .../__pycache__/i18n.cpython-37.pyc | Bin 0 -> 16765 bytes .../__pycache__/l10n.cpython-37.pyc | Bin 0 -> 2196 bytes .../__pycache__/static.cpython-37.pyc | Bin 0 -> 4924 bytes .../__pycache__/tz.cpython-37.pyc | Bin 0 -> 5367 bytes .../django/templatetags/cache.py | 93 + .../site-packages/django/templatetags/i18n.py | 548 + .../site-packages/django/templatetags/l10n.py | 63 + .../django/templatetags/static.py | 167 + .../site-packages/django/templatetags/tz.py | 190 + .../site-packages/django/test/__init__.py | 18 + .../test/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 814 bytes .../test/__pycache__/client.cpython-37.pyc | Bin 0 -> 21647 bytes .../test/__pycache__/html.cpython-37.pyc | Bin 0 -> 7411 bytes .../test/__pycache__/runner.cpython-37.pyc | Bin 0 -> 22636 bytes .../test/__pycache__/selenium.cpython-37.pyc | Bin 0 -> 3871 bytes .../test/__pycache__/signals.cpython-37.pyc | Bin 0 -> 5836 bytes .../test/__pycache__/testcases.cpython-37.pyc | Bin 0 -> 49594 bytes .../test/__pycache__/utils.cpython-37.pyc | Bin 0 -> 28730 bytes .../site-packages/django/test/client.py | 724 ++ .../site-packages/django/test/html.py | 228 + .../site-packages/django/test/runner.py | 743 ++ .../site-packages/django/test/selenium.py | 115 + .../site-packages/django/test/signals.py | 205 + .../site-packages/django/test/testcases.py | 1516 +++ .../site-packages/django/test/utils.py | 882 ++ .../site-packages/django/urls/__init__.py | 23 + .../urls/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1103 bytes .../urls/__pycache__/base.cpython-37.pyc | Bin 0 -> 4530 bytes .../urls/__pycache__/conf.cpython-37.pyc | Bin 0 -> 2062 bytes .../__pycache__/converters.cpython-37.pyc | Bin 0 -> 2404 bytes .../__pycache__/exceptions.cpython-37.pyc | Bin 0 -> 542 bytes .../urls/__pycache__/resolvers.cpython-37.pyc | Bin 0 -> 20163 bytes .../urls/__pycache__/utils.cpython-37.pyc | Bin 0 -> 1748 bytes .../site-packages/django/urls/base.py | 183 + .../site-packages/django/urls/conf.py | 77 + .../site-packages/django/urls/converters.py | 66 + .../site-packages/django/urls/exceptions.py | 9 + .../site-packages/django/urls/resolvers.py | 673 + .../site-packages/django/urls/utils.py | 62 + .../site-packages/django/utils/__init__.py | 0 .../utils/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 193 bytes .../utils/__pycache__/_os.cpython-37.pyc | Bin 0 -> 1964 bytes .../utils/__pycache__/archive.cpython-37.pyc | Bin 0 -> 8069 bytes .../__pycache__/autoreload.cpython-37.pyc | Bin 0 -> 19753 bytes .../utils/__pycache__/baseconv.cpython-37.pyc | Bin 0 -> 2493 bytes .../utils/__pycache__/cache.cpython-37.pyc | Bin 0 -> 11594 bytes .../utils/__pycache__/crypto.cpython-37.pyc | Bin 0 -> 2391 bytes .../__pycache__/datastructures.cpython-37.pyc | Bin 0 -> 13518 bytes .../__pycache__/dateformat.cpython-37.pyc | Bin 0 -> 11847 bytes .../__pycache__/dateparse.cpython-37.pyc | Bin 0 -> 4376 bytes .../utils/__pycache__/dates.cpython-37.pyc | Bin 0 -> 1338 bytes .../__pycache__/datetime_safe.cpython-37.pyc | Bin 0 -> 2852 bytes .../__pycache__/deconstruct.cpython-37.pyc | Bin 0 -> 1833 bytes .../__pycache__/decorators.cpython-37.pyc | Bin 0 -> 5722 bytes .../__pycache__/deprecation.cpython-37.pyc | Bin 0 -> 3602 bytes .../utils/__pycache__/duration.cpython-37.pyc | Bin 0 -> 1277 bytes .../utils/__pycache__/encoding.cpython-37.pyc | Bin 0 -> 7120 bytes .../__pycache__/feedgenerator.cpython-37.pyc | Bin 0 -> 12377 bytes .../utils/__pycache__/formats.cpython-37.pyc | Bin 0 -> 6427 bytes .../__pycache__/functional.cpython-37.pyc | Bin 0 -> 13852 bytes .../utils/__pycache__/hashable.cpython-37.pyc | Bin 0 -> 695 bytes .../utils/__pycache__/html.cpython-37.pyc | Bin 0 -> 12207 bytes .../utils/__pycache__/http.cpython-37.pyc | Bin 0 -> 13197 bytes .../utils/__pycache__/inspect.cpython-37.pyc | Bin 0 -> 2484 bytes .../utils/__pycache__/ipv6.cpython-37.pyc | Bin 0 -> 1495 bytes .../__pycache__/itercompat.cpython-37.pyc | Bin 0 -> 415 bytes .../utils/__pycache__/jslex.cpython-37.pyc | Bin 0 -> 6892 bytes .../utils/__pycache__/log.cpython-37.pyc | Bin 0 -> 6557 bytes .../__pycache__/lorem_ipsum.cpython-37.pyc | Bin 0 -> 4564 bytes .../__pycache__/lru_cache.cpython-37.pyc | Bin 0 -> 237 bytes .../__pycache__/module_loading.cpython-37.pyc | Bin 0 -> 2626 bytes .../__pycache__/numberformat.cpython-37.pyc | Bin 0 -> 2061 bytes .../__pycache__/regex_helper.cpython-37.pyc | Bin 0 -> 7166 bytes .../__pycache__/safestring.cpython-37.pyc | Bin 0 -> 3269 bytes .../utils/__pycache__/six.cpython-37.pyc | Bin 0 -> 24418 bytes .../__pycache__/termcolors.cpython-37.pyc | Bin 0 -> 5313 bytes .../utils/__pycache__/text.cpython-37.pyc | Bin 0 -> 11883 bytes .../__pycache__/timesince.cpython-37.pyc | Bin 0 -> 2537 bytes .../utils/__pycache__/timezone.cpython-37.pyc | Bin 0 -> 8140 bytes .../topological_sort.cpython-37.pyc | Bin 0 -> 1771 bytes .../utils/__pycache__/tree.cpython-37.pyc | Bin 0 -> 4334 bytes .../utils/__pycache__/version.cpython-37.pyc | Bin 0 -> 3040 bytes .../utils/__pycache__/xmlutils.cpython-37.pyc | Bin 0 -> 1541 bytes .../site-packages/django/utils/_os.py | 65 + .../site-packages/django/utils/archive.py | 227 + .../site-packages/django/utils/autoreload.py | 603 + .../site-packages/django/utils/baseconv.py | 101 + .../site-packages/django/utils/cache.py | 387 + .../site-packages/django/utils/crypto.py | 84 + .../django/utils/datastructures.py | 341 + .../site-packages/django/utils/dateformat.py | 367 + .../site-packages/django/utils/dateparse.py | 146 + .../site-packages/django/utils/dates.py | 49 + .../django/utils/datetime_safe.py | 105 + .../site-packages/django/utils/deconstruct.py | 55 + .../site-packages/django/utils/decorators.py | 176 + .../site-packages/django/utils/deprecation.py | 97 + .../site-packages/django/utils/duration.py | 44 + .../site-packages/django/utils/encoding.py | 269 + .../django/utils/feedgenerator.py | 392 + .../site-packages/django/utils/formats.py | 257 + .../site-packages/django/utils/functional.py | 433 + .../site-packages/django/utils/hashable.py | 19 + .../site-packages/django/utils/html.py | 390 + .../site-packages/django/utils/http.py | 458 + .../site-packages/django/utils/inspect.py | 63 + .../site-packages/django/utils/ipv6.py | 46 + .../site-packages/django/utils/itercompat.py | 8 + .../site-packages/django/utils/jslex.py | 220 + .../site-packages/django/utils/log.py | 230 + .../site-packages/django/utils/lorem_ipsum.py | 114 + .../site-packages/django/utils/lru_cache.py | 5 + .../django/utils/module_loading.py | 98 + .../django/utils/numberformat.py | 79 + .../django/utils/regex_helper.py | 333 + .../site-packages/django/utils/safestring.py | 84 + .../site-packages/django/utils/six.py | 882 ++ .../site-packages/django/utils/termcolors.py | 215 + .../site-packages/django/utils/text.py | 416 + .../site-packages/django/utils/timesince.py | 91 + .../site-packages/django/utils/timezone.py | 287 + .../django/utils/topological_sort.py | 36 + .../django/utils/translation/__init__.py | 282 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 8608 bytes .../__pycache__/reloader.cpython-37.pyc | Bin 0 -> 1430 bytes .../__pycache__/template.cpython-37.pyc | Bin 0 -> 4743 bytes .../__pycache__/trans_null.cpython-37.pyc | Bin 0 -> 1854 bytes .../__pycache__/trans_real.cpython-37.pyc | Bin 0 -> 15196 bytes .../django/utils/translation/reloader.py | 28 + .../django/utils/translation/template.py | 227 + .../django/utils/translation/trans_null.py | 67 + .../django/utils/translation/trans_real.py | 515 + .../site-packages/django/utils/tree.py | 124 + .../site-packages/django/utils/version.py | 104 + .../site-packages/django/utils/xmlutils.py | 34 + .../site-packages/django/views/__init__.py | 3 + .../views/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 269 bytes .../views/__pycache__/csrf.cpython-37.pyc | Bin 0 -> 5437 bytes .../views/__pycache__/debug.cpython-37.pyc | Bin 0 -> 14330 bytes .../views/__pycache__/defaults.cpython-37.pyc | Bin 0 -> 3090 bytes .../views/__pycache__/i18n.cpython-37.pyc | Bin 0 -> 11160 bytes .../views/__pycache__/static.cpython-37.pyc | Bin 0 -> 4348 bytes .../site-packages/django/views/csrf.py | 154 + .../site-packages/django/views/debug.py | 520 + .../django/views/decorators/__init__.py | 0 .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 204 bytes .../__pycache__/cache.cpython-37.pyc | Bin 0 -> 2190 bytes .../__pycache__/clickjacking.cpython-37.pyc | Bin 0 -> 1982 bytes .../__pycache__/csrf.cpython-37.pyc | Bin 0 -> 2254 bytes .../__pycache__/debug.cpython-37.pyc | Bin 0 -> 2893 bytes .../__pycache__/gzip.cpython-37.pyc | Bin 0 -> 437 bytes .../__pycache__/http.cpython-37.pyc | Bin 0 -> 4393 bytes .../__pycache__/vary.cpython-37.pyc | Bin 0 -> 1555 bytes .../django/views/decorators/cache.py | 47 + .../django/views/decorators/clickjacking.py | 53 + .../django/views/decorators/csrf.py | 56 + .../django/views/decorators/debug.py | 78 + .../django/views/decorators/gzip.py | 5 + .../django/views/decorators/http.py | 121 + .../django/views/decorators/vary.py | 41 + .../site-packages/django/views/defaults.py | 125 + .../django/views/generic/__init__.py | 22 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1117 bytes .../generic/__pycache__/base.cpython-37.pyc | Bin 0 -> 7796 bytes .../generic/__pycache__/dates.cpython-37.pyc | Bin 0 -> 23224 bytes .../generic/__pycache__/detail.cpython-37.pyc | Bin 0 -> 5213 bytes .../generic/__pycache__/edit.cpython-37.pyc | Bin 0 -> 9144 bytes .../generic/__pycache__/list.cpython-37.pyc | Bin 0 -> 6419 bytes .../django/views/generic/base.py | 217 + .../django/views/generic/dates.py | 724 ++ .../django/views/generic/detail.py | 170 + .../django/views/generic/edit.py | 241 + .../django/views/generic/list.py | 198 + .../site-packages/django/views/i18n.py | 308 + .../site-packages/django/views/static.py | 135 + .../views/templates/default_urlconf.html | 414 + .../django/views/templates/technical_404.html | 79 + .../django/views/templates/technical_500.html | 484 + .../django/views/templates/technical_500.txt | 66 + .../python3.7/site-packages/easy-install.pth | 2 + .../pip-10.0.1-py3.7.egg/EGG-INFO/PKG-INFO | 69 + .../pip-10.0.1-py3.7.egg/EGG-INFO/SOURCES.txt | 347 + .../EGG-INFO/dependency_links.txt | 1 + .../EGG-INFO/entry_points.txt | 5 + .../EGG-INFO/not-zip-safe | 1 + .../EGG-INFO/requires.txt | 8 + .../EGG-INFO/top_level.txt | 1 + .../pip-10.0.1-py3.7.egg/pip/__init__.py | 1 + .../pip-10.0.1-py3.7.egg/pip/__main__.py | 19 + .../pip/_internal/__init__.py | 246 + .../pip/_internal/basecommand.py | 373 + .../pip/_internal/baseparser.py | 240 + .../pip/_internal/build_env.py | 92 + .../pip/_internal/cache.py | 202 + .../pip/_internal/cmdoptions.py | 609 + .../pip/_internal/commands/__init__.py | 79 + .../pip/_internal/commands/check.py | 42 + .../pip/_internal/commands/completion.py | 94 + .../pip/_internal/commands/configuration.py | 227 + .../pip/_internal/commands/download.py | 233 + .../pip/_internal/commands/freeze.py | 96 + .../pip/_internal/commands/hash.py | 57 + .../pip/_internal/commands/help.py | 36 + .../pip/_internal/commands/install.py | 502 + .../pip/_internal/commands/list.py | 343 + .../pip/_internal/commands/search.py | 135 + .../pip/_internal/commands/show.py | 164 + .../pip/_internal/commands/uninstall.py | 71 + .../pip/_internal/commands/wheel.py | 179 + .../pip/_internal/compat.py | 235 + .../pip/_internal/configuration.py | 378 + .../pip/_internal/download.py | 922 ++ .../pip/_internal/exceptions.py | 249 + .../pip/_internal/index.py | 1117 ++ .../pip/_internal/locations.py | 194 + .../pip/_internal/models/__init__.py | 4 + .../pip/_internal/models/index.py | 15 + .../pip/_internal/operations/__init__.py | 0 .../pip/_internal/operations/check.py | 106 + .../pip/_internal/operations/freeze.py | 252 + .../pip/_internal/operations/prepare.py | 380 + .../pip/_internal/pep425tags.py | 317 + .../pip/_internal/req/__init__.py | 69 + .../pip/_internal/req/req_file.py | 338 + .../pip/_internal/req/req_install.py | 1115 ++ .../pip/_internal/req/req_set.py | 164 + .../pip/_internal/req/req_uninstall.py | 455 + .../pip/_internal/resolve.py | 354 + .../pip/_internal/status_codes.py | 8 + .../pip/_internal/utils/__init__.py | 0 .../pip/_internal/utils/appdirs.py | 258 + .../pip/_internal/utils/deprecation.py | 77 + .../pip/_internal/utils/encoding.py | 33 + .../pip/_internal/utils/filesystem.py | 28 + .../pip/_internal/utils/glibc.py | 84 + .../pip/_internal/utils/hashes.py | 94 + .../pip/_internal/utils/logging.py | 132 + .../pip/_internal/utils/misc.py | 851 ++ .../pip/_internal/utils/outdated.py | 163 + .../pip/_internal/utils/packaging.py | 70 + .../pip/_internal/utils/setuptools_build.py | 8 + .../pip/_internal/utils/temp_dir.py | 82 + .../pip/_internal/utils/typing.py | 29 + .../pip/_internal/utils/ui.py | 421 + .../pip/_internal/vcs/__init__.py | 471 + .../pip/_internal/vcs/bazaar.py | 113 + .../pip/_internal/vcs/git.py | 311 + .../pip/_internal/vcs/mercurial.py | 105 + .../pip/_internal/vcs/subversion.py | 271 + .../pip/_internal/wheel.py | 817 ++ .../pip/_vendor/__init__.py | 109 + .../pip/_vendor/appdirs.py | 604 + .../pip/_vendor/cachecontrol/__init__.py | 11 + .../pip/_vendor/cachecontrol/_cmd.py | 60 + .../pip/_vendor/cachecontrol/adapter.py | 134 + .../pip/_vendor/cachecontrol/cache.py | 39 + .../_vendor/cachecontrol/caches/__init__.py | 2 + .../_vendor/cachecontrol/caches/file_cache.py | 133 + .../cachecontrol/caches/redis_cache.py | 43 + .../pip/_vendor/cachecontrol/compat.py | 29 + .../pip/_vendor/cachecontrol/controller.py | 373 + .../pip/_vendor/cachecontrol/filewrapper.py | 78 + .../pip/_vendor/cachecontrol/heuristics.py | 138 + .../pip/_vendor/cachecontrol/serialize.py | 194 + .../pip/_vendor/cachecontrol/wrapper.py | 27 + .../pip/_vendor/certifi/__init__.py | 3 + .../pip/_vendor/certifi/__main__.py | 2 + .../pip/_vendor/certifi/cacert.pem | 4433 +++++++ .../pip/_vendor/certifi/core.py | 37 + .../pip/_vendor/chardet/__init__.py | 39 + .../pip/_vendor/chardet/big5freq.py | 386 + .../pip/_vendor/chardet/big5prober.py | 47 + .../pip/_vendor/chardet/chardistribution.py | 233 + .../pip/_vendor/chardet/charsetgroupprober.py | 106 + .../pip/_vendor/chardet/charsetprober.py | 145 + .../pip/_vendor/chardet/cli/__init__.py | 1 + .../pip/_vendor/chardet/cli/chardetect.py | 85 + .../pip/_vendor/chardet/codingstatemachine.py | 88 + .../pip/_vendor/chardet/compat.py | 34 + .../pip/_vendor/chardet/cp949prober.py | 49 + .../pip/_vendor/chardet/enums.py | 76 + .../pip/_vendor/chardet/escprober.py | 101 + .../pip/_vendor/chardet/escsm.py | 246 + .../pip/_vendor/chardet/eucjpprober.py | 92 + .../pip/_vendor/chardet/euckrfreq.py | 195 + .../pip/_vendor/chardet/euckrprober.py | 47 + .../pip/_vendor/chardet/euctwfreq.py | 387 + .../pip/_vendor/chardet/euctwprober.py | 46 + .../pip/_vendor/chardet/gb2312freq.py | 283 + .../pip/_vendor/chardet/gb2312prober.py | 46 + .../pip/_vendor/chardet/hebrewprober.py | 292 + .../pip/_vendor/chardet/jisfreq.py | 325 + .../pip/_vendor/chardet/jpcntx.py | 233 + .../pip/_vendor/chardet/langbulgarianmodel.py | 228 + .../pip/_vendor/chardet/langcyrillicmodel.py | 333 + .../pip/_vendor/chardet/langgreekmodel.py | 225 + .../pip/_vendor/chardet/langhebrewmodel.py | 200 + .../pip/_vendor/chardet/langhungarianmodel.py | 225 + .../pip/_vendor/chardet/langthaimodel.py | 199 + .../pip/_vendor/chardet/langturkishmodel.py | 193 + .../pip/_vendor/chardet/latin1prober.py | 145 + .../pip/_vendor/chardet/mbcharsetprober.py | 91 + .../pip/_vendor/chardet/mbcsgroupprober.py | 54 + .../pip/_vendor/chardet/mbcssm.py | 572 + .../pip/_vendor/chardet/sbcharsetprober.py | 132 + .../pip/_vendor/chardet/sbcsgroupprober.py | 73 + .../pip/_vendor/chardet/sjisprober.py | 92 + .../pip/_vendor/chardet/universaldetector.py | 286 + .../pip/_vendor/chardet/utf8prober.py | 82 + .../pip/_vendor/chardet/version.py | 9 + .../pip/_vendor/colorama/__init__.py | 7 + .../pip/_vendor/colorama/ansi.py | 102 + .../pip/_vendor/colorama/ansitowin32.py | 236 + .../pip/_vendor/colorama/initialise.py | 82 + .../pip/_vendor/colorama/win32.py | 156 + .../pip/_vendor/colorama/winterm.py | 162 + .../pip/_vendor/distlib/__init__.py | 23 + .../pip/_vendor/distlib/_backport/__init__.py | 6 + .../pip/_vendor/distlib/_backport/misc.py | 41 + .../pip/_vendor/distlib/_backport/shutil.py | 761 ++ .../_vendor/distlib/_backport/sysconfig.cfg | 84 + .../_vendor/distlib/_backport/sysconfig.py | 788 ++ .../pip/_vendor/distlib/_backport/tarfile.py | 2607 ++++ .../pip/_vendor/distlib/compat.py | 1120 ++ .../pip/_vendor/distlib/database.py | 1336 ++ .../pip/_vendor/distlib/index.py | 516 + .../pip/_vendor/distlib/locators.py | 1292 ++ .../pip/_vendor/distlib/manifest.py | 393 + .../pip/_vendor/distlib/markers.py | 131 + .../pip/_vendor/distlib/metadata.py | 1091 ++ .../pip/_vendor/distlib/resources.py | 355 + .../pip/_vendor/distlib/scripts.py | 415 + .../pip/_vendor/distlib/t32.exe | Bin 0 -> 92672 bytes .../pip/_vendor/distlib/t64.exe | Bin 0 -> 102400 bytes .../pip/_vendor/distlib/util.py | 1755 +++ .../pip/_vendor/distlib/version.py | 736 ++ .../pip/_vendor/distlib/w32.exe | Bin 0 -> 89088 bytes .../pip/_vendor/distlib/w64.exe | Bin 0 -> 99328 bytes .../pip/_vendor/distlib/wheel.py | 984 ++ .../pip/_vendor/distro.py | 1104 ++ .../pip/_vendor/html5lib/__init__.py | 35 + .../pip/_vendor/html5lib/_ihatexml.py | 288 + .../pip/_vendor/html5lib/_inputstream.py | 923 ++ .../pip/_vendor/html5lib/_tokenizer.py | 1721 +++ .../pip/_vendor/html5lib/_trie/__init__.py | 14 + .../pip/_vendor/html5lib/_trie/_base.py | 37 + .../pip/_vendor/html5lib/_trie/datrie.py | 44 + .../pip/_vendor/html5lib/_trie/py.py | 67 + .../pip/_vendor/html5lib/_utils.py | 124 + .../pip/_vendor/html5lib/constants.py | 2947 +++++ .../pip/_vendor/html5lib/filters/__init__.py | 0 .../filters/alphabeticalattributes.py | 29 + .../pip/_vendor/html5lib/filters/base.py | 12 + .../html5lib/filters/inject_meta_charset.py | 73 + .../pip/_vendor/html5lib/filters/lint.py | 93 + .../_vendor/html5lib/filters/optionaltags.py | 207 + .../pip/_vendor/html5lib/filters/sanitizer.py | 896 ++ .../_vendor/html5lib/filters/whitespace.py | 38 + .../pip/_vendor/html5lib/html5parser.py | 2791 +++++ .../pip/_vendor/html5lib/serializer.py | 409 + .../_vendor/html5lib/treeadapters/__init__.py | 30 + .../_vendor/html5lib/treeadapters/genshi.py | 54 + .../pip/_vendor/html5lib/treeadapters/sax.py | 50 + .../_vendor/html5lib/treebuilders/__init__.py | 88 + .../pip/_vendor/html5lib/treebuilders/base.py | 417 + .../pip/_vendor/html5lib/treebuilders/dom.py | 236 + .../_vendor/html5lib/treebuilders/etree.py | 340 + .../html5lib/treebuilders/etree_lxml.py | 366 + .../_vendor/html5lib/treewalkers/__init__.py | 154 + .../pip/_vendor/html5lib/treewalkers/base.py | 252 + .../pip/_vendor/html5lib/treewalkers/dom.py | 43 + .../pip/_vendor/html5lib/treewalkers/etree.py | 130 + .../html5lib/treewalkers/etree_lxml.py | 213 + .../_vendor/html5lib/treewalkers/genshi.py | 69 + .../pip/_vendor/idna/__init__.py | 2 + .../pip/_vendor/idna/codec.py | 118 + .../pip/_vendor/idna/compat.py | 12 + .../pip/_vendor/idna/core.py | 387 + .../pip/_vendor/idna/idnadata.py | 1585 +++ .../pip/_vendor/idna/intranges.py | 53 + .../pip/_vendor/idna/package_data.py | 2 + .../pip/_vendor/idna/uts46data.py | 7634 ++++++++++++ .../pip/_vendor/ipaddress.py | 2419 ++++ .../pip/_vendor/lockfile/__init__.py | 347 + .../pip/_vendor/lockfile/linklockfile.py | 73 + .../pip/_vendor/lockfile/mkdirlockfile.py | 84 + .../pip/_vendor/lockfile/pidlockfile.py | 190 + .../pip/_vendor/lockfile/sqlitelockfile.py | 156 + .../pip/_vendor/lockfile/symlinklockfile.py | 70 + .../pip/_vendor/msgpack/__init__.py | 66 + .../pip/_vendor/msgpack/_version.py | 1 + .../pip/_vendor/msgpack/exceptions.py | 41 + .../pip/_vendor/msgpack/fallback.py | 977 ++ .../pip/_vendor/packaging/__about__.py | 21 + .../pip/_vendor/packaging/__init__.py | 14 + .../pip/_vendor/packaging/_compat.py | 30 + .../pip/_vendor/packaging/_structures.py | 70 + .../pip/_vendor/packaging/markers.py | 301 + .../pip/_vendor/packaging/requirements.py | 130 + .../pip/_vendor/packaging/specifiers.py | 774 ++ .../pip/_vendor/packaging/utils.py | 63 + .../pip/_vendor/packaging/version.py | 441 + .../pip/_vendor/pkg_resources/__init__.py | 3125 +++++ .../pip/_vendor/pkg_resources/py31compat.py | 22 + .../pip/_vendor/progress/__init__.py | 127 + .../pip/_vendor/progress/bar.py | 88 + .../pip/_vendor/progress/counter.py | 48 + .../pip/_vendor/progress/helpers.py | 91 + .../pip/_vendor/progress/spinner.py | 44 + .../pip/_vendor/pyparsing.py | 5720 +++++++++ .../pip/_vendor/pytoml/__init__.py | 3 + .../pip/_vendor/pytoml/core.py | 13 + .../pip/_vendor/pytoml/parser.py | 374 + .../pip/_vendor/pytoml/writer.py | 127 + .../pip/_vendor/requests/__init__.py | 123 + .../pip/_vendor/requests/__version__.py | 14 + .../pip/_vendor/requests/_internal_utils.py | 42 + .../pip/_vendor/requests/adapters.py | 525 + .../pip/_vendor/requests/api.py | 152 + .../pip/_vendor/requests/auth.py | 293 + .../pip/_vendor/requests/certs.py | 18 + .../pip/_vendor/requests/compat.py | 73 + .../pip/_vendor/requests/cookies.py | 542 + .../pip/_vendor/requests/exceptions.py | 122 + .../pip/_vendor/requests/help.py | 120 + .../pip/_vendor/requests/hooks.py | 34 + .../pip/_vendor/requests/models.py | 948 ++ .../pip/_vendor/requests/packages.py | 16 + .../pip/_vendor/requests/sessions.py | 737 ++ .../pip/_vendor/requests/status_codes.py | 91 + .../pip/_vendor/requests/structures.py | 105 + .../pip/_vendor/requests/utils.py | 904 ++ .../pip/_vendor/retrying.py | 267 + .../pip-10.0.1-py3.7.egg/pip/_vendor/six.py | 891 ++ .../pip/_vendor/urllib3/__init__.py | 97 + .../pip/_vendor/urllib3/_collections.py | 319 + .../pip/_vendor/urllib3/connection.py | 373 + .../pip/_vendor/urllib3/connectionpool.py | 905 ++ .../pip/_vendor/urllib3/contrib/__init__.py | 0 .../contrib/_securetransport/__init__.py | 0 .../contrib/_securetransport/bindings.py | 593 + .../contrib/_securetransport/low_level.py | 343 + .../pip/_vendor/urllib3/contrib/appengine.py | 296 + .../pip/_vendor/urllib3/contrib/ntlmpool.py | 112 + .../pip/_vendor/urllib3/contrib/pyopenssl.py | 455 + .../urllib3/contrib/securetransport.py | 810 ++ .../pip/_vendor/urllib3/contrib/socks.py | 188 + .../pip/_vendor/urllib3/exceptions.py | 246 + .../pip/_vendor/urllib3/fields.py | 178 + .../pip/_vendor/urllib3/filepost.py | 94 + .../pip/_vendor/urllib3/packages/__init__.py | 5 + .../urllib3/packages/backports/__init__.py | 0 .../urllib3/packages/backports/makefile.py | 53 + .../_vendor/urllib3/packages/ordered_dict.py | 259 + .../pip/_vendor/urllib3/packages/six.py | 868 ++ .../packages/ssl_match_hostname/__init__.py | 19 + .../ssl_match_hostname/_implementation.py | 157 + .../pip/_vendor/urllib3/poolmanager.py | 440 + .../pip/_vendor/urllib3/request.py | 148 + .../pip/_vendor/urllib3/response.py | 626 + .../pip/_vendor/urllib3/util/__init__.py | 54 + .../pip/_vendor/urllib3/util/connection.py | 130 + .../pip/_vendor/urllib3/util/request.py | 118 + .../pip/_vendor/urllib3/util/response.py | 81 + .../pip/_vendor/urllib3/util/retry.py | 401 + .../pip/_vendor/urllib3/util/selectors.py | 581 + .../pip/_vendor/urllib3/util/ssl_.py | 341 + .../pip/_vendor/urllib3/util/timeout.py | 242 + .../pip/_vendor/urllib3/util/url.py | 230 + .../pip/_vendor/urllib3/util/wait.py | 40 + .../pip/_vendor/webencodings/__init__.py | 342 + .../pip/_vendor/webencodings/labels.py | 231 + .../pip/_vendor/webencodings/mklabels.py | 59 + .../pip/_vendor/webencodings/tests.py | 153 + .../_vendor/webencodings/x_user_defined.py | 325 + .../pytz-2019.3.dist-info/DESCRIPTION.rst | 584 + .../pytz-2019.3.dist-info/INSTALLER | 1 + .../pytz-2019.3.dist-info/LICENSE.txt | 19 + .../pytz-2019.3.dist-info/METADATA | 618 + .../pytz-2019.3.dist-info/RECORD | 620 + .../site-packages/pytz-2019.3.dist-info/WHEEL | 6 + .../pytz-2019.3.dist-info/metadata.json | 1 + .../pytz-2019.3.dist-info/top_level.txt | 1 + .../pytz-2019.3.dist-info/zip-safe | 1 + .../python3.7/site-packages/pytz/__init__.py | 1551 +++ .../pytz/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 29552 bytes .../__pycache__/exceptions.cpython-37.pyc | Bin 0 -> 1871 bytes .../pytz/__pycache__/lazy.cpython-37.pyc | Bin 0 -> 5025 bytes .../pytz/__pycache__/reference.cpython-37.pyc | Bin 0 -> 3883 bytes .../pytz/__pycache__/tzfile.cpython-37.pyc | Bin 0 -> 3124 bytes .../pytz/__pycache__/tzinfo.cpython-37.pyc | Bin 0 -> 14966 bytes .../site-packages/pytz/exceptions.py | 48 + .../lib/python3.7/site-packages/pytz/lazy.py | 172 + .../python3.7/site-packages/pytz/reference.py | 140 + .../python3.7/site-packages/pytz/tzfile.py | 134 + .../python3.7/site-packages/pytz/tzinfo.py | 577 + .../pytz/zoneinfo/Africa/Abidjan | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Accra | Bin 0 -> 816 bytes .../pytz/zoneinfo/Africa/Addis_Ababa | Bin 0 -> 251 bytes .../pytz/zoneinfo/Africa/Algiers | Bin 0 -> 735 bytes .../site-packages/pytz/zoneinfo/Africa/Asmara | Bin 0 -> 251 bytes .../site-packages/pytz/zoneinfo/Africa/Asmera | Bin 0 -> 251 bytes .../site-packages/pytz/zoneinfo/Africa/Bamako | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Bangui | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Banjul | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Bissau | Bin 0 -> 194 bytes .../pytz/zoneinfo/Africa/Blantyre | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Brazzaville | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Bujumbura | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Cairo | Bin 0 -> 1955 bytes .../pytz/zoneinfo/Africa/Casablanca | Bin 0 -> 2429 bytes .../site-packages/pytz/zoneinfo/Africa/Ceuta | Bin 0 -> 2036 bytes .../pytz/zoneinfo/Africa/Conakry | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Dakar | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Dar_es_Salaam | Bin 0 -> 251 bytes .../pytz/zoneinfo/Africa/Djibouti | Bin 0 -> 251 bytes .../site-packages/pytz/zoneinfo/Africa/Douala | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/El_Aaiun | Bin 0 -> 2295 bytes .../pytz/zoneinfo/Africa/Freetown | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Gaborone | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Harare | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Johannesburg | Bin 0 -> 246 bytes .../site-packages/pytz/zoneinfo/Africa/Juba | Bin 0 -> 653 bytes .../pytz/zoneinfo/Africa/Kampala | Bin 0 -> 251 bytes .../pytz/zoneinfo/Africa/Khartoum | Bin 0 -> 679 bytes .../site-packages/pytz/zoneinfo/Africa/Kigali | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Kinshasa | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Lagos | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Libreville | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Lome | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Luanda | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Lubumbashi | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Lusaka | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Malabo | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Maputo | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Maseru | Bin 0 -> 246 bytes .../pytz/zoneinfo/Africa/Mbabane | Bin 0 -> 246 bytes .../pytz/zoneinfo/Africa/Mogadishu | Bin 0 -> 251 bytes .../pytz/zoneinfo/Africa/Monrovia | Bin 0 -> 208 bytes .../pytz/zoneinfo/Africa/Nairobi | Bin 0 -> 251 bytes .../pytz/zoneinfo/Africa/Ndjamena | Bin 0 -> 199 bytes .../site-packages/pytz/zoneinfo/Africa/Niamey | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Nouakchott | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Ouagadougou | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Porto-Novo | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Sao_Tome | Bin 0 -> 254 bytes .../pytz/zoneinfo/Africa/Timbuktu | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Tripoli | Bin 0 -> 625 bytes .../site-packages/pytz/zoneinfo/Africa/Tunis | Bin 0 -> 689 bytes .../pytz/zoneinfo/Africa/Windhoek | Bin 0 -> 955 bytes .../site-packages/pytz/zoneinfo/America/Adak | Bin 0 -> 2356 bytes .../pytz/zoneinfo/America/Anchorage | Bin 0 -> 2371 bytes .../pytz/zoneinfo/America/Anguilla | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Antigua | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Araguaina | Bin 0 -> 884 bytes .../zoneinfo/America/Argentina/Buenos_Aires | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Argentina/Catamarca | Bin 0 -> 1076 bytes .../zoneinfo/America/Argentina/ComodRivadavia | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Argentina/Cordoba | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Argentina/Jujuy | Bin 0 -> 1048 bytes .../pytz/zoneinfo/America/Argentina/La_Rioja | Bin 0 -> 1090 bytes .../pytz/zoneinfo/America/Argentina/Mendoza | Bin 0 -> 1076 bytes .../zoneinfo/America/Argentina/Rio_Gallegos | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Argentina/Salta | Bin 0 -> 1048 bytes .../pytz/zoneinfo/America/Argentina/San_Juan | Bin 0 -> 1090 bytes .../pytz/zoneinfo/America/Argentina/San_Luis | Bin 0 -> 1102 bytes .../pytz/zoneinfo/America/Argentina/Tucuman | Bin 0 -> 1104 bytes .../pytz/zoneinfo/America/Argentina/Ushuaia | Bin 0 -> 1076 bytes .../site-packages/pytz/zoneinfo/America/Aruba | Bin 0 -> 186 bytes .../pytz/zoneinfo/America/Asuncion | Bin 0 -> 2044 bytes .../pytz/zoneinfo/America/Atikokan | Bin 0 -> 336 bytes .../site-packages/pytz/zoneinfo/America/Atka | Bin 0 -> 2356 bytes .../site-packages/pytz/zoneinfo/America/Bahia | Bin 0 -> 1024 bytes .../pytz/zoneinfo/America/Bahia_Banderas | Bin 0 -> 1546 bytes .../pytz/zoneinfo/America/Barbados | Bin 0 -> 314 bytes .../site-packages/pytz/zoneinfo/America/Belem | Bin 0 -> 576 bytes .../pytz/zoneinfo/America/Belize | Bin 0 -> 948 bytes .../pytz/zoneinfo/America/Blanc-Sablon | Bin 0 -> 298 bytes .../pytz/zoneinfo/America/Boa_Vista | Bin 0 -> 632 bytes .../pytz/zoneinfo/America/Bogota | Bin 0 -> 246 bytes .../site-packages/pytz/zoneinfo/America/Boise | Bin 0 -> 2394 bytes .../pytz/zoneinfo/America/Buenos_Aires | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Cambridge_Bay | Bin 0 -> 2084 bytes .../pytz/zoneinfo/America/Campo_Grande | Bin 0 -> 1444 bytes .../pytz/zoneinfo/America/Cancun | Bin 0 -> 782 bytes .../pytz/zoneinfo/America/Caracas | Bin 0 -> 264 bytes .../pytz/zoneinfo/America/Catamarca | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Cayenne | Bin 0 -> 198 bytes .../pytz/zoneinfo/America/Cayman | Bin 0 -> 182 bytes .../pytz/zoneinfo/America/Chicago | Bin 0 -> 3576 bytes .../pytz/zoneinfo/America/Chihuahua | Bin 0 -> 1484 bytes .../pytz/zoneinfo/America/Coral_Harbour | Bin 0 -> 336 bytes .../pytz/zoneinfo/America/Cordoba | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Costa_Rica | Bin 0 -> 316 bytes .../pytz/zoneinfo/America/Creston | Bin 0 -> 208 bytes .../pytz/zoneinfo/America/Cuiaba | Bin 0 -> 1416 bytes .../pytz/zoneinfo/America/Curacao | Bin 0 -> 186 bytes .../pytz/zoneinfo/America/Danmarkshavn | Bin 0 -> 698 bytes .../pytz/zoneinfo/America/Dawson | Bin 0 -> 2084 bytes .../pytz/zoneinfo/America/Dawson_Creek | Bin 0 -> 1050 bytes .../pytz/zoneinfo/America/Denver | Bin 0 -> 2444 bytes .../pytz/zoneinfo/America/Detroit | Bin 0 -> 2230 bytes .../pytz/zoneinfo/America/Dominica | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Edmonton | Bin 0 -> 2332 bytes .../pytz/zoneinfo/America/Eirunepe | Bin 0 -> 656 bytes .../pytz/zoneinfo/America/El_Salvador | Bin 0 -> 224 bytes .../pytz/zoneinfo/America/Ensenada | Bin 0 -> 2342 bytes .../pytz/zoneinfo/America/Fort_Nelson | Bin 0 -> 2240 bytes .../pytz/zoneinfo/America/Fort_Wayne | Bin 0 -> 1666 bytes .../pytz/zoneinfo/America/Fortaleza | Bin 0 -> 716 bytes .../pytz/zoneinfo/America/Glace_Bay | Bin 0 -> 2192 bytes .../pytz/zoneinfo/America/Godthab | Bin 0 -> 1878 bytes .../pytz/zoneinfo/America/Goose_Bay | Bin 0 -> 3210 bytes .../pytz/zoneinfo/America/Grand_Turk | Bin 0 -> 1848 bytes .../pytz/zoneinfo/America/Grenada | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Guadeloupe | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Guatemala | Bin 0 -> 280 bytes .../pytz/zoneinfo/America/Guayaquil | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Guyana | Bin 0 -> 236 bytes .../pytz/zoneinfo/America/Halifax | Bin 0 -> 3424 bytes .../pytz/zoneinfo/America/Havana | Bin 0 -> 2416 bytes .../pytz/zoneinfo/America/Hermosillo | Bin 0 -> 416 bytes .../zoneinfo/America/Indiana/Indianapolis | Bin 0 -> 1666 bytes .../pytz/zoneinfo/America/Indiana/Knox | Bin 0 -> 2428 bytes .../pytz/zoneinfo/America/Indiana/Marengo | Bin 0 -> 1722 bytes .../pytz/zoneinfo/America/Indiana/Petersburg | Bin 0 -> 1904 bytes .../pytz/zoneinfo/America/Indiana/Tell_City | Bin 0 -> 1684 bytes .../pytz/zoneinfo/America/Indiana/Vevay | Bin 0 -> 1414 bytes .../pytz/zoneinfo/America/Indiana/Vincennes | Bin 0 -> 1694 bytes .../pytz/zoneinfo/America/Indiana/Winamac | Bin 0 -> 1778 bytes .../pytz/zoneinfo/America/Indianapolis | Bin 0 -> 1666 bytes .../pytz/zoneinfo/America/Inuvik | Bin 0 -> 1894 bytes .../pytz/zoneinfo/America/Iqaluit | Bin 0 -> 2032 bytes .../pytz/zoneinfo/America/Jamaica | Bin 0 -> 482 bytes .../site-packages/pytz/zoneinfo/America/Jujuy | Bin 0 -> 1048 bytes .../pytz/zoneinfo/America/Juneau | Bin 0 -> 2353 bytes .../pytz/zoneinfo/America/Kentucky/Louisville | Bin 0 -> 2772 bytes .../pytz/zoneinfo/America/Kentucky/Monticello | Bin 0 -> 2352 bytes .../pytz/zoneinfo/America/Knox_IN | Bin 0 -> 2428 bytes .../pytz/zoneinfo/America/Kralendijk | Bin 0 -> 186 bytes .../pytz/zoneinfo/America/La_Paz | Bin 0 -> 232 bytes .../site-packages/pytz/zoneinfo/America/Lima | Bin 0 -> 406 bytes .../pytz/zoneinfo/America/Los_Angeles | Bin 0 -> 2836 bytes .../pytz/zoneinfo/America/Louisville | Bin 0 -> 2772 bytes .../pytz/zoneinfo/America/Lower_Princes | Bin 0 -> 186 bytes .../pytz/zoneinfo/America/Maceio | Bin 0 -> 744 bytes .../pytz/zoneinfo/America/Managua | Bin 0 -> 430 bytes .../pytz/zoneinfo/America/Manaus | Bin 0 -> 604 bytes .../pytz/zoneinfo/America/Marigot | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Martinique | Bin 0 -> 232 bytes .../pytz/zoneinfo/America/Matamoros | Bin 0 -> 1390 bytes .../pytz/zoneinfo/America/Mazatlan | Bin 0 -> 1526 bytes .../pytz/zoneinfo/America/Mendoza | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Menominee | Bin 0 -> 2274 bytes .../pytz/zoneinfo/America/Merida | Bin 0 -> 1422 bytes .../pytz/zoneinfo/America/Metlakatla | Bin 0 -> 1423 bytes .../pytz/zoneinfo/America/Mexico_City | Bin 0 -> 1584 bytes .../pytz/zoneinfo/America/Miquelon | Bin 0 -> 1666 bytes .../pytz/zoneinfo/America/Moncton | Bin 0 -> 3154 bytes .../pytz/zoneinfo/America/Monterrey | Bin 0 -> 1390 bytes .../pytz/zoneinfo/America/Montevideo | Bin 0 -> 1510 bytes .../pytz/zoneinfo/America/Montreal | Bin 0 -> 3494 bytes .../pytz/zoneinfo/America/Montserrat | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Nassau | Bin 0 -> 2258 bytes .../pytz/zoneinfo/America/New_York | Bin 0 -> 3536 bytes .../pytz/zoneinfo/America/Nipigon | Bin 0 -> 2122 bytes .../site-packages/pytz/zoneinfo/America/Nome | Bin 0 -> 2367 bytes .../pytz/zoneinfo/America/Noronha | Bin 0 -> 716 bytes .../pytz/zoneinfo/America/North_Dakota/Beulah | Bin 0 -> 2380 bytes .../pytz/zoneinfo/America/North_Dakota/Center | Bin 0 -> 2380 bytes .../zoneinfo/America/North_Dakota/New_Salem | Bin 0 -> 2380 bytes .../pytz/zoneinfo/America/Ojinaga | Bin 0 -> 1484 bytes .../pytz/zoneinfo/America/Panama | Bin 0 -> 182 bytes .../pytz/zoneinfo/America/Pangnirtung | Bin 0 -> 2094 bytes .../pytz/zoneinfo/America/Paramaribo | Bin 0 -> 262 bytes .../pytz/zoneinfo/America/Phoenix | Bin 0 -> 328 bytes .../pytz/zoneinfo/America/Port-au-Prince | Bin 0 -> 1434 bytes .../pytz/zoneinfo/America/Port_of_Spain | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Porto_Acre | Bin 0 -> 628 bytes .../pytz/zoneinfo/America/Porto_Velho | Bin 0 -> 576 bytes .../pytz/zoneinfo/America/Puerto_Rico | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Punta_Arenas | Bin 0 -> 1902 bytes .../pytz/zoneinfo/America/Rainy_River | Bin 0 -> 2122 bytes .../pytz/zoneinfo/America/Rankin_Inlet | Bin 0 -> 1892 bytes .../pytz/zoneinfo/America/Recife | Bin 0 -> 716 bytes .../pytz/zoneinfo/America/Regina | Bin 0 -> 980 bytes .../pytz/zoneinfo/America/Resolute | Bin 0 -> 1892 bytes .../pytz/zoneinfo/America/Rio_Branco | Bin 0 -> 628 bytes .../pytz/zoneinfo/America/Rosario | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Santa_Isabel | Bin 0 -> 2342 bytes .../pytz/zoneinfo/America/Santarem | Bin 0 -> 602 bytes .../pytz/zoneinfo/America/Santiago | Bin 0 -> 2529 bytes .../pytz/zoneinfo/America/Santo_Domingo | Bin 0 -> 458 bytes .../pytz/zoneinfo/America/Sao_Paulo | Bin 0 -> 1444 bytes .../pytz/zoneinfo/America/Scoresbysund | Bin 0 -> 1916 bytes .../pytz/zoneinfo/America/Shiprock | Bin 0 -> 2444 bytes .../site-packages/pytz/zoneinfo/America/Sitka | Bin 0 -> 2329 bytes .../pytz/zoneinfo/America/St_Barthelemy | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/St_Johns | Bin 0 -> 3655 bytes .../pytz/zoneinfo/America/St_Kitts | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/St_Lucia | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/St_Thomas | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/St_Vincent | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Swift_Current | Bin 0 -> 560 bytes .../pytz/zoneinfo/America/Tegucigalpa | Bin 0 -> 252 bytes .../site-packages/pytz/zoneinfo/America/Thule | Bin 0 -> 1502 bytes .../pytz/zoneinfo/America/Thunder_Bay | Bin 0 -> 2202 bytes .../pytz/zoneinfo/America/Tijuana | Bin 0 -> 2342 bytes .../pytz/zoneinfo/America/Toronto | Bin 0 -> 3494 bytes .../pytz/zoneinfo/America/Tortola | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Vancouver | Bin 0 -> 2892 bytes .../pytz/zoneinfo/America/Virgin | Bin 0 -> 148 bytes .../pytz/zoneinfo/America/Whitehorse | Bin 0 -> 2084 bytes .../pytz/zoneinfo/America/Winnipeg | Bin 0 -> 2868 bytes .../pytz/zoneinfo/America/Yakutat | Bin 0 -> 2305 bytes .../pytz/zoneinfo/America/Yellowknife | Bin 0 -> 1966 bytes .../pytz/zoneinfo/Antarctica/Casey | Bin 0 -> 297 bytes .../pytz/zoneinfo/Antarctica/Davis | Bin 0 -> 297 bytes .../pytz/zoneinfo/Antarctica/DumontDUrville | Bin 0 -> 194 bytes .../pytz/zoneinfo/Antarctica/Macquarie | Bin 0 -> 1520 bytes .../pytz/zoneinfo/Antarctica/Mawson | Bin 0 -> 199 bytes .../pytz/zoneinfo/Antarctica/McMurdo | Bin 0 -> 2437 bytes .../pytz/zoneinfo/Antarctica/Palmer | Bin 0 -> 1418 bytes .../pytz/zoneinfo/Antarctica/Rothera | Bin 0 -> 164 bytes .../pytz/zoneinfo/Antarctica/South_Pole | Bin 0 -> 2437 bytes .../pytz/zoneinfo/Antarctica/Syowa | Bin 0 -> 165 bytes .../pytz/zoneinfo/Antarctica/Troll | Bin 0 -> 1162 bytes .../pytz/zoneinfo/Antarctica/Vostok | Bin 0 -> 165 bytes .../pytz/zoneinfo/Arctic/Longyearbyen | Bin 0 -> 2228 bytes .../site-packages/pytz/zoneinfo/Asia/Aden | Bin 0 -> 165 bytes .../site-packages/pytz/zoneinfo/Asia/Almaty | Bin 0 -> 997 bytes .../site-packages/pytz/zoneinfo/Asia/Amman | Bin 0 -> 1853 bytes .../site-packages/pytz/zoneinfo/Asia/Anadyr | Bin 0 -> 1188 bytes .../site-packages/pytz/zoneinfo/Asia/Aqtau | Bin 0 -> 983 bytes .../site-packages/pytz/zoneinfo/Asia/Aqtobe | Bin 0 -> 1011 bytes .../site-packages/pytz/zoneinfo/Asia/Ashgabat | Bin 0 -> 619 bytes .../pytz/zoneinfo/Asia/Ashkhabad | Bin 0 -> 619 bytes .../site-packages/pytz/zoneinfo/Asia/Atyrau | Bin 0 -> 991 bytes .../site-packages/pytz/zoneinfo/Asia/Baghdad | Bin 0 -> 983 bytes .../site-packages/pytz/zoneinfo/Asia/Bahrain | Bin 0 -> 199 bytes .../site-packages/pytz/zoneinfo/Asia/Baku | Bin 0 -> 1227 bytes .../site-packages/pytz/zoneinfo/Asia/Bangkok | Bin 0 -> 199 bytes .../site-packages/pytz/zoneinfo/Asia/Barnaul | Bin 0 -> 1221 bytes .../site-packages/pytz/zoneinfo/Asia/Beirut | Bin 0 -> 2154 bytes .../site-packages/pytz/zoneinfo/Asia/Bishkek | Bin 0 -> 983 bytes .../site-packages/pytz/zoneinfo/Asia/Brunei | Bin 0 -> 203 bytes .../site-packages/pytz/zoneinfo/Asia/Calcutta | Bin 0 -> 285 bytes .../site-packages/pytz/zoneinfo/Asia/Chita | Bin 0 -> 1221 bytes .../pytz/zoneinfo/Asia/Choibalsan | Bin 0 -> 949 bytes .../pytz/zoneinfo/Asia/Chongqing | Bin 0 -> 533 bytes .../pytz/zoneinfo/Asia/Chungking | Bin 0 -> 533 bytes .../site-packages/pytz/zoneinfo/Asia/Colombo | Bin 0 -> 372 bytes .../site-packages/pytz/zoneinfo/Asia/Dacca | Bin 0 -> 337 bytes .../site-packages/pytz/zoneinfo/Asia/Damascus | Bin 0 -> 2294 bytes .../site-packages/pytz/zoneinfo/Asia/Dhaka | Bin 0 -> 337 bytes .../site-packages/pytz/zoneinfo/Asia/Dili | Bin 0 -> 227 bytes .../site-packages/pytz/zoneinfo/Asia/Dubai | Bin 0 -> 165 bytes .../site-packages/pytz/zoneinfo/Asia/Dushanbe | Bin 0 -> 591 bytes .../pytz/zoneinfo/Asia/Famagusta | Bin 0 -> 2028 bytes .../site-packages/pytz/zoneinfo/Asia/Gaza | Bin 0 -> 2316 bytes .../site-packages/pytz/zoneinfo/Asia/Harbin | Bin 0 -> 533 bytes .../site-packages/pytz/zoneinfo/Asia/Hebron | Bin 0 -> 2344 bytes .../pytz/zoneinfo/Asia/Ho_Chi_Minh | Bin 0 -> 351 bytes .../pytz/zoneinfo/Asia/Hong_Kong | Bin 0 -> 1203 bytes .../site-packages/pytz/zoneinfo/Asia/Hovd | Bin 0 -> 891 bytes .../site-packages/pytz/zoneinfo/Asia/Irkutsk | Bin 0 -> 1243 bytes .../site-packages/pytz/zoneinfo/Asia/Istanbul | Bin 0 -> 1947 bytes .../site-packages/pytz/zoneinfo/Asia/Jakarta | Bin 0 -> 355 bytes .../site-packages/pytz/zoneinfo/Asia/Jayapura | Bin 0 -> 221 bytes .../pytz/zoneinfo/Asia/Jerusalem | Bin 0 -> 2288 bytes .../site-packages/pytz/zoneinfo/Asia/Kabul | Bin 0 -> 208 bytes .../pytz/zoneinfo/Asia/Kamchatka | Bin 0 -> 1166 bytes .../site-packages/pytz/zoneinfo/Asia/Karachi | Bin 0 -> 379 bytes .../site-packages/pytz/zoneinfo/Asia/Kashgar | Bin 0 -> 165 bytes .../pytz/zoneinfo/Asia/Kathmandu | Bin 0 -> 212 bytes .../site-packages/pytz/zoneinfo/Asia/Katmandu | Bin 0 -> 212 bytes .../site-packages/pytz/zoneinfo/Asia/Khandyga | Bin 0 -> 1271 bytes .../site-packages/pytz/zoneinfo/Asia/Kolkata | Bin 0 -> 285 bytes .../pytz/zoneinfo/Asia/Krasnoyarsk | Bin 0 -> 1207 bytes .../pytz/zoneinfo/Asia/Kuala_Lumpur | Bin 0 -> 383 bytes .../site-packages/pytz/zoneinfo/Asia/Kuching | Bin 0 -> 483 bytes .../site-packages/pytz/zoneinfo/Asia/Kuwait | Bin 0 -> 165 bytes .../site-packages/pytz/zoneinfo/Asia/Macao | Bin 0 -> 1227 bytes .../site-packages/pytz/zoneinfo/Asia/Macau | Bin 0 -> 1227 bytes .../site-packages/pytz/zoneinfo/Asia/Magadan | Bin 0 -> 1222 bytes .../site-packages/pytz/zoneinfo/Asia/Makassar | Bin 0 -> 254 bytes .../site-packages/pytz/zoneinfo/Asia/Manila | Bin 0 -> 328 bytes .../site-packages/pytz/zoneinfo/Asia/Muscat | Bin 0 -> 165 bytes .../site-packages/pytz/zoneinfo/Asia/Nicosia | Bin 0 -> 2002 bytes .../pytz/zoneinfo/Asia/Novokuznetsk | Bin 0 -> 1165 bytes .../pytz/zoneinfo/Asia/Novosibirsk | Bin 0 -> 1221 bytes .../site-packages/pytz/zoneinfo/Asia/Omsk | Bin 0 -> 1207 bytes .../site-packages/pytz/zoneinfo/Asia/Oral | Bin 0 -> 1005 bytes .../pytz/zoneinfo/Asia/Phnom_Penh | Bin 0 -> 199 bytes .../pytz/zoneinfo/Asia/Pontianak | Bin 0 -> 353 bytes .../pytz/zoneinfo/Asia/Pyongyang | Bin 0 -> 237 bytes .../site-packages/pytz/zoneinfo/Asia/Qatar | Bin 0 -> 199 bytes .../site-packages/pytz/zoneinfo/Asia/Qostanay | Bin 0 -> 1011 bytes .../pytz/zoneinfo/Asia/Qyzylorda | Bin 0 -> 1025 bytes .../site-packages/pytz/zoneinfo/Asia/Rangoon | Bin 0 -> 268 bytes .../site-packages/pytz/zoneinfo/Asia/Riyadh | Bin 0 -> 165 bytes .../site-packages/pytz/zoneinfo/Asia/Saigon | Bin 0 -> 351 bytes .../site-packages/pytz/zoneinfo/Asia/Sakhalin | Bin 0 -> 1202 bytes .../pytz/zoneinfo/Asia/Samarkand | Bin 0 -> 577 bytes .../site-packages/pytz/zoneinfo/Asia/Seoul | Bin 0 -> 617 bytes .../site-packages/pytz/zoneinfo/Asia/Shanghai | Bin 0 -> 533 bytes .../pytz/zoneinfo/Asia/Singapore | Bin 0 -> 383 bytes .../pytz/zoneinfo/Asia/Srednekolymsk | Bin 0 -> 1208 bytes .../site-packages/pytz/zoneinfo/Asia/Taipei | Bin 0 -> 761 bytes .../site-packages/pytz/zoneinfo/Asia/Tashkent | Bin 0 -> 591 bytes .../site-packages/pytz/zoneinfo/Asia/Tbilisi | Bin 0 -> 1035 bytes .../site-packages/pytz/zoneinfo/Asia/Tehran | Bin 0 -> 2582 bytes .../site-packages/pytz/zoneinfo/Asia/Tel_Aviv | Bin 0 -> 2288 bytes .../site-packages/pytz/zoneinfo/Asia/Thimbu | Bin 0 -> 203 bytes .../site-packages/pytz/zoneinfo/Asia/Thimphu | Bin 0 -> 203 bytes .../site-packages/pytz/zoneinfo/Asia/Tokyo | Bin 0 -> 309 bytes .../site-packages/pytz/zoneinfo/Asia/Tomsk | Bin 0 -> 1221 bytes .../pytz/zoneinfo/Asia/Ujung_Pandang | Bin 0 -> 254 bytes .../pytz/zoneinfo/Asia/Ulaanbaatar | Bin 0 -> 891 bytes .../pytz/zoneinfo/Asia/Ulan_Bator | Bin 0 -> 891 bytes .../site-packages/pytz/zoneinfo/Asia/Urumqi | Bin 0 -> 165 bytes .../site-packages/pytz/zoneinfo/Asia/Ust-Nera | Bin 0 -> 1252 bytes .../pytz/zoneinfo/Asia/Vientiane | Bin 0 -> 199 bytes .../pytz/zoneinfo/Asia/Vladivostok | Bin 0 -> 1208 bytes .../site-packages/pytz/zoneinfo/Asia/Yakutsk | Bin 0 -> 1207 bytes .../site-packages/pytz/zoneinfo/Asia/Yangon | Bin 0 -> 268 bytes .../pytz/zoneinfo/Asia/Yekaterinburg | Bin 0 -> 1243 bytes .../site-packages/pytz/zoneinfo/Asia/Yerevan | Bin 0 -> 1151 bytes .../pytz/zoneinfo/Atlantic/Azores | Bin 0 -> 3484 bytes .../pytz/zoneinfo/Atlantic/Bermuda | Bin 0 -> 1978 bytes .../pytz/zoneinfo/Atlantic/Canary | Bin 0 -> 1897 bytes .../pytz/zoneinfo/Atlantic/Cape_Verde | Bin 0 -> 270 bytes .../pytz/zoneinfo/Atlantic/Faeroe | Bin 0 -> 1815 bytes .../pytz/zoneinfo/Atlantic/Faroe | Bin 0 -> 1815 bytes .../pytz/zoneinfo/Atlantic/Jan_Mayen | Bin 0 -> 2228 bytes .../pytz/zoneinfo/Atlantic/Madeira | Bin 0 -> 3475 bytes .../pytz/zoneinfo/Atlantic/Reykjavik | Bin 0 -> 1162 bytes .../pytz/zoneinfo/Atlantic/South_Georgia | Bin 0 -> 164 bytes .../pytz/zoneinfo/Atlantic/St_Helena | Bin 0 -> 148 bytes .../pytz/zoneinfo/Atlantic/Stanley | Bin 0 -> 1214 bytes .../site-packages/pytz/zoneinfo/Australia/ACT | Bin 0 -> 2204 bytes .../pytz/zoneinfo/Australia/Adelaide | Bin 0 -> 2222 bytes .../pytz/zoneinfo/Australia/Brisbane | Bin 0 -> 433 bytes .../pytz/zoneinfo/Australia/Broken_Hill | Bin 0 -> 2243 bytes .../pytz/zoneinfo/Australia/Canberra | Bin 0 -> 2204 bytes .../pytz/zoneinfo/Australia/Currie | Bin 0 -> 2204 bytes .../pytz/zoneinfo/Australia/Darwin | Bin 0 -> 304 bytes .../pytz/zoneinfo/Australia/Eucla | Bin 0 -> 484 bytes .../pytz/zoneinfo/Australia/Hobart | Bin 0 -> 2316 bytes .../site-packages/pytz/zoneinfo/Australia/LHI | Bin 0 -> 1860 bytes .../pytz/zoneinfo/Australia/Lindeman | Bin 0 -> 489 bytes .../pytz/zoneinfo/Australia/Lord_Howe | Bin 0 -> 1860 bytes .../pytz/zoneinfo/Australia/Melbourne | Bin 0 -> 2204 bytes .../site-packages/pytz/zoneinfo/Australia/NSW | Bin 0 -> 2204 bytes .../pytz/zoneinfo/Australia/North | Bin 0 -> 304 bytes .../pytz/zoneinfo/Australia/Perth | Bin 0 -> 460 bytes .../pytz/zoneinfo/Australia/Queensland | Bin 0 -> 433 bytes .../pytz/zoneinfo/Australia/South | Bin 0 -> 2222 bytes .../pytz/zoneinfo/Australia/Sydney | Bin 0 -> 2204 bytes .../pytz/zoneinfo/Australia/Tasmania | Bin 0 -> 2316 bytes .../pytz/zoneinfo/Australia/Victoria | Bin 0 -> 2204 bytes .../pytz/zoneinfo/Australia/West | Bin 0 -> 460 bytes .../pytz/zoneinfo/Australia/Yancowinna | Bin 0 -> 2243 bytes .../site-packages/pytz/zoneinfo/Brazil/Acre | Bin 0 -> 628 bytes .../pytz/zoneinfo/Brazil/DeNoronha | Bin 0 -> 716 bytes .../site-packages/pytz/zoneinfo/Brazil/East | Bin 0 -> 1444 bytes .../site-packages/pytz/zoneinfo/Brazil/West | Bin 0 -> 604 bytes .../python3.7/site-packages/pytz/zoneinfo/CET | Bin 0 -> 2094 bytes .../site-packages/pytz/zoneinfo/CST6CDT | Bin 0 -> 2310 bytes .../pytz/zoneinfo/Canada/Atlantic | Bin 0 -> 3424 bytes .../pytz/zoneinfo/Canada/Central | Bin 0 -> 2868 bytes .../pytz/zoneinfo/Canada/Eastern | Bin 0 -> 3494 bytes .../pytz/zoneinfo/Canada/Mountain | Bin 0 -> 2332 bytes .../pytz/zoneinfo/Canada/Newfoundland | Bin 0 -> 3655 bytes .../pytz/zoneinfo/Canada/Pacific | Bin 0 -> 2892 bytes .../pytz/zoneinfo/Canada/Saskatchewan | Bin 0 -> 980 bytes .../site-packages/pytz/zoneinfo/Canada/Yukon | Bin 0 -> 2084 bytes .../pytz/zoneinfo/Chile/Continental | Bin 0 -> 2529 bytes .../pytz/zoneinfo/Chile/EasterIsland | Bin 0 -> 2233 bytes .../site-packages/pytz/zoneinfo/Cuba | Bin 0 -> 2416 bytes .../python3.7/site-packages/pytz/zoneinfo/EET | Bin 0 -> 1908 bytes .../python3.7/site-packages/pytz/zoneinfo/EST | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/EST5EDT | Bin 0 -> 2310 bytes .../site-packages/pytz/zoneinfo/Egypt | Bin 0 -> 1955 bytes .../site-packages/pytz/zoneinfo/Eire | Bin 0 -> 3492 bytes .../site-packages/pytz/zoneinfo/Etc/GMT | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+1 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+10 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+11 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+12 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+2 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+3 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+4 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+5 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+6 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+7 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+8 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+9 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-1 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-10 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-11 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-12 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-13 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-14 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-2 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-3 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-4 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-5 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-6 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-7 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-8 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-9 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/Greenwich | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/UCT | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/UTC | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/Universal | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/Zulu | Bin 0 -> 114 bytes .../pytz/zoneinfo/Europe/Amsterdam | Bin 0 -> 2910 bytes .../pytz/zoneinfo/Europe/Andorra | Bin 0 -> 1742 bytes .../pytz/zoneinfo/Europe/Astrakhan | Bin 0 -> 1165 bytes .../site-packages/pytz/zoneinfo/Europe/Athens | Bin 0 -> 2262 bytes .../pytz/zoneinfo/Europe/Belfast | Bin 0 -> 3648 bytes .../pytz/zoneinfo/Europe/Belgrade | Bin 0 -> 1920 bytes .../site-packages/pytz/zoneinfo/Europe/Berlin | Bin 0 -> 2298 bytes .../pytz/zoneinfo/Europe/Bratislava | Bin 0 -> 2301 bytes .../pytz/zoneinfo/Europe/Brussels | Bin 0 -> 2933 bytes .../pytz/zoneinfo/Europe/Bucharest | Bin 0 -> 2184 bytes .../pytz/zoneinfo/Europe/Budapest | Bin 0 -> 2368 bytes .../pytz/zoneinfo/Europe/Busingen | Bin 0 -> 1909 bytes .../pytz/zoneinfo/Europe/Chisinau | Bin 0 -> 2390 bytes .../pytz/zoneinfo/Europe/Copenhagen | Bin 0 -> 2137 bytes .../site-packages/pytz/zoneinfo/Europe/Dublin | Bin 0 -> 3492 bytes .../pytz/zoneinfo/Europe/Gibraltar | Bin 0 -> 3052 bytes .../pytz/zoneinfo/Europe/Guernsey | Bin 0 -> 3648 bytes .../pytz/zoneinfo/Europe/Helsinki | Bin 0 -> 1900 bytes .../pytz/zoneinfo/Europe/Isle_of_Man | Bin 0 -> 3648 bytes .../pytz/zoneinfo/Europe/Istanbul | Bin 0 -> 1947 bytes .../site-packages/pytz/zoneinfo/Europe/Jersey | Bin 0 -> 3648 bytes .../pytz/zoneinfo/Europe/Kaliningrad | Bin 0 -> 1493 bytes .../site-packages/pytz/zoneinfo/Europe/Kiev | Bin 0 -> 2088 bytes .../site-packages/pytz/zoneinfo/Europe/Kirov | Bin 0 -> 1153 bytes .../site-packages/pytz/zoneinfo/Europe/Lisbon | Bin 0 -> 3469 bytes .../pytz/zoneinfo/Europe/Ljubljana | Bin 0 -> 1920 bytes .../site-packages/pytz/zoneinfo/Europe/London | Bin 0 -> 3648 bytes .../pytz/zoneinfo/Europe/Luxembourg | Bin 0 -> 2946 bytes .../site-packages/pytz/zoneinfo/Europe/Madrid | Bin 0 -> 2614 bytes .../site-packages/pytz/zoneinfo/Europe/Malta | Bin 0 -> 2620 bytes .../pytz/zoneinfo/Europe/Mariehamn | Bin 0 -> 1900 bytes .../site-packages/pytz/zoneinfo/Europe/Minsk | Bin 0 -> 1321 bytes .../site-packages/pytz/zoneinfo/Europe/Monaco | Bin 0 -> 2944 bytes .../site-packages/pytz/zoneinfo/Europe/Moscow | Bin 0 -> 1535 bytes .../pytz/zoneinfo/Europe/Nicosia | Bin 0 -> 2002 bytes .../site-packages/pytz/zoneinfo/Europe/Oslo | Bin 0 -> 2228 bytes .../site-packages/pytz/zoneinfo/Europe/Paris | Bin 0 -> 2962 bytes .../pytz/zoneinfo/Europe/Podgorica | Bin 0 -> 1920 bytes .../site-packages/pytz/zoneinfo/Europe/Prague | Bin 0 -> 2301 bytes .../site-packages/pytz/zoneinfo/Europe/Riga | Bin 0 -> 2198 bytes .../site-packages/pytz/zoneinfo/Europe/Rome | Bin 0 -> 2641 bytes .../site-packages/pytz/zoneinfo/Europe/Samara | Bin 0 -> 1215 bytes .../pytz/zoneinfo/Europe/San_Marino | Bin 0 -> 2641 bytes .../pytz/zoneinfo/Europe/Sarajevo | Bin 0 -> 1920 bytes .../pytz/zoneinfo/Europe/Saratov | Bin 0 -> 1183 bytes .../pytz/zoneinfo/Europe/Simferopol | Bin 0 -> 1453 bytes .../site-packages/pytz/zoneinfo/Europe/Skopje | Bin 0 -> 1920 bytes .../site-packages/pytz/zoneinfo/Europe/Sofia | Bin 0 -> 2077 bytes .../pytz/zoneinfo/Europe/Stockholm | Bin 0 -> 1909 bytes .../pytz/zoneinfo/Europe/Tallinn | Bin 0 -> 2148 bytes .../site-packages/pytz/zoneinfo/Europe/Tirane | Bin 0 -> 2084 bytes .../pytz/zoneinfo/Europe/Tiraspol | Bin 0 -> 2390 bytes .../pytz/zoneinfo/Europe/Ulyanovsk | Bin 0 -> 1267 bytes .../pytz/zoneinfo/Europe/Uzhgorod | Bin 0 -> 2050 bytes .../site-packages/pytz/zoneinfo/Europe/Vaduz | Bin 0 -> 1909 bytes .../pytz/zoneinfo/Europe/Vatican | Bin 0 -> 2641 bytes .../site-packages/pytz/zoneinfo/Europe/Vienna | Bin 0 -> 2200 bytes .../pytz/zoneinfo/Europe/Vilnius | Bin 0 -> 2162 bytes .../pytz/zoneinfo/Europe/Volgograd | Bin 0 -> 1165 bytes .../site-packages/pytz/zoneinfo/Europe/Warsaw | Bin 0 -> 2654 bytes .../site-packages/pytz/zoneinfo/Europe/Zagreb | Bin 0 -> 1920 bytes .../pytz/zoneinfo/Europe/Zaporozhye | Bin 0 -> 2106 bytes .../site-packages/pytz/zoneinfo/Europe/Zurich | Bin 0 -> 1909 bytes .../site-packages/pytz/zoneinfo/Factory | Bin 0 -> 116 bytes .../python3.7/site-packages/pytz/zoneinfo/GB | Bin 0 -> 3648 bytes .../site-packages/pytz/zoneinfo/GB-Eire | Bin 0 -> 3648 bytes .../python3.7/site-packages/pytz/zoneinfo/GMT | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/GMT+0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/GMT-0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/GMT0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Greenwich | Bin 0 -> 114 bytes .../python3.7/site-packages/pytz/zoneinfo/HST | Bin 0 -> 115 bytes .../site-packages/pytz/zoneinfo/Hongkong | Bin 0 -> 1203 bytes .../site-packages/pytz/zoneinfo/Iceland | Bin 0 -> 1162 bytes .../pytz/zoneinfo/Indian/Antananarivo | Bin 0 -> 251 bytes .../site-packages/pytz/zoneinfo/Indian/Chagos | Bin 0 -> 199 bytes .../pytz/zoneinfo/Indian/Christmas | Bin 0 -> 165 bytes .../site-packages/pytz/zoneinfo/Indian/Cocos | Bin 0 -> 174 bytes .../site-packages/pytz/zoneinfo/Indian/Comoro | Bin 0 -> 251 bytes .../pytz/zoneinfo/Indian/Kerguelen | Bin 0 -> 165 bytes .../site-packages/pytz/zoneinfo/Indian/Mahe | Bin 0 -> 165 bytes .../pytz/zoneinfo/Indian/Maldives | Bin 0 -> 199 bytes .../pytz/zoneinfo/Indian/Mauritius | Bin 0 -> 241 bytes .../pytz/zoneinfo/Indian/Mayotte | Bin 0 -> 251 bytes .../pytz/zoneinfo/Indian/Reunion | Bin 0 -> 165 bytes .../site-packages/pytz/zoneinfo/Iran | Bin 0 -> 2582 bytes .../site-packages/pytz/zoneinfo/Israel | Bin 0 -> 2288 bytes .../site-packages/pytz/zoneinfo/Jamaica | Bin 0 -> 482 bytes .../site-packages/pytz/zoneinfo/Japan | Bin 0 -> 309 bytes .../site-packages/pytz/zoneinfo/Kwajalein | Bin 0 -> 316 bytes .../site-packages/pytz/zoneinfo/Libya | Bin 0 -> 625 bytes .../python3.7/site-packages/pytz/zoneinfo/MET | Bin 0 -> 2094 bytes .../python3.7/site-packages/pytz/zoneinfo/MST | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/MST7MDT | Bin 0 -> 2310 bytes .../pytz/zoneinfo/Mexico/BajaNorte | Bin 0 -> 2342 bytes .../pytz/zoneinfo/Mexico/BajaSur | Bin 0 -> 1526 bytes .../pytz/zoneinfo/Mexico/General | Bin 0 -> 1584 bytes .../python3.7/site-packages/pytz/zoneinfo/NZ | Bin 0 -> 2437 bytes .../site-packages/pytz/zoneinfo/NZ-CHAT | Bin 0 -> 2068 bytes .../site-packages/pytz/zoneinfo/Navajo | Bin 0 -> 2444 bytes .../python3.7/site-packages/pytz/zoneinfo/PRC | Bin 0 -> 533 bytes .../site-packages/pytz/zoneinfo/PST8PDT | Bin 0 -> 2310 bytes .../site-packages/pytz/zoneinfo/Pacific/Apia | Bin 0 -> 1097 bytes .../pytz/zoneinfo/Pacific/Auckland | Bin 0 -> 2437 bytes .../pytz/zoneinfo/Pacific/Bougainville | Bin 0 -> 268 bytes .../pytz/zoneinfo/Pacific/Chatham | Bin 0 -> 2068 bytes .../site-packages/pytz/zoneinfo/Pacific/Chuuk | Bin 0 -> 269 bytes .../pytz/zoneinfo/Pacific/Easter | Bin 0 -> 2233 bytes .../site-packages/pytz/zoneinfo/Pacific/Efate | Bin 0 -> 466 bytes .../pytz/zoneinfo/Pacific/Enderbury | Bin 0 -> 234 bytes .../pytz/zoneinfo/Pacific/Fakaofo | Bin 0 -> 200 bytes .../site-packages/pytz/zoneinfo/Pacific/Fiji | Bin 0 -> 1077 bytes .../pytz/zoneinfo/Pacific/Funafuti | Bin 0 -> 166 bytes .../pytz/zoneinfo/Pacific/Galapagos | Bin 0 -> 238 bytes .../pytz/zoneinfo/Pacific/Gambier | Bin 0 -> 164 bytes .../pytz/zoneinfo/Pacific/Guadalcanal | Bin 0 -> 166 bytes .../site-packages/pytz/zoneinfo/Pacific/Guam | Bin 0 -> 494 bytes .../pytz/zoneinfo/Pacific/Honolulu | Bin 0 -> 329 bytes .../pytz/zoneinfo/Pacific/Johnston | Bin 0 -> 329 bytes .../pytz/zoneinfo/Pacific/Kiritimati | Bin 0 -> 238 bytes .../pytz/zoneinfo/Pacific/Kosrae | Bin 0 -> 351 bytes .../pytz/zoneinfo/Pacific/Kwajalein | Bin 0 -> 316 bytes .../pytz/zoneinfo/Pacific/Majuro | Bin 0 -> 310 bytes .../pytz/zoneinfo/Pacific/Marquesas | Bin 0 -> 173 bytes .../pytz/zoneinfo/Pacific/Midway | Bin 0 -> 175 bytes .../site-packages/pytz/zoneinfo/Pacific/Nauru | Bin 0 -> 252 bytes .../site-packages/pytz/zoneinfo/Pacific/Niue | Bin 0 -> 241 bytes .../pytz/zoneinfo/Pacific/Norfolk | Bin 0 -> 880 bytes .../pytz/zoneinfo/Pacific/Noumea | Bin 0 -> 304 bytes .../pytz/zoneinfo/Pacific/Pago_Pago | Bin 0 -> 175 bytes .../site-packages/pytz/zoneinfo/Pacific/Palau | Bin 0 -> 180 bytes .../pytz/zoneinfo/Pacific/Pitcairn | Bin 0 -> 202 bytes .../pytz/zoneinfo/Pacific/Pohnpei | Bin 0 -> 303 bytes .../pytz/zoneinfo/Pacific/Ponape | Bin 0 -> 303 bytes .../pytz/zoneinfo/Pacific/Port_Moresby | Bin 0 -> 186 bytes .../pytz/zoneinfo/Pacific/Rarotonga | Bin 0 -> 577 bytes .../pytz/zoneinfo/Pacific/Saipan | Bin 0 -> 494 bytes .../site-packages/pytz/zoneinfo/Pacific/Samoa | Bin 0 -> 175 bytes .../pytz/zoneinfo/Pacific/Tahiti | Bin 0 -> 165 bytes .../pytz/zoneinfo/Pacific/Tarawa | Bin 0 -> 166 bytes .../pytz/zoneinfo/Pacific/Tongatapu | Bin 0 -> 372 bytes .../site-packages/pytz/zoneinfo/Pacific/Truk | Bin 0 -> 269 bytes .../site-packages/pytz/zoneinfo/Pacific/Wake | Bin 0 -> 166 bytes .../pytz/zoneinfo/Pacific/Wallis | Bin 0 -> 166 bytes .../site-packages/pytz/zoneinfo/Pacific/Yap | Bin 0 -> 269 bytes .../site-packages/pytz/zoneinfo/Poland | Bin 0 -> 2654 bytes .../site-packages/pytz/zoneinfo/Portugal | Bin 0 -> 3469 bytes .../python3.7/site-packages/pytz/zoneinfo/ROC | Bin 0 -> 761 bytes .../python3.7/site-packages/pytz/zoneinfo/ROK | Bin 0 -> 617 bytes .../site-packages/pytz/zoneinfo/Singapore | Bin 0 -> 383 bytes .../site-packages/pytz/zoneinfo/Turkey | Bin 0 -> 1947 bytes .../python3.7/site-packages/pytz/zoneinfo/UCT | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/US/Alaska | Bin 0 -> 2371 bytes .../site-packages/pytz/zoneinfo/US/Aleutian | Bin 0 -> 2356 bytes .../site-packages/pytz/zoneinfo/US/Arizona | Bin 0 -> 328 bytes .../site-packages/pytz/zoneinfo/US/Central | Bin 0 -> 3576 bytes .../pytz/zoneinfo/US/East-Indiana | Bin 0 -> 1666 bytes .../site-packages/pytz/zoneinfo/US/Eastern | Bin 0 -> 3536 bytes .../site-packages/pytz/zoneinfo/US/Hawaii | Bin 0 -> 329 bytes .../pytz/zoneinfo/US/Indiana-Starke | Bin 0 -> 2428 bytes .../site-packages/pytz/zoneinfo/US/Michigan | Bin 0 -> 2230 bytes .../site-packages/pytz/zoneinfo/US/Mountain | Bin 0 -> 2444 bytes .../site-packages/pytz/zoneinfo/US/Pacific | Bin 0 -> 2836 bytes .../site-packages/pytz/zoneinfo/US/Samoa | Bin 0 -> 175 bytes .../python3.7/site-packages/pytz/zoneinfo/UTC | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Universal | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/W-SU | Bin 0 -> 1535 bytes .../python3.7/site-packages/pytz/zoneinfo/WET | Bin 0 -> 1905 bytes .../site-packages/pytz/zoneinfo/Zulu | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/iso3166.tab | 274 + .../site-packages/pytz/zoneinfo/leapseconds | 72 + .../site-packages/pytz/zoneinfo/posixrules | Bin 0 -> 3536 bytes .../site-packages/pytz/zoneinfo/tzdata.zi | 4405 +++++++ .../site-packages/pytz/zoneinfo/zone.tab | 452 + .../site-packages/pytz/zoneinfo/zone1970.tab | 384 + .../site-packages/setuptools-39.1.0-py3.7.egg | Bin 0 -> 563197 bytes .../python3.7/site-packages/setuptools.pth | 1 + .../sqlparse-0.3.0.dist-info/INSTALLER | 1 + .../sqlparse-0.3.0.dist-info/LICENSE | 25 + .../sqlparse-0.3.0.dist-info/METADATA | 76 + .../sqlparse-0.3.0.dist-info/RECORD | 52 + .../sqlparse-0.3.0.dist-info/WHEEL | 6 + .../sqlparse-0.3.0.dist-info/entry_points.txt | 3 + .../sqlparse-0.3.0.dist-info/top_level.txt | 1 + .../site-packages/sqlparse/__init__.py | 72 + .../site-packages/sqlparse/__main__.py | 23 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 2440 bytes .../__pycache__/__main__.cpython-37.pyc | Bin 0 -> 589 bytes .../sqlparse/__pycache__/cli.cpython-37.pyc | Bin 0 -> 4759 bytes .../__pycache__/compat.cpython-37.pyc | Bin 0 -> 1127 bytes .../__pycache__/exceptions.cpython-37.pyc | Bin 0 -> 458 bytes .../__pycache__/formatter.cpython-37.pyc | Bin 0 -> 4156 bytes .../__pycache__/keywords.cpython-37.pyc | Bin 0 -> 13124 bytes .../sqlparse/__pycache__/lexer.cpython-37.pyc | Bin 0 -> 2089 bytes .../sqlparse/__pycache__/sql.cpython-37.pyc | Bin 0 -> 21245 bytes .../__pycache__/tokens.cpython-37.pyc | Bin 0 -> 1274 bytes .../sqlparse/__pycache__/utils.cpython-37.pyc | Bin 0 -> 3479 bytes .../python3.7/site-packages/sqlparse/cli.py | 202 + .../site-packages/sqlparse/compat.py | 45 + .../site-packages/sqlparse/engine/__init__.py | 17 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 426 bytes .../__pycache__/filter_stack.cpython-37.pyc | Bin 0 -> 1255 bytes .../__pycache__/grouping.cpython-37.pyc | Bin 0 -> 12101 bytes .../statement_splitter.cpython-37.pyc | Bin 0 -> 1992 bytes .../sqlparse/engine/filter_stack.py | 45 + .../site-packages/sqlparse/engine/grouping.py | 405 + .../sqlparse/engine/statement_splitter.py | 106 + .../site-packages/sqlparse/exceptions.py | 13 + .../sqlparse/filters/__init__.py | 41 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 986 bytes .../__pycache__/aligned_indent.cpython-37.pyc | Bin 0 -> 4838 bytes .../filters/__pycache__/others.cpython-37.pyc | Bin 0 -> 4740 bytes .../filters/__pycache__/output.cpython-37.pyc | Bin 0 -> 2830 bytes .../__pycache__/reindent.cpython-37.pyc | Bin 0 -> 7406 bytes .../__pycache__/right_margin.cpython-37.pyc | Bin 0 -> 1426 bytes .../filters/__pycache__/tokens.cpython-37.pyc | Bin 0 -> 2115 bytes .../sqlparse/filters/aligned_indent.py | 138 + .../site-packages/sqlparse/filters/others.py | 125 + .../site-packages/sqlparse/filters/output.py | 124 + .../sqlparse/filters/reindent.py | 241 + .../sqlparse/filters/right_margin.py | 50 + .../site-packages/sqlparse/filters/tokens.py | 61 + .../site-packages/sqlparse/formatter.py | 199 + .../site-packages/sqlparse/keywords.py | 856 ++ .../python3.7/site-packages/sqlparse/lexer.py | 82 + .../python3.7/site-packages/sqlparse/sql.py | 631 + .../site-packages/sqlparse/tokens.py | 69 + .../python3.7/site-packages/sqlparse/utils.py | 123 + news/venv/pip-selfcheck.json | 1 + news/venv/pyvenv.cfg | 3 + venv/.idea/misc.xml | 7 + venv/.idea/modules.xml | 8 + venv/.idea/venv.iml | 11 + venv/.idea/workspace.xml | 147 + 5221 files changed, 586241 insertions(+) create mode 100644 .idea/vcs.xml create mode 100644 news/.idea/misc.xml create mode 100644 news/.idea/modules.xml create mode 100644 news/.idea/news.iml create mode 100644 news/.idea/workspace.xml create mode 100644 news/db.sqlite3 create mode 100755 news/manage.py create mode 100644 news/news/__init__.py create mode 100644 news/news/__pycache__/__init__.cpython-37.pyc create mode 100644 news/news/__pycache__/settings.cpython-37.pyc create mode 100644 news/news/__pycache__/urls.cpython-37.pyc create mode 100644 news/news/__pycache__/wsgi.cpython-37.pyc create mode 100644 news/news/settings.py create mode 100644 news/news/urls.py create mode 100644 news/news/wsgi.py create mode 100644 news/posts/__init__.py create mode 100644 news/posts/admin.py create mode 100644 news/posts/apps.py create mode 100644 news/posts/migrations/__init__.py create mode 100644 news/posts/models.py create mode 100644 news/posts/tests.py create mode 100644 news/posts/views.py create mode 100644 news/venv/bin/__pycache__/django-admin.cpython-37.pyc create mode 100644 news/venv/bin/activate create mode 100644 news/venv/bin/activate.csh create mode 100644 news/venv/bin/activate.fish create mode 100755 news/venv/bin/django-admin create mode 100755 news/venv/bin/django-admin.py create mode 100755 news/venv/bin/easy_install create mode 100755 news/venv/bin/easy_install-3.7 create mode 100755 news/venv/bin/pip create mode 100755 news/venv/bin/pip3 create mode 100755 news/venv/bin/pip3.7 create mode 100755 news/venv/bin/python create mode 100755 news/venv/bin/python3 create mode 100755 news/venv/bin/python3.7 create mode 100755 news/venv/bin/sqlformat create mode 100644 news/venv/lib/python3.7/site-packages/Django-2.2.6.dist-info/INSTALLER create mode 100644 news/venv/lib/python3.7/site-packages/Django-2.2.6.dist-info/LICENSE create mode 100644 news/venv/lib/python3.7/site-packages/Django-2.2.6.dist-info/METADATA create mode 100644 news/venv/lib/python3.7/site-packages/Django-2.2.6.dist-info/RECORD create mode 100644 news/venv/lib/python3.7/site-packages/Django-2.2.6.dist-info/WHEEL create mode 100644 news/venv/lib/python3.7/site-packages/Django-2.2.6.dist-info/entry_points.txt create mode 100644 news/venv/lib/python3.7/site-packages/Django-2.2.6.dist-info/top_level.txt create mode 100644 news/venv/lib/python3.7/site-packages/django/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/__main__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/__pycache__/__main__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/__pycache__/shortcuts.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/apps/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/apps/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/apps/__pycache__/config.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/apps/__pycache__/registry.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/apps/config.py create mode 100644 news/venv/lib/python3.7/site-packages/django/apps/registry.py create mode 100644 news/venv/lib/python3.7/site-packages/django/bin/__pycache__/django-admin.cpython-37.pyc create mode 100755 news/venv/lib/python3.7/site-packages/django/bin/django-admin.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/__pycache__/global_settings.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/app_template/__init__.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/app_template/admin.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/app_template/apps.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/app_template/migrations/__init__.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/app_template/models.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/app_template/tests.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/app_template/views.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/global_settings.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ar/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ar/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ar/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ar/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/az/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/az/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/az/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/az/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bg/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bg/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bg/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bg/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bn/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bn/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bn/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bn/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bs/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bs/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bs/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/bs/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ca/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ca/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ca/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ca/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cs/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cs/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cs/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cs/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cy/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cy/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cy/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/cy/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/da/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/da/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/da/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/da/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de_CH/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de_CH/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de_CH/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/de_CH/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/el/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/el/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/el/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/el/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_AU/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_AU/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_AU/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_AU/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_GB/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_GB/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_GB/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/en_GB/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eo/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eo/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eo/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eo/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_AR/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_AR/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_AR/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_AR/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_CO/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_CO/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_CO/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_CO/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_MX/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_MX/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_MX/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_MX/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_NI/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_NI/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_NI/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_NI/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_PR/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_PR/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_PR/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_PR/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/et/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/et/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/et/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/et/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eu/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eu/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eu/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/eu/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fa/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fa/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fa/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fa/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fi/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fi/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fi/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fi/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fr/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fr/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fr/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fr/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fy/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fy/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fy/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/fy/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ga/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ga/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ga/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ga/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gd/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gd/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gd/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gd/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gl/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gl/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gl/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/gl/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/he/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/he/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/he/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/he/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hi/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hi/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hi/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hi/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hr/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hr/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hr/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hr/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hu/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hu/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hu/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hu/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/id/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/id/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/id/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/id/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/is/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/is/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/is/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/is/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/it/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/it/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/it/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/it/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ja/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ja/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ja/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ja/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ka/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ka/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ka/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ka/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kab/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kab/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/km/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/km/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/km/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/km/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kn/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kn/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kn/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/kn/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ko/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ko/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ko/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ko/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lt/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lt/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lt/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lt/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lv/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lv/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lv/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/lv/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mk/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mk/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mk/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mk/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ml/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ml/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ml/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ml/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mn/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mn/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mn/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mn/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nb/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nb/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nb/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nb/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nl/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nl/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nl/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nl/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nn/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nn/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nn/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/nn/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pl/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pl/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pl/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pl/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt_BR/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt_BR/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt_BR/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/pt_BR/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ro/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ro/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ro/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ro/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ru/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ru/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ru/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ru/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sk/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sk/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sk/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sk/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sl/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sl/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sl/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sl/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sq/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sq/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sq/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sq/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr_Latn/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr_Latn/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr_Latn/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sr_Latn/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sv/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sv/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sv/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sv/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ta/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ta/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ta/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ta/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/te/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/te/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/te/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/te/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/th/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/th/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/th/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/th/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/tr/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/tr/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/tr/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/tr/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/uk/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/uk/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/uk/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/uk/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/vi/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/vi/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/vi/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/vi/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hans/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hans/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hans/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hans/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hant/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hant/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hant/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/locale/zh_Hant/formats.py create mode 100755 news/venv/lib/python3.7/site-packages/django/conf/project_template/manage.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/project_template/project_name/__init__.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/project_template/project_name/settings.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/project_template/project_name/urls.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/project_template/project_name/wsgi.py-tpl create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/urls/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/urls/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/urls/__pycache__/i18n.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/urls/__pycache__/static.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/urls/i18n.py create mode 100644 news/venv/lib/python3.7/site-packages/django/conf/urls/static.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/actions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/checks.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/decorators.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/exceptions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/filters.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/forms.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/helpers.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/options.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/sites.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/tests.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/__pycache__/widgets.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/actions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/checks.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/decorators.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/filters.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/forms.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/helpers.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/am/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/am/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/migrations/0001_initial.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/migrations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/migrations/__pycache__/0001_initial.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/migrations/__pycache__/0003_logentry_add_action_flag_choices.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/options.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/sites.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/autocomplete.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/base.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/changelists.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/dashboard.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/fonts.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/forms.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/login.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/responsive.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/rtl.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/widgets.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/README.txt create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/LICENSE create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/README.txt create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-no.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/search.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/SelectBox.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/actions.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/actions.min.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/autocomplete.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/calendar.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/cancel.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/change_form.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/collapse.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/collapse.min.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/core.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/inlines.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/inlines.min.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/jquery.init.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/popup_response.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/timeparse.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/urlify.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt create mode 100755 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/404.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/500.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/actions.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/app_index.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/auth/user/add_form.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/auth/user/change_password.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/base.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/base_site.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_form.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_form_object_tools.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list_object_tools.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list_results.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/date_hierarchy.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/delete_confirmation.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/delete_selected_confirmation.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/edit_inline/stacked.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/edit_inline/tabular.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/filter.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/includes/object_delete_summary.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/index.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/invalid_setup.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/login.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/object_history.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/pagination.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/popup_response.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/prepopulated_fields_js.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/search_form.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/submit_line.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/clearable_file_input.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/radio.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/split_datetime.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/url.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/logged_out.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_change_done.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_change_form.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_complete.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_confirm.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_done.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_email.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_form.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_list.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_modify.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_static.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/log.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_list.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_modify.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_static.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_urls.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/log.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/tests.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/views/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/views/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/views/__pycache__/autocomplete.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/views/__pycache__/decorators.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/views/__pycache__/main.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/views/autocomplete.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/views/decorators.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/views/main.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admin/widgets.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/__pycache__/middleware.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/__pycache__/urls.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/kab/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/kab/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/middleware.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/bookmarklets.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/index.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/missing_docutils.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/model_detail.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/model_index.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/template_detail.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/template_filter_index.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/template_tag_index.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/view_detail.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/templates/admin_doc/view_index.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/urls.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/admindocs/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/admin.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/backends.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/base_user.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/checks.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/context_processors.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/decorators.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/forms.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/hashers.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/middleware.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/mixins.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/password_validation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/signals.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/tokens.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/urls.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/validators.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/admin.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/backends.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/base_user.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/checks.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/common-passwords.txt.gz create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/context_processors.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/decorators.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/forms.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/handlers/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/handlers/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/handlers/__pycache__/modwsgi.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/handlers/modwsgi.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/hashers.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/kab/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/kab/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/management/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/management/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/management/commands/__pycache__/changepassword.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/management/commands/__pycache__/createsuperuser.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/management/commands/changepassword.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/management/commands/createsuperuser.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/middleware.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0001_initial.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0002_alter_permission_name_max_length.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0003_alter_user_email_max_length.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0004_alter_user_username_opts.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0005_alter_user_last_login_null.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0006_require_contenttypes_0002.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0007_alter_validators_add_error_messages.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0008_alter_user_username_max_length.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0009_alter_user_last_name_max_length.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0010_alter_group_name_max_length.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/0011_update_proxy_permissions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0001_initial.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0002_alter_permission_name_max_length.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0003_alter_user_email_max_length.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0004_alter_user_username_opts.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0005_alter_user_last_login_null.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0006_require_contenttypes_0002.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0007_alter_validators_add_error_messages.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0008_alter_user_username_max_length.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0009_alter_user_last_name_max_length.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0010_alter_group_name_max_length.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/0011_update_proxy_permissions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/mixins.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/password_validation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/signals.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/templates/auth/widgets/read_only_password_hash.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/templates/registration/password_reset_subject.txt create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/tokens.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/urls.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/validators.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/auth/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/__pycache__/admin.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/__pycache__/checks.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/__pycache__/fields.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/__pycache__/forms.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/admin.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/checks.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/fields.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/forms.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/management/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/management/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/management/commands/__pycache__/remove_stale_contenttypes.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/migrations/0001_initial.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/migrations/0002_remove_content_type_name.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/migrations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/migrations/__pycache__/0001_initial.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/migrations/__pycache__/0002_remove_content_type_name.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/contenttypes/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__pycache__/admin.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__pycache__/forms.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__pycache__/middleware.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__pycache__/sitemaps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__pycache__/urls.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/admin.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/forms.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/middleware.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/migrations/0001_initial.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/migrations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/migrations/__pycache__/0001_initial.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/sitemaps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/templatetags/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/templatetags/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/templatetags/__pycache__/flatpages.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/templatetags/flatpages.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/urls.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/flatpages/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/__pycache__/feeds.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/__pycache__/geometry.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/__pycache__/measure.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/__pycache__/ptr.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/__pycache__/shortcuts.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/admin/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/admin/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/admin/__pycache__/options.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/admin/__pycache__/widgets.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/admin/options.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/admin/widgets.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/__pycache__/adapter.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/adapter.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/base/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/mysql/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/__pycache__/adapter.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/adapter.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/oracle/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/adapter.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/const.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/pgraster.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/adapter.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/const.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/pgraster.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/postgis/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__pycache__/adapter.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__pycache__/client.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/adapter.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/client.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/spatialite/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/backends/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/__pycache__/aggregates.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/__pycache__/fields.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/__pycache__/functions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/__pycache__/lookups.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/__pycache__/proxy.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/aggregates.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/fields.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/functions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/lookups.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/proxy.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/sql/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/sql/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/sql/__pycache__/conversion.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/db/models/sql/conversion.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/feeds.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/forms/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/forms/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/forms/__pycache__/fields.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/forms/__pycache__/widgets.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/forms/fields.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/forms/widgets.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/LICENSE create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/datasource.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/driver.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/envelope.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/error.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/feature.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/field.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/geometries.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/geomtype.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/layer.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/libgdal.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/__pycache__/srs.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/datasource.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/driver.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/envelope.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/error.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/feature.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/field.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/geometries.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/geomtype.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/layer.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/libgdal.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/__pycache__/ds.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/__pycache__/errcheck.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/__pycache__/generation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/__pycache__/geom.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/__pycache__/raster.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/__pycache__/srs.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/ds.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/errcheck.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/generation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/geom.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/raster.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/prototypes/srs.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/__pycache__/band.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/__pycache__/const.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/__pycache__/source.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/band.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/const.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/raster/source.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/gdal/srs.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geoip2/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geoip2/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geoip2/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geoip2/__pycache__/resources.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geoip2/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geoip2/resources.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geometry.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/LICENSE create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/collections.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/coordseq.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/error.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/factory.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/geometry.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/io.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/libgeos.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/linestring.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/mutable_list.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/point.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/polygon.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/__pycache__/prepared.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/collections.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/coordseq.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/error.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/factory.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/geometry.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/io.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/libgeos.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/linestring.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/mutable_list.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/point.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/polygon.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prepared.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/coordseq.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/errcheck.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/geom.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/io.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/misc.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/predicates.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/prepared.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/threadsafe.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/__pycache__/topology.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/coordseq.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/errcheck.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/geom.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/io.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/misc.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/predicates.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/prepared.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/threadsafe.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/geos/prototypes/topology.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/management/commands/__pycache__/inspectdb.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/management/commands/__pycache__/ogrinspect.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/management/commands/inspectdb.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/management/commands/ogrinspect.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/measure.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/ptr.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/serializers/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/serializers/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/serializers/__pycache__/geojson.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/serializers/geojson.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/shortcuts.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/sitemaps/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/sitemaps/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/sitemaps/__pycache__/kml.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/sitemaps/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/sitemaps/kml.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/sitemaps/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/static/gis/css/ol3.css create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/static/gis/img/draw_line_off.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/static/gis/img/draw_line_on.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/static/gis/img/draw_point_off.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/static/gis/img/draw_point_on.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/static/gis/img/draw_polygon_off.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/static/gis/img/draw_polygon_on.svg create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/static/gis/js/OLMapWidget.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/templates/gis/admin/openlayers.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/templates/gis/admin/openlayers.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/templates/gis/admin/osm.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/templates/gis/admin/osm.js create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/templates/gis/kml/base.kml create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/templates/gis/kml/placemarks.kml create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/templates/gis/openlayers-osm.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/templates/gis/openlayers.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/__pycache__/layermapping.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/__pycache__/ogrinfo.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/__pycache__/ogrinspect.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/__pycache__/srs.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/layermapping.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/ogrinfo.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/ogrinspect.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/utils/srs.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/gis/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ms/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ms/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/templatetags/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/templatetags/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/templatetags/__pycache__/humanize.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/humanize/templatetags/humanize.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/__pycache__/api.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/__pycache__/constants.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/__pycache__/context_processors.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/__pycache__/middleware.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/api.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/constants.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/context_processors.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/middleware.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/__pycache__/cookie.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/__pycache__/fallback.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/__pycache__/session.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/cookie.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/fallback.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/storage/session.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/messages/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/functions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/indexes.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/lookups.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/search.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/serializers.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/signals.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/__pycache__/validators.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/aggregates/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/aggregates/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/aggregates/__pycache__/general.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/aggregates/__pycache__/mixins.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/aggregates/__pycache__/statistics.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/aggregates/general.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/aggregates/mixins.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/aggregates/statistics.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/__pycache__/array.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/__pycache__/citext.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/__pycache__/hstore.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/__pycache__/jsonb.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/__pycache__/mixins.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/__pycache__/ranges.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/array.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/citext.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/hstore.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/jsonb.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/mixins.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/ranges.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/fields/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/__pycache__/array.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/__pycache__/hstore.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/__pycache__/jsonb.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/__pycache__/ranges.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/array.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/hstore.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/jsonb.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/forms/ranges.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/functions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/indexes.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/jinja2/postgres/widgets/split_array.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/lookups.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/search.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/serializers.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/signals.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/templates/postgres/widgets/split_array.html create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/postgres/validators.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/__pycache__/admin.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/__pycache__/middleware.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/admin.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/kab/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/kab/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/uz/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/uz/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/middleware.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/migrations/0001_initial.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/migrations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/migrations/__pycache__/0001_initial.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/redirects/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/__pycache__/base_session.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/__pycache__/exceptions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/__pycache__/middleware.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/__pycache__/serializers.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/__pycache__/cache.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/__pycache__/cached_db.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/__pycache__/db.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/__pycache__/file.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/__pycache__/signed_cookies.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/cache.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/cached_db.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/db.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/file.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/backends/signed_cookies.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/base_session.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/kab/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/kab/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/uz/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/uz/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/management/commands/__pycache__/clearsessions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/management/commands/clearsessions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/middleware.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/migrations/0001_initial.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/migrations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/migrations/__pycache__/0001_initial.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sessions/serializers.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/management/commands/__pycache__/ping_google.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/management/commands/ping_google.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/templates/sitemap.xml create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/templates/sitemap_index.xml create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sitemaps/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__pycache__/admin.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__pycache__/management.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__pycache__/managers.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__pycache__/middleware.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__pycache__/requests.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/__pycache__/shortcuts.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/admin.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/af/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/af/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ar/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ar/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ast/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ast/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/az/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/az/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/be/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/be/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/bg/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/bg/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/bn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/bn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/br/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/br/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/bs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/bs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ca/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ca/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/cs/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/cs/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/cy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/cy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/da/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/da/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/de/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/de/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/dsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/dsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/el/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/el/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/en/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/en/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/en_AU/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/en_AU/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/en_GB/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/eo/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/eo/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es_AR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es_AR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es_CO/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es_CO/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es_MX/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es_MX/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es_VE/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/es_VE/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/et/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/et/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/eu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/eu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/fa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/fa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/fi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/fi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/fr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/fr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/fy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/fy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ga/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ga/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/gd/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/gd/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/gl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/gl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/he/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/he/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hsb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hsb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hu/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hu/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hy/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/hy/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ia/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ia/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/id/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/id/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/io/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/io/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/is/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/is/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/it/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/it/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ja/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ja/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ka/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ka/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/kab/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/kab/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/kk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/kk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/km/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/km/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/kn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/kn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ko/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ko/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/lb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/lb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/lt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/lt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/lv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/lv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/mk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/mk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ml/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ml/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/mn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/mn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/mr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/mr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/my/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/my/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/nb/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/nb/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ne/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ne/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/nl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/nl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/nn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/nn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/os/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/os/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/pa/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/pa/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/pl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/pl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/pt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/pt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ro/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ro/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ru/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ru/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sl/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sl/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sq/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sq/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sr_Latn/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sv/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sv/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sw/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/sw/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ta/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ta/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/te/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/te/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/th/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/th/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/tr/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/tr/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/tt/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/tt/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/udm/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/udm/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/uk/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/uk/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ur/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/ur/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/uz/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/uz/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/vi/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/vi/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/management.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/managers.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/middleware.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/migrations/0001_initial.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/migrations/0002_alter_domain_unique.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/migrations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/migrations/__pycache__/0001_initial.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/migrations/__pycache__/0002_alter_domain_unique.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/requests.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/sites/shortcuts.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/checks.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/finders.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/handlers.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/storage.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/testing.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/urls.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/checks.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/finders.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/handlers.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/__pycache__/collectstatic.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/__pycache__/findstatic.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/__pycache__/runserver.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/findstatic.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/management/commands/runserver.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/storage.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/templatetags/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/templatetags/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/templatetags/__pycache__/staticfiles.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/templatetags/staticfiles.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/testing.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/urls.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/staticfiles/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/syndication/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/syndication/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/syndication/__pycache__/apps.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/syndication/__pycache__/views.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/syndication/apps.py create mode 100644 news/venv/lib/python3.7/site-packages/django/contrib/syndication/views.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/__pycache__/exceptions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/__pycache__/paginator.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/__pycache__/signals.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/__pycache__/signing.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/__pycache__/validators.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/__pycache__/wsgi.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/__pycache__/db.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/__pycache__/dummy.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/__pycache__/filebased.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/__pycache__/locmem.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/__pycache__/memcached.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/db.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/dummy.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/filebased.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/locmem.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/backends/memcached.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/cache/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__pycache__/caches.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__pycache__/database.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__pycache__/messages.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__pycache__/model_checks.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__pycache__/registry.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__pycache__/templates.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__pycache__/translation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/__pycache__/urls.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/caches.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/compatibility/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/compatibility/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/database.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/messages.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/model_checks.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/registry.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/security/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/security/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/security/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/security/__pycache__/csrf.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/security/__pycache__/sessions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/security/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/security/csrf.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/security/sessions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/templates.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/translation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/checks/urls.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/images.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/locks.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/move.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/storage.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/temp.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/uploadedfile.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/uploadhandler.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/images.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/locks.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/move.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/storage.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/temp.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/uploadedfile.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/uploadhandler.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/files/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/handlers/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/handlers/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/handlers/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/handlers/__pycache__/exception.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/handlers/__pycache__/wsgi.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/handlers/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/handlers/exception.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/handlers/wsgi.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/__pycache__/message.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/__pycache__/console.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/__pycache__/dummy.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/__pycache__/filebased.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/__pycache__/locmem.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/__pycache__/smtp.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/console.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/dummy.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/filebased.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/locmem.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/backends/smtp.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/message.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/mail/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/__pycache__/color.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/__pycache__/sql.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/__pycache__/templates.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/color.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/check.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/compilemessages.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/createcachetable.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/dbshell.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/diffsettings.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/dumpdata.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/flush.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/inspectdb.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/loaddata.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/makemessages.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/makemigrations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/migrate.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/runserver.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/sendtestemail.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/shell.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/showmigrations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/sqlflush.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/sqlmigrate.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/sqlsequencereset.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/squashmigrations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/startapp.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/startproject.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/test.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/__pycache__/testserver.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/check.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/compilemessages.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/createcachetable.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/dbshell.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/diffsettings.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/dumpdata.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/flush.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/inspectdb.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/loaddata.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/makemessages.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/makemigrations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/migrate.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/runserver.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/sendtestemail.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/shell.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/showmigrations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/sqlflush.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/sqlmigrate.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/sqlsequencereset.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/squashmigrations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/startapp.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/startproject.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/test.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/commands/testserver.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/sql.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/templates.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/management/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/paginator.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/__pycache__/json.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/__pycache__/python.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/__pycache__/pyyaml.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/__pycache__/xml_serializer.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/json.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/python.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/pyyaml.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/serializers/xml_serializer.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/servers/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/servers/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/servers/__pycache__/basehttp.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/core/servers/basehttp.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/signals.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/signing.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/validators.py create mode 100644 news/venv/lib/python3.7/site-packages/django/core/wsgi.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/__pycache__/transaction.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/__pycache__/ddl_references.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/__pycache__/signals.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__pycache__/client.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__pycache__/creation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/__pycache__/validation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/client.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/creation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/base/validation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/ddl_references.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/dummy/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/dummy/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/dummy/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/dummy/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/dummy/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/dummy/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/client.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/compiler.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/creation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/__pycache__/validation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/client.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/compiler.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/creation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/mysql/validation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/client.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/compiler.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/creation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/functions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/__pycache__/validation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/client.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/compiler.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/creation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/functions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/oracle/validation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__pycache__/client.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__pycache__/creation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/client.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/creation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__pycache__/client.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__pycache__/creation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/client.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/creation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/postgresql_psycopg2/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/signals.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/__pycache__/client.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/__pycache__/creation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/__pycache__/features.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/__pycache__/introspection.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/__pycache__/operations.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/__pycache__/schema.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/client.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/creation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/features.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/introspection.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/operations.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/schema.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/backends/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/autodetector.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/exceptions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/executor.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/graph.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/loader.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/migration.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/optimizer.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/questioner.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/recorder.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/serializer.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/state.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/__pycache__/writer.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/autodetector.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/executor.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/graph.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/loader.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/migration.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/__pycache__/fields.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/__pycache__/special.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/fields.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/special.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/operations/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/optimizer.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/questioner.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/recorder.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/serializer.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/state.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/migrations/writer.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/aggregates.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/constants.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/constraints.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/deletion.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/expressions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/indexes.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/lookups.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/manager.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/options.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/query.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/query_utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/signals.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/aggregates.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/constants.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/constraints.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/deletion.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/expressions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/__pycache__/files.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/__pycache__/mixins.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/__pycache__/proxy.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/__pycache__/related.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/__pycache__/related_descriptors.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/__pycache__/related_lookups.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/__pycache__/reverse_related.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/files.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/mixins.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/proxy.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/related.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/related_lookups.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/fields/reverse_related.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/__pycache__/comparison.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/__pycache__/datetime.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/__pycache__/math.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/__pycache__/mixins.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/__pycache__/text.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/__pycache__/window.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/comparison.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/datetime.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/math.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/mixins.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/text.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/functions/window.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/indexes.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/lookups.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/manager.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/options.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/query.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/query_utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/signals.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/__pycache__/compiler.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/__pycache__/constants.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/__pycache__/datastructures.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/__pycache__/query.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/__pycache__/subqueries.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/__pycache__/where.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/compiler.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/constants.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/datastructures.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/query.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/subqueries.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/sql/where.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/models/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/transaction.py create mode 100644 news/venv/lib/python3.7/site-packages/django/db/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/dispatch/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/dispatch/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/dispatch/__pycache__/dispatcher.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/dispatch/dispatcher.py create mode 100644 news/venv/lib/python3.7/site-packages/django/dispatch/license.txt create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__pycache__/boundfield.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__pycache__/fields.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__pycache__/forms.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__pycache__/formsets.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__pycache__/models.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__pycache__/renderers.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/__pycache__/widgets.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/boundfield.py create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/fields.py create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/forms.py create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/formsets.py create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/attrs.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/checkbox.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/checkbox_option.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/checkbox_select.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/clearable_file_input.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/date.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/datetime.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/email.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/file.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/hidden.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/input.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/input_option.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/multiple_hidden.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/multiple_input.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/multiwidget.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/number.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/password.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/radio.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/radio_option.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/select.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/select_date.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/select_option.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/splitdatetime.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/splithiddendatetime.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/text.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/textarea.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/time.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/jinja2/django/forms/widgets/url.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/models.py create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/renderers.py create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/attrs.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/checkbox.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/checkbox_option.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/checkbox_select.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/clearable_file_input.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/date.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/datetime.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/email.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/file.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/hidden.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/input.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/input_option.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/multiple_hidden.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/multiple_input.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/multiwidget.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/number.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/password.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/radio.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/radio_option.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/select.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/select_date.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/select_option.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/splitdatetime.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/splithiddendatetime.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/text.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/textarea.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/time.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/templates/django/forms/widgets/url.html create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/forms/widgets.py create mode 100644 news/venv/lib/python3.7/site-packages/django/http/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/http/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/http/__pycache__/cookie.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/http/__pycache__/multipartparser.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/http/__pycache__/request.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/http/__pycache__/response.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/http/cookie.py create mode 100644 news/venv/lib/python3.7/site-packages/django/http/multipartparser.py create mode 100644 news/venv/lib/python3.7/site-packages/django/http/request.py create mode 100644 news/venv/lib/python3.7/site-packages/django/http/response.py create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__pycache__/cache.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__pycache__/clickjacking.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__pycache__/common.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__pycache__/csrf.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__pycache__/gzip.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__pycache__/http.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__pycache__/locale.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/__pycache__/security.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/cache.py create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/clickjacking.py create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/common.py create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/csrf.py create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/gzip.py create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/http.py create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/locale.py create mode 100644 news/venv/lib/python3.7/site-packages/django/middleware/security.py create mode 100644 news/venv/lib/python3.7/site-packages/django/shortcuts.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/context.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/context_processors.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/defaultfilters.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/defaulttags.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/engine.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/exceptions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/library.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/loader.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/loader_tags.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/response.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/smartif.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/__pycache__/django.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/__pycache__/dummy.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/__pycache__/jinja2.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/django.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/dummy.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/jinja2.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/backends/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/context.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/context_processors.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/defaultfilters.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/defaulttags.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/engine.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/library.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loader.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loader_tags.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/__pycache__/app_directories.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/__pycache__/cached.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/__pycache__/filesystem.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/__pycache__/locmem.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/app_directories.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/cached.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/filesystem.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/loaders/locmem.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/response.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/smartif.py create mode 100644 news/venv/lib/python3.7/site-packages/django/template/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/__pycache__/cache.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/__pycache__/i18n.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/__pycache__/l10n.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/__pycache__/static.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/__pycache__/tz.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/cache.py create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/i18n.py create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/l10n.py create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/static.py create mode 100644 news/venv/lib/python3.7/site-packages/django/templatetags/tz.py create mode 100644 news/venv/lib/python3.7/site-packages/django/test/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/test/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/test/__pycache__/client.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/test/__pycache__/html.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/test/__pycache__/runner.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/test/__pycache__/selenium.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/test/__pycache__/signals.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/test/__pycache__/testcases.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/test/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/test/client.py create mode 100644 news/venv/lib/python3.7/site-packages/django/test/html.py create mode 100644 news/venv/lib/python3.7/site-packages/django/test/runner.py create mode 100644 news/venv/lib/python3.7/site-packages/django/test/selenium.py create mode 100644 news/venv/lib/python3.7/site-packages/django/test/signals.py create mode 100644 news/venv/lib/python3.7/site-packages/django/test/testcases.py create mode 100644 news/venv/lib/python3.7/site-packages/django/test/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/__pycache__/conf.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/__pycache__/converters.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/__pycache__/exceptions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/__pycache__/resolvers.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/conf.py create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/converters.py create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/resolvers.py create mode 100644 news/venv/lib/python3.7/site-packages/django/urls/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/_os.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/archive.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/autoreload.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/baseconv.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/cache.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/crypto.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/datastructures.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/dateformat.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/dateparse.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/dates.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/datetime_safe.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/deconstruct.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/decorators.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/deprecation.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/duration.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/encoding.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/feedgenerator.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/formats.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/functional.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/hashable.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/html.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/http.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/inspect.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/ipv6.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/itercompat.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/jslex.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/log.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/lorem_ipsum.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/lru_cache.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/module_loading.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/numberformat.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/regex_helper.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/safestring.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/six.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/termcolors.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/text.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/timesince.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/timezone.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/topological_sort.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/tree.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/version.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/__pycache__/xmlutils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/_os.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/archive.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/autoreload.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/baseconv.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/cache.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/crypto.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/datastructures.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/dateformat.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/dateparse.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/dates.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/datetime_safe.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/deconstruct.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/decorators.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/deprecation.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/duration.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/encoding.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/feedgenerator.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/formats.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/functional.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/hashable.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/html.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/http.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/inspect.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/ipv6.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/itercompat.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/jslex.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/log.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/lorem_ipsum.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/lru_cache.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/module_loading.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/numberformat.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/regex_helper.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/safestring.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/six.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/termcolors.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/text.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/timesince.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/timezone.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/topological_sort.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/__pycache__/reloader.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/__pycache__/template.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/__pycache__/trans_null.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/__pycache__/trans_real.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/reloader.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/template.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/trans_null.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/translation/trans_real.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/tree.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/version.py create mode 100644 news/venv/lib/python3.7/site-packages/django/utils/xmlutils.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/__pycache__/csrf.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/__pycache__/debug.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/__pycache__/defaults.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/__pycache__/i18n.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/__pycache__/static.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/csrf.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/debug.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/__pycache__/cache.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/__pycache__/clickjacking.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/__pycache__/csrf.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/__pycache__/debug.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/__pycache__/gzip.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/__pycache__/http.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/__pycache__/vary.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/cache.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/clickjacking.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/csrf.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/debug.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/gzip.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/http.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/decorators/vary.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/defaults.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/__pycache__/base.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/__pycache__/dates.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/__pycache__/detail.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/__pycache__/edit.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/__pycache__/list.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/base.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/dates.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/detail.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/edit.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/generic/list.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/i18n.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/static.py create mode 100644 news/venv/lib/python3.7/site-packages/django/views/templates/default_urlconf.html create mode 100644 news/venv/lib/python3.7/site-packages/django/views/templates/technical_404.html create mode 100644 news/venv/lib/python3.7/site-packages/django/views/templates/technical_500.html create mode 100644 news/venv/lib/python3.7/site-packages/django/views/templates/technical_500.txt create mode 100644 news/venv/lib/python3.7/site-packages/easy-install.pth create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/EGG-INFO/PKG-INFO create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/EGG-INFO/SOURCES.txt create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/EGG-INFO/dependency_links.txt create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/EGG-INFO/entry_points.txt create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/EGG-INFO/not-zip-safe create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/EGG-INFO/requires.txt create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/EGG-INFO/top_level.txt create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/__main__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/basecommand.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/baseparser.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/build_env.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/cache.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/cmdoptions.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/check.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/completion.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/configuration.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/download.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/freeze.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/hash.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/help.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/install.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/list.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/search.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/show.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/uninstall.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/wheel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/compat.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/configuration.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/download.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/index.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/locations.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/models/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/models/index.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/operations/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/operations/check.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/operations/freeze.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/operations/prepare.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/pep425tags.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/req/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/req/req_file.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/req/req_install.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/req/req_set.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/req/req_uninstall.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/resolve.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/status_codes.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/appdirs.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/deprecation.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/encoding.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/filesystem.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/glibc.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/hashes.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/logging.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/misc.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/outdated.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/packaging.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/setuptools_build.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/temp_dir.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/typing.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/utils/ui.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/vcs/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/vcs/bazaar.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/vcs/git.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/vcs/mercurial.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/vcs/subversion.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/wheel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/appdirs.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/_cmd.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/adapter.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/cache.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/caches/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/caches/file_cache.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/caches/redis_cache.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/compat.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/controller.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/filewrapper.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/heuristics.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/serialize.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/cachecontrol/wrapper.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/certifi/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/certifi/__main__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/certifi/cacert.pem create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/certifi/core.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/big5freq.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/big5prober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/chardistribution.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/charsetgroupprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/charsetprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/cli/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/cli/chardetect.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/codingstatemachine.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/compat.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/cp949prober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/enums.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/escprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/escsm.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/eucjpprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/euckrfreq.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/euckrprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/euctwfreq.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/euctwprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/gb2312freq.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/gb2312prober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/hebrewprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/jisfreq.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/jpcntx.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/langbulgarianmodel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/langcyrillicmodel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/langgreekmodel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/langhebrewmodel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/langhungarianmodel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/langthaimodel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/langturkishmodel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/latin1prober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/mbcharsetprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/mbcsgroupprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/mbcssm.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/sbcharsetprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/sbcsgroupprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/sjisprober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/universaldetector.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/utf8prober.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/chardet/version.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/colorama/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/colorama/ansi.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/colorama/ansitowin32.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/colorama/initialise.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/colorama/win32.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/colorama/winterm.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/_backport/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/_backport/misc.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/_backport/shutil.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/_backport/sysconfig.cfg create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/_backport/sysconfig.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/_backport/tarfile.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/compat.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/database.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/index.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/locators.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/manifest.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/markers.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/metadata.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/resources.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/scripts.py create mode 100755 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/t32.exe create mode 100755 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/t64.exe create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/util.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/version.py create mode 100755 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/w32.exe create mode 100755 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/w64.exe create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distlib/wheel.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/distro.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/_ihatexml.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/_inputstream.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/_tokenizer.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/_trie/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/_trie/_base.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/_trie/datrie.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/_trie/py.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/_utils.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/constants.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/filters/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/filters/base.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/filters/lint.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/filters/optionaltags.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/filters/sanitizer.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/filters/whitespace.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/html5parser.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/serializer.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treeadapters/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treeadapters/genshi.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treeadapters/sax.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treebuilders/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treebuilders/base.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treebuilders/dom.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treebuilders/etree.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treewalkers/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treewalkers/base.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treewalkers/dom.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treewalkers/etree.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/html5lib/treewalkers/genshi.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/idna/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/idna/codec.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/idna/compat.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/idna/core.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/idna/idnadata.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/idna/intranges.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/idna/package_data.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/idna/uts46data.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/ipaddress.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/lockfile/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/lockfile/linklockfile.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/lockfile/mkdirlockfile.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/lockfile/pidlockfile.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/lockfile/sqlitelockfile.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/lockfile/symlinklockfile.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/msgpack/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/msgpack/_version.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/msgpack/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/msgpack/fallback.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/packaging/__about__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/packaging/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/packaging/_compat.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/packaging/_structures.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/packaging/markers.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/packaging/requirements.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/packaging/specifiers.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/packaging/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/packaging/version.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/pkg_resources/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/pkg_resources/py31compat.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/progress/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/progress/bar.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/progress/counter.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/progress/helpers.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/progress/spinner.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/pyparsing.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/pytoml/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/pytoml/core.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/pytoml/parser.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/pytoml/writer.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/__version__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/_internal_utils.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/adapters.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/api.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/auth.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/certs.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/compat.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/cookies.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/help.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/hooks.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/models.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/packages.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/sessions.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/status_codes.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/structures.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/utils.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/retrying.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/six.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/_collections.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/connection.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/connectionpool.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/contrib/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/contrib/appengine.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/contrib/ntlmpool.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/contrib/pyopenssl.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/contrib/securetransport.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/contrib/socks.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/fields.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/filepost.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/packages/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/packages/backports/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/packages/backports/makefile.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/packages/ordered_dict.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/packages/six.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/poolmanager.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/request.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/response.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/connection.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/request.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/response.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/retry.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/selectors.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/ssl_.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/timeout.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/url.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/urllib3/util/wait.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/webencodings/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/webencodings/labels.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/webencodings/mklabels.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/webencodings/tests.py create mode 100644 news/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/webencodings/x_user_defined.py create mode 100644 news/venv/lib/python3.7/site-packages/pytz-2019.3.dist-info/DESCRIPTION.rst create mode 100644 news/venv/lib/python3.7/site-packages/pytz-2019.3.dist-info/INSTALLER create mode 100644 news/venv/lib/python3.7/site-packages/pytz-2019.3.dist-info/LICENSE.txt create mode 100644 news/venv/lib/python3.7/site-packages/pytz-2019.3.dist-info/METADATA create mode 100644 news/venv/lib/python3.7/site-packages/pytz-2019.3.dist-info/RECORD create mode 100644 news/venv/lib/python3.7/site-packages/pytz-2019.3.dist-info/WHEEL create mode 100644 news/venv/lib/python3.7/site-packages/pytz-2019.3.dist-info/metadata.json create mode 100644 news/venv/lib/python3.7/site-packages/pytz-2019.3.dist-info/top_level.txt create mode 100644 news/venv/lib/python3.7/site-packages/pytz-2019.3.dist-info/zip-safe create mode 100644 news/venv/lib/python3.7/site-packages/pytz/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/pytz/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/pytz/__pycache__/exceptions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/pytz/__pycache__/lazy.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/pytz/__pycache__/reference.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/pytz/__pycache__/tzfile.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/pytz/__pycache__/tzinfo.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/pytz/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/pytz/lazy.py create mode 100644 news/venv/lib/python3.7/site-packages/pytz/reference.py create mode 100644 news/venv/lib/python3.7/site-packages/pytz/tzfile.py create mode 100644 news/venv/lib/python3.7/site-packages/pytz/tzinfo.py create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Abidjan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Accra create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Addis_Ababa create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Algiers create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Asmara create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Asmera create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Bamako create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Bangui create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Banjul create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Bissau create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Blantyre create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Brazzaville create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Bujumbura create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Cairo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Casablanca create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Ceuta create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Conakry create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Dakar create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Dar_es_Salaam create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Djibouti create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Douala create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/El_Aaiun create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Freetown create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Gaborone create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Harare create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Johannesburg create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Juba create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Kampala create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Khartoum create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Kigali create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Kinshasa create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Lagos create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Libreville create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Lome create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Luanda create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Lubumbashi create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Lusaka create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Malabo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Maputo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Maseru create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Mbabane create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Mogadishu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Monrovia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Nairobi create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Ndjamena create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Niamey create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Nouakchott create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Ouagadougou create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Porto-Novo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Sao_Tome create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Timbuktu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Tripoli create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Tunis create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Africa/Windhoek create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Adak create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Anchorage create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Anguilla create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Antigua create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Araguaina create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/Buenos_Aires create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/Catamarca create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/ComodRivadavia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/Cordoba create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/Jujuy create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/La_Rioja create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/Mendoza create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/Rio_Gallegos create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/Salta create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/San_Juan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/San_Luis create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/Tucuman create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Argentina/Ushuaia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Aruba create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Asuncion create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Atikokan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Atka create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Bahia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Bahia_Banderas create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Barbados create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Belem create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Belize create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Blanc-Sablon create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Boa_Vista create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Bogota create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Boise create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Buenos_Aires create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Cambridge_Bay create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Campo_Grande create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Cancun create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Caracas create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Catamarca create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Cayenne create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Cayman create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Chicago create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Chihuahua create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Coral_Harbour create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Cordoba create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Costa_Rica create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Creston create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Cuiaba create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Curacao create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Danmarkshavn create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Dawson create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Dawson_Creek create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Denver create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Detroit create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Dominica create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Edmonton create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Eirunepe create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/El_Salvador create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Ensenada create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Fort_Nelson create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Fort_Wayne create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Fortaleza create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Glace_Bay create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Godthab create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Goose_Bay create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Grand_Turk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Grenada create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Guadeloupe create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Guatemala create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Guayaquil create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Guyana create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Halifax create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Havana create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Hermosillo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Indiana/Indianapolis create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Indiana/Knox create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Indiana/Marengo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Indiana/Petersburg create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Indiana/Tell_City create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Indiana/Vevay create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Indiana/Vincennes create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Indiana/Winamac create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Indianapolis create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Inuvik create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Iqaluit create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Jamaica create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Jujuy create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Juneau create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Kentucky/Louisville create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Kentucky/Monticello create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Knox_IN create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Kralendijk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/La_Paz create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Lima create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Los_Angeles create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Louisville create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Lower_Princes create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Maceio create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Managua create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Manaus create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Marigot create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Martinique create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Matamoros create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Mazatlan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Mendoza create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Menominee create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Merida create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Metlakatla create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Mexico_City create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Miquelon create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Moncton create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Monterrey create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Montevideo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Montreal create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Montserrat create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Nassau create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/New_York create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Nipigon create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Nome create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Noronha create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/North_Dakota/Beulah create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/North_Dakota/Center create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/North_Dakota/New_Salem create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Ojinaga create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Panama create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Pangnirtung create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Paramaribo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Phoenix create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Port-au-Prince create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Port_of_Spain create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Porto_Acre create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Porto_Velho create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Puerto_Rico create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Punta_Arenas create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Rainy_River create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Rankin_Inlet create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Recife create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Regina create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Resolute create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Rio_Branco create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Rosario create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Santa_Isabel create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Santarem create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Santiago create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Santo_Domingo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Sao_Paulo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Scoresbysund create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Shiprock create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Sitka create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/St_Barthelemy create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/St_Johns create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/St_Kitts create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/St_Lucia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/St_Thomas create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/St_Vincent create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Swift_Current create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Tegucigalpa create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Thule create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Thunder_Bay create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Tijuana create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Toronto create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Tortola create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Vancouver create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Virgin create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Whitehorse create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Winnipeg create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Yakutat create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/America/Yellowknife create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/Casey create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/Davis create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/DumontDUrville create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/Macquarie create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/Mawson create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/McMurdo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/Palmer create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/Rothera create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/South_Pole create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/Syowa create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/Troll create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Antarctica/Vostok create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Arctic/Longyearbyen create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Aden create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Almaty create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Amman create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Anadyr create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Aqtau create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Aqtobe create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Ashgabat create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Ashkhabad create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Atyrau create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Baghdad create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Bahrain create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Baku create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Bangkok create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Barnaul create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Beirut create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Bishkek create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Brunei create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Calcutta create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Chita create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Choibalsan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Chongqing create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Chungking create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Colombo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Dacca create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Damascus create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Dhaka create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Dili create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Dubai create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Dushanbe create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Famagusta create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Gaza create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Harbin create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Hebron create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Ho_Chi_Minh create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Hong_Kong create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Hovd create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Irkutsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Istanbul create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Jakarta create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Jayapura create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Jerusalem create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Kabul create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Kamchatka create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Karachi create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Kashgar create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Kathmandu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Katmandu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Khandyga create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Kolkata create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Krasnoyarsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Kuala_Lumpur create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Kuching create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Kuwait create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Macao create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Macau create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Magadan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Makassar create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Manila create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Muscat create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Nicosia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Novokuznetsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Novosibirsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Omsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Oral create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Phnom_Penh create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Pontianak create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Pyongyang create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Qatar create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Qostanay create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Qyzylorda create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Rangoon create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Riyadh create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Saigon create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Sakhalin create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Samarkand create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Seoul create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Shanghai create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Singapore create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Srednekolymsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Taipei create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Tashkent create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Tbilisi create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Tehran create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Tel_Aviv create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Thimbu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Thimphu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Tokyo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Tomsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Ujung_Pandang create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Ulaanbaatar create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Ulan_Bator create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Urumqi create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Ust-Nera create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Vientiane create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Vladivostok create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Yakutsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Yangon create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Yekaterinburg create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Asia/Yerevan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Azores create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Bermuda create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Canary create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Cape_Verde create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Faeroe create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Faroe create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Jan_Mayen create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Madeira create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Reykjavik create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/South_Georgia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/St_Helena create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Atlantic/Stanley create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/ACT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Adelaide create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Brisbane create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Broken_Hill create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Canberra create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Currie create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Darwin create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Eucla create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Hobart create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/LHI create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Lindeman create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Lord_Howe create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Melbourne create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/NSW create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/North create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Perth create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Queensland create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/South create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Sydney create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Tasmania create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Victoria create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/West create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Australia/Yancowinna create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Brazil/Acre create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Brazil/DeNoronha create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Brazil/East create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Brazil/West create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/CET create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/CST6CDT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Canada/Atlantic create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Canada/Central create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Canada/Eastern create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Canada/Mountain create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Canada/Newfoundland create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Canada/Pacific create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Canada/Saskatchewan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Canada/Yukon create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Chile/Continental create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Chile/EasterIsland create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Cuba create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/EET create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/EST create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/EST5EDT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Egypt create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Eire create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+0 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+1 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+10 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+11 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+12 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+2 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+3 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+4 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+5 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+6 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+7 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+8 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT+9 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-0 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-1 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-10 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-11 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-12 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-13 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-14 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-2 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-3 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-4 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-5 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-6 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-7 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-8 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT-9 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/GMT0 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/Greenwich create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/UCT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/UTC create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/Universal create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Etc/Zulu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Amsterdam create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Andorra create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Astrakhan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Athens create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Belfast create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Belgrade create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Berlin create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Bratislava create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Brussels create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Bucharest create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Budapest create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Busingen create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Chisinau create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Copenhagen create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Dublin create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Gibraltar create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Guernsey create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Helsinki create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Isle_of_Man create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Istanbul create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Jersey create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Kaliningrad create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Kiev create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Kirov create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Lisbon create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Ljubljana create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/London create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Luxembourg create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Madrid create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Malta create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Mariehamn create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Minsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Monaco create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Moscow create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Nicosia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Oslo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Paris create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Podgorica create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Prague create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Riga create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Rome create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Samara create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/San_Marino create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Sarajevo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Saratov create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Simferopol create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Skopje create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Sofia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Stockholm create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Tallinn create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Tirane create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Tiraspol create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Ulyanovsk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Uzhgorod create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Vaduz create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Vatican create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Vienna create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Vilnius create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Volgograd create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Warsaw create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Zagreb create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Zaporozhye create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Europe/Zurich create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Factory create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/GB create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/GB-Eire create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/GMT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/GMT+0 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/GMT-0 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/GMT0 create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Greenwich create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/HST create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Hongkong create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Iceland create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Antananarivo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Chagos create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Christmas create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Cocos create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Comoro create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Kerguelen create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Mahe create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Maldives create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Mauritius create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Mayotte create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Indian/Reunion create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Iran create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Israel create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Jamaica create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Japan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Kwajalein create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Libya create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/MET create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/MST create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/MST7MDT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Mexico/BajaNorte create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Mexico/BajaSur create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Mexico/General create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/NZ create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/NZ-CHAT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Navajo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/PRC create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/PST8PDT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Apia create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Auckland create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Bougainville create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Chatham create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Chuuk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Easter create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Efate create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Enderbury create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Fakaofo create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Fiji create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Funafuti create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Galapagos create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Gambier create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Guadalcanal create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Guam create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Honolulu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Johnston create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Kiritimati create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Kosrae create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Kwajalein create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Majuro create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Marquesas create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Midway create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Nauru create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Niue create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Norfolk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Noumea create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Pago_Pago create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Palau create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Pitcairn create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Pohnpei create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Ponape create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Port_Moresby create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Rarotonga create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Saipan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Samoa create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Tahiti create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Tarawa create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Tongatapu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Truk create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Wake create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Wallis create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Pacific/Yap create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Poland create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Portugal create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/ROC create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/ROK create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Singapore create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Turkey create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/UCT create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Alaska create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Aleutian create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Arizona create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Central create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/East-Indiana create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Eastern create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Hawaii create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Indiana-Starke create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Michigan create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Mountain create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Pacific create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/US/Samoa create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/UTC create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Universal create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/W-SU create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/WET create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/Zulu create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/iso3166.tab create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/leapseconds create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/posixrules create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/tzdata.zi create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/zone.tab create mode 100644 news/venv/lib/python3.7/site-packages/pytz/zoneinfo/zone1970.tab create mode 100644 news/venv/lib/python3.7/site-packages/setuptools-39.1.0-py3.7.egg create mode 100644 news/venv/lib/python3.7/site-packages/setuptools.pth create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse-0.3.0.dist-info/INSTALLER create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse-0.3.0.dist-info/LICENSE create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse-0.3.0.dist-info/METADATA create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse-0.3.0.dist-info/RECORD create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse-0.3.0.dist-info/WHEEL create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse-0.3.0.dist-info/entry_points.txt create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse-0.3.0.dist-info/top_level.txt create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__main__.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/__main__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/cli.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/compat.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/exceptions.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/formatter.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/keywords.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/lexer.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/sql.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/tokens.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/__pycache__/utils.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/cli.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/compat.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/engine/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/engine/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/engine/__pycache__/filter_stack.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/engine/__pycache__/grouping.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/engine/__pycache__/statement_splitter.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/engine/filter_stack.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/engine/grouping.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/engine/statement_splitter.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/exceptions.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/__init__.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/__pycache__/__init__.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/__pycache__/aligned_indent.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/__pycache__/others.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/__pycache__/output.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/__pycache__/reindent.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/__pycache__/right_margin.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/__pycache__/tokens.cpython-37.pyc create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/aligned_indent.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/others.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/output.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/reindent.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/right_margin.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/filters/tokens.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/formatter.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/keywords.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/lexer.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/sql.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/tokens.py create mode 100644 news/venv/lib/python3.7/site-packages/sqlparse/utils.py create mode 100644 news/venv/pip-selfcheck.json create mode 100644 news/venv/pyvenv.cfg create mode 100644 venv/.idea/misc.xml create mode 100644 venv/.idea/modules.xml create mode 100644 venv/.idea/venv.iml create mode 100644 venv/.idea/workspace.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/news/.idea/misc.xml b/news/.idea/misc.xml new file mode 100644 index 0000000..5d3ef37 --- /dev/null +++ b/news/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/news/.idea/modules.xml b/news/.idea/modules.xml new file mode 100644 index 0000000..7de6e45 --- /dev/null +++ b/news/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/news/.idea/news.iml b/news/.idea/news.iml new file mode 100644 index 0000000..e1cd0d3 --- /dev/null +++ b/news/.idea/news.iml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/news/.idea/workspace.xml b/news/.idea/workspace.xml new file mode 100644 index 0000000..95603a5 --- /dev/null +++ b/news/.idea/workspace.xml @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + + + + ') + + def _get_base_actions(self): + """Return the list of actions, prior to any request-based filtering.""" + actions = [] + + # Gather actions from the admin site first + for (name, func) in self.admin_site.actions: + description = getattr(func, 'short_description', name.replace('_', ' ')) + actions.append((func, name, description)) + # Add actions from this ModelAdmin. + actions.extend(self.get_action(action) for action in self.actions or []) + # get_action might have returned None, so filter any of those out. + return filter(None, actions) + + def _filter_actions_by_permissions(self, request, actions): + """Filter out any actions that the user doesn't have access to.""" + filtered_actions = [] + for action in actions: + callable = action[0] + if not hasattr(callable, 'allowed_permissions'): + filtered_actions.append(action) + continue + permission_checks = ( + getattr(self, 'has_%s_permission' % permission) + for permission in callable.allowed_permissions + ) + if any(has_permission(request) for has_permission in permission_checks): + filtered_actions.append(action) + return filtered_actions + + def get_actions(self, request): + """ + Return a dictionary mapping the names of all actions for this + ModelAdmin to a tuple of (callable, name, description) for each action. + """ + # If self.actions is set to None that means actions are disabled on + # this page. + if self.actions is None or IS_POPUP_VAR in request.GET: + return OrderedDict() + actions = self._filter_actions_by_permissions(request, self._get_base_actions()) + # Convert the actions into an OrderedDict keyed by name. + return OrderedDict( + (name, (func, name, desc)) + for func, name, desc in actions + ) + + def get_action_choices(self, request, default_choices=BLANK_CHOICE_DASH): + """ + Return a list of choices for use in a form object. Each choice is a + tuple (name, description). + """ + choices = [] + default_choices + for func, name, description in self.get_actions(request).values(): + choice = (name, description % model_format_dict(self.opts)) + choices.append(choice) + return choices + + def get_action(self, action): + """ + Return a given action from a parameter, which can either be a callable, + or the name of a method on the ModelAdmin. Return is a tuple of + (callable, name, description). + """ + # If the action is a callable, just use it. + if callable(action): + func = action + action = action.__name__ + + # Next, look for a method. Grab it off self.__class__ to get an unbound + # method instead of a bound one; this ensures that the calling + # conventions are the same for functions and methods. + elif hasattr(self.__class__, action): + func = getattr(self.__class__, action) + + # Finally, look for a named method on the admin site + else: + try: + func = self.admin_site.get_action(action) + except KeyError: + return None + + if hasattr(func, 'short_description'): + description = func.short_description + else: + description = capfirst(action.replace('_', ' ')) + return func, action, description + + def get_list_display(self, request): + """ + Return a sequence containing the fields to be displayed on the + changelist. + """ + return self.list_display + + def get_list_display_links(self, request, list_display): + """ + Return a sequence containing the fields to be displayed as links + on the changelist. The list_display parameter is the list of fields + returned by get_list_display(). + """ + if self.list_display_links or self.list_display_links is None or not list_display: + return self.list_display_links + else: + # Use only the first item in list_display as link + return list(list_display)[:1] + + def get_list_filter(self, request): + """ + Return a sequence containing the fields to be displayed as filters in + the right sidebar of the changelist page. + """ + return self.list_filter + + def get_list_select_related(self, request): + """ + Return a list of fields to add to the select_related() part of the + changelist items query. + """ + return self.list_select_related + + def get_search_fields(self, request): + """ + Return a sequence containing the fields to be searched whenever + somebody submits a search query. + """ + return self.search_fields + + def get_search_results(self, request, queryset, search_term): + """ + Return a tuple containing a queryset to implement the search + and a boolean indicating if the results may contain duplicates. + """ + # Apply keyword searches. + def construct_search(field_name): + if field_name.startswith('^'): + return "%s__istartswith" % field_name[1:] + elif field_name.startswith('='): + return "%s__iexact" % field_name[1:] + elif field_name.startswith('@'): + return "%s__search" % field_name[1:] + # Use field_name if it includes a lookup. + opts = queryset.model._meta + lookup_fields = field_name.split(LOOKUP_SEP) + # Go through the fields, following all relations. + prev_field = None + for path_part in lookup_fields: + if path_part == 'pk': + path_part = opts.pk.name + try: + field = opts.get_field(path_part) + except FieldDoesNotExist: + # Use valid query lookups. + if prev_field and prev_field.get_lookup(path_part): + return field_name + else: + prev_field = field + if hasattr(field, 'get_path_info'): + # Update opts to follow the relation. + opts = field.get_path_info()[-1].to_opts + # Otherwise, use the field with icontains. + return "%s__icontains" % field_name + + use_distinct = False + search_fields = self.get_search_fields(request) + if search_fields and search_term: + orm_lookups = [construct_search(str(search_field)) + for search_field in search_fields] + for bit in search_term.split(): + or_queries = [models.Q(**{orm_lookup: bit}) + for orm_lookup in orm_lookups] + queryset = queryset.filter(reduce(operator.or_, or_queries)) + use_distinct |= any(lookup_needs_distinct(self.opts, search_spec) for search_spec in orm_lookups) + + return queryset, use_distinct + + def get_preserved_filters(self, request): + """ + Return the preserved filters querystring. + """ + match = request.resolver_match + if self.preserve_filters and match: + opts = self.model._meta + current_url = '%s:%s' % (match.app_name, match.url_name) + changelist_url = 'admin:%s_%s_changelist' % (opts.app_label, opts.model_name) + if current_url == changelist_url: + preserved_filters = request.GET.urlencode() + else: + preserved_filters = request.GET.get('_changelist_filters') + + if preserved_filters: + return urlencode({'_changelist_filters': preserved_filters}) + return '' + + def construct_change_message(self, request, form, formsets, add=False): + """ + Construct a JSON structure describing changes from a changed object. + """ + return construct_change_message(form, formsets, add) + + def message_user(self, request, message, level=messages.INFO, extra_tags='', + fail_silently=False): + """ + Send a message to the user. The default implementation + posts a message using the django.contrib.messages backend. + + Exposes almost the same API as messages.add_message(), but accepts the + positional arguments in a different order to maintain backwards + compatibility. For convenience, it accepts the `level` argument as + a string rather than the usual level number. + """ + if not isinstance(level, int): + # attempt to get the level if passed a string + try: + level = getattr(messages.constants, level.upper()) + except AttributeError: + levels = messages.constants.DEFAULT_TAGS.values() + levels_repr = ', '.join('`%s`' % l for l in levels) + raise ValueError( + 'Bad message level string: `%s`. Possible values are: %s' + % (level, levels_repr) + ) + + messages.add_message(request, level, message, extra_tags=extra_tags, fail_silently=fail_silently) + + def save_form(self, request, form, change): + """ + Given a ModelForm return an unsaved instance. ``change`` is True if + the object is being changed, and False if it's being added. + """ + return form.save(commit=False) + + def save_model(self, request, obj, form, change): + """ + Given a model instance save it to the database. + """ + obj.save() + + def delete_model(self, request, obj): + """ + Given a model instance delete it from the database. + """ + obj.delete() + + def delete_queryset(self, request, queryset): + """Given a queryset, delete it from the database.""" + queryset.delete() + + def save_formset(self, request, form, formset, change): + """ + Given an inline formset save it to the database. + """ + formset.save() + + def save_related(self, request, form, formsets, change): + """ + Given the ``HttpRequest``, the parent ``ModelForm`` instance, the + list of inline formsets and a boolean value based on whether the + parent is being added or changed, save the related objects to the + database. Note that at this point save_form() and save_model() have + already been called. + """ + form.save_m2m() + for formset in formsets: + self.save_formset(request, form, formset, change=change) + + def render_change_form(self, request, context, add=False, change=False, form_url='', obj=None): + opts = self.model._meta + app_label = opts.app_label + preserved_filters = self.get_preserved_filters(request) + form_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, form_url) + view_on_site_url = self.get_view_on_site_url(obj) + has_editable_inline_admin_formsets = False + for inline in context['inline_admin_formsets']: + if inline.has_add_permission or inline.has_change_permission or inline.has_delete_permission: + has_editable_inline_admin_formsets = True + break + context.update({ + 'add': add, + 'change': change, + 'has_view_permission': self.has_view_permission(request, obj), + 'has_add_permission': self.has_add_permission(request), + 'has_change_permission': self.has_change_permission(request, obj), + 'has_delete_permission': self.has_delete_permission(request, obj), + 'has_editable_inline_admin_formsets': has_editable_inline_admin_formsets, + 'has_file_field': context['adminform'].form.is_multipart() or any( + admin_formset.formset.form().is_multipart() + for admin_formset in context['inline_admin_formsets'] + ), + 'has_absolute_url': view_on_site_url is not None, + 'absolute_url': view_on_site_url, + 'form_url': form_url, + 'opts': opts, + 'content_type_id': get_content_type_for_model(self.model).pk, + 'save_as': self.save_as, + 'save_on_top': self.save_on_top, + 'to_field_var': TO_FIELD_VAR, + 'is_popup_var': IS_POPUP_VAR, + 'app_label': app_label, + }) + if add and self.add_form_template is not None: + form_template = self.add_form_template + else: + form_template = self.change_form_template + + request.current_app = self.admin_site.name + + return TemplateResponse(request, form_template or [ + "admin/%s/%s/change_form.html" % (app_label, opts.model_name), + "admin/%s/change_form.html" % app_label, + "admin/change_form.html" + ], context) + + def response_add(self, request, obj, post_url_continue=None): + """ + Determine the HttpResponse for the add_view stage. + """ + opts = obj._meta + preserved_filters = self.get_preserved_filters(request) + obj_url = reverse( + 'admin:%s_%s_change' % (opts.app_label, opts.model_name), + args=(quote(obj.pk),), + current_app=self.admin_site.name, + ) + # Add a link to the object's change form if the user can edit the obj. + if self.has_change_permission(request, obj): + obj_repr = format_html('{}', urlquote(obj_url), obj) + else: + obj_repr = str(obj) + msg_dict = { + 'name': opts.verbose_name, + 'obj': obj_repr, + } + # Here, we distinguish between different save types by checking for + # the presence of keys in request.POST. + + if IS_POPUP_VAR in request.POST: + to_field = request.POST.get(TO_FIELD_VAR) + if to_field: + attr = str(to_field) + else: + attr = obj._meta.pk.attname + value = obj.serializable_value(attr) + popup_response_data = json.dumps({ + 'value': str(value), + 'obj': str(obj), + }) + return TemplateResponse(request, self.popup_response_template or [ + 'admin/%s/%s/popup_response.html' % (opts.app_label, opts.model_name), + 'admin/%s/popup_response.html' % opts.app_label, + 'admin/popup_response.html', + ], { + 'popup_response_data': popup_response_data, + }) + + elif "_continue" in request.POST or ( + # Redirecting after "Save as new". + "_saveasnew" in request.POST and self.save_as_continue and + self.has_change_permission(request, obj) + ): + msg = _('The {name} "{obj}" was added successfully.') + if self.has_change_permission(request, obj): + msg += ' ' + _('You may edit it again below.') + self.message_user(request, format_html(msg, **msg_dict), messages.SUCCESS) + if post_url_continue is None: + post_url_continue = obj_url + post_url_continue = add_preserved_filters( + {'preserved_filters': preserved_filters, 'opts': opts}, + post_url_continue + ) + return HttpResponseRedirect(post_url_continue) + + elif "_addanother" in request.POST: + msg = format_html( + _('The {name} "{obj}" was added successfully. You may add another {name} below.'), + **msg_dict + ) + self.message_user(request, msg, messages.SUCCESS) + redirect_url = request.path + redirect_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, redirect_url) + return HttpResponseRedirect(redirect_url) + + else: + msg = format_html( + _('The {name} "{obj}" was added successfully.'), + **msg_dict + ) + self.message_user(request, msg, messages.SUCCESS) + return self.response_post_save_add(request, obj) + + def response_change(self, request, obj): + """ + Determine the HttpResponse for the change_view stage. + """ + + if IS_POPUP_VAR in request.POST: + opts = obj._meta + to_field = request.POST.get(TO_FIELD_VAR) + attr = str(to_field) if to_field else opts.pk.attname + value = request.resolver_match.kwargs['object_id'] + new_value = obj.serializable_value(attr) + popup_response_data = json.dumps({ + 'action': 'change', + 'value': str(value), + 'obj': str(obj), + 'new_value': str(new_value), + }) + return TemplateResponse(request, self.popup_response_template or [ + 'admin/%s/%s/popup_response.html' % (opts.app_label, opts.model_name), + 'admin/%s/popup_response.html' % opts.app_label, + 'admin/popup_response.html', + ], { + 'popup_response_data': popup_response_data, + }) + + opts = self.model._meta + preserved_filters = self.get_preserved_filters(request) + + msg_dict = { + 'name': opts.verbose_name, + 'obj': format_html('{}', urlquote(request.path), obj), + } + if "_continue" in request.POST: + msg = format_html( + _('The {name} "{obj}" was changed successfully. You may edit it again below.'), + **msg_dict + ) + self.message_user(request, msg, messages.SUCCESS) + redirect_url = request.path + redirect_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, redirect_url) + return HttpResponseRedirect(redirect_url) + + elif "_saveasnew" in request.POST: + msg = format_html( + _('The {name} "{obj}" was added successfully. You may edit it again below.'), + **msg_dict + ) + self.message_user(request, msg, messages.SUCCESS) + redirect_url = reverse('admin:%s_%s_change' % + (opts.app_label, opts.model_name), + args=(obj.pk,), + current_app=self.admin_site.name) + redirect_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, redirect_url) + return HttpResponseRedirect(redirect_url) + + elif "_addanother" in request.POST: + msg = format_html( + _('The {name} "{obj}" was changed successfully. You may add another {name} below.'), + **msg_dict + ) + self.message_user(request, msg, messages.SUCCESS) + redirect_url = reverse('admin:%s_%s_add' % + (opts.app_label, opts.model_name), + current_app=self.admin_site.name) + redirect_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, redirect_url) + return HttpResponseRedirect(redirect_url) + + else: + msg = format_html( + _('The {name} "{obj}" was changed successfully.'), + **msg_dict + ) + self.message_user(request, msg, messages.SUCCESS) + return self.response_post_save_change(request, obj) + + def _response_post_save(self, request, obj): + opts = self.model._meta + if self.has_view_or_change_permission(request): + post_url = reverse('admin:%s_%s_changelist' % + (opts.app_label, opts.model_name), + current_app=self.admin_site.name) + preserved_filters = self.get_preserved_filters(request) + post_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, post_url) + else: + post_url = reverse('admin:index', + current_app=self.admin_site.name) + return HttpResponseRedirect(post_url) + + def response_post_save_add(self, request, obj): + """ + Figure out where to redirect after the 'Save' button has been pressed + when adding a new object. + """ + return self._response_post_save(request, obj) + + def response_post_save_change(self, request, obj): + """ + Figure out where to redirect after the 'Save' button has been pressed + when editing an existing object. + """ + return self._response_post_save(request, obj) + + def response_action(self, request, queryset): + """ + Handle an admin action. This is called if a request is POSTed to the + changelist; it returns an HttpResponse if the action was handled, and + None otherwise. + """ + + # There can be multiple action forms on the page (at the top + # and bottom of the change list, for example). Get the action + # whose button was pushed. + try: + action_index = int(request.POST.get('index', 0)) + except ValueError: + action_index = 0 + + # Construct the action form. + data = request.POST.copy() + data.pop(helpers.ACTION_CHECKBOX_NAME, None) + data.pop("index", None) + + # Use the action whose button was pushed + try: + data.update({'action': data.getlist('action')[action_index]}) + except IndexError: + # If we didn't get an action from the chosen form that's invalid + # POST data, so by deleting action it'll fail the validation check + # below. So no need to do anything here + pass + + action_form = self.action_form(data, auto_id=None) + action_form.fields['action'].choices = self.get_action_choices(request) + + # If the form's valid we can handle the action. + if action_form.is_valid(): + action = action_form.cleaned_data['action'] + select_across = action_form.cleaned_data['select_across'] + func = self.get_actions(request)[action][0] + + # Get the list of selected PKs. If nothing's selected, we can't + # perform an action on it, so bail. Except we want to perform + # the action explicitly on all objects. + selected = request.POST.getlist(helpers.ACTION_CHECKBOX_NAME) + if not selected and not select_across: + # Reminder that something needs to be selected or nothing will happen + msg = _("Items must be selected in order to perform " + "actions on them. No items have been changed.") + self.message_user(request, msg, messages.WARNING) + return None + + if not select_across: + # Perform the action only on the selected objects + queryset = queryset.filter(pk__in=selected) + + response = func(self, request, queryset) + + # Actions may return an HttpResponse-like object, which will be + # used as the response from the POST. If not, we'll be a good + # little HTTP citizen and redirect back to the changelist page. + if isinstance(response, HttpResponseBase): + return response + else: + return HttpResponseRedirect(request.get_full_path()) + else: + msg = _("No action selected.") + self.message_user(request, msg, messages.WARNING) + return None + + def response_delete(self, request, obj_display, obj_id): + """ + Determine the HttpResponse for the delete_view stage. + """ + opts = self.model._meta + + if IS_POPUP_VAR in request.POST: + popup_response_data = json.dumps({ + 'action': 'delete', + 'value': str(obj_id), + }) + return TemplateResponse(request, self.popup_response_template or [ + 'admin/%s/%s/popup_response.html' % (opts.app_label, opts.model_name), + 'admin/%s/popup_response.html' % opts.app_label, + 'admin/popup_response.html', + ], { + 'popup_response_data': popup_response_data, + }) + + self.message_user( + request, + _('The %(name)s "%(obj)s" was deleted successfully.') % { + 'name': opts.verbose_name, + 'obj': obj_display, + }, + messages.SUCCESS, + ) + + if self.has_change_permission(request, None): + post_url = reverse( + 'admin:%s_%s_changelist' % (opts.app_label, opts.model_name), + current_app=self.admin_site.name, + ) + preserved_filters = self.get_preserved_filters(request) + post_url = add_preserved_filters( + {'preserved_filters': preserved_filters, 'opts': opts}, post_url + ) + else: + post_url = reverse('admin:index', current_app=self.admin_site.name) + return HttpResponseRedirect(post_url) + + def render_delete_form(self, request, context): + opts = self.model._meta + app_label = opts.app_label + + request.current_app = self.admin_site.name + context.update( + to_field_var=TO_FIELD_VAR, + is_popup_var=IS_POPUP_VAR, + media=self.media, + ) + + return TemplateResponse( + request, + self.delete_confirmation_template or [ + "admin/{}/{}/delete_confirmation.html".format(app_label, opts.model_name), + "admin/{}/delete_confirmation.html".format(app_label), + "admin/delete_confirmation.html", + ], + context, + ) + + def get_inline_formsets(self, request, formsets, inline_instances, obj=None): + inline_admin_formsets = [] + for inline, formset in zip(inline_instances, formsets): + fieldsets = list(inline.get_fieldsets(request, obj)) + readonly = list(inline.get_readonly_fields(request, obj)) + has_add_permission = inline._has_add_permission(request, obj) + has_change_permission = inline.has_change_permission(request, obj) + has_delete_permission = inline.has_delete_permission(request, obj) + has_view_permission = inline.has_view_permission(request, obj) + prepopulated = dict(inline.get_prepopulated_fields(request, obj)) + inline_admin_formset = helpers.InlineAdminFormSet( + inline, formset, fieldsets, prepopulated, readonly, model_admin=self, + has_add_permission=has_add_permission, has_change_permission=has_change_permission, + has_delete_permission=has_delete_permission, has_view_permission=has_view_permission, + ) + inline_admin_formsets.append(inline_admin_formset) + return inline_admin_formsets + + def get_changeform_initial_data(self, request): + """ + Get the initial form data from the request's GET params. + """ + initial = dict(request.GET.items()) + for k in initial: + try: + f = self.model._meta.get_field(k) + except FieldDoesNotExist: + continue + # We have to special-case M2Ms as a list of comma-separated PKs. + if isinstance(f, models.ManyToManyField): + initial[k] = initial[k].split(",") + return initial + + def _get_obj_does_not_exist_redirect(self, request, opts, object_id): + """ + Create a message informing the user that the object doesn't exist + and return a redirect to the admin index page. + """ + msg = _("""%(name)s with ID "%(key)s" doesn't exist. Perhaps it was deleted?""") % { + 'name': opts.verbose_name, + 'key': unquote(object_id), + } + self.message_user(request, msg, messages.WARNING) + url = reverse('admin:index', current_app=self.admin_site.name) + return HttpResponseRedirect(url) + + @csrf_protect_m + def changeform_view(self, request, object_id=None, form_url='', extra_context=None): + with transaction.atomic(using=router.db_for_write(self.model)): + return self._changeform_view(request, object_id, form_url, extra_context) + + def _changeform_view(self, request, object_id, form_url, extra_context): + to_field = request.POST.get(TO_FIELD_VAR, request.GET.get(TO_FIELD_VAR)) + if to_field and not self.to_field_allowed(request, to_field): + raise DisallowedModelAdminToField("The field %s cannot be referenced." % to_field) + + model = self.model + opts = model._meta + + if request.method == 'POST' and '_saveasnew' in request.POST: + object_id = None + + add = object_id is None + + if add: + if not self.has_add_permission(request): + raise PermissionDenied + obj = None + + else: + obj = self.get_object(request, unquote(object_id), to_field) + + if not self.has_view_or_change_permission(request, obj): + raise PermissionDenied + + if obj is None: + return self._get_obj_does_not_exist_redirect(request, opts, object_id) + + ModelForm = self.get_form(request, obj, change=not add) + if request.method == 'POST': + form = ModelForm(request.POST, request.FILES, instance=obj) + form_validated = form.is_valid() + if form_validated: + new_object = self.save_form(request, form, change=not add) + else: + new_object = form.instance + formsets, inline_instances = self._create_formsets(request, new_object, change=not add) + if all_valid(formsets) and form_validated: + self.save_model(request, new_object, form, not add) + self.save_related(request, form, formsets, not add) + change_message = self.construct_change_message(request, form, formsets, add) + if add: + self.log_addition(request, new_object, change_message) + return self.response_add(request, new_object) + else: + self.log_change(request, new_object, change_message) + return self.response_change(request, new_object) + else: + form_validated = False + else: + if add: + initial = self.get_changeform_initial_data(request) + form = ModelForm(initial=initial) + formsets, inline_instances = self._create_formsets(request, form.instance, change=False) + else: + form = ModelForm(instance=obj) + formsets, inline_instances = self._create_formsets(request, obj, change=True) + + if not add and not self.has_change_permission(request, obj): + readonly_fields = flatten_fieldsets(self.get_fieldsets(request, obj)) + else: + readonly_fields = self.get_readonly_fields(request, obj) + adminForm = helpers.AdminForm( + form, + list(self.get_fieldsets(request, obj)), + # Clear prepopulated fields on a view-only form to avoid a crash. + self.get_prepopulated_fields(request, obj) if add or self.has_change_permission(request, obj) else {}, + readonly_fields, + model_admin=self) + media = self.media + adminForm.media + + inline_formsets = self.get_inline_formsets(request, formsets, inline_instances, obj) + for inline_formset in inline_formsets: + media = media + inline_formset.media + + if add: + title = _('Add %s') + elif self.has_change_permission(request, obj): + title = _('Change %s') + else: + title = _('View %s') + context = { + **self.admin_site.each_context(request), + 'title': title % opts.verbose_name, + 'adminform': adminForm, + 'object_id': object_id, + 'original': obj, + 'is_popup': IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET, + 'to_field': to_field, + 'media': media, + 'inline_admin_formsets': inline_formsets, + 'errors': helpers.AdminErrorList(form, formsets), + 'preserved_filters': self.get_preserved_filters(request), + } + + # Hide the "Save" and "Save and continue" buttons if "Save as New" was + # previously chosen to prevent the interface from getting confusing. + if request.method == 'POST' and not form_validated and "_saveasnew" in request.POST: + context['show_save'] = False + context['show_save_and_continue'] = False + # Use the change template instead of the add template. + add = False + + context.update(extra_context or {}) + + return self.render_change_form(request, context, add=add, change=not add, obj=obj, form_url=form_url) + + def autocomplete_view(self, request): + return AutocompleteJsonView.as_view(model_admin=self)(request) + + def add_view(self, request, form_url='', extra_context=None): + return self.changeform_view(request, None, form_url, extra_context) + + def change_view(self, request, object_id, form_url='', extra_context=None): + return self.changeform_view(request, object_id, form_url, extra_context) + + def _get_edited_object_pks(self, request, prefix): + """Return POST data values of list_editable primary keys.""" + pk_pattern = re.compile(r'{}-\d+-{}$'.format(prefix, self.model._meta.pk.name)) + return [value for key, value in request.POST.items() if pk_pattern.match(key)] + + def _get_list_editable_queryset(self, request, prefix): + """ + Based on POST data, return a queryset of the objects that were edited + via list_editable. + """ + object_pks = self._get_edited_object_pks(request, prefix) + queryset = self.get_queryset(request) + validate = queryset.model._meta.pk.to_python + try: + for pk in object_pks: + validate(pk) + except ValidationError: + # Disable the optimization if the POST data was tampered with. + return queryset + return queryset.filter(pk__in=object_pks) + + @csrf_protect_m + def changelist_view(self, request, extra_context=None): + """ + The 'change list' admin view for this model. + """ + from django.contrib.admin.views.main import ERROR_FLAG + opts = self.model._meta + app_label = opts.app_label + if not self.has_view_or_change_permission(request): + raise PermissionDenied + + try: + cl = self.get_changelist_instance(request) + except IncorrectLookupParameters: + # Wacky lookup parameters were given, so redirect to the main + # changelist page, without parameters, and pass an 'invalid=1' + # parameter via the query string. If wacky parameters were given + # and the 'invalid=1' parameter was already in the query string, + # something is screwed up with the database, so display an error + # page. + if ERROR_FLAG in request.GET: + return SimpleTemplateResponse('admin/invalid_setup.html', { + 'title': _('Database error'), + }) + return HttpResponseRedirect(request.path + '?' + ERROR_FLAG + '=1') + + # If the request was POSTed, this might be a bulk action or a bulk + # edit. Try to look up an action or confirmation first, but if this + # isn't an action the POST will fall through to the bulk edit check, + # below. + action_failed = False + selected = request.POST.getlist(helpers.ACTION_CHECKBOX_NAME) + + actions = self.get_actions(request) + # Actions with no confirmation + if (actions and request.method == 'POST' and + 'index' in request.POST and '_save' not in request.POST): + if selected: + response = self.response_action(request, queryset=cl.get_queryset(request)) + if response: + return response + else: + action_failed = True + else: + msg = _("Items must be selected in order to perform " + "actions on them. No items have been changed.") + self.message_user(request, msg, messages.WARNING) + action_failed = True + + # Actions with confirmation + if (actions and request.method == 'POST' and + helpers.ACTION_CHECKBOX_NAME in request.POST and + 'index' not in request.POST and '_save' not in request.POST): + if selected: + response = self.response_action(request, queryset=cl.get_queryset(request)) + if response: + return response + else: + action_failed = True + + if action_failed: + # Redirect back to the changelist page to avoid resubmitting the + # form if the user refreshes the browser or uses the "No, take + # me back" button on the action confirmation page. + return HttpResponseRedirect(request.get_full_path()) + + # If we're allowing changelist editing, we need to construct a formset + # for the changelist given all the fields to be edited. Then we'll + # use the formset to validate/process POSTed data. + formset = cl.formset = None + + # Handle POSTed bulk-edit data. + if request.method == 'POST' and cl.list_editable and '_save' in request.POST: + if not self.has_change_permission(request): + raise PermissionDenied + FormSet = self.get_changelist_formset(request) + modified_objects = self._get_list_editable_queryset(request, FormSet.get_default_prefix()) + formset = cl.formset = FormSet(request.POST, request.FILES, queryset=modified_objects) + if formset.is_valid(): + changecount = 0 + for form in formset.forms: + if form.has_changed(): + obj = self.save_form(request, form, change=True) + self.save_model(request, obj, form, change=True) + self.save_related(request, form, formsets=[], change=True) + change_msg = self.construct_change_message(request, form, None) + self.log_change(request, obj, change_msg) + changecount += 1 + + if changecount: + msg = ngettext( + "%(count)s %(name)s was changed successfully.", + "%(count)s %(name)s were changed successfully.", + changecount + ) % { + 'count': changecount, + 'name': model_ngettext(opts, changecount), + } + self.message_user(request, msg, messages.SUCCESS) + + return HttpResponseRedirect(request.get_full_path()) + + # Handle GET -- construct a formset for display. + elif cl.list_editable and self.has_change_permission(request): + FormSet = self.get_changelist_formset(request) + formset = cl.formset = FormSet(queryset=cl.result_list) + + # Build the list of media to be used by the formset. + if formset: + media = self.media + formset.media + else: + media = self.media + + # Build the action form and populate it with available actions. + if actions: + action_form = self.action_form(auto_id=None) + action_form.fields['action'].choices = self.get_action_choices(request) + media += action_form.media + else: + action_form = None + + selection_note_all = ngettext( + '%(total_count)s selected', + 'All %(total_count)s selected', + cl.result_count + ) + + context = { + **self.admin_site.each_context(request), + 'module_name': str(opts.verbose_name_plural), + 'selection_note': _('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)}, + 'selection_note_all': selection_note_all % {'total_count': cl.result_count}, + 'title': cl.title, + 'is_popup': cl.is_popup, + 'to_field': cl.to_field, + 'cl': cl, + 'media': media, + 'has_add_permission': self.has_add_permission(request), + 'opts': cl.opts, + 'action_form': action_form, + 'actions_on_top': self.actions_on_top, + 'actions_on_bottom': self.actions_on_bottom, + 'actions_selection_counter': self.actions_selection_counter, + 'preserved_filters': self.get_preserved_filters(request), + **(extra_context or {}), + } + + request.current_app = self.admin_site.name + + return TemplateResponse(request, self.change_list_template or [ + 'admin/%s/%s/change_list.html' % (app_label, opts.model_name), + 'admin/%s/change_list.html' % app_label, + 'admin/change_list.html' + ], context) + + def get_deleted_objects(self, objs, request): + """ + Hook for customizing the delete process for the delete view and the + "delete selected" action. + """ + return get_deleted_objects(objs, request, self.admin_site) + + @csrf_protect_m + def delete_view(self, request, object_id, extra_context=None): + with transaction.atomic(using=router.db_for_write(self.model)): + return self._delete_view(request, object_id, extra_context) + + def _delete_view(self, request, object_id, extra_context): + "The 'delete' admin view for this model." + opts = self.model._meta + app_label = opts.app_label + + to_field = request.POST.get(TO_FIELD_VAR, request.GET.get(TO_FIELD_VAR)) + if to_field and not self.to_field_allowed(request, to_field): + raise DisallowedModelAdminToField("The field %s cannot be referenced." % to_field) + + obj = self.get_object(request, unquote(object_id), to_field) + + if not self.has_delete_permission(request, obj): + raise PermissionDenied + + if obj is None: + return self._get_obj_does_not_exist_redirect(request, opts, object_id) + + # Populate deleted_objects, a data structure of all related objects that + # will also be deleted. + deleted_objects, model_count, perms_needed, protected = self.get_deleted_objects([obj], request) + + if request.POST and not protected: # The user has confirmed the deletion. + if perms_needed: + raise PermissionDenied + obj_display = str(obj) + attr = str(to_field) if to_field else opts.pk.attname + obj_id = obj.serializable_value(attr) + self.log_deletion(request, obj, obj_display) + self.delete_model(request, obj) + + return self.response_delete(request, obj_display, obj_id) + + object_name = str(opts.verbose_name) + + if perms_needed or protected: + title = _("Cannot delete %(name)s") % {"name": object_name} + else: + title = _("Are you sure?") + + context = { + **self.admin_site.each_context(request), + 'title': title, + 'object_name': object_name, + 'object': obj, + 'deleted_objects': deleted_objects, + 'model_count': dict(model_count).items(), + 'perms_lacking': perms_needed, + 'protected': protected, + 'opts': opts, + 'app_label': app_label, + 'preserved_filters': self.get_preserved_filters(request), + 'is_popup': IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET, + 'to_field': to_field, + **(extra_context or {}), + } + + return self.render_delete_form(request, context) + + def history_view(self, request, object_id, extra_context=None): + "The 'history' admin view for this model." + from django.contrib.admin.models import LogEntry + # First check if the user can see this history. + model = self.model + obj = self.get_object(request, unquote(object_id)) + if obj is None: + return self._get_obj_does_not_exist_redirect(request, model._meta, object_id) + + if not self.has_view_or_change_permission(request, obj): + raise PermissionDenied + + # Then get the history for this object. + opts = model._meta + app_label = opts.app_label + action_list = LogEntry.objects.filter( + object_id=unquote(object_id), + content_type=get_content_type_for_model(model) + ).select_related().order_by('action_time') + + context = { + **self.admin_site.each_context(request), + 'title': _('Change history: %s') % obj, + 'action_list': action_list, + 'module_name': str(capfirst(opts.verbose_name_plural)), + 'object': obj, + 'opts': opts, + 'preserved_filters': self.get_preserved_filters(request), + **(extra_context or {}), + } + + request.current_app = self.admin_site.name + + return TemplateResponse(request, self.object_history_template or [ + "admin/%s/%s/object_history.html" % (app_label, opts.model_name), + "admin/%s/object_history.html" % app_label, + "admin/object_history.html" + ], context) + + def _create_formsets(self, request, obj, change): + "Helper function to generate formsets for add/change_view." + formsets = [] + inline_instances = [] + prefixes = {} + get_formsets_args = [request] + if change: + get_formsets_args.append(obj) + for FormSet, inline in self.get_formsets_with_inlines(*get_formsets_args): + prefix = FormSet.get_default_prefix() + prefixes[prefix] = prefixes.get(prefix, 0) + 1 + if prefixes[prefix] != 1 or not prefix: + prefix = "%s-%s" % (prefix, prefixes[prefix]) + formset_params = { + 'instance': obj, + 'prefix': prefix, + 'queryset': inline.get_queryset(request), + } + if request.method == 'POST': + formset_params.update({ + 'data': request.POST.copy(), + 'files': request.FILES, + 'save_as_new': '_saveasnew' in request.POST + }) + formset = FormSet(**formset_params) + + def user_deleted_form(request, obj, formset, index): + """Return whether or not the user deleted the form.""" + return ( + inline.has_delete_permission(request, obj) and + '{}-{}-DELETE'.format(formset.prefix, index) in request.POST + ) + + # Bypass validation of each view-only inline form (since the form's + # data won't be in request.POST), unless the form was deleted. + if not inline.has_change_permission(request, obj if change else None): + for index, form in enumerate(formset.initial_forms): + if user_deleted_form(request, obj, formset, index): + continue + form._errors = {} + form.cleaned_data = form.initial + formsets.append(formset) + inline_instances.append(inline) + return formsets, inline_instances + + +class InlineModelAdmin(BaseModelAdmin): + """ + Options for inline editing of ``model`` instances. + + Provide ``fk_name`` to specify the attribute name of the ``ForeignKey`` + from ``model`` to its parent. This is required if ``model`` has more than + one ``ForeignKey`` to its parent. + """ + model = None + fk_name = None + formset = BaseInlineFormSet + extra = 3 + min_num = None + max_num = None + template = None + verbose_name = None + verbose_name_plural = None + can_delete = True + show_change_link = False + checks_class = InlineModelAdminChecks + classes = None + + def __init__(self, parent_model, admin_site): + self.admin_site = admin_site + self.parent_model = parent_model + self.opts = self.model._meta + self.has_registered_model = admin_site.is_registered(self.model) + super().__init__() + if self.verbose_name is None: + self.verbose_name = self.model._meta.verbose_name + if self.verbose_name_plural is None: + self.verbose_name_plural = self.model._meta.verbose_name_plural + + @property + def media(self): + extra = '' if settings.DEBUG else '.min' + js = ['vendor/jquery/jquery%s.js' % extra, 'jquery.init.js', + 'inlines%s.js' % extra] + if self.filter_vertical or self.filter_horizontal: + js.extend(['SelectBox.js', 'SelectFilter2.js']) + if self.classes and 'collapse' in self.classes: + js.append('collapse%s.js' % extra) + return forms.Media(js=['admin/js/%s' % url for url in js]) + + def _has_add_permission(self, request, obj): + # RemovedInDjango30Warning: obj will be a required argument. + args = get_func_args(self.has_add_permission) + return self.has_add_permission(request, obj) if 'obj' in args else self.has_add_permission(request) + + def get_extra(self, request, obj=None, **kwargs): + """Hook for customizing the number of extra inline forms.""" + return self.extra + + def get_min_num(self, request, obj=None, **kwargs): + """Hook for customizing the min number of inline forms.""" + return self.min_num + + def get_max_num(self, request, obj=None, **kwargs): + """Hook for customizing the max number of extra inline forms.""" + return self.max_num + + def get_formset(self, request, obj=None, **kwargs): + """Return a BaseInlineFormSet class for use in admin add/change views.""" + if 'fields' in kwargs: + fields = kwargs.pop('fields') + else: + fields = flatten_fieldsets(self.get_fieldsets(request, obj)) + excluded = self.get_exclude(request, obj) + exclude = [] if excluded is None else list(excluded) + exclude.extend(self.get_readonly_fields(request, obj)) + if excluded is None and hasattr(self.form, '_meta') and self.form._meta.exclude: + # Take the custom ModelForm's Meta.exclude into account only if the + # InlineModelAdmin doesn't define its own. + exclude.extend(self.form._meta.exclude) + # If exclude is an empty list we use None, since that's the actual + # default. + exclude = exclude or None + can_delete = self.can_delete and self.has_delete_permission(request, obj) + defaults = { + 'form': self.form, + 'formset': self.formset, + 'fk_name': self.fk_name, + 'fields': fields, + 'exclude': exclude, + 'formfield_callback': partial(self.formfield_for_dbfield, request=request), + 'extra': self.get_extra(request, obj, **kwargs), + 'min_num': self.get_min_num(request, obj, **kwargs), + 'max_num': self.get_max_num(request, obj, **kwargs), + 'can_delete': can_delete, + **kwargs, + } + + base_model_form = defaults['form'] + can_change = self.has_change_permission(request, obj) if request else True + can_add = self._has_add_permission(request, obj) if request else True + + class DeleteProtectedModelForm(base_model_form): + + def hand_clean_DELETE(self): + """ + We don't validate the 'DELETE' field itself because on + templates it's not rendered using the field information, but + just using a generic "deletion_field" of the InlineModelAdmin. + """ + if self.cleaned_data.get(DELETION_FIELD_NAME, False): + using = router.db_for_write(self._meta.model) + collector = NestedObjects(using=using) + if self.instance._state.adding: + return + collector.collect([self.instance]) + if collector.protected: + objs = [] + for p in collector.protected: + objs.append( + # Translators: Model verbose name and instance representation, + # suitable to be an item in a list. + _('%(class_name)s %(instance)s') % { + 'class_name': p._meta.verbose_name, + 'instance': p} + ) + params = { + 'class_name': self._meta.model._meta.verbose_name, + 'instance': self.instance, + 'related_objects': get_text_list(objs, _('and')), + } + msg = _("Deleting %(class_name)s %(instance)s would require " + "deleting the following protected related objects: " + "%(related_objects)s") + raise ValidationError(msg, code='deleting_protected', params=params) + + def is_valid(self): + result = super().is_valid() + self.hand_clean_DELETE() + return result + + def has_changed(self): + # Protect against unauthorized edits. + if not can_change and not self.instance._state.adding: + return False + if not can_add and self.instance._state.adding: + return False + return super().has_changed() + + defaults['form'] = DeleteProtectedModelForm + + if defaults['fields'] is None and not modelform_defines_fields(defaults['form']): + defaults['fields'] = forms.ALL_FIELDS + + return inlineformset_factory(self.parent_model, self.model, **defaults) + + def _get_form_for_get_fields(self, request, obj=None): + return self.get_formset(request, obj, fields=None).form + + def get_queryset(self, request): + queryset = super().get_queryset(request) + if not self.has_view_or_change_permission(request): + queryset = queryset.none() + return queryset + + def _has_any_perms_for_target_model(self, request, perms): + """ + This method is called only when the ModelAdmin's model is for an + ManyToManyField's implicit through model (if self.opts.auto_created). + Return True if the user has any of the given permissions ('add', + 'change', etc.) for the model that points to the through model. + """ + opts = self.opts + # Find the target model of an auto-created many-to-many relationship. + for field in opts.fields: + if field.remote_field and field.remote_field.model != self.parent_model: + opts = field.remote_field.model._meta + break + return any( + request.user.has_perm('%s.%s' % (opts.app_label, get_permission_codename(perm, opts))) + for perm in perms + ) + + def has_add_permission(self, request, obj=None): + # RemovedInDjango30Warning: obj becomes a mandatory argument. + if self.opts.auto_created: + # Auto-created intermediate models don't have their own + # permissions. The user needs to have the change permission for the + # related model in order to be able to do anything with the + # intermediate model. + return self._has_any_perms_for_target_model(request, ['change']) + return super().has_add_permission(request) + + def has_change_permission(self, request, obj=None): + if self.opts.auto_created: + # Same comment as has_add_permission(). + return self._has_any_perms_for_target_model(request, ['change']) + return super().has_change_permission(request) + + def has_delete_permission(self, request, obj=None): + if self.opts.auto_created: + # Same comment as has_add_permission(). + return self._has_any_perms_for_target_model(request, ['change']) + return super().has_delete_permission(request, obj) + + def has_view_permission(self, request, obj=None): + if self.opts.auto_created: + # Same comment as has_add_permission(). The 'change' permission + # also implies the 'view' permission. + return self._has_any_perms_for_target_model(request, ['view', 'change']) + return super().has_view_permission(request) + + +class StackedInline(InlineModelAdmin): + template = 'admin/edit_inline/stacked.html' + + +class TabularInline(InlineModelAdmin): + template = 'admin/edit_inline/tabular.html' diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/sites.py b/news/venv/lib/python3.7/site-packages/django/contrib/admin/sites.py new file mode 100644 index 0000000..6842f49 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/sites.py @@ -0,0 +1,537 @@ +from functools import update_wrapper +from weakref import WeakSet + +from django.apps import apps +from django.contrib.admin import ModelAdmin, actions +from django.contrib.auth import REDIRECT_FIELD_NAME +from django.core.exceptions import ImproperlyConfigured +from django.db.models.base import ModelBase +from django.http import Http404, HttpResponseRedirect +from django.template.response import TemplateResponse +from django.urls import NoReverseMatch, reverse +from django.utils.functional import LazyObject +from django.utils.module_loading import import_string +from django.utils.text import capfirst +from django.utils.translation import gettext as _, gettext_lazy +from django.views.decorators.cache import never_cache +from django.views.decorators.csrf import csrf_protect +from django.views.i18n import JavaScriptCatalog + +all_sites = WeakSet() + + +class AlreadyRegistered(Exception): + pass + + +class NotRegistered(Exception): + pass + + +class AdminSite: + """ + An AdminSite object encapsulates an instance of the Django admin application, ready + to be hooked in to your URLconf. Models are registered with the AdminSite using the + register() method, and the get_urls() method can then be used to access Django view + functions that present a full admin interface for the collection of registered + models. + """ + + # Text to put at the end of each page's . + site_title = gettext_lazy('Django site admin') + + # Text to put in each page's <h1>. + site_header = gettext_lazy('Django administration') + + # Text to put at the top of the admin index page. + index_title = gettext_lazy('Site administration') + + # URL for the "View site" link at the top of each admin page. + site_url = '/' + + _empty_value_display = '-' + + login_form = None + index_template = None + app_index_template = None + login_template = None + logout_template = None + password_change_template = None + password_change_done_template = None + + def __init__(self, name='admin'): + self._registry = {} # model_class class -> admin_class instance + self.name = name + self._actions = {'delete_selected': actions.delete_selected} + self._global_actions = self._actions.copy() + all_sites.add(self) + + def check(self, app_configs): + """ + Run the system checks on all ModelAdmins, except if they aren't + customized at all. + """ + if app_configs is None: + app_configs = apps.get_app_configs() + app_configs = set(app_configs) # Speed up lookups below + + errors = [] + modeladmins = (o for o in self._registry.values() if o.__class__ is not ModelAdmin) + for modeladmin in modeladmins: + if modeladmin.model._meta.app_config in app_configs: + errors.extend(modeladmin.check()) + return errors + + def register(self, model_or_iterable, admin_class=None, **options): + """ + Register the given model(s) with the given admin class. + + The model(s) should be Model classes, not instances. + + If an admin class isn't given, use ModelAdmin (the default admin + options). If keyword arguments are given -- e.g., list_display -- + apply them as options to the admin class. + + If a model is already registered, raise AlreadyRegistered. + + If a model is abstract, raise ImproperlyConfigured. + """ + admin_class = admin_class or ModelAdmin + if isinstance(model_or_iterable, ModelBase): + model_or_iterable = [model_or_iterable] + for model in model_or_iterable: + if model._meta.abstract: + raise ImproperlyConfigured( + 'The model %s is abstract, so it cannot be registered with admin.' % model.__name__ + ) + + if model in self._registry: + raise AlreadyRegistered('The model %s is already registered' % model.__name__) + + # Ignore the registration if the model has been + # swapped out. + if not model._meta.swapped: + # If we got **options then dynamically construct a subclass of + # admin_class with those **options. + if options: + # For reasons I don't quite understand, without a __module__ + # the created class appears to "live" in the wrong place, + # which causes issues later on. + options['__module__'] = __name__ + admin_class = type("%sAdmin" % model.__name__, (admin_class,), options) + + # Instantiate the admin class to save in the registry + self._registry[model] = admin_class(model, self) + + def unregister(self, model_or_iterable): + """ + Unregister the given model(s). + + If a model isn't already registered, raise NotRegistered. + """ + if isinstance(model_or_iterable, ModelBase): + model_or_iterable = [model_or_iterable] + for model in model_or_iterable: + if model not in self._registry: + raise NotRegistered('The model %s is not registered' % model.__name__) + del self._registry[model] + + def is_registered(self, model): + """ + Check if a model class is registered with this `AdminSite`. + """ + return model in self._registry + + def add_action(self, action, name=None): + """ + Register an action to be available globally. + """ + name = name or action.__name__ + self._actions[name] = action + self._global_actions[name] = action + + def disable_action(self, name): + """ + Disable a globally-registered action. Raise KeyError for invalid names. + """ + del self._actions[name] + + def get_action(self, name): + """ + Explicitly get a registered global action whether it's enabled or + not. Raise KeyError for invalid names. + """ + return self._global_actions[name] + + @property + def actions(self): + """ + Get all the enabled actions as an iterable of (name, func). + """ + return self._actions.items() + + @property + def empty_value_display(self): + return self._empty_value_display + + @empty_value_display.setter + def empty_value_display(self, empty_value_display): + self._empty_value_display = empty_value_display + + def has_permission(self, request): + """ + Return True if the given HttpRequest has permission to view + *at least one* page in the admin site. + """ + return request.user.is_active and request.user.is_staff + + def admin_view(self, view, cacheable=False): + """ + Decorator to create an admin view attached to this ``AdminSite``. This + wraps the view and provides permission checking by calling + ``self.has_permission``. + + You'll want to use this from within ``AdminSite.get_urls()``: + + class MyAdminSite(AdminSite): + + def get_urls(self): + from django.urls import path + + urls = super().get_urls() + urls += [ + path('my_view/', self.admin_view(some_view)) + ] + return urls + + By default, admin_views are marked non-cacheable using the + ``never_cache`` decorator. If the view can be safely cached, set + cacheable=True. + """ + def inner(request, *args, **kwargs): + if not self.has_permission(request): + if request.path == reverse('admin:logout', current_app=self.name): + index_path = reverse('admin:index', current_app=self.name) + return HttpResponseRedirect(index_path) + # Inner import to prevent django.contrib.admin (app) from + # importing django.contrib.auth.models.User (unrelated model). + from django.contrib.auth.views import redirect_to_login + return redirect_to_login( + request.get_full_path(), + reverse('admin:login', current_app=self.name) + ) + return view(request, *args, **kwargs) + if not cacheable: + inner = never_cache(inner) + # We add csrf_protect here so this function can be used as a utility + # function for any view, without having to repeat 'csrf_protect'. + if not getattr(view, 'csrf_exempt', False): + inner = csrf_protect(inner) + return update_wrapper(inner, view) + + def get_urls(self): + from django.urls import include, path, re_path + # Since this module gets imported in the application's root package, + # it cannot import models from other applications at the module level, + # and django.contrib.contenttypes.views imports ContentType. + from django.contrib.contenttypes import views as contenttype_views + + def wrap(view, cacheable=False): + def wrapper(*args, **kwargs): + return self.admin_view(view, cacheable)(*args, **kwargs) + wrapper.admin_site = self + return update_wrapper(wrapper, view) + + # Admin-site-wide views. + urlpatterns = [ + path('', wrap(self.index), name='index'), + path('login/', self.login, name='login'), + path('logout/', wrap(self.logout), name='logout'), + path('password_change/', wrap(self.password_change, cacheable=True), name='password_change'), + path( + 'password_change/done/', + wrap(self.password_change_done, cacheable=True), + name='password_change_done', + ), + path('jsi18n/', wrap(self.i18n_javascript, cacheable=True), name='jsi18n'), + path( + 'r/<int:content_type_id>/<path:object_id>/', + wrap(contenttype_views.shortcut), + name='view_on_site', + ), + ] + + # Add in each model's views, and create a list of valid URLS for the + # app_index + valid_app_labels = [] + for model, model_admin in self._registry.items(): + urlpatterns += [ + path('%s/%s/' % (model._meta.app_label, model._meta.model_name), include(model_admin.urls)), + ] + if model._meta.app_label not in valid_app_labels: + valid_app_labels.append(model._meta.app_label) + + # If there were ModelAdmins registered, we should have a list of app + # labels for which we need to allow access to the app_index view, + if valid_app_labels: + regex = r'^(?P<app_label>' + '|'.join(valid_app_labels) + ')/$' + urlpatterns += [ + re_path(regex, wrap(self.app_index), name='app_list'), + ] + return urlpatterns + + @property + def urls(self): + return self.get_urls(), 'admin', self.name + + def each_context(self, request): + """ + Return a dictionary of variables to put in the template context for + *every* page in the admin site. + + For sites running on a subpath, use the SCRIPT_NAME value if site_url + hasn't been customized. + """ + script_name = request.META['SCRIPT_NAME'] + site_url = script_name if self.site_url == '/' and script_name else self.site_url + return { + 'site_title': self.site_title, + 'site_header': self.site_header, + 'site_url': site_url, + 'has_permission': self.has_permission(request), + 'available_apps': self.get_app_list(request), + 'is_popup': False, + } + + def password_change(self, request, extra_context=None): + """ + Handle the "change password" task -- both form display and validation. + """ + from django.contrib.admin.forms import AdminPasswordChangeForm + from django.contrib.auth.views import PasswordChangeView + url = reverse('admin:password_change_done', current_app=self.name) + defaults = { + 'form_class': AdminPasswordChangeForm, + 'success_url': url, + 'extra_context': {**self.each_context(request), **(extra_context or {})}, + } + if self.password_change_template is not None: + defaults['template_name'] = self.password_change_template + request.current_app = self.name + return PasswordChangeView.as_view(**defaults)(request) + + def password_change_done(self, request, extra_context=None): + """ + Display the "success" page after a password change. + """ + from django.contrib.auth.views import PasswordChangeDoneView + defaults = { + 'extra_context': {**self.each_context(request), **(extra_context or {})}, + } + if self.password_change_done_template is not None: + defaults['template_name'] = self.password_change_done_template + request.current_app = self.name + return PasswordChangeDoneView.as_view(**defaults)(request) + + def i18n_javascript(self, request, extra_context=None): + """ + Display the i18n JavaScript that the Django admin requires. + + `extra_context` is unused but present for consistency with the other + admin views. + """ + return JavaScriptCatalog.as_view(packages=['django.contrib.admin'])(request) + + @never_cache + def logout(self, request, extra_context=None): + """ + Log out the user for the given HttpRequest. + + This should *not* assume the user is already logged in. + """ + from django.contrib.auth.views import LogoutView + defaults = { + 'extra_context': { + **self.each_context(request), + # Since the user isn't logged out at this point, the value of + # has_permission must be overridden. + 'has_permission': False, + **(extra_context or {}) + }, + } + if self.logout_template is not None: + defaults['template_name'] = self.logout_template + request.current_app = self.name + return LogoutView.as_view(**defaults)(request) + + @never_cache + def login(self, request, extra_context=None): + """ + Display the login form for the given HttpRequest. + """ + if request.method == 'GET' and self.has_permission(request): + # Already logged-in, redirect to admin index + index_path = reverse('admin:index', current_app=self.name) + return HttpResponseRedirect(index_path) + + from django.contrib.auth.views import LoginView + # Since this module gets imported in the application's root package, + # it cannot import models from other applications at the module level, + # and django.contrib.admin.forms eventually imports User. + from django.contrib.admin.forms import AdminAuthenticationForm + context = { + **self.each_context(request), + 'title': _('Log in'), + 'app_path': request.get_full_path(), + 'username': request.user.get_username(), + } + if (REDIRECT_FIELD_NAME not in request.GET and + REDIRECT_FIELD_NAME not in request.POST): + context[REDIRECT_FIELD_NAME] = reverse('admin:index', current_app=self.name) + context.update(extra_context or {}) + + defaults = { + 'extra_context': context, + 'authentication_form': self.login_form or AdminAuthenticationForm, + 'template_name': self.login_template or 'admin/login.html', + } + request.current_app = self.name + return LoginView.as_view(**defaults)(request) + + def _build_app_dict(self, request, label=None): + """ + Build the app dictionary. The optional `label` parameter filters models + of a specific app. + """ + app_dict = {} + + if label: + models = { + m: m_a for m, m_a in self._registry.items() + if m._meta.app_label == label + } + else: + models = self._registry + + for model, model_admin in models.items(): + app_label = model._meta.app_label + + has_module_perms = model_admin.has_module_permission(request) + if not has_module_perms: + continue + + perms = model_admin.get_model_perms(request) + + # Check whether user has any perm for this module. + # If so, add the module to the model_list. + if True not in perms.values(): + continue + + info = (app_label, model._meta.model_name) + model_dict = { + 'name': capfirst(model._meta.verbose_name_plural), + 'object_name': model._meta.object_name, + 'perms': perms, + 'admin_url': None, + 'add_url': None, + } + if perms.get('change') or perms.get('view'): + model_dict['view_only'] = not perms.get('change') + try: + model_dict['admin_url'] = reverse('admin:%s_%s_changelist' % info, current_app=self.name) + except NoReverseMatch: + pass + if perms.get('add'): + try: + model_dict['add_url'] = reverse('admin:%s_%s_add' % info, current_app=self.name) + except NoReverseMatch: + pass + + if app_label in app_dict: + app_dict[app_label]['models'].append(model_dict) + else: + app_dict[app_label] = { + 'name': apps.get_app_config(app_label).verbose_name, + 'app_label': app_label, + 'app_url': reverse( + 'admin:app_list', + kwargs={'app_label': app_label}, + current_app=self.name, + ), + 'has_module_perms': has_module_perms, + 'models': [model_dict], + } + + if label: + return app_dict.get(label) + return app_dict + + def get_app_list(self, request): + """ + Return a sorted list of all the installed apps that have been + registered in this site. + """ + app_dict = self._build_app_dict(request) + + # Sort the apps alphabetically. + app_list = sorted(app_dict.values(), key=lambda x: x['name'].lower()) + + # Sort the models alphabetically within each app. + for app in app_list: + app['models'].sort(key=lambda x: x['name']) + + return app_list + + @never_cache + def index(self, request, extra_context=None): + """ + Display the main admin index page, which lists all of the installed + apps that have been registered in this site. + """ + app_list = self.get_app_list(request) + + context = { + **self.each_context(request), + 'title': self.index_title, + 'app_list': app_list, + **(extra_context or {}), + } + + request.current_app = self.name + + return TemplateResponse(request, self.index_template or 'admin/index.html', context) + + def app_index(self, request, app_label, extra_context=None): + app_dict = self._build_app_dict(request, app_label) + if not app_dict: + raise Http404('The requested admin page does not exist.') + # Sort the models alphabetically within each app. + app_dict['models'].sort(key=lambda x: x['name']) + app_name = apps.get_app_config(app_label).verbose_name + context = { + **self.each_context(request), + 'title': _('%(app)s administration') % {'app': app_name}, + 'app_list': [app_dict], + 'app_label': app_label, + **(extra_context or {}), + } + + request.current_app = self.name + + return TemplateResponse(request, self.app_index_template or [ + 'admin/%s/app_index.html' % app_label, + 'admin/app_index.html' + ], context) + + +class DefaultAdminSite(LazyObject): + def _setup(self): + AdminSiteClass = import_string(apps.get_app_config('admin').default_site) + self._wrapped = AdminSiteClass() + + +# This global object represents the default admin site, for the common case. +# You can provide your own AdminSite using the (Simple)AdminConfig.default_site +# attribute. You can also instantiate AdminSite in your own code to create a +# custom admin site. +site = DefaultAdminSite() diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/autocomplete.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/autocomplete.css new file mode 100644 index 0000000..3ef95d1 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/autocomplete.css @@ -0,0 +1,260 @@ +select.admin-autocomplete { + width: 20em; +} + +.select2-container--admin-autocomplete.select2-container { + min-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single, +.select2-container--admin-autocomplete .select2-selection--multiple { + min-height: 30px; + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection, +.select2-container--admin-autocomplete.select2-container--open .select2-selection { + border-color: #999; + min-height: 30px; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--single, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--single { + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--multiple, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--multiple { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-selection--single { + background-color: #fff; + border: 1px solid #ccc; + border-radius: 4px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder { + color: #999; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple { + background-color: white; + border: 1px solid #ccc; + border-radius: 4px; + cursor: text; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li { + list-style: none; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin: 5px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #ccc; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple { + border: solid #999 1px; + outline: 0; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection__choice__remove { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field { + border: 1px solid #ccc; +} + +.select2-container--admin-autocomplete .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; +} + +.select2-container--admin-autocomplete .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; +} + +.select2-container--admin-autocomplete .select2-results__option[role=group] { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] { + color: #999; +} + +.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] { + background-color: #ddd; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option { + padding-left: 1em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; +} + +.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] { + background-color: #79aec8; + color: white; +} + +.select2-container--admin-autocomplete .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/base.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/base.css new file mode 100644 index 0000000..fd011a3 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/base.css @@ -0,0 +1,987 @@ +/* + DJANGO Admin styles +*/ + +@import url(fonts.css); + +body { + margin: 0; + padding: 0; + font-size: 14px; + font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; + color: #333; + background: #fff; +} + +/* LINKS */ + +a:link, a:visited { + color: #447e9b; + text-decoration: none; +} + +a:focus, a:hover { + color: #036; +} + +a:focus { + text-decoration: underline; +} + +a img { + border: none; +} + +a.section:link, a.section:visited { + color: #fff; + text-decoration: none; +} + +a.section:focus, a.section:hover { + text-decoration: underline; +} + +/* GLOBAL DEFAULTS */ + +p, ol, ul, dl { + margin: .2em 0 .8em 0; +} + +p { + padding: 0; + line-height: 140%; +} + +h1,h2,h3,h4,h5 { + font-weight: bold; +} + +h1 { + margin: 0 0 20px; + font-weight: 300; + font-size: 20px; + color: #666; +} + +h2 { + font-size: 16px; + margin: 1em 0 .5em 0; +} + +h2.subhead { + font-weight: normal; + margin-top: 0; +} + +h3 { + font-size: 14px; + margin: .8em 0 .3em 0; + color: #666; + font-weight: bold; +} + +h4 { + font-size: 12px; + margin: 1em 0 .8em 0; + padding-bottom: 3px; +} + +h5 { + font-size: 10px; + margin: 1.5em 0 .5em 0; + color: #666; + text-transform: uppercase; + letter-spacing: 1px; +} + +ul li { + list-style-type: square; + padding: 1px 0; +} + +li ul { + margin-bottom: 0; +} + +li, dt, dd { + font-size: 13px; + line-height: 20px; +} + +dt { + font-weight: bold; + margin-top: 4px; +} + +dd { + margin-left: 0; +} + +form { + margin: 0; + padding: 0; +} + +fieldset { + margin: 0; + padding: 0; + border: none; + border-top: 1px solid #eee; +} + +blockquote { + font-size: 11px; + color: #777; + margin-left: 2px; + padding-left: 10px; + border-left: 5px solid #ddd; +} + +code, pre { + font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; + color: #666; + font-size: 12px; +} + +pre.literal-block { + margin: 10px; + background: #eee; + padding: 6px 8px; +} + +code strong { + color: #930; +} + +hr { + clear: both; + color: #eee; + background-color: #eee; + height: 1px; + border: none; + margin: 0; + padding: 0; + font-size: 1px; + line-height: 1px; +} + +/* TEXT STYLES & MODIFIERS */ + +.small { + font-size: 11px; +} + +.tiny { + font-size: 10px; +} + +p.tiny { + margin-top: -2px; +} + +.mini { + font-size: 10px; +} + +p.mini { + margin-top: -3px; +} + +.help, p.help, form p.help, div.help, form div.help, div.help li { + font-size: 11px; + color: #999; +} + +div.help ul { + margin-bottom: 0; +} + +.help-tooltip { + cursor: help; +} + +p img, h1 img, h2 img, h3 img, h4 img, td img { + vertical-align: middle; +} + +.quiet, a.quiet:link, a.quiet:visited { + color: #999; + font-weight: normal; +} + +.float-right { + float: right; +} + +.float-left { + float: left; +} + +.clear { + clear: both; +} + +.align-left { + text-align: left; +} + +.align-right { + text-align: right; +} + +.example { + margin: 10px 0; + padding: 5px 10px; + background: #efefef; +} + +.nowrap { + white-space: nowrap; +} + +/* TABLES */ + +table { + border-collapse: collapse; + border-color: #ccc; +} + +td, th { + font-size: 13px; + line-height: 16px; + border-bottom: 1px solid #eee; + vertical-align: top; + padding: 8px; + font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; +} + +th { + font-weight: 600; + text-align: left; +} + +thead th, +tfoot td { + color: #666; + padding: 5px 10px; + font-size: 11px; + background: #fff; + border: none; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; +} + +tfoot td { + border-bottom: none; + border-top: 1px solid #eee; +} + +thead th.required { + color: #000; +} + +tr.alt { + background: #f6f6f6; +} + +.row1 { + background: #fff; +} + +.row2 { + background: #f9f9f9; +} + +/* SORTABLE TABLES */ + +thead th { + padding: 5px 10px; + line-height: normal; + text-transform: uppercase; + background: #f6f6f6; +} + +thead th a:link, thead th a:visited { + color: #666; +} + +thead th.sorted { + background: #eee; +} + +thead th.sorted .text { + padding-right: 42px; +} + +table thead th .text span { + padding: 8px 10px; + display: block; +} + +table thead th .text a { + display: block; + cursor: pointer; + padding: 8px 10px; +} + +table thead th .text a:focus, table thead th .text a:hover { + background: #eee; +} + +thead th.sorted a.sortremove { + visibility: hidden; +} + +table thead th.sorted:hover a.sortremove { + visibility: visible; +} + +table thead th.sorted .sortoptions { + display: block; + padding: 9px 5px 0 5px; + float: right; + text-align: right; +} + +table thead th.sorted .sortpriority { + font-size: .8em; + min-width: 12px; + text-align: center; + vertical-align: 3px; + margin-left: 2px; + margin-right: 2px; +} + +table thead th.sorted .sortoptions a { + position: relative; + width: 14px; + height: 14px; + display: inline-block; + background: url(../img/sorting-icons.svg) 0 0 no-repeat; + background-size: 14px auto; +} + +table thead th.sorted .sortoptions a.sortremove { + background-position: 0 0; +} + +table thead th.sorted .sortoptions a.sortremove:after { + content: '\\'; + position: absolute; + top: -6px; + left: 3px; + font-weight: 200; + font-size: 18px; + color: #999; +} + +table thead th.sorted .sortoptions a.sortremove:focus:after, +table thead th.sorted .sortoptions a.sortremove:hover:after { + color: #447e9b; +} + +table thead th.sorted .sortoptions a.sortremove:focus, +table thead th.sorted .sortoptions a.sortremove:hover { + background-position: 0 -14px; +} + +table thead th.sorted .sortoptions a.ascending { + background-position: 0 -28px; +} + +table thead th.sorted .sortoptions a.ascending:focus, +table thead th.sorted .sortoptions a.ascending:hover { + background-position: 0 -42px; +} + +table thead th.sorted .sortoptions a.descending { + top: 1px; + background-position: 0 -56px; +} + +table thead th.sorted .sortoptions a.descending:focus, +table thead th.sorted .sortoptions a.descending:hover { + background-position: 0 -70px; +} + +/* FORM DEFAULTS */ + +input, textarea, select, .form-row p, form .button { + margin: 2px 0; + padding: 2px 3px; + vertical-align: middle; + font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; + font-weight: normal; + font-size: 13px; +} +.form-row div.help { + padding: 2px 3px; +} + +textarea { + vertical-align: top; +} + +input[type=text], input[type=password], input[type=email], input[type=url], +input[type=number], input[type=tel], textarea, select, .vTextField { + border: 1px solid #ccc; + border-radius: 4px; + padding: 5px 6px; + margin-top: 0; +} + +input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, +input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus, +textarea:focus, select:focus, .vTextField:focus { + border-color: #999; +} + +select { + height: 30px; +} + +select[multiple] { + /* Allow HTML size attribute to override the height in the rule above. */ + height: auto; + min-height: 150px; +} + +/* FORM BUTTONS */ + +.button, input[type=submit], input[type=button], .submit-row input, a.button { + background: #79aec8; + padding: 10px 15px; + border: none; + border-radius: 4px; + color: #fff; + cursor: pointer; +} + +a.button { + padding: 4px 5px; +} + +.button:active, input[type=submit]:active, input[type=button]:active, +.button:focus, input[type=submit]:focus, input[type=button]:focus, +.button:hover, input[type=submit]:hover, input[type=button]:hover { + background: #609ab6; +} + +.button[disabled], input[type=submit][disabled], input[type=button][disabled] { + opacity: 0.4; +} + +.button.default, input[type=submit].default, .submit-row input.default { + float: right; + border: none; + font-weight: 400; + background: #417690; +} + +.button.default:active, input[type=submit].default:active, +.button.default:focus, input[type=submit].default:focus, +.button.default:hover, input[type=submit].default:hover { + background: #205067; +} + +.button[disabled].default, +input[type=submit][disabled].default, +input[type=button][disabled].default { + opacity: 0.4; +} + + +/* MODULES */ + +.module { + border: none; + margin-bottom: 30px; + background: #fff; +} + +.module p, .module ul, .module h3, .module h4, .module dl, .module pre { + padding-left: 10px; + padding-right: 10px; +} + +.module blockquote { + margin-left: 12px; +} + +.module ul, .module ol { + margin-left: 1.5em; +} + +.module h3 { + margin-top: .6em; +} + +.module h2, .module caption, .inline-group h2 { + margin: 0; + padding: 8px; + font-weight: 400; + font-size: 13px; + text-align: left; + background: #79aec8; + color: #fff; +} + +.module caption, +.inline-group h2 { + font-size: 12px; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +.module table { + border-collapse: collapse; +} + +/* MESSAGES & ERRORS */ + +ul.messagelist { + padding: 0; + margin: 0; +} + +ul.messagelist li { + display: block; + font-weight: 400; + font-size: 13px; + padding: 10px 10px 10px 65px; + margin: 0 0 10px 0; + background: #dfd url(../img/icon-yes.svg) 40px 12px no-repeat; + background-size: 16px auto; + color: #333; +} + +ul.messagelist li.warning { + background: #ffc url(../img/icon-alert.svg) 40px 14px no-repeat; + background-size: 14px auto; +} + +ul.messagelist li.error { + background: #ffefef url(../img/icon-no.svg) 40px 12px no-repeat; + background-size: 16px auto; +} + +.errornote { + font-size: 14px; + font-weight: 700; + display: block; + padding: 10px 12px; + margin: 0 0 10px 0; + color: #ba2121; + border: 1px solid #ba2121; + border-radius: 4px; + background-color: #fff; + background-position: 5px 12px; +} + +ul.errorlist { + margin: 0 0 4px; + padding: 0; + color: #ba2121; + background: #fff; +} + +ul.errorlist li { + font-size: 13px; + display: block; + margin-bottom: 4px; +} + +ul.errorlist li:first-child { + margin-top: 0; +} + +ul.errorlist li a { + color: inherit; + text-decoration: underline; +} + +td ul.errorlist { + margin: 0; + padding: 0; +} + +td ul.errorlist li { + margin: 0; +} + +.form-row.errors { + margin: 0; + border: none; + border-bottom: 1px solid #eee; + background: none; +} + +.form-row.errors ul.errorlist li { + padding-left: 0; +} + +.errors input, .errors select, .errors textarea { + border: 1px solid #ba2121; +} + +div.system-message { + background: #ffc; + margin: 10px; + padding: 6px 8px; + font-size: .8em; +} + +div.system-message p.system-message-title { + padding: 4px 5px 4px 25px; + margin: 0; + color: #c11; + background: #ffefef url(../img/icon-no.svg) 5px 5px no-repeat; +} + +.description { + font-size: 12px; + padding: 5px 0 0 12px; +} + +/* BREADCRUMBS */ + +div.breadcrumbs { + background: #79aec8; + padding: 10px 40px; + border: none; + font-size: 14px; + color: #c4dce8; + text-align: left; +} + +div.breadcrumbs a { + color: #fff; +} + +div.breadcrumbs a:focus, div.breadcrumbs a:hover { + color: #c4dce8; +} + +/* ACTION ICONS */ + +.viewlink, .inlineviewlink { + padding-left: 16px; + background: url(../img/icon-viewlink.svg) 0 1px no-repeat; +} + +.addlink { + padding-left: 16px; + background: url(../img/icon-addlink.svg) 0 1px no-repeat; +} + +.changelink, .inlinechangelink { + padding-left: 16px; + background: url(../img/icon-changelink.svg) 0 1px no-repeat; +} + +.deletelink { + padding-left: 16px; + background: url(../img/icon-deletelink.svg) 0 1px no-repeat; +} + +a.deletelink:link, a.deletelink:visited { + color: #CC3434; +} + +a.deletelink:focus, a.deletelink:hover { + color: #993333; + text-decoration: none; +} + +/* OBJECT TOOLS */ + +.object-tools { + font-size: 10px; + font-weight: bold; + padding-left: 0; + float: right; + position: relative; + margin-top: -48px; +} + +.form-row .object-tools { + margin-top: 5px; + margin-bottom: 5px; + float: none; + height: 2em; + padding-left: 3.5em; +} + +.object-tools li { + display: block; + float: left; + margin-left: 5px; + height: 16px; +} + +.object-tools a { + border-radius: 15px; +} + +.object-tools a:link, .object-tools a:visited { + display: block; + float: left; + padding: 3px 12px; + background: #999; + font-weight: 400; + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.5px; + color: #fff; +} + +.object-tools a:focus, .object-tools a:hover { + background-color: #417690; +} + +.object-tools a:focus{ + text-decoration: none; +} + +.object-tools a.viewsitelink, .object-tools a.golink,.object-tools a.addlink { + background-repeat: no-repeat; + background-position: right 7px center; + padding-right: 26px; +} + +.object-tools a.viewsitelink, .object-tools a.golink { + background-image: url(../img/tooltag-arrowright.svg); +} + +.object-tools a.addlink { + background-image: url(../img/tooltag-add.svg); +} + +/* OBJECT HISTORY */ + +table#change-history { + width: 100%; +} + +table#change-history tbody th { + width: 16em; +} + +/* PAGE STRUCTURE */ + +#container { + position: relative; + width: 100%; + min-width: 980px; + padding: 0; +} + +#content { + padding: 20px 40px; +} + +.dashboard #content { + width: 600px; +} + +#content-main { + float: left; + width: 100%; +} + +#content-related { + float: right; + width: 260px; + position: relative; + margin-right: -300px; +} + +#footer { + clear: both; + padding: 10px; +} + +/* COLUMN TYPES */ + +.colMS { + margin-right: 300px; +} + +.colSM { + margin-left: 300px; +} + +.colSM #content-related { + float: left; + margin-right: 0; + margin-left: -300px; +} + +.colSM #content-main { + float: right; +} + +.popup .colM { + width: auto; +} + +/* HEADER */ + +#header { + width: auto; + height: auto; + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 40px; + background: #417690; + color: #ffc; + overflow: hidden; +} + +#header a:link, #header a:visited { + color: #fff; +} + +#header a:focus , #header a:hover { + text-decoration: underline; +} + +#branding { + float: left; +} + +#branding h1 { + padding: 0; + margin: 0 20px 0 0; + font-weight: 300; + font-size: 24px; + color: #f5dd5d; +} + +#branding h1, #branding h1 a:link, #branding h1 a:visited { + color: #f5dd5d; +} + +#branding h2 { + padding: 0 10px; + font-size: 14px; + margin: -8px 0 8px 0; + font-weight: normal; + color: #ffc; +} + +#branding a:hover { + text-decoration: none; +} + +#user-tools { + float: right; + padding: 0; + margin: 0 0 0 20px; + font-weight: 300; + font-size: 11px; + letter-spacing: 0.5px; + text-transform: uppercase; + text-align: right; +} + +#user-tools a { + border-bottom: 1px solid rgba(255, 255, 255, 0.25); +} + +#user-tools a:focus, #user-tools a:hover { + text-decoration: none; + border-bottom-color: #79aec8; + color: #79aec8; +} + +/* SIDEBAR */ + +#content-related { + background: #f8f8f8; +} + +#content-related .module { + background: none; +} + +#content-related h3 { + font-size: 14px; + color: #666; + padding: 0 16px; + margin: 0 0 16px; +} + +#content-related h4 { + font-size: 13px; +} + +#content-related p { + padding-left: 16px; + padding-right: 16px; +} + +#content-related .actionlist { + padding: 0; + margin: 16px; +} + +#content-related .actionlist li { + line-height: 1.2; + margin-bottom: 10px; + padding-left: 18px; +} + +#content-related .module h2 { + background: none; + padding: 16px; + margin-bottom: 16px; + border-bottom: 1px solid #eaeaea; + font-size: 18px; + color: #333; +} + +.delete-confirmation form input[type="submit"] { + background: #ba2121; + border-radius: 4px; + padding: 10px 15px; + color: #fff; +} + +.delete-confirmation form input[type="submit"]:active, +.delete-confirmation form input[type="submit"]:focus, +.delete-confirmation form input[type="submit"]:hover { + background: #a41515; +} + +.delete-confirmation form .cancel-link { + display: inline-block; + vertical-align: middle; + height: 15px; + line-height: 15px; + background: #ddd; + border-radius: 4px; + padding: 10px 15px; + color: #333; + margin: 0 0 0 10px; +} + +.delete-confirmation form .cancel-link:active, +.delete-confirmation form .cancel-link:focus, +.delete-confirmation form .cancel-link:hover { + background: #ccc; +} + +/* POPUP */ +.popup #content { + padding: 20px; +} + +.popup #container { + min-width: 0; +} + +.popup #header { + padding: 10px 20px; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/changelists.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/changelists.css new file mode 100644 index 0000000..17690a3 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/changelists.css @@ -0,0 +1,344 @@ +/* CHANGELISTS */ + +#changelist { + position: relative; + width: 100%; +} + +#changelist table { + width: 100%; +} + +.change-list .hiddenfields { display:none; } + +.change-list .filtered table { + border-right: none; +} + +.change-list .filtered { + min-height: 400px; +} + +.change-list .filtered .results, .change-list .filtered .paginator, +.filtered #toolbar, .filtered div.xfull { + margin-right: 280px; + width: auto; +} + +.change-list .filtered table tbody th { + padding-right: 1em; +} + +#changelist-form .results { + overflow-x: auto; +} + +#changelist .toplinks { + border-bottom: 1px solid #ddd; +} + +#changelist .paginator { + color: #666; + border-bottom: 1px solid #eee; + background: #fff; + overflow: hidden; +} + +/* CHANGELIST TABLES */ + +#changelist table thead th { + padding: 0; + white-space: nowrap; + vertical-align: middle; +} + +#changelist table thead th.action-checkbox-column { + width: 1.5em; + text-align: center; +} + +#changelist table tbody td.action-checkbox { + text-align: center; +} + +#changelist table tfoot { + color: #666; +} + +/* TOOLBAR */ + +#changelist #toolbar { + padding: 8px 10px; + margin-bottom: 15px; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; + background: #f8f8f8; + color: #666; +} + +#changelist #toolbar form input { + border-radius: 4px; + font-size: 14px; + padding: 5px; + color: #333; +} + +#changelist #toolbar form #searchbar { + height: 19px; + border: 1px solid #ccc; + padding: 2px 5px; + margin: 0; + vertical-align: top; + font-size: 13px; +} + +#changelist #toolbar form #searchbar:focus { + border-color: #999; +} + +#changelist #toolbar form input[type="submit"] { + border: 1px solid #ccc; + padding: 2px 10px; + margin: 0; + vertical-align: middle; + background: #fff; + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + color: #333; +} + +#changelist #toolbar form input[type="submit"]:focus, +#changelist #toolbar form input[type="submit"]:hover { + border-color: #999; +} + +#changelist #changelist-search img { + vertical-align: middle; + margin-right: 4px; +} + +/* FILTER COLUMN */ + +#changelist-filter { + position: absolute; + top: 0; + right: 0; + z-index: 1000; + width: 240px; + background: #f8f8f8; + border-left: none; + margin: 0; +} + +#changelist-filter h2 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.5px; + padding: 5px 15px; + margin-bottom: 12px; + border-bottom: none; +} + +#changelist-filter h3 { + font-weight: 400; + font-size: 14px; + padding: 0 15px; + margin-bottom: 10px; +} + +#changelist-filter ul { + margin: 5px 0; + padding: 0 15px 15px; + border-bottom: 1px solid #eaeaea; +} + +#changelist-filter ul:last-child { + border-bottom: none; + padding-bottom: none; +} + +#changelist-filter li { + list-style-type: none; + margin-left: 0; + padding-left: 0; +} + +#changelist-filter a { + display: block; + color: #999; + text-overflow: ellipsis; + overflow-x: hidden; +} + +#changelist-filter li.selected { + border-left: 5px solid #eaeaea; + padding-left: 10px; + margin-left: -15px; +} + +#changelist-filter li.selected a { + color: #5b80b2; +} + +#changelist-filter a:focus, #changelist-filter a:hover, +#changelist-filter li.selected a:focus, +#changelist-filter li.selected a:hover { + color: #036; +} + +/* DATE DRILLDOWN */ + +.change-list ul.toplinks { + display: block; + float: left; + padding: 0; + margin: 0; + width: 100%; +} + +.change-list ul.toplinks li { + padding: 3px 6px; + font-weight: bold; + list-style-type: none; + display: inline-block; +} + +.change-list ul.toplinks .date-back a { + color: #999; +} + +.change-list ul.toplinks .date-back a:focus, +.change-list ul.toplinks .date-back a:hover { + color: #036; +} + +/* PAGINATOR */ + +.paginator { + font-size: 13px; + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px; + margin: 0; + border-top: 1px solid #ddd; +} + +.paginator a:link, .paginator a:visited { + padding: 2px 6px; + background: #79aec8; + text-decoration: none; + color: #fff; +} + +.paginator a.showall { + padding: 0; + border: none; + background: none; + color: #5b80b2; +} + +.paginator a.showall:focus, .paginator a.showall:hover { + background: none; + color: #036; +} + +.paginator .end { + margin-right: 6px; +} + +.paginator .this-page { + padding: 2px 6px; + font-weight: bold; + font-size: 13px; + vertical-align: top; +} + +.paginator a:focus, .paginator a:hover { + color: white; + background: #036; +} + +/* ACTIONS */ + +.filtered .actions { + margin-right: 280px; + border-right: none; +} + +#changelist table input { + margin: 0; + vertical-align: baseline; +} + +#changelist table tbody tr.selected { + background-color: #FFFFCC; +} + +#changelist .actions { + padding: 10px; + background: #fff; + border-top: none; + border-bottom: none; + line-height: 24px; + color: #999; +} + +#changelist .actions.selected { + background: #fffccf; + border-top: 1px solid #fffee8; + border-bottom: 1px solid #edecd6; +} + +#changelist .actions span.all, +#changelist .actions span.action-counter, +#changelist .actions span.clear, +#changelist .actions span.question { + font-size: 13px; + margin: 0 0.5em; + display: none; +} + +#changelist .actions:last-child { + border-bottom: none; +} + +#changelist .actions select { + vertical-align: top; + height: 24px; + background: none; + color: #000; + border: 1px solid #ccc; + border-radius: 4px; + font-size: 14px; + padding: 0 0 0 4px; + margin: 0; + margin-left: 10px; +} + +#changelist .actions select:focus { + border-color: #999; +} + +#changelist .actions label { + display: inline-block; + vertical-align: middle; + font-size: 13px; +} + +#changelist .actions .button { + font-size: 13px; + border: 1px solid #ccc; + border-radius: 4px; + background: #fff; + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + height: 24px; + line-height: 1; + padding: 4px 8px; + margin: 0; + color: #333; +} + +#changelist .actions .button:focus, #changelist .actions .button:hover { + border-color: #999; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/dashboard.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/dashboard.css new file mode 100644 index 0000000..1560c7b --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/dashboard.css @@ -0,0 +1,27 @@ +/* DASHBOARD */ + +.dashboard .module table th { + width: 100%; +} + +.dashboard .module table td { + white-space: nowrap; +} + +.dashboard .module table td a { + display: block; + padding-right: .6em; +} + +/* RECENT ACTIONS MODULE */ + +.module ul.actionlist { + margin-left: 0; +} + +ul.actionlist li { + list-style-type: none; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/fonts.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/fonts.css new file mode 100644 index 0000000..c837e01 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/fonts.css @@ -0,0 +1,20 @@ +@font-face { + font-family: 'Roboto'; + src: url('../fonts/Roboto-Bold-webfont.woff'); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: 'Roboto'; + src: url('../fonts/Roboto-Regular-webfont.woff'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: 'Roboto'; + src: url('../fonts/Roboto-Light-webfont.woff'); + font-weight: 300; + font-style: normal; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/forms.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/forms.css new file mode 100644 index 0000000..62a093f --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/forms.css @@ -0,0 +1,532 @@ +@import url('widgets.css'); + +/* FORM ROWS */ + +.form-row { + overflow: hidden; + padding: 10px; + font-size: 13px; + border-bottom: 1px solid #eee; +} + +.form-row img, .form-row input { + vertical-align: middle; +} + +.form-row label input[type="checkbox"] { + margin-top: 0; + vertical-align: 0; +} + +form .form-row p { + padding-left: 0; +} + +.hidden { + display: none; +} + +/* FORM LABELS */ + +label { + font-weight: normal; + color: #666; + font-size: 13px; +} + +.required label, label.required { + font-weight: bold; + color: #333; +} + +/* RADIO BUTTONS */ + +form ul.radiolist li { + list-style-type: none; +} + +form ul.radiolist label { + float: none; + display: inline; +} + +form ul.radiolist input[type="radio"] { + margin: -2px 4px 0 0; + padding: 0; +} + +form ul.inline { + margin-left: 0; + padding: 0; +} + +form ul.inline li { + float: left; + padding-right: 7px; +} + +/* ALIGNED FIELDSETS */ + +.aligned label { + display: block; + padding: 4px 10px 0 0; + float: left; + width: 160px; + word-wrap: break-word; + line-height: 1; +} + +.aligned label:not(.vCheckboxLabel):after { + content: ''; + display: inline-block; + vertical-align: middle; + height: 26px; +} + +.aligned label + p, .aligned label + div.help, .aligned label + div.readonly { + padding: 6px 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 170px; +} + +.aligned ul label { + display: inline; + float: none; + width: auto; +} + +.aligned .form-row input { + margin-bottom: 0; +} + +.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField { + width: 350px; +} + +form .aligned ul { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned ul.radiolist { + display: inline-block; + margin: 0; + padding: 0; +} + +form .aligned p.help, +form .aligned div.help { + clear: left; + margin-top: 0; + margin-left: 160px; + padding-left: 10px; +} + +form .aligned label + p.help, +form .aligned label + div.help { + margin-left: 0; + padding-left: 0; +} + +form .aligned p.help:last-child, +form .aligned div.help:last-child { + margin-bottom: 0; + padding-bottom: 0; +} + +form .aligned input + p.help, +form .aligned textarea + p.help, +form .aligned select + p.help, +form .aligned input + div.help, +form .aligned textarea + div.help, +form .aligned select + div.help { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned ul li { + list-style: none; +} + +form .aligned table p { + margin-left: 0; + padding-left: 0; +} + +.aligned .vCheckboxLabel { + float: none; + width: auto; + display: inline-block; + vertical-align: -3px; + padding: 0 0 5px 5px; +} + +.aligned .vCheckboxLabel + p.help, +.aligned .vCheckboxLabel + div.help { + margin-top: -4px; +} + +.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { + width: 610px; +} + +.checkbox-row p.help, +.checkbox-row div.help { + margin-left: 0; + padding-left: 0; +} + +fieldset .fieldBox { + float: left; + margin-right: 20px; +} + +/* WIDE FIELDSETS */ + +.wide label { + width: 200px; +} + +form .wide p, +form .wide input + p.help, +form .wide input + div.help { + margin-left: 200px; +} + +form .wide p.help, +form .wide div.help { + padding-left: 38px; +} + +form div.help ul { + padding-left: 0; + margin-left: 0; +} + +.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField { + width: 450px; +} + +/* COLLAPSED FIELDSETS */ + +fieldset.collapsed * { + display: none; +} + +fieldset.collapsed h2, fieldset.collapsed { + display: block; +} + +fieldset.collapsed { + border: 1px solid #eee; + border-radius: 4px; + overflow: hidden; +} + +fieldset.collapsed h2 { + background: #f8f8f8; + color: #666; +} + +fieldset .collapse-toggle { + color: #fff; +} + +fieldset.collapsed .collapse-toggle { + background: transparent; + display: inline; + color: #447e9b; +} + +/* MONOSPACE TEXTAREAS */ + +fieldset.monospace textarea { + font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; +} + +/* SUBMIT ROW */ + +.submit-row { + padding: 12px 14px; + margin: 0 0 20px; + background: #f8f8f8; + border: 1px solid #eee; + border-radius: 4px; + text-align: right; + overflow: hidden; +} + +body.popup .submit-row { + overflow: auto; +} + +.submit-row input { + height: 35px; + line-height: 15px; + margin: 0 0 0 5px; +} + +.submit-row input.default { + margin: 0 0 0 8px; + text-transform: uppercase; +} + +.submit-row p { + margin: 0.3em; +} + +.submit-row p.deletelink-box { + float: left; + margin: 0; +} + +.submit-row a.deletelink { + display: block; + background: #ba2121; + border-radius: 4px; + padding: 10px 15px; + height: 15px; + line-height: 15px; + color: #fff; +} + +.submit-row a.closelink { + display: inline-block; + background: #bbbbbb; + border-radius: 4px; + padding: 10px 15px; + height: 15px; + line-height: 15px; + margin: 0 0 0 5px; + color: #fff; +} + +.submit-row a.deletelink:focus, +.submit-row a.deletelink:hover, +.submit-row a.deletelink:active { + background: #a41515; +} + +.submit-row a.closelink:focus, +.submit-row a.closelink:hover, +.submit-row a.closelink:active { + background: #aaaaaa; +} + +/* CUSTOM FORM FIELDS */ + +.vSelectMultipleField { + vertical-align: top; +} + +.vCheckboxField { + border: none; +} + +.vDateField, .vTimeField { + margin-right: 2px; + margin-bottom: 4px; +} + +.vDateField { + min-width: 6.85em; +} + +.vTimeField { + min-width: 4.7em; +} + +.vURLField { + width: 30em; +} + +.vLargeTextField, .vXMLLargeTextField { + width: 48em; +} + +.flatpages-flatpage #id_content { + height: 40.2em; +} + +.module table .vPositiveSmallIntegerField { + width: 2.2em; +} + +.vTextField, .vUUIDField { + width: 20em; +} + +.vIntegerField { + width: 5em; +} + +.vBigIntegerField { + width: 10em; +} + +.vForeignKeyRawIdAdminField { + width: 5em; +} + +/* INLINES */ + +.inline-group { + padding: 0; + margin: 0 0 30px; +} + +.inline-group thead th { + padding: 8px 10px; +} + +.inline-group .aligned label { + width: 160px; +} + +.inline-related { + position: relative; +} + +.inline-related h3 { + margin: 0; + color: #666; + padding: 5px; + font-size: 13px; + background: #f8f8f8; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; +} + +.inline-related h3 span.delete { + float: right; +} + +.inline-related h3 span.delete label { + margin-left: 2px; + font-size: 11px; +} + +.inline-related fieldset { + margin: 0; + background: #fff; + border: none; + width: 100%; +} + +.inline-related fieldset.module h3 { + margin: 0; + padding: 2px 5px 3px 5px; + font-size: 11px; + text-align: left; + font-weight: bold; + background: #bcd; + color: #fff; +} + +.inline-group .tabular fieldset.module { + border: none; +} + +.inline-related.tabular fieldset.module table { + width: 100%; +} + +.last-related fieldset { + border: none; +} + +.inline-group .tabular tr.has_original td { + padding-top: 2em; +} + +.inline-group .tabular tr td.original { + padding: 2px 0 0 0; + width: 0; + _position: relative; +} + +.inline-group .tabular th.original { + width: 0px; + padding: 0; +} + +.inline-group .tabular td.original p { + position: absolute; + left: 0; + height: 1.1em; + padding: 2px 9px; + overflow: hidden; + font-size: 9px; + font-weight: bold; + color: #666; + _width: 700px; +} + +.inline-group ul.tools { + padding: 0; + margin: 0; + list-style: none; +} + +.inline-group ul.tools li { + display: inline; + padding: 0 5px; +} + +.inline-group div.add-row, +.inline-group .tabular tr.add-row td { + color: #666; + background: #f8f8f8; + padding: 8px 10px; + border-bottom: 1px solid #eee; +} + +.inline-group .tabular tr.add-row td { + padding: 8px 10px; + border-bottom: 1px solid #eee; +} + +.inline-group ul.tools a.add, +.inline-group div.add-row a, +.inline-group .tabular tr.add-row td a { + background: url(../img/icon-addlink.svg) 0 1px no-repeat; + padding-left: 16px; + font-size: 12px; +} + +.empty-form { + display: none; +} + +/* RELATED FIELD ADD ONE / LOOKUP */ + +.add-another, .related-lookup { + margin-left: 5px; + display: inline-block; + vertical-align: middle; + background-repeat: no-repeat; + background-size: 14px; +} + +.add-another { + width: 16px; + height: 16px; + background-image: url(../img/icon-addlink.svg); +} + +.related-lookup { + width: 16px; + height: 16px; + background-image: url(../img/search.svg); +} + +form .related-widget-wrapper ul { + display: inline-block; + margin-left: 0; + padding-left: 0; +} + +.clearable-file-input input { + margin-top: 0; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/login.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/login.css new file mode 100644 index 0000000..2ec241c --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/login.css @@ -0,0 +1,79 @@ +/* LOGIN FORM */ + +body.login { + background: #f8f8f8; +} + +.login #header { + height: auto; + padding: 15px 16px; + justify-content: center; +} + +.login #header h1 { + font-size: 18px; +} + +.login #header h1 a { + color: #fff; +} + +.login #content { + padding: 20px 20px 0; +} + +.login #container { + background: #fff; + border: 1px solid #eaeaea; + border-radius: 4px; + overflow: hidden; + width: 28em; + min-width: 300px; + margin: 100px auto; +} + +.login #content-main { + width: 100%; +} + +.login .form-row { + padding: 4px 0; + float: left; + width: 100%; + border-bottom: none; +} + +.login .form-row label { + padding-right: 0.5em; + line-height: 2em; + font-size: 1em; + clear: both; + color: #333; +} + +.login .form-row #id_username, .login .form-row #id_password { + clear: both; + padding: 8px; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.login span.help { + font-size: 10px; + display: block; +} + +.login .submit-row { + clear: both; + padding: 1em 0 0 9.4em; + margin: 0; + border: none; + background: none; + text-align: left; +} + +.login .password-reset-link { + text-align: center; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/responsive.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/responsive.css new file mode 100644 index 0000000..5b0d1ec --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/responsive.css @@ -0,0 +1,992 @@ +/* Tablets */ + +input[type="submit"], button { + -webkit-appearance: none; + appearance: none; +} + +@media (max-width: 1024px) { + /* Basic */ + + html { + -webkit-text-size-adjust: 100%; + } + + td, th { + padding: 10px; + font-size: 14px; + } + + .small { + font-size: 12px; + } + + /* Layout */ + + #container { + min-width: 0; + } + + #content { + padding: 20px 30px 30px; + } + + div.breadcrumbs { + padding: 10px 30px; + } + + /* Header */ + + #header { + flex-direction: column; + padding: 15px 30px; + justify-content: flex-start; + } + + #branding h1 { + margin: 0 0 8px; + font-size: 20px; + line-height: 1.2; + } + + #user-tools { + margin: 0; + font-weight: 400; + line-height: 1.85; + text-align: left; + } + + #user-tools a { + display: inline-block; + line-height: 1.4; + } + + /* Dashboard */ + + .dashboard #content { + width: auto; + } + + #content-related { + margin-right: -290px; + } + + .colSM #content-related { + margin-left: -290px; + } + + .colMS { + margin-right: 290px; + } + + .colSM { + margin-left: 290px; + } + + .dashboard .module table td a { + padding-right: 0; + } + + td .changelink, td .addlink { + font-size: 13px; + } + + /* Changelist */ + + #changelist #toolbar { + border: none; + padding: 15px; + } + + #changelist-search > div { + display: -webkit-flex; + display: flex; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + max-width: 480px; + } + + #changelist-search label { + line-height: 22px; + } + + #changelist #toolbar form #searchbar { + -webkit-flex: 1 0 auto; + flex: 1 0 auto; + width: 0; + height: 22px; + margin: 0 10px 0 6px; + } + + #changelist-search .quiet { + width: 100%; + margin: 5px 0 0 25px; + } + + #changelist .actions { + display: flex; + flex-wrap: wrap; + padding: 15px 0; + } + + #changelist .actions.selected { + border: none; + } + + #changelist .actions label { + display: flex; + } + + #changelist .actions select { + background: #fff; + } + + #changelist .actions .button { + min-width: 48px; + margin: 0 10px; + } + + #changelist .actions span.all, + #changelist .actions span.clear, + #changelist .actions span.question, + #changelist .actions span.action-counter { + font-size: 11px; + margin: 0 10px 0 0; + } + + #changelist-filter { + width: 200px; + } + + .change-list .filtered .results, + .change-list .filtered .paginator, + .filtered #toolbar, + .filtered .actions, + .filtered div.xfull { + margin-right: 230px; + } + + #changelist .paginator { + border-top-color: #eee; + } + + #changelist .results + .paginator { + border-top: none; + } + + /* Forms */ + + label { + font-size: 14px; + } + + .form-row input[type=text], + .form-row input[type=password], + .form-row input[type=email], + .form-row input[type=url], + .form-row input[type=tel], + .form-row input[type=number], + .form-row textarea, + .form-row select, + .form-row .vTextField { + box-sizing: border-box; + margin: 0; + padding: 6px 8px; + min-height: 36px; + font-size: 14px; + } + + .form-row select { + height: 36px; + } + + .form-row select[multiple] { + height: auto; + min-height: 0; + } + + fieldset .fieldBox { + float: none; + margin: 0 -10px; + padding: 0 10px; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 10px; + padding-top: 10px; + border-top: 1px solid #eee; + } + + textarea { + max-width: 518px; + max-height: 120px; + } + + .aligned label { + padding-top: 6px; + } + + .aligned .add-another, + .aligned .related-lookup, + .aligned .datetimeshortcuts, + .aligned .related-lookup + strong { + align-self: center; + margin-left: 15px; + } + + form .aligned ul.radiolist { + margin-left: 2px; + } + + /* Related widget */ + + .related-widget-wrapper { + float: none; + } + + .related-widget-wrapper-link + .selector { + max-width: calc(100% - 30px); + margin-right: 15px; + } + + select + .related-widget-wrapper-link, + .related-widget-wrapper-link + .related-widget-wrapper-link { + margin-left: 10px; + } + + /* Selector */ + + .selector { + display: flex; + width: 100%; + } + + .selector .selector-filter { + display: flex; + align-items: center; + } + + .selector .selector-filter label { + margin: 0 8px 0 0; + } + + .selector .selector-filter input { + width: auto; + min-height: 0; + flex: 1 1; + } + + .selector-available, .selector-chosen { + width: auto; + flex: 1 1; + display: flex; + flex-direction: column; + } + + .selector select { + width: 100%; + flex: 1 0 auto; + margin-bottom: 5px; + } + + .selector ul.selector-chooser { + width: 26px; + height: 52px; + padding: 2px 0; + margin: auto 15px; + border-radius: 20px; + transform: translateY(-10px); + } + + .selector-add, .selector-remove { + width: 20px; + height: 20px; + background-size: 20px auto; + } + + .selector-add { + background-position: 0 -120px; + } + + .selector-remove { + background-position: 0 -80px; + } + + a.selector-chooseall, a.selector-clearall { + align-self: center; + } + + .stacked { + flex-direction: column; + max-width: 480px; + } + + .stacked > * { + flex: 0 1 auto; + } + + .stacked select { + margin-bottom: 0; + } + + .stacked .selector-available, .stacked .selector-chosen { + width: auto; + } + + .stacked ul.selector-chooser { + width: 52px; + height: 26px; + padding: 0 2px; + margin: 15px auto; + transform: none; + } + + .stacked .selector-chooser li { + padding: 3px; + } + + .stacked .selector-add, .stacked .selector-remove { + background-size: 20px auto; + } + + .stacked .selector-add { + background-position: 0 -40px; + } + + .stacked .active.selector-add { + background-position: 0 -60px; + } + + .stacked .selector-remove { + background-position: 0 0; + } + + .stacked .active.selector-remove { + background-position: 0 -20px; + } + + .help-tooltip, .selector .help-icon { + display: none; + } + + form .form-row p.datetime { + width: 100%; + } + + .datetime input { + width: 50%; + max-width: 120px; + } + + .datetime span { + font-size: 13px; + } + + .datetime .timezonewarning { + display: block; + font-size: 11px; + color: #999; + } + + .datetimeshortcuts { + color: #ccc; + } + + .inline-group { + overflow: auto; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 55px; + background-position: 30px 12px; + } + + ul.messagelist li.error { + background-position: 30px 12px; + } + + ul.messagelist li.warning { + background-position: 30px 14px; + } + + /* Login */ + + .login #header { + padding: 15px 20px; + } + + .login #branding h1 { + margin: 0; + } + + /* GIS */ + + div.olMap { + max-width: calc(100vw - 30px); + max-height: 300px; + } + + .olMap + .clear_features { + display: block; + margin-top: 10px; + } + + /* Docs */ + + .module table.xfull { + width: 100%; + } + + pre.literal-block { + overflow: auto; + } +} + +/* Mobile */ + +@media (max-width: 767px) { + /* Layout */ + + #header, #content, #footer { + padding: 15px; + } + + #footer:empty { + padding: 0; + } + + div.breadcrumbs { + padding: 10px 15px; + } + + /* Dashboard */ + + .colMS, .colSM { + margin: 0; + } + + #content-related, .colSM #content-related { + width: 100%; + margin: 0; + } + + #content-related .module { + margin-bottom: 0; + } + + #content-related .module h2 { + padding: 10px 15px; + font-size: 16px; + } + + /* Changelist */ + + #changelist { + display: flex; + flex-direction: column; + } + + #changelist #toolbar { + order: 1; + padding: 10px; + } + + #changelist .xfull { + order: 2; + } + + #changelist-form { + order: 3; + } + + #changelist-filter { + order: 4; + } + + #changelist .actions label { + flex: 1 1; + } + + #changelist .actions select { + flex: 1 0; + width: 100%; + } + + #changelist .actions span { + flex: 1 0 100%; + } + + .change-list .filtered .results, .change-list .filtered .paginator, + .filtered #toolbar, .filtered .actions, .filtered div.xfull { + margin-right: 0; + } + + #changelist-filter { + position: static; + width: auto; + margin-top: 30px; + } + + .object-tools { + float: none; + margin: 0 0 15px; + padding: 0; + overflow: hidden; + } + + .object-tools li { + height: auto; + margin-left: 0; + } + + .object-tools li + li { + margin-left: 15px; + } + + /* Forms */ + + .form-row { + padding: 15px 0; + } + + .aligned .form-row, + .aligned .form-row > div { + display: flex; + flex-wrap: wrap; + max-width: 100vw; + } + + .aligned .form-row > div { + width: calc(100vw - 30px); + } + + textarea { + max-width: none; + } + + .vURLField { + width: auto; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 15px; + padding-top: 15px; + } + + fieldset.collapsed .form-row { + display: none; + } + + .aligned label { + width: 100%; + padding: 0 0 10px; + } + + .aligned label:after { + max-height: 0; + } + + .aligned .form-row input, + .aligned .form-row select, + .aligned .form-row textarea { + flex: 1 1 auto; + max-width: 100%; + } + + .aligned .checkbox-row { + align-items: center; + } + + .aligned .checkbox-row input { + flex: 0 1 auto; + margin: 0; + } + + .aligned .vCheckboxLabel { + flex: 1 0; + padding: 1px 0 0 5px; + } + + .aligned label + p, + .aligned label + div.help, + .aligned label + div.readonly { + padding: 0; + margin-left: 0; + } + + .aligned p.file-upload { + margin-left: 0; + font-size: 13px; + } + + span.clearable-file-input { + margin-left: 15px; + } + + span.clearable-file-input label { + font-size: 13px; + padding-bottom: 0; + } + + .aligned .timezonewarning { + flex: 1 0 100%; + margin-top: 5px; + } + + form .aligned .form-row div.help { + width: 100%; + margin: 5px 0 0; + padding: 0; + } + + form .aligned ul { + margin-left: 0; + padding-left: 0; + } + + form .aligned ul.radiolist { + margin-right: 15px; + margin-bottom: -3px; + } + + form .aligned ul.radiolist li + li { + margin-top: 5px; + } + + /* Related widget */ + + .related-widget-wrapper { + width: 100%; + display: flex; + align-items: flex-start; + } + + .related-widget-wrapper .selector { + order: 1; + } + + .related-widget-wrapper > a { + order: 2; + } + + .related-widget-wrapper .radiolist ~ a { + align-self: flex-end; + } + + .related-widget-wrapper > select ~ a { + align-self: center; + } + + select + .related-widget-wrapper-link, + .related-widget-wrapper-link + .related-widget-wrapper-link { + margin-left: 15px; + } + + /* Selector */ + + .selector { + flex-direction: column; + } + + .selector > * { + float: none; + } + + .selector-available, .selector-chosen { + margin-bottom: 0; + flex: 1 1 auto; + } + + .selector select { + max-height: 96px; + } + + .selector ul.selector-chooser { + display: block; + float: none; + width: 52px; + height: 26px; + padding: 0 2px; + margin: 15px auto 20px; + transform: none; + } + + .selector ul.selector-chooser li { + float: left; + } + + .selector-remove { + background-position: 0 0; + } + + .selector-add { + background-position: 0 -40px; + } + + /* Inlines */ + + .inline-group[data-inline-type="stacked"] .inline-related { + border: 2px solid #eee; + border-radius: 4px; + margin-top: 15px; + overflow: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related > * { + box-sizing: border-box; + } + + .inline-group[data-inline-type="stacked"] .inline-related + .inline-related { + margin-top: 30px; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module { + padding: 0 10px; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:last-child { + border-bottom: none; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 { + padding: 10px; + border-top-width: 0; + border-bottom-width: 2px; + display: flex; + flex-wrap: wrap; + align-items: center; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label { + margin-right: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete { + float: none; + flex: 1 1 100%; + margin-top: 5px; + } + + .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] .aligned label { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] div.add-row { + margin-top: 15px; + border: 1px solid #eee; + border-radius: 4px; + } + + .inline-group div.add-row, + .inline-group .tabular tr.add-row td { + padding: 0; + } + + .inline-group div.add-row a, + .inline-group .tabular tr.add-row td a { + display: block; + padding: 8px 10px 8px 26px; + background-position: 8px 9px; + } + + /* Submit row */ + + .submit-row { + padding: 10px 10px 0; + margin: 0 0 15px; + display: flex; + flex-direction: column; + } + + .submit-row > * { + width: 100%; + } + + .submit-row input, .submit-row input.default, .submit-row a, .submit-row a.closelink { + float: none; + margin: 0 0 10px; + text-align: center; + } + + .submit-row a.closelink { + padding: 10px 0; + } + + .submit-row p.deletelink-box { + order: 4; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 40px; + background-position: 15px 12px; + } + + ul.messagelist li.error { + background-position: 15px 12px; + } + + ul.messagelist li.warning { + background-position: 15px 14px; + } + + /* Paginator */ + + .paginator .this-page, .paginator a:link, .paginator a:visited { + padding: 4px 10px; + } + + /* Login */ + + body.login { + padding: 0 15px; + } + + .login #container { + width: auto; + max-width: 480px; + margin: 50px auto; + } + + .login #header, + .login #content { + padding: 15px; + } + + .login #content-main { + float: none; + } + + .login .form-row { + padding: 0; + } + + .login .form-row + .form-row { + margin-top: 15px; + } + + .login .form-row label { + display: block; + margin: 0 0 5px; + padding: 0; + line-height: 1.2; + } + + .login .submit-row { + padding: 15px 0 0; + } + + .login br, .login .submit-row label { + display: none; + } + + .login .submit-row input { + margin: 0; + text-transform: uppercase; + } + + .errornote { + margin: 0 0 20px; + padding: 8px 12px; + font-size: 13px; + } + + /* Calendar and clock */ + + .calendarbox, .clockbox { + position: fixed !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); + margin: 0; + border: none; + overflow: visible; + } + + .calendarbox:before, .clockbox:before { + content: ''; + position: fixed; + top: 50%; + left: 50%; + width: 100vw; + height: 100vh; + background: rgba(0, 0, 0, 0.75); + transform: translate(-50%, -50%); + } + + .calendarbox > *, .clockbox > * { + position: relative; + z-index: 1; + } + + .calendarbox > div:first-child { + z-index: 2; + } + + .calendarbox .calendar, .clockbox h2 { + border-radius: 4px 4px 0 0; + overflow: hidden; + } + + .calendarbox .calendar-cancel, .clockbox .calendar-cancel { + border-radius: 0 0 4px 4px; + overflow: hidden; + } + + .calendar-shortcuts { + padding: 10px 0; + font-size: 12px; + line-height: 12px; + } + + .calendar-shortcuts a { + margin: 0 4px; + } + + .timelist a { + background: #fff; + padding: 4px; + } + + .calendar-cancel { + padding: 8px 10px; + } + + .clockbox h2 { + padding: 8px 15px; + } + + .calendar caption { + padding: 10px; + } + + .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + z-index: 1; + top: 10px; + } + + /* History */ + + table#change-history tbody th, table#change-history tbody td { + font-size: 13px; + word-break: break-word; + } + + table#change-history tbody th { + width: auto; + } + + /* Docs */ + + table.model tbody th, table.model tbody td { + font-size: 13px; + word-break: break-word; + } +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css new file mode 100644 index 0000000..f999cb1 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css @@ -0,0 +1,84 @@ +/* TABLETS */ + +@media (max-width: 1024px) { + [dir="rtl"] .colMS { + margin-right: 0; + } + + [dir="rtl"] #user-tools { + text-align: right; + } + + [dir="rtl"] #changelist .actions label { + padding-left: 10px; + padding-right: 0; + } + + [dir="rtl"] #changelist .actions select { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .change-list .filtered .results, + [dir="rtl"] .change-list .filtered .paginator, + [dir="rtl"] .filtered #toolbar, + [dir="rtl"] .filtered div.xfull, + [dir="rtl"] .filtered .actions { + margin-right: 0; + margin-left: 230px; + } + + [dir="rtl"] .inline-group ul.tools a.add, + [dir="rtl"] .inline-group div.add-row a, + [dir="rtl"] .inline-group .tabular tr.add-row td a { + padding: 8px 26px 8px 10px; + background-position: calc(100% - 8px) 9px; + } + + [dir="rtl"] .related-widget-wrapper-link + .selector { + margin-right: 0; + margin-left: 15px; + } + + [dir="rtl"] .selector .selector-filter label { + margin-right: 0; + margin-left: 8px; + } + + [dir="rtl"] .object-tools li { + float: right; + } + + [dir="rtl"] .object-tools li + li { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .dashboard .module table td a { + padding-left: 0; + padding-right: 16px; + } +} + +/* MOBILE */ + +@media (max-width: 767px) { + [dir="rtl"] .change-list .filtered .results, + [dir="rtl"] .change-list .filtered .paginator, + [dir="rtl"] .filtered #toolbar, + [dir="rtl"] .filtered div.xfull, + [dir="rtl"] .filtered .actions { + margin-left: 0; + } + + [dir="rtl"] .aligned .add-another, + [dir="rtl"] .aligned .related-lookup, + [dir="rtl"] .aligned .datetimeshortcuts { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .aligned ul { + margin-right: 0; + } +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/rtl.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/rtl.css new file mode 100644 index 0000000..b9e26bf --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/rtl.css @@ -0,0 +1,269 @@ +body { + direction: rtl; +} + +/* LOGIN */ + +.login .form-row { + float: right; +} + +.login .form-row label { + float: right; + padding-left: 0.5em; + padding-right: 0; + text-align: left; +} + +.login .submit-row { + clear: both; + padding: 1em 9.4em 0 0; +} + +/* GLOBAL */ + +th { + text-align: right; +} + +.module h2, .module caption { + text-align: right; +} + +.module ul, .module ol { + margin-left: 0; + margin-right: 1.5em; +} + +.viewlink, .addlink, .changelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.deletelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.object-tools { + float: left; +} + +thead th:first-child, +tfoot td:first-child { + border-left: none; +} + +/* LAYOUT */ + +#user-tools { + right: auto; + left: 0; + text-align: left; +} + +div.breadcrumbs { + text-align: right; +} + +#content-main { + float: right; +} + +#content-related { + float: left; + margin-left: -300px; + margin-right: auto; +} + +.colMS { + margin-left: 300px; + margin-right: 0; +} + +/* SORTABLE TABLES */ + +table thead th.sorted .sortoptions { + float: left; +} + +thead th.sorted .text { + padding-right: 0; + padding-left: 42px; +} + +/* dashboard styles */ + +.dashboard .module table td a { + padding-left: .6em; + padding-right: 16px; +} + +/* changelists styles */ + +.change-list .filtered table { + border-left: none; + border-right: 0px none; +} + +#changelist-filter { + right: auto; + left: 0; + border-left: none; + border-right: none; +} + +.change-list .filtered .results, .change-list .filtered .paginator, .filtered #toolbar, .filtered div.xfull { + margin-right: 0; + margin-left: 280px; +} + +#changelist-filter li.selected { + border-left: none; + padding-left: 10px; + margin-left: 0; + border-right: 5px solid #eaeaea; + padding-right: 10px; + margin-right: -15px; +} + +.filtered .actions { + margin-left: 280px; + margin-right: 0; +} + +#changelist table tbody td:first-child, #changelist table tbody th:first-child { + border-right: none; + border-left: none; +} + +/* FORMS */ + +.aligned label { + padding: 0 0 3px 1em; + float: right; +} + +.submit-row { + text-align: left +} + +.submit-row p.deletelink-box { + float: right; +} + +.submit-row input.default { + margin-left: 0; +} + +.vDateField, .vTimeField { + margin-left: 2px; +} + +.aligned .form-row input { + margin-left: 5px; +} + +form .aligned p.help, form .aligned div.help { + clear: right; +} + +form .aligned ul { + margin-right: 163px; + margin-left: 0; +} + +form ul.inline li { + float: right; + padding-right: 0; + padding-left: 7px; +} + +input[type=submit].default, .submit-row input.default { + float: left; +} + +fieldset .fieldBox { + float: right; + margin-left: 20px; + margin-right: 0; +} + +.errorlist li { + background-position: 100% 12px; + padding: 0; +} + +.errornote { + background-position: 100% 12px; + padding: 10px 12px; +} + +/* WIDGETS */ + +.calendarnav-previous { + top: 0; + left: auto; + right: 10px; +} + +.calendarnav-next { + top: 0; + right: auto; + left: 10px; +} + +.calendar caption, .calendarbox h2 { + text-align: center; +} + +.selector { + float: right; +} + +.selector .selector-filter { + text-align: right; +} + +.inline-deletelink { + float: left; +} + +form .form-row p.datetime { + overflow: hidden; +} + +.related-widget-wrapper { + float: right; +} + +/* MISC */ + +.inline-related h2, .inline-group h2 { + text-align: right +} + +.inline-related h3 span.delete { + padding-right: 20px; + padding-left: inherit; + left: 10px; + right: inherit; + float:left; +} + +.inline-related h3 span.delete label { + margin-left: inherit; + margin-right: 2px; +} + +/* IE7 specific bug fixes */ + +div.colM { + position: relative; +} + +.submit-row input { + float: left; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md new file mode 100644 index 0000000..86c7c29 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2015 Kevin Brown, Igor Vaynberg, and Select2 contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css new file mode 100644 index 0000000..447b2b8 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css @@ -0,0 +1,484 @@ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; } + .select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-selection--single .select2-selection__clear { + position: relative; } + .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; } + .select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-search--inline { + float: left; } + .select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; } + .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; } + +.select2-results { + display: block; } + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; } + +.select2-results__option { + padding: 6px; + user-select: none; + -webkit-user-select: none; } + .select2-results__option[aria-selected] { + cursor: pointer; } + +.select2-container--open .select2-dropdown { + left: 0; } + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-search--dropdown { + display: block; + padding: 4px; } + .select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; } + .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + .select2-search--dropdown.select2-search--hide { + display: none; } + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); } + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; } + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; } + .select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; } + .select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; } + .select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; } + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; } + .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; } + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; } + .select2-container--default .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; } + .select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; } + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; } + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; } + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; } + +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--default .select2-results__option[role=group] { + padding: 0; } + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; } + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; } + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; } + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; } + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + .select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; } + .select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } + .select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; } + .select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; } + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; } + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent; } + +.select2-container--classic .select2-dropdown--above { + border-bottom: none; } + +.select2-container--classic .select2-dropdown--below { + border-top: none; } + +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--classic .select2-results__option[role=group] { + padding: 0; } + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; } + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white; } + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; } diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css new file mode 100644 index 0000000..76de04d --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/widgets.css b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/widgets.css new file mode 100644 index 0000000..d3bd67a --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/css/widgets.css @@ -0,0 +1,565 @@ +/* SELECTOR (FILTER INTERFACE) */ + +.selector { + width: 800px; + float: left; +} + +.selector select { + width: 380px; + height: 17.2em; +} + +.selector-available, .selector-chosen { + float: left; + width: 380px; + text-align: center; + margin-bottom: 5px; +} + +.selector-chosen select { + border-top: none; +} + +.selector-available h2, .selector-chosen h2 { + border: 1px solid #ccc; + border-radius: 4px 4px 0 0; +} + +.selector-chosen h2 { + background: #79aec8; + color: #fff; +} + +.selector .selector-available h2 { + background: #f8f8f8; + color: #666; +} + +.selector .selector-filter { + background: white; + border: 1px solid #ccc; + border-width: 0 1px; + padding: 8px; + color: #999; + font-size: 10px; + margin: 0; + text-align: left; +} + +.selector .selector-filter label, +.inline-group .aligned .selector .selector-filter label { + float: left; + margin: 7px 0 0; + width: 18px; + height: 18px; + padding: 0; + overflow: hidden; + line-height: 1; +} + +.selector .selector-available input { + width: 320px; + margin-left: 8px; +} + +.selector ul.selector-chooser { + float: left; + width: 22px; + background-color: #eee; + border-radius: 10px; + margin: 10em 5px 0 5px; + padding: 0; +} + +.selector-chooser li { + margin: 0; + padding: 3px; + list-style-type: none; +} + +.selector select { + padding: 0 10px; + margin: 0 0 10px; + border-radius: 0 0 4px 4px; +} + +.selector-add, .selector-remove { + width: 16px; + height: 16px; + display: block; + text-indent: -3000px; + overflow: hidden; + cursor: default; + opacity: 0.3; +} + +.active.selector-add, .active.selector-remove { + opacity: 1; +} + +.active.selector-add:hover, .active.selector-remove:hover { + cursor: pointer; +} + +.selector-add { + background: url(../img/selector-icons.svg) 0 -96px no-repeat; +} + +.active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -112px; +} + +.selector-remove { + background: url(../img/selector-icons.svg) 0 -64px no-repeat; +} + +.active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -80px; +} + +a.selector-chooseall, a.selector-clearall { + display: inline-block; + height: 16px; + text-align: left; + margin: 1px auto 3px; + overflow: hidden; + font-weight: bold; + line-height: 16px; + color: #666; + text-decoration: none; + opacity: 0.3; +} + +a.active.selector-chooseall:focus, a.active.selector-clearall:focus, +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + color: #447e9b; +} + +a.active.selector-chooseall, a.active.selector-clearall { + opacity: 1; +} + +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + cursor: pointer; +} + +a.selector-chooseall { + padding: 0 18px 0 0; + background: url(../img/selector-icons.svg) right -160px no-repeat; + cursor: default; +} + +a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { + background-position: 100% -176px; +} + +a.selector-clearall { + padding: 0 0 0 18px; + background: url(../img/selector-icons.svg) 0 -128px no-repeat; + cursor: default; +} + +a.active.selector-clearall:focus, a.active.selector-clearall:hover { + background-position: 0 -144px; +} + +/* STACKED SELECTORS */ + +.stacked { + float: left; + width: 490px; +} + +.stacked select { + width: 480px; + height: 10.1em; +} + +.stacked .selector-available, .stacked .selector-chosen { + width: 480px; +} + +.stacked .selector-available { + margin-bottom: 0; +} + +.stacked .selector-available input { + width: 422px; +} + +.stacked ul.selector-chooser { + height: 22px; + width: 50px; + margin: 0 0 10px 40%; + background-color: #eee; + border-radius: 10px; +} + +.stacked .selector-chooser li { + float: left; + padding: 3px 3px 3px 5px; +} + +.stacked .selector-chooseall, .stacked .selector-clearall { + display: none; +} + +.stacked .selector-add { + background: url(../img/selector-icons.svg) 0 -32px no-repeat; + cursor: default; +} + +.stacked .active.selector-add { + background-position: 0 -48px; + cursor: pointer; +} + +.stacked .selector-remove { + background: url(../img/selector-icons.svg) 0 0 no-repeat; + cursor: default; +} + +.stacked .active.selector-remove { + background-position: 0 -16px; + cursor: pointer; +} + +.selector .help-icon { + background: url(../img/icon-unknown.svg) 0 0 no-repeat; + display: inline-block; + vertical-align: middle; + margin: -2px 0 0 2px; + width: 13px; + height: 13px; +} + +.selector .selector-chosen .help-icon { + background: url(../img/icon-unknown-alt.svg) 0 0 no-repeat; +} + +.selector .search-label-icon { + background: url(../img/search.svg) 0 0 no-repeat; + display: inline-block; + height: 18px; + width: 18px; +} + +/* DATE AND TIME */ + +p.datetime { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-weight: bold; +} + +.datetime span { + white-space: nowrap; + font-weight: normal; + font-size: 11px; + color: #ccc; +} + +.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + min-width: 0; + margin-left: 5px; + margin-bottom: 4px; +} + +table p.datetime { + font-size: 11px; + margin-left: 0; + padding-left: 0; +} + +.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon { + position: relative; + display: inline-block; + vertical-align: middle; + height: 16px; + width: 16px; + overflow: hidden; +} + +.datetimeshortcuts .clock-icon { + background: url(../img/icon-clock.svg) 0 0 no-repeat; +} + +.datetimeshortcuts a:focus .clock-icon, +.datetimeshortcuts a:hover .clock-icon { + background-position: 0 -16px; +} + +.datetimeshortcuts .date-icon { + background: url(../img/icon-calendar.svg) 0 0 no-repeat; + top: -1px; +} + +.datetimeshortcuts a:focus .date-icon, +.datetimeshortcuts a:hover .date-icon { + background-position: 0 -16px; +} + +.timezonewarning { + font-size: 11px; + color: #999; +} + +/* URL */ + +p.url { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-size: 11px; + font-weight: bold; +} + +.url a { + font-weight: normal; +} + +/* FILE UPLOADS */ + +p.file-upload { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-size: 11px; + font-weight: bold; +} + +.aligned p.file-upload { + margin-left: 170px; +} + +.file-upload a { + font-weight: normal; +} + +.file-upload .deletelink { + margin-left: 5px; +} + +span.clearable-file-input label { + color: #333; + font-size: 11px; + display: inline; + float: none; +} + +/* CALENDARS & CLOCKS */ + +.calendarbox, .clockbox { + margin: 5px auto; + font-size: 12px; + width: 19em; + text-align: center; + background: white; + border: 1px solid #ddd; + border-radius: 4px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); + overflow: hidden; + position: relative; +} + +.clockbox { + width: auto; +} + +.calendar { + margin: 0; + padding: 0; +} + +.calendar table { + margin: 0; + padding: 0; + border-collapse: collapse; + background: white; + width: 100%; +} + +.calendar caption, .calendarbox h2 { + margin: 0; + text-align: center; + border-top: none; + background: #f5dd5d; + font-weight: 700; + font-size: 12px; + color: #333; +} + +.calendar th { + padding: 8px 5px; + background: #f8f8f8; + border-bottom: 1px solid #ddd; + font-weight: 400; + font-size: 12px; + text-align: center; + color: #666; +} + +.calendar td { + font-weight: 400; + font-size: 12px; + text-align: center; + padding: 0; + border-top: 1px solid #eee; + border-bottom: none; +} + +.calendar td.selected a { + background: #79aec8; + color: #fff; +} + +.calendar td.nonday { + background: #f8f8f8; +} + +.calendar td.today a { + font-weight: 700; +} + +.calendar td a, .timelist a { + display: block; + font-weight: 400; + padding: 6px; + text-decoration: none; + color: #444; +} + +.calendar td a:focus, .timelist a:focus, +.calendar td a:hover, .timelist a:hover { + background: #79aec8; + color: white; +} + +.calendar td a:active, .timelist a:active { + background: #417690; + color: white; +} + +.calendarnav { + font-size: 10px; + text-align: center; + color: #ccc; + margin: 0; + padding: 1px 3px; +} + +.calendarnav a:link, #calendarnav a:visited, +#calendarnav a:focus, #calendarnav a:hover { + color: #999; +} + +.calendar-shortcuts { + background: white; + font-size: 11px; + line-height: 11px; + border-top: 1px solid #eee; + padding: 8px 0; + color: #ccc; +} + +.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + display: block; + position: absolute; + top: 8px; + width: 15px; + height: 15px; + text-indent: -9999px; + padding: 0; +} + +.calendarnav-previous { + left: 10px; + background: url(../img/calendar-icons.svg) 0 0 no-repeat; +} + +.calendarbox .calendarnav-previous:focus, +.calendarbox .calendarnav-previous:hover { + background-position: 0 -15px; +} + +.calendarnav-next { + right: 10px; + background: url(../img/calendar-icons.svg) 0 -30px no-repeat; +} + +.calendarbox .calendarnav-next:focus, +.calendarbox .calendarnav-next:hover { + background-position: 0 -45px; +} + +.calendar-cancel { + margin: 0; + padding: 4px 0; + font-size: 12px; + background: #eee; + border-top: 1px solid #ddd; + color: #333; +} + +.calendar-cancel:focus, .calendar-cancel:hover { + background: #ddd; +} + +.calendar-cancel a { + color: black; + display: block; +} + +ul.timelist, .timelist li { + list-style-type: none; + margin: 0; + padding: 0; +} + +.timelist a { + padding: 2px; +} + +/* EDIT INLINE */ + +.inline-deletelink { + float: right; + text-indent: -9999px; + background: url(../img/inline-delete.svg) 0 0 no-repeat; + width: 16px; + height: 16px; + border: 0px none; +} + +.inline-deletelink:focus, .inline-deletelink:hover { + cursor: pointer; +} + +/* RELATED WIDGET WRAPPER */ +.related-widget-wrapper { + float: left; /* display properly in form rows with multiple fields */ + overflow: hidden; /* clear floated contents */ +} + +.related-widget-wrapper-link { + opacity: 0.3; +} + +.related-widget-wrapper-link:link { + opacity: .8; +} + +.related-widget-wrapper-link:link:focus, +.related-widget-wrapper-link:link:hover { + opacity: 1; +} + +select + .related-widget-wrapper-link, +.related-widget-wrapper-link + .related-widget-wrapper-link { + margin-left: 7px; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt new file mode 100644 index 0000000..75b5248 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/README.txt b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/README.txt new file mode 100644 index 0000000..b247bef --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/README.txt @@ -0,0 +1,3 @@ +Roboto webfont source: https://www.google.com/fonts/specimen/Roboto +WOFF files extracted using https://github.com/majodev/google-webfonts-helper +Weights used in this project: Light (300), Regular (400), Bold (700) diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..6e0f56267035c2321ca6b590adcfc0fc93b7dc51 GIT binary patch literal 86184 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 I3*a(Q$S^tF@Bjb+ literal 0 HcmV?d00001 diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..b9e99185c8300c786fa77a0490fefdd26ab2e99e GIT binary patch literal 85692 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ŐfpB|})B55Bx+ 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 literal 0 HcmV?d00001 diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..96c1986f01459bc3b7ca8e18fc06785e5e35dc45 GIT binary patch literal 85876 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 YL6htZCcLmfC1Z!aXXnWeQyf*20Ac;`*Z=?k literal 0 HcmV?d00001 diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/LICENSE b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/LICENSE new file mode 100644 index 0000000..a4faaa1 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Code Charm Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/README.txt b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/README.txt new file mode 100644 index 0000000..4eb2e49 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/README.txt @@ -0,0 +1,7 @@ +All icons are taken from Font Awesome (http://fontawesome.io/) project. +The Font Awesome font is licensed under the SIL OFL 1.1: +- https://scripts.sil.org/OFL + +SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG +Font-Awesome-SVG-PNG is licensed under the MIT license (see file license +in current folder). diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg new file mode 100644 index 0000000..dbf21c3 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg @@ -0,0 +1,14 @@ +<svg width="15" height="60" viewBox="0 0 1792 7168" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="previous"> + <path d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="next"> + <path d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#previous" x="0" y="0" fill="#333333" /> + <use xlink:href="#previous" x="0" y="1792" fill="#000000" /> + <use xlink:href="#next" x="0" y="3584" fill="#333333" /> + <use xlink:href="#next" x="0" y="5376" fill="#000000" /> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg new file mode 100644 index 0000000..228854f --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg @@ -0,0 +1 @@ +<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#EBECE6" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9C9C9" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg new file mode 100644 index 0000000..96b87fd --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg @@ -0,0 +1 @@ +<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#F1C02A" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9A741" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg new file mode 100644 index 0000000..e004fb1 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#70bf2b" d="M1600 796v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg new file mode 100644 index 0000000..e51ea83 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#efb80b" d="M1024 1375v-190q0-14-9.5-23.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 23.5v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11h-220q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17h-1536q-34 0-63.5-17t-46.5-46q-37-63-2-126l768-1408q17-31 47-49t65-18 65 18 47 49z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg new file mode 100644 index 0000000..97910a9 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg @@ -0,0 +1,9 @@ +<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="icon"> + <path d="M192 1664h288v-288h-288v288zm352 0h320v-288h-320v288zm-352-352h288v-320h-288v320zm352 0h320v-320h-320v320zm-352-384h288v-288h-288v288zm736 736h320v-288h-320v288zm-384-736h320v-288h-320v288zm768 736h288v-288h-288v288zm-384-352h320v-320h-320v320zm-352-864v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm736 864h288v-320h-288v320zm-384-384h320v-288h-320v288zm384 0h288v-288h-288v288zm32-480v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm384-64v1280q0 52-38 90t-90 38h-1408q-52 0-90-38t-38-90v-1280q0-52 38-90t90-38h128v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h384v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h128q52 0 90 38t38 90z"/> + </g> + </defs> + <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> + <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg new file mode 100644 index 0000000..bbb137a --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#efb80b" d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg new file mode 100644 index 0000000..bf9985d --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg @@ -0,0 +1,9 @@ +<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="icon"> + <path d="M1024 544v448q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h224v-352q0-14 9-23t23-9h64q14 0 23 9t9 23zm416 352q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> + <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg new file mode 100644 index 0000000..4059b15 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#dd4646" d="M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-no.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-no.svg new file mode 100644 index 0000000..2e0d383 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-no.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#dd4646" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg new file mode 100644 index 0000000..1c6b99f --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg new file mode 100644 index 0000000..50b4f97 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#666666" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg new file mode 100644 index 0000000..a1ca1d3 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#2b70bf" d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg new file mode 100644 index 0000000..5883d87 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#70bf2b" d="M1412 734q0-28-18-46l-91-90q-19-19-45-19t-45 19l-408 407-226-226q-19-19-45-19t-45 19l-91 90q-18 18-18 46 0 27 18 45l362 362q19 19 45 19 27 0 46-19l543-543q18-18 18-45zm252 162q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg new file mode 100644 index 0000000..17d1ad6 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#999999" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/search.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/search.svg new file mode 100644 index 0000000..c8c69b2 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/search.svg @@ -0,0 +1,3 @@ +<svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#555555" d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg new file mode 100644 index 0000000..926b8e2 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg @@ -0,0 +1,34 @@ +<svg width="16" height="192" viewBox="0 0 1792 21504" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="up"> + <path d="M1412 895q0-27-18-45l-362-362-91-91q-18-18-45-18t-45 18l-91 91-362 362q-18 18-18 45t18 45l91 91q18 18 45 18t45-18l189-189v502q0 26 19 45t45 19h128q26 0 45-19t19-45v-502l189 189q19 19 45 19t45-19l91-91q18-18 18-45zm252 1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="down"> + <path d="M1412 897q0-27-18-45l-91-91q-18-18-45-18t-45 18l-189 189v-502q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v502l-189-189q-19-19-45-19t-45 19l-91 91q-18 18-18 45t18 45l362 362 91 91q18 18 45 18t45-18l91-91 362-362q18-18 18-45zm252-1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="left"> + <path d="M1408 960v-128q0-26-19-45t-45-19h-502l189-189q19-19 19-45t-19-45l-91-91q-18-18-45-18t-45 18l-362 362-91 91q-18 18-18 45t18 45l91 91 362 362q18 18 45 18t45-18l91-91q18-18 18-45t-18-45l-189-189h502q26 0 45-19t19-45zm256-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="right"> + <path d="M1413 896q0-27-18-45l-91-91-362-362q-18-18-45-18t-45 18l-91 91q-18 18-18 45t18 45l189 189h-502q-26 0-45 19t-19 45v128q0 26 19 45t45 19h502l-189 189q-19 19-19 45t19 45l91 91q18 18 45 18t45-18l362-362 91-91q18-18 18-45zm251 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="clearall"> + <path transform="translate(336, 336) scale(0.75)" d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="chooseall"> + <path transform="translate(336, 336) scale(0.75)" d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#up" x="0" y="0" fill="#666666" /> + <use xlink:href="#up" x="0" y="1792" fill="#447e9b" /> + <use xlink:href="#down" x="0" y="3584" fill="#666666" /> + <use xlink:href="#down" x="0" y="5376" fill="#447e9b" /> + <use xlink:href="#left" x="0" y="7168" fill="#666666" /> + <use xlink:href="#left" x="0" y="8960" fill="#447e9b" /> + <use xlink:href="#right" x="0" y="10752" fill="#666666" /> + <use xlink:href="#right" x="0" y="12544" fill="#447e9b" /> + <use xlink:href="#clearall" x="0" y="14336" fill="#666666" /> + <use xlink:href="#clearall" x="0" y="16128" fill="#447e9b" /> + <use xlink:href="#chooseall" x="0" y="17920" fill="#666666" /> + <use xlink:href="#chooseall" x="0" y="19712" fill="#447e9b" /> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg new file mode 100644 index 0000000..7c31ec9 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg @@ -0,0 +1,19 @@ +<svg width="14" height="84" viewBox="0 0 1792 10752" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="sort"> + <path d="M1408 1088q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45zm0-384q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> + </g> + <g id="ascending"> + <path d="M1408 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> + </g> + <g id="descending"> + <path d="M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"/> + </g> + </defs> + <use xlink:href="#sort" x="0" y="0" fill="#999999" /> + <use xlink:href="#sort" x="0" y="1792" fill="#447e9b" /> + <use xlink:href="#ascending" x="0" y="3584" fill="#999999" /> + <use xlink:href="#ascending" x="0" y="5376" fill="#447e9b" /> + <use xlink:href="#descending" x="0" y="7168" fill="#999999" /> + <use xlink:href="#descending" x="0" y="8960" fill="#447e9b" /> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg new file mode 100644 index 0000000..1ca64ae --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg new file mode 100644 index 0000000..b664d61 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/> +</svg> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/SelectBox.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/SelectBox.js new file mode 100644 index 0000000..2073f03 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/SelectBox.js @@ -0,0 +1,144 @@ +(function($) { + 'use strict'; + var SelectBox = { + cache: {}, + init: function(id) { + var box = document.getElementById(id); + var node; + SelectBox.cache[id] = []; + var cache = SelectBox.cache[id]; + var boxOptions = box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0, j = boxOptionsLength; i < j; i++) { + node = boxOptions[i]; + cache.push({value: node.value, text: node.text, displayed: 1}); + } + }, + redisplay: function(id) { + // Repopulate HTML select box from cache + var box = document.getElementById(id); + var node; + $(box).empty(); // clear all options + var new_options = box.outerHTML.slice(0, -9); // grab just the opening tag + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + if (node.displayed) { + var new_option = new Option(node.text, node.value, false, false); + // Shows a tooltip when hovering over the option + new_option.setAttribute("title", node.text); + new_options += new_option.outerHTML; + } + } + new_options += '</select>'; + box.outerHTML = new_options; + }, + filter: function(id, text) { + // Redisplay the HTML select box, displaying only the choices containing ALL + // the words in text. (It's an AND search.) + var tokens = text.toLowerCase().split(/\s+/); + var node, token; + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + node.displayed = 1; + var node_text = node.text.toLowerCase(); + var numTokens = tokens.length; + for (var k = 0; k < numTokens; k++) { + token = tokens[k]; + if (node_text.indexOf(token) === -1) { + node.displayed = 0; + break; // Once the first token isn't found we're done + } + } + } + SelectBox.redisplay(id); + }, + delete_from_cache: function(id, value) { + var node, delete_index = null; + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + if (node.value === value) { + delete_index = i; + break; + } + } + cache.splice(delete_index, 1); + }, + add_to_cache: function(id, option) { + SelectBox.cache[id].push({value: option.value, text: option.text, displayed: 1}); + }, + cache_contains: function(id, value) { + // Check if an item is contained in the cache + var node; + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + if (node.value === value) { + return true; + } + } + return false; + }, + move: function(from, to) { + var from_box = document.getElementById(from); + var option; + var boxOptions = from_box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0, j = boxOptionsLength; i < j; i++) { + option = boxOptions[i]; + var option_value = option.value; + if (option.selected && SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + move_all: function(from, to) { + var from_box = document.getElementById(from); + var option; + var boxOptions = from_box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0, j = boxOptionsLength; i < j; i++) { + option = boxOptions[i]; + var option_value = option.value; + if (SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + sort: function(id) { + SelectBox.cache[id].sort(function(a, b) { + a = a.text.toLowerCase(); + b = b.text.toLowerCase(); + try { + if (a > b) { + return 1; + } + if (a < b) { + return -1; + } + } + catch (e) { + // silently fail on IE 'unknown' exception + } + return 0; + } ); + }, + select_all: function(id) { + var box = document.getElementById(id); + var boxOptions = box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0; i < boxOptionsLength; i++) { + boxOptions[i].selected = 'selected'; + } + } + }; + window.SelectBox = SelectBox; +})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js new file mode 100644 index 0000000..4221778 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js @@ -0,0 +1,246 @@ +/*global SelectBox, gettext, interpolate, quickElement, SelectFilter*/ +/* +SelectFilter2 - Turns a multiple-select box into a filter interface. + +Requires jQuery, core.js, and SelectBox.js. +*/ +(function($) { + 'use strict'; + function findForm(node) { + // returns the node of the form containing the given node + if (node.tagName.toLowerCase() !== 'form') { + return findForm(node.parentNode); + } + return node; + } + + window.SelectFilter = { + init: function(field_id, field_name, is_stacked) { + if (field_id.match(/__prefix__/)) { + // Don't initialize on empty forms. + return; + } + var from_box = document.getElementById(field_id); + from_box.id += '_from'; // change its ID + from_box.className = 'filtered'; + + var ps = from_box.parentNode.getElementsByTagName('p'); + for (var i = 0; i < ps.length; i++) { + if (ps[i].className.indexOf("info") !== -1) { + // Remove <p class="info">, because it just gets in the way. + from_box.parentNode.removeChild(ps[i]); + } else if (ps[i].className.indexOf("help") !== -1) { + // Move help text up to the top so it isn't below the select + // boxes or wrapped off on the side to the right of the add + // button: + from_box.parentNode.insertBefore(ps[i], from_box.parentNode.firstChild); + } + } + + // <div class="selector"> or <div class="selector stacked"> + var selector_div = quickElement('div', from_box.parentNode); + selector_div.className = is_stacked ? 'selector stacked' : 'selector'; + + // <div class="selector-available"> + var selector_available = quickElement('div', selector_div); + selector_available.className = 'selector-available'; + var title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name])); + quickElement( + 'span', title_available, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of available %s. You may choose some by ' + + 'selecting them in the box below and then clicking the ' + + '"Choose" arrow between the two boxes.' + ), + [field_name] + ) + ); + + var filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter'); + filter_p.className = 'selector-filter'; + + var search_filter_label = quickElement('label', filter_p, '', 'for', field_id + '_input'); + + quickElement( + 'span', search_filter_label, '', + 'class', 'help-tooltip search-label-icon', + 'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name]) + ); + + filter_p.appendChild(document.createTextNode(' ')); + + var filter_input = quickElement('input', filter_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_input.id = field_id + '_input'; + + selector_available.appendChild(from_box); + var choose_all = quickElement('a', selector_available, gettext('Choose all'), 'title', interpolate(gettext('Click to choose all %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_add_all_link'); + choose_all.className = 'selector-chooseall'; + + // <ul class="selector-chooser"> + var selector_chooser = quickElement('ul', selector_div); + selector_chooser.className = 'selector-chooser'; + var add_link = quickElement('a', quickElement('li', selector_chooser), gettext('Choose'), 'title', gettext('Choose'), 'href', '#', 'id', field_id + '_add_link'); + add_link.className = 'selector-add'; + var remove_link = quickElement('a', quickElement('li', selector_chooser), gettext('Remove'), 'title', gettext('Remove'), 'href', '#', 'id', field_id + '_remove_link'); + remove_link.className = 'selector-remove'; + + // <div class="selector-chosen"> + var selector_chosen = quickElement('div', selector_div); + selector_chosen.className = 'selector-chosen'; + var title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name])); + quickElement( + 'span', title_chosen, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of chosen %s. You may remove some by ' + + 'selecting them in the box below and then clicking the ' + + '"Remove" arrow between the two boxes.' + ), + [field_name] + ) + ); + + var to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', 'multiple', 'size', from_box.size, 'name', from_box.getAttribute('name')); + to_box.className = 'filtered'; + var clear_all = quickElement('a', selector_chosen, gettext('Remove all'), 'title', interpolate(gettext('Click to remove all chosen %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_remove_all_link'); + clear_all.className = 'selector-clearall'; + + from_box.setAttribute('name', from_box.getAttribute('name') + '_old'); + + // Set up the JavaScript event handlers for the select box filter interface + var move_selection = function(e, elem, move_func, from, to) { + if (elem.className.indexOf('active') !== -1) { + move_func(from, to); + SelectFilter.refresh_icons(field_id); + } + e.preventDefault(); + }; + choose_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_from', field_id + '_to'); + }); + add_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_from', field_id + '_to'); + }); + remove_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_to', field_id + '_from'); + }); + clear_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_to', field_id + '_from'); + }); + filter_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id); + }); + filter_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id); + }); + filter_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id); + }); + selector_div.addEventListener('change', function(e) { + if (e.target.tagName === 'SELECT') { + SelectFilter.refresh_icons(field_id); + } + }); + selector_div.addEventListener('dblclick', function(e) { + if (e.target.tagName === 'OPTION') { + if (e.target.closest('select').id === field_id + '_to') { + SelectBox.move(field_id + '_to', field_id + '_from'); + } else { + SelectBox.move(field_id + '_from', field_id + '_to'); + } + SelectFilter.refresh_icons(field_id); + } + }); + findForm(from_box).addEventListener('submit', function() { + SelectBox.select_all(field_id + '_to'); + }); + SelectBox.init(field_id + '_from'); + SelectBox.init(field_id + '_to'); + // Move selected from_box options to to_box + SelectBox.move(field_id + '_from', field_id + '_to'); + + if (!is_stacked) { + // In horizontal mode, give the same height to the two boxes. + var j_from_box = $('#' + field_id + '_from'); + var j_to_box = $('#' + field_id + '_to'); + j_to_box.height($(filter_p).outerHeight() + j_from_box.outerHeight()); + } + + // Initial icon refresh + SelectFilter.refresh_icons(field_id); + }, + any_selected: function(field) { + var any_selected = false; + try { + // Temporarily add the required attribute and check validity. + // This is much faster in WebKit browsers than the fallback. + field.attr('required', 'required'); + any_selected = field.is(':valid'); + field.removeAttr('required'); + } catch (e) { + // Browsers that don't support :valid (IE < 10) + any_selected = field.find('option:selected').length > 0; + } + return any_selected; + }, + refresh_icons: function(field_id) { + var from = $('#' + field_id + '_from'); + var to = $('#' + field_id + '_to'); + // Active if at least one item is selected + $('#' + field_id + '_add_link').toggleClass('active', SelectFilter.any_selected(from)); + $('#' + field_id + '_remove_link').toggleClass('active', SelectFilter.any_selected(to)); + // Active if the corresponding box isn't empty + $('#' + field_id + '_add_all_link').toggleClass('active', from.find('option').length > 0); + $('#' + field_id + '_remove_all_link').toggleClass('active', to.find('option').length > 0); + }, + filter_key_press: function(event, field_id) { + var from = document.getElementById(field_id + '_from'); + // don't submit form if user pressed Enter + if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) { + from.selectedIndex = 0; + SelectBox.move(field_id + '_from', field_id + '_to'); + from.selectedIndex = 0; + event.preventDefault(); + return false; + } + }, + filter_key_up: function(event, field_id) { + var from = document.getElementById(field_id + '_from'); + var temp = from.selectedIndex; + SelectBox.filter(field_id + '_from', document.getElementById(field_id + '_input').value); + from.selectedIndex = temp; + return true; + }, + filter_key_down: function(event, field_id) { + var from = document.getElementById(field_id + '_from'); + // right arrow -- move across + if ((event.which && event.which === 39) || (event.keyCode && event.keyCode === 39)) { + var old_index = from.selectedIndex; + SelectBox.move(field_id + '_from', field_id + '_to'); + from.selectedIndex = (old_index === from.length) ? from.length - 1 : old_index; + return false; + } + // down arrow -- wrap around + if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) { + from.selectedIndex = (from.length === from.selectedIndex + 1) ? 0 : from.selectedIndex + 1; + } + // up arrow -- wrap around + if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) { + from.selectedIndex = (from.selectedIndex === 0) ? from.length - 1 : from.selectedIndex - 1; + } + return true; + } + }; + + window.addEventListener('load', function(e) { + $('select.selectfilter, select.selectfilterstacked').each(function() { + var $el = $(this), + data = $el.data(); + SelectFilter.init($el.attr('id'), data.fieldName, parseInt(data.isStacked, 10)); + }); + }); + +})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/actions.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/actions.js new file mode 100644 index 0000000..27c60a6 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/actions.js @@ -0,0 +1,153 @@ +/*global gettext, interpolate, ngettext*/ +(function($) { + 'use strict'; + var lastChecked; + + $.fn.actions = function(opts) { + var options = $.extend({}, $.fn.actions.defaults, opts); + var actionCheckboxes = $(this); + var list_editable_changed = false; + var showQuestion = function() { + $(options.acrossClears).hide(); + $(options.acrossQuestions).show(); + $(options.allContainer).hide(); + }, + showClear = function() { + $(options.acrossClears).show(); + $(options.acrossQuestions).hide(); + $(options.actionContainer).toggleClass(options.selectedClass); + $(options.allContainer).show(); + $(options.counterContainer).hide(); + }, + reset = function() { + $(options.acrossClears).hide(); + $(options.acrossQuestions).hide(); + $(options.allContainer).hide(); + $(options.counterContainer).show(); + }, + clearAcross = function() { + reset(); + $(options.acrossInput).val(0); + $(options.actionContainer).removeClass(options.selectedClass); + }, + checker = function(checked) { + if (checked) { + showQuestion(); + } else { + reset(); + } + $(actionCheckboxes).prop("checked", checked) + .parent().parent().toggleClass(options.selectedClass, checked); + }, + updateCounter = function() { + var sel = $(actionCheckboxes).filter(":checked").length; + // data-actions-icnt is defined in the generated HTML + // and contains the total amount of objects in the queryset + var actions_icnt = $('.action-counter').data('actionsIcnt'); + $(options.counterContainer).html(interpolate( + ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), { + sel: sel, + cnt: actions_icnt + }, true)); + $(options.allToggle).prop("checked", function() { + var value; + if (sel === actionCheckboxes.length) { + value = true; + showQuestion(); + } else { + value = false; + clearAcross(); + } + return value; + }); + }; + // Show counter by default + $(options.counterContainer).show(); + // Check state of checkboxes and reinit state if needed + $(this).filter(":checked").each(function(i) { + $(this).parent().parent().toggleClass(options.selectedClass); + updateCounter(); + if ($(options.acrossInput).val() === 1) { + showClear(); + } + }); + $(options.allToggle).show().on('click', function() { + checker($(this).prop("checked")); + updateCounter(); + }); + $("a", options.acrossQuestions).on('click', function(event) { + event.preventDefault(); + $(options.acrossInput).val(1); + showClear(); + }); + $("a", options.acrossClears).on('click', function(event) { + event.preventDefault(); + $(options.allToggle).prop("checked", false); + clearAcross(); + checker(0); + updateCounter(); + }); + lastChecked = null; + $(actionCheckboxes).on('click', function(event) { + if (!event) { event = window.event; } + var target = event.target ? event.target : event.srcElement; + if (lastChecked && $.data(lastChecked) !== $.data(target) && event.shiftKey === true) { + var inrange = false; + $(lastChecked).prop("checked", target.checked) + .parent().parent().toggleClass(options.selectedClass, target.checked); + $(actionCheckboxes).each(function() { + if ($.data(this) === $.data(lastChecked) || $.data(this) === $.data(target)) { + inrange = (inrange) ? false : true; + } + if (inrange) { + $(this).prop("checked", target.checked) + .parent().parent().toggleClass(options.selectedClass, target.checked); + } + }); + } + $(target).parent().parent().toggleClass(options.selectedClass, target.checked); + lastChecked = target; + updateCounter(); + }); + $('form#changelist-form table#result_list tr').on('change', 'td:gt(0) :input', function() { + list_editable_changed = true; + }); + $('form#changelist-form button[name="index"]').on('click', function(event) { + if (list_editable_changed) { + return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); + } + }); + $('form#changelist-form input[name="_save"]').on('click', function(event) { + var action_changed = false; + $('select option:selected', options.actionContainer).each(function() { + if ($(this).val()) { + action_changed = true; + } + }); + if (action_changed) { + if (list_editable_changed) { + return confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")); + } else { + return confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button.")); + } + } + }); + }; + /* Setup plugin defaults */ + $.fn.actions.defaults = { + actionContainer: "div.actions", + counterContainer: "span.action-counter", + allContainer: "div.actions span.all", + acrossInput: "div.actions input.select-across", + acrossQuestions: "div.actions span.question", + acrossClears: "div.actions span.clear", + allToggle: "#action-toggle", + selectedClass: "selected" + }; + $(document).ready(function() { + var $actionsEls = $('tr input.action-select'); + if ($actionsEls.length > 0) { + $actionsEls.actions(); + } + }); +})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/actions.min.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/actions.min.js new file mode 100644 index 0000000..31e83c1 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/actions.min.js @@ -0,0 +1,7 @@ +(function(a){var f;a.fn.actions=function(e){var b=a.extend({},a.fn.actions.defaults,e),g=a(this),k=!1,l=function(){a(b.acrossClears).hide();a(b.acrossQuestions).show();a(b.allContainer).hide()},m=function(){a(b.acrossClears).show();a(b.acrossQuestions).hide();a(b.actionContainer).toggleClass(b.selectedClass);a(b.allContainer).show();a(b.counterContainer).hide()},n=function(){a(b.acrossClears).hide();a(b.acrossQuestions).hide();a(b.allContainer).hide();a(b.counterContainer).show()},p=function(){n(); +a(b.acrossInput).val(0);a(b.actionContainer).removeClass(b.selectedClass)},q=function(c){c?l():n();a(g).prop("checked",c).parent().parent().toggleClass(b.selectedClass,c)},h=function(){var c=a(g).filter(":checked").length,d=a(".action-counter").data("actionsIcnt");a(b.counterContainer).html(interpolate(ngettext("%(sel)s of %(cnt)s selected","%(sel)s of %(cnt)s selected",c),{sel:c,cnt:d},!0));a(b.allToggle).prop("checked",function(){if(c===g.length){var a=!0;l()}else a=!1,p();return a})};a(b.counterContainer).show(); +a(this).filter(":checked").each(function(c){a(this).parent().parent().toggleClass(b.selectedClass);h();1===a(b.acrossInput).val()&&m()});a(b.allToggle).show().on("click",function(){q(a(this).prop("checked"));h()});a("a",b.acrossQuestions).on("click",function(c){c.preventDefault();a(b.acrossInput).val(1);m()});a("a",b.acrossClears).on("click",function(c){c.preventDefault();a(b.allToggle).prop("checked",!1);p();q(0);h()});f=null;a(g).on("click",function(c){c||(c=window.event);var d=c.target?c.target: +c.srcElement;if(f&&a.data(f)!==a.data(d)&&!0===c.shiftKey){var e=!1;a(f).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked);a(g).each(function(){if(a.data(this)===a.data(f)||a.data(this)===a.data(d))e=e?!1:!0;e&&a(this).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked)})}a(d).parent().parent().toggleClass(b.selectedClass,d.checked);f=d;h()});a("form#changelist-form table#result_list tr").on("change","td:gt(0) :input",function(){k=!0}); +a('form#changelist-form button[name="index"]').on("click",function(a){if(k)return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."))});a('form#changelist-form input[name="_save"]').on("click",function(c){var d=!1;a("select option:selected",b.actionContainer).each(function(){a(this).val()&&(d=!0)});if(d)return k?confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")): +confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button."))})};a.fn.actions.defaults={actionContainer:"div.actions",counterContainer:"span.action-counter",allContainer:"div.actions span.all",acrossInput:"div.actions input.select-across",acrossQuestions:"div.actions span.question",acrossClears:"div.actions span.clear",allToggle:"#action-toggle",selectedClass:"selected"};a(document).ready(function(){var e= +a("tr input.action-select");0<e.length&&e.actions()})})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js new file mode 100644 index 0000000..1ee7c2a --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js @@ -0,0 +1,423 @@ +/*global Calendar, findPosX, findPosY, getStyle, get_format, gettext, gettext_noop, interpolate, ngettext, quickElement*/ +// Inserts shortcut buttons after all of the following: +// <input type="text" class="vDateField"> +// <input type="text" class="vTimeField"> +(function() { + 'use strict'; + var DateTimeShortcuts = { + calendars: [], + calendarInputs: [], + clockInputs: [], + clockHours: { + default_: [ + [gettext_noop('Now'), -1], + [gettext_noop('Midnight'), 0], + [gettext_noop('6 a.m.'), 6], + [gettext_noop('Noon'), 12], + [gettext_noop('6 p.m.'), 18] + ] + }, + dismissClockFunc: [], + dismissCalendarFunc: [], + calendarDivName1: 'calendarbox', // name of calendar <div> that gets toggled + calendarDivName2: 'calendarin', // name of <div> that contains calendar + calendarLinkName: 'calendarlink', // name of the link that is used to toggle + clockDivName: 'clockbox', // name of clock <div> that gets toggled + clockLinkName: 'clocklink', // name of the link that is used to toggle + shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts + timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch + timezoneOffset: 0, + init: function() { + var body = document.getElementsByTagName('body')[0]; + var serverOffset = body.getAttribute('data-admin-utc-offset'); + if (serverOffset) { + var localOffset = new Date().getTimezoneOffset() * -60; + DateTimeShortcuts.timezoneOffset = localOffset - serverOffset; + } + + var inputs = document.getElementsByTagName('input'); + for (var i = 0; i < inputs.length; i++) { + var inp = inputs[i]; + if (inp.getAttribute('type') === 'text' && inp.className.match(/vTimeField/)) { + DateTimeShortcuts.addClock(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + else if (inp.getAttribute('type') === 'text' && inp.className.match(/vDateField/)) { + DateTimeShortcuts.addCalendar(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + } + }, + // Return the current time while accounting for the server timezone. + now: function() { + var body = document.getElementsByTagName('body')[0]; + var serverOffset = body.getAttribute('data-admin-utc-offset'); + if (serverOffset) { + var localNow = new Date(); + var localOffset = localNow.getTimezoneOffset() * -60; + localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset)); + return localNow; + } else { + return new Date(); + } + }, + // Add a warning when the time zone in the browser and backend do not match. + addTimezoneWarning: function(inp) { + var warningClass = DateTimeShortcuts.timezoneWarningClass; + var timezoneOffset = DateTimeShortcuts.timezoneOffset / 3600; + + // Only warn if there is a time zone mismatch. + if (!timezoneOffset) { + return; + } + + // Check if warning is already there. + if (inp.parentNode.querySelectorAll('.' + warningClass).length) { + return; + } + + var message; + if (timezoneOffset > 0) { + message = ngettext( + 'Note: You are %s hour ahead of server time.', + 'Note: You are %s hours ahead of server time.', + timezoneOffset + ); + } + else { + timezoneOffset *= -1; + message = ngettext( + 'Note: You are %s hour behind server time.', + 'Note: You are %s hours behind server time.', + timezoneOffset + ); + } + message = interpolate(message, [timezoneOffset]); + + var warning = document.createElement('span'); + warning.className = warningClass; + warning.textContent = message; + inp.parentNode.appendChild(document.createElement('br')); + inp.parentNode.appendChild(warning); + }, + // Add clock widget to a given field + addClock: function(inp) { + var num = DateTimeShortcuts.clockInputs.length; + DateTimeShortcuts.clockInputs[num] = inp; + DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; }; + + // Shortcut links (clock icon and "Now" link) + var shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + var now_link = document.createElement('a'); + now_link.setAttribute('href', "#"); + now_link.textContent = gettext('Now'); + now_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, -1); + }); + var clock_link = document.createElement('a'); + clock_link.setAttribute('href', '#'); + clock_link.id = DateTimeShortcuts.clockLinkName + num; + clock_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the clock + e.stopPropagation(); + DateTimeShortcuts.openClock(num); + }); + + quickElement( + 'span', clock_link, '', + 'class', 'clock-icon', + 'title', gettext('Choose a Time') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(now_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(clock_link); + + // Create clock link div + // + // Markup looks like: + // <div id="clockbox1" class="clockbox module"> + // <h2>Choose a time</h2> + // <ul class="timelist"> + // <li><a href="#">Now</a></li> + // <li><a href="#">Midnight</a></li> + // <li><a href="#">6 a.m.</a></li> + // <li><a href="#">Noon</a></li> + // <li><a href="#">6 p.m.</a></li> + // </ul> + // <p class="calendar-cancel"><a href="#">Cancel</a></p> + // </div> + + var clock_box = document.createElement('div'); + clock_box.style.display = 'none'; + clock_box.style.position = 'absolute'; + clock_box.className = 'clockbox module'; + clock_box.setAttribute('id', DateTimeShortcuts.clockDivName + num); + document.body.appendChild(clock_box); + clock_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + quickElement('h2', clock_box, gettext('Choose a time')); + var time_list = quickElement('ul', clock_box); + time_list.className = 'timelist'; + // The list of choices can be overridden in JavaScript like this: + // DateTimeShortcuts.clockHours.name = [['3 a.m.', 3]]; + // where name is the name attribute of the <input>. + var name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name; + DateTimeShortcuts.clockHours[name].forEach(function(element) { + var time_link = quickElement('a', quickElement('li', time_list), gettext(element[0]), 'href', '#'); + time_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, element[1]); + }); + }); + + var cancel_p = quickElement('p', clock_box); + cancel_p.className = 'calendar-cancel'; + var cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissClock(num); + }); + + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissClock(num); + event.preventDefault(); + } + }); + }, + openClock: function(num) { + var clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num); + var clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num); + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (getStyle(document.body, 'direction') !== 'rtl') { + clock_box.style.left = findPosX(clock_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + // TODO: IE returns wrong value for findPosX when in rtl mode + // (it returns as it was left aligned), needs to be fixed. + clock_box.style.left = findPosX(clock_link) - 110 + 'px'; + } + clock_box.style.top = Math.max(0, findPosY(clock_link) - 30) + 'px'; + + // Show the clock box + clock_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + dismissClock: function(num) { + document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + handleClockQuicklink: function(num, val) { + var d; + if (val === -1) { + d = DateTimeShortcuts.now(); + } + else { + d = new Date(1970, 1, 1, val, 0, 0, 0); + } + DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]); + DateTimeShortcuts.clockInputs[num].focus(); + DateTimeShortcuts.dismissClock(num); + }, + // Add calendar widget to a given field. + addCalendar: function(inp) { + var num = DateTimeShortcuts.calendars.length; + + DateTimeShortcuts.calendarInputs[num] = inp; + DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; }; + + // Shortcut links (calendar icon and "Today" link) + var shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + var today_link = document.createElement('a'); + today_link.setAttribute('href', '#'); + today_link.appendChild(document.createTextNode(gettext('Today'))); + today_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + var cal_link = document.createElement('a'); + cal_link.setAttribute('href', '#'); + cal_link.id = DateTimeShortcuts.calendarLinkName + num; + cal_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the calendar + e.stopPropagation(); + DateTimeShortcuts.openCalendar(num); + }); + quickElement( + 'span', cal_link, '', + 'class', 'date-icon', + 'title', gettext('Choose a Date') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(today_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(cal_link); + + // Create calendarbox div. + // + // Markup looks like: + // + // <div id="calendarbox3" class="calendarbox module"> + // <h2> + // <a href="#" class="link-previous">‹</a> + // <a href="#" class="link-next">›</a> February 2003 + // </h2> + // <div class="calendar" id="calendarin3"> + // <!-- (cal) --> + // </div> + // <div class="calendar-shortcuts"> + // <a href="#">Yesterday</a> | <a href="#">Today</a> | <a href="#">Tomorrow</a> + // </div> + // <p class="calendar-cancel"><a href="#">Cancel</a></p> + // </div> + var cal_box = document.createElement('div'); + cal_box.style.display = 'none'; + cal_box.style.position = 'absolute'; + cal_box.className = 'calendarbox module'; + cal_box.setAttribute('id', DateTimeShortcuts.calendarDivName1 + num); + document.body.appendChild(cal_box); + cal_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + // next-prev links + var cal_nav = quickElement('div', cal_box); + var cal_nav_prev = quickElement('a', cal_nav, '<', 'href', '#'); + cal_nav_prev.className = 'calendarnav-previous'; + cal_nav_prev.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawPrev(num); + }); + + var cal_nav_next = quickElement('a', cal_nav, '>', 'href', '#'); + cal_nav_next.className = 'calendarnav-next'; + cal_nav_next.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawNext(num); + }); + + // main box + var cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num); + cal_main.className = 'calendar'; + DateTimeShortcuts.calendars[num] = new Calendar(DateTimeShortcuts.calendarDivName2 + num, DateTimeShortcuts.handleCalendarCallback(num)); + DateTimeShortcuts.calendars[num].drawCurrent(); + + // calendar shortcuts + var shortcuts = quickElement('div', cal_box); + shortcuts.className = 'calendar-shortcuts'; + var day_link = quickElement('a', shortcuts, gettext('Yesterday'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, -1); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Today'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Tomorrow'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, +1); + }); + + // cancel bar + var cancel_p = quickElement('p', cal_box); + cancel_p.className = 'calendar-cancel'; + var cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissCalendar(num); + }); + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissCalendar(num); + event.preventDefault(); + } + }); + }, + openCalendar: function(num) { + var cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num); + var cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num); + var inp = DateTimeShortcuts.calendarInputs[num]; + + // Determine if the current value in the input has a valid date. + // If so, draw the calendar with that date's year and month. + if (inp.value) { + var format = get_format('DATE_INPUT_FORMATS')[0]; + var selected = inp.value.strptime(format); + var year = selected.getUTCFullYear(); + var month = selected.getUTCMonth() + 1; + var re = /\d{4}/; + if (re.test(year.toString()) && month >= 1 && month <= 12) { + DateTimeShortcuts.calendars[num].drawDate(month, year, selected); + } + } + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (getStyle(document.body, 'direction') !== 'rtl') { + cal_box.style.left = findPosX(cal_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + // TODO: IE returns wrong value for findPosX when in rtl mode + // (it returns as it was left aligned), needs to be fixed. + cal_box.style.left = findPosX(cal_link) - 180 + 'px'; + } + cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px'; + + cal_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + dismissCalendar: function(num) { + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + drawPrev: function(num) { + DateTimeShortcuts.calendars[num].drawPreviousMonth(); + }, + drawNext: function(num) { + DateTimeShortcuts.calendars[num].drawNextMonth(); + }, + handleCalendarCallback: function(num) { + var format = get_format('DATE_INPUT_FORMATS')[0]; + // the format needs to be escaped a little + format = format.replace('\\', '\\\\') + .replace('\r', '\\r') + .replace('\n', '\\n') + .replace('\t', '\\t') + .replace("'", "\\'"); + return function(y, m, d) { + DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format); + DateTimeShortcuts.calendarInputs[num].focus(); + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + }; + }, + handleCalendarQuickLink: function(num, offset) { + var d = DateTimeShortcuts.now(); + d.setDate(d.getDate() + offset); + DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]); + DateTimeShortcuts.calendarInputs[num].focus(); + DateTimeShortcuts.dismissCalendar(num); + } + }; + + window.addEventListener('load', DateTimeShortcuts.init); + window.DateTimeShortcuts = DateTimeShortcuts; +})(); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js new file mode 100644 index 0000000..f4c57c4 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js @@ -0,0 +1,181 @@ +/*global SelectBox, interpolate*/ +// Handles related-objects functionality: lookup link for raw_id_fields +// and Add Another links. + +(function($) { + 'use strict'; + + // IE doesn't accept periods or dashes in the window name, but the element IDs + // we use to generate popup window names may contain them, therefore we map them + // to allowed characters in a reversible way so that we can locate the correct + // element when the popup window is dismissed. + function id_to_windowname(text) { + text = text.replace(/\./g, '__dot__'); + text = text.replace(/\-/g, '__dash__'); + return text; + } + + function windowname_to_id(text) { + text = text.replace(/__dot__/g, '.'); + text = text.replace(/__dash__/g, '-'); + return text; + } + + function showAdminPopup(triggeringLink, name_regexp, add_popup) { + var name = triggeringLink.id.replace(name_regexp, ''); + name = id_to_windowname(name); + var href = triggeringLink.href; + if (add_popup) { + if (href.indexOf('?') === -1) { + href += '?_popup=1'; + } else { + href += '&_popup=1'; + } + } + var win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); + win.focus(); + return false; + } + + function showRelatedObjectLookupPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^lookup_/, true); + } + + function dismissRelatedLookupPopup(win, chosenId) { + var name = windowname_to_id(win.name); + var elem = document.getElementById(name); + if (elem.className.indexOf('vManyToManyRawIdAdminField') !== -1 && elem.value) { + elem.value += ',' + chosenId; + } else { + document.getElementById(name).value = chosenId; + } + win.close(); + } + + function showRelatedObjectPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false); + } + + function updateRelatedObjectLinks(triggeringLink) { + var $this = $(triggeringLink); + var siblings = $this.nextAll('.view-related, .change-related, .delete-related'); + if (!siblings.length) { + return; + } + var value = $this.val(); + if (value) { + siblings.each(function() { + var elm = $(this); + elm.attr('href', elm.attr('data-href-template').replace('__fk__', value)); + }); + } else { + siblings.removeAttr('href'); + } + } + + function dismissAddRelatedObjectPopup(win, newId, newRepr) { + var name = windowname_to_id(win.name); + var elem = document.getElementById(name); + if (elem) { + var elemName = elem.nodeName.toUpperCase(); + if (elemName === 'SELECT') { + elem.options[elem.options.length] = new Option(newRepr, newId, true, true); + } else if (elemName === 'INPUT') { + if (elem.className.indexOf('vManyToManyRawIdAdminField') !== -1 && elem.value) { + elem.value += ',' + newId; + } else { + elem.value = newId; + } + } + // Trigger a change event to update related links if required. + $(elem).trigger('change'); + } else { + var toId = name + "_to"; + var o = new Option(newRepr, newId); + SelectBox.add_to_cache(toId, o); + SelectBox.redisplay(toId); + } + win.close(); + } + + function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { + var id = windowname_to_id(win.name).replace(/^edit_/, ''); + var selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + var selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + this.textContent = newRepr; + this.value = newId; + } + }); + selects.next().find('.select2-selection__rendered').each(function() { + // The element can have a clear button as a child. + // Use the lastChild to modify only the displayed value. + this.lastChild.textContent = newRepr; + this.title = newRepr; + }); + win.close(); + } + + function dismissDeleteRelatedObjectPopup(win, objId) { + var id = windowname_to_id(win.name).replace(/^delete_/, ''); + var selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + var selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + $(this).remove(); + } + }).trigger('change'); + win.close(); + } + + // Global for testing purposes + window.id_to_windowname = id_to_windowname; + window.windowname_to_id = windowname_to_id; + + window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup; + window.dismissRelatedLookupPopup = dismissRelatedLookupPopup; + window.showRelatedObjectPopup = showRelatedObjectPopup; + window.updateRelatedObjectLinks = updateRelatedObjectLinks; + window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; + window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; + window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; + + // Kept for backward compatibility + window.showAddAnotherPopup = showRelatedObjectPopup; + window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; + + $(document).ready(function() { + $("a[data-popup-opener]").on('click', function(event) { + event.preventDefault(); + opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); + }); + $('body').on('click', '.related-widget-wrapper-link', function(e) { + e.preventDefault(); + if (this.href) { + var event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + var event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + $('body').on('click', '.related-lookup', function(e) { + e.preventDefault(); + var event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + }); + +})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/autocomplete.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/autocomplete.js new file mode 100644 index 0000000..65c0702 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/autocomplete.js @@ -0,0 +1,37 @@ +(function($) { + 'use strict'; + var init = function($element, options) { + var settings = $.extend({ + ajax: { + data: function(params) { + return { + term: params.term, + page: params.page + }; + } + } + }, options); + $element.select2(settings); + }; + + $.fn.djangoAdminSelect2 = function(options) { + var settings = $.extend({}, options); + $.each(this, function(i, element) { + var $element = $(element); + init($element, settings); + }); + return this; + }; + + $(function() { + // Initialize all autocomplete widgets except the one in the template + // form used when a new formset is added. + $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); + }); + + $(document).on('formset:added', (function() { + return function(event, $newFormset) { + return $newFormset.find('.admin-autocomplete').djangoAdminSelect2(); + }; + })(this)); +}(django.jQuery)); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/calendar.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/calendar.js new file mode 100644 index 0000000..a4c047a --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/calendar.js @@ -0,0 +1,208 @@ +/*global gettext, pgettext, get_format, quickElement, removeChildren*/ +/* +calendar.js - Calendar functions by Adrian Holovaty +depends on core.js for utility functions like removeChildren or quickElement +*/ + +(function() { + 'use strict'; + // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions + var CalendarNamespace = { + monthsOfYear: [ + gettext('January'), + gettext('February'), + gettext('March'), + gettext('April'), + gettext('May'), + gettext('June'), + gettext('July'), + gettext('August'), + gettext('September'), + gettext('October'), + gettext('November'), + gettext('December') + ], + daysOfWeek: [ + pgettext('one letter Sunday', 'S'), + pgettext('one letter Monday', 'M'), + pgettext('one letter Tuesday', 'T'), + pgettext('one letter Wednesday', 'W'), + pgettext('one letter Thursday', 'T'), + pgettext('one letter Friday', 'F'), + pgettext('one letter Saturday', 'S') + ], + firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')), + isLeapYear: function(year) { + return (((year % 4) === 0) && ((year % 100) !== 0 ) || ((year % 400) === 0)); + }, + getDaysInMonth: function(month, year) { + var days; + if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) { + days = 31; + } + else if (month === 4 || month === 6 || month === 9 || month === 11) { + days = 30; + } + else if (month === 2 && CalendarNamespace.isLeapYear(year)) { + days = 29; + } + else { + days = 28; + } + return days; + }, + draw: function(month, year, div_id, callback, selected) { // month = 1-12, year = 1-9999 + var today = new Date(); + var todayDay = today.getDate(); + var todayMonth = today.getMonth() + 1; + var todayYear = today.getFullYear(); + var todayClass = ''; + + // Use UTC functions here because the date field does not contain time + // and using the UTC function variants prevent the local time offset + // from altering the date, specifically the day field. For example: + // + // ``` + // var x = new Date('2013-10-02'); + // var day = x.getDate(); + // ``` + // + // The day variable above will be 1 instead of 2 in, say, US Pacific time + // zone. + var isSelectedMonth = false; + if (typeof selected !== 'undefined') { + isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month); + } + + month = parseInt(month); + year = parseInt(year); + var calDiv = document.getElementById(div_id); + removeChildren(calDiv); + var calTable = document.createElement('table'); + quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year); + var tableBody = quickElement('tbody', calTable); + + // Draw days-of-week header + var tableRow = quickElement('tr', tableBody); + for (var i = 0; i < 7; i++) { + quickElement('th', tableRow, CalendarNamespace.daysOfWeek[(i + CalendarNamespace.firstDayOfWeek) % 7]); + } + + var startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); + var days = CalendarNamespace.getDaysInMonth(month, year); + + var nonDayCell; + + // Draw blanks before first of month + tableRow = quickElement('tr', tableBody); + for (i = 0; i < startingPos; i++) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + function calendarMonth(y, m) { + function onClick(e) { + e.preventDefault(); + callback(y, m, this.textContent); + } + return onClick; + } + + // Draw days of month + var currentDay = 1; + for (i = startingPos; currentDay <= days; i++) { + if (i % 7 === 0 && currentDay !== 1) { + tableRow = quickElement('tr', tableBody); + } + if ((currentDay === todayDay) && (month === todayMonth) && (year === todayYear)) { + todayClass = 'today'; + } else { + todayClass = ''; + } + + // use UTC function; see above for explanation. + if (isSelectedMonth && currentDay === selected.getUTCDate()) { + if (todayClass !== '') { + todayClass += " "; + } + todayClass += "selected"; + } + + var cell = quickElement('td', tableRow, '', 'class', todayClass); + var link = quickElement('a', cell, currentDay, 'href', '#'); + link.addEventListener('click', calendarMonth(year, month)); + currentDay++; + } + + // Draw blanks after end of month (optional, but makes for valid code) + while (tableRow.childNodes.length < 7) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + calDiv.appendChild(calTable); + } + }; + + // Calendar -- A calendar instance + function Calendar(div_id, callback, selected) { + // div_id (string) is the ID of the element in which the calendar will + // be displayed + // callback (string) is the name of a JavaScript function that will be + // called with the parameters (year, month, day) when a day in the + // calendar is clicked + this.div_id = div_id; + this.callback = callback; + this.today = new Date(); + this.currentMonth = this.today.getMonth() + 1; + this.currentYear = this.today.getFullYear(); + if (typeof selected !== 'undefined') { + this.selected = selected; + } + } + Calendar.prototype = { + drawCurrent: function() { + CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback, this.selected); + }, + drawDate: function(month, year, selected) { + this.currentMonth = month; + this.currentYear = year; + + if(selected) { + this.selected = selected; + } + + this.drawCurrent(); + }, + drawPreviousMonth: function() { + if (this.currentMonth === 1) { + this.currentMonth = 12; + this.currentYear--; + } + else { + this.currentMonth--; + } + this.drawCurrent(); + }, + drawNextMonth: function() { + if (this.currentMonth === 12) { + this.currentMonth = 1; + this.currentYear++; + } + else { + this.currentMonth++; + } + this.drawCurrent(); + }, + drawPreviousYear: function() { + this.currentYear--; + this.drawCurrent(); + }, + drawNextYear: function() { + this.currentYear++; + this.drawCurrent(); + } + }; + window.Calendar = Calendar; + window.CalendarNamespace = CalendarNamespace; +})(); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/cancel.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/cancel.js new file mode 100644 index 0000000..8809ee7 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/cancel.js @@ -0,0 +1,13 @@ +(function($) { + 'use strict'; + $(function() { + $('.cancel-link').on('click', function(e) { + e.preventDefault(); + if (window.location.search.indexOf('&_popup=1') === -1) { + window.history.back(); // Go back if not a popup. + } else { + window.close(); // Otherwise, close the popup. + } + }); + }); +})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/change_form.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/change_form.js new file mode 100644 index 0000000..4797383 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/change_form.js @@ -0,0 +1,20 @@ +/*global showAddAnotherPopup, showRelatedObjectLookupPopup showRelatedObjectPopup updateRelatedObjectLinks*/ + +(function($) { + 'use strict'; + $(document).ready(function() { + var modelName = $('#django-admin-form-add-constants').data('modelName'); + $('body').on('click', '.add-another', function(e) { + e.preventDefault(); + var event = $.Event('django:add-another-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showAddAnotherPopup(this); + } + }); + + if (modelName) { + $('form#' + modelName + '_form :input:visible:enabled:first').focus(); + } + }); +})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/collapse.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/collapse.js new file mode 100644 index 0000000..20e7030 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/collapse.js @@ -0,0 +1,55 @@ +/*global gettext*/ +(function() { + 'use strict'; + var closestElem = function(elem, tagName) { + if (elem.nodeName === tagName.toUpperCase()) { + return elem; + } + if (elem.parentNode.nodeName === 'BODY') { + return null; + } + return elem.parentNode && closestElem(elem.parentNode, tagName); + }; + + window.addEventListener('load', function() { + // Add anchor tag for Show/Hide link + var fieldsets = document.querySelectorAll('fieldset.collapse'); + for (var i = 0; i < fieldsets.length; i++) { + var elem = fieldsets[i]; + // Don't hide if fields in this fieldset have errors + if (elem.querySelectorAll('div.errors').length === 0) { + elem.classList.add('collapsed'); + var h2 = elem.querySelector('h2'); + var link = document.createElement('a'); + link.setAttribute('id', 'fieldsetcollapser' + i); + link.setAttribute('class', 'collapse-toggle'); + link.setAttribute('href', '#'); + link.textContent = gettext('Show'); + h2.appendChild(document.createTextNode(' (')); + h2.appendChild(link); + h2.appendChild(document.createTextNode(')')); + } + } + // Add toggle to hide/show anchor tag + var toggleFunc = function(ev) { + if (ev.target.matches('.collapse-toggle')) { + ev.preventDefault(); + ev.stopPropagation(); + var fieldset = closestElem(ev.target, 'fieldset'); + if (fieldset.classList.contains('collapsed')) { + // Show + ev.target.textContent = gettext('Hide'); + fieldset.classList.remove('collapsed'); + } else { + // Hide + ev.target.textContent = gettext('Show'); + fieldset.classList.add('collapsed'); + } + } + }; + var inlineDivs = document.querySelectorAll('fieldset.module'); + for (i = 0; i < inlineDivs.length; i++) { + inlineDivs[i].addEventListener('click', toggleFunc); + } + }); +})(); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/collapse.min.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/collapse.min.js new file mode 100644 index 0000000..9e16a21 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/collapse.min.js @@ -0,0 +1,3 @@ +(function(){var e=function(b,a){return b.nodeName===a.toUpperCase()?b:"BODY"===b.parentNode.nodeName?null:b.parentNode&&e(b.parentNode,a)};window.addEventListener("load",function(){for(var b=document.querySelectorAll("fieldset.collapse"),a=0;a<b.length;a++){var c=b[a];if(0===c.querySelectorAll("div.errors").length){c.classList.add("collapsed");c=c.querySelector("h2");var d=document.createElement("a");d.setAttribute("id","fieldsetcollapser"+a);d.setAttribute("class","collapse-toggle");d.setAttribute("href", +"#");d.textContent=gettext("Show");c.appendChild(document.createTextNode(" ("));c.appendChild(d);c.appendChild(document.createTextNode(")"))}}b=function(a){if(a.target.matches(".collapse-toggle")){a.preventDefault();a.stopPropagation();var b=e(a.target,"fieldset");b.classList.contains("collapsed")?(a.target.textContent=gettext("Hide"),b.classList.remove("collapsed")):(a.target.textContent=gettext("Show"),b.classList.add("collapsed"))}};c=document.querySelectorAll("fieldset.module");for(a=0;a<c.length;a++)c[a].addEventListener("click", +b)})})(); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/core.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/core.js new file mode 100644 index 0000000..4f2fe13 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/core.js @@ -0,0 +1,212 @@ +// Core javascript helper functions + +// basic browser identification & version +var isOpera = (navigator.userAgent.indexOf("Opera") >= 0) && parseFloat(navigator.appVersion); +var isIE = ((document.all) && (!isOpera)) && parseFloat(navigator.appVersion.split("MSIE ")[1].split(";")[0]); + +// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]); +function quickElement() { + 'use strict'; + var obj = document.createElement(arguments[0]); + if (arguments[2]) { + var textNode = document.createTextNode(arguments[2]); + obj.appendChild(textNode); + } + var len = arguments.length; + for (var i = 3; i < len; i += 2) { + obj.setAttribute(arguments[i], arguments[i + 1]); + } + arguments[1].appendChild(obj); + return obj; +} + +// "a" is reference to an object +function removeChildren(a) { + 'use strict'; + while (a.hasChildNodes()) { + a.removeChild(a.lastChild); + } +} + +// ---------------------------------------------------------------------------- +// Find-position functions by PPK +// See https://www.quirksmode.org/js/findpos.html +// ---------------------------------------------------------------------------- +function findPosX(obj) { + 'use strict'; + var curleft = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curleft += obj.offsetLeft - ((isOpera) ? 0 : obj.scrollLeft); + obj = obj.offsetParent; + } + // IE offsetParent does not include the top-level + if (isIE && obj.parentElement) { + curleft += obj.offsetLeft - obj.scrollLeft; + } + } else if (obj.x) { + curleft += obj.x; + } + return curleft; +} + +function findPosY(obj) { + 'use strict'; + var curtop = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curtop += obj.offsetTop - ((isOpera) ? 0 : obj.scrollTop); + obj = obj.offsetParent; + } + // IE offsetParent does not include the top-level + if (isIE && obj.parentElement) { + curtop += obj.offsetTop - obj.scrollTop; + } + } else if (obj.y) { + curtop += obj.y; + } + return curtop; +} + +//----------------------------------------------------------------------------- +// Date object extensions +// ---------------------------------------------------------------------------- +(function() { + 'use strict'; + Date.prototype.getTwelveHours = function() { + var hours = this.getHours(); + if (hours === 0) { + return 12; + } + else { + return hours <= 12 ? hours : hours - 12; + } + }; + + Date.prototype.getTwoDigitMonth = function() { + return (this.getMonth() < 9) ? '0' + (this.getMonth() + 1) : (this.getMonth() + 1); + }; + + Date.prototype.getTwoDigitDate = function() { + return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate(); + }; + + Date.prototype.getTwoDigitTwelveHour = function() { + return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours(); + }; + + Date.prototype.getTwoDigitHour = function() { + return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours(); + }; + + Date.prototype.getTwoDigitMinute = function() { + return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes(); + }; + + Date.prototype.getTwoDigitSecond = function() { + return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds(); + }; + + Date.prototype.getHourMinute = function() { + return this.getTwoDigitHour() + ':' + this.getTwoDigitMinute(); + }; + + Date.prototype.getHourMinuteSecond = function() { + return this.getTwoDigitHour() + ':' + this.getTwoDigitMinute() + ':' + this.getTwoDigitSecond(); + }; + + Date.prototype.getFullMonthName = function() { + return typeof window.CalendarNamespace === "undefined" + ? this.getTwoDigitMonth() + : window.CalendarNamespace.monthsOfYear[this.getMonth()]; + }; + + Date.prototype.strftime = function(format) { + var fields = { + B: this.getFullMonthName(), + c: this.toString(), + d: this.getTwoDigitDate(), + H: this.getTwoDigitHour(), + I: this.getTwoDigitTwelveHour(), + m: this.getTwoDigitMonth(), + M: this.getTwoDigitMinute(), + p: (this.getHours() >= 12) ? 'PM' : 'AM', + S: this.getTwoDigitSecond(), + w: '0' + this.getDay(), + x: this.toLocaleDateString(), + X: this.toLocaleTimeString(), + y: ('' + this.getFullYear()).substr(2, 4), + Y: '' + this.getFullYear(), + '%': '%' + }; + var result = '', i = 0; + while (i < format.length) { + if (format.charAt(i) === '%') { + result = result + fields[format.charAt(i + 1)]; + ++i; + } + else { + result = result + format.charAt(i); + } + ++i; + } + return result; + }; + + // ---------------------------------------------------------------------------- + // String object extensions + // ---------------------------------------------------------------------------- + String.prototype.pad_left = function(pad_length, pad_string) { + var new_string = this; + for (var i = 0; new_string.length < pad_length; i++) { + new_string = pad_string + new_string; + } + return new_string; + }; + + String.prototype.strptime = function(format) { + var split_format = format.split(/[.\-/]/); + var date = this.split(/[.\-/]/); + var i = 0; + var day, month, year; + while (i < split_format.length) { + switch (split_format[i]) { + case "%d": + day = date[i]; + break; + case "%m": + month = date[i] - 1; + break; + case "%Y": + year = date[i]; + break; + case "%y": + year = date[i]; + break; + } + ++i; + } + // Create Date object from UTC since the parsed value is supposed to be + // in UTC, not local time. Also, the calendar uses UTC functions for + // date extraction. + return new Date(Date.UTC(year, month, day)); + }; + +})(); +// ---------------------------------------------------------------------------- +// Get the computed style for and element +// ---------------------------------------------------------------------------- +function getStyle(oElm, strCssRule) { + 'use strict'; + var strValue = ""; + if(document.defaultView && document.defaultView.getComputedStyle) { + strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule); + } + else if(oElm.currentStyle) { + strCssRule = strCssRule.replace(/\-(\w)/g, function(strMatch, p1) { + return p1.toUpperCase(); + }); + strValue = oElm.currentStyle[strCssRule]; + } + return strValue; +} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/inlines.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/inlines.js new file mode 100644 index 0000000..ba8c9cd --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/inlines.js @@ -0,0 +1,298 @@ +/*global DateTimeShortcuts, SelectFilter*/ +/** + * Django admin inlines + * + * Based on jQuery Formset 1.1 + * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com) + * @requires jQuery 1.2.6 or later + * + * Copyright (c) 2009, Stanislaus Madueke + * All rights reserved. + * + * Spiced up with Code from Zain Memon's GSoC project 2009 + * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip. + * + * Licensed under the New BSD License + * See: https://opensource.org/licenses/bsd-license.php + */ +(function($) { + 'use strict'; + $.fn.formset = function(opts) { + var options = $.extend({}, $.fn.formset.defaults, opts); + var $this = $(this); + var $parent = $this.parent(); + var updateElementIndex = function(el, prefix, ndx) { + var id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))"); + var replacement = prefix + "-" + ndx; + if ($(el).prop("for")) { + $(el).prop("for", $(el).prop("for").replace(id_regex, replacement)); + } + if (el.id) { + el.id = el.id.replace(id_regex, replacement); + } + if (el.name) { + el.name = el.name.replace(id_regex, replacement); + } + }; + var totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off"); + var nextIndex = parseInt(totalForms.val(), 10); + var maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off"); + // only show the add button if we are allowed to add more items, + // note that max_num = None translates to a blank string. + var showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0; + $this.each(function(i) { + $(this).not("." + options.emptyCssClass).addClass(options.formCssClass); + }); + if ($this.length && showAddButton) { + var addButton = options.addButton; + if (addButton === null) { + if ($this.prop("tagName") === "TR") { + // If forms are laid out as table rows, insert the + // "add" button in a new table row: + var numCols = this.eq(-1).children().length; + $parent.append('<tr class="' + options.addCssClass + '"><td colspan="' + numCols + '"><a href="#">' + options.addText + "</a></tr>"); + addButton = $parent.find("tr:last a"); + } else { + // Otherwise, insert it immediately after the last form: + $this.filter(":last").after('<div class="' + options.addCssClass + '"><a href="#">' + options.addText + "</a></div>"); + addButton = $this.filter(":last").next().find("a"); + } + } + addButton.on('click', function(e) { + e.preventDefault(); + var template = $("#" + options.prefix + "-empty"); + var row = template.clone(true); + row.removeClass(options.emptyCssClass) + .addClass(options.formCssClass) + .attr("id", options.prefix + "-" + nextIndex); + if (row.is("tr")) { + // If the forms are laid out in table rows, insert + // the remove button into the last table cell: + row.children(":last").append('<div><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></div>"); + } else if (row.is("ul") || row.is("ol")) { + // If they're laid out as an ordered/unordered list, + // insert an <li> after the last list item: + row.append('<li><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></li>"); + } else { + // Otherwise, just insert the remove button as the + // last child element of the form's container: + row.children(":first").append('<span><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></span>"); + } + row.find("*").each(function() { + updateElementIndex(this, options.prefix, totalForms.val()); + }); + // Insert the new form when it has been fully edited + row.insertBefore($(template)); + // Update number of total forms + $(totalForms).val(parseInt(totalForms.val(), 10) + 1); + nextIndex += 1; + // Hide add button in case we've hit the max, except we want to add infinitely + if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) { + addButton.parent().hide(); + } + // The delete button of each row triggers a bunch of other things + row.find("a." + options.deleteCssClass).on('click', function(e1) { + e1.preventDefault(); + // Remove the parent form containing this button: + row.remove(); + nextIndex -= 1; + // If a post-delete callback was provided, call it with the deleted form: + if (options.removed) { + options.removed(row); + } + $(document).trigger('formset:removed', [row, options.prefix]); + // Update the TOTAL_FORMS form count. + var forms = $("." + options.formCssClass); + $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); + // Show add button again once we drop below max + if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) { + addButton.parent().show(); + } + // Also, update names and ids for all remaining form controls + // so they remain in sequence: + var i, formCount; + var updateElementCallback = function() { + updateElementIndex(this, options.prefix, i); + }; + for (i = 0, formCount = forms.length; i < formCount; i++) { + updateElementIndex($(forms).get(i), options.prefix, i); + $(forms.get(i)).find("*").each(updateElementCallback); + } + }); + // If a post-add callback was supplied, call it with the added form: + if (options.added) { + options.added(row); + } + $(document).trigger('formset:added', [row, options.prefix]); + }); + } + return this; + }; + + /* Setup plugin defaults */ + $.fn.formset.defaults = { + prefix: "form", // The form prefix for your django formset + addText: "add another", // Text for the add link + deleteText: "remove", // Text for the delete link + addCssClass: "add-row", // CSS class applied to the add link + deleteCssClass: "delete-row", // CSS class applied to the delete link + emptyCssClass: "empty-row", // CSS class applied to the empty row + formCssClass: "dynamic-form", // CSS class applied to each form in a formset + added: null, // Function called each time a new form is added + removed: null, // Function called each time a form is deleted + addButton: null // Existing add button to use + }; + + + // Tabular inlines --------------------------------------------------------- + $.fn.tabularFormset = function(selector, options) { + var $rows = $(this); + var alternatingRows = function(row) { + $(selector).not(".add-row").removeClass("row1 row2") + .filter(":even").addClass("row1").end() + .filter(":odd").addClass("row2"); + }; + + var reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + var updateSelectFilter = function() { + // If any SelectFilter widgets are a part of the new form, + // instantiate a new SelectFilter instance for it. + if (typeof SelectFilter !== 'undefined') { + $('.selectfilter').each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], false); + }); + $('.selectfilterstacked').each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], true); + }); + } + }; + + var initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + var field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + removed: alternatingRows, + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + alternatingRows(row); + }, + addButton: options.addButton + }); + + return $rows; + }; + + // Stacked inlines --------------------------------------------------------- + $.fn.stackedFormset = function(selector, options) { + var $rows = $(this); + var updateInlineLabel = function(row) { + $(selector).find(".inline_label").each(function(i) { + var count = i + 1; + $(this).html($(this).html().replace(/(#\d+)/g, "#" + count)); + }); + }; + + var reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force, yuck. + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + var updateSelectFilter = function() { + // If any SelectFilter widgets were added, instantiate a new instance. + if (typeof SelectFilter !== "undefined") { + $(".selectfilter").each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], false); + }); + $(".selectfilterstacked").each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], true); + }); + } + }; + + var initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + var field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + removed: updateInlineLabel, + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + updateInlineLabel(row); + }, + addButton: options.addButton + }); + + return $rows; + }; + + $(document).ready(function() { + $(".js-inline-admin-formset").each(function() { + var data = $(this).data(), + inlineOptions = data.inlineFormset, + selector; + switch(data.inlineType) { + case "stacked": + selector = inlineOptions.name + "-group .inline-related"; + $(selector).stackedFormset(selector, inlineOptions.options); + break; + case "tabular": + selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr"; + $(selector).tabularFormset(selector, inlineOptions.options); + break; + } + }); + }); +})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/inlines.min.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/inlines.min.js new file mode 100644 index 0000000..65af8eb --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/inlines.min.js @@ -0,0 +1,13 @@ +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(b,d,a){b instanceof String&&(b=String(b));for(var c=b.length,f=0;f<c;f++){var g=b[f];if(d.call(a,g,f,b))return{i:f,v:g}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(b,d,a){b!=Array.prototype&&b!=Object.prototype&&(b[d]=a.value)}; +$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,d,a,c){if(d){a=$jscomp.global;b=b.split(".");for(c=0;c<b.length-1;c++){var f=b[c];f in a||(a[f]={});a=a[f]}b=b[b.length-1];c=a[b];d=d(c);d!=c&&null!=d&&$jscomp.defineProperty(a,b,{configurable:!0,writable:!0,value:d})}}; +$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(b,a){return $jscomp.findInternal(this,b,a).v}},"es6","es3"); +(function(b){b.fn.formset=function(d){var a=b.extend({},b.fn.formset.defaults,d),c=b(this);d=c.parent();var f=function(a,e,d){var c=new RegExp("("+e+"-(\\d+|__prefix__))");e=e+"-"+d;b(a).prop("for")&&b(a).prop("for",b(a).prop("for").replace(c,e));a.id&&(a.id=a.id.replace(c,e));a.name&&(a.name=a.name.replace(c,e))},g=b("#id_"+a.prefix+"-TOTAL_FORMS").prop("autocomplete","off"),h=parseInt(g.val(),10),e=b("#id_"+a.prefix+"-MAX_NUM_FORMS").prop("autocomplete","off"),m=""===e.val()||0<e.val()-g.val(); +c.each(function(e){b(this).not("."+a.emptyCssClass).addClass(a.formCssClass)});if(c.length&&m){var l=a.addButton;null===l&&("TR"===c.prop("tagName")?(c=this.eq(-1).children().length,d.append('<tr class="'+a.addCssClass+'"><td colspan="'+c+'"><a href="#">'+a.addText+"</a></tr>"),l=d.find("tr:last a")):(c.filter(":last").after('<div class="'+a.addCssClass+'"><a href="#">'+a.addText+"</a></div>"),l=c.filter(":last").next().find("a")));l.on("click",function(d){d.preventDefault();d=b("#"+a.prefix+"-empty"); +var c=d.clone(!0);c.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+h);c.is("tr")?c.children(":last").append('<div><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></div>"):c.is("ul")||c.is("ol")?c.append('<li><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></li>"):c.children(":first").append('<span><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></span>");c.find("*").each(function(){f(this,a.prefix,g.val())});c.insertBefore(b(d)); +b(g).val(parseInt(g.val(),10)+1);h+=1;""!==e.val()&&0>=e.val()-g.val()&&l.parent().hide();c.find("a."+a.deleteCssClass).on("click",function(d){d.preventDefault();c.remove();--h;a.removed&&a.removed(c);b(document).trigger("formset:removed",[c,a.prefix]);d=b("."+a.formCssClass);b("#id_"+a.prefix+"-TOTAL_FORMS").val(d.length);(""===e.val()||0<e.val()-d.length)&&l.parent().show();var m,g=function(){f(this,a.prefix,k)};var k=0;for(m=d.length;k<m;k++)f(b(d).get(k),a.prefix,k),b(d.get(k)).find("*").each(g)}); +a.added&&a.added(c);b(document).trigger("formset:added",[c,a.prefix])})}return this};b.fn.formset.defaults={prefix:"form",addText:"add another",deleteText:"remove",addCssClass:"add-row",deleteCssClass:"delete-row",emptyCssClass:"empty-row",formCssClass:"dynamic-form",added:null,removed:null,addButton:null};b.fn.tabularFormset=function(d,a){var c=b(this),f=function(a){b(d).not(".add-row").removeClass("row1 row2").filter(":even").addClass("row1").end().filter(":odd").addClass("row2")},g=function(){"undefined"!== +typeof SelectFilter&&(b(".selectfilter").each(function(b,a){b=a.name.split("-");SelectFilter.init(a.id,b[b.length-1],!1)}),b(".selectfilterstacked").each(function(b,a){b=a.name.split("-");SelectFilter.init(a.id,b[b.length-1],!0)}))},h=function(a){a.find(".prepopulated_field").each(function(){var c=b(this).find("input, select, textarea"),d=c.data("dependency_list")||[],e=[];b.each(d,function(b,c){e.push("#"+a.find(".field-"+c).find("input, select, textarea").attr("id"))});e.length&&c.prepopulate(e, +c.attr("maxlength"))})};c.formset({prefix:a.prefix,addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:f,added:function(a){h(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());g();f(a)},addButton:a.addButton});return c};b.fn.stackedFormset=function(d,a){var c=b(this),f=function(a){b(d).find(".inline_label").each(function(a){a+=1;b(this).html(b(this).html().replace(/(#\d+)/g, +"#"+a))})},g=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},h=function(a){a.find(".prepopulated_field").each(function(){var c=b(this).find("input, select, textarea"),d=c.data("dependency_list")||[],e=[];b.each(d,function(b,c){e.push("#"+a.find(".form-row .field-"+c).find("input, select, textarea").attr("id"))}); +e.length&&c.prepopulate(e,c.attr("maxlength"))})};c.formset({prefix:a.prefix,addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:f,added:function(a){h(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());g();f(a)},addButton:a.addButton});return c};b(document).ready(function(){b(".js-inline-admin-formset").each(function(){var d=b(this).data(),a=d.inlineFormset; +switch(d.inlineType){case "stacked":d=a.name+"-group .inline-related";b(d).stackedFormset(d,a.options);break;case "tabular":d=a.name+"-group .tabular.inline-related tbody:first > tr",b(d).tabularFormset(d,a.options)}})})})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/jquery.init.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/jquery.init.js new file mode 100644 index 0000000..f3ac162 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/jquery.init.js @@ -0,0 +1,8 @@ +/*global django:true, jQuery:false*/ +/* Puts the included jQuery into our own namespace using noConflict and passing + * it 'true'. This ensures that the included jQuery doesn't pollute the global + * namespace (i.e. this preserves pre-existing values for both window.$ and + * window.jQuery). + */ +var django = django || {}; +django.jQuery = jQuery.noConflict(true); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/popup_response.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/popup_response.js new file mode 100644 index 0000000..b4a07e7 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/popup_response.js @@ -0,0 +1,16 @@ +/*global opener */ +(function() { + 'use strict'; + var initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); + switch(initData.action) { + case 'change': + opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); + break; + case 'delete': + opener.dismissDeleteRelatedObjectPopup(window, initData.value); + break; + default: + opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); + break; + } +})(); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.js new file mode 100644 index 0000000..bef45a3 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.js @@ -0,0 +1,42 @@ +/*global URLify*/ +(function($) { + 'use strict'; + $.fn.prepopulate = function(dependencies, maxLength, allowUnicode) { + /* + Depends on urlify.js + Populates a selected field with the values of the dependent fields, + URLifies and shortens the string. + dependencies - array of dependent fields ids + maxLength - maximum length of the URLify'd string + allowUnicode - Unicode support of the URLify'd string + */ + return this.each(function() { + var prepopulatedField = $(this); + + var populate = function() { + // Bail if the field's value has been changed by the user + if (prepopulatedField.data('_changed')) { + return; + } + + var values = []; + $.each(dependencies, function(i, field) { + field = $(field); + if (field.val().length > 0) { + values.push(field.val()); + } + }); + prepopulatedField.val(URLify(values.join(' '), maxLength, allowUnicode)); + }; + + prepopulatedField.data('_changed', false); + prepopulatedField.on('change', function() { + prepopulatedField.data('_changed', true); + }); + + if (!prepopulatedField.val()) { + $(dependencies.join(',')).on('keyup change focus', populate); + } + }); + }; +})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js new file mode 100644 index 0000000..43c1b79 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js @@ -0,0 +1 @@ +(function(b){b.fn.prepopulate=function(d,f,g){return this.each(function(){var a=b(this),h=function(){if(!a.data("_changed")){var e=[];b.each(d,function(a,c){c=b(c);0<c.val().length&&e.push(c.val())});a.val(URLify(e.join(" "),f,g))}};a.data("_changed",!1);a.on("change",function(){a.data("_changed",!0)});if(!a.val())b(d.join(",")).on("keyup change focus",h)})}})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js new file mode 100644 index 0000000..184df92 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js @@ -0,0 +1,10 @@ +(function($) { + 'use strict'; + var fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); + $.each(fields, function(index, field) { + $('.empty-form .form-row .field-' + field.name + ', .empty-form.form-row .field-' + field.name).addClass('prepopulated_field'); + $(field.id).data('dependency_list', field.dependency_list).prepopulate( + field.dependency_ids, field.maxLength, field.allowUnicode + ); + }); +})(django.jQuery); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/timeparse.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/timeparse.js new file mode 100644 index 0000000..3cdc7ec --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/timeparse.js @@ -0,0 +1,106 @@ +(function() { + 'use strict'; + var timeParsePatterns = [ + // 9 + { + re: /^\d{1,2}$/i, + handler: function(bits) { + if (bits[0].length === 1) { + return '0' + bits[0] + ':00'; + } else { + return bits[0] + ':00'; + } + } + }, + // 13:00 + { + re: /^\d{2}[:.]\d{2}$/i, + handler: function(bits) { + return bits[0].replace('.', ':'); + } + }, + // 9:00 + { + re: /^\d[:.]\d{2}$/i, + handler: function(bits) { + return '0' + bits[0].replace('.', ':'); + } + }, + // 3 am / 3 a.m. / 3am + { + re: /^(\d+)\s*([ap])(?:.?m.?)?$/i, + handler: function(bits) { + var hour = parseInt(bits[1]); + if (hour === 12) { + hour = 0; + } + if (bits[2].toLowerCase() === 'p') { + if (hour === 12) { + hour = 0; + } + return (hour + 12) + ':00'; + } else { + if (hour < 10) { + return '0' + hour + ':00'; + } else { + return hour + ':00'; + } + } + } + }, + // 3.30 am / 3:15 a.m. / 3.00am + { + re: /^(\d+)[.:](\d{2})\s*([ap]).?m.?$/i, + handler: function(bits) { + var hour = parseInt(bits[1]); + var mins = parseInt(bits[2]); + if (mins < 10) { + mins = '0' + mins; + } + if (hour === 12) { + hour = 0; + } + if (bits[3].toLowerCase() === 'p') { + if (hour === 12) { + hour = 0; + } + return (hour + 12) + ':' + mins; + } else { + if (hour < 10) { + return '0' + hour + ':' + mins; + } else { + return hour + ':' + mins; + } + } + } + }, + // noon + { + re: /^no/i, + handler: function(bits) { + return '12:00'; + } + }, + // midnight + { + re: /^mid/i, + handler: function(bits) { + return '00:00'; + } + } + ]; + + function parseTimeString(s) { + for (var i = 0; i < timeParsePatterns.length; i++) { + var re = timeParsePatterns[i].re; + var handler = timeParsePatterns[i].handler; + var bits = re.exec(s); + if (bits) { + return handler(bits); + } + } + return s; + } + + window.parseTimeString = parseTimeString; +})(); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/urlify.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/urlify.js new file mode 100644 index 0000000..c3342b9 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/urlify.js @@ -0,0 +1,195 @@ +/*global XRegExp*/ +(function() { + 'use strict'; + + var LATIN_MAP = { + 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE', + 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I', + 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O', + 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', + 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'Ÿ': 'Y', 'ß': 'ss', 'à': 'a', + 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', + 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', + 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', + 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', + 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y' + }; + var LATIN_SYMBOLS_MAP = { + '©': '(c)' + }; + var GREEK_MAP = { + 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h', + 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3', + 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f', + 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o', + 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y', + 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z', + 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N', + 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y', + 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I', + 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y' + }; + var TURKISH_MAP = { + 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u', + 'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G' + }; + var ROMANIAN_MAP = { + 'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a', + 'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A' + }; + var RUSSIAN_MAP = { + 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo', + 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', + 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', + 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '', + 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya', + 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', + 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', + 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', + 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '', + 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya' + }; + var UKRAINIAN_MAP = { + 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i', + 'ї': 'yi', 'ґ': 'g' + }; + var CZECH_MAP = { + 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't', + 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', + 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z' + }; + var SLOVAK_MAP = { + 'á': 'a', 'ä': 'a', 'č': 'c', 'ď': 'd', 'é': 'e', 'í': 'i', 'ľ': 'l', + 'ĺ': 'l', 'ň': 'n', 'ó': 'o', 'ô': 'o', 'ŕ': 'r', 'š': 's', 'ť': 't', + 'ú': 'u', 'ý': 'y', 'ž': 'z', + 'Á': 'a', 'Ä': 'A', 'Č': 'C', 'Ď': 'D', 'É': 'E', 'Í': 'I', 'Ľ': 'L', + 'Ĺ': 'L', 'Ň': 'N', 'Ó': 'O', 'Ô': 'O', 'Ŕ': 'R', 'Š': 'S', 'Ť': 'T', + 'Ú': 'U', 'Ý': 'Y', 'Ž': 'Z' + }; + var POLISH_MAP = { + 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', + 'ź': 'z', 'ż': 'z', + 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S', + 'Ź': 'Z', 'Ż': 'Z' + }; + var LATVIAN_MAP = { + 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', + 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z', + 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L', + 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z' + }; + var ARABIC_MAP = { + 'أ': 'a', 'ب': 'b', 'ت': 't', 'ث': 'th', 'ج': 'g', 'ح': 'h', 'خ': 'kh', 'د': 'd', + 'ذ': 'th', 'ر': 'r', 'ز': 'z', 'س': 's', 'ش': 'sh', 'ص': 's', 'ض': 'd', 'ط': 't', + 'ظ': 'th', 'ع': 'aa', 'غ': 'gh', 'ف': 'f', 'ق': 'k', 'ك': 'k', 'ل': 'l', 'م': 'm', + 'ن': 'n', 'ه': 'h', 'و': 'o', 'ي': 'y' + }; + var LITHUANIAN_MAP = { + 'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u', + 'ū': 'u', 'ž': 'z', + 'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U', + 'Ū': 'U', 'Ž': 'Z' + }; + var SERBIAN_MAP = { + 'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz', + 'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C', + 'Џ': 'Dz', 'Đ': 'Dj' + }; + var AZERBAIJANI_MAP = { + 'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u', + 'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U' + }; + var GEORGIAN_MAP = { + 'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z', + 'თ': 't', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o', + 'პ': 'p', 'ჟ': 'j', 'რ': 'r', 'ს': 's', 'ტ': 't', 'უ': 'u', 'ფ': 'f', + 'ქ': 'q', 'ღ': 'g', 'ყ': 'y', 'შ': 'sh', 'ჩ': 'ch', 'ც': 'c', 'ძ': 'dz', + 'წ': 'w', 'ჭ': 'ch', 'ხ': 'x', 'ჯ': 'j', 'ჰ': 'h' + }; + + var ALL_DOWNCODE_MAPS = [ + LATIN_MAP, + LATIN_SYMBOLS_MAP, + GREEK_MAP, + TURKISH_MAP, + ROMANIAN_MAP, + RUSSIAN_MAP, + UKRAINIAN_MAP, + CZECH_MAP, + SLOVAK_MAP, + POLISH_MAP, + LATVIAN_MAP, + ARABIC_MAP, + LITHUANIAN_MAP, + SERBIAN_MAP, + AZERBAIJANI_MAP, + GEORGIAN_MAP + ]; + + var Downcoder = { + 'Initialize': function() { + if (Downcoder.map) { // already made + return; + } + Downcoder.map = {}; + Downcoder.chars = []; + for (var i = 0; i < ALL_DOWNCODE_MAPS.length; i++) { + var lookup = ALL_DOWNCODE_MAPS[i]; + for (var c in lookup) { + if (lookup.hasOwnProperty(c)) { + Downcoder.map[c] = lookup[c]; + } + } + } + for (var k in Downcoder.map) { + if (Downcoder.map.hasOwnProperty(k)) { + Downcoder.chars.push(k); + } + } + Downcoder.regex = new RegExp(Downcoder.chars.join('|'), 'g'); + } + }; + + function downcode(slug) { + Downcoder.Initialize(); + return slug.replace(Downcoder.regex, function(m) { + return Downcoder.map[m]; + }); + } + + + function URLify(s, num_chars, allowUnicode) { + // changes, e.g., "Petty theft" to "petty-theft" + // remove all these words from the string before urlifying + if (!allowUnicode) { + s = downcode(s); + } + var hasUnicodeChars = /[^\u0000-\u007f]/.test(s); + // Remove English words only if the string contains ASCII (English) + // characters. + if (!hasUnicodeChars) { + var removeList = [ + "a", "an", "as", "at", "before", "but", "by", "for", "from", + "is", "in", "into", "like", "of", "off", "on", "onto", "per", + "since", "than", "the", "this", "that", "to", "up", "via", + "with" + ]; + var r = new RegExp('\\b(' + removeList.join('|') + ')\\b', 'gi'); + s = s.replace(r, ''); + } + // if downcode doesn't hit, the char will be stripped here + if (allowUnicode) { + // Keep Unicode letters including both lowercase and uppercase + // characters, whitespace, and dash; remove other characters. + s = XRegExp.replace(s, XRegExp('[^-_\\p{L}\\p{N}\\s]', 'g'), ''); + } else { + s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars + } + s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces + s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens + s = s.substring(0, num_chars); // trim to first num_chars chars + s = s.replace(/-+$/g, ''); // trim any trailing hyphens + return s.toLowerCase(); // convert to lowercase + } + window.URLify = URLify; +})(); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt new file mode 100644 index 0000000..d930e62 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt @@ -0,0 +1,26 @@ +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js new file mode 100644 index 0000000..34a5703 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js @@ -0,0 +1,10365 @@ +/*! + * jQuery JavaScript Library v3.3.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2018-01-20T17:24Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + noModule: true + }; + + function DOMEval( code, doc, node ) { + doc = doc || document; + + var i, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + if ( node[ i ] ) { + script[ i ] = node[ i ]; + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.3.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( nodeName( elem, "iframe" ) ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + div.style.position = "absolute"; + scrollboxSizeVal = div.offsetWidth === 36 || "absolute"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a property mapped along what jQuery.cssProps suggests or to +// a vendor prefixed property. +function finalPropName( name ) { + var ret = jQuery.cssProps[ name ]; + if ( !ret ) { + ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; + } + return ret; +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + ) ); + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + val = curCSS( elem, dimension, styles ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox; + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = valueIsBorderBox && + ( support.boxSizingReliable() || val === elem.style[ dimension ] ); + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + if ( val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) { + + val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ]; + + // offsetWidth/offsetHeight provide border-box values + valueIsBorderBox = true; + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra && boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ); + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && support.scrollboxSize() === styles.position ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ).prop( { + charset: s.scriptCharset, + src: s.url + } ).on( + "load error", + callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } + ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + + + + +jQuery.expr.pseudos.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( !noGlobal ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js new file mode 100644 index 0000000..5881f6e --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],t!=="__proto__"&&a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w}); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md new file mode 100644 index 0000000..86c7c29 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2015 Kevin Brown, Igor Vaynberg, and Select2 contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js new file mode 100644 index 0000000..01a6882 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="الرجاء حذف "+t+" عناصر";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="الرجاء إضافة "+t+" عناصر";return n},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){var t="تستطيع إختيار "+e.maximum+" بنود فقط";return t},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js new file mode 100644 index 0000000..2accb97 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js new file mode 100644 index 0000000..35ae989 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js new file mode 100644 index 0000000..fdb5f3d --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js new file mode 100644 index 0000000..9651378 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím zadejte o jeden znak méně":n<=4?"Prosím zadejte o "+e(n,!0)+" znaky méně":"Prosím zadejte o "+n+" znaků méně"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím zadejte ještě jeden znak":n<=4?"Prosím zadejte ještě další "+e(n,!0)+" znaky":"Prosím zadejte ještě dalších "+n+" znaků"},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky":"Můžete zvolit maximálně "+n+" položek"},noResults:function(){return"Nenalezeny žádné položky"},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js new file mode 100644 index 0000000..501c51e --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js new file mode 100644 index 0000000..9a6d553 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js new file mode 100644 index 0000000..4735d14 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js new file mode 100644 index 0000000..8e80ede --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js new file mode 100644 index 0000000..0a09650 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js new file mode 100644 index 0000000..c70f4a5 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js new file mode 100644 index 0000000..9336053 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js new file mode 100644 index 0000000..5118cd2 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js new file mode 100644 index 0000000..9e60f26 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js new file mode 100644 index 0000000..e4a6650 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js new file mode 100644 index 0000000..02f258f --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js new file mode 100644 index 0000000..881f8d3 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js new file mode 100644 index 0000000..e829684 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js new file mode 100644 index 0000000..89f7b12 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js new file mode 100644 index 0000000..74c8a90 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js new file mode 100644 index 0000000..9586782 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js new file mode 100644 index 0000000..ab97a14 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js new file mode 100644 index 0000000..7796b9f --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js new file mode 100644 index 0000000..9f4fff6 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js new file mode 100644 index 0000000..8e94adc --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js new file mode 100644 index 0000000..4ed0321 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js new file mode 100644 index 0000000..05f3a6e --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js new file mode 100644 index 0000000..df8ee94 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js new file mode 100644 index 0000000..319ecca --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js new file mode 100644 index 0000000..4258f12 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js new file mode 100644 index 0000000..6770087 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js new file mode 100644 index 0000000..8bd5e3c --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js new file mode 100644 index 0000000..54ba28e --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js new file mode 100644 index 0000000..a6629c8 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js new file mode 100644 index 0000000..0cbda56 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js new file mode 100644 index 0000000..788a263 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js new file mode 100644 index 0000000..9ecab80 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js new file mode 100644 index 0000000..82f2941 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js new file mode 100644 index 0000000..e945394 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js new file mode 100644 index 0000000..ac0cc72 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js new file mode 100644 index 0000000..bedac08 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js new file mode 100644 index 0000000..097a86c --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js new file mode 100644 index 0000000..25d27a8 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js new file mode 100644 index 0000000..eb3ca89 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js new file mode 100644 index 0000000..8975b8a --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js new file mode 100644 index 0000000..2ed9597 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js new file mode 100644 index 0000000..ea0812e --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js new file mode 100644 index 0000000..e750834 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js @@ -0,0 +1,6436 @@ +/*! + * Select2 4.0.3 + * https://select2.github.io + * + * Released under the MIT license + * https://github.com/select2/select2/blob/master/LICENSE.md + */ +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS + factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function (jQuery) { + // This is needed so we can catch the AMD loader configuration and use it + // The inner file should be wrapped (by `banner.start.js`) in a function that + // returns the AMD loader references. + var S2 = +(function () { + // Restore the Select2 AMD loader so it can be used + // Needed mostly in the language files, where the loader is not inserted + if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { + var S2 = jQuery.fn.select2.amd; + } +var S2;(function () { if (!S2 || !S2.requirejs) { +if (!S2) { S2 = {}; } else { require = S2; } +/** + * @license almond 0.3.1 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/almond for details + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*jslint sloppy: true */ +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name && name.charAt(0) === ".") { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + name = name.split('/'); + lastIndex = name.length - 1; + + // Node .js allowance: + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + //Lop off the last part of baseParts, so that . matches the + //"directory" and not name of the baseName's module. For instance, + //baseName of "one/two/three", maps to "one/two/three.js", but we + //want the directory, "one/two" for this normalization. + name = baseParts.slice(0, baseParts.length - 1).concat(name); + + //start trimDots + for (i = 0; i < name.length; i += 1) { + part = name[i]; + if (part === ".") { + name.splice(i, 1); + i -= 1; + } else if (part === "..") { + if (i === 1 && (name[2] === '..' || name[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join("/"); + } else if (name.indexOf('./') === 0) { + // No baseName, so this is ID is resolved relative + // to baseUrl, pull off the leading dot. + name = name.substring(2); + } + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = aps.call(arguments, 0); + + //If first arg is not require('string'), and there is only + //one arg, it is the array form without a callback. Insert + //a null so that the following concat is correct. + if (typeof args[0] !== 'string' && args.length === 1) { + args.push(null); + } + return req.apply(undef, args.concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relName) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relName)); + } else { + name = normalize(name, relName); + } + } else { + name = normalize(name, relName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relName); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, callback).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + if (typeof name !== 'string') { + throw new Error('See almond README: incorrect module build, no module name'); + } + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +S2.requirejs = requirejs;S2.require = require;S2.define = define; +} +}()); +S2.define("almond", function(){}); + +/* global jQuery:false, $:false */ +S2.define('jquery',[],function () { + var _$ = jQuery || $; + + if (_$ == null && console && console.error) { + console.error( + 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + + 'found. Make sure that you are including jQuery before Select2 on your ' + + 'web page.' + ); + } + + return _$; +}); + +S2.define('select2/utils',[ + 'jquery' +], function ($) { + var Utils = {}; + + Utils.Extend = function (ChildClass, SuperClass) { + var __hasProp = {}.hasOwnProperty; + + function BaseConstructor () { + this.constructor = ChildClass; + } + + for (var key in SuperClass) { + if (__hasProp.call(SuperClass, key)) { + ChildClass[key] = SuperClass[key]; + } + } + + BaseConstructor.prototype = SuperClass.prototype; + ChildClass.prototype = new BaseConstructor(); + ChildClass.__super__ = SuperClass.prototype; + + return ChildClass; + }; + + function getMethods (theClass) { + var proto = theClass.prototype; + + var methods = []; + + for (var methodName in proto) { + var m = proto[methodName]; + + if (typeof m !== 'function') { + continue; + } + + if (methodName === 'constructor') { + continue; + } + + methods.push(methodName); + } + + return methods; + } + + Utils.Decorate = function (SuperClass, DecoratorClass) { + var decoratedMethods = getMethods(DecoratorClass); + var superMethods = getMethods(SuperClass); + + function DecoratedClass () { + var unshift = Array.prototype.unshift; + + var argCount = DecoratorClass.prototype.constructor.length; + + var calledConstructor = SuperClass.prototype.constructor; + + if (argCount > 0) { + unshift.call(arguments, SuperClass.prototype.constructor); + + calledConstructor = DecoratorClass.prototype.constructor; + } + + calledConstructor.apply(this, arguments); + } + + DecoratorClass.displayName = SuperClass.displayName; + + function ctr () { + this.constructor = DecoratedClass; + } + + DecoratedClass.prototype = new ctr(); + + for (var m = 0; m < superMethods.length; m++) { + var superMethod = superMethods[m]; + + DecoratedClass.prototype[superMethod] = + SuperClass.prototype[superMethod]; + } + + var calledMethod = function (methodName) { + // Stub out the original method if it's not decorating an actual method + var originalMethod = function () {}; + + if (methodName in DecoratedClass.prototype) { + originalMethod = DecoratedClass.prototype[methodName]; + } + + var decoratedMethod = DecoratorClass.prototype[methodName]; + + return function () { + var unshift = Array.prototype.unshift; + + unshift.call(arguments, originalMethod); + + return decoratedMethod.apply(this, arguments); + }; + }; + + for (var d = 0; d < decoratedMethods.length; d++) { + var decoratedMethod = decoratedMethods[d]; + + DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); + } + + return DecoratedClass; + }; + + var Observable = function () { + this.listeners = {}; + }; + + Observable.prototype.on = function (event, callback) { + this.listeners = this.listeners || {}; + + if (event in this.listeners) { + this.listeners[event].push(callback); + } else { + this.listeners[event] = [callback]; + } + }; + + Observable.prototype.trigger = function (event) { + var slice = Array.prototype.slice; + var params = slice.call(arguments, 1); + + this.listeners = this.listeners || {}; + + // Params should always come in as an array + if (params == null) { + params = []; + } + + // If there are no arguments to the event, use a temporary object + if (params.length === 0) { + params.push({}); + } + + // Set the `_type` of the first object to the event + params[0]._type = event; + + if (event in this.listeners) { + this.invoke(this.listeners[event], slice.call(arguments, 1)); + } + + if ('*' in this.listeners) { + this.invoke(this.listeners['*'], arguments); + } + }; + + Observable.prototype.invoke = function (listeners, params) { + for (var i = 0, len = listeners.length; i < len; i++) { + listeners[i].apply(this, params); + } + }; + + Utils.Observable = Observable; + + Utils.generateChars = function (length) { + var chars = ''; + + for (var i = 0; i < length; i++) { + var randomChar = Math.floor(Math.random() * 36); + chars += randomChar.toString(36); + } + + return chars; + }; + + Utils.bind = function (func, context) { + return function () { + func.apply(context, arguments); + }; + }; + + Utils._convertData = function (data) { + for (var originalKey in data) { + var keys = originalKey.split('-'); + + var dataLevel = data; + + if (keys.length === 1) { + continue; + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k]; + + // Lowercase the first letter + // By default, dash-separated becomes camelCase + key = key.substring(0, 1).toLowerCase() + key.substring(1); + + if (!(key in dataLevel)) { + dataLevel[key] = {}; + } + + if (k == keys.length - 1) { + dataLevel[key] = data[originalKey]; + } + + dataLevel = dataLevel[key]; + } + + delete data[originalKey]; + } + + return data; + }; + + Utils.hasScroll = function (index, el) { + // Adapted from the function created by @ShadowScripter + // and adapted by @BillBarry on the Stack Exchange Code Review website. + // The original code can be found at + // http://codereview.stackexchange.com/q/13338 + // and was designed to be used with the Sizzle selector engine. + + var $el = $(el); + var overflowX = el.style.overflowX; + var overflowY = el.style.overflowY; + + //Check both x and y declarations + if (overflowX === overflowY && + (overflowY === 'hidden' || overflowY === 'visible')) { + return false; + } + + if (overflowX === 'scroll' || overflowY === 'scroll') { + return true; + } + + return ($el.innerHeight() < el.scrollHeight || + $el.innerWidth() < el.scrollWidth); + }; + + Utils.escapeMarkup = function (markup) { + var replaceMap = { + '\\': '\', + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', + '/': '/' + }; + + // Do not try to escape the markup if it's not a string + if (typeof markup !== 'string') { + return markup; + } + + return String(markup).replace(/[&<>"'\/\\]/g, function (match) { + return replaceMap[match]; + }); + }; + + // Append an array of jQuery nodes to a given element. + Utils.appendMany = function ($element, $nodes) { + // jQuery 1.7.x does not support $.fn.append() with an array + // Fall back to a jQuery object collection using $.fn.add() + if ($.fn.jquery.substr(0, 3) === '1.7') { + var $jqNodes = $(); + + $.map($nodes, function (node) { + $jqNodes = $jqNodes.add(node); + }); + + $nodes = $jqNodes; + } + + $element.append($nodes); + }; + + return Utils; +}); + +S2.define('select2/results',[ + 'jquery', + './utils' +], function ($, Utils) { + function Results ($element, options, dataAdapter) { + this.$element = $element; + this.data = dataAdapter; + this.options = options; + + Results.__super__.constructor.call(this); + } + + Utils.Extend(Results, Utils.Observable); + + Results.prototype.render = function () { + var $results = $( + '<ul class="select2-results__options" role="tree"></ul>' + ); + + if (this.options.get('multiple')) { + $results.attr('aria-multiselectable', 'true'); + } + + this.$results = $results; + + return $results; + }; + + Results.prototype.clear = function () { + this.$results.empty(); + }; + + Results.prototype.displayMessage = function (params) { + var escapeMarkup = this.options.get('escapeMarkup'); + + this.clear(); + this.hideLoading(); + + var $message = $( + '<li role="treeitem" aria-live="assertive"' + + ' class="select2-results__option"></li>' + ); + + var message = this.options.get('translations').get(params.message); + + $message.append( + escapeMarkup( + message(params.args) + ) + ); + + $message[0].className += ' select2-results__message'; + + this.$results.append($message); + }; + + Results.prototype.hideMessages = function () { + this.$results.find('.select2-results__message').remove(); + }; + + Results.prototype.append = function (data) { + this.hideLoading(); + + var $options = []; + + if (data.results == null || data.results.length === 0) { + if (this.$results.children().length === 0) { + this.trigger('results:message', { + message: 'noResults' + }); + } + + return; + } + + data.results = this.sort(data.results); + + for (var d = 0; d < data.results.length; d++) { + var item = data.results[d]; + + var $option = this.option(item); + + $options.push($option); + } + + this.$results.append($options); + }; + + Results.prototype.position = function ($results, $dropdown) { + var $resultsContainer = $dropdown.find('.select2-results'); + $resultsContainer.append($results); + }; + + Results.prototype.sort = function (data) { + var sorter = this.options.get('sorter'); + + return sorter(data); + }; + + Results.prototype.highlightFirstItem = function () { + var $options = this.$results + .find('.select2-results__option[aria-selected]'); + + var $selected = $options.filter('[aria-selected=true]'); + + // Check if there are any selected options + if ($selected.length > 0) { + // If there are selected options, highlight the first + $selected.first().trigger('mouseenter'); + } else { + // If there are no selected options, highlight the first option + // in the dropdown + $options.first().trigger('mouseenter'); + } + + this.ensureHighlightVisible(); + }; + + Results.prototype.setClasses = function () { + var self = this; + + this.data.current(function (selected) { + var selectedIds = $.map(selected, function (s) { + return s.id.toString(); + }); + + var $options = self.$results + .find('.select2-results__option[aria-selected]'); + + $options.each(function () { + var $option = $(this); + + var item = $.data(this, 'data'); + + // id needs to be converted to a string when comparing + var id = '' + item.id; + + if ((item.element != null && item.element.selected) || + (item.element == null && $.inArray(id, selectedIds) > -1)) { + $option.attr('aria-selected', 'true'); + } else { + $option.attr('aria-selected', 'false'); + } + }); + + }); + }; + + Results.prototype.showLoading = function (params) { + this.hideLoading(); + + var loadingMore = this.options.get('translations').get('searching'); + + var loading = { + disabled: true, + loading: true, + text: loadingMore(params) + }; + var $loading = this.option(loading); + $loading.className += ' loading-results'; + + this.$results.prepend($loading); + }; + + Results.prototype.hideLoading = function () { + this.$results.find('.loading-results').remove(); + }; + + Results.prototype.option = function (data) { + var option = document.createElement('li'); + option.className = 'select2-results__option'; + + var attrs = { + 'role': 'treeitem', + 'aria-selected': 'false' + }; + + if (data.disabled) { + delete attrs['aria-selected']; + attrs['aria-disabled'] = 'true'; + } + + if (data.id == null) { + delete attrs['aria-selected']; + } + + if (data._resultId != null) { + option.id = data._resultId; + } + + if (data.title) { + option.title = data.title; + } + + if (data.children) { + attrs.role = 'group'; + attrs['aria-label'] = data.text; + delete attrs['aria-selected']; + } + + for (var attr in attrs) { + var val = attrs[attr]; + + option.setAttribute(attr, val); + } + + if (data.children) { + var $option = $(option); + + var label = document.createElement('strong'); + label.className = 'select2-results__group'; + + var $label = $(label); + this.template(data, label); + + var $children = []; + + for (var c = 0; c < data.children.length; c++) { + var child = data.children[c]; + + var $child = this.option(child); + + $children.push($child); + } + + var $childrenContainer = $('<ul></ul>', { + 'class': 'select2-results__options select2-results__options--nested' + }); + + $childrenContainer.append($children); + + $option.append(label); + $option.append($childrenContainer); + } else { + this.template(data, option); + } + + $.data(option, 'data', data); + + return option; + }; + + Results.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-results'; + + this.$results.attr('id', id); + + container.on('results:all', function (params) { + self.clear(); + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + self.highlightFirstItem(); + } + }); + + container.on('results:append', function (params) { + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + } + }); + + container.on('query', function (params) { + self.hideMessages(); + self.showLoading(params); + }); + + container.on('select', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + self.highlightFirstItem(); + }); + + container.on('unselect', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + self.highlightFirstItem(); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expended="true" + self.$results.attr('aria-expanded', 'true'); + self.$results.attr('aria-hidden', 'false'); + + self.setClasses(); + self.ensureHighlightVisible(); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expended="false" + self.$results.attr('aria-expanded', 'false'); + self.$results.attr('aria-hidden', 'true'); + self.$results.removeAttr('aria-activedescendant'); + }); + + container.on('results:toggle', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + $highlighted.trigger('mouseup'); + }); + + container.on('results:select', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var data = $highlighted.data('data'); + + if ($highlighted.attr('aria-selected') == 'true') { + self.trigger('close', {}); + } else { + self.trigger('select', { + data: data + }); + } + }); + + container.on('results:previous', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + // If we are already at te top, don't move further + if (currentIndex === 0) { + return; + } + + var nextIndex = currentIndex - 1; + + // If none are highlighted, highlight the first + if ($highlighted.length === 0) { + nextIndex = 0; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top; + var nextTop = $next.offset().top; + var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextTop - currentOffset < 0) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:next', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var nextIndex = currentIndex + 1; + + // If we are at the last option, stay there + if (nextIndex >= $options.length) { + return; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var nextBottom = $next.offset().top + $next.outerHeight(false); + var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextBottom > currentOffset) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:focus', function (params) { + params.element.addClass('select2-results__option--highlighted'); + }); + + container.on('results:message', function (params) { + self.displayMessage(params); + }); + + if ($.fn.mousewheel) { + this.$results.on('mousewheel', function (e) { + var top = self.$results.scrollTop(); + + var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; + + var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; + var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); + + if (isAtTop) { + self.$results.scrollTop(0); + + e.preventDefault(); + e.stopPropagation(); + } else if (isAtBottom) { + self.$results.scrollTop( + self.$results.get(0).scrollHeight - self.$results.height() + ); + + e.preventDefault(); + e.stopPropagation(); + } + }); + } + + this.$results.on('mouseup', '.select2-results__option[aria-selected]', + function (evt) { + var $this = $(this); + + var data = $this.data('data'); + + if ($this.attr('aria-selected') === 'true') { + if (self.options.get('multiple')) { + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } else { + self.trigger('close', {}); + } + + return; + } + + self.trigger('select', { + originalEvent: evt, + data: data + }); + }); + + this.$results.on('mouseenter', '.select2-results__option[aria-selected]', + function (evt) { + var data = $(this).data('data'); + + self.getHighlightedResults() + .removeClass('select2-results__option--highlighted'); + + self.trigger('results:focus', { + data: data, + element: $(this) + }); + }); + }; + + Results.prototype.getHighlightedResults = function () { + var $highlighted = this.$results + .find('.select2-results__option--highlighted'); + + return $highlighted; + }; + + Results.prototype.destroy = function () { + this.$results.remove(); + }; + + Results.prototype.ensureHighlightVisible = function () { + var $highlighted = this.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var $options = this.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var currentOffset = this.$results.offset().top; + var nextTop = $highlighted.offset().top; + var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); + + var offsetDelta = nextTop - currentOffset; + nextOffset -= $highlighted.outerHeight(false) * 2; + + if (currentIndex <= 2) { + this.$results.scrollTop(0); + } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { + this.$results.scrollTop(nextOffset); + } + }; + + Results.prototype.template = function (result, container) { + var template = this.options.get('templateResult'); + var escapeMarkup = this.options.get('escapeMarkup'); + + var content = template(result, container); + + if (content == null) { + container.style.display = 'none'; + } else if (typeof content === 'string') { + container.innerHTML = escapeMarkup(content); + } else { + $(container).append(content); + } + }; + + return Results; +}); + +S2.define('select2/keys',[ + +], function () { + var KEYS = { + BACKSPACE: 8, + TAB: 9, + ENTER: 13, + SHIFT: 16, + CTRL: 17, + ALT: 18, + ESC: 27, + SPACE: 32, + PAGE_UP: 33, + PAGE_DOWN: 34, + END: 35, + HOME: 36, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + DELETE: 46 + }; + + return KEYS; +}); + +S2.define('select2/selection/base',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function BaseSelection ($element, options) { + this.$element = $element; + this.options = options; + + BaseSelection.__super__.constructor.call(this); + } + + Utils.Extend(BaseSelection, Utils.Observable); + + BaseSelection.prototype.render = function () { + var $selection = $( + '<span class="select2-selection" role="combobox" ' + + ' aria-haspopup="true" aria-expanded="false">' + + '</span>' + ); + + this._tabindex = 0; + + if (this.$element.data('old-tabindex') != null) { + this._tabindex = this.$element.data('old-tabindex'); + } else if (this.$element.attr('tabindex') != null) { + this._tabindex = this.$element.attr('tabindex'); + } + + $selection.attr('title', this.$element.attr('title')); + $selection.attr('tabindex', this._tabindex); + + this.$selection = $selection; + + return $selection; + }; + + BaseSelection.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-container'; + var resultsId = container.id + '-results'; + + this.container = container; + + this.$selection.on('focus', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('blur', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', function (evt) { + self.trigger('keypress', evt); + + if (evt.which === KEYS.SPACE) { + evt.preventDefault(); + } + }); + + container.on('results:focus', function (params) { + self.$selection.attr('aria-activedescendant', params.data._resultId); + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expanded="true" + self.$selection.attr('aria-expanded', 'true'); + self.$selection.attr('aria-owns', resultsId); + + self._attachCloseHandler(container); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expanded="false" + self.$selection.attr('aria-expanded', 'false'); + self.$selection.removeAttr('aria-activedescendant'); + self.$selection.removeAttr('aria-owns'); + + self.$selection.focus(); + + self._detachCloseHandler(container); + }); + + container.on('enable', function () { + self.$selection.attr('tabindex', self._tabindex); + }); + + container.on('disable', function () { + self.$selection.attr('tabindex', '-1'); + }); + }; + + BaseSelection.prototype._handleBlur = function (evt) { + var self = this; + + // This needs to be delayed as the active element is the body when the tab + // key is pressed, possibly along with others. + window.setTimeout(function () { + // Don't trigger `blur` if the focus is still in the selection + if ( + (document.activeElement == self.$selection[0]) || + ($.contains(self.$selection[0], document.activeElement)) + ) { + return; + } + + self.trigger('blur', evt); + }, 1); + }; + + BaseSelection.prototype._attachCloseHandler = function (container) { + var self = this; + + $(document.body).on('mousedown.select2.' + container.id, function (e) { + var $target = $(e.target); + + var $select = $target.closest('.select2'); + + var $all = $('.select2.select2-container--open'); + + $all.each(function () { + var $this = $(this); + + if (this == $select[0]) { + return; + } + + var $element = $this.data('element'); + + $element.select2('close'); + }); + }); + }; + + BaseSelection.prototype._detachCloseHandler = function (container) { + $(document.body).off('mousedown.select2.' + container.id); + }; + + BaseSelection.prototype.position = function ($selection, $container) { + var $selectionContainer = $container.find('.selection'); + $selectionContainer.append($selection); + }; + + BaseSelection.prototype.destroy = function () { + this._detachCloseHandler(this.container); + }; + + BaseSelection.prototype.update = function (data) { + throw new Error('The `update` method must be defined in child classes.'); + }; + + return BaseSelection; +}); + +S2.define('select2/selection/single',[ + 'jquery', + './base', + '../utils', + '../keys' +], function ($, BaseSelection, Utils, KEYS) { + function SingleSelection () { + SingleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(SingleSelection, BaseSelection); + + SingleSelection.prototype.render = function () { + var $selection = SingleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--single'); + + $selection.html( + '<span class="select2-selection__rendered"></span>' + + '<span class="select2-selection__arrow" role="presentation">' + + '<b role="presentation"></b>' + + '</span>' + ); + + return $selection; + }; + + SingleSelection.prototype.bind = function (container, $container) { + var self = this; + + SingleSelection.__super__.bind.apply(this, arguments); + + var id = container.id + '-container'; + + this.$selection.find('.select2-selection__rendered').attr('id', id); + this.$selection.attr('aria-labelledby', id); + + this.$selection.on('mousedown', function (evt) { + // Only respond to left clicks + if (evt.which !== 1) { + return; + } + + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on('focus', function (evt) { + // User focuses on the container + }); + + this.$selection.on('blur', function (evt) { + // User exits the container + }); + + container.on('focus', function (evt) { + if (!container.isOpen()) { + self.$selection.focus(); + } + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + }; + + SingleSelection.prototype.clear = function () { + this.$selection.find('.select2-selection__rendered').empty(); + }; + + SingleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + SingleSelection.prototype.selectionContainer = function () { + return $('<span></span>'); + }; + + SingleSelection.prototype.update = function (data) { + if (data.length === 0) { + this.clear(); + return; + } + + var selection = data[0]; + + var $rendered = this.$selection.find('.select2-selection__rendered'); + var formatted = this.display(selection, $rendered); + + $rendered.empty().append(formatted); + $rendered.prop('title', selection.title || selection.text); + }; + + return SingleSelection; +}); + +S2.define('select2/selection/multiple',[ + 'jquery', + './base', + '../utils' +], function ($, BaseSelection, Utils) { + function MultipleSelection ($element, options) { + MultipleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(MultipleSelection, BaseSelection); + + MultipleSelection.prototype.render = function () { + var $selection = MultipleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--multiple'); + + $selection.html( + '<ul class="select2-selection__rendered"></ul>' + ); + + return $selection; + }; + + MultipleSelection.prototype.bind = function (container, $container) { + var self = this; + + MultipleSelection.__super__.bind.apply(this, arguments); + + this.$selection.on('click', function (evt) { + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on( + 'click', + '.select2-selection__choice__remove', + function (evt) { + // Ignore the event if it is disabled + if (self.options.get('disabled')) { + return; + } + + var $remove = $(this); + var $selection = $remove.parent(); + + var data = $selection.data('data'); + + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } + ); + }; + + MultipleSelection.prototype.clear = function () { + this.$selection.find('.select2-selection__rendered').empty(); + }; + + MultipleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + MultipleSelection.prototype.selectionContainer = function () { + var $container = $( + '<li class="select2-selection__choice">' + + '<span class="select2-selection__choice__remove" role="presentation">' + + '×' + + '</span>' + + '</li>' + ); + + return $container; + }; + + MultipleSelection.prototype.update = function (data) { + this.clear(); + + if (data.length === 0) { + return; + } + + var $selections = []; + + for (var d = 0; d < data.length; d++) { + var selection = data[d]; + + var $selection = this.selectionContainer(); + var formatted = this.display(selection, $selection); + + $selection.append(formatted); + $selection.prop('title', selection.title || selection.text); + + $selection.data('data', selection); + + $selections.push($selection); + } + + var $rendered = this.$selection.find('.select2-selection__rendered'); + + Utils.appendMany($rendered, $selections); + }; + + return MultipleSelection; +}); + +S2.define('select2/selection/placeholder',[ + '../utils' +], function (Utils) { + function Placeholder (decorated, $element, options) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options); + } + + Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { + var $placeholder = this.selectionContainer(); + + $placeholder.html(this.display(placeholder)); + $placeholder.addClass('select2-selection__placeholder') + .removeClass('select2-selection__choice'); + + return $placeholder; + }; + + Placeholder.prototype.update = function (decorated, data) { + var singlePlaceholder = ( + data.length == 1 && data[0].id != this.placeholder.id + ); + var multipleSelections = data.length > 1; + + if (multipleSelections || singlePlaceholder) { + return decorated.call(this, data); + } + + this.clear(); + + var $placeholder = this.createPlaceholder(this.placeholder); + + this.$selection.find('.select2-selection__rendered').append($placeholder); + }; + + return Placeholder; +}); + +S2.define('select2/selection/allowClear',[ + 'jquery', + '../keys' +], function ($, KEYS) { + function AllowClear () { } + + AllowClear.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + if (this.placeholder == null) { + if (this.options.get('debug') && window.console && console.error) { + console.error( + 'Select2: The `allowClear` option should be used in combination ' + + 'with the `placeholder` option.' + ); + } + } + + this.$selection.on('mousedown', '.select2-selection__clear', + function (evt) { + self._handleClear(evt); + }); + + container.on('keypress', function (evt) { + self._handleKeyboardClear(evt, container); + }); + }; + + AllowClear.prototype._handleClear = function (_, evt) { + // Ignore the event if it is disabled + if (this.options.get('disabled')) { + return; + } + + var $clear = this.$selection.find('.select2-selection__clear'); + + // Ignore the event if nothing has been selected + if ($clear.length === 0) { + return; + } + + evt.stopPropagation(); + + var data = $clear.data('data'); + + for (var d = 0; d < data.length; d++) { + var unselectData = { + data: data[d] + }; + + // Trigger the `unselect` event, so people can prevent it from being + // cleared. + this.trigger('unselect', unselectData); + + // If the event was prevented, don't clear it out. + if (unselectData.prevented) { + return; + } + } + + this.$element.val(this.placeholder.id).trigger('change'); + + this.trigger('toggle', {}); + }; + + AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { + if (container.isOpen()) { + return; + } + + if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { + this._handleClear(evt); + } + }; + + AllowClear.prototype.update = function (decorated, data) { + decorated.call(this, data); + + if (this.$selection.find('.select2-selection__placeholder').length > 0 || + data.length === 0) { + return; + } + + var $remove = $( + '<span class="select2-selection__clear">' + + '×' + + '</span>' + ); + $remove.data('data', data); + + this.$selection.find('.select2-selection__rendered').prepend($remove); + }; + + return AllowClear; +}); + +S2.define('select2/selection/search',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function Search (decorated, $element, options) { + decorated.call(this, $element, options); + } + + Search.prototype.render = function (decorated) { + var $search = $( + '<li class="select2-search select2-search--inline">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="off"' + + ' spellcheck="false" role="textbox" aria-autocomplete="list" />' + + '</li>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + self.$search.attr('aria-activedescendant', params.id); + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = $previousChoice.data('data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + this.$search.focus(); + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').innerWidth(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting' + ]; + + var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting']; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03C9': '\u03C9', + '\u03C2': '\u03C3' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + $.removeData(this, 'data'); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + $.data(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = $.data($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + $.data($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (!$.isPlainObject(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + var data = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + + this.addOptions(this.convertToOptions(data)); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ($request.status && $request.status === '0') { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var checkText = option.text === params.term; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var tag = this._lastTag; + + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.focus(); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + decorated.call(self, params, callback); + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '<span class="select2-dropdown">' + + '<span class="select2-results"></span>' + + '</span>' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implmented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '<span class="select2-search select2-search--dropdown">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="off"' + + ' spellcheck="false" role="textbox" />' + + '</span>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + + self.$search.focus(); + + window.setTimeout(function () { + self.$search.focus(); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + + self.$search.val(''); + }); + + container.on('focus', function () { + if (container.isOpen()) { + self.$search.focus(); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + self.$loadingMore[0] + ); + + if (self.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var loadingMoreOffset = self.$loadingMore.offset().top + + self.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + self.loadMore(); + } + }); + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '<li ' + + 'class="select2-results__option select2-results__option--load-more"' + + 'role="treeitem" aria-disabled="true"></li>' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = options.get('dropdownParent') || $(document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + var setupResultsEvents = false; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + if (!setupResultsEvents) { + setupResultsEvents = true; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + } + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $('<span></span>'); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + $(this).data('select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = $(this).data('select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calciulating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positoned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = $offsetParent.offset(); + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + +], function () { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = $highlightedResults.data('data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && originalEvent.ctrlKey) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + if (typeof options.language === 'string') { + // Check if the language is specified with a region + if (options.language.indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = options.language.split('-'); + var baseLanguage = languageParts[0]; + + options.language = [options.language, baseLanguage]; + } else { + options.language = [options.language]; + } + } + + if ($.isArray(options.language)) { + var languages = new Translation(); + options.language.push('en'); + + var languageNames = options.language; + + for (var l = 0; l < languageNames.length; l++) { + var name = languageNames[l]; + var language = {}; + + try { + // Try to load it with the original name + language = Translation.loadPath(name); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + name = this.defaults.amdLanguageBase + name; + language = Translation.loadPath(name); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files. + if (options.debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + name + '" could not be ' + + 'automatically loaded. A fallback will be used instead.' + ); + } + + continue; + } + } + + languages.extend(language); + } + + options.translations = languages; + } else { + var baseTranslation = Translation.loadPath( + this.defaults.amdLanguageBase + 'en' + ); + var customTranslation = new Translation(options.language); + + customTranslation.extend(baseTranslation); + + options.translations = customTranslation; + } + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: EnglishTranslation, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.language == null) { + if ($e.prop('lang')) { + this.options.language = $e.prop('lang').toLowerCase(); + } else if ($e.closest('[lang]').prop('lang')) { + this.options.language = $e.closest('[lang]').prop('lang'); + } + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if ($e.data('select2Tags')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-select2-tags` attribute has been changed to ' + + 'use the `data-data` and `data-tags="true"` attributes and will be ' + + 'removed in future versions of Select2.' + ); + } + + $e.data('data', $e.data('select2Tags')); + $e.data('tags', true); + } + + if ($e.data('ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', $e.data('ajaxUrl')); + $e.data('ajax--url', $e.data('ajaxUrl')); + } + + var dataset = {}; + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, $e.data()); + } else { + dataset = $e.data(); + } + + var data = $.extend(true, {}, dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if ($element.data('select2') != null) { + $element.data('select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + $element.data('old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + return method; + }; + + Select2.prototype._bindAdapters = function () { + this.dataAdapter.bind(this, this.$container); + this.selection.bind(this, this.$container); + + this.dropdown.bind(this, this.$container); + this.results.bind(this, this.$container); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + $.each(mutations, self._syncA); + $.each(mutations, self._syncS); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.options.get('disabled')) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.options.get('disabled')) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function () { + if (!this.isOpen()) { + return; + } + + this.trigger('close', {}); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("enable")` method has been deprecated and will' + + ' be removed in later Select2 versions. Use $element.prop("disabled")' + + ' instead.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (this.options.get('debug') && + arguments.length > 0 && window.console && console.warn) { + console.warn( + 'Select2: Data can no longer be set using `select2("data")`. You ' + + 'should consider setting the value instead using `$element.val()`.' + ); + } + + var data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("val")` method has been deprecated and will be' + + ' removed in later Select2 versions. Use $element.val() instead.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', this.$element.data('old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + this.$element.removeData('select2'); + + this.dataAdapter.destroy(); + this.selection.destroy(); + this.dropdown.destroy(); + this.results.destroy(); + + this.dataAdapter = null; + this.selection = null; + this.dropdown = null; + this.results = null; + }; + + Select2.prototype.render = function () { + var $container = $( + '<span class="select2 select2-container">' + + '<span class="selection"></span>' + + '<span class="dropdown-wrapper" aria-hidden="true"></span>' + + '</span>' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + $container.data('element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('select2/compat/utils',[ + 'jquery' +], function ($) { + function syncCssClasses ($dest, $src, adapter) { + var classes, replacements = [], adapted; + + classes = $.trim($dest.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Save all Select2 classes + if (this.indexOf('select2-') === 0) { + replacements.push(this); + } + }); + } + + classes = $.trim($src.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Only adapt non-Select2 classes + if (this.indexOf('select2-') !== 0) { + adapted = adapter(this); + + if (adapted != null) { + replacements.push(adapted); + } + } + }); + } + + $dest.attr('class', replacements.join(' ')); + } + + return { + syncCssClasses: syncCssClasses + }; +}); + +S2.define('select2/compat/containerCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _containerAdapter (clazz) { + return null; + } + + function ContainerCSS () { } + + ContainerCSS.prototype.render = function (decorated) { + var $container = decorated.call(this); + + var containerCssClass = this.options.get('containerCssClass') || ''; + + if ($.isFunction(containerCssClass)) { + containerCssClass = containerCssClass(this.$element); + } + + var containerCssAdapter = this.options.get('adaptContainerCssClass'); + containerCssAdapter = containerCssAdapter || _containerAdapter; + + if (containerCssClass.indexOf(':all:') !== -1) { + containerCssClass = containerCssClass.replace(':all:', ''); + + var _cssAdapter = containerCssAdapter; + + containerCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var containerCss = this.options.get('containerCss') || {}; + + if ($.isFunction(containerCss)) { + containerCss = containerCss(this.$element); + } + + CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter); + + $container.css(containerCss); + $container.addClass(containerCssClass); + + return $container; + }; + + return ContainerCSS; +}); + +S2.define('select2/compat/dropdownCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _dropdownAdapter (clazz) { + return null; + } + + function DropdownCSS () { } + + DropdownCSS.prototype.render = function (decorated) { + var $dropdown = decorated.call(this); + + var dropdownCssClass = this.options.get('dropdownCssClass') || ''; + + if ($.isFunction(dropdownCssClass)) { + dropdownCssClass = dropdownCssClass(this.$element); + } + + var dropdownCssAdapter = this.options.get('adaptDropdownCssClass'); + dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; + + if (dropdownCssClass.indexOf(':all:') !== -1) { + dropdownCssClass = dropdownCssClass.replace(':all:', ''); + + var _cssAdapter = dropdownCssAdapter; + + dropdownCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var dropdownCss = this.options.get('dropdownCss') || {}; + + if ($.isFunction(dropdownCss)) { + dropdownCss = dropdownCss(this.$element); + } + + CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter); + + $dropdown.css(dropdownCss); + $dropdown.addClass(dropdownCssClass); + + return $dropdown; + }; + + return DropdownCSS; +}); + +S2.define('select2/compat/initSelection',[ + 'jquery' +], function ($) { + function InitSelection (decorated, $element, options) { + if (options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `initSelection` option has been deprecated in favor' + + ' of a custom data adapter that overrides the `current` method. ' + + 'This method is now called multiple times instead of a single ' + + 'time when the instance is initialized. Support will be removed ' + + 'for the `initSelection` option in future versions of Select2' + ); + } + + this.initSelection = options.get('initSelection'); + this._isInitialized = false; + + decorated.call(this, $element, options); + } + + InitSelection.prototype.current = function (decorated, callback) { + var self = this; + + if (this._isInitialized) { + decorated.call(this, callback); + + return; + } + + this.initSelection.call(null, this.$element, function (data) { + self._isInitialized = true; + + if (!$.isArray(data)) { + data = [data]; + } + + callback(data); + }); + }; + + return InitSelection; +}); + +S2.define('select2/compat/inputData',[ + 'jquery' +], function ($) { + function InputData (decorated, $element, options) { + this._currentData = []; + this._valueSeparator = options.get('valueSeparator') || ','; + + if ($element.prop('type') === 'hidden') { + if (options.get('debug') && console && console.warn) { + console.warn( + 'Select2: Using a hidden input with Select2 is no longer ' + + 'supported and may stop working in the future. It is recommended ' + + 'to use a `<select>` element instead.' + ); + } + } + + decorated.call(this, $element, options); + } + + InputData.prototype.current = function (_, callback) { + function getSelected (data, selectedIds) { + var selected = []; + + if (data.selected || $.inArray(data.id, selectedIds) !== -1) { + data.selected = true; + selected.push(data); + } else { + data.selected = false; + } + + if (data.children) { + selected.push.apply(selected, getSelected(data.children, selectedIds)); + } + + return selected; + } + + var selected = []; + + for (var d = 0; d < this._currentData.length; d++) { + var data = this._currentData[d]; + + selected.push.apply( + selected, + getSelected( + data, + this.$element.val().split( + this._valueSeparator + ) + ) + ); + } + + callback(selected); + }; + + InputData.prototype.select = function (_, data) { + if (!this.options.get('multiple')) { + this.current(function (allData) { + $.map(allData, function (data) { + data.selected = false; + }); + }); + + this.$element.val(data.id); + this.$element.trigger('change'); + } else { + var value = this.$element.val(); + value += this._valueSeparator + data.id; + + this.$element.val(value); + this.$element.trigger('change'); + } + }; + + InputData.prototype.unselect = function (_, data) { + var self = this; + + data.selected = false; + + this.current(function (allData) { + var values = []; + + for (var d = 0; d < allData.length; d++) { + var item = allData[d]; + + if (data.id == item.id) { + continue; + } + + values.push(item.id); + } + + self.$element.val(values.join(self._valueSeparator)); + self.$element.trigger('change'); + }); + }; + + InputData.prototype.query = function (_, params, callback) { + var results = []; + + for (var d = 0; d < this._currentData.length; d++) { + var data = this._currentData[d]; + + var matches = this.matches(params, data); + + if (matches !== null) { + results.push(matches); + } + } + + callback({ + results: results + }); + }; + + InputData.prototype.addOptions = function (_, $options) { + var options = $.map($options, function ($option) { + return $.data($option[0], 'data'); + }); + + this._currentData.push.apply(this._currentData, options); + }; + + return InputData; +}); + +S2.define('select2/compat/matcher',[ + 'jquery' +], function ($) { + function oldMatcher (matcher) { + function wrappedMatcher (params, data) { + var match = $.extend(true, {}, data); + + if (params.term == null || $.trim(params.term) === '') { + return match; + } + + if (data.children) { + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + // Check if the child object matches + // The old matcher returned a boolean true or false + var doesMatch = matcher(params.term, child.text, child); + + // If the child didn't match, pop it off + if (!doesMatch) { + match.children.splice(c, 1); + } + } + + if (match.children.length > 0) { + return match; + } + } + + if (matcher(params.term, data.text, data)) { + return match; + } + + return null; + } + + return wrappedMatcher; + } + + return oldMatcher; +}); + +S2.define('select2/compat/query',[ + +], function () { + function Query (decorated, $element, options) { + if (options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `query` option has been deprecated in favor of a ' + + 'custom data adapter that overrides the `query` method. Support ' + + 'will be removed for the `query` option in future versions of ' + + 'Select2.' + ); + } + + decorated.call(this, $element, options); + } + + Query.prototype.query = function (_, params, callback) { + params.callback = callback; + + var query = this.options.get('query'); + + query.call(null, params); + }; + + return Query; +}); + +S2.define('select2/dropdown/attachContainer',[ + +], function () { + function AttachContainer (decorated, $element, options) { + decorated.call(this, $element, options); + } + + AttachContainer.prototype.position = + function (decorated, $dropdown, $container) { + var $dropdownContainer = $container.find('.dropdown-wrapper'); + $dropdownContainer.append($dropdown); + + $dropdown.addClass('select2-dropdown--below'); + $container.addClass('select2-container--below'); + }; + + return AttachContainer; +}); + +S2.define('select2/dropdown/stopPropagation',[ + +], function () { + function StopPropagation () { } + + StopPropagation.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + var stoppedEvents = [ + 'blur', + 'change', + 'click', + 'dblclick', + 'focus', + 'focusin', + 'focusout', + 'input', + 'keydown', + 'keyup', + 'keypress', + 'mousedown', + 'mouseenter', + 'mouseleave', + 'mousemove', + 'mouseover', + 'mouseup', + 'search', + 'touchend', + 'touchstart' + ]; + + this.$dropdown.on(stoppedEvents.join(' '), function (evt) { + evt.stopPropagation(); + }); + }; + + return StopPropagation; +}); + +S2.define('select2/selection/stopPropagation',[ + +], function () { + function StopPropagation () { } + + StopPropagation.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + var stoppedEvents = [ + 'blur', + 'change', + 'click', + 'dblclick', + 'focus', + 'focusin', + 'focusout', + 'input', + 'keydown', + 'keyup', + 'keypress', + 'mousedown', + 'mouseenter', + 'mouseleave', + 'mousemove', + 'mouseover', + 'mouseup', + 'search', + 'touchend', + 'touchstart' + ]; + + this.$selection.on(stoppedEvents.join(' '), function (evt) { + evt.stopPropagation(); + }); + }; + + return StopPropagation; +}); + +/*! + * jQuery Mousewheel 3.1.13 + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + */ + +(function (factory) { + if ( typeof S2.define === 'function' && S2.define.amd ) { + // AMD. Register as an anonymous module. + S2.define('jquery-mousewheel',['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + + var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], + toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? + ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; + + if ( $.event.fixHooks ) { + for ( var i = toFix.length; i; ) { + $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; + } + } + + var special = $.event.special.mousewheel = { + version: '3.1.12', + + setup: function() { + if ( this.addEventListener ) { + for ( var i = toBind.length; i; ) { + this.addEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = handler; + } + // Store the line height and page height for this particular element + $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); + $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); + }, + + teardown: function() { + if ( this.removeEventListener ) { + for ( var i = toBind.length; i; ) { + this.removeEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = null; + } + // Clean up the data we added to the element + $.removeData(this, 'mousewheel-line-height'); + $.removeData(this, 'mousewheel-page-height'); + }, + + getLineHeight: function(elem) { + var $elem = $(elem), + $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); + if (!$parent.length) { + $parent = $('body'); + } + return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; + }, + + getPageHeight: function(elem) { + return $(elem).height(); + }, + + settings: { + adjustOldDeltas: true, // see shouldAdjustOldDeltas() below + normalizeOffset: true // calls getBoundingClientRect for each event + } + }; + + $.fn.extend({ + mousewheel: function(fn) { + return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); + }, + + unmousewheel: function(fn) { + return this.unbind('mousewheel', fn); + } + }); + + + function handler(event) { + var orgEvent = event || window.event, + args = slice.call(arguments, 1), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0, + offsetX = 0, + offsetY = 0; + event = $.event.fix(orgEvent); + event.type = 'mousewheel'; + + // Old school scrollwheel delta + if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } + if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } + if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } + if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; + + // New school wheel delta (wheel event) + if ( 'deltaY' in orgEvent ) { + deltaY = orgEvent.deltaY * -1; + delta = deltaY; + } + if ( 'deltaX' in orgEvent ) { + deltaX = orgEvent.deltaX; + if ( deltaY === 0 ) { delta = deltaX * -1; } + } + + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { return; } + + // Need to convert lines and pages to pixels if we aren't already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data(this, 'mousewheel-line-height'); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data(this, 'mousewheel-page-height'); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } + + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); + + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); + deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); + deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); + + // Normalise offsetX and offsetY properties + if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { + var boundingRect = this.getBoundingClientRect(); + offsetX = event.clientX - boundingRect.left; + offsetY = event.clientY - boundingRect.top; + } + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + event.offsetX = offsetX; + event.offsetY = offsetY; + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; + + // Add event and delta to the front of the arguments + args.unshift(event, delta, deltaX, deltaY); + + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } + nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); + + return ($.event.dispatch || $.event.handle).apply(this, args); + } + + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas(orgEvent, absDelta) { + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; + } + +})); + +S2.define('jquery.select2',[ + 'jquery', + 'jquery-mousewheel', + + './select2/core', + './select2/defaults' +], function ($, _, Select2, Defaults) { + if ($.fn.select2 == null) { + // All methods that should return the element + var thisMethods = ['open', 'close', 'destroy']; + + $.fn.select2 = function (options) { + options = options || {}; + + if (typeof options === 'object') { + this.each(function () { + var instanceOptions = $.extend(true, {}, options); + + var instance = new Select2($(this), instanceOptions); + }); + + return this; + } else if (typeof options === 'string') { + var ret; + var args = Array.prototype.slice.call(arguments, 1); + + this.each(function () { + var instance = $(this).data('select2'); + + if (instance == null && window.console && console.error) { + console.error( + 'The select2(\'' + options + '\') method was called on an ' + + 'element that is not using Select2.' + ); + } + + ret = instance[options].apply(instance, args); + }); + + // Check if we should be returning `this` + if ($.inArray(options, thisMethods) > -1) { + return this; + } + + return ret; + } else { + throw new Error('Invalid arguments for Select2: ' + options); + } + }; + } + + if ($.fn.select2.defaults == null) { + $.fn.select2.defaults = Defaults; + } + + return Select2; +}); + + // Return the AMD loader configuration so it can be used outside of this file + return { + define: S2.define, + require: S2.require + }; +}()); + + // Autoload the jQuery bindings + // We know that all of the modules exist above this, so we're safe + var select2 = S2.require('jquery.select2'); + + // Hold the AMD module references on the jQuery function that was just loaded + // This allows Select2 to use the internal loader outside of this file, such + // as in the language files. + jQuery.fn.select2.amd = S2; + + // Return the Select2 instance for anyone who is importing it. + return select2; +})); diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js new file mode 100644 index 0000000..684edf3 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">×</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change"); +if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null; +},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&(f=d(this),null!=f&&g.push(f))})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;return this._isInitialized?void b.call(this,c):void this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery"],function(a){function b(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return b.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},b.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},b.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},b.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},b.prototype.addOptions=function(b,c){var d=a.map(c,function(b){return a.data(b[0],"data")});this._currentData.push.apply(this._currentData,d)},b}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f],h=b(c.term,g.text,g);h||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c;var d=this.options.get("query");d.call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){var d=c.find(".dropdown-wrapper");d.append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}); \ No newline at end of file diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt new file mode 100644 index 0000000..341652a --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2007-2012 Steven Levithan <http://xregexp.com/> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js new file mode 100755 index 0000000..7a4454e --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js @@ -0,0 +1,2308 @@ + +/***** xregexp.js *****/ + +/*! + * XRegExp v2.0.0 + * (c) 2007-2012 Steven Levithan <http://xregexp.com/> + * MIT License + */ + +/** + * XRegExp provides augmented, extensible JavaScript regular expressions. You get new syntax, + * flags, and methods beyond what browsers support natively. XRegExp is also a regex utility belt + * with tools to make your client-side grepping simpler and more powerful, while freeing you from + * worrying about pesky cross-browser inconsistencies and the dubious `lastIndex` property. See + * XRegExp's documentation (http://xregexp.com/) for more details. + * @module xregexp + * @requires N/A + */ +var XRegExp; + +// Avoid running twice; that would reset tokens and could break references to native globals +XRegExp = XRegExp || (function (undef) { + "use strict"; + +/*-------------------------------------- + * Private variables + *------------------------------------*/ + + var self, + addToken, + add, + +// Optional features; can be installed and uninstalled + features = { + natives: false, + extensibility: false + }, + +// Store native methods to use and restore ("native" is an ES3 reserved keyword) + nativ = { + exec: RegExp.prototype.exec, + test: RegExp.prototype.test, + match: String.prototype.match, + replace: String.prototype.replace, + split: String.prototype.split + }, + +// Storage for fixed/extended native methods + fixed = {}, + +// Storage for cached regexes + cache = {}, + +// Storage for addon tokens + tokens = [], + +// Token scopes + defaultScope = "default", + classScope = "class", + +// Regexes that match native regex syntax + nativeTokens = { + // Any native multicharacter token in default scope (includes octals, excludes character classes) + "default": /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/, + // Any native multicharacter token in character class scope (includes octals) + "class": /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/ + }, + +// Any backreference in replacement strings + replacementToken = /\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g, + +// Any character with a later instance in the string + duplicateFlags = /([\s\S])(?=[\s\S]*\1)/g, + +// Any greedy/lazy quantifier + quantifier = /^(?:[?*+]|{\d+(?:,\d*)?})\??/, + +// Check for correct `exec` handling of nonparticipating capturing groups + compliantExecNpcg = nativ.exec.call(/()??/, "")[1] === undef, + +// Check for flag y support (Firefox 3+) + hasNativeY = RegExp.prototype.sticky !== undef, + +// Used to kill infinite recursion during XRegExp construction + isInsideConstructor = false, + +// Storage for known flags, including addon flags + registeredFlags = "gim" + (hasNativeY ? "y" : ""); + +/*-------------------------------------- + * Private helper functions + *------------------------------------*/ + +/** + * Attaches XRegExp.prototype properties and named capture supporting data to a regex object. + * @private + * @param {RegExp} regex Regex to augment. + * @param {Array} captureNames Array with capture names, or null. + * @param {Boolean} [isNative] Whether the regex was created by `RegExp` rather than `XRegExp`. + * @returns {RegExp} Augmented regex. + */ + function augment(regex, captureNames, isNative) { + var p; + // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value + for (p in self.prototype) { + if (self.prototype.hasOwnProperty(p)) { + regex[p] = self.prototype[p]; + } + } + regex.xregexp = {captureNames: captureNames, isNative: !!isNative}; + return regex; + } + +/** + * Returns native `RegExp` flags used by a regex object. + * @private + * @param {RegExp} regex Regex to check. + * @returns {String} Native flags in use. + */ + function getNativeFlags(regex) { + //return nativ.exec.call(/\/([a-z]*)$/i, String(regex))[1]; + return (regex.global ? "g" : "") + + (regex.ignoreCase ? "i" : "") + + (regex.multiline ? "m" : "") + + (regex.extended ? "x" : "") + // Proposed for ES6, included in AS3 + (regex.sticky ? "y" : ""); // Proposed for ES6, included in Firefox 3+ + } + +/** + * Copies a regex object while preserving special properties for named capture and augmenting with + * `XRegExp.prototype` methods. The copy has a fresh `lastIndex` property (set to zero). Allows + * adding and removing flags while copying the regex. + * @private + * @param {RegExp} regex Regex to copy. + * @param {String} [addFlags] Flags to be added while copying the regex. + * @param {String} [removeFlags] Flags to be removed while copying the regex. + * @returns {RegExp} Copy of the provided regex, possibly with modified flags. + */ + function copy(regex, addFlags, removeFlags) { + if (!self.isRegExp(regex)) { + throw new TypeError("type RegExp expected"); + } + var flags = nativ.replace.call(getNativeFlags(regex) + (addFlags || ""), duplicateFlags, ""); + if (removeFlags) { + // Would need to escape `removeFlags` if this was public + flags = nativ.replace.call(flags, new RegExp("[" + removeFlags + "]+", "g"), ""); + } + if (regex.xregexp && !regex.xregexp.isNative) { + // Compiling the current (rather than precompilation) source preserves the effects of nonnative source flags + regex = augment(self(regex.source, flags), + regex.xregexp.captureNames ? regex.xregexp.captureNames.slice(0) : null); + } else { + // Augment with `XRegExp.prototype` methods, but use native `RegExp` (avoid searching for special tokens) + regex = augment(new RegExp(regex.source, flags), null, true); + } + return regex; + } + +/* + * Returns the last index at which a given value can be found in an array, or `-1` if it's not + * present. The array is searched backwards. + * @private + * @param {Array} array Array to search. + * @param {*} value Value to locate in the array. + * @returns {Number} Last zero-based index at which the item is found, or -1. + */ + function lastIndexOf(array, value) { + var i = array.length; + if (Array.prototype.lastIndexOf) { + return array.lastIndexOf(value); // Use the native method if available + } + while (i--) { + if (array[i] === value) { + return i; + } + } + return -1; + } + +/** + * Determines whether an object is of the specified type. + * @private + * @param {*} value Object to check. + * @param {String} type Type to check for, in lowercase. + * @returns {Boolean} Whether the object matches the type. + */ + function isType(value, type) { + return Object.prototype.toString.call(value).toLowerCase() === "[object " + type + "]"; + } + +/** + * Prepares an options object from the given value. + * @private + * @param {String|Object} value Value to convert to an options object. + * @returns {Object} Options object. + */ + function prepareOptions(value) { + value = value || {}; + if (value === "all" || value.all) { + value = {natives: true, extensibility: true}; + } else if (isType(value, "string")) { + value = self.forEach(value, /[^\s,]+/, function (m) { + this[m] = true; + }, {}); + } + return value; + } + +/** + * Runs built-in/custom tokens in reverse insertion order, until a match is found. + * @private + * @param {String} pattern Original pattern from which an XRegExp object is being built. + * @param {Number} pos Position to search for tokens within `pattern`. + * @param {Number} scope Current regex scope. + * @param {Object} context Context object assigned to token handler functions. + * @returns {Object} Object with properties `output` (the substitution string returned by the + * successful token handler) and `match` (the token's match array), or null. + */ + function runTokens(pattern, pos, scope, context) { + var i = tokens.length, + result = null, + match, + t; + // Protect against constructing XRegExps within token handler and trigger functions + isInsideConstructor = true; + // Must reset `isInsideConstructor`, even if a `trigger` or `handler` throws + try { + while (i--) { // Run in reverse order + t = tokens[i]; + if ((t.scope === "all" || t.scope === scope) && (!t.trigger || t.trigger.call(context))) { + t.pattern.lastIndex = pos; + match = fixed.exec.call(t.pattern, pattern); // Fixed `exec` here allows use of named backreferences, etc. + if (match && match.index === pos) { + result = { + output: t.handler.call(context, match, scope), + match: match + }; + break; + } + } + } + } catch (err) { + throw err; + } finally { + isInsideConstructor = false; + } + return result; + } + +/** + * Enables or disables XRegExp syntax and flag extensibility. + * @private + * @param {Boolean} on `true` to enable; `false` to disable. + */ + function setExtensibility(on) { + self.addToken = addToken[on ? "on" : "off"]; + features.extensibility = on; + } + +/** + * Enables or disables native method overrides. + * @private + * @param {Boolean} on `true` to enable; `false` to disable. + */ + function setNatives(on) { + RegExp.prototype.exec = (on ? fixed : nativ).exec; + RegExp.prototype.test = (on ? fixed : nativ).test; + String.prototype.match = (on ? fixed : nativ).match; + String.prototype.replace = (on ? fixed : nativ).replace; + String.prototype.split = (on ? fixed : nativ).split; + features.natives = on; + } + +/*-------------------------------------- + * Constructor + *------------------------------------*/ + +/** + * Creates an extended regular expression object for matching text with a pattern. Differs from a + * native regular expression in that additional syntax and flags are supported. The returned object + * is in fact a native `RegExp` and works with all native methods. + * @class XRegExp + * @constructor + * @param {String|RegExp} pattern Regex pattern string, or an existing `RegExp` object to copy. + * @param {String} [flags] Any combination of flags: + * <li>`g` - global + * <li>`i` - ignore case + * <li>`m` - multiline anchors + * <li>`n` - explicit capture + * <li>`s` - dot matches all (aka singleline) + * <li>`x` - free-spacing and line comments (aka extended) + * <li>`y` - sticky (Firefox 3+ only) + * Flags cannot be provided when constructing one `RegExp` from another. + * @returns {RegExp} Extended regular expression object. + * @example + * + * // With named capture and flag x + * date = XRegExp('(?<year> [0-9]{4}) -? # year \n\ + * (?<month> [0-9]{2}) -? # month \n\ + * (?<day> [0-9]{2}) # day ', 'x'); + * + * // Passing a regex object to copy it. The copy maintains special properties for named capture, + * // is augmented with `XRegExp.prototype` methods, and has a fresh `lastIndex` property (set to + * // zero). Native regexes are not recompiled using XRegExp syntax. + * XRegExp(/regex/); + */ + self = function (pattern, flags) { + if (self.isRegExp(pattern)) { + if (flags !== undef) { + throw new TypeError("can't supply flags when constructing one RegExp from another"); + } + return copy(pattern); + } + // Tokens become part of the regex construction process, so protect against infinite recursion + // when an XRegExp is constructed within a token handler function + if (isInsideConstructor) { + throw new Error("can't call the XRegExp constructor within token definition functions"); + } + + var output = [], + scope = defaultScope, + tokenContext = { + hasNamedCapture: false, + captureNames: [], + hasFlag: function (flag) { + return flags.indexOf(flag) > -1; + } + }, + pos = 0, + tokenResult, + match, + chr; + pattern = pattern === undef ? "" : String(pattern); + flags = flags === undef ? "" : String(flags); + + if (nativ.match.call(flags, duplicateFlags)) { // Don't use test/exec because they would update lastIndex + throw new SyntaxError("invalid duplicate regular expression flag"); + } + // Strip/apply leading mode modifier with any combination of flags except g or y: (?imnsx) + pattern = nativ.replace.call(pattern, /^\(\?([\w$]+)\)/, function ($0, $1) { + if (nativ.test.call(/[gy]/, $1)) { + throw new SyntaxError("can't use flag g or y in mode modifier"); + } + flags = nativ.replace.call(flags + $1, duplicateFlags, ""); + return ""; + }); + self.forEach(flags, /[\s\S]/, function (m) { + if (registeredFlags.indexOf(m[0]) < 0) { + throw new SyntaxError("invalid regular expression flag " + m[0]); + } + }); + + while (pos < pattern.length) { + // Check for custom tokens at the current position + tokenResult = runTokens(pattern, pos, scope, tokenContext); + if (tokenResult) { + output.push(tokenResult.output); + pos += (tokenResult.match[0].length || 1); + } else { + // Check for native tokens (except character classes) at the current position + match = nativ.exec.call(nativeTokens[scope], pattern.slice(pos)); + if (match) { + output.push(match[0]); + pos += match[0].length; + } else { + chr = pattern.charAt(pos); + if (chr === "[") { + scope = classScope; + } else if (chr === "]") { + scope = defaultScope; + } + // Advance position by one character + output.push(chr); + ++pos; + } + } + } + + return augment(new RegExp(output.join(""), nativ.replace.call(flags, /[^gimy]+/g, "")), + tokenContext.hasNamedCapture ? tokenContext.captureNames : null); + }; + +/*-------------------------------------- + * Public methods/properties + *------------------------------------*/ + +// Installed and uninstalled states for `XRegExp.addToken` + addToken = { + on: function (regex, handler, options) { + options = options || {}; + if (regex) { + tokens.push({ + pattern: copy(regex, "g" + (hasNativeY ? "y" : "")), + handler: handler, + scope: options.scope || defaultScope, + trigger: options.trigger || null + }); + } + // Providing `customFlags` with null `regex` and `handler` allows adding flags that do + // nothing, but don't throw an error + if (options.customFlags) { + registeredFlags = nativ.replace.call(registeredFlags + options.customFlags, duplicateFlags, ""); + } + }, + off: function () { + throw new Error("extensibility must be installed before using addToken"); + } + }; + +/** + * Extends or changes XRegExp syntax and allows custom flags. This is used internally and can be + * used to create XRegExp addons. `XRegExp.install('extensibility')` must be run before calling + * this function, or an error is thrown. If more than one token can match the same string, the last + * added wins. + * @memberOf XRegExp + * @param {RegExp} regex Regex object that matches the new token. + * @param {Function} handler Function that returns a new pattern string (using native regex syntax) + * to replace the matched token within all future XRegExp regexes. Has access to persistent + * properties of the regex being built, through `this`. Invoked with two arguments: + * <li>The match array, with named backreference properties. + * <li>The regex scope where the match was found. + * @param {Object} [options] Options object with optional properties: + * <li>`scope` {String} Scopes where the token applies: 'default', 'class', or 'all'. + * <li>`trigger` {Function} Function that returns `true` when the token should be applied; e.g., + * if a flag is set. If `false` is returned, the matched string can be matched by other tokens. + * Has access to persistent properties of the regex being built, through `this` (including + * function `this.hasFlag`). + * <li>`customFlags` {String} Nonnative flags used by the token's handler or trigger functions. + * Prevents XRegExp from throwing an invalid flag error when the specified flags are used. + * @example + * + * // Basic usage: Adds \a for ALERT character + * XRegExp.addToken( + * /\\a/, + * function () {return '\\x07';}, + * {scope: 'all'} + * ); + * XRegExp('\\a[\\a-\\n]+').test('\x07\n\x07'); // -> true + */ + self.addToken = addToken.off; + +/** + * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with + * the same pattern and flag combination, the cached copy is returned. + * @memberOf XRegExp + * @param {String} pattern Regex pattern string. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Cached XRegExp object. + * @example + * + * while (match = XRegExp.cache('.', 'gs').exec(str)) { + * // The regex is compiled once only + * } + */ + self.cache = function (pattern, flags) { + var key = pattern + "/" + (flags || ""); + return cache[key] || (cache[key] = self(pattern, flags)); + }; + +/** + * Escapes any regular expression metacharacters, for use when matching literal strings. The result + * can safely be used at any point within a regex that uses any flags. + * @memberOf XRegExp + * @param {String} str String to escape. + * @returns {String} String with regex metacharacters escaped. + * @example + * + * XRegExp.escape('Escaped? <.>'); + * // -> 'Escaped\?\ <\.>' + */ + self.escape = function (str) { + return nativ.replace.call(str, /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + }; + +/** + * Executes a regex search in a specified string. Returns a match array or `null`. If the provided + * regex uses named capture, named backreference properties are included on the match array. + * Optional `pos` and `sticky` arguments specify the search start position, and whether the match + * must start at the specified position only. The `lastIndex` property of the provided regex is not + * used, but is updated for compatibility. Also fixes browser bugs compared to the native + * `RegExp.prototype.exec` and can be used reliably cross-browser. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Number} [pos=0] Zero-based index at which to start the search. + * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position + * only. The string `'sticky'` is accepted as an alternative to `true`. + * @returns {Array} Match array with named backreference properties, or null. + * @example + * + * // Basic use, with named backreference + * var match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})')); + * match.hex; // -> '2620' + * + * // With pos and sticky, in a loop + * var pos = 2, result = [], match; + * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d)>/, pos, 'sticky')) { + * result.push(match[1]); + * pos = match.index + match[0].length; + * } + * // result -> ['2', '3', '4'] + */ + self.exec = function (str, regex, pos, sticky) { + var r2 = copy(regex, "g" + (sticky && hasNativeY ? "y" : ""), (sticky === false ? "y" : "")), + match; + r2.lastIndex = pos = pos || 0; + match = fixed.exec.call(r2, str); // Fixed `exec` required for `lastIndex` fix, etc. + if (sticky && match && match.index !== pos) { + match = null; + } + if (regex.global) { + regex.lastIndex = match ? r2.lastIndex : 0; + } + return match; + }; + +/** + * Executes a provided function once per regex match. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Function} callback Function to execute for each match. Invoked with four arguments: + * <li>The match array, with named backreference properties. + * <li>The zero-based match index. + * <li>The string being traversed. + * <li>The regex object being used to traverse the string. + * @param {*} [context] Object to use as `this` when executing `callback`. + * @returns {*} Provided `context` object. + * @example + * + * // Extracts every other digit from a string + * XRegExp.forEach('1a2345', /\d/, function (match, i) { + * if (i % 2) this.push(+match[0]); + * }, []); + * // -> [2, 4] + */ + self.forEach = function (str, regex, callback, context) { + var pos = 0, + i = -1, + match; + while ((match = self.exec(str, regex, pos))) { + callback.call(context, match, ++i, str, regex); + pos = match.index + (match[0].length || 1); + } + return context; + }; + +/** + * Copies a regex object and adds flag `g`. The copy maintains special properties for named + * capture, is augmented with `XRegExp.prototype` methods, and has a fresh `lastIndex` property + * (set to zero). Native regexes are not recompiled using XRegExp syntax. + * @memberOf XRegExp + * @param {RegExp} regex Regex to globalize. + * @returns {RegExp} Copy of the provided regex with flag `g` added. + * @example + * + * var globalCopy = XRegExp.globalize(/regex/); + * globalCopy.global; // -> true + */ + self.globalize = function (regex) { + return copy(regex, "g"); + }; + +/** + * Installs optional features according to the specified options. + * @memberOf XRegExp + * @param {Object|String} options Options object or string. + * @example + * + * // With an options object + * XRegExp.install({ + * // Overrides native regex methods with fixed/extended versions that support named + * // backreferences and fix numerous cross-browser bugs + * natives: true, + * + * // Enables extensibility of XRegExp syntax and flags + * extensibility: true + * }); + * + * // With an options string + * XRegExp.install('natives extensibility'); + * + * // Using a shortcut to install all optional features + * XRegExp.install('all'); + */ + self.install = function (options) { + options = prepareOptions(options); + if (!features.natives && options.natives) { + setNatives(true); + } + if (!features.extensibility && options.extensibility) { + setExtensibility(true); + } + }; + +/** + * Checks whether an individual optional feature is installed. + * @memberOf XRegExp + * @param {String} feature Name of the feature to check. One of: + * <li>`natives` + * <li>`extensibility` + * @returns {Boolean} Whether the feature is installed. + * @example + * + * XRegExp.isInstalled('natives'); + */ + self.isInstalled = function (feature) { + return !!(features[feature]); + }; + +/** + * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes + * created in another frame, when `instanceof` and `constructor` checks would fail. + * @memberOf XRegExp + * @param {*} value Object to check. + * @returns {Boolean} Whether the object is a `RegExp` object. + * @example + * + * XRegExp.isRegExp('string'); // -> false + * XRegExp.isRegExp(/regex/i); // -> true + * XRegExp.isRegExp(RegExp('^', 'm')); // -> true + * XRegExp.isRegExp(XRegExp('(?s).')); // -> true + */ + self.isRegExp = function (value) { + return isType(value, "regexp"); + }; + +/** + * Retrieves the matches from searching a string using a chain of regexes that successively search + * within previous matches. The provided `chain` array can contain regexes and objects with `regex` + * and `backref` properties. When a backreference is specified, the named or numbered backreference + * is passed forward to the next regex or returned. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {Array} chain Regexes that each search for matches within preceding results. + * @returns {Array} Matches by the last regex in the chain, or an empty array. + * @example + * + * // Basic usage; matches numbers within <b> tags + * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [ + * XRegExp('(?is)<b>.*?</b>'), + * /\d+/ + * ]); + * // -> ['2', '4', '56'] + * + * // Passing forward and returning specific backreferences + * html = '<a href="http://xregexp.com/api/">XRegExp</a>\ + * <a href="http://www.google.com/">Google</a>'; + * XRegExp.matchChain(html, [ + * {regex: /<a href="([^"]+)">/i, backref: 1}, + * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'} + * ]); + * // -> ['xregexp.com', 'www.google.com'] + */ + self.matchChain = function (str, chain) { + return (function recurseChain(values, level) { + var item = chain[level].regex ? chain[level] : {regex: chain[level]}, + matches = [], + addMatch = function (match) { + matches.push(item.backref ? (match[item.backref] || "") : match[0]); + }, + i; + for (i = 0; i < values.length; ++i) { + self.forEach(values[i], item.regex, addMatch); + } + return ((level === chain.length - 1) || !matches.length) ? + matches : + recurseChain(matches, level + 1); + }([str], 0)); + }; + +/** + * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string + * or regex, and the replacement can be a string or a function to be called for each match. To + * perform a global search and replace, use the optional `scope` argument or include flag `g` if + * using a regex. Replacement strings can use `${n}` for named and numbered backreferences. + * Replacement functions can use named backreferences via `arguments[0].name`. Also fixes browser + * bugs compared to the native `String.prototype.replace` and can be used reliably cross-browser. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp|String} search Search pattern to be replaced. + * @param {String|Function} replacement Replacement string or a function invoked to create it. + * Replacement strings can include special replacement syntax: + * <li>$$ - Inserts a literal '$'. + * <li>$&, $0 - Inserts the matched substring. + * <li>$` - Inserts the string that precedes the matched substring (left context). + * <li>$' - Inserts the string that follows the matched substring (right context). + * <li>$n, $nn - Where n/nn are digits referencing an existent capturing group, inserts + * backreference n/nn. + * <li>${n} - Where n is a name or any number of digits that reference an existent capturing + * group, inserts backreference n. + * Replacement functions are invoked with three or more arguments: + * <li>The matched substring (corresponds to $& above). Named backreferences are accessible as + * properties of this first argument. + * <li>0..n arguments, one for each backreference (corresponding to $1, $2, etc. above). + * <li>The zero-based index of the match within the total search string. + * <li>The total string being searched. + * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not + * explicitly specified and using a regex with flag `g`, `scope` is 'all'. + * @returns {String} New string with one or all matches replaced. + * @example + * + * // Regex search, using named backreferences in replacement string + * var name = XRegExp('(?<first>\\w+) (?<last>\\w+)'); + * XRegExp.replace('John Smith', name, '${last}, ${first}'); + * // -> 'Smith, John' + * + * // Regex search, using named backreferences in replacement function + * XRegExp.replace('John Smith', name, function (match) { + * return match.last + ', ' + match.first; + * }); + * // -> 'Smith, John' + * + * // Global string search/replacement + * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all'); + * // -> 'XRegExp builds XRegExps' + */ + self.replace = function (str, search, replacement, scope) { + var isRegex = self.isRegExp(search), + search2 = search, + result; + if (isRegex) { + if (scope === undef && search.global) { + scope = "all"; // Follow flag g when `scope` isn't explicit + } + // Note that since a copy is used, `search`'s `lastIndex` isn't updated *during* replacement iterations + search2 = copy(search, scope === "all" ? "g" : "", scope === "all" ? "" : "g"); + } else if (scope === "all") { + search2 = new RegExp(self.escape(String(search)), "g"); + } + result = fixed.replace.call(String(str), search2, replacement); // Fixed `replace` required for named backreferences, etc. + if (isRegex && search.global) { + search.lastIndex = 0; // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + } + return result; + }; + +/** + * Splits a string into an array of strings using a regex or string separator. Matches of the + * separator are not included in the result array. However, if `separator` is a regex that contains + * capturing groups, backreferences are spliced into the result each time `separator` is matched. + * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably + * cross-browser. + * @memberOf XRegExp + * @param {String} str String to split. + * @param {RegExp|String} separator Regex or string to use for separating the string. + * @param {Number} [limit] Maximum number of items to include in the result array. + * @returns {Array} Array of substrings. + * @example + * + * // Basic use + * XRegExp.split('a b c', ' '); + * // -> ['a', 'b', 'c'] + * + * // With limit + * XRegExp.split('a b c', ' ', 2); + * // -> ['a', 'b'] + * + * // Backreferences in result array + * XRegExp.split('..word1..', /([a-z]+)(\d+)/i); + * // -> ['..', 'word', '1', '..'] + */ + self.split = function (str, separator, limit) { + return fixed.split.call(str, separator, limit); + }; + +/** + * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and + * `sticky` arguments specify the search start position, and whether the match must start at the + * specified position only. The `lastIndex` property of the provided regex is not used, but is + * updated for compatibility. Also fixes browser bugs compared to the native + * `RegExp.prototype.test` and can be used reliably cross-browser. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Number} [pos=0] Zero-based index at which to start the search. + * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position + * only. The string `'sticky'` is accepted as an alternative to `true`. + * @returns {Boolean} Whether the regex matched the provided value. + * @example + * + * // Basic use + * XRegExp.test('abc', /c/); // -> true + * + * // With pos and sticky + * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false + */ + self.test = function (str, regex, pos, sticky) { + // Do this the easy way :-) + return !!self.exec(str, regex, pos, sticky); + }; + +/** + * Uninstalls optional features according to the specified options. + * @memberOf XRegExp + * @param {Object|String} options Options object or string. + * @example + * + * // With an options object + * XRegExp.uninstall({ + * // Restores native regex methods + * natives: true, + * + * // Disables additional syntax and flag extensions + * extensibility: true + * }); + * + * // With an options string + * XRegExp.uninstall('natives extensibility'); + * + * // Using a shortcut to uninstall all optional features + * XRegExp.uninstall('all'); + */ + self.uninstall = function (options) { + options = prepareOptions(options); + if (features.natives && options.natives) { + setNatives(false); + } + if (features.extensibility && options.extensibility) { + setExtensibility(false); + } + }; + +/** + * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as + * regex objects or strings. Metacharacters are escaped in patterns provided as strings. + * Backreferences in provided regex objects are automatically renumbered to work correctly. Native + * flags used by provided regexes are ignored in favor of the `flags` argument. + * @memberOf XRegExp + * @param {Array} patterns Regexes and strings to combine. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Union of the provided regexes and strings. + * @example + * + * XRegExp.union(['a+b*c', /(dogs)\1/, /(cats)\1/], 'i'); + * // -> /a\+b\*c|(dogs)\1|(cats)\2/i + * + * XRegExp.union([XRegExp('(?<pet>dogs)\\k<pet>'), XRegExp('(?<pet>cats)\\k<pet>')]); + * // -> XRegExp('(?<pet>dogs)\\k<pet>|(?<pet>cats)\\k<pet>') + */ + self.union = function (patterns, flags) { + var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, + numCaptures = 0, + numPriorCaptures, + captureNames, + rewrite = function (match, paren, backref) { + var name = captureNames[numCaptures - numPriorCaptures]; + if (paren) { // Capturing group + ++numCaptures; + if (name) { // If the current capture has a name + return "(?<" + name + ">"; + } + } else if (backref) { // Backreference + return "\\" + (+backref + numPriorCaptures); + } + return match; + }, + output = [], + pattern, + i; + if (!(isType(patterns, "array") && patterns.length)) { + throw new TypeError("patterns must be a nonempty array"); + } + for (i = 0; i < patterns.length; ++i) { + pattern = patterns[i]; + if (self.isRegExp(pattern)) { + numPriorCaptures = numCaptures; + captureNames = (pattern.xregexp && pattern.xregexp.captureNames) || []; + // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns + // are independently valid; helps keep this simple. Named captures are put back + output.push(self(pattern.source).source.replace(parts, rewrite)); + } else { + output.push(self.escape(pattern)); + } + } + return self(output.join("|"), flags); + }; + +/** + * The XRegExp version number. + * @static + * @memberOf XRegExp + * @type String + */ + self.version = "2.0.0"; + +/*-------------------------------------- + * Fixed/extended native methods + *------------------------------------*/ + +/** + * Adds named capture support (with backreferences returned as `result.name`), and fixes browser + * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to + * override the native method. Use via `XRegExp.exec` without overriding natives. + * @private + * @param {String} str String to search. + * @returns {Array} Match array with named backreference properties, or null. + */ + fixed.exec = function (str) { + var match, name, r2, origLastIndex, i; + if (!this.global) { + origLastIndex = this.lastIndex; + } + match = nativ.exec.apply(this, arguments); + if (match) { + // Fix browsers whose `exec` methods don't consistently return `undefined` for + // nonparticipating capturing groups + if (!compliantExecNpcg && match.length > 1 && lastIndexOf(match, "") > -1) { + r2 = new RegExp(this.source, nativ.replace.call(getNativeFlags(this), "g", "")); + // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed + // matching due to characters outside the match + nativ.replace.call(String(str).slice(match.index), r2, function () { + var i; + for (i = 1; i < arguments.length - 2; ++i) { + if (arguments[i] === undef) { + match[i] = undef; + } + } + }); + } + // Attach named capture properties + if (this.xregexp && this.xregexp.captureNames) { + for (i = 1; i < match.length; ++i) { + name = this.xregexp.captureNames[i - 1]; + if (name) { + match[name] = match[i]; + } + } + } + // Fix browsers that increment `lastIndex` after zero-length matches + if (this.global && !match[0].length && (this.lastIndex > match.index)) { + this.lastIndex = match.index; + } + } + if (!this.global) { + this.lastIndex = origLastIndex; // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + } + return match; + }; + +/** + * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')` + * uses this to override the native method. + * @private + * @param {String} str String to search. + * @returns {Boolean} Whether the regex matched the provided value. + */ + fixed.test = function (str) { + // Do this the easy way :-) + return !!fixed.exec.call(this, str); + }; + +/** + * Adds named capture support (with backreferences returned as `result.name`), and fixes browser + * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to + * override the native method. + * @private + * @param {RegExp} regex Regex to search with. + * @returns {Array} If `regex` uses flag g, an array of match strings or null. Without flag g, the + * result of calling `regex.exec(this)`. + */ + fixed.match = function (regex) { + if (!self.isRegExp(regex)) { + regex = new RegExp(regex); // Use native `RegExp` + } else if (regex.global) { + var result = nativ.match.apply(this, arguments); + regex.lastIndex = 0; // Fixes IE bug + return result; + } + return fixed.exec.call(regex, this); + }; + +/** + * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and + * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes + * browser bugs in replacement text syntax when performing a replacement using a nonregex search + * value, and the value of a replacement regex's `lastIndex` property during replacement iterations + * and upon completion. Note that this doesn't support SpiderMonkey's proprietary third (`flags`) + * argument. Calling `XRegExp.install('natives')` uses this to override the native method. Use via + * `XRegExp.replace` without overriding natives. + * @private + * @param {RegExp|String} search Search pattern to be replaced. + * @param {String|Function} replacement Replacement string or a function invoked to create it. + * @returns {String} New string with one or all matches replaced. + */ + fixed.replace = function (search, replacement) { + var isRegex = self.isRegExp(search), captureNames, result, str, origLastIndex; + if (isRegex) { + if (search.xregexp) { + captureNames = search.xregexp.captureNames; + } + if (!search.global) { + origLastIndex = search.lastIndex; + } + } else { + search += ""; + } + if (isType(replacement, "function")) { + result = nativ.replace.call(String(this), search, function () { + var args = arguments, i; + if (captureNames) { + // Change the `arguments[0]` string primitive to a `String` object that can store properties + args[0] = new String(args[0]); + // Store named backreferences on the first argument + for (i = 0; i < captureNames.length; ++i) { + if (captureNames[i]) { + args[0][captureNames[i]] = args[i + 1]; + } + } + } + // Update `lastIndex` before calling `replacement`. + // Fixes IE, Chrome, Firefox, Safari bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1) + if (isRegex && search.global) { + search.lastIndex = args[args.length - 2] + args[0].length; + } + return replacement.apply(null, args); + }); + } else { + str = String(this); // Ensure `args[args.length - 1]` will be a string when given nonstring `this` + result = nativ.replace.call(str, search, function () { + var args = arguments; // Keep this function's `arguments` available through closure + return nativ.replace.call(String(replacement), replacementToken, function ($0, $1, $2) { + var n; + // Named or numbered backreference with curly brackets + if ($1) { + /* XRegExp behavior for `${n}`: + * 1. Backreference to numbered capture, where `n` is 1+ digits. `0`, `00`, etc. is the entire match. + * 2. Backreference to named capture `n`, if it exists and is not a number overridden by numbered capture. + * 3. Otherwise, it's an error. + */ + n = +$1; // Type-convert; drop leading zeros + if (n <= args.length - 3) { + return args[n] || ""; + } + n = captureNames ? lastIndexOf(captureNames, $1) : -1; + if (n < 0) { + throw new SyntaxError("backreference to undefined group " + $0); + } + return args[n + 1] || ""; + } + // Else, special variable or numbered backreference (without curly brackets) + if ($2 === "$") return "$"; + if ($2 === "&" || +$2 === 0) return args[0]; // $&, $0 (not followed by 1-9), $00 + if ($2 === "`") return args[args.length - 1].slice(0, args[args.length - 2]); + if ($2 === "'") return args[args.length - 1].slice(args[args.length - 2] + args[0].length); + // Else, numbered backreference (without curly brackets) + $2 = +$2; // Type-convert; drop leading zero + /* XRegExp behavior: + * - Backreferences without curly brackets end after 1 or 2 digits. Use `${..}` for more digits. + * - `$1` is an error if there are no capturing groups. + * - `$10` is an error if there are less than 10 capturing groups. Use `${1}0` instead. + * - `$01` is equivalent to `$1` if a capturing group exists, otherwise it's an error. + * - `$0` (not followed by 1-9), `$00`, and `$&` are the entire match. + * Native behavior, for comparison: + * - Backreferences end after 1 or 2 digits. Cannot use backreference to capturing group 100+. + * - `$1` is a literal `$1` if there are no capturing groups. + * - `$10` is `$1` followed by a literal `0` if there are less than 10 capturing groups. + * - `$01` is equivalent to `$1` if a capturing group exists, otherwise it's a literal `$01`. + * - `$0` is a literal `$0`. `$&` is the entire match. + */ + if (!isNaN($2)) { + if ($2 > args.length - 3) { + throw new SyntaxError("backreference to undefined group " + $0); + } + return args[$2] || ""; + } + throw new SyntaxError("invalid token " + $0); + }); + }); + } + if (isRegex) { + if (search.global) { + search.lastIndex = 0; // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + } else { + search.lastIndex = origLastIndex; // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + } + } + return result; + }; + +/** + * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')` + * uses this to override the native method. Use via `XRegExp.split` without overriding natives. + * @private + * @param {RegExp|String} separator Regex or string to use for separating the string. + * @param {Number} [limit] Maximum number of items to include in the result array. + * @returns {Array} Array of substrings. + */ + fixed.split = function (separator, limit) { + if (!self.isRegExp(separator)) { + return nativ.split.apply(this, arguments); // use faster native method + } + var str = String(this), + origLastIndex = separator.lastIndex, + output = [], + lastLastIndex = 0, + lastLength; + /* Values for `limit`, per the spec: + * If undefined: pow(2,32) - 1 + * If 0, Infinity, or NaN: 0 + * If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32); + * If negative number: pow(2,32) - floor(abs(limit)) + * If other: Type-convert, then use the above rules + */ + limit = (limit === undef ? -1 : limit) >>> 0; + self.forEach(str, separator, function (match) { + if ((match.index + match[0].length) > lastLastIndex) { // != `if (match[0].length)` + output.push(str.slice(lastLastIndex, match.index)); + if (match.length > 1 && match.index < str.length) { + Array.prototype.push.apply(output, match.slice(1)); + } + lastLength = match[0].length; + lastLastIndex = match.index + lastLength; + } + }); + if (lastLastIndex === str.length) { + if (!nativ.test.call(separator, "") || lastLength) { + output.push(""); + } + } else { + output.push(str.slice(lastLastIndex)); + } + separator.lastIndex = origLastIndex; + return output.length > limit ? output.slice(0, limit) : output; + }; + +/*-------------------------------------- + * Built-in tokens + *------------------------------------*/ + +// Shortcut + add = addToken.on; + +/* Letter identity escapes that natively match literal characters: \p, \P, etc. + * Should be SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross- + * browser consistency and to reserve their syntax, but lets them be superseded by XRegExp addons. + */ + add(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/, + function (match, scope) { + // \B is allowed in default scope only + if (match[1] === "B" && scope === defaultScope) { + return match[0]; + } + throw new SyntaxError("invalid escape " + match[0]); + }, + {scope: "all"}); + +/* Empty character class: [] or [^] + * Fixes a critical cross-browser syntax inconsistency. Unless this is standardized (per the spec), + * regex syntax can't be accurately parsed because character class endings can't be determined. + */ + add(/\[(\^?)]/, + function (match) { + // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S]. + // (?!) should work like \b\B, but is unreliable in Firefox + return match[1] ? "[\\s\\S]" : "\\b\\B"; + }); + +/* Comment pattern: (?# ) + * Inline comments are an alternative to the line comments allowed in free-spacing mode (flag x). + */ + add(/(?:\(\?#[^)]*\))+/, + function (match) { + // Keep tokens separated unless the following token is a quantifier + return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; + }); + +/* Named backreference: \k<name> + * Backreference names can use the characters A-Z, a-z, 0-9, _, and $ only. + */ + add(/\\k<([\w$]+)>/, + function (match) { + var index = isNaN(match[1]) ? (lastIndexOf(this.captureNames, match[1]) + 1) : +match[1], + endIndex = match.index + match[0].length; + if (!index || index > this.captureNames.length) { + throw new SyntaxError("backreference to undefined group " + match[0]); + } + // Keep backreferences separate from subsequent literal numbers + return "\\" + index + ( + endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ? "" : "(?:)" + ); + }); + +/* Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only. + */ + add(/(?:\s+|#.*)+/, + function (match) { + // Keep tokens separated unless the following token is a quantifier + return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; + }, + { + trigger: function () { + return this.hasFlag("x"); + }, + customFlags: "x" + }); + +/* Dot, in dotall mode (aka singleline mode, flag s) only. + */ + add(/\./, + function () { + return "[\\s\\S]"; + }, + { + trigger: function () { + return this.hasFlag("s"); + }, + customFlags: "s" + }); + +/* Named capturing group; match the opening delimiter only: (?<name> + * Capture names can use the characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. + * Supports Python-style (?P<name> as an alternate syntax to avoid issues in recent Opera (which + * natively supports the Python-style syntax). Otherwise, XRegExp might treat numbered + * backreferences to Python-style named capture as octals. + */ + add(/\(\?P?<([\w$]+)>/, + function (match) { + if (!isNaN(match[1])) { + // Avoid incorrect lookups, since named backreferences are added to match arrays + throw new SyntaxError("can't use integer as capture name " + match[0]); + } + this.captureNames.push(match[1]); + this.hasNamedCapture = true; + return "("; + }); + +/* Numbered backreference or octal, plus any following digits: \0, \11, etc. + * Octals except \0 not followed by 0-9 and backreferences to unopened capture groups throw an + * error. Other matches are returned unaltered. IE <= 8 doesn't support backreferences greater than + * \99 in regex syntax. + */ + add(/\\(\d+)/, + function (match, scope) { + if (!(scope === defaultScope && /^[1-9]/.test(match[1]) && +match[1] <= this.captureNames.length) && + match[1] !== "0") { + throw new SyntaxError("can't use octal escape or backreference to undefined group " + match[0]); + } + return match[0]; + }, + {scope: "all"}); + +/* Capturing group; match the opening parenthesis only. + * Required for support of named capturing groups. Also adds explicit capture mode (flag n). + */ + add(/\((?!\?)/, + function () { + if (this.hasFlag("n")) { + return "(?:"; + } + this.captureNames.push(null); + return "("; + }, + {customFlags: "n"}); + +/*-------------------------------------- + * Expose XRegExp + *------------------------------------*/ + +// For CommonJS enviroments + if (typeof exports !== "undefined") { + exports.XRegExp = self; + } + + return self; + +}()); + + +/***** unicode-base.js *****/ + +/*! + * XRegExp Unicode Base v1.0.0 + * (c) 2008-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for the `\p{L}` or `\p{Letter}` Unicode category. Addon packages for other Unicode + * categories, scripts, blocks, and properties are available separately. All Unicode tokens can be + * inverted using `\P{..}` or `\p{^..}`. Token names are case insensitive, and any spaces, hyphens, + * and underscores are ignored. + * @requires XRegExp + */ +(function (XRegExp) { + "use strict"; + + var unicode = {}; + +/*-------------------------------------- + * Private helper functions + *------------------------------------*/ + +// Generates a standardized token name (lowercase, with hyphens, spaces, and underscores removed) + function slug(name) { + return name.replace(/[- _]+/g, "").toLowerCase(); + } + +// Expands a list of Unicode code points and ranges to be usable in a regex character class + function expand(str) { + return str.replace(/\w{4}/g, "\\u$&"); + } + +// Adds leading zeros if shorter than four characters + function pad4(str) { + while (str.length < 4) { + str = "0" + str; + } + return str; + } + +// Converts a hexadecimal number to decimal + function dec(hex) { + return parseInt(hex, 16); + } + +// Converts a decimal number to hexadecimal + function hex(dec) { + return parseInt(dec, 10).toString(16); + } + +// Inverts a list of Unicode code points and ranges + function invert(range) { + var output = [], + lastEnd = -1, + start; + XRegExp.forEach(range, /\\u(\w{4})(?:-\\u(\w{4}))?/, function (m) { + start = dec(m[1]); + if (start > (lastEnd + 1)) { + output.push("\\u" + pad4(hex(lastEnd + 1))); + if (start > (lastEnd + 2)) { + output.push("-\\u" + pad4(hex(start - 1))); + } + } + lastEnd = dec(m[2] || m[1]); + }); + if (lastEnd < 0xFFFF) { + output.push("\\u" + pad4(hex(lastEnd + 1))); + if (lastEnd < 0xFFFE) { + output.push("-\\uFFFF"); + } + } + return output.join(""); + } + +// Generates an inverted token on first use + function cacheInversion(item) { + return unicode["^" + item] || (unicode["^" + item] = invert(unicode[item])); + } + +/*-------------------------------------- + * Core functionality + *------------------------------------*/ + + XRegExp.install("extensibility"); + +/** + * Adds to the list of Unicode properties that XRegExp regexes can match via \p{..} or \P{..}. + * @memberOf XRegExp + * @param {Object} pack Named sets of Unicode code points and ranges. + * @param {Object} [aliases] Aliases for the primary token names. + * @example + * + * XRegExp.addUnicodePackage({ + * XDigit: '0030-00390041-00460061-0066' // 0-9A-Fa-f + * }, { + * XDigit: 'Hexadecimal' + * }); + */ + XRegExp.addUnicodePackage = function (pack, aliases) { + var p; + if (!XRegExp.isInstalled("extensibility")) { + throw new Error("extensibility must be installed before adding Unicode packages"); + } + if (pack) { + for (p in pack) { + if (pack.hasOwnProperty(p)) { + unicode[slug(p)] = expand(pack[p]); + } + } + } + if (aliases) { + for (p in aliases) { + if (aliases.hasOwnProperty(p)) { + unicode[slug(aliases[p])] = unicode[slug(p)]; + } + } + } + }; + +/* Adds data for the Unicode `Letter` category. Addon packages include other categories, scripts, + * blocks, and properties. + */ + XRegExp.addUnicodePackage({ + L: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC" + }, { + L: "Letter" + }); + +/* Adds Unicode property syntax to XRegExp: \p{..}, \P{..}, \p{^..} + */ + XRegExp.addToken( + /\\([pP]){(\^?)([^}]*)}/, + function (match, scope) { + var inv = (match[1] === "P" || match[2]) ? "^" : "", + item = slug(match[3]); + // The double negative \P{^..} is invalid + if (match[1] === "P" && match[2]) { + throw new SyntaxError("invalid double negation \\P{^"); + } + if (!unicode.hasOwnProperty(item)) { + throw new SyntaxError("invalid or unknown Unicode property " + match[0]); + } + return scope === "class" ? + (inv ? cacheInversion(item) : unicode[item]) : + "[" + inv + unicode[item] + "]"; + }, + {scope: "all"} + ); + +}(XRegExp)); + + +/***** unicode-categories.js *****/ + +/*! + * XRegExp Unicode Categories v1.2.0 + * (c) 2010-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for all Unicode categories (aka properties) E.g., `\p{Lu}` or + * `\p{Uppercase Letter}`. Token names are case insensitive, and any spaces, hyphens, and + * underscores are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Categories"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + //L: "", // Included in the Unicode Base addon + Ll: "0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A", + Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A", + Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC", + Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F", + Lo: "00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + M: "0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26", + Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26", + Mc: "0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC", + Me: "0488048920DD-20E020E2-20E4A670-A672", + N: "0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19", + Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19", + Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF", + No: "00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835", + P: "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65", + Pd: "002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D", + Ps: "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62", + Pe: "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63", + Pi: "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20", + Pf: "00BB2019201D203A2E032E052E0A2E0D2E1D2E21", + Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F", + Po: "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65", + S: "0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD", + Sm: "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC", + Sc: "002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6", + Sk: "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3", + So: "00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD", + Z: "002000A01680180E2000-200A20282029202F205F3000", + Zs: "002000A01680180E2000-200A202F205F3000", + Zl: "2028", + Zp: "2029", + C: "0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF", + Cc: "0000-001F007F-009F", + Cf: "00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB", + Co: "E000-F8FF", + Cs: "D800-DFFF", + Cn: "03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF" + }, { + //L: "Letter", // Included in the Unicode Base addon + Ll: "Lowercase_Letter", + Lu: "Uppercase_Letter", + Lt: "Titlecase_Letter", + Lm: "Modifier_Letter", + Lo: "Other_Letter", + M: "Mark", + Mn: "Nonspacing_Mark", + Mc: "Spacing_Mark", + Me: "Enclosing_Mark", + N: "Number", + Nd: "Decimal_Number", + Nl: "Letter_Number", + No: "Other_Number", + P: "Punctuation", + Pd: "Dash_Punctuation", + Ps: "Open_Punctuation", + Pe: "Close_Punctuation", + Pi: "Initial_Punctuation", + Pf: "Final_Punctuation", + Pc: "Connector_Punctuation", + Po: "Other_Punctuation", + S: "Symbol", + Sm: "Math_Symbol", + Sc: "Currency_Symbol", + Sk: "Modifier_Symbol", + So: "Other_Symbol", + Z: "Separator", + Zs: "Space_Separator", + Zl: "Line_Separator", + Zp: "Paragraph_Separator", + C: "Other", + Cc: "Control", + Cf: "Format", + Co: "Private_Use", + Cs: "Surrogate", + Cn: "Unassigned" + }); + +}(XRegExp)); + + +/***** unicode-scripts.js *****/ + +/*! + * XRegExp Unicode Scripts v1.2.0 + * (c) 2010-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for all Unicode scripts in the Basic Multilingual Plane (U+0000-U+FFFF). + * E.g., `\p{Latin}`. Token names are case insensitive, and any spaces, hyphens, and underscores + * are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + Arabic: "0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC", + Armenian: "0531-05560559-055F0561-0587058A058FFB13-FB17", + Balinese: "1B00-1B4B1B50-1B7C", + Bamum: "A6A0-A6F7", + Batak: "1BC0-1BF31BFC-1BFF", + Bengali: "0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB", + Bopomofo: "02EA02EB3105-312D31A0-31BA", + Braille: "2800-28FF", + Buginese: "1A00-1A1B1A1E1A1F", + Buhid: "1740-1753", + Canadian_Aboriginal: "1400-167F18B0-18F5", + Cham: "AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F", + Cherokee: "13A0-13F4", + Common: "0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD", + Coptic: "03E2-03EF2C80-2CF32CF9-2CFF", + Cyrillic: "0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F", + Devanagari: "0900-09500953-09630966-09770979-097FA8E0-A8FB", + Ethiopic: "1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E", + Georgian: "10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D", + Glagolitic: "2C00-2C2E2C30-2C5E", + Greek: "0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126", + Gujarati: "0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1", + Gurmukhi: "0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75", + Han: "2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9", + Hangul: "1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + Hanunoo: "1720-1734", + Hebrew: "0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F", + Hiragana: "3041-3096309D-309F", + Inherited: "0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26", + Javanese: "A980-A9CDA9CF-A9D9A9DEA9DF", + Kannada: "0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2", + Katakana: "30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D", + Kayah_Li: "A900-A92F", + Khmer: "1780-17DD17E0-17E917F0-17F919E0-19FF", + Lao: "0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF", + Latin: "0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A", + Lepcha: "1C00-1C371C3B-1C491C4D-1C4F", + Limbu: "1900-191C1920-192B1930-193B19401944-194F", + Lisu: "A4D0-A4FF", + Malayalam: "0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F", + Mandaic: "0840-085B085E", + Meetei_Mayek: "AAE0-AAF6ABC0-ABEDABF0-ABF9", + Mongolian: "1800180118041806-180E1810-18191820-18771880-18AA", + Myanmar: "1000-109FAA60-AA7B", + New_Tai_Lue: "1980-19AB19B0-19C919D0-19DA19DE19DF", + Nko: "07C0-07FA", + Ogham: "1680-169C", + Ol_Chiki: "1C50-1C7F", + Oriya: "0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77", + Phags_Pa: "A840-A877", + Rejang: "A930-A953A95F", + Runic: "16A0-16EA16EE-16F0", + Samaritan: "0800-082D0830-083E", + Saurashtra: "A880-A8C4A8CE-A8D9", + Sinhala: "0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4", + Sundanese: "1B80-1BBF1CC0-1CC7", + Syloti_Nagri: "A800-A82B", + Syriac: "0700-070D070F-074A074D-074F", + Tagalog: "1700-170C170E-1714", + Tagbanwa: "1760-176C176E-177017721773", + Tai_Le: "1950-196D1970-1974", + Tai_Tham: "1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD", + Tai_Viet: "AA80-AAC2AADB-AADF", + Tamil: "0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA", + Telugu: "0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F", + Thaana: "0780-07B1", + Thai: "0E01-0E3A0E40-0E5B", + Tibetan: "0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA", + Tifinagh: "2D30-2D672D6F2D702D7F", + Vai: "A500-A62B", + Yi: "A000-A48CA490-A4C6" + }); + +}(XRegExp)); + + +/***** unicode-blocks.js *****/ + +/*! + * XRegExp Unicode Blocks v1.2.0 + * (c) 2010-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for all Unicode blocks in the Basic Multilingual Plane (U+0000-U+FFFF). Unicode + * blocks use the prefix "In". E.g., `\p{InBasicLatin}`. Token names are case insensitive, and any + * spaces, hyphens, and underscores are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + InBasic_Latin: "0000-007F", + InLatin_1_Supplement: "0080-00FF", + InLatin_Extended_A: "0100-017F", + InLatin_Extended_B: "0180-024F", + InIPA_Extensions: "0250-02AF", + InSpacing_Modifier_Letters: "02B0-02FF", + InCombining_Diacritical_Marks: "0300-036F", + InGreek_and_Coptic: "0370-03FF", + InCyrillic: "0400-04FF", + InCyrillic_Supplement: "0500-052F", + InArmenian: "0530-058F", + InHebrew: "0590-05FF", + InArabic: "0600-06FF", + InSyriac: "0700-074F", + InArabic_Supplement: "0750-077F", + InThaana: "0780-07BF", + InNKo: "07C0-07FF", + InSamaritan: "0800-083F", + InMandaic: "0840-085F", + InArabic_Extended_A: "08A0-08FF", + InDevanagari: "0900-097F", + InBengali: "0980-09FF", + InGurmukhi: "0A00-0A7F", + InGujarati: "0A80-0AFF", + InOriya: "0B00-0B7F", + InTamil: "0B80-0BFF", + InTelugu: "0C00-0C7F", + InKannada: "0C80-0CFF", + InMalayalam: "0D00-0D7F", + InSinhala: "0D80-0DFF", + InThai: "0E00-0E7F", + InLao: "0E80-0EFF", + InTibetan: "0F00-0FFF", + InMyanmar: "1000-109F", + InGeorgian: "10A0-10FF", + InHangul_Jamo: "1100-11FF", + InEthiopic: "1200-137F", + InEthiopic_Supplement: "1380-139F", + InCherokee: "13A0-13FF", + InUnified_Canadian_Aboriginal_Syllabics: "1400-167F", + InOgham: "1680-169F", + InRunic: "16A0-16FF", + InTagalog: "1700-171F", + InHanunoo: "1720-173F", + InBuhid: "1740-175F", + InTagbanwa: "1760-177F", + InKhmer: "1780-17FF", + InMongolian: "1800-18AF", + InUnified_Canadian_Aboriginal_Syllabics_Extended: "18B0-18FF", + InLimbu: "1900-194F", + InTai_Le: "1950-197F", + InNew_Tai_Lue: "1980-19DF", + InKhmer_Symbols: "19E0-19FF", + InBuginese: "1A00-1A1F", + InTai_Tham: "1A20-1AAF", + InBalinese: "1B00-1B7F", + InSundanese: "1B80-1BBF", + InBatak: "1BC0-1BFF", + InLepcha: "1C00-1C4F", + InOl_Chiki: "1C50-1C7F", + InSundanese_Supplement: "1CC0-1CCF", + InVedic_Extensions: "1CD0-1CFF", + InPhonetic_Extensions: "1D00-1D7F", + InPhonetic_Extensions_Supplement: "1D80-1DBF", + InCombining_Diacritical_Marks_Supplement: "1DC0-1DFF", + InLatin_Extended_Additional: "1E00-1EFF", + InGreek_Extended: "1F00-1FFF", + InGeneral_Punctuation: "2000-206F", + InSuperscripts_and_Subscripts: "2070-209F", + InCurrency_Symbols: "20A0-20CF", + InCombining_Diacritical_Marks_for_Symbols: "20D0-20FF", + InLetterlike_Symbols: "2100-214F", + InNumber_Forms: "2150-218F", + InArrows: "2190-21FF", + InMathematical_Operators: "2200-22FF", + InMiscellaneous_Technical: "2300-23FF", + InControl_Pictures: "2400-243F", + InOptical_Character_Recognition: "2440-245F", + InEnclosed_Alphanumerics: "2460-24FF", + InBox_Drawing: "2500-257F", + InBlock_Elements: "2580-259F", + InGeometric_Shapes: "25A0-25FF", + InMiscellaneous_Symbols: "2600-26FF", + InDingbats: "2700-27BF", + InMiscellaneous_Mathematical_Symbols_A: "27C0-27EF", + InSupplemental_Arrows_A: "27F0-27FF", + InBraille_Patterns: "2800-28FF", + InSupplemental_Arrows_B: "2900-297F", + InMiscellaneous_Mathematical_Symbols_B: "2980-29FF", + InSupplemental_Mathematical_Operators: "2A00-2AFF", + InMiscellaneous_Symbols_and_Arrows: "2B00-2BFF", + InGlagolitic: "2C00-2C5F", + InLatin_Extended_C: "2C60-2C7F", + InCoptic: "2C80-2CFF", + InGeorgian_Supplement: "2D00-2D2F", + InTifinagh: "2D30-2D7F", + InEthiopic_Extended: "2D80-2DDF", + InCyrillic_Extended_A: "2DE0-2DFF", + InSupplemental_Punctuation: "2E00-2E7F", + InCJK_Radicals_Supplement: "2E80-2EFF", + InKangxi_Radicals: "2F00-2FDF", + InIdeographic_Description_Characters: "2FF0-2FFF", + InCJK_Symbols_and_Punctuation: "3000-303F", + InHiragana: "3040-309F", + InKatakana: "30A0-30FF", + InBopomofo: "3100-312F", + InHangul_Compatibility_Jamo: "3130-318F", + InKanbun: "3190-319F", + InBopomofo_Extended: "31A0-31BF", + InCJK_Strokes: "31C0-31EF", + InKatakana_Phonetic_Extensions: "31F0-31FF", + InEnclosed_CJK_Letters_and_Months: "3200-32FF", + InCJK_Compatibility: "3300-33FF", + InCJK_Unified_Ideographs_Extension_A: "3400-4DBF", + InYijing_Hexagram_Symbols: "4DC0-4DFF", + InCJK_Unified_Ideographs: "4E00-9FFF", + InYi_Syllables: "A000-A48F", + InYi_Radicals: "A490-A4CF", + InLisu: "A4D0-A4FF", + InVai: "A500-A63F", + InCyrillic_Extended_B: "A640-A69F", + InBamum: "A6A0-A6FF", + InModifier_Tone_Letters: "A700-A71F", + InLatin_Extended_D: "A720-A7FF", + InSyloti_Nagri: "A800-A82F", + InCommon_Indic_Number_Forms: "A830-A83F", + InPhags_pa: "A840-A87F", + InSaurashtra: "A880-A8DF", + InDevanagari_Extended: "A8E0-A8FF", + InKayah_Li: "A900-A92F", + InRejang: "A930-A95F", + InHangul_Jamo_Extended_A: "A960-A97F", + InJavanese: "A980-A9DF", + InCham: "AA00-AA5F", + InMyanmar_Extended_A: "AA60-AA7F", + InTai_Viet: "AA80-AADF", + InMeetei_Mayek_Extensions: "AAE0-AAFF", + InEthiopic_Extended_A: "AB00-AB2F", + InMeetei_Mayek: "ABC0-ABFF", + InHangul_Syllables: "AC00-D7AF", + InHangul_Jamo_Extended_B: "D7B0-D7FF", + InHigh_Surrogates: "D800-DB7F", + InHigh_Private_Use_Surrogates: "DB80-DBFF", + InLow_Surrogates: "DC00-DFFF", + InPrivate_Use_Area: "E000-F8FF", + InCJK_Compatibility_Ideographs: "F900-FAFF", + InAlphabetic_Presentation_Forms: "FB00-FB4F", + InArabic_Presentation_Forms_A: "FB50-FDFF", + InVariation_Selectors: "FE00-FE0F", + InVertical_Forms: "FE10-FE1F", + InCombining_Half_Marks: "FE20-FE2F", + InCJK_Compatibility_Forms: "FE30-FE4F", + InSmall_Form_Variants: "FE50-FE6F", + InArabic_Presentation_Forms_B: "FE70-FEFF", + InHalfwidth_and_Fullwidth_Forms: "FF00-FFEF", + InSpecials: "FFF0-FFFF" + }); + +}(XRegExp)); + + +/***** unicode-properties.js *****/ + +/*! + * XRegExp Unicode Properties v1.0.0 + * (c) 2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds Unicode properties necessary to meet Level 1 Unicode support (detailed in UTS#18 RL1.2). + * Includes code points from the Basic Multilingual Plane (U+0000-U+FFFF) only. Token names are + * case insensitive, and any spaces, hyphens, and underscores are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Properties"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + Alphabetic: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + Uppercase: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A", + Lowercase: "0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A", + White_Space: "0009-000D0020008500A01680180E2000-200A20282029202F205F3000", + Noncharacter_Code_Point: "FDD0-FDEFFFFEFFFF", + Default_Ignorable_Code_Point: "00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8", + // \p{Any} matches a code unit. To match any code point via surrogate pairs, use (?:[\0-\uD7FF\uDC00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF]) + Any: "0000-FFFF", // \p{^Any} compiles to [^\u0000-\uFFFF]; [\p{^Any}] to [] + Ascii: "0000-007F", + // \p{Assigned} is equivalent to \p{^Cn} + //Assigned: XRegExp("[\\p{^Cn}]").source.replace(/[[\]]|\\u/g, "") // Negation inside a character class triggers inversion + Assigned: "0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD" + }); + +}(XRegExp)); + + +/***** matchrecursive.js *****/ + +/*! + * XRegExp.matchRecursive v0.2.0 + * (c) 2009-2012 Steven Levithan <http://xregexp.com/> + * MIT License + */ + +(function (XRegExp) { + "use strict"; + +/** + * Returns a match detail object composed of the provided values. + * @private + */ + function row(value, name, start, end) { + return {value:value, name:name, start:start, end:end}; + } + +/** + * Returns an array of match strings between outermost left and right delimiters, or an array of + * objects with detailed match parts and position data. An error is thrown if delimiters are + * unbalanced within the data. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {String} left Left delimiter as an XRegExp pattern. + * @param {String} right Right delimiter as an XRegExp pattern. + * @param {String} [flags] Flags for the left and right delimiters. Use any of: `gimnsxy`. + * @param {Object} [options] Lets you specify `valueNames` and `escapeChar` options. + * @returns {Array} Array of matches, or an empty array. + * @example + * + * // Basic usage + * var str = '(t((e))s)t()(ing)'; + * XRegExp.matchRecursive(str, '\\(', '\\)', 'g'); + * // -> ['t((e))s', '', 'ing'] + * + * // Extended information mode with valueNames + * str = 'Here is <div> <div>an</div></div> example'; + * XRegExp.matchRecursive(str, '<div\\s*>', '</div>', 'gi', { + * valueNames: ['between', 'left', 'match', 'right'] + * }); + * // -> [ + * // {name: 'between', value: 'Here is ', start: 0, end: 8}, + * // {name: 'left', value: '<div>', start: 8, end: 13}, + * // {name: 'match', value: ' <div>an</div>', start: 13, end: 27}, + * // {name: 'right', value: '</div>', start: 27, end: 33}, + * // {name: 'between', value: ' example', start: 33, end: 41} + * // ] + * + * // Omitting unneeded parts with null valueNames, and using escapeChar + * str = '...{1}\\{{function(x,y){return y+x;}}'; + * XRegExp.matchRecursive(str, '{', '}', 'g', { + * valueNames: ['literal', null, 'value', null], + * escapeChar: '\\' + * }); + * // -> [ + * // {name: 'literal', value: '...', start: 0, end: 3}, + * // {name: 'value', value: '1', start: 4, end: 5}, + * // {name: 'literal', value: '\\{', start: 6, end: 8}, + * // {name: 'value', value: 'function(x,y){return y+x;}', start: 9, end: 35} + * // ] + * + * // Sticky mode via flag y + * str = '<1><<<2>>><3>4<5>'; + * XRegExp.matchRecursive(str, '<', '>', 'gy'); + * // -> ['1', '<<2>>', '3'] + */ + XRegExp.matchRecursive = function (str, left, right, flags, options) { + flags = flags || ""; + options = options || {}; + var global = flags.indexOf("g") > -1, + sticky = flags.indexOf("y") > -1, + basicFlags = flags.replace(/y/g, ""), // Flag y controlled internally + escapeChar = options.escapeChar, + vN = options.valueNames, + output = [], + openTokens = 0, + delimStart = 0, + delimEnd = 0, + lastOuterEnd = 0, + outerStart, + innerStart, + leftMatch, + rightMatch, + esc; + left = XRegExp(left, basicFlags); + right = XRegExp(right, basicFlags); + + if (escapeChar) { + if (escapeChar.length > 1) { + throw new SyntaxError("can't use more than one escape character"); + } + escapeChar = XRegExp.escape(escapeChar); + // Using XRegExp.union safely rewrites backreferences in `left` and `right` + esc = new RegExp( + "(?:" + escapeChar + "[\\S\\s]|(?:(?!" + XRegExp.union([left, right]).source + ")[^" + escapeChar + "])+)+", + flags.replace(/[^im]+/g, "") // Flags gy not needed here; flags nsx handled by XRegExp + ); + } + + while (true) { + // If using an escape character, advance to the delimiter's next starting position, + // skipping any escaped characters in between + if (escapeChar) { + delimEnd += (XRegExp.exec(str, esc, delimEnd, "sticky") || [""])[0].length; + } + leftMatch = XRegExp.exec(str, left, delimEnd); + rightMatch = XRegExp.exec(str, right, delimEnd); + // Keep the leftmost match only + if (leftMatch && rightMatch) { + if (leftMatch.index <= rightMatch.index) { + rightMatch = null; + } else { + leftMatch = null; + } + } + /* Paths (LM:leftMatch, RM:rightMatch, OT:openTokens): + LM | RM | OT | Result + 1 | 0 | 1 | loop + 1 | 0 | 0 | loop + 0 | 1 | 1 | loop + 0 | 1 | 0 | throw + 0 | 0 | 1 | throw + 0 | 0 | 0 | break + * Doesn't include the sticky mode special case + * Loop ends after the first completed match if `!global` */ + if (leftMatch || rightMatch) { + delimStart = (leftMatch || rightMatch).index; + delimEnd = delimStart + (leftMatch || rightMatch)[0].length; + } else if (!openTokens) { + break; + } + if (sticky && !openTokens && delimStart > lastOuterEnd) { + break; + } + if (leftMatch) { + if (!openTokens) { + outerStart = delimStart; + innerStart = delimEnd; + } + ++openTokens; + } else if (rightMatch && openTokens) { + if (!--openTokens) { + if (vN) { + if (vN[0] && outerStart > lastOuterEnd) { + output.push(row(vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart)); + } + if (vN[1]) { + output.push(row(vN[1], str.slice(outerStart, innerStart), outerStart, innerStart)); + } + if (vN[2]) { + output.push(row(vN[2], str.slice(innerStart, delimStart), innerStart, delimStart)); + } + if (vN[3]) { + output.push(row(vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd)); + } + } else { + output.push(str.slice(innerStart, delimStart)); + } + lastOuterEnd = delimEnd; + if (!global) { + break; + } + } + } else { + throw new Error("string contains unbalanced delimiters"); + } + // If the delimiter matched an empty string, avoid an infinite loop + if (delimStart === delimEnd) { + ++delimEnd; + } + } + + if (global && !sticky && vN && vN[0] && str.length > lastOuterEnd) { + output.push(row(vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length)); + } + + return output; + }; + +}(XRegExp)); + + +/***** build.js *****/ + +/*! + * XRegExp.build v0.1.0 + * (c) 2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Inspired by RegExp.create by Lea Verou <http://lea.verou.me/> + */ + +(function (XRegExp) { + "use strict"; + + var subparts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, + parts = XRegExp.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/, subparts], "g"); + +/** + * Strips a leading `^` and trailing unescaped `$`, if both are present. + * @private + * @param {String} pattern Pattern to process. + * @returns {String} Pattern with edge anchors removed. + */ + function deanchor(pattern) { + var startAnchor = /^(?:\(\?:\))?\^/, // Leading `^` or `(?:)^` (handles /x cruft) + endAnchor = /\$(?:\(\?:\))?$/; // Trailing `$` or `$(?:)` (handles /x cruft) + if (endAnchor.test(pattern.replace(/\\[\s\S]/g, ""))) { // Ensure trailing `$` isn't escaped + return pattern.replace(startAnchor, "").replace(endAnchor, ""); + } + return pattern; + } + +/** + * Converts the provided value to an XRegExp. + * @private + * @param {String|RegExp} value Value to convert. + * @returns {RegExp} XRegExp object with XRegExp syntax applied. + */ + function asXRegExp(value) { + return XRegExp.isRegExp(value) ? + (value.xregexp && !value.xregexp.isNative ? value : XRegExp(value.source)) : + XRegExp(value); + } + +/** + * Builds regexes using named subpatterns, for readability and pattern reuse. Backreferences in the + * outer pattern and provided subpatterns are automatically renumbered to work correctly. Native + * flags used by provided subpatterns are ignored in favor of the `flags` argument. + * @memberOf XRegExp + * @param {String} pattern XRegExp pattern using `{{name}}` for embedded subpatterns. Allows + * `({{name}})` as shorthand for `(?<name>{{name}})`. Patterns cannot be embedded within + * character classes. + * @param {Object} subs Lookup object for named subpatterns. Values can be strings or regexes. A + * leading `^` and trailing unescaped `$` are stripped from subpatterns, if both are present. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Regex with interpolated subpatterns. + * @example + * + * var time = XRegExp.build('(?x)^ {{hours}} ({{minutes}}) $', { + * hours: XRegExp.build('{{h12}} : | {{h24}}', { + * h12: /1[0-2]|0?[1-9]/, + * h24: /2[0-3]|[01][0-9]/ + * }, 'x'), + * minutes: /^[0-5][0-9]$/ + * }); + * time.test('10:59'); // -> true + * XRegExp.exec('10:59', time).minutes; // -> '59' + */ + XRegExp.build = function (pattern, subs, flags) { + var inlineFlags = /^\(\?([\w$]+)\)/.exec(pattern), + data = {}, + numCaps = 0, // Caps is short for captures + numPriorCaps, + numOuterCaps = 0, + outerCapsMap = [0], + outerCapNames, + sub, + p; + + // Add flags within a leading mode modifier to the overall pattern's flags + if (inlineFlags) { + flags = flags || ""; + inlineFlags[1].replace(/./g, function (flag) { + flags += (flags.indexOf(flag) > -1 ? "" : flag); // Don't add duplicates + }); + } + + for (p in subs) { + if (subs.hasOwnProperty(p)) { + // Passing to XRegExp enables entended syntax for subpatterns provided as strings + // and ensures independent validity, lest an unescaped `(`, `)`, `[`, or trailing + // `\` breaks the `(?:)` wrapper. For subpatterns provided as regexes, it dies on + // octals and adds the `xregexp` property, for simplicity + sub = asXRegExp(subs[p]); + // Deanchoring allows embedding independently useful anchored regexes. If you + // really need to keep your anchors, double them (i.e., `^^...$$`) + data[p] = {pattern: deanchor(sub.source), names: sub.xregexp.captureNames || []}; + } + } + + // Passing to XRegExp dies on octals and ensures the outer pattern is independently valid; + // helps keep this simple. Named captures will be put back + pattern = asXRegExp(pattern); + outerCapNames = pattern.xregexp.captureNames || []; + pattern = pattern.source.replace(parts, function ($0, $1, $2, $3, $4) { + var subName = $1 || $2, capName, intro; + if (subName) { // Named subpattern + if (!data.hasOwnProperty(subName)) { + throw new ReferenceError("undefined property " + $0); + } + if ($1) { // Named subpattern was wrapped in a capturing group + capName = outerCapNames[numOuterCaps]; + outerCapsMap[++numOuterCaps] = ++numCaps; + // If it's a named group, preserve the name. Otherwise, use the subpattern name + // as the capture name + intro = "(?<" + (capName || subName) + ">"; + } else { + intro = "(?:"; + } + numPriorCaps = numCaps; + return intro + data[subName].pattern.replace(subparts, function (match, paren, backref) { + if (paren) { // Capturing group + capName = data[subName].names[numCaps - numPriorCaps]; + ++numCaps; + if (capName) { // If the current capture has a name, preserve the name + return "(?<" + capName + ">"; + } + } else if (backref) { // Backreference + return "\\" + (+backref + numPriorCaps); // Rewrite the backreference + } + return match; + }) + ")"; + } + if ($3) { // Capturing group + capName = outerCapNames[numOuterCaps]; + outerCapsMap[++numOuterCaps] = ++numCaps; + if (capName) { // If the current capture has a name, preserve the name + return "(?<" + capName + ">"; + } + } else if ($4) { // Backreference + return "\\" + outerCapsMap[+$4]; // Rewrite the backreference + } + return $0; + }); + + return XRegExp(pattern, flags); + }; + +}(XRegExp)); + + +/***** prototypes.js *****/ + +/*! + * XRegExp Prototype Methods v1.0.0 + * (c) 2012 Steven Levithan <http://xregexp.com/> + * MIT License + */ + +/** + * Adds a collection of methods to `XRegExp.prototype`. RegExp objects copied by XRegExp are also + * augmented with any `XRegExp.prototype` methods. Hence, the following work equivalently: + * + * XRegExp('[a-z]', 'ig').xexec('abc'); + * XRegExp(/[a-z]/ig).xexec('abc'); + * XRegExp.globalize(/[a-z]/i).xexec('abc'); + */ +(function (XRegExp) { + "use strict"; + +/** + * Copy properties of `b` to `a`. + * @private + * @param {Object} a Object that will receive new properties. + * @param {Object} b Object whose properties will be copied. + */ + function extend(a, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) { + a[p] = b[p]; + } + } + //return a; + } + + extend(XRegExp.prototype, { + +/** + * Implicitly calls the regex's `test` method with the first value in the provided arguments array. + * @memberOf XRegExp.prototype + * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.apply`. + * @param {Array} args Array with the string to search as its first value. + * @returns {Boolean} Whether the regex matched the provided value. + * @example + * + * XRegExp('[a-z]').apply(null, ['abc']); // -> true + */ + apply: function (context, args) { + return this.test(args[0]); + }, + +/** + * Implicitly calls the regex's `test` method with the provided string. + * @memberOf XRegExp.prototype + * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.call`. + * @param {String} str String to search. + * @returns {Boolean} Whether the regex matched the provided value. + * @example + * + * XRegExp('[a-z]').call(null, 'abc'); // -> true + */ + call: function (context, str) { + return this.test(str); + }, + +/** + * Implicitly calls {@link #XRegExp.forEach}. + * @memberOf XRegExp.prototype + * @example + * + * XRegExp('\\d').forEach('1a2345', function (match, i) { + * if (i % 2) this.push(+match[0]); + * }, []); + * // -> [2, 4] + */ + forEach: function (str, callback, context) { + return XRegExp.forEach(str, this, callback, context); + }, + +/** + * Implicitly calls {@link #XRegExp.globalize}. + * @memberOf XRegExp.prototype + * @example + * + * var globalCopy = XRegExp('regex').globalize(); + * globalCopy.global; // -> true + */ + globalize: function () { + return XRegExp.globalize(this); + }, + +/** + * Implicitly calls {@link #XRegExp.exec}. + * @memberOf XRegExp.prototype + * @example + * + * var match = XRegExp('U\\+(?<hex>[0-9A-F]{4})').xexec('U+2620'); + * match.hex; // -> '2620' + */ + xexec: function (str, pos, sticky) { + return XRegExp.exec(str, this, pos, sticky); + }, + +/** + * Implicitly calls {@link #XRegExp.test}. + * @memberOf XRegExp.prototype + * @example + * + * XRegExp('c').xtest('abc'); // -> true + */ + xtest: function (str, pos, sticky) { + return XRegExp.test(str, this, pos, sticky); + } + + }); + +}(XRegExp)); + diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js new file mode 100644 index 0000000..a190558 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js @@ -0,0 +1,18 @@ +//XRegExp 2.0.0 <xregexp.com> MIT License +var XRegExp;XRegExp=XRegExp||function(n){"use strict";function v(n,i,r){var u;for(u in t.prototype)t.prototype.hasOwnProperty(u)&&(n[u]=t.prototype[u]);return n.xregexp={captureNames:i,isNative:!!r},n}function g(n){return(n.global?"g":"")+(n.ignoreCase?"i":"")+(n.multiline?"m":"")+(n.extended?"x":"")+(n.sticky?"y":"")}function o(n,r,u){if(!t.isRegExp(n))throw new TypeError("type RegExp expected");var f=i.replace.call(g(n)+(r||""),h,"");return u&&(f=i.replace.call(f,new RegExp("["+u+"]+","g"),"")),n=n.xregexp&&!n.xregexp.isNative?v(t(n.source,f),n.xregexp.captureNames?n.xregexp.captureNames.slice(0):null):v(new RegExp(n.source,f),null,!0)}function a(n,t){var i=n.length;if(Array.prototype.lastIndexOf)return n.lastIndexOf(t);while(i--)if(n[i]===t)return i;return-1}function s(n,t){return Object.prototype.toString.call(n).toLowerCase()==="[object "+t+"]"}function d(n){return n=n||{},n==="all"||n.all?n={natives:!0,extensibility:!0}:s(n,"string")&&(n=t.forEach(n,/[^\s,]+/,function(n){this[n]=!0},{})),n}function ut(n,t,i,u){var o=p.length,s=null,e,f;y=!0;try{while(o--)if(f=p[o],(f.scope==="all"||f.scope===i)&&(!f.trigger||f.trigger.call(u))&&(f.pattern.lastIndex=t,e=r.exec.call(f.pattern,n),e&&e.index===t)){s={output:f.handler.call(u,e,i),match:e};break}}catch(h){throw h;}finally{y=!1}return s}function b(n){t.addToken=c[n?"on":"off"],f.extensibility=n}function tt(n){RegExp.prototype.exec=(n?r:i).exec,RegExp.prototype.test=(n?r:i).test,String.prototype.match=(n?r:i).match,String.prototype.replace=(n?r:i).replace,String.prototype.split=(n?r:i).split,f.natives=n}var t,c,u,f={natives:!1,extensibility:!1},i={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},r={},k={},p=[],e="default",rt="class",it={"default":/^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/,"class":/^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/},et=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,h=/([\s\S])(?=[\s\S]*\1)/g,nt=/^(?:[?*+]|{\d+(?:,\d*)?})\??/,ft=i.exec.call(/()??/,"")[1]===n,l=RegExp.prototype.sticky!==n,y=!1,w="gim"+(l?"y":"");return t=function(r,u){if(t.isRegExp(r)){if(u!==n)throw new TypeError("can't supply flags when constructing one RegExp from another");return o(r)}if(y)throw new Error("can't call the XRegExp constructor within token definition functions");var l=[],a=e,b={hasNamedCapture:!1,captureNames:[],hasFlag:function(n){return u.indexOf(n)>-1}},f=0,c,s,p;if(r=r===n?"":String(r),u=u===n?"":String(u),i.match.call(u,h))throw new SyntaxError("invalid duplicate regular expression flag");for(r=i.replace.call(r,/^\(\?([\w$]+)\)/,function(n,t){if(i.test.call(/[gy]/,t))throw new SyntaxError("can't use flag g or y in mode modifier");return u=i.replace.call(u+t,h,""),""}),t.forEach(u,/[\s\S]/,function(n){if(w.indexOf(n[0])<0)throw new SyntaxError("invalid regular expression flag "+n[0]);});f<r.length;)c=ut(r,f,a,b),c?(l.push(c.output),f+=c.match[0].length||1):(s=i.exec.call(it[a],r.slice(f)),s?(l.push(s[0]),f+=s[0].length):(p=r.charAt(f),p==="["?a=rt:p==="]"&&(a=e),l.push(p),++f));return v(new RegExp(l.join(""),i.replace.call(u,/[^gimy]+/g,"")),b.hasNamedCapture?b.captureNames:null)},c={on:function(n,t,r){r=r||{},n&&p.push({pattern:o(n,"g"+(l?"y":"")),handler:t,scope:r.scope||e,trigger:r.trigger||null}),r.customFlags&&(w=i.replace.call(w+r.customFlags,h,""))},off:function(){throw new Error("extensibility must be installed before using addToken");}},t.addToken=c.off,t.cache=function(n,i){var r=n+"/"+(i||"");return k[r]||(k[r]=t(n,i))},t.escape=function(n){return i.replace.call(n,/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},t.exec=function(n,t,i,u){var e=o(t,"g"+(u&&l?"y":""),u===!1?"y":""),f;return e.lastIndex=i=i||0,f=r.exec.call(e,n),u&&f&&f.index!==i&&(f=null),t.global&&(t.lastIndex=f?e.lastIndex:0),f},t.forEach=function(n,i,r,u){for(var e=0,o=-1,f;f=t.exec(n,i,e);)r.call(u,f,++o,n,i),e=f.index+(f[0].length||1);return u},t.globalize=function(n){return o(n,"g")},t.install=function(n){n=d(n),!f.natives&&n.natives&&tt(!0),!f.extensibility&&n.extensibility&&b(!0)},t.isInstalled=function(n){return!!f[n]},t.isRegExp=function(n){return s(n,"regexp")},t.matchChain=function(n,i){return function r(n,u){for(var o=i[u].regex?i[u]:{regex:i[u]},f=[],s=function(n){f.push(o.backref?n[o.backref]||"":n[0])},e=0;e<n.length;++e)t.forEach(n[e],o.regex,s);return u===i.length-1||!f.length?f:r(f,u+1)}([n],0)},t.replace=function(i,u,f,e){var c=t.isRegExp(u),s=u,h;return c?(e===n&&u.global&&(e="all"),s=o(u,e==="all"?"g":"",e==="all"?"":"g")):e==="all"&&(s=new RegExp(t.escape(String(u)),"g")),h=r.replace.call(String(i),s,f),c&&u.global&&(u.lastIndex=0),h},t.split=function(n,t,i){return r.split.call(n,t,i)},t.test=function(n,i,r,u){return!!t.exec(n,i,r,u)},t.uninstall=function(n){n=d(n),f.natives&&n.natives&&tt(!1),f.extensibility&&n.extensibility&&b(!1)},t.union=function(n,i){var l=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,o=0,f,h,c=function(n,t,i){var r=h[o-f];if(t){if(++o,r)return"(?<"+r+">"}else if(i)return"\\"+(+i+f);return n},e=[],r,u;if(!(s(n,"array")&&n.length))throw new TypeError("patterns must be a nonempty array");for(u=0;u<n.length;++u)r=n[u],t.isRegExp(r)?(f=o,h=r.xregexp&&r.xregexp.captureNames||[],e.push(t(r.source).source.replace(l,c))):e.push(t.escape(r));return t(e.join("|"),i)},t.version="2.0.0",r.exec=function(t){var r,f,e,o,u;if(this.global||(o=this.lastIndex),r=i.exec.apply(this,arguments),r){if(!ft&&r.length>1&&a(r,"")>-1&&(e=new RegExp(this.source,i.replace.call(g(this),"g","")),i.replace.call(String(t).slice(r.index),e,function(){for(var t=1;t<arguments.length-2;++t)arguments[t]===n&&(r[t]=n)})),this.xregexp&&this.xregexp.captureNames)for(u=1;u<r.length;++u)f=this.xregexp.captureNames[u-1],f&&(r[f]=r[u]);this.global&&!r[0].length&&this.lastIndex>r.index&&(this.lastIndex=r.index)}return this.global||(this.lastIndex=o),r},r.test=function(n){return!!r.exec.call(this,n)},r.match=function(n){if(t.isRegExp(n)){if(n.global){var u=i.match.apply(this,arguments);return n.lastIndex=0,u}}else n=new RegExp(n);return r.exec.call(n,this)},r.replace=function(n,r){var e=t.isRegExp(n),u,f,h,o;return e?(n.xregexp&&(u=n.xregexp.captureNames),n.global||(o=n.lastIndex)):n+="",s(r,"function")?f=i.replace.call(String(this),n,function(){var t=arguments,i;if(u)for(t[0]=new String(t[0]),i=0;i<u.length;++i)u[i]&&(t[0][u[i]]=t[i+1]);return e&&n.global&&(n.lastIndex=t[t.length-2]+t[0].length),r.apply(null,t)}):(h=String(this),f=i.replace.call(h,n,function(){var n=arguments;return i.replace.call(String(r),et,function(t,i,r){var f;if(i){if(f=+i,f<=n.length-3)return n[f]||"";if(f=u?a(u,i):-1,f<0)throw new SyntaxError("backreference to undefined group "+t);return n[f+1]||""}if(r==="$")return"$";if(r==="&"||+r==0)return n[0];if(r==="`")return n[n.length-1].slice(0,n[n.length-2]);if(r==="'")return n[n.length-1].slice(n[n.length-2]+n[0].length);if(r=+r,!isNaN(r)){if(r>n.length-3)throw new SyntaxError("backreference to undefined group "+t);return n[r]||""}throw new SyntaxError("invalid token "+t);})})),e&&(n.lastIndex=n.global?0:o),f},r.split=function(r,u){if(!t.isRegExp(r))return i.split.apply(this,arguments);var e=String(this),h=r.lastIndex,f=[],o=0,s;return u=(u===n?-1:u)>>>0,t.forEach(e,r,function(n){n.index+n[0].length>o&&(f.push(e.slice(o,n.index)),n.length>1&&n.index<e.length&&Array.prototype.push.apply(f,n.slice(1)),s=n[0].length,o=n.index+s)}),o===e.length?(!i.test.call(r,"")||s)&&f.push(""):f.push(e.slice(o)),r.lastIndex=h,f.length>u?f.slice(0,u):f},u=c.on,u(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/,function(n,t){if(n[1]==="B"&&t===e)return n[0];throw new SyntaxError("invalid escape "+n[0]);},{scope:"all"}),u(/\[(\^?)]/,function(n){return n[1]?"[\\s\\S]":"\\b\\B"}),u(/(?:\(\?#[^)]*\))+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"}),u(/\\k<([\w$]+)>/,function(n){var t=isNaN(n[1])?a(this.captureNames,n[1])+1:+n[1],i=n.index+n[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError("backreference to undefined group "+n[0]);return"\\"+t+(i===n.input.length||isNaN(n.input.charAt(i))?"":"(?:)")}),u(/(?:\s+|#.*)+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"},{trigger:function(){return this.hasFlag("x")},customFlags:"x"}),u(/\./,function(){return"[\\s\\S]"},{trigger:function(){return this.hasFlag("s")},customFlags:"s"}),u(/\(\?P?<([\w$]+)>/,function(n){if(!isNaN(n[1]))throw new SyntaxError("can't use integer as capture name "+n[0]);return this.captureNames.push(n[1]),this.hasNamedCapture=!0,"("}),u(/\\(\d+)/,function(n,t){if(!(t===e&&/^[1-9]/.test(n[1])&&+n[1]<=this.captureNames.length)&&n[1]!=="0")throw new SyntaxError("can't use octal escape or backreference to undefined group "+n[0]);return n[0]},{scope:"all"}),u(/\((?!\?)/,function(){return this.hasFlag("n")?"(?:":(this.captureNames.push(null),"(")},{customFlags:"n"}),typeof exports!="undefined"&&(exports.XRegExp=t),t}(); +//XRegExp Unicode Base 1.0.0 +(function(n){"use strict";function i(n){return n.replace(/[- _]+/g,"").toLowerCase()}function s(n){return n.replace(/\w{4}/g,"\\u$&")}function u(n){while(n.length<4)n="0"+n;return n}function f(n){return parseInt(n,16)}function r(n){return parseInt(n,10).toString(16)}function o(t){var e=[],i=-1,o;return n.forEach(t,/\\u(\w{4})(?:-\\u(\w{4}))?/,function(n){o=f(n[1]),o>i+1&&(e.push("\\u"+u(r(i+1))),o>i+2&&e.push("-\\u"+u(r(o-1)))),i=f(n[2]||n[1])}),i<65535&&(e.push("\\u"+u(r(i+1))),i<65534&&e.push("-\\uFFFF")),e.join("")}function e(n){return t["^"+n]||(t["^"+n]=o(t[n]))}var t={};n.install("extensibility"),n.addUnicodePackage=function(r,u){var f;if(!n.isInstalled("extensibility"))throw new Error("extensibility must be installed before adding Unicode packages");if(r)for(f in r)r.hasOwnProperty(f)&&(t[i(f)]=s(r[f]));if(u)for(f in u)u.hasOwnProperty(f)&&(t[i(u[f])]=t[i(f)])},n.addUnicodePackage({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC"},{L:"Letter"}),n.addToken(/\\([pP]){(\^?)([^}]*)}/,function(n,r){var f=n[1]==="P"||n[2]?"^":"",u=i(n[3]);if(n[1]==="P"&&n[2])throw new SyntaxError("invalid double negation \\P{^");if(!t.hasOwnProperty(u))throw new SyntaxError("invalid or unknown Unicode property "+n[0]);return r==="class"?f?e(u):t[u]:"["+f+t[u]+"]"},{scope:"all"})})(XRegExp); +//XRegExp Unicode Categories 1.2.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");n.install("extensibility"),n.addUnicodePackage({Ll:"0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F",Lo:"00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048920DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3",So:"00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"},{Ll:"Lowercase_Letter",Lu:"Uppercase_Letter",Lt:"Titlecase_Letter",Lm:"Modifier_Letter",Lo:"Other_Letter",M:"Mark",Mn:"Nonspacing_Mark",Mc:"Spacing_Mark",Me:"Enclosing_Mark",N:"Number",Nd:"Decimal_Number",Nl:"Letter_Number",No:"Other_Number",P:"Punctuation",Pd:"Dash_Punctuation",Ps:"Open_Punctuation",Pe:"Close_Punctuation",Pi:"Initial_Punctuation",Pf:"Final_Punctuation",Pc:"Connector_Punctuation",Po:"Other_Punctuation",S:"Symbol",Sm:"Math_Symbol",Sc:"Currency_Symbol",Sk:"Modifier_Symbol",So:"Other_Symbol",Z:"Separator",Zs:"Space_Separator",Zl:"Line_Separator",Zp:"Paragraph_Separator",C:"Other",Cc:"Control",Cf:"Format",Co:"Private_Use",Cs:"Surrogate",Cn:"Unassigned"})})(XRegExp); +//XRegExp Unicode Scripts 1.2.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");n.install("extensibility"),n.addUnicodePackage({Arabic:"0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC",Armenian:"0531-05560559-055F0561-0587058A058FFB13-FB17",Balinese:"1B00-1B4B1B50-1B7C",Bamum:"A6A0-A6F7",Batak:"1BC0-1BF31BFC-1BFF",Bengali:"0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB",Bopomofo:"02EA02EB3105-312D31A0-31BA",Braille:"2800-28FF",Buginese:"1A00-1A1B1A1E1A1F",Buhid:"1740-1753",Canadian_Aboriginal:"1400-167F18B0-18F5",Cham:"AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F",Cherokee:"13A0-13F4",Common:"0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD",Coptic:"03E2-03EF2C80-2CF32CF9-2CFF",Cyrillic:"0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F",Devanagari:"0900-09500953-09630966-09770979-097FA8E0-A8FB",Ethiopic:"1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E",Georgian:"10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D",Glagolitic:"2C00-2C2E2C30-2C5E",Greek:"0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126",Gujarati:"0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1",Gurmukhi:"0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75",Han:"2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9",Hangul:"1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Hanunoo:"1720-1734",Hebrew:"0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F",Hiragana:"3041-3096309D-309F",Inherited:"0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26",Javanese:"A980-A9CDA9CF-A9D9A9DEA9DF",Kannada:"0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2",Katakana:"30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D",Kayah_Li:"A900-A92F",Khmer:"1780-17DD17E0-17E917F0-17F919E0-19FF",Lao:"0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF",Latin:"0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A",Lepcha:"1C00-1C371C3B-1C491C4D-1C4F",Limbu:"1900-191C1920-192B1930-193B19401944-194F",Lisu:"A4D0-A4FF",Malayalam:"0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F",Mandaic:"0840-085B085E",Meetei_Mayek:"AAE0-AAF6ABC0-ABEDABF0-ABF9",Mongolian:"1800180118041806-180E1810-18191820-18771880-18AA",Myanmar:"1000-109FAA60-AA7B",New_Tai_Lue:"1980-19AB19B0-19C919D0-19DA19DE19DF",Nko:"07C0-07FA",Ogham:"1680-169C",Ol_Chiki:"1C50-1C7F",Oriya:"0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77",Phags_Pa:"A840-A877",Rejang:"A930-A953A95F",Runic:"16A0-16EA16EE-16F0",Samaritan:"0800-082D0830-083E",Saurashtra:"A880-A8C4A8CE-A8D9",Sinhala:"0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4",Sundanese:"1B80-1BBF1CC0-1CC7",Syloti_Nagri:"A800-A82B",Syriac:"0700-070D070F-074A074D-074F",Tagalog:"1700-170C170E-1714",Tagbanwa:"1760-176C176E-177017721773",Tai_Le:"1950-196D1970-1974",Tai_Tham:"1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD",Tai_Viet:"AA80-AAC2AADB-AADF",Tamil:"0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA",Telugu:"0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F",Thaana:"0780-07B1",Thai:"0E01-0E3A0E40-0E5B",Tibetan:"0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA",Tifinagh:"2D30-2D672D6F2D702D7F",Vai:"A500-A62B",Yi:"A000-A48CA490-A4C6"})})(XRegExp); +//XRegExp Unicode Blocks 1.2.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks");n.install("extensibility"),n.addUnicodePackage({InBasic_Latin:"0000-007F",InLatin_1_Supplement:"0080-00FF",InLatin_Extended_A:"0100-017F",InLatin_Extended_B:"0180-024F",InIPA_Extensions:"0250-02AF",InSpacing_Modifier_Letters:"02B0-02FF",InCombining_Diacritical_Marks:"0300-036F",InGreek_and_Coptic:"0370-03FF",InCyrillic:"0400-04FF",InCyrillic_Supplement:"0500-052F",InArmenian:"0530-058F",InHebrew:"0590-05FF",InArabic:"0600-06FF",InSyriac:"0700-074F",InArabic_Supplement:"0750-077F",InThaana:"0780-07BF",InNKo:"07C0-07FF",InSamaritan:"0800-083F",InMandaic:"0840-085F",InArabic_Extended_A:"08A0-08FF",InDevanagari:"0900-097F",InBengali:"0980-09FF",InGurmukhi:"0A00-0A7F",InGujarati:"0A80-0AFF",InOriya:"0B00-0B7F",InTamil:"0B80-0BFF",InTelugu:"0C00-0C7F",InKannada:"0C80-0CFF",InMalayalam:"0D00-0D7F",InSinhala:"0D80-0DFF",InThai:"0E00-0E7F",InLao:"0E80-0EFF",InTibetan:"0F00-0FFF",InMyanmar:"1000-109F",InGeorgian:"10A0-10FF",InHangul_Jamo:"1100-11FF",InEthiopic:"1200-137F",InEthiopic_Supplement:"1380-139F",InCherokee:"13A0-13FF",InUnified_Canadian_Aboriginal_Syllabics:"1400-167F",InOgham:"1680-169F",InRunic:"16A0-16FF",InTagalog:"1700-171F",InHanunoo:"1720-173F",InBuhid:"1740-175F",InTagbanwa:"1760-177F",InKhmer:"1780-17FF",InMongolian:"1800-18AF",InUnified_Canadian_Aboriginal_Syllabics_Extended:"18B0-18FF",InLimbu:"1900-194F",InTai_Le:"1950-197F",InNew_Tai_Lue:"1980-19DF",InKhmer_Symbols:"19E0-19FF",InBuginese:"1A00-1A1F",InTai_Tham:"1A20-1AAF",InBalinese:"1B00-1B7F",InSundanese:"1B80-1BBF",InBatak:"1BC0-1BFF",InLepcha:"1C00-1C4F",InOl_Chiki:"1C50-1C7F",InSundanese_Supplement:"1CC0-1CCF",InVedic_Extensions:"1CD0-1CFF",InPhonetic_Extensions:"1D00-1D7F",InPhonetic_Extensions_Supplement:"1D80-1DBF",InCombining_Diacritical_Marks_Supplement:"1DC0-1DFF",InLatin_Extended_Additional:"1E00-1EFF",InGreek_Extended:"1F00-1FFF",InGeneral_Punctuation:"2000-206F",InSuperscripts_and_Subscripts:"2070-209F",InCurrency_Symbols:"20A0-20CF",InCombining_Diacritical_Marks_for_Symbols:"20D0-20FF",InLetterlike_Symbols:"2100-214F",InNumber_Forms:"2150-218F",InArrows:"2190-21FF",InMathematical_Operators:"2200-22FF",InMiscellaneous_Technical:"2300-23FF",InControl_Pictures:"2400-243F",InOptical_Character_Recognition:"2440-245F",InEnclosed_Alphanumerics:"2460-24FF",InBox_Drawing:"2500-257F",InBlock_Elements:"2580-259F",InGeometric_Shapes:"25A0-25FF",InMiscellaneous_Symbols:"2600-26FF",InDingbats:"2700-27BF",InMiscellaneous_Mathematical_Symbols_A:"27C0-27EF",InSupplemental_Arrows_A:"27F0-27FF",InBraille_Patterns:"2800-28FF",InSupplemental_Arrows_B:"2900-297F",InMiscellaneous_Mathematical_Symbols_B:"2980-29FF",InSupplemental_Mathematical_Operators:"2A00-2AFF",InMiscellaneous_Symbols_and_Arrows:"2B00-2BFF",InGlagolitic:"2C00-2C5F",InLatin_Extended_C:"2C60-2C7F",InCoptic:"2C80-2CFF",InGeorgian_Supplement:"2D00-2D2F",InTifinagh:"2D30-2D7F",InEthiopic_Extended:"2D80-2DDF",InCyrillic_Extended_A:"2DE0-2DFF",InSupplemental_Punctuation:"2E00-2E7F",InCJK_Radicals_Supplement:"2E80-2EFF",InKangxi_Radicals:"2F00-2FDF",InIdeographic_Description_Characters:"2FF0-2FFF",InCJK_Symbols_and_Punctuation:"3000-303F",InHiragana:"3040-309F",InKatakana:"30A0-30FF",InBopomofo:"3100-312F",InHangul_Compatibility_Jamo:"3130-318F",InKanbun:"3190-319F",InBopomofo_Extended:"31A0-31BF",InCJK_Strokes:"31C0-31EF",InKatakana_Phonetic_Extensions:"31F0-31FF",InEnclosed_CJK_Letters_and_Months:"3200-32FF",InCJK_Compatibility:"3300-33FF",InCJK_Unified_Ideographs_Extension_A:"3400-4DBF",InYijing_Hexagram_Symbols:"4DC0-4DFF",InCJK_Unified_Ideographs:"4E00-9FFF",InYi_Syllables:"A000-A48F",InYi_Radicals:"A490-A4CF",InLisu:"A4D0-A4FF",InVai:"A500-A63F",InCyrillic_Extended_B:"A640-A69F",InBamum:"A6A0-A6FF",InModifier_Tone_Letters:"A700-A71F",InLatin_Extended_D:"A720-A7FF",InSyloti_Nagri:"A800-A82F",InCommon_Indic_Number_Forms:"A830-A83F",InPhags_pa:"A840-A87F",InSaurashtra:"A880-A8DF",InDevanagari_Extended:"A8E0-A8FF",InKayah_Li:"A900-A92F",InRejang:"A930-A95F",InHangul_Jamo_Extended_A:"A960-A97F",InJavanese:"A980-A9DF",InCham:"AA00-AA5F",InMyanmar_Extended_A:"AA60-AA7F",InTai_Viet:"AA80-AADF",InMeetei_Mayek_Extensions:"AAE0-AAFF",InEthiopic_Extended_A:"AB00-AB2F",InMeetei_Mayek:"ABC0-ABFF",InHangul_Syllables:"AC00-D7AF",InHangul_Jamo_Extended_B:"D7B0-D7FF",InHigh_Surrogates:"D800-DB7F",InHigh_Private_Use_Surrogates:"DB80-DBFF",InLow_Surrogates:"DC00-DFFF",InPrivate_Use_Area:"E000-F8FF",InCJK_Compatibility_Ideographs:"F900-FAFF",InAlphabetic_Presentation_Forms:"FB00-FB4F",InArabic_Presentation_Forms_A:"FB50-FDFF",InVariation_Selectors:"FE00-FE0F",InVertical_Forms:"FE10-FE1F",InCombining_Half_Marks:"FE20-FE2F",InCJK_Compatibility_Forms:"FE30-FE4F",InSmall_Form_Variants:"FE50-FE6F",InArabic_Presentation_Forms_B:"FE70-FEFF",InHalfwidth_and_Fullwidth_Forms:"FF00-FFEF",InSpecials:"FFF0-FFFF"})})(XRegExp); +//XRegExp Unicode Properties 1.0.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");n.install("extensibility"),n.addUnicodePackage({Alphabetic:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Uppercase:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lowercase:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A",White_Space:"0009-000D0020008500A01680180E2000-200A20282029202F205F3000",Noncharacter_Code_Point:"FDD0-FDEFFFFEFFFF",Default_Ignorable_Code_Point:"00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8",Any:"0000-FFFF",Ascii:"0000-007F",Assigned:"0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD"})})(XRegExp); +//XRegExp.matchRecursive 0.2.0 +(function(n){"use strict";function t(n,t,i,r){return{value:n,name:t,start:i,end:r}}n.matchRecursive=function(i,r,u,f,e){f=f||"",e=e||{};var g=f.indexOf("g")>-1,nt=f.indexOf("y")>-1,d=f.replace(/y/g,""),y=e.escapeChar,o=e.valueNames,v=[],b=0,h=0,s=0,c=0,p,w,l,a,k;if(r=n(r,d),u=n(u,d),y){if(y.length>1)throw new SyntaxError("can't use more than one escape character");y=n.escape(y),k=new RegExp("(?:"+y+"[\\S\\s]|(?:(?!"+n.union([r,u]).source+")[^"+y+"])+)+",f.replace(/[^im]+/g,""))}for(;;){if(y&&(s+=(n.exec(i,k,s,"sticky")||[""])[0].length),l=n.exec(i,r,s),a=n.exec(i,u,s),l&&a&&(l.index<=a.index?a=null:l=null),l||a)h=(l||a).index,s=h+(l||a)[0].length;else if(!b)break;if(nt&&!b&&h>c)break;if(l)b||(p=h,w=s),++b;else if(a&&b){if(!--b&&(o?(o[0]&&p>c&&v.push(t(o[0],i.slice(c,p),c,p)),o[1]&&v.push(t(o[1],i.slice(p,w),p,w)),o[2]&&v.push(t(o[2],i.slice(w,h),w,h)),o[3]&&v.push(t(o[3],i.slice(h,s),h,s))):v.push(i.slice(w,h)),c=s,!g))break}else throw new Error("string contains unbalanced delimiters");h===s&&++s}return g&&!nt&&o&&o[0]&&i.length>c&&v.push(t(o[0],i.slice(c),c,i.length)),v}})(XRegExp); +//XRegExp.build 0.1.0 +(function(n){"use strict";function u(n){var i=/^(?:\(\?:\))?\^/,t=/\$(?:\(\?:\))?$/;return t.test(n.replace(/\\[\s\S]/g,""))?n.replace(i,"").replace(t,""):n}function t(t){return n.isRegExp(t)?t.xregexp&&!t.xregexp.isNative?t:n(t.source):n(t)}var i=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,r=n.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,i],"g");n.build=function(f,e,o){var w=/^\(\?([\w$]+)\)/.exec(f),l={},s=0,v,h=0,p=[0],y,a,c;w&&(o=o||"",w[1].replace(/./g,function(n){o+=o.indexOf(n)>-1?"":n}));for(c in e)e.hasOwnProperty(c)&&(a=t(e[c]),l[c]={pattern:u(a.source),names:a.xregexp.captureNames||[]});return f=t(f),y=f.xregexp.captureNames||[],f=f.source.replace(r,function(n,t,r,u,f){var o=t||r,e,c;if(o){if(!l.hasOwnProperty(o))throw new ReferenceError("undefined property "+n);return t?(e=y[h],p[++h]=++s,c="(?<"+(e||o)+">"):c="(?:",v=s,c+l[o].pattern.replace(i,function(n,t,i){if(t){if(e=l[o].names[s-v],++s,e)return"(?<"+e+">"}else if(i)return"\\"+(+i+v);return n})+")"}if(u){if(e=y[h],p[++h]=++s,e)return"(?<"+e+">"}else if(f)return"\\"+p[+f];return n}),n(f,o)}})(XRegExp); +//XRegExp Prototype Methods 1.0.0 +(function(n){"use strict";function t(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])}t(n.prototype,{apply:function(n,t){return this.test(t[0])},call:function(n,t){return this.test(t)},forEach:function(t,i,r){return n.forEach(t,this,i,r)},globalize:function(){return n.globalize(this)},xexec:function(t,i,r){return n.exec(t,this,i,r)},xtest:function(t,i,r){return n.test(t,this,i,r)}})})(XRegExp) diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/404.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/404.html new file mode 100644 index 0000000..9bf4293 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/404.html @@ -0,0 +1,12 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block title %}{% trans 'Page not found' %}{% endblock %} + +{% block content %} + +<h2>{% trans 'Page not found' %}</h2> + +<p>{% trans "We're sorry, but the requested page could not be found." %}</p> + +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/500.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/500.html new file mode 100644 index 0000000..4842faa --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/500.html @@ -0,0 +1,17 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> +› {% trans 'Server error' %} +</div> +{% endblock %} + +{% block title %}{% trans 'Server error (500)' %}{% endblock %} + +{% block content %} +<h1>{% trans 'Server Error <em>(500)</em>' %}</h1> +<p>{% trans "There's been an error. It's been reported to the site administrators via email and should be fixed shortly. Thanks for your patience." %}</p> + +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/actions.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/actions.html new file mode 100644 index 0000000..ef2232e --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/actions.html @@ -0,0 +1,23 @@ +{% load i18n %} +<div class="actions"> + {% block actions %} + {% block actions-form %} + {% for field in action_form %}{% if field.label %}<label>{{ field.label }} {% endif %}{{ field }}{% if field.label %}</label>{% endif %}{% endfor %} + {% endblock %} + {% block actions-submit %} + <button type="submit" class="button" title="{% trans "Run the selected action" %}" name="index" value="{{ action_index|default:0 }}">{% trans "Go" %}</button> + {% endblock %} + {% block actions-counter %} + {% if actions_selection_counter %} + <span class="action-counter" data-actions-icnt="{{ cl.result_list|length }}">{{ selection_note }}</span> + {% if cl.result_count != cl.result_list|length %} + <span class="all">{{ selection_note_all }}</span> + <span class="question"> + <a href="#" title="{% trans "Click here to select the objects across all pages" %}">{% blocktrans with cl.result_count as total_count %}Select all {{ total_count }} {{ module_name }}{% endblocktrans %}</a> + </span> + <span class="clear"><a href="#">{% trans "Clear selection" %}</a></span> + {% endif %} + {% endif %} + {% endblock %} + {% endblock %} +</div> diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/app_index.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/app_index.html new file mode 100644 index 0000000..6868b49 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/app_index.html @@ -0,0 +1,18 @@ +{% extends "admin/index.html" %} +{% load i18n %} + +{% block bodyclass %}{{ block.super }} app-{{ app_label }}{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> +› +{% for app in app_list %} +{{ app.name }} +{% endfor %} +</div> +{% endblock %} +{% endif %} + +{% block sidebar %}{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/auth/user/add_form.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/auth/user/add_form.html new file mode 100644 index 0000000..5c240d5 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/auth/user/add_form.html @@ -0,0 +1,10 @@ +{% extends "admin/change_form.html" %} +{% load i18n %} + +{% block form_top %} + {% if not is_popup %} + <p>{% trans "First, enter a username and password. Then, you'll be able to edit more user options." %}</p> + {% else %} + <p>{% trans "Enter a username and password." %}</p> + {% endif %} +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/auth/user/change_password.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/auth/user/change_password.html new file mode 100644 index 0000000..4b3bfb9 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/auth/user/change_password.html @@ -0,0 +1,60 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} +{% load admin_urls %} + +{% block extrahead %}{{ block.super }} +<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script> +{% endblock %} +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}">{% endblock %} +{% block bodyclass %}{{ block.super }} {{ opts.app_label }}-{{ opts.model_name }} change-form{% endblock %} +{% if not is_popup %} +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> +› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a> +› <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a> +› <a href="{% url opts|admin_urlname:'change' original.pk|admin_urlquote %}">{{ original|truncatewords:"18" }}</a> +› {% trans 'Change password' %} +</div> +{% endblock %} +{% endif %} +{% block content %}<div id="content-main"> +<form action="{{ form_url }}" method="post" id="{{ opts.model_name }}_form">{% csrf_token %}{% block form_top %}{% endblock %} +<input type="text" name="username" value="{{ original.get_username }}" style="display: none"> +<div> +{% if is_popup %}<input type="hidden" name="_popup" value="1">{% endif %} +{% if form.errors %} + <p class="errornote"> + {% if form.errors.items|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} + </p> +{% endif %} + +<p>{% blocktrans with username=original %}Enter a new password for the user <strong>{{ username }}</strong>.{% endblocktrans %}</p> + +<fieldset class="module aligned"> + +<div class="form-row"> + {{ form.password1.errors }} + {{ form.password1.label_tag }} {{ form.password1 }} + {% if form.password1.help_text %} + <div class="help">{{ form.password1.help_text|safe }}</div> + {% endif %} +</div> + +<div class="form-row"> + {{ form.password2.errors }} + {{ form.password2.label_tag }} {{ form.password2 }} + {% if form.password2.help_text %} + <div class="help">{{ form.password2.help_text|safe }}</div> + {% endif %} +</div> + +</fieldset> + +<div class="submit-row"> +<input type="submit" value="{% trans 'Change password' %}" class="default"> +</div> + +</div> +</form></div> +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/base.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/base.html new file mode 100644 index 0000000..2cf5137 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/base.html @@ -0,0 +1,93 @@ +{% load i18n static %}<!DOCTYPE html> +{% get_current_language as LANGUAGE_CODE %}{% get_current_language_bidi as LANGUAGE_BIDI %} +<html lang="{{ LANGUAGE_CODE|default:"en-us" }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}> +<head> +<title>{% block title %}{% endblock %} + +{% block extrastyle %}{% endblock %} +{% if LANGUAGE_BIDI %}{% endif %} +{% block extrahead %}{% endblock %} +{% block responsive %} + + + {% if LANGUAGE_BIDI %}{% endif %} +{% endblock %} +{% block blockbots %}{% endblock %} + +{% load i18n %} + + + + +
+ + {% if not is_popup %} + + + + {% block breadcrumbs %} + + {% endblock %} + {% endif %} + + {% block messages %} + {% if messages %} +
    {% for message in messages %} + {{ message|capfirst }} + {% endfor %}
+ {% endif %} + {% endblock messages %} + + +
+ {% block pretitle %}{% endblock %} + {% block content_title %}{% if title %}

{{ title }}

{% endif %}{% endblock %} + {% block content %} + {% block object-tools %}{% endblock %} + {{ content }} + {% endblock %} + {% block sidebar %}{% endblock %} +
+
+ + + {% block footer %}{% endblock %} +
+ + + + diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/base_site.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/base_site.html new file mode 100644 index 0000000..cae0a69 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/base_site.html @@ -0,0 +1,9 @@ +{% extends "admin/base.html" %} + +{% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %} + +{% block branding %} +

{{ site_header|default:_('Django administration') }}

+{% endblock %} + +{% block nav-global %}{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_form.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_form.html new file mode 100644 index 0000000..1d749f2 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_form.html @@ -0,0 +1,81 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static admin_modify %} + +{% block extrahead %}{{ block.super }} + +{{ media }} +{% endblock %} + +{% block extrastyle %}{{ block.super }}{% endblock %} + +{% block coltype %}colM{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} + +{% endblock %} +{% endif %} + +{% block content %}
+{% block object-tools %} +{% if change %}{% if not is_popup %} +
    + {% block object-tools-items %} + {% change_form_object_tools %} + {% endblock %} +
+{% endif %}{% endif %} +{% endblock %} +
{% csrf_token %}{% block form_top %}{% endblock %} +
+{% if is_popup %}{% endif %} +{% if to_field %}{% endif %} +{% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} +{% if errors %} +

+ {% if errors|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} +

+ {{ adminform.form.non_field_errors }} +{% endif %} + +{% block field_sets %} +{% for fieldset in adminform %} + {% include "admin/includes/fieldset.html" %} +{% endfor %} +{% endblock %} + +{% block after_field_sets %}{% endblock %} + +{% block inline_field_sets %} +{% for inline_admin_formset in inline_admin_formsets %} + {% include inline_admin_formset.opts.template %} +{% endfor %} +{% endblock %} + +{% block after_related_objects %}{% endblock %} + +{% block submit_buttons_bottom %}{% submit_row %}{% endblock %} + +{% block admin_change_form_document_ready %} + +{% endblock %} + +{# JavaScript for prepopulated fields #} +{% prepopulated_fields_js %} + +
+
+{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_form_object_tools.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_form_object_tools.html new file mode 100644 index 0000000..3248749 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_form_object_tools.html @@ -0,0 +1,8 @@ +{% load i18n admin_urls %} +{% block object-tools-items %} +
  • + {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} + {% trans "History" %} +
  • +{% if has_absolute_url %}
  • {% trans "View on site" %}
  • {% endif %} +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list.html new file mode 100644 index 0000000..768e581 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list.html @@ -0,0 +1,82 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static admin_list %} + +{% block extrastyle %} + {{ block.super }} + + {% if cl.formset %} + + {% endif %} + {% if cl.formset or action_form %} + + {% endif %} + {{ media.css }} + {% if not actions_on_top and not actions_on_bottom %} + + {% endif %} +{% endblock %} + +{% block extrahead %} +{{ block.super }} +{{ media.js }} +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-list{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} + +{% endblock %} +{% endif %} + +{% block coltype %}flex{% endblock %} + +{% block content %} +
    + {% block object-tools %} +
      + {% block object-tools-items %} + {% change_list_object_tools %} + {% endblock %} +
    + {% endblock %} + {% if cl.formset and cl.formset.errors %} +

    + {% if cl.formset.total_error_count == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} +

    + {{ cl.formset.non_form_errors }} + {% endif %} +
    + {% block search %}{% search_form cl %}{% endblock %} + {% block date_hierarchy %}{% if cl.date_hierarchy %}{% date_hierarchy cl %}{% endif %}{% endblock %} + + {% block filters %} + {% if cl.has_filters %} +
    +

    {% trans 'Filter' %}

    + {% for spec in cl.filter_specs %}{% admin_list_filter cl spec %}{% endfor %} +
    + {% endif %} + {% endblock %} + +
    {% csrf_token %} + {% if cl.formset %} +
    {{ cl.formset.management_form }}
    + {% endif %} + + {% block result_list %} + {% if action_form and actions_on_top and cl.show_admin_actions %}{% admin_actions %}{% endif %} + {% result_list cl %} + {% if action_form and actions_on_bottom and cl.show_admin_actions %}{% admin_actions %}{% endif %} + {% endblock %} + {% block pagination %}{% pagination cl %}{% endblock %} +
    +
    +
    +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list_object_tools.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list_object_tools.html new file mode 100644 index 0000000..5d6d458 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list_object_tools.html @@ -0,0 +1,12 @@ +{% load i18n admin_urls %} + +{% block object-tools-items %} + {% if has_add_permission %} +
  • + {% url cl.opts|admin_urlname:'add' as add_url %} + + {% blocktrans with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktrans %} + +
  • + {% endif %} +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list_results.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list_results.html new file mode 100644 index 0000000..9b97b5b --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/change_list_results.html @@ -0,0 +1,38 @@ +{% load i18n static %} +{% if result_hidden_fields %} +
    {# DIV for HTML validation #} +{% for item in result_hidden_fields %}{{ item }}{% endfor %} +
    +{% endif %} +{% if results %} +
    + + + +{% for header in result_headers %} +{% endfor %} + + + +{% for result in results %} +{% if result.form and result.form.non_field_errors %} + +{% endif %} +{% for item in result %}{{ item }}{% endfor %} +{% endfor %} + +
    + {% if header.sortable %} + {% if header.sort_priority > 0 %} +
    + + {% if num_sorted_fields > 1 %}{{ header.sort_priority }}{% endif %} + +
    + {% endif %} + {% endif %} +
    {% if header.sortable %}{{ header.text|capfirst }}{% else %}{{ header.text|capfirst }}{% endif %}
    +
    +
    {{ result.form.non_field_errors }}
    +
    +{% endif %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/date_hierarchy.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/date_hierarchy.html new file mode 100644 index 0000000..65ae800 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/date_hierarchy.html @@ -0,0 +1,16 @@ +{% if show %} +
    +
    +
    +{% endif %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/delete_confirmation.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/delete_confirmation.html new file mode 100644 index 0000000..c28a87c --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/delete_confirmation.html @@ -0,0 +1,52 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static %} + +{% block extrahead %} + {{ block.super }} + {{ media }} + +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} delete-confirmation{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +{% if perms_lacking %} +

    {% blocktrans with escaped_object=object %}Deleting the {{ object_name }} '{{ escaped_object }}' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:{% endblocktrans %}

    +
      + {% for obj in perms_lacking %} +
    • {{ obj }}
    • + {% endfor %} +
    +{% elif protected %} +

    {% blocktrans with escaped_object=object %}Deleting the {{ object_name }} '{{ escaped_object }}' would require deleting the following protected related objects:{% endblocktrans %}

    +
      + {% for obj in protected %} +
    • {{ obj }}
    • + {% endfor %} +
    +{% else %} +

    {% blocktrans with escaped_object=object %}Are you sure you want to delete the {{ object_name }} "{{ escaped_object }}"? All of the following related items will be deleted:{% endblocktrans %}

    + {% include "admin/includes/object_delete_summary.html" %} +

    {% trans "Objects" %}

    +
      {{ deleted_objects|unordered_list }}
    +
    {% csrf_token %} +
    + + {% if is_popup %}{% endif %} + {% if to_field %}{% endif %} + + {% trans "No, take me back" %} +
    +
    +{% endif %} +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/delete_selected_confirmation.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/delete_selected_confirmation.html new file mode 100644 index 0000000..4d77ae3 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/delete_selected_confirmation.html @@ -0,0 +1,55 @@ +{% extends "admin/base_site.html" %} +{% load i18n l10n admin_urls static %} + +{% block extrahead %} + {{ block.super }} + {{ media }} + +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} delete-confirmation delete-selected-confirmation{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +{% if perms_lacking %} +

    {% blocktrans %}Deleting the selected {{ objects_name }} would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:{% endblocktrans %}

    +
      + {% for obj in perms_lacking %} +
    • {{ obj }}
    • + {% endfor %} +
    +{% elif protected %} +

    {% blocktrans %}Deleting the selected {{ objects_name }} would require deleting the following protected related objects:{% endblocktrans %}

    +
      + {% for obj in protected %} +
    • {{ obj }}
    • + {% endfor %} +
    +{% else %} +

    {% blocktrans %}Are you sure you want to delete the selected {{ objects_name }}? All of the following objects and their related items will be deleted:{% endblocktrans %}

    + {% include "admin/includes/object_delete_summary.html" %} +

    {% trans "Objects" %}

    + {% for deletable_object in deletable_objects %} +
      {{ deletable_object|unordered_list }}
    + {% endfor %} +
    {% csrf_token %} +
    + {% for obj in queryset %} + + {% endfor %} + + + + {% trans "No, take me back" %} +
    +
    +{% endif %} +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/edit_inline/stacked.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/edit_inline/stacked.html new file mode 100644 index 0000000..8af4d54 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/edit_inline/stacked.html @@ -0,0 +1,25 @@ +{% load i18n admin_urls static %} +
    +
    +

    {{ inline_admin_formset.opts.verbose_name_plural|capfirst }}

    +{{ inline_admin_formset.formset.management_form }} +{{ inline_admin_formset.formset.non_form_errors }} + +{% for inline_admin_form in inline_admin_formset %}
    +

    {{ inline_admin_formset.opts.verbose_name|capfirst }}: {% if inline_admin_form.original %}{{ inline_admin_form.original }}{% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %} {% if inline_admin_formset.has_change_permission %}{% trans "Change" %}{% else %}{% trans "View" %}{% endif %}{% endif %} +{% else %}#{{ forloop.counter }}{% endif %} + {% if inline_admin_form.show_url %}{% trans "View on site" %}{% endif %} + {% if inline_admin_formset.formset.can_delete and inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }}{% endif %} +

    + {% if inline_admin_form.form.non_field_errors %}{{ inline_admin_form.form.non_field_errors }}{% endif %} + {% for fieldset in inline_admin_form %} + {% include "admin/includes/fieldset.html" %} + {% endfor %} + {% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %} + {% if inline_admin_form.fk_field %}{{ inline_admin_form.fk_field.field }}{% endif %} +
    {% endfor %} +
    +
    diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/edit_inline/tabular.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/edit_inline/tabular.html new file mode 100644 index 0000000..531d7b6 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/edit_inline/tabular.html @@ -0,0 +1,75 @@ +{% load i18n admin_urls static admin_modify %} +
    + +
    diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/filter.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/filter.html new file mode 100644 index 0000000..cd88652 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/filter.html @@ -0,0 +1,8 @@ +{% load i18n %} +

    {% blocktrans with filter_title=title %} By {{ filter_title }} {% endblocktrans %}

    + diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html new file mode 100644 index 0000000..218fd5a --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html @@ -0,0 +1,29 @@ +
    + {% if fieldset.name %}

    {{ fieldset.name }}

    {% endif %} + {% if fieldset.description %} +
    {{ fieldset.description|safe }}
    + {% endif %} + {% for line in fieldset %} +
    + {% if line.fields|length_is:'1' %}{{ line.errors }}{% endif %} + {% for field in line %} + + {% if not line.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %} + {% if field.is_checkbox %} + {{ field.field }}{{ field.label_tag }} + {% else %} + {{ field.label_tag }} + {% if field.is_readonly %} +
    {{ field.contents }}
    + {% else %} + {{ field.field }} + {% endif %} + {% endif %} + {% if field.field.help_text %} +
    {{ field.field.help_text|safe }}
    + {% endif %} +
    + {% endfor %} + + {% endfor %} +
    diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/includes/object_delete_summary.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/includes/object_delete_summary.html new file mode 100644 index 0000000..6a8bf65 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/includes/object_delete_summary.html @@ -0,0 +1,7 @@ +{% load i18n %} +

    {% trans "Summary" %}

    +
      + {% for model_name, object_count in model_count %} +
    • {{ model_name|capfirst }}: {{ object_count }}
    • + {% endfor %} +
    diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/index.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/index.html new file mode 100644 index 0000000..2b50015 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/index.html @@ -0,0 +1,86 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} + +{% block extrastyle %}{{ block.super }}{% endblock %} + +{% block coltype %}colMS{% endblock %} + +{% block bodyclass %}{{ block.super }} dashboard{% endblock %} + +{% block breadcrumbs %}{% endblock %} + +{% block content %} +
    + +{% if app_list %} + {% for app in app_list %} +
    + + + {% for model in app.models %} + + {% if model.admin_url %} + + {% else %} + + {% endif %} + + {% if model.add_url %} + + {% else %} + + {% endif %} + + {% if model.admin_url %} + {% if model.view_only %} + + {% else %} + + {% endif %} + {% else %} + + {% endif %} + + {% endfor %} +
    + {{ app.name }} +
    {{ model.name }}{{ model.name }}{% trans 'Add' %} {% trans 'View' %}{% trans 'Change' %} 
    +
    + {% endfor %} +{% else %} +

    {% trans "You don't have permission to view or edit anything." %}

    +{% endif %} +
    +{% endblock %} + +{% block sidebar %} + +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/invalid_setup.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/invalid_setup.html new file mode 100644 index 0000000..7c71107 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/invalid_setup.html @@ -0,0 +1,13 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +

    {% trans "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." %}

    +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/login.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/login.html new file mode 100644 index 0000000..396be27 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/login.html @@ -0,0 +1,66 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} + +{% block extrastyle %}{{ block.super }} +{{ form.media }} +{% endblock %} + +{% block bodyclass %}{{ block.super }} login{% endblock %} + +{% block usertools %}{% endblock %} + +{% block nav-global %}{% endblock %} + +{% block content_title %}{% endblock %} + +{% block breadcrumbs %}{% endblock %} + +{% block content %} +{% if form.errors and not form.non_field_errors %} +

    +{% if form.errors.items|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} +

    +{% endif %} + +{% if form.non_field_errors %} +{% for error in form.non_field_errors %} +

    + {{ error }} +

    +{% endfor %} +{% endif %} + +
    + +{% if user.is_authenticated %} +

    +{% blocktrans trimmed %} + You are authenticated as {{ username }}, but are not authorized to + access this page. Would you like to login to a different account? +{% endblocktrans %} +

    +{% endif %} + +
    {% csrf_token %} +
    + {{ form.username.errors }} + {{ form.username.label_tag }} {{ form.username }} +
    +
    + {{ form.password.errors }} + {{ form.password.label_tag }} {{ form.password }} + +
    + {% url 'admin_password_reset' as password_reset_url %} + {% if password_reset_url %} + + {% endif %} +
    + +
    +
    + +
    +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/object_history.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/object_history.html new file mode 100644 index 0000000..f512aa1 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/object_history.html @@ -0,0 +1,42 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +
    +
    + +{% if action_list %} + + + + + + + + + + {% for action in action_list %} + + + + + + {% endfor %} + +
    {% trans 'Date/time' %}{% trans 'User' %}{% trans 'Action' %}
    {{ action.action_time|date:"DATETIME_FORMAT" }}{{ action.user.get_username }}{% if action.user.get_full_name %} ({{ action.user.get_full_name }}){% endif %}{{ action.get_change_message }}
    +{% else %} +

    {% trans "This object doesn't have a change history. It probably wasn't added via this admin site." %}

    +{% endif %} +
    +
    +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/pagination.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/pagination.html new file mode 100644 index 0000000..bef843a --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/pagination.html @@ -0,0 +1,12 @@ +{% load admin_list %} +{% load i18n %} +

    +{% if pagination_required %} +{% for i in page_range %} + {% paginator_number cl i %} +{% endfor %} +{% endif %} +{{ cl.result_count }} {% if cl.result_count == 1 %}{{ cl.opts.verbose_name }}{% else %}{{ cl.opts.verbose_name_plural }}{% endif %} +{% if show_all_url %}  {% trans 'Show all' %}{% endif %} +{% if cl.formset and cl.result_count %}{% endif %} +

    diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/popup_response.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/popup_response.html new file mode 100644 index 0000000..303960f --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/popup_response.html @@ -0,0 +1,11 @@ +{% load i18n static %} + + {% trans 'Popup closing…' %} + + + + diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/prepopulated_fields_js.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/prepopulated_fields_js.html new file mode 100644 index 0000000..1572339 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/prepopulated_fields_js.html @@ -0,0 +1,6 @@ +{% load l10n static %} + diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/search_form.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/search_form.html new file mode 100644 index 0000000..3bb5cba --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/search_form.html @@ -0,0 +1,16 @@ +{% load i18n static %} +{% if cl.search_fields %} +
    +{% endif %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/submit_line.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/submit_line.html new file mode 100644 index 0000000..bb283fe --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/submit_line.html @@ -0,0 +1,14 @@ +{% load i18n admin_urls %} +
    +{% block submit-row %} +{% if show_save %}{% endif %} +{% if show_delete_link and original %} + {% url opts|admin_urlname:'delete' original.pk|admin_urlquote as delete_url %} + +{% endif %} +{% if show_save_as_new %}{% endif %} +{% if show_save_and_add_another %}{% endif %} +{% if show_save_and_continue %}{% endif %} +{% if show_close %}{% trans 'Close' %}{% endif %} +{% endblock %} +
    diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/clearable_file_input.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/clearable_file_input.html new file mode 100644 index 0000000..80699d1 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/clearable_file_input.html @@ -0,0 +1,6 @@ +{% if widget.is_initial %}

    {{ widget.initial_text }}: {{ widget.value }}{% if not widget.required %} + + +{% endif %}
    +{{ widget.input_text }}:{% endif %} +{% if widget.is_initial %}

    {% endif %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html new file mode 100644 index 0000000..fa641b7 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html @@ -0,0 +1 @@ +{% include 'django/forms/widgets/input.html' %}{% if related_url %}{% endif %}{% if link_label %} {% if link_url %}{% endif %}{{ link_label }}{% if link_url %}{% endif %}{% endif %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html new file mode 100644 index 0000000..0dd0331 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html @@ -0,0 +1 @@ +{% include 'admin/widgets/foreign_key_raw_id.html' %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/radio.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/radio.html new file mode 100644 index 0000000..780899a --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/radio.html @@ -0,0 +1 @@ +{% include "django/forms/widgets/multiple_input.html" %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html new file mode 100644 index 0000000..7cdcb33 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html @@ -0,0 +1,31 @@ +{% load i18n static %} + diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/split_datetime.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/split_datetime.html new file mode 100644 index 0000000..7fc7bf6 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/split_datetime.html @@ -0,0 +1,4 @@ +

    + {{ date_label }} {% with widget=widget.subwidgets.0 %}{% include widget.template_name %}{% endwith %}
    + {{ time_label }} {% with widget=widget.subwidgets.1 %}{% include widget.template_name %}{% endwith %} +

    diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/url.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/url.html new file mode 100644 index 0000000..69dc401 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/admin/widgets/url.html @@ -0,0 +1 @@ +{% if url_valid %}

    {{ current_label }} {{ widget.value }}
    {{ change_label }} {% endif %}{% include "django/forms/widgets/input.html" %}{% if url_valid %}

    {% endif %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/logged_out.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/logged_out.html new file mode 100644 index 0000000..6a18186 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/logged_out.html @@ -0,0 +1,12 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %}{% endblock %} + +{% block content %} + +

    {% trans "Thanks for spending some quality time with the Web site today." %}

    + +

    {% trans 'Log in again' %}

    + +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_change_done.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_change_done.html new file mode 100644 index 0000000..3e557eb --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_change_done.html @@ -0,0 +1,15 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} +{% block userlinks %}{% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}{% trans 'Documentation' %} / {% endif %}{% trans 'Change password' %} / {% trans 'Log out' %}{% endblock %} +{% block breadcrumbs %} + +{% endblock %} + +{% block title %}{{ title }}{% endblock %} +{% block content_title %}

    {{ title }}

    {% endblock %} +{% block content %} +

    {% trans 'Your password was changed.' %}

    +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_change_form.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_change_form.html new file mode 100644 index 0000000..8c26108 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_change_form.html @@ -0,0 +1,60 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} +{% block extrastyle %}{{ block.super }}{% endblock %} +{% block userlinks %}{% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}{% trans 'Documentation' %} / {% endif %} {% trans 'Change password' %} / {% trans 'Log out' %}{% endblock %} +{% block breadcrumbs %} + +{% endblock %} + +{% block title %}{{ title }}{% endblock %} +{% block content_title %}

    {{ title }}

    {% endblock %} + +{% block content %}
    + +
    {% csrf_token %} +
    +{% if form.errors %} +

    + {% if form.errors.items|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} +

    +{% endif %} + + +

    {% trans "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." %}

    + +
    + +
    + {{ form.old_password.errors }} + {{ form.old_password.label_tag }} {{ form.old_password }} +
    + +
    + {{ form.new_password1.errors }} + {{ form.new_password1.label_tag }} {{ form.new_password1 }} + {% if form.new_password1.help_text %} +
    {{ form.new_password1.help_text|safe }}
    + {% endif %} +
    + +
    +{{ form.new_password2.errors }} + {{ form.new_password2.label_tag }} {{ form.new_password2 }} + {% if form.new_password2.help_text %} +
    {{ form.new_password2.help_text|safe }}
    + {% endif %} +
    + +
    + +
    + +
    + +
    +
    + +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_complete.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_complete.html new file mode 100644 index 0000000..19f87a5 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_complete.html @@ -0,0 +1,20 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block title %}{{ title }}{% endblock %} +{% block content_title %}

    {{ title }}

    {% endblock %} + +{% block content %} + +

    {% trans "Your password has been set. You may go ahead and log in now." %}

    + +

    {% trans 'Log in' %}

    + +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_confirm.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_confirm.html new file mode 100644 index 0000000..8666fa9 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_confirm.html @@ -0,0 +1,42 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} + +{% block extrastyle %}{{ block.super }}{% endblock %} +{% block breadcrumbs %} + +{% endblock %} + +{% block title %}{{ title }}{% endblock %} +{% block content_title %}

    {{ title }}

    {% endblock %} +{% block content %} + +{% if validlink %} + +

    {% trans "Please enter your new password twice so we can verify you typed it in correctly." %}

    + +
    {% csrf_token %} +
    +
    + {{ form.new_password1.errors }} + + {{ form.new_password1 }} +
    +
    + {{ form.new_password2.errors }} + + {{ form.new_password2 }} +
    + +
    +
    + +{% else %} + +

    {% trans "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}

    + +{% endif %} + +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_done.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_done.html new file mode 100644 index 0000000..c6fc358 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_done.html @@ -0,0 +1,19 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block title %}{{ title }}{% endblock %} +{% block content_title %}

    {{ title }}

    {% endblock %} +{% block content %} + +

    {% trans "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." %}

    + +

    {% trans "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." %}

    + +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_email.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_email.html new file mode 100644 index 0000000..01b3bcc --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_email.html @@ -0,0 +1,14 @@ +{% load i18n %}{% autoescape off %} +{% blocktrans %}You're receiving this email because you requested a password reset for your user account at {{ site_name }}.{% endblocktrans %} + +{% trans "Please go to the following page and choose a new password:" %} +{% block reset_link %} +{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %} +{% endblock %} +{% trans "Your username, in case you've forgotten:" %} {{ user.get_username }} + +{% trans "Thanks for using our site!" %} + +{% blocktrans %}The {{ site_name }} team{% endblocktrans %} + +{% endautoescape %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_form.html b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_form.html new file mode 100644 index 0000000..5c5d761 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templates/registration/password_reset_form.html @@ -0,0 +1,29 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} + +{% block extrastyle %}{{ block.super }}{% endblock %} +{% block breadcrumbs %} + +{% endblock %} + +{% block title %}{{ title }}{% endblock %} +{% block content_title %}

    {{ title }}

    {% endblock %} +{% block content %} + +

    {% trans "Forgotten your password? Enter your email address below, and we'll email instructions for setting a new one." %}

    + +
    {% csrf_token %} +
    +
    + {{ form.email.errors }} + + {{ form.email }} +
    + +
    +
    + +{% endblock %} diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__init__.py b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/__init__.cpython-37.pyc b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..502f713905cc503b812bbf85ba2464395c4f852f GIT binary patch literal 214 zcmYL@y$!-J6oeg#0wHA(3V0zv7a_y|G|-~Rv4i8_KiMWIX{Z>64VZE=cmV@C>+~hHwvKWfTq#@iELm0@x6nwyurSN23t65K}+jEEMZlw zrB4%;R^6gdX>xOt`L>gU)Wirlf@w*Gt(+N5E|_t}fYw+sJp|FpTV4RBk}L3~G$PD+ a%pBx7SKR0M+_dj;CN;f^a??NNg3%92`8-Vk literal 0 HcmV?d00001 diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_list.cpython-37.pyc b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_list.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cf68c1e3f08bc6c554450f9ec5ddc4d837c6fc4c GIT binary patch literal 11957 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 literal 0 HcmV?d00001 diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_static.cpython-37.pyc b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_static.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..08a003afcf18b60043ee6b7d9369347dfbca50c1 GIT binary patch literal 662 zcmZ8eKabNe6t|r;$yJA`kFC+LENZU7{tNa*CoZt7wuk?rfLg_{a9 zUjatG0iPu+6JLRe=cGXhNAFL5dj7qi-+Oj^JVtOnU;KFY1tav+{|qO9Llx;bk1-NtkMcw$>mxqm(I>RWdC2i=G>Lx!6S|t+WliOZ_ zZ9|_K-@J_vd>}b&m|J~E<_PfLd)gSe0b;sghAwNxg|Sqf)5nV^+RdibY_)r|sAkh! zt4p`t>7rN{jiPU8vn^K4=!Xp}-m?;3OnEnfAry7xj9k#}HPi{+C}`tYX?y4(C~LOH zZ_V%2Cg2bWF~Je((8<`00Lt(8+}S{5h(}NVLp^!c&!W3+VqbM~sJd}d*=(4ktPhh( qj3}jb!sKHsL8Q0_nr=A%IIpfvE_BUrlz8e_YCV*Ydl)_v1%CkC-LqK$ literal 0 HcmV?d00001 diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-37.pyc b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..da52679e5a5042451efe6e2cc13244fa943afd74 GIT binary patch literal 1781 zcmZt{%Wfk@uzOw}kH?Okm$DH@a_|8=gm6I-f(0V2w8}=i;nmV=G@kA_Gy8I zCen9wvy5dWqE}U>8?)loY^sFzXEHNv9RM~f4Bn^OS0XR7SP8&gBigrh>$#|=*_n{L z+q=3q7AmR|nU*Rlr8rJs>xP`4!<{C)CW>UrMPi|P_;ANKeF3Xl2Eb`eCIl9(>9M^| zz*g(vq7(BxEk4<*BJFF60uJ1>IGYJ=$8!7|kzIK5ub+mc zOwYjX;aMz)$J2}pSq-y~hP$JWbG5Tw?3`SDI4X9wf2i`YI={%1WRjHG@Mu_`CnvGY zKPcnmG#;nLc*rMlF`h2AWLhYhj)um(;UYXL9#?Z#1Rhs|@?5u#1d?cG3%xZVup~O2 zPyqPhj(igi9}oqhxS|jQdeEn`0UX#muo=(hpa-O$M+g;|#Gu~`4J&{j^(kws_*7I8 z+ALnH{euJpkKYn3RA#hpf(EpVUL8yVSgm6VZnSu#b|xXLwxPp1tXrp+e9QgXJ@w?)FKb*FZ3C?&Ne z|Kv>`WJ`JXvJFkts{OjXM`~OC4g3)Jy-R4Q+6I0H_;|B{H`Q|OUs3dPkEoT}GkItq zXlGigO820?Dn!`Y`(D^XIn<=Fzig|H)TRzeHw#Rol>P+QGLZYSs=<6D3i#w2{Wv zR;fy-g=``dCzZrJGas7=3z1=~8%&0H+6JJ#S;?VU*n9I@AKVrB!1yr$=i$XlZlL@o z0<31~0_ZR4#$9!38y;qEIW1=;^VJj_6d9MRD7pqf2WF^nELb+5K^%qc@RC2d0-FL{)5g~i#f+(^xtHm5!EgLVg)p?LfWN{<n+Yud~l*vX@ajCPt%c%<+=8y7(+b>sl9non(-oW w0yWM{BX z*{wbCACe>gfZw7kr~M0@XnEo+RiLt3t!_#E`r1ECCJ}=1_TtZ9Wg7+1Wg1=T#(bQSAss$(idb*o}OlP7<$DbFq$N;;aG48U(t^(dGwDMlRv;ZXkxo@Da!s~~txT}FtxB;=j}9w&Qea{{iwNU&7vY>;A(SB@nV?D$@(23+ zx1^T&4b(D$hm&O`7?&y$UnO5JzA5ziS$TfF|8h~DpWUirrFZ)x%hp*flB=ZNW!F>| zU(__)&{bZp61Jx0s_GY;3YjkwYQdBADFei)WI+|5*E?xD$5vNOfgl{<6C7d(=rd>k z{J-d%_j$~0%I$!LLl!C>JbneH!3>|G)@htIy2k(p7dWTmyaun`wRi6`2MP`_S_ez_ z1WFD&%R9gyr1%7_+y@Nj2MxMFI=n;o!v;TKfQ5f)ysFk}KRv|txk|ckKl;~xANHGB zWQKrqBItq(<3p1G9!Aw-%`@Gh$Ao=m(twwcMxGu4M69}39Dp&EyoB2H$dE&b)&vLP z%$Fm(9dz(}t>tsr$xki$49E=2k1c;{$tRY?Ku%yP+g}Kh9^uFh@f45oiL*cbpVU7Z z!dJ6_#j^!IAtoXO8hR@%KPKeWmWoHsfDl$?gmg9T?3u|U?lLX}C^~N}>D}u*>no~k zSwqirrjfL=OX#~nUfTbkK6Kni2e{4qG|ff6fF9XN3x=-$x{Dv|e2CwK7YDb$wcV|3 Jua2E#_a8cWle+)_ literal 0 HcmV?d00001 diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/log.cpython-37.pyc b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/__pycache__/log.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1aa910da84ce9408ffc02305f58c9b843d3f8697 GIT binary patch literal 2354 zcmb7FPjA~c6elHFRvaf78mvGzVB?`(>O<``ZFeYwqTBih1qx$8yNilIp+!cKElVy* zH?`+nmiAa+#~qX7zQI0=t~=!`?6mhNJ4rLN+X(Q9A|Kzs-+PbWudFl(jCb3A?0g*% z@+bZ*h6jrWF!e(qf(V+CAq^?TwUaqRH*_hH^w>KgVeJVKuJGOx;Yr%}kKC{>YyCjf zg#VTt(QrxBpOaQ_3X({RmVuGOQO1qL^|K;*lp8gP@o+I5SUiBKuK|%Hq=JNwpu%}e zLbp;CdX@OFRtYbg--%(GgSc)XWQ^wHz%R}pVCpY`%;?OSxh`?Yj6^soOh*tfkak;c zS4pWf=_Tbl=Zn3&0Q7{~p1lyzQoMw57-tKrQNj|V(S^Q0sCJWqo9TBc^x?1HU+JP%t`z zg8NQ)dS&~GG>f|o19{(i*rE!>+jT`SaZtCCBNau<@b@v@6-R6>1GWzU>A}W~^dYAP zfx2pF-#KC>j=GoZ-3|MX$y@ zt4I-7^WE%HbXbjsQ4v%duoR{7N3s z#yXkvFAqHRE9@+BR-6?MeQ&s(UkWx$qrJp&&)m? zVsSC3C$?9B2e6Z*uVv0+l>*c$Z#S&4pEOV8y?fOUO8@yfOQebH^$4%Ow7p}8am`-N z`^OH-j1YA8a-Iwk97VY1P`G(w4a*pMBI4yoC!V0SjnH}sGTC%4P*`ye=1D>0-T^RH!)fcR)KE)D-XYRaJ*|yiJmw}Bb_*~ZX zD1&b2W-?c3Zn*Yh{$4+yK+?W>q*S34HYwX7;LY?$TtURknkfb{FMa#bms(7@@t3|tStJn`e~!h@I1C{6||xI$xPc8Ue=$bJ;fEg tk4h$~hB_`i?3~u*(uEh)O1@yD?TXd2wq5nn`-ro~hp!2}IB>75{SB(|d+PuI literal 0 HcmV?d00001 diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_list.py b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_list.py new file mode 100644 index 0000000..b03e4b6 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_list.py @@ -0,0 +1,485 @@ +import datetime + +from django.contrib.admin.templatetags.admin_urls import add_preserved_filters +from django.contrib.admin.utils import ( + display_for_field, display_for_value, label_for_field, lookup_field, +) +from django.contrib.admin.views.main import ( + ALL_VAR, ORDER_VAR, PAGE_VAR, SEARCH_VAR, +) +from django.core.exceptions import ObjectDoesNotExist +from django.db import models +from django.template import Library +from django.template.loader import get_template +from django.templatetags.static import static +from django.urls import NoReverseMatch +from django.utils import formats +from django.utils.html import format_html +from django.utils.safestring import mark_safe +from django.utils.text import capfirst +from django.utils.translation import gettext as _ + +from .base import InclusionAdminNode + +register = Library() + +DOT = '.' + + +@register.simple_tag +def paginator_number(cl, i): + """ + Generate an individual page index link in a paginated list. + """ + if i == DOT: + return '… ' + elif i == cl.page_num: + return format_html('{} ', i + 1) + else: + return format_html( + '{} ', + cl.get_query_string({PAGE_VAR: i}), + mark_safe(' class="end"' if i == cl.paginator.num_pages - 1 else ''), + i + 1, + ) + + +def pagination(cl): + """ + Generate the series of links to the pages in a paginated list. + """ + paginator, page_num = cl.paginator, cl.page_num + + pagination_required = (not cl.show_all or not cl.can_show_all) and cl.multi_page + if not pagination_required: + page_range = [] + else: + ON_EACH_SIDE = 3 + ON_ENDS = 2 + + # If there are 10 or fewer pages, display links to every page. + # Otherwise, do some fancy + if paginator.num_pages <= 10: + page_range = range(paginator.num_pages) + else: + # Insert "smart" pagination links, so that there are always ON_ENDS + # links at either end of the list of pages, and there are always + # ON_EACH_SIDE links at either end of the "current page" link. + page_range = [] + if page_num > (ON_EACH_SIDE + ON_ENDS): + page_range += [ + *range(0, ON_ENDS), DOT, + *range(page_num - ON_EACH_SIDE, page_num + 1), + ] + else: + page_range.extend(range(0, page_num + 1)) + if page_num < (paginator.num_pages - ON_EACH_SIDE - ON_ENDS - 1): + page_range += [ + *range(page_num + 1, page_num + ON_EACH_SIDE + 1), DOT, + *range(paginator.num_pages - ON_ENDS, paginator.num_pages) + ] + else: + page_range.extend(range(page_num + 1, paginator.num_pages)) + + need_show_all_link = cl.can_show_all and not cl.show_all and cl.multi_page + return { + 'cl': cl, + 'pagination_required': pagination_required, + 'show_all_url': need_show_all_link and cl.get_query_string({ALL_VAR: ''}), + 'page_range': page_range, + 'ALL_VAR': ALL_VAR, + '1': 1, + } + + +@register.tag(name='pagination') +def pagination_tag(parser, token): + return InclusionAdminNode( + parser, token, + func=pagination, + template_name='pagination.html', + takes_context=False, + ) + + +def result_headers(cl): + """ + Generate the list column headers. + """ + ordering_field_columns = cl.get_ordering_field_columns() + for i, field_name in enumerate(cl.list_display): + text, attr = label_for_field( + field_name, cl.model, + model_admin=cl.model_admin, + return_attr=True + ) + is_field_sortable = cl.sortable_by is None or field_name in cl.sortable_by + if attr: + field_name = _coerce_field_name(field_name, i) + # Potentially not sortable + + # if the field is the action checkbox: no sorting and special class + if field_name == 'action_checkbox': + yield { + "text": text, + "class_attrib": mark_safe(' class="action-checkbox-column"'), + "sortable": False, + } + continue + + admin_order_field = getattr(attr, "admin_order_field", None) + if not admin_order_field: + is_field_sortable = False + + if not is_field_sortable: + # Not sortable + yield { + 'text': text, + 'class_attrib': format_html(' class="column-{}"', field_name), + 'sortable': False, + } + continue + + # OK, it is sortable if we got this far + th_classes = ['sortable', 'column-{}'.format(field_name)] + order_type = '' + new_order_type = 'asc' + sort_priority = 0 + # Is it currently being sorted on? + is_sorted = i in ordering_field_columns + if is_sorted: + order_type = ordering_field_columns.get(i).lower() + sort_priority = list(ordering_field_columns).index(i) + 1 + th_classes.append('sorted %sending' % order_type) + new_order_type = {'asc': 'desc', 'desc': 'asc'}[order_type] + + # build new ordering param + o_list_primary = [] # URL for making this field the primary sort + o_list_remove = [] # URL for removing this field from sort + o_list_toggle = [] # URL for toggling order type for this field + + def make_qs_param(t, n): + return ('-' if t == 'desc' else '') + str(n) + + for j, ot in ordering_field_columns.items(): + if j == i: # Same column + param = make_qs_param(new_order_type, j) + # We want clicking on this header to bring the ordering to the + # front + o_list_primary.insert(0, param) + o_list_toggle.append(param) + # o_list_remove - omit + else: + param = make_qs_param(ot, j) + o_list_primary.append(param) + o_list_toggle.append(param) + o_list_remove.append(param) + + if i not in ordering_field_columns: + o_list_primary.insert(0, make_qs_param(new_order_type, i)) + + yield { + "text": text, + "sortable": True, + "sorted": is_sorted, + "ascending": order_type == "asc", + "sort_priority": sort_priority, + "url_primary": cl.get_query_string({ORDER_VAR: '.'.join(o_list_primary)}), + "url_remove": cl.get_query_string({ORDER_VAR: '.'.join(o_list_remove)}), + "url_toggle": cl.get_query_string({ORDER_VAR: '.'.join(o_list_toggle)}), + "class_attrib": format_html(' class="{}"', ' '.join(th_classes)) if th_classes else '', + } + + +def _boolean_icon(field_val): + icon_url = static('admin/img/icon-%s.svg' % {True: 'yes', False: 'no', None: 'unknown'}[field_val]) + return format_html('{}', icon_url, field_val) + + +def _coerce_field_name(field_name, field_index): + """ + Coerce a field_name (which may be a callable) to a string. + """ + if callable(field_name): + if field_name.__name__ == '': + return 'lambda' + str(field_index) + else: + return field_name.__name__ + return field_name + + +def items_for_result(cl, result, form): + """ + Generate the actual list of data. + """ + + def link_in_col(is_first, field_name, cl): + if cl.list_display_links is None: + return False + if is_first and not cl.list_display_links: + return True + return field_name in cl.list_display_links + + first = True + pk = cl.lookup_opts.pk.attname + for field_index, field_name in enumerate(cl.list_display): + empty_value_display = cl.model_admin.get_empty_value_display() + row_classes = ['field-%s' % _coerce_field_name(field_name, field_index)] + try: + f, attr, value = lookup_field(field_name, result, cl.model_admin) + except ObjectDoesNotExist: + result_repr = empty_value_display + else: + empty_value_display = getattr(attr, 'empty_value_display', empty_value_display) + if f is None or f.auto_created: + if field_name == 'action_checkbox': + row_classes = ['action-checkbox'] + boolean = getattr(attr, 'boolean', False) + result_repr = display_for_value(value, empty_value_display, boolean) + if isinstance(value, (datetime.date, datetime.time)): + row_classes.append('nowrap') + else: + if isinstance(f.remote_field, models.ManyToOneRel): + field_val = getattr(result, f.name) + if field_val is None: + result_repr = empty_value_display + else: + result_repr = field_val + else: + result_repr = display_for_field(value, f, empty_value_display) + if isinstance(f, (models.DateField, models.TimeField, models.ForeignKey)): + row_classes.append('nowrap') + if str(result_repr) == '': + result_repr = mark_safe(' ') + row_class = mark_safe(' class="%s"' % ' '.join(row_classes)) + # If list_display_links not defined, add the link tag to the first field + if link_in_col(first, field_name, cl): + table_tag = 'th' if first else 'td' + first = False + + # Display link to the result's change_view if the url exists, else + # display just the result's representation. + try: + url = cl.url_for_result(result) + except NoReverseMatch: + link_or_text = result_repr + else: + url = add_preserved_filters({'preserved_filters': cl.preserved_filters, 'opts': cl.opts}, url) + # Convert the pk to something that can be used in Javascript. + # Problem cases are non-ASCII strings. + if cl.to_field: + attr = str(cl.to_field) + else: + attr = pk + value = result.serializable_value(attr) + link_or_text = format_html( + '{}', + url, + format_html( + ' data-popup-opener="{}"', value + ) if cl.is_popup else '', + result_repr) + + yield format_html('<{}{}>{}', table_tag, row_class, link_or_text, table_tag) + else: + # By default the fields come from ModelAdmin.list_editable, but if we pull + # the fields out of the form instead of list_editable custom admins + # can provide fields on a per request basis + if (form and field_name in form.fields and not ( + field_name == cl.model._meta.pk.name and + form[cl.model._meta.pk.name].is_hidden)): + bf = form[field_name] + result_repr = mark_safe(str(bf.errors) + str(bf)) + yield format_html('{}', row_class, result_repr) + if form and not form[cl.model._meta.pk.name].is_hidden: + yield format_html('{}', form[cl.model._meta.pk.name]) + + +class ResultList(list): + """ + Wrapper class used to return items in a list_editable changelist, annotated + with the form object for error reporting purposes. Needed to maintain + backwards compatibility with existing admin templates. + """ + def __init__(self, form, *items): + self.form = form + super().__init__(*items) + + +def results(cl): + if cl.formset: + for res, form in zip(cl.result_list, cl.formset.forms): + yield ResultList(form, items_for_result(cl, res, form)) + else: + for res in cl.result_list: + yield ResultList(None, items_for_result(cl, res, None)) + + +def result_hidden_fields(cl): + if cl.formset: + for res, form in zip(cl.result_list, cl.formset.forms): + if form[cl.model._meta.pk.name].is_hidden: + yield mark_safe(form[cl.model._meta.pk.name]) + + +def result_list(cl): + """ + Display the headers and data list together. + """ + headers = list(result_headers(cl)) + num_sorted_fields = 0 + for h in headers: + if h['sortable'] and h['sorted']: + num_sorted_fields += 1 + return { + 'cl': cl, + 'result_hidden_fields': list(result_hidden_fields(cl)), + 'result_headers': headers, + 'num_sorted_fields': num_sorted_fields, + 'results': list(results(cl)), + } + + +@register.tag(name='result_list') +def result_list_tag(parser, token): + return InclusionAdminNode( + parser, token, + func=result_list, + template_name='change_list_results.html', + takes_context=False, + ) + + +def date_hierarchy(cl): + """ + Display the date hierarchy for date drill-down functionality. + """ + if cl.date_hierarchy: + field_name = cl.date_hierarchy + year_field = '%s__year' % field_name + month_field = '%s__month' % field_name + day_field = '%s__day' % field_name + field_generic = '%s__' % field_name + year_lookup = cl.params.get(year_field) + month_lookup = cl.params.get(month_field) + day_lookup = cl.params.get(day_field) + + def link(filters): + return cl.get_query_string(filters, [field_generic]) + + if not (year_lookup or month_lookup or day_lookup): + # select appropriate start level + date_range = cl.queryset.aggregate(first=models.Min(field_name), + last=models.Max(field_name)) + if date_range['first'] and date_range['last']: + if date_range['first'].year == date_range['last'].year: + year_lookup = date_range['first'].year + if date_range['first'].month == date_range['last'].month: + month_lookup = date_range['first'].month + + if year_lookup and month_lookup and day_lookup: + day = datetime.date(int(year_lookup), int(month_lookup), int(day_lookup)) + return { + 'show': True, + 'back': { + 'link': link({year_field: year_lookup, month_field: month_lookup}), + 'title': capfirst(formats.date_format(day, 'YEAR_MONTH_FORMAT')) + }, + 'choices': [{'title': capfirst(formats.date_format(day, 'MONTH_DAY_FORMAT'))}] + } + elif year_lookup and month_lookup: + days = getattr(cl.queryset, 'dates')(field_name, 'day') + return { + 'show': True, + 'back': { + 'link': link({year_field: year_lookup}), + 'title': str(year_lookup) + }, + 'choices': [{ + 'link': link({year_field: year_lookup, month_field: month_lookup, day_field: day.day}), + 'title': capfirst(formats.date_format(day, 'MONTH_DAY_FORMAT')) + } for day in days] + } + elif year_lookup: + months = getattr(cl.queryset, 'dates')(field_name, 'month') + return { + 'show': True, + 'back': { + 'link': link({}), + 'title': _('All dates') + }, + 'choices': [{ + 'link': link({year_field: year_lookup, month_field: month.month}), + 'title': capfirst(formats.date_format(month, 'YEAR_MONTH_FORMAT')) + } for month in months] + } + else: + years = getattr(cl.queryset, 'dates')(field_name, 'year') + return { + 'show': True, + 'back': None, + 'choices': [{ + 'link': link({year_field: str(year.year)}), + 'title': str(year.year), + } for year in years] + } + + +@register.tag(name='date_hierarchy') +def date_hierarchy_tag(parser, token): + return InclusionAdminNode( + parser, token, + func=date_hierarchy, + template_name='date_hierarchy.html', + takes_context=False, + ) + + +def search_form(cl): + """ + Display a search form for searching the list. + """ + return { + 'cl': cl, + 'show_result_count': cl.result_count != cl.full_result_count, + 'search_var': SEARCH_VAR + } + + +@register.tag(name='search_form') +def search_form_tag(parser, token): + return InclusionAdminNode(parser, token, func=search_form, template_name='search_form.html', takes_context=False) + + +@register.simple_tag +def admin_list_filter(cl, spec): + tpl = get_template(spec.template) + return tpl.render({ + 'title': spec.title, + 'choices': list(spec.choices(cl)), + 'spec': spec, + }) + + +def admin_actions(context): + """ + Track the number of times the action field has been rendered on the page, + so we know which value to use. + """ + context['action_index'] = context.get('action_index', -1) + 1 + return context + + +@register.tag(name='admin_actions') +def admin_actions_tag(parser, token): + return InclusionAdminNode(parser, token, func=admin_actions, template_name='actions.html') + + +@register.tag(name='change_list_object_tools') +def change_list_object_tools_tag(parser, token): + """Display the row of change list object tools.""" + return InclusionAdminNode( + parser, token, + func=lambda context: context, + template_name='change_list_object_tools.html', + ) diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_modify.py b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_modify.py new file mode 100644 index 0000000..60bc560 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_modify.py @@ -0,0 +1,111 @@ +import json + +from django import template +from django.template.context import Context + +from .base import InclusionAdminNode + +register = template.Library() + + +def prepopulated_fields_js(context): + """ + Create a list of prepopulated_fields that should render Javascript for + the prepopulated fields for both the admin form and inlines. + """ + prepopulated_fields = [] + if 'adminform' in context: + prepopulated_fields.extend(context['adminform'].prepopulated_fields) + if 'inline_admin_formsets' in context: + for inline_admin_formset in context['inline_admin_formsets']: + for inline_admin_form in inline_admin_formset: + if inline_admin_form.original is None: + prepopulated_fields.extend(inline_admin_form.prepopulated_fields) + + prepopulated_fields_json = [] + for field in prepopulated_fields: + prepopulated_fields_json.append({ + "id": "#%s" % field["field"].auto_id, + "name": field["field"].name, + "dependency_ids": ["#%s" % dependency.auto_id for dependency in field["dependencies"]], + "dependency_list": [dependency.name for dependency in field["dependencies"]], + "maxLength": field["field"].field.max_length or 50, + "allowUnicode": getattr(field["field"].field, "allow_unicode", False) + }) + + context.update({ + 'prepopulated_fields': prepopulated_fields, + 'prepopulated_fields_json': json.dumps(prepopulated_fields_json), + }) + return context + + +@register.tag(name='prepopulated_fields_js') +def prepopulated_fields_js_tag(parser, token): + return InclusionAdminNode(parser, token, func=prepopulated_fields_js, template_name="prepopulated_fields_js.html") + + +def submit_row(context): + """ + Display the row of buttons for delete and save. + """ + add = context['add'] + change = context['change'] + is_popup = context['is_popup'] + save_as = context['save_as'] + show_save = context.get('show_save', True) + show_save_and_continue = context.get('show_save_and_continue', True) + has_add_permission = context['has_add_permission'] + has_change_permission = context['has_change_permission'] + has_view_permission = context['has_view_permission'] + has_editable_inline_admin_formsets = context['has_editable_inline_admin_formsets'] + can_save = (has_change_permission and change) or (has_add_permission and add) or has_editable_inline_admin_formsets + can_save_and_continue = not is_popup and can_save and has_view_permission and show_save_and_continue + can_change = has_change_permission or has_editable_inline_admin_formsets + ctx = Context(context) + ctx.update({ + 'can_change': can_change, + 'show_delete_link': ( + not is_popup and context['has_delete_permission'] and + change and context.get('show_delete', True) + ), + 'show_save_as_new': not is_popup and has_change_permission and change and save_as, + 'show_save_and_add_another': ( + has_add_permission and not is_popup and + (not save_as or add) and can_save + ), + 'show_save_and_continue': can_save_and_continue, + 'show_save': show_save and can_save, + 'show_close': not(show_save and can_save) + }) + return ctx + + +@register.tag(name='submit_row') +def submit_row_tag(parser, token): + return InclusionAdminNode(parser, token, func=submit_row, template_name='submit_line.html') + + +@register.tag(name='change_form_object_tools') +def change_form_object_tools_tag(parser, token): + """Display the row of change form object tools.""" + return InclusionAdminNode( + parser, token, + func=lambda context: context, + template_name='change_form_object_tools.html', + ) + + +@register.filter +def cell_count(inline_admin_form): + """Return the number of cells used in a tabular inline.""" + count = 1 # Hidden cell with hidden 'id' field + for fieldset in inline_admin_form: + # Loop through all the fields (one per cell) + for line in fieldset: + for field in line: + count += 1 + if inline_admin_form.formset.can_delete: + # Delete checkbox + count += 1 + return count diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_static.py b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_static.py new file mode 100644 index 0000000..6b1738d --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_static.py @@ -0,0 +1,16 @@ +import warnings + +from django.template import Library +from django.templatetags.static import static as _static +from django.utils.deprecation import RemovedInDjango30Warning + +register = Library() + + +@register.simple_tag +def static(path): + warnings.warn( + '{% load admin_static %} is deprecated in favor of {% load static %}.', + RemovedInDjango30Warning, + ) + return _static(path) diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_urls.py b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_urls.py new file mode 100644 index 0000000..f817c25 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/admin_urls.py @@ -0,0 +1,56 @@ +from urllib.parse import parse_qsl, unquote, urlparse, urlunparse + +from django import template +from django.contrib.admin.utils import quote +from django.urls import Resolver404, get_script_prefix, resolve +from django.utils.http import urlencode + +register = template.Library() + + +@register.filter +def admin_urlname(value, arg): + return 'admin:%s_%s_%s' % (value.app_label, value.model_name, arg) + + +@register.filter +def admin_urlquote(value): + return quote(value) + + +@register.simple_tag(takes_context=True) +def add_preserved_filters(context, url, popup=False, to_field=None): + opts = context.get('opts') + preserved_filters = context.get('preserved_filters') + + parsed_url = list(urlparse(url)) + parsed_qs = dict(parse_qsl(parsed_url[4])) + merged_qs = {} + + if opts and preserved_filters: + preserved_filters = dict(parse_qsl(preserved_filters)) + + match_url = '/%s' % unquote(url).partition(get_script_prefix())[2] + try: + match = resolve(match_url) + except Resolver404: + pass + else: + current_url = '%s:%s' % (match.app_name, match.url_name) + changelist_url = 'admin:%s_%s_changelist' % (opts.app_label, opts.model_name) + if changelist_url == current_url and '_changelist_filters' in preserved_filters: + preserved_filters = dict(parse_qsl(preserved_filters['_changelist_filters'])) + + merged_qs.update(preserved_filters) + + if popup: + from django.contrib.admin.options import IS_POPUP_VAR + merged_qs[IS_POPUP_VAR] = 1 + if to_field: + from django.contrib.admin.options import TO_FIELD_VAR + merged_qs[TO_FIELD_VAR] = to_field + + merged_qs.update(parsed_qs) + + parsed_url[4] = urlencode(merged_qs) + return urlunparse(parsed_url) diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/base.py b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/base.py new file mode 100644 index 0000000..ec6f103 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/base.py @@ -0,0 +1,33 @@ +from inspect import getfullargspec + +from django.template.library import InclusionNode, parse_bits + + +class InclusionAdminNode(InclusionNode): + """ + Template tag that allows its template to be overridden per model, per app, + or globally. + """ + + def __init__(self, parser, token, func, template_name, takes_context=True): + self.template_name = template_name + params, varargs, varkw, defaults, kwonly, kwonly_defaults, _ = getfullargspec(func) + bits = token.split_contents() + args, kwargs = parse_bits( + parser, bits[1:], params, varargs, varkw, defaults, kwonly, + kwonly_defaults, takes_context, bits[0], + ) + super().__init__(func, takes_context, args, kwargs, filename=None) + + def render(self, context): + opts = context['opts'] + app_label = opts.app_label.lower() + object_name = opts.object_name.lower() + # Load template for this render call. (Setting self.filename isn't + # thread-safe.) + context.render_context[self] = context.template.engine.select_template([ + 'admin/%s/%s/%s' % (app_label, object_name, self.template_name), + 'admin/%s/%s' % (app_label, self.template_name), + 'admin/%s' % (self.template_name,), + ]) + return super().render(context) diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/log.py b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/log.py new file mode 100644 index 0000000..08c2345 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/templatetags/log.py @@ -0,0 +1,59 @@ +from django import template +from django.contrib.admin.models import LogEntry + +register = template.Library() + + +class AdminLogNode(template.Node): + def __init__(self, limit, varname, user): + self.limit, self.varname, self.user = limit, varname, user + + def __repr__(self): + return "" + + def render(self, context): + if self.user is None: + entries = LogEntry.objects.all() + else: + user_id = self.user + if not user_id.isdigit(): + user_id = context[self.user].pk + entries = LogEntry.objects.filter(user__pk=user_id) + context[self.varname] = entries.select_related('content_type', 'user')[:int(self.limit)] + return '' + + +@register.tag +def get_admin_log(parser, token): + """ + Populate a template variable with the admin log for the given criteria. + + Usage:: + + {% get_admin_log [limit] as [varname] for_user [context_var_containing_user_obj] %} + + Examples:: + + {% get_admin_log 10 as admin_log for_user 23 %} + {% get_admin_log 10 as admin_log for_user user %} + {% get_admin_log 10 as admin_log %} + + Note that ``context_var_containing_user_obj`` can be a hard-coded integer + (user ID) or the name of a template context variable containing the user + object whose ID you want. + """ + tokens = token.contents.split() + if len(tokens) < 4: + raise template.TemplateSyntaxError( + "'get_admin_log' statements require two arguments") + if not tokens[1].isdigit(): + raise template.TemplateSyntaxError( + "First argument to 'get_admin_log' must be an integer") + if tokens[2] != 'as': + raise template.TemplateSyntaxError( + "Second argument to 'get_admin_log' must be 'as'") + if len(tokens) > 4: + if tokens[4] != 'for_user': + raise template.TemplateSyntaxError( + "Fourth argument to 'get_admin_log' must be 'for_user'") + return AdminLogNode(limit=tokens[1], varname=tokens[3], user=(tokens[5] if len(tokens) > 5 else None)) diff --git a/news/venv/lib/python3.7/site-packages/django/contrib/admin/tests.py b/news/venv/lib/python3.7/site-packages/django/contrib/admin/tests.py new file mode 100644 index 0000000..f623e66 --- /dev/null +++ b/news/venv/lib/python3.7/site-packages/django/contrib/admin/tests.py @@ -0,0 +1,184 @@ +from django.contrib.staticfiles.testing import StaticLiveServerTestCase +from django.test import modify_settings +from django.test.selenium import SeleniumTestCase +from django.utils.deprecation import MiddlewareMixin +from django.utils.translation import gettext as _ + + +class CSPMiddleware(MiddlewareMixin): + """The admin's JavaScript should be compatible with CSP.""" + def process_response(self, request, response): + response['Content-Security-Policy'] = "default-src 'self'" + return response + + +@modify_settings(MIDDLEWARE={'append': 'django.contrib.admin.tests.CSPMiddleware'}) +class AdminSeleniumTestCase(SeleniumTestCase, StaticLiveServerTestCase): + + available_apps = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + ] + + def wait_until(self, callback, timeout=10): + """ + Block the execution of the tests until the specified callback returns a + value that is not falsy. This method can be called, for example, after + clicking a link or submitting a form. See the other public methods that + call this function for more details. + """ + from selenium.webdriver.support.wait import WebDriverWait + WebDriverWait(self.selenium, timeout).until(callback) + + def wait_for_popup(self, num_windows=2, timeout=10): + """ + Block until `num_windows` are present (usually 2, but can be + overridden in the case of pop-ups opening other pop-ups). + """ + self.wait_until(lambda d: len(d.window_handles) == num_windows, timeout) + + def wait_for(self, css_selector, timeout=10): + """ + Block until a CSS selector is found on the page. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + self.wait_until( + ec.presence_of_element_located((By.CSS_SELECTOR, css_selector)), + timeout + ) + + def wait_for_text(self, css_selector, text, timeout=10): + """ + Block until the text is found in the CSS selector. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + self.wait_until( + ec.text_to_be_present_in_element( + (By.CSS_SELECTOR, css_selector), text), + timeout + ) + + def wait_for_value(self, css_selector, text, timeout=10): + """ + Block until the value is found in the CSS selector. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + self.wait_until( + ec.text_to_be_present_in_element_value( + (By.CSS_SELECTOR, css_selector), text), + timeout + ) + + def wait_until_visible(self, css_selector, timeout=10): + """ + Block until the element described by the CSS selector is visible. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + self.wait_until( + ec.visibility_of_element_located((By.CSS_SELECTOR, css_selector)), + timeout + ) + + def wait_until_invisible(self, css_selector, timeout=10): + """ + Block until the element described by the CSS selector is invisible. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + self.wait_until( + ec.invisibility_of_element_located((By.CSS_SELECTOR, css_selector)), + timeout + ) + + def wait_page_loaded(self): + """ + Block until page has started to load. + """ + from selenium.common.exceptions import TimeoutException + try: + # Wait for the next page to be loaded + self.wait_for('body') + except TimeoutException: + # IE7 occasionally returns an error "Internet Explorer cannot + # display the webpage" and doesn't load the next page. We just + # ignore it. + pass + + def admin_login(self, username, password, login_url='/admin/'): + """ + Log in to the admin. + """ + self.selenium.get('%s%s' % (self.live_server_url, login_url)) + username_input = self.selenium.find_element_by_name('username') + username_input.send_keys(username) + password_input = self.selenium.find_element_by_name('password') + password_input.send_keys(password) + login_text = _('Log in') + self.selenium.find_element_by_xpath( + '//input[@value="%s"]' % login_text).click() + self.wait_page_loaded() + + def get_css_value(self, selector, attribute): + """ + Return the value for the CSS attribute of a DOM element specified by + the given selector. Uses the jQuery that ships with Django. + """ + return self.selenium.execute_script( + 'return django.jQuery("%s").css("%s")' % (selector, attribute)) + + def get_select_option(self, selector, value): + """ + Return the