From bee3820b00c3c6fcb2ea12af75a423a85e68b0e6 Mon Sep 17 00:00:00 2001 From: lykops Date: Tue, 12 Sep 2017 11:25:47 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B03.0=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 5 - .gitignore | 89 - .pydevproject | 2 +- .settings/org.eclipse.core.resources.prefs | 2 - LICENSE | 674 - README.md | 80 - a.html | 1897 +++ doc/ChangeLog.md | 32 - doc/FQA.md | 11 - doc/example/test_sendfile.py | 70 + ...50\346\210\267\347\256\241\347\220\206.md" | 36 + "doc/help/\347\231\273\351\231\206.md" | 38 + ...50\347\275\262\346\211\213\345\206\214.md" | 129 + ...15\347\275\256\346\211\213\345\206\214.md" | 61 + doc/install/requirements.txt | 19 + ...5\344\275\234\346\265\201\347\250\213.jpg" | Bin 190395 -> 0 bytes ...\344\275\234\346\265\201\347\250\213.vsdx" | Bin 45146 -> 0 bytes ...1\351\200\201\346\210\220\345\212\237.jpg" | Bin 39541 -> 0 bytes ...0\344\270\213\346\213\211\346\241\206.jpg" | Bin 17333 -> 0 bytes ...347\220\206--\347\231\273\351\231\206.jpg" | Bin 51804 -> 0 bytes ...7\350\203\275\350\257\264\346\230\216.jpg" | Bin 64102 -> 0 bytes ...3\351\231\206\346\210\220\345\212\237.jpg" | Bin 39457 -> 0 bytes ...1\347\232\204\346\265\201\347\250\213.jpg" | Bin 176987 -> 0 bytes ...\347\232\204\346\265\201\347\250\213.vsdx" | Bin 44058 -> 0 bytes ...77\347\224\250\346\211\213\345\206\214.md" | 41 - ...45\345\217\243\350\257\264\346\230\216.md" | 52 - ...11\350\243\205\346\211\213\345\206\214.md" | 96 - ...\350\266\205\350\277\2071\345\244\251.jpg" | Bin 27121 -> 0 bytes ...1\346\201\257\346\210\220\345\212\237.jpg" | Bin 18598 -> 0 bytes ...02\346\225\260\347\273\206\350\212\202.md" | 118 - ...1\347\250\213\350\257\264\346\230\216.txt" | 93 - install/requirements.txt | 12 - .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 121 bytes .../config/__pycache__/ansible.cpython-36.pyc | Bin 0 -> 2756 bytes .../__pycache__/database.cpython-36.pyc | Bin 0 -> 698 bytes .../config/__pycache__/logging.cpython-36.pyc | Bin 0 -> 629 bytes library/config/database.py | 35 + library/config/frontend.py | 1 + library/config/wechat.py | 66 +- library/{cron => connecter}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 124 bytes .../{file => connecter/visit_url}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 125 bytes .../request => connecter/visit_url}/cookie.py | 58 +- library/connecter/wechat/__init__.py | 47 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 122 bytes .../wechat/__pycache__/friend.cpython-36.pyc | Bin 0 -> 6663 bytes .../wechat/__pycache__/login.cpython-36.pyc | Bin 0 -> 5395 bytes .../wechat/__pycache__/logout.cpython-36.pyc | Bin 0 -> 1052 bytes .../wechat/__pycache__/ready.cpython-36.pyc | Bin 0 -> 4090 bytes .../wechat/__pycache__/send.cpython-36.pyc | Bin 0 -> 2618 bytes library/connecter/wechat/friend.py | 213 + library/{ => connecter}/wechat/login.py | 79 +- library/connecter/wechat/logout.py | 19 + library/{ => connecter}/wechat/ready.py | 125 +- library/{ => connecter}/wechat/receive.py | 28 +- library/connecter/wechat/send.py | 309 + library/cron/checklogin.py | 28 - library/file/upload.py | 49 - library/frontend/__init__.py | 142 + .../sysadmin}/__init__.py | 0 library/frontend/sysadmin/uri.py | 240 + library/frontend/sysadmin/user.py | 454 + library/frontend/wechat/__init__.py | 150 + library/frontend/wechat/interface.py | 145 + library/frontend/wechat/single.py | 578 + library/keepalive/wechat/logininfo.py | 100 - .../wechat => security}/__init__.py | 0 library/security/password.py | 96 + library/{visit_url => storage}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 122 bytes library/storage/cache.py | 34 + .../request => storage/database}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 133 bytes .../database/__pycache__/mongo.cpython-36.pyc | Bin 0 -> 10672 bytes library/storage/database/mongo.py | 575 + library/storage/database/redis_api.py | 381 + .../{wechat => storage/logging}/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 3395 bytes .../logging/__pycache__/file.cpython-36.pyc | Bin 0 -> 4332 bytes .../logging/__pycache__/mongo.cpython-36.pyc | Bin 0 -> 5108 bytes library/storage/logging/mongo.py | 81 + library/utils/__init__.py | 0 .../utils/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 120 bytes library/utils/__pycache__/dict.cpython-36.pyc | Bin 0 -> 3960 bytes library/utils/__pycache__/file.cpython-36.pyc | Bin 0 -> 4899 bytes library/utils/__pycache__/path.cpython-36.pyc | Bin 0 -> 2799 bytes .../__pycache__/time_conv.cpython-36.pyc | Bin 0 -> 3924 bytes .../__pycache__/type_conv.cpython-36.pyc | Bin 0 -> 4186 bytes library/utils/__pycache__/yaml.cpython-36.pyc | Bin 0 -> 1023 bytes library/utils/compress.py | 109 + library/utils/dict.py | 155 + library/utils/file.py | 412 + library/{file => utils}/get_md5.py | 0 library/utils/list.py | 19 + library/utils/match_string.py | 68 + library/utils/path.py | 138 + library/utils/syscmd.py | 29 + library/utils/time_conv.py | 188 + library/utils/traceback.py | 50 + library/utils/type_conv.py | 308 + library/utils/yaml.py | 56 + library/wechat/friend.py | 318 - library/wechat/logout.py | 28 - library/wechat/qr_code.py | 53 - library/wechat/send.py | 299 - lykchat/forms.py | 1 - lykchat/settings.py | 125 +- lykchat/sysadmin/__init__.py | 0 lykchat/sysadmin/user.py | 243 + lykchat/urls.py | 45 +- lykchat/views.py | 593 +- lykchat/wechat.py | 264 + lykchat/wsgi.py | 2 +- manage.py | 2 +- static/css/bootstrap-theme.css | 587 + static/css/bootstrap-theme.css.map | 1 + static/css/bootstrap-theme.min.css | 6 + static/css/bootstrap-theme.min.css.map | 1 + static/css/bootstrap.css | 6757 ++++++++++ static/css/bootstrap.css.map | 1 + static/css/bootstrap.min.css.map | 1 + static/fonts/LICENSE.txt | 202 + static/fonts/README.txt | 2 + static/fonts/Roboto-Bold-webfont.woff | Bin 0 -> 82564 bytes static/fonts/Roboto-Light-webfont.woff | Bin 0 -> 81348 bytes static/fonts/Roboto-Regular-webfont.woff | Bin 0 -> 80304 bytes static/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes static/fonts/glyphicons-halflings-regular.svg | 288 + static/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes static/js/base.js | 154 + static/js/bootstrap-dialog.js | 1089 ++ static/js/bootstrap.js | 2377 ++++ static/js/bootstrap.min.js | 7 + static/js/datapicker/bootstrap-datepicker.js | 1671 +++ static/js/dropzone/dropzone.js | 1841 +++ static/js/inspinia.js | 167 + static/js/jquery-2.1.1.js | 4 + static/js/jquery-2.1.4.min.js | 4 + static/js/jquery-3.2.1.js | 10253 ++++++++++++++++ static/js/jquery-3.2.1.min.js | 4 + static/js/jquery.form.js | 1277 ++ static/js/plugins/chosen/chosen.jquery.js | 1211 ++ .../plugins/fullcalendar/fullcalendar.min.js | 8 + static/js/plugins/fullcalendar/moment.min.js | 7 + static/js/plugins/iCheck/icheck.min.js | 11 + .../js/plugins/metisMenu/jquery.metisMenu.js | 120 + static/js/plugins/pace/pace.min.js | 2 + static/js/plugins/peity/jquery.peity.min.js | 13 + .../plugins/slimscroll/jquery.slimscroll.js | 464 + .../slimscroll/jquery.slimscroll.min.js | 16 + static/js/plugins/steps/jquery.steps.min.js | 6 + .../plugins/validate/jquery.validate.min.js | 4 + static/js/validator/images/loading.gif | Bin 0 -> 457 bytes .../js/validator/images/validator_default.png | Bin 0 -> 424 bytes .../js/validator/images/validator_simple.png | Bin 0 -> 1075 bytes static/js/validator/jquery.validator.js | 5 + static/js/validator/zh_CN.js | 156 + templates/base.html | 41 +- templates/footer.html | 9 +- templates/login.html | 12 +- templates/nav.html | 48 +- templates/result.html | 21 +- templates/sysadmin/logging.html | 32 + templates/sysadmin/user_add.html | 38 + templates/sysadmin/user_chgpwd.html | 26 + templates/sysadmin/user_create_admin.html | 55 + templates/sysadmin/user_detail.html | 38 + templates/sysadmin/user_edit.html | 29 + templates/sysadmin/user_list.html | 57 + templates/{wechat.html => wechat/detail.html} | 28 +- templates/wechat/list.html | 61 + test_sendfile.py | 62 - 175 files changed, 37341 insertions(+), 3028 deletions(-) delete mode 100644 .gitattributes delete mode 100644 .gitignore delete mode 100644 .settings/org.eclipse.core.resources.prefs delete mode 100644 LICENSE delete mode 100644 README.md create mode 100644 a.html delete mode 100644 doc/ChangeLog.md delete mode 100644 doc/FQA.md create mode 100644 doc/example/test_sendfile.py create mode 100644 "doc/help/\347\224\250\346\210\267\347\256\241\347\220\206.md" create mode 100644 "doc/help/\347\231\273\351\231\206.md" create mode 100644 "doc/help/\351\203\250\347\275\262\346\211\213\345\206\214.md" create mode 100644 "doc/help/\351\205\215\347\275\256\346\211\213\345\206\214.md" create mode 100644 doc/install/requirements.txt delete mode 100644 "doc/lykchat\345\267\245\344\275\234\346\265\201\347\250\213.jpg" delete mode 100644 "doc/lykchat\345\267\245\344\275\234\346\265\201\347\250\213.vsdx" delete mode 100644 "doc/web\347\256\241\347\220\206--\345\217\221\351\200\201\346\210\220\345\212\237.jpg" delete mode 100644 "doc/web\347\256\241\347\220\206--\345\245\275\345\217\213\345\210\227\350\241\250\344\270\213\346\213\211\346\241\206.jpg" delete mode 100644 "doc/web\347\256\241\347\220\206--\347\231\273\351\231\206.jpg" delete mode 100644 "doc/web\351\241\265\351\235\242--\345\212\237\350\203\275\350\257\264\346\230\216.jpg" delete mode 100644 "doc/web\351\241\265\351\235\242--\347\231\273\351\231\206\346\210\220\345\212\237.jpg" delete mode 100644 "doc/web\351\241\265\351\235\242\347\231\273\351\231\206\345\276\256\344\277\241\347\232\204\346\265\201\347\250\213.jpg" delete mode 100644 "doc/web\351\241\265\351\235\242\347\231\273\351\231\206\345\276\256\344\277\241\347\232\204\346\265\201\347\250\213.vsdx" delete mode 100644 "doc/\344\275\277\347\224\250\346\211\213\345\206\214.md" delete mode 100644 "doc/\345\217\221\351\200\201\344\277\241\346\201\257\346\216\245\345\217\243\350\257\264\346\230\216.md" delete mode 100644 "doc/\345\256\211\350\243\205\346\211\213\345\206\214.md" delete mode 100644 "doc/\345\276\256\344\277\241\347\231\273\351\231\206\346\227\266\351\227\264\350\266\205\350\277\2071\345\244\251.jpg" delete mode 100644 "doc/\346\216\245\345\217\243-\345\217\221\351\200\201\344\277\241\346\201\257\346\210\220\345\212\237.jpg" delete mode 100644 "doc/\346\250\241\346\213\237\347\231\273\351\231\206web\345\276\256\344\277\241\347\232\204\346\265\201\347\250\213\345\222\214\345\217\202\346\225\260\347\273\206\350\212\202.md" delete mode 100644 "doc/\347\231\273\351\231\206web\345\276\256\344\277\241\346\265\201\347\250\213\350\257\264\346\230\216.txt" delete mode 100644 install/requirements.txt create mode 100644 library/config/__pycache__/__init__.cpython-36.pyc create mode 100644 library/config/__pycache__/ansible.cpython-36.pyc create mode 100644 library/config/__pycache__/database.cpython-36.pyc create mode 100644 library/config/__pycache__/logging.cpython-36.pyc create mode 100644 library/config/database.py create mode 100644 library/config/frontend.py rename library/{cron => connecter}/__init__.py (100%) create mode 100644 library/connecter/__pycache__/__init__.cpython-36.pyc rename library/{file => connecter/visit_url}/__init__.py (100%) create mode 100644 library/connecter/visit_url/__pycache__/__init__.cpython-36.pyc rename library/{visit_url/request => connecter/visit_url}/cookie.py (56%) create mode 100644 library/connecter/wechat/__init__.py create mode 100644 library/connecter/wechat/__pycache__/__init__.cpython-36.pyc create mode 100644 library/connecter/wechat/__pycache__/friend.cpython-36.pyc create mode 100644 library/connecter/wechat/__pycache__/login.cpython-36.pyc create mode 100644 library/connecter/wechat/__pycache__/logout.cpython-36.pyc create mode 100644 library/connecter/wechat/__pycache__/ready.cpython-36.pyc create mode 100644 library/connecter/wechat/__pycache__/send.cpython-36.pyc create mode 100644 library/connecter/wechat/friend.py rename library/{ => connecter}/wechat/login.py (82%) create mode 100644 library/connecter/wechat/logout.py rename library/{ => connecter}/wechat/ready.py (56%) rename library/{ => connecter}/wechat/receive.py (74%) create mode 100644 library/connecter/wechat/send.py delete mode 100644 library/cron/checklogin.py delete mode 100644 library/file/upload.py create mode 100644 library/frontend/__init__.py rename library/{keepalive => frontend/sysadmin}/__init__.py (100%) create mode 100644 library/frontend/sysadmin/uri.py create mode 100644 library/frontend/sysadmin/user.py create mode 100644 library/frontend/wechat/__init__.py create mode 100644 library/frontend/wechat/interface.py create mode 100644 library/frontend/wechat/single.py delete mode 100644 library/keepalive/wechat/logininfo.py rename library/{keepalive/wechat => security}/__init__.py (100%) create mode 100644 library/security/password.py rename library/{visit_url => storage}/__init__.py (100%) create mode 100644 library/storage/__pycache__/__init__.cpython-36.pyc create mode 100644 library/storage/cache.py rename library/{visit_url/request => storage/database}/__init__.py (100%) create mode 100644 library/storage/database/__pycache__/__init__.cpython-36.pyc create mode 100644 library/storage/database/__pycache__/mongo.cpython-36.pyc create mode 100644 library/storage/database/mongo.py create mode 100644 library/storage/database/redis_api.py rename library/{wechat => storage/logging}/__init__.py (100%) create mode 100644 library/storage/logging/__pycache__/__init__.cpython-36.pyc create mode 100644 library/storage/logging/__pycache__/file.cpython-36.pyc create mode 100644 library/storage/logging/__pycache__/mongo.cpython-36.pyc create mode 100644 library/storage/logging/mongo.py create mode 100644 library/utils/__init__.py create mode 100644 library/utils/__pycache__/__init__.cpython-36.pyc create mode 100644 library/utils/__pycache__/dict.cpython-36.pyc create mode 100644 library/utils/__pycache__/file.cpython-36.pyc create mode 100644 library/utils/__pycache__/path.cpython-36.pyc create mode 100644 library/utils/__pycache__/time_conv.cpython-36.pyc create mode 100644 library/utils/__pycache__/type_conv.cpython-36.pyc create mode 100644 library/utils/__pycache__/yaml.cpython-36.pyc create mode 100644 library/utils/compress.py create mode 100644 library/utils/dict.py create mode 100644 library/utils/file.py rename library/{file => utils}/get_md5.py (100%) create mode 100644 library/utils/list.py create mode 100644 library/utils/match_string.py create mode 100644 library/utils/path.py create mode 100644 library/utils/syscmd.py create mode 100644 library/utils/time_conv.py create mode 100644 library/utils/traceback.py create mode 100644 library/utils/type_conv.py create mode 100644 library/utils/yaml.py delete mode 100644 library/wechat/friend.py delete mode 100644 library/wechat/logout.py delete mode 100644 library/wechat/qr_code.py delete mode 100644 library/wechat/send.py create mode 100644 lykchat/sysadmin/__init__.py create mode 100644 lykchat/sysadmin/user.py create mode 100644 lykchat/wechat.py create mode 100644 static/css/bootstrap-theme.css create mode 100644 static/css/bootstrap-theme.css.map create mode 100644 static/css/bootstrap-theme.min.css create mode 100644 static/css/bootstrap-theme.min.css.map create mode 100644 static/css/bootstrap.css create mode 100644 static/css/bootstrap.css.map create mode 100644 static/css/bootstrap.min.css.map create mode 100644 static/fonts/LICENSE.txt create mode 100644 static/fonts/README.txt create mode 100644 static/fonts/Roboto-Bold-webfont.woff create mode 100644 static/fonts/Roboto-Light-webfont.woff create mode 100644 static/fonts/Roboto-Regular-webfont.woff create mode 100644 static/fonts/glyphicons-halflings-regular.eot create mode 100644 static/fonts/glyphicons-halflings-regular.svg create mode 100644 static/fonts/glyphicons-halflings-regular.ttf create mode 100644 static/fonts/glyphicons-halflings-regular.woff create mode 100644 static/fonts/glyphicons-halflings-regular.woff2 create mode 100644 static/js/base.js create mode 100644 static/js/bootstrap-dialog.js create mode 100644 static/js/bootstrap.js create mode 100644 static/js/bootstrap.min.js create mode 100644 static/js/datapicker/bootstrap-datepicker.js create mode 100644 static/js/dropzone/dropzone.js create mode 100644 static/js/inspinia.js create mode 100644 static/js/jquery-2.1.1.js create mode 100644 static/js/jquery-2.1.4.min.js create mode 100644 static/js/jquery-3.2.1.js create mode 100644 static/js/jquery-3.2.1.min.js create mode 100644 static/js/jquery.form.js create mode 100644 static/js/plugins/chosen/chosen.jquery.js create mode 100644 static/js/plugins/fullcalendar/fullcalendar.min.js create mode 100644 static/js/plugins/fullcalendar/moment.min.js create mode 100644 static/js/plugins/iCheck/icheck.min.js create mode 100644 static/js/plugins/metisMenu/jquery.metisMenu.js create mode 100644 static/js/plugins/pace/pace.min.js create mode 100644 static/js/plugins/peity/jquery.peity.min.js create mode 100644 static/js/plugins/slimscroll/jquery.slimscroll.js create mode 100644 static/js/plugins/slimscroll/jquery.slimscroll.min.js create mode 100644 static/js/plugins/steps/jquery.steps.min.js create mode 100644 static/js/plugins/validate/jquery.validate.min.js create mode 100644 static/js/validator/images/loading.gif create mode 100644 static/js/validator/images/validator_default.png create mode 100644 static/js/validator/images/validator_simple.png create mode 100644 static/js/validator/jquery.validator.js create mode 100644 static/js/validator/zh_CN.js create mode 100644 templates/sysadmin/logging.html create mode 100644 templates/sysadmin/user_add.html create mode 100644 templates/sysadmin/user_chgpwd.html create mode 100644 templates/sysadmin/user_create_admin.html create mode 100644 templates/sysadmin/user_detail.html create mode 100644 templates/sysadmin/user_edit.html create mode 100644 templates/sysadmin/user_list.html rename templates/{wechat.html => wechat/detail.html} (69%) create mode 100644 templates/wechat/list.html delete mode 100644 test_sendfile.py diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index ea823b8..0000000 --- a/.gitattributes +++ /dev/null @@ -1,5 +0,0 @@ -*.js linguist-language=python -*.css linguist-language=python -*.html linguist-language=python -*.xml linguist-language=python -* linguist-language=python diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 72364f9..0000000 --- a/.gitignore +++ /dev/null @@ -1,89 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover -.hypothesis/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# IPython Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# dotenv -.env - -# virtualenv -venv/ -ENV/ - -# Spyder project settings -.spyderproject - -# Rope project settings -.ropeproject diff --git a/.pydevproject b/.pydevproject index 96a3f0e..5efd75b 100644 --- a/.pydevproject +++ b/.pydevproject @@ -2,7 +2,7 @@ DJANGO_MANAGE_LOCATION -weixin/manage.py +manage.py /${PROJECT_DIR_NAME} diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 599f2cb..0000000 --- a/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -encoding//library/cron/checklogin.py=utf-8 diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 9cecc1d..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - {project} Copyright (C) {year} {fullname} - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/README.md b/README.md deleted file mode 100644 index 722a38b..0000000 --- a/README.md +++ /dev/null @@ -1,80 +0,0 @@ -# lykchat信息发送系统 -lykchat信息发送系统是Python3开发的,通过模拟微信网页端,基于个人微信号,为系统管理人员提供信息发送工具。 - -实现的功能有用户登录管理、微信登陆管理和微信信息发送功能。 - - -# 通知 -在2017年7月20日晚上,疑似微信web端做了调整,web上不在显示好友微信号,所以即日使用微信号发送信息可能提示无法找到好友等错误提示。 - -解决办法: - - 1、使用好友昵称来发送信息 - 2、使用备注名来发送信息 - 但必须只能是数字、字母、符号等,不能为图片等 - -## 特点 - - 1、简单高效 - 基于个人微信号,模拟微信web端,部署和维护简单 - web管理页面实现可视化管理微信登陆 - 接口采用URL,简化调用复杂度,返回结果均为json格式 - 2、信息共享 - 通过共享用户session和微信登陆信息,保证系统长期稳定运行 - 3、7*24不间断服务 - 计划任务定时检查微信登陆状态,微信保持登陆超过20天 - 4、支持发送多媒体信息 - 除了支持发送纯文字信息外,还支持发送图片、视频、文件等信息 - 5、用户管理 - 通过用户隔离微信个人号,不同用户管理不同微信号 - 用户密码分为管理密码和接口密码,保证用户信息安全性 - 6、微信信息安全 - 不会监控和存储微信聊天信息 - 不会增加和删除好友 - - -## 截图 - -管理页面--功能展示 - -![等待扫码 截图](https://raw.githubusercontent.com/lykops/lykchat/master/doc/web页面--功能说明.jpg) - - -管理页面--微信登陆时长 - -![微信登陆时长 截图](https://raw.githubusercontent.com/lykops/lykchat/V2.1.0/doc/微信登陆时间超过1天.jpg) - -接口-发送信息成功 - -![发送信息成功 截图](https://raw.githubusercontent.com/lykops/lykchat/master/doc/接口-发送信息成功.jpg) - - -## 发送信息接口使用说明 -[https://github.com/lykops/lykchat/wiki/%E5%8F%91%E9%80%81%E4%BF%A1%E6%81%AF%E6%8E%A5%E5%8F%A3%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E](https://github.com/lykops/lykchat/wiki/%E5%8F%91%E9%80%81%E4%BF%A1%E6%81%AF%E6%8E%A5%E5%8F%A3%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E "发送信息接口") - -## 模块和工作流程 -[https://github.com/lykops/lykchat/wiki/%E6%A8%A1%E5%9D%97%E5%92%8C%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B](https://github.com/lykops/lykchat/wiki/%E6%A8%A1%E5%9D%97%E5%92%8C%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B "模块和工作流程") - -## 安装手册 -[https://github.com/lykops/lykchat/wiki/%E5%AE%89%E8%A3%85%E6%89%8B%E5%86%8C](https://github.com/lykops/lykchat/wiki/%E5%AE%89%E8%A3%85%E6%89%8B%E5%86%8C "安装手册") - -## ChangeLog -[https://github.com/lykops/lykchat/wiki/ChangeLog](https://github.com/lykops/lykchat/wiki/ChangeLog "ChangeLog") - -## 说明 - - 1、作者尽可能通过严谨测试来验证系统功能,但由于专业水平有限,无法避免出现bug。 - 2、该项目是基于微信web端进行开发的 - 由于微信web端参数经常变动,可能会导致系统异常。 - 如作者发现该问题,将会更新和修复。 - 3、该项目开发的目的:为监控系统提供一个通过微信发送告警信息。 - 所以该项目只实现了微信的登陆、接受和发送信息这三个功能,其他功能暂不考虑。 - 建议使用一个独立的微信号,避免在登陆过程中在微信web端、PC客户端登陆,也不要在手机端退出web登陆。 - 4:该项目为个人开源项目,免费开源。 - 请勿使用该系统发送非法、不良信息。 - 在使用过程中,如有任何问题,作者不承担任何责任。 - 5、联系方式: - 微信:lyk-ops - 邮箱:liyingke112@126.com - - diff --git a/a.html b/a.html new file mode 100644 index 0000000..6cdcc49 --- /dev/null +++ b/a.html @@ -0,0 +1,1897 @@ + + + + + + + AttributeError at /wechat/check + + + + + + +
+

AttributeError at /wechat/check

+
'Wechat' object has no attribute 'username'
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Request Method:GET
Request URL:http://127.0.0.1/wechat/check
Django Version:1.11
Exception Type:AttributeError
Exception Value:
'Wechat' object has no attribute 'username'
Exception Location:/opt/lykchat/lykchat/wechat.py in check, line 125
Python Executable:/usr/local/python36/bin/python3
Python Version:3.6.1
Python Path:
['/opt/lykchat',
+ '/usr/local/python36/lib/python36.zip',
+ '/usr/local/python36/lib/python3.6',
+ '/usr/local/python36/lib/python3.6/lib-dynload',
+ '/root/.local/lib/python3.6/site-packages',
+ '/usr/local/python36/lib/python3.6/site-packages']
Server time:Wed, 20 Dec 2017 00:39:51 +0800
+
+ + + + +
+

Traceback + Switch to copy-and-paste view +

+ +
+
    + + +
  • + /usr/local/python36/lib/python3.6/site-packages/django/core/handlers/exception.py in inner + + +
    + +
      + +
    1.     This decorator is automatically applied to all middleware to ensure that
    2. + +
    3.     no middleware leaks an exception and that the next middleware in the stack
    4. + +
    5.     can rely on getting a response instead of an exception.
    6. + +
    7.     """
    8. + +
    9.     @wraps(get_response, assigned=available_attrs(get_response))
    10. + +
    11.     def inner(request):
    12. + +
    13.         try:
    14. + +
    + +
      +
    1. +            response = get_response(request)
      ...
    + +
      + +
    1.         except Exception as exc:
    2. + +
    3.             response = response_for_exception(request, exc)
    4. + +
    5.         return response
    6. + +
    7.     return inner
    8. + +
    9. + +
    10. + +
    + +
    + + + +
    + + Local vars + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    exc
    AttributeError("'Wechat' object has no attribute 'username'",)
    get_response
    <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f09ac723080>>
    request
    <WSGIRequest: GET '/wechat/check'>
    + +
  • + + +
  • + /usr/local/python36/lib/python3.6/site-packages/django/core/handlers/base.py in _get_response + + +
    + +
      + +
    1.                 break
    2. + +
    3. + +
    4.         if response is None:
    5. + +
    6.             wrapped_callback = self.make_view_atomic(callback)
    7. + +
    8.             try:
    9. + +
    10.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)
    11. + +
    12.             except Exception as e:
    13. + +
    + +
      +
    1. +                response = self.process_exception_by_middleware(e, request)
      ...
    + +
      + +
    1. + +
    2.         # Complain if the view returned None (a common error).
    3. + +
    4.         if response is None:
    5. + +
    6.             if isinstance(callback, types.FunctionType):    # FBV
    7. + +
    8.                 view_name = callback.__name__
    9. + +
    10.             else:                                           # CBV
    11. + +
    + +
    + + + +
    + + Local vars + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    callback
    <bound method Wechat.check of <lykchat.wechat.Wechat object at 0x7f09ab084b00>>
    callback_args
    ()
    callback_kwargs
    {}
    request
    <WSGIRequest: GET '/wechat/check'>
    resolver
    <RegexURLResolver 'lykchat.urls' (None:None) ^/>
    resolver_match
    ResolverMatch(func=lykchat.wechat.check, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])
    response
    None
    self
    <django.core.handlers.wsgi.WSGIHandler object at 0x7f09ac723080>
    wrapped_callback
    <bound method Wechat.check of <lykchat.wechat.Wechat object at 0x7f09ab084b00>>
    + +
  • + + +
  • + /usr/local/python36/lib/python3.6/site-packages/django/core/handlers/base.py in _get_response + + +
    + +
      + +
    1.             response = middleware_method(request, callback, callback_args, callback_kwargs)
    2. + +
    3.             if response:
    4. + +
    5.                 break
    6. + +
    7. + +
    8.         if response is None:
    9. + +
    10.             wrapped_callback = self.make_view_atomic(callback)
    11. + +
    12.             try:
    13. + +
    + +
      +
    1. +                response = wrapped_callback(request, *callback_args, **callback_kwargs)
      ...
    + +
      + +
    1.             except Exception as e:
    2. + +
    3.                 response = self.process_exception_by_middleware(e, request)
    4. + +
    5. + +
    6.         # Complain if the view returned None (a common error).
    7. + +
    8.         if response is None:
    9. + +
    10.             if isinstance(callback, types.FunctionType):    # FBV
    11. + +
    + +
    + + + +
    + + Local vars + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    callback
    <bound method Wechat.check of <lykchat.wechat.Wechat object at 0x7f09ab084b00>>
    callback_args
    ()
    callback_kwargs
    {}
    request
    <WSGIRequest: GET '/wechat/check'>
    resolver
    <RegexURLResolver 'lykchat.urls' (None:None) ^/>
    resolver_match
    ResolverMatch(func=lykchat.wechat.check, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])
    response
    None
    self
    <django.core.handlers.wsgi.WSGIHandler object at 0x7f09ac723080>
    wrapped_callback
    <bound method Wechat.check of <lykchat.wechat.Wechat object at 0x7f09ab084b00>>
    + +
  • + + +
  • + /opt/lykchat/lykchat/wechat.py in check + + +
    + +
      + +
    1.         else:
    2. + +
    3.             ipaddr = request.META.get('REMOTE_ADDR')
    4. + +
    5.         
    6. + +
    7.         if uuid is None and ifpwd == ifpwd_def :
    8. + +
    9.             interface_api = Manager_Interface('crontab', redisclient=self.redisclient)
    10. + +
    11.             result = interface_api.check_alluser(ipaddr)
    12. + +
    13.             if result[1] :
    14. + +
    + +
      +
    1. +                msg = self.username + '从' + ipaddr + '检测所有用户的微信号登陆情况成功'
      ...
    + +
      + +
    1.                 # self.log2mongo_api.write(self.username, self.modname, msg, level='info')
    2. + +
    3.                 self.logger.info(msg)
    4. + +
    5.             else :
    6. + +
    7.                 msg = self.username + '从' + ipaddr + '检测所有用户的微信号登陆情况失败,原因:' + result[1]
    8. + +
    9.                 self.log2mongo_api.write(self.username, self.modname, msg, level='error')
    10. + +
    11.                 self.logger.error(msg)
    12. + +
    + +
    + + + +
    + + Local vars + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValue
    ifpwd
    'adrqwerdafdsafw.hf456efsdcvadergfzv67cxfasrqwecxzvcxzgvdfsfa'
    ifpwd_def
    'adrqwerdafdsafw.hf456efsdcvadergfzv67cxfasrqwecxzvcxzgvdfsfa'
    interface_api
    <library.frontend.wechat.interface.Manager_Interface object at 0x7f09a80b39b0>
    ipaddr
    '127.0.0.1'
    request
    <WSGIRequest: GET '/wechat/check'>
    result
    (True,
    + {'lykchat': [{'alias': '',
    +               'descript': '保持登陆',
    +               'friend_dict': {},
    +               'login_min': '25分钟',
    +               'login_stamptime': '2017年12月20日 00:14:01',
    +               'login_time': '2017年12月20日 00:14:01',
    +               'logout_stamptime': 0,
    +               'logout_time': '',
    +               'nickname': 'liyk',
    +               'now_time': '2017年12月20日 00:39:46',
    +               'qr_url': '/static/qr/odvYpwY8HQ==.jpg',
    +               'send_result': '',
    +               'start_timestamp': 1513700005,
    +               'status': 222,
    +               'suggest': '可以发送信息',
    +               'username': '',
    +               'uuid': 'odvYpwY8HQ=='}]})
    self
    <lykchat.wechat.Wechat object at 0x7f09ab084b00>
    uuid
    None
    x_forwarded_for
    None
    + +
  • + +
+
+ +
+ +
+ + + + + +

+ +
+
+
+ + + +
+

Request information

+ + + +

USER

+

AnonymousUser

+ + +

GET

+ +

No GET data

+ + +

POST

+ + + + + + + + + + + +
VariableValue
+ +

FILES

+ +

No FILES data

+ + + + + +

No cookie data

+ + +

META

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariableValue
CONTENT_LENGTH
''
CONTENT_TYPE
'text/plain'
DJANGO_SETTINGS_MODULE
'lykchat.settings'
GATEWAY_INTERFACE
'CGI/1.1'
HISTCONTROL
'ignoredups'
HISTSIZE
'1000'
HOME
'/root'
HOSTNAME
'lykops'
HTTP_ACCEPT
'*/*'
HTTP_HOST
'127.0.0.1'
HTTP_USER_AGENT
'curl/7.29.0'
LANG
'en_US.UTF-8'
LESSOPEN
'||/usr/bin/lesspipe.sh %s'
LOGNAME
'root'
LS_COLORS
'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:'
MAIL
'/var/spool/mail/root'
PATH
'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'
PATH_INFO
'/wechat/check'
PWD
'/root'
QUERY_STRING
''
REMOTE_ADDR
'127.0.0.1'
REMOTE_HOST
''
REQUEST_METHOD
'GET'
RUN_MAIN
'true'
SCRIPT_NAME
''
SERVER_NAME
'lykops'
SERVER_PORT
'80'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SOFTWARE
'WSGIServer/0.2'
SHELL
'/bin/bash'
SHLVL
'1'
SSH_CLIENT
'192.168.40.1 51173 22'
SSH_CONNECTION
'192.168.40.1 51173 192.168.40.88 22'
SSH_TTY
'/dev/pts/0'
TERM
'linux'
TZ
'Asia/Shanghai'
USER
'root'
XDG_RUNTIME_DIR
'/run/user/0'
XDG_SESSION_ID
'4'
_
'/usr/local/python36/bin/python3'
wsgi.errors
<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
wsgi.file_wrapper
''
wsgi.input
<_io.BufferedReader name=5>
wsgi.multiprocess
False
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 0)
+ + +

Settings

+

Using settings module lykchat.settings

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SettingValue
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
[]
ALLOWED_HOSTS
['*']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
'********************'
AUTH_USER_MODEL
'auth.User'
BASE_DIR
'/opt/lykchat'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS
'default'
CACHE_MIDDLEWARE_KEY_PREFIX
'********************'
CACHE_MIDDLEWARE_SECONDS
600
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
'csrftoken'
CSRF_COOKIE_PATH
'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{}
DATABASE_ROUTERS
[]
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
'N j, Y, P'
DATETIME_INPUT_FORMATS
['%Y-%m-%d %H:%M:%S',
+ '%Y-%m-%d %H:%M:%S.%f',
+ '%Y-%m-%d %H:%M',
+ '%Y-%m-%d',
+ '%m/%d/%Y %H:%M:%S',
+ '%m/%d/%Y %H:%M:%S.%f',
+ '%m/%d/%Y %H:%M',
+ '%m/%d/%Y',
+ '%m/%d/%y %H:%M:%S',
+ '%m/%d/%y %H:%M:%S.%f',
+ '%m/%d/%y %H:%M',
+ '%m/%d/%y']
DATE_FORMAT
'N j, Y'
DATE_INPUT_FORMATS
['%Y-%m-%d',
+ '%m/%d/%Y',
+ '%m/%d/%y',
+ '%b %d %Y',
+ '%b %d, %Y',
+ '%d %b %Y',
+ '%d %b, %Y',
+ '%B %d %Y',
+ '%B %d, %Y',
+ '%d %B %Y',
+ '%d %B, %Y']
DEBUG
True
DEBUG_PROPAGATE_EXCEPTIONS
False
DECIMAL_SEPARATOR
'.'
DEFAULT_CHARSET
'utf-8'
DEFAULT_CONTENT_TYPE
'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
'localhost'
EMAIL_HOST_PASSWORD
'********************'
EMAIL_HOST_USER
''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
'********************'
EMAIL_SUBJECT_PREFIX
'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
['django.core.files.uploadhandler.MemoryFileUploadHandler',
+ 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'lykchat']
INTERNAL_IPS
[]
LANGUAGES
[('af', 'Afrikaans'),
+ ('ar', 'Arabic'),
+ ('ast', 'Asturian'),
+ ('az', 'Azerbaijani'),
+ ('bg', 'Bulgarian'),
+ ('be', 'Belarusian'),
+ ('bn', 'Bengali'),
+ ('br', 'Breton'),
+ ('bs', 'Bosnian'),
+ ('ca', 'Catalan'),
+ ('cs', 'Czech'),
+ ('cy', 'Welsh'),
+ ('da', 'Danish'),
+ ('de', 'German'),
+ ('dsb', 'Lower Sorbian'),
+ ('el', 'Greek'),
+ ('en', 'English'),
+ ('en-au', 'Australian English'),
+ ('en-gb', 'British English'),
+ ('eo', 'Esperanto'),
+ ('es', 'Spanish'),
+ ('es-ar', 'Argentinian Spanish'),
+ ('es-co', 'Colombian Spanish'),
+ ('es-mx', 'Mexican Spanish'),
+ ('es-ni', 'Nicaraguan Spanish'),
+ ('es-ve', 'Venezuelan Spanish'),
+ ('et', 'Estonian'),
+ ('eu', 'Basque'),
+ ('fa', 'Persian'),
+ ('fi', 'Finnish'),
+ ('fr', 'French'),
+ ('fy', 'Frisian'),
+ ('ga', 'Irish'),
+ ('gd', 'Scottish Gaelic'),
+ ('gl', 'Galician'),
+ ('he', 'Hebrew'),
+ ('hi', 'Hindi'),
+ ('hr', 'Croatian'),
+ ('hsb', 'Upper Sorbian'),
+ ('hu', 'Hungarian'),
+ ('ia', 'Interlingua'),
+ ('id', 'Indonesian'),
+ ('io', 'Ido'),
+ ('is', 'Icelandic'),
+ ('it', 'Italian'),
+ ('ja', 'Japanese'),
+ ('ka', 'Georgian'),
+ ('kk', 'Kazakh'),
+ ('km', 'Khmer'),
+ ('kn', 'Kannada'),
+ ('ko', 'Korean'),
+ ('lb', 'Luxembourgish'),
+ ('lt', 'Lithuanian'),
+ ('lv', 'Latvian'),
+ ('mk', 'Macedonian'),
+ ('ml', 'Malayalam'),
+ ('mn', 'Mongolian'),
+ ('mr', 'Marathi'),
+ ('my', 'Burmese'),
+ ('nb', 'Norwegian Bokmål'),
+ ('ne', 'Nepali'),
+ ('nl', 'Dutch'),
+ ('nn', 'Norwegian Nynorsk'),
+ ('os', 'Ossetic'),
+ ('pa', 'Punjabi'),
+ ('pl', 'Polish'),
+ ('pt', 'Portuguese'),
+ ('pt-br', 'Brazilian Portuguese'),
+ ('ro', 'Romanian'),
+ ('ru', 'Russian'),
+ ('sk', 'Slovak'),
+ ('sl', 'Slovenian'),
+ ('sq', 'Albanian'),
+ ('sr', 'Serbian'),
+ ('sr-latn', 'Serbian Latin'),
+ ('sv', 'Swedish'),
+ ('sw', 'Swahili'),
+ ('ta', 'Tamil'),
+ ('te', 'Telugu'),
+ ('th', 'Thai'),
+ ('tr', 'Turkish'),
+ ('tt', 'Tatar'),
+ ('udm', 'Udmurt'),
+ ('uk', 'Ukrainian'),
+ ('ur', 'Urdu'),
+ ('vi', 'Vietnamese'),
+ ('zh-hans', 'Simplified Chinese'),
+ ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI
['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
'django_language'
LANGUAGE_COOKIE_PATH
'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
+ 'filters': {},
+ 'formatters': {'min': {'format': '%(asctime)s %(levelname)s %(message)s'},
+                'standard': {'format': '%(asctime)s %(pathname)s:%(lineno)d '
+                                       '%(module)s:%(funcName)s %(levelname)s '
+                                       '%(message)s'}},
+ 'handlers': {'default': {'class': 'logging.handlers.RotatingFileHandler',
+                          'filename': '/opt/lykchat/logs/lykchat_2017-12-20.log',
+                          'formatter': 'standard',
+                          'level': 'INFO'},
+              'wechat': {'class': 'logging.handlers.RotatingFileHandler',
+                         'filename': '/opt/lykchat/logs/lykchat_wechat_2017-12-20.log',
+                         'formatter': 'standard',
+                         'level': 'INFO'}},
+ 'loggers': {'default': {'handlers': ['default'],
+                         'level': 'INFO',
+                         'propagate': False},
+             'wechat': {'handlers': ['wechat'],
+                        'level': 'INFO',
+                        'propagate': False}},
+ 'version': 1}
LOGGING_CONFIG
'logging.config.dictConfig'
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_REDIRECT_URL
None
MANAGERS
[]
MEDIA_ROOT
'/opt/lykchat/file/'
MEDIA_URL
'/file/'
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
['django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIDDLEWARE_CLASSES
['django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware']
MIGRATION_MODULES
{}
MONTH_DAY_FORMAT
'F j'
NUMBER_GROUPING
0
PASSWORD_HASHERS
'********************'
PASSWORD_RESET_TIMEOUT_DAYS
'********************'
PREPEND_WWW
False
ROOT_URLCONF
'lykchat.urls'
SECRET_KEY
'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
'root@localhost'
SESSION_CACHE_ALIAS
'default'
SESSION_COOKIE_AGE
14400
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
'sessionid'
SESSION_COOKIE_PATH
'/'
SESSION_COOKIE_SECURE
False
SESSION_ENGINE
'redis_sessions.session'
SESSION_EXPIRE_AT_BROWSER_CLOSE
True
SESSION_FILE_PATH
None
SESSION_REDIS
{'db': 0,
+ 'host': '127.0.0.1',
+ 'password': '********************',
+ 'port': 6379,
+ 'prefix': 'lykchat:session',
+ 'socket_timeout': None}
SESSION_SAVE_EVERY_REQUEST
True
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'lykchat.settings'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STATICFILES_DIRS
['/opt/lykchat/static/']
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
+ 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_PATH
'/opt/lykchat/file/'
STATIC_ROOT
None
STATIC_URL
'/static/'
TEMPLATES
[{'APP_DIRS': True,
+  'BACKEND': 'django.template.backends.django.DjangoTemplates',
+  'DIRS': ['/opt/lykchat/templates/',
+           '/opt/lykchat/templates/sysadmin',
+           '/opt/lykchat/templates/wechat'],
+  'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
+                                     'django.template.context_processors.request',
+                                     'django.contrib.auth.context_processors.auth',
+                                     'django.contrib.messages.context_processors.messages',
+                                     'django.template.context_processors.static']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
','
TIME_FORMAT
'P'
TIME_INPUT_FORMATS
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE
'Asia/Shanghai'
USE_ETAGS
False
USE_I18N
True
USE_L10N
True
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
'lykchat.wsgi.application'
X_FRAME_OPTIONS
'SAMEORIGIN'
YEAR_MONTH_FORMAT
'F Y'
+ +
+ +
+

+ You're seeing this error because you have DEBUG = True in your + Django settings file. Change that to False, and Django will + display a standard page generated by the handler for this status code. +

+
+ + + diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md deleted file mode 100644 index a267461..0000000 --- a/doc/ChangeLog.md +++ /dev/null @@ -1,32 +0,0 @@ -# V2.1.0 -## 升级内容 - 新增发送图片、视频、文件等多媒体信息 -## 从v2.0.0更新步骤 - 1、下载最新版本 - 2、安装依赖包 - /usr/local/python36/bin/pip3 install -r /opt/lykchat/install/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple - 3、修改配置文件 - 配置文件library/config/wechat.py - 新增上传文件最大数max_upload_size(默认为5M,建议不要上传文件太大,导致访问接口超时) - 4、修改nginx的上传文件最大值 - client_max_body_size 10m; -## 说明事项 - django默认启用防CSRF(Cross-site request forgery跨站请求伪造),导致无法使用post方法调用该接口,所以作者强制关闭了防csrf功能。 - 如果你觉得有安全隐患,又不需要发送多媒体文件,请下载2.0版本:https://codeload.github.com/lykops/lykchat/zip/master - -# V2.0.0 - - 1、修复bug: - 微信登陆时间超过12小时自动退出,测试过程中测得最大登陆时长20天 - 2、完善功能: - 1)、微信会话保持机制: - 保存位置:之前保存在数据库中,修改为数据库只记录用户名,所有信息保持到文件中,减少数据库的查询、写入、加解密压力 - 动态更新微信登陆信息 - 调整会话信息内容 - 2)、优化微信检测登陆流程,大大缩短各个页面执行时间 - 3)、完善获取好友流程 - 3、新增功能: - 1)、增加用户管理机制 - 2)、好友信息缓存机制 - 4、取消功能: - 接受和处理新信息 \ No newline at end of file diff --git a/doc/FQA.md b/doc/FQA.md deleted file mode 100644 index 3bf83c7..0000000 --- a/doc/FQA.md +++ /dev/null @@ -1,11 +0,0 @@ -# Q:管理页面和接口执行慢;微信号经常退出 - 该系统严重依赖微信web端工作的。 - 管理页面和接口执行效率,很大程度上依赖于程序和微信服务器通讯质量 - 如果通讯质量差,直接导致执行慢,甚至造成微信退出等情况 - 如果微信web端接口和参数变更,可能会导致该项目无法使用 - -# Q:管理页面无法显示自己微信号? - 微信web端不会展示自己的微信号 - 该系统中的显示的自己微信号是通过群信息获取的 - 测试表明:很有可能无法获取到自己的微信号 - 解决办法是没有群的创建一个群,在任意群中发送信息 diff --git a/doc/example/test_sendfile.py b/doc/example/test_sendfile.py new file mode 100644 index 0000000..8d863d0 --- /dev/null +++ b/doc/example/test_sendfile.py @@ -0,0 +1,70 @@ +import json +import os, random, sys, requests + +from requests_toolbelt.multipart.encoder import MultipartEncoder + + +url = 'http://127.0.0.1/wechat/sendmsg' +argvstr = sys.argv[1:] +argv_dict = {} +for argv in argvstr : + try : + argv = argv.split("=") + argv_dict[argv[0]] = argv[1] + except : + pass + +parameter_dict = { + 'username' : '用户' , + 'pwd' : '接口密码,注意不等于登陆密码' , + 'friend':'接受者的昵称、微信号、备注名的其中一个,不能为空', + 'content':'发送内容,不能为空', + 'file':'文件绝对路径,可以为空', + 'wxid':'发送者的昵称,能为空', + + '例子': + ''' + /usr/local/python36/bin/python3 /opt/lykchat/test_sendfile.py username=zabbix pwd=123456 friend=lykops content=恭喜发财 file=/root/b.jpg + ''' + } + +headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0', + 'Referer': url + } + +for key in ['username', 'pwd', 'friend', 'content'] : + if key not in argv_dict : + print(parameter_dict) + exit(0) + +if 'file' not in argv_dict : + data = argv_dict + r = requests.post(url, data=data, headers=headers) + result = r.text +else : + multipart_encoder = MultipartEncoder( + fields={ + 'username': argv_dict['username'], + 'pwd': argv_dict['pwd'], + 'friend': argv_dict['friend'], + 'content': argv_dict['content'], + 'file': (os.path.basename(argv_dict['file']) , open(argv_dict['file'], 'rb'), 'application/octet-stream') + }, + boundary='-----------------------------' + str(random.randint(1e28, 1e29 - 1)) + ) + + headers['Content-Type'] = multipart_encoder.content_type + # multipart/form-data + + r = requests.post(url, data=multipart_encoder, headers=headers, timeout=300) + result = r.text + +result = json.loads(result) +if isinstance(result[1], str) : + content = result[1].encode() + content = content.decode() + print(content) +else : + print(result[1]) + diff --git "a/doc/help/\347\224\250\346\210\267\347\256\241\347\220\206.md" "b/doc/help/\347\224\250\346\210\267\347\256\241\347\220\206.md" new file mode 100644 index 0000000..be4dd0e --- /dev/null +++ "b/doc/help/\347\224\250\346\210\267\347\256\241\347\220\206.md" @@ -0,0 +1,36 @@ +# 用户列表 + +![用户列表](https://github.com/lykops/lykops/blob/master/doc/screenshot/%E7%94%A8%E6%88%B7%E5%88%97%E8%A1%A8.jpg?raw=true) + +按钮说明: + + 新增:新增一个用户 + 编辑:编辑用户基本信息,真实姓名和联系方式 + 改密:修改登录密码 + 禁用:禁止该用户登陆 + 启用:允许该用户登陆 + +# 用户详细信息 + +![用户详细信息](https://github.com/lykops/lykops/blob/master/doc/screenshot/%E7%94%A8%E6%88%B7%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF.jpg?raw=true) + +# 新增用户 + +![新增用户](https://github.com/lykops/lykops/blob/master/doc/screenshot/%E6%96%B0%E5%A2%9E%E7%94%A8%E6%88%B7.jpg?raw=true) + +# 编辑用户 + +![编辑用户](https://github.com/lykops/lykops/blob/master/doc/screenshot/%E7%BC%96%E8%BE%91%E7%94%A8%E6%88%B7.png?raw=true) + +# 修改登录密码 + +![修改登录密码](https://github.com/lykops/lykops/blob/master/doc/screenshot/%E4%BF%AE%E6%94%B9%E7%94%A8%E6%88%B7%E7%99%BB%E9%99%86%E5%AF%86%E7%A0%81.jpg?raw=true) + +# 修改vault密码 + +![修改vault密码](https://raw.githubusercontent.com/lykops/lykops/master/doc/screenshot/%E4%BF%AE%E6%94%B9%E7%94%A8%E6%88%B7vault%E5%AF%86%E7%A0%81.bmp) + +注意: + + 登陆密码和vault密码不能相同。 + 修改用户的vault密码的同时,也会修改该用户下的所有加密数据的vault密码。 \ No newline at end of file diff --git "a/doc/help/\347\231\273\351\231\206.md" "b/doc/help/\347\231\273\351\231\206.md" new file mode 100644 index 0000000..4491fee --- /dev/null +++ "b/doc/help/\347\231\273\351\231\206.md" @@ -0,0 +1,38 @@ +# 登陆 + +![登陆页面](https://github.com/lykops/lykops/blob/master/doc/screenshot/%E7%99%BB%E9%99%86.jpg?raw=true) + +如上图有三个必填框,第一个是登陆用户,第二个为登陆密码,第三个为vault密码。 + +如果部署完毕后,该项目没有任何用户时,系统要求你创建一个超级管理员,请看下面“创建超级管理员”部分。 + + +# 创建超级管理员 + +![创建超级管理员](https://github.com/lykops/lykops/blob/master/doc/screenshot/%E5%88%9B%E5%BB%BA%E8%B6%85%E7%BA%A7%E7%AE%A1%E7%90%86%E5%91%98.jpg?raw=true) + +**默认超级管理员用户为lykops** + +如下修改,请修改配置文件,位于项目根目录下的library/config/frontend.py(默认为/opt/lykops/library/config/frontend.py),变量名adminuser。 + + +# 关于vault密码 + +## 什么是vault密码 + +vault密码用于加解密用户的机密数据。 + +加密数据有: + + 远程主机的ssh、sudo等密码 + ansible配置的ssh、sudo等密码 + ...... + +它从ansible的vault密码中引申而来,加解密算法同ansible的vault,但修改了vault数据的头部。它支持解密使用原生ansible的vault方式加密的数据。 + +## 为什么不使用登陆密码? + +解决扩展问题。后续版本中会增加不同用户之间数据的引用问题(例如:A用户的主机直接给B用户)、超级管理员统一管理主机等功能。 + +如果直接使用登陆密码将会造成用户繁乱和无法隔离用户等问题。 + diff --git "a/doc/help/\351\203\250\347\275\262\346\211\213\345\206\214.md" "b/doc/help/\351\203\250\347\275\262\346\211\213\345\206\214.md" new file mode 100644 index 0000000..779a78c --- /dev/null +++ "b/doc/help/\351\203\250\347\275\262\346\211\213\345\206\214.md" @@ -0,0 +1,129 @@ +# 配置运行环境 + 关闭selinux + sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config + 防火墙允许外网访问80端口或者直接关闭防火墙 + systemctl firewalld disabled + +# 安装依赖包 + yum install -y epel-release + yum install telnet ntpdate glibc openssl openssl-devel openssl-static openssl098e openssl-libs vim automake autoconf gcc xz ncurses-devel patch git gcc-c++ net-tools wget unzip zip sshpass -y + yum upgrade -y + reboot + +# mongodb +## 安装 + yum源文件 + cat << EOF > /etc/yum.repos.d/mongodb-org-3.6.repo + [mongodb-org-3.6] + name=MongoDB Repository + baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.6/x86_64/ + gpgcheck=0 + enabled=1 + gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc + EOF + + yum install -y mongodb-org + 如果yum很慢的话,直接到https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.6/x86_64/RPMS/下载后安装 + + +## 部署 + mkdir -p /opt/mongodb/{data,log} + mongod --dbpath /opt/mongodb/data/ --logpath /opt/mongodb/log/mongodp.log --fork + +## 建表和权限管理 + +下面的操作需要进入mongo进行操作 + +### 建表 + + db.createCollection("lykchat") + +### 授权 + + use lykchat; + db.createUser( + { + user: "lykchat", + pwd: "1qaz2wsx", + roles: + [ + { + role: "readWrite", + db: "lykchat" + } + ] + } + ); + + +### 在lykops库中验证 + + use lykchat; + db.auth('lykchat', '1qaz2wsx') + + +### 重启 + kill -9 $(ps aux | grep 'mongod --dbpath /opt' | grep -v grep | gawk {'print $2'}) + mongod --dbpath /opt/mongodb/data/ --logpath /opt/mongodb/log/mongodp.log --fork --auth + +### 验证权限 + mongo lykchat -ulykchat -p'1qaz2wsx' + 能正常登陆说明权限设置OK + +# redis +## 安装 + wget http://download.redis.io/releases/redis-3.2.11.tar.gz + tar xzf redis-3.2.11.tar.gz + cd redis-3.2.11 + make + +注:可升级到redis-4.0.6 + +## 配置 + +注:redis不是用持久化,即redis在运行时数据放在内存中,不会保存到硬盘中,关闭后将消失。 + + mv /opt/redis-3.2.11 /opt/redis + cd /opt/redis/ + + sed -i 's/daemonize no/daemonize yes/g' redis.conf + sed -i 's/^save/#save/g' redis.conf + sed -i 's/^append/#append/g' redis.conf + echo 'requirepass 1qaz2wsx' >> redis.conf + #设置密码 + +## 启动 + /opt/redis/src/redis-server /opt/redis/redis.conf + +# 部署代码 +把代码下载到/opt/lykchat + +# python +## 部署运行环境 + wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz -c + tar zxvf Python-3.6.3.tgz + cd Python-3.6.3 + ./configure --prefix=/usr/local/python36/ --enable-optimizations && make && make install + ln -s /usr/local/python36/bin/{python3,pip3} /bin + + pip3 install -r /opt/lykchat/doc/install/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple + +## 启动django + /usr/local/python36/bin/python3 /opt/lykchat/manage.py runserver 0.0.0.0:80 + +## 配置计划任务 + + * * * * * curl http://127.0.0.1/wechat/check + + +# 自启动 + +在/etc/rc.local中添加下面几行 + + mongod --dbpath /opt/mongodb/data/ --logpath /opt/mongodb/log/mongodp.log --fork --auth + /opt/redis/src/redis-server /opt/redis/redis.conf & + + /usr/local/python36/bin/python3 /opt/lykops/manage.py runserver 0.0.0.0:80 >> /dev/shm/lykops.log >2& + + +chmod +x /etc/rc.d/rc.local diff --git "a/doc/help/\351\205\215\347\275\256\346\211\213\345\206\214.md" "b/doc/help/\351\205\215\347\275\256\346\211\213\345\206\214.md" new file mode 100644 index 0000000..c119b7d --- /dev/null +++ "b/doc/help/\351\205\215\347\275\256\346\211\213\345\206\214.md" @@ -0,0 +1,61 @@ +主要配置文件放在:项目根目录下的library/config,默认为/opt/lykops/library/config/ + +# 数据库 + +数据库参数的配置文件位于:项目根目录下的library/config/database.py,默认为/opt/lykops/library/config/database.py + +## mongodb + +本系统使用pymongo模块(mongodb官方推荐)操作管理mongodb服务器。官方文档地址为https://pypi.python.org/pypi/pymongo/3.4.0 + +连接参数是由mongo_config来定义的,具体配置请直接查看文件。 + +本系统重新构建mongodb接口,位于项目根目录下的library/connecter/database/mongo.py,默认为/opt/lykops/library/connecter/database/mongo.py。 + +**注:本系统目前只支持单机,任何集群方式未测试过。** + +## redis + +本系统使用redis模块操作管理redis服务器。官方文档地址为https://pypi.python.org/pypi/redis/2.10.5 + +连接参数是由redis_config来定义的,具体配置请直接查看文件。 + +本系统重新构建redis接口,位于项目根目录下的library/connecter/database/redis_api.py,默认为/opt/lykops/library/connecter/database/redis_api.py。 + +**注:本系统只支持单机,任何集群方式未测试过。** + +# 缓存 + +使用redis存储缓存。 + +## 查询缓存 + +主要是用于前端查询做缓存,配置请见本文的“数据库”--“redis”部分 + +## session缓存 + +即用户登录后会话保持,保持时长为4小时。注意:保持时长不是从登录时间开始计算,而是用户在页面操作的最后一次操作开始计算的。 + +配置文件位于项目根目录下的lykops/settings.py(默认为/opt/lykops/lykops/settings.py),以SESSION_开头的参数。 + + +# 操作日志 + +操作日志保存在项目根目录下的logs,默认为/opt/lykops/logs,文件名格式:日志类型-年-月-日.log,**年月日是记录日志的时间**。 + +配置文件位于项目根目录下的lykops/settings.py(默认为/opt/lykops/lykops/settings.py),变量为LOGGING。 + + weboper记录用户在web页面上操作日志,记录内容包括包括操作者(大部分有)、操作名称、执行结果、失败原因 + ansible记录ansible模块运行日志,记录内容包括操作名称、执行结果、失败原因 + database记录数据库模块运行日志,记录内容包括操作名称、执行结果、失败原因 + security记录安全相关的日志(包括用户的登陆密码验证,用户的主机、私密等数据加解密等操作),记录内容包括操作名称、执行结果、失败原因 + lykops记录其他未分类的日志,记录内容包括操作名称、执行结果、失败原因 + +日志通用格式为(每个字段使用空格隔开): + + 年-月-日 小时:分钟:秒,毫秒 记录日志的文件名:行数 模块:函数 级别英文名 自定义日志内容 + 2017-11-18 21:58:28,227 /opt/lykops/lykops/views.py:82 views:login INFO 超级管理员lykops不存在,正在创建中... + +# 超级管理员 + +默认为lykops,配置文件位于项目根目录下的library/config/frontend.py(默认为/opt/lykops/library/config/frontend.py),变量名adminuser diff --git a/doc/install/requirements.txt b/doc/install/requirements.txt new file mode 100644 index 0000000..295e4eb --- /dev/null +++ b/doc/install/requirements.txt @@ -0,0 +1,19 @@ +django==1.11 +#django-bootstrap +#django-bootstrap-form +#django-bootstrap-toolkit +django-crontab +#djangorestframework +#django-template-utils +django-redis-sessions +celery +celery-with-redis +filetype +filetypes +hiredis +pymongo +Pillow +rarfile +redis +#requests +requests-toolbelt \ No newline at end of file diff --git "a/doc/lykchat\345\267\245\344\275\234\346\265\201\347\250\213.jpg" "b/doc/lykchat\345\267\245\344\275\234\346\265\201\347\250\213.jpg" deleted file mode 100644 index 5e19ad2fc3f8bf62bcf4803a3f1941e117384eba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190395 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

=r@fiyJNGK5`+CNL6{@(y$&8*#gLO_7 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%0An<-yx$rpgmr#XHy%8bTp;X~cmHq`i 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∾36Ep#M;>rW(ZLL%tx8r{w?@LR;Q#%R-``Vfs^ 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 Z9n(^_JROsW0c;$Bv42(lov=OnKLBP=)p!5^ diff --git "a/doc/lykchat\345\267\245\344\275\234\346\265\201\347\250\213.vsdx" "b/doc/lykchat\345\267\245\344\275\234\346\265\201\347\250\213.vsdx" deleted file mode 100644 index b34881fd3d986eab4a252d5513cd40f02d3afe8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45146 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 diff --git "a/doc/web\347\256\241\347\220\206--\345\217\221\351\200\201\346\210\220\345\212\237.jpg" "b/doc/web\347\256\241\347\220\206--\345\217\221\351\200\201\346\210\220\345\212\237.jpg" deleted file mode 100644 index 14858dac84b9d8b32805616c0eaaa197d4645c41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39541 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 BPWS)- diff --git "a/doc/web\347\256\241\347\220\206--\347\231\273\351\231\206.jpg" "b/doc/web\347\256\241\347\220\206--\347\231\273\351\231\206.jpg" deleted file mode 100644 index ad0f772a81fd866327c668c60cc3342e41f0c3e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51804 zcmd?R2UHZ>)-~EB$x(tJIp-XeoSO`yfFL;_a2OhS}joLfMU9~uM+6B82$8|NG@?m2!sN;>}k^}oX=7$F97I+_#;597TM9)<)%Mgg<^_3sQiG71_hbnqOw4d_lz{X<4VK|36V;h=zS1SkYB7}EWT zxm|&mIi6YC3m!@(Gt>_ff4iG9yY#rE_K)IQ*Uw)Kd7t}_ceYD!?*5O1Y?uC%OH|E1 z`=i)gtN{f@Bx6cKlO~1ACeZq&z4fS9meiGUT%mhWPB5e_^6%5!ey3LBKiwS^Yry9z ziN^2Q7LOs0{lxubJ2T3QdE4!#h^9!H4H&RBIaSCkSEm^Hy&?x=R6T$(>Sk3>1^=J8?rt~XP?Ouax$H&@G+@oZO&&&$mH zGOeG3{F@z*SNocpG5J$pwss^XWB$IAZ73pe{@;x8+rzeJ`(WZUeEs)bZ@$eE7|X4h zAD`S<+}`{26wjodMzYjv!(wK1)5}BRR;)5^`VV_+VTwPt$(KI9>3->!-5eeLiAL3V z@P>W!!~+|$iTC5p^8)t9Qo^?_<}TX5OmlV>7@gj~eMv7v;KOF~ccHoi@jD{R7c#Ok zx2cnN|5$wy+8XNd#bR0_nx|mFVs7>RP0@q5pO#~so8uPWP4{`-HM)ICVrxyf>RnZP zq(o!B@>uh*%gVG@ca-8%78T32>4r_Q^qwMWbsNpOam@PL*n@W}?S^mf_EPcG)rZ1+ z=hHv&&<%BFEDDRg!0Y+0ciFG+&x?SI>QlW<2VhB4NZ&fxa|oo zt!@~!_xdPFy{+iam>#;~v9b6u<3axe3(0k{{j>MyKIYcml{5|%`_%1G)jB-+BZl<; zrv$|(p^V$L*)>@&FA7!hC_dh59{Idm^W9zjZT`oc4-3mXZbDYI#=`rp3^^W#3vX+2 zobFO{ZDd7xf9mQJUVHvs*sMxBzw_H#MjCll=fbSWyJ$~0i7dR(7!kMb>T`P|1s@je ztuxC8$3A+zJd-K-b##8WhRPd7`p+vNi1`IHoO$U7!}S6?AD>#!TA1a#d+$*Ez&+mp zqxga2gu^#1WcCGiqxZ}8VZOF=*5Vn@qXclhQ0Dq>48fXt@~OQ1V7y&OYhSK^T<7f) zTEx#*>disvMf9*6J!j3gwi6;HKqF*NA#5#aR%SO!BlHbsmip&;z>r8gNNdvR%x#0i z^GKP)^#8@K%MH7pn_(J$f9d@nd_~g1tNYpQY^vbwb$R-R|DfMrPbon+mOg32?4ocM zq9^p2iMDC&Us?CQOGBgdzuvjNolJW&;O{?4Xur0d96=Hb)UYm)be|*Eq9O%6lP*wj0d+%pkRX=jCE>%D)I}%OB4l45a)DJAA z+aFM~WN0#pWyeX7#|f}~Xb8A={CUJy@j}ImvAv5)w-E1r2lyh^K?CeVw7%bOW^<}Z zH}EO#$yd}_T(R^xjJmaEUaY|ShNT3IP@f!5G#{=_lvlcB`$)b?C{NF^tYHO=(-IuG z$GYuNtu>mop&rQKf1$z%m8CXZ-VUXVl2pW$Kk%z>>?PP%GR@)ILW_1~SjE`ZGFeAE zklQ2N+BW4_@f{@Hmv;L;C#R|dR@D(8Gya)$ ziydPxKvJ1&2WGN?RR3y zPbr_BEY839{GDIUg_x3{`}%SDNWt7jk$C2o#ik_>VL3dj)sgGS<4+InAGGFCD~lia z`1eV(%*gc3ZMLK260ktCBLwl>BFFg~bSsowhcM~67M2YpTDM8mLs%|NED0KD(nrni zZJ^qOX)a)*il_XS^Q@v9#1N5&p}bPzi1b$a z8ZDaLCQ7xMgYZ;F!fm8+Xu0Yaz?xrN4SVUQi|zgMEjJ50Q|Hw3FP84O8M%PU7kuN9?!c7R@HFNDOF8$j_P($VDA@(4YZ|JcH}nk_vlhN z|J=d=UQgSCn(9fBB`FX5V!c0W_Jqpy&WUZH#TlmTNtzkPM+eDjC@i9S$0{{v^G^Lh zmC7Z!fN==ROw0SVm)IWzW znr}l)P{25ha8*W{XH|-(jAIpsy+;D9SP$dbLGn#RmZ4!J-G`Cxo$`Jn%zYnac9`J? z+AC#-l`R<0s$cdp!^}YrlJ6k8Ps7ti*gxmFsV2^yy&zYy)zt*o9y9;QeBS6Zg1z#dYUk!5yCb1kN@2$)*ITzW6=4i1ti|Rwy7aF5P zlVh-qiRNRlhb|uTf@rm2>J4f=00-c+uY4xoIzgWj5PrsNQ@l{yWYw4=jw=L0-hNed5Bu)SM#E^^}JMU^??2JFb z6c3ORWetACj=2|@;|!qM%hp+%i=dno2 zSY1H1N^dbev;a&s_a)6`v|L3eZinsrLt5dVt{AFRHtSm4x}P%L8WPNF5;eeA%Wzt% zk!CI)!`shomI_a7D5hq{%v7mWDrYGR<8GW`!dCFO7U4mFwAaDrXLPCTFYA~=Ceiu? z2fn83s-LLEa|3O??Ob?S@#Y9T1W+(PD-u zw_4L-!0C(+e7wCAUBTiPi*CM@R%Y4wFC(k}I43%FHPAh+%pmZ8&g0qIgSqVxp=3k0 z^c}?X&}XJ}j`3}sMw6kb*_#1al(}7to-=hn0$E0i2&*~EaAC5Q1SQ&|r?ItuY85#r zX7s=*$AF{;>f2i;w*OyPy7=NA-ZpRO5VGGz^gJ0FBK%Bj@42;oLjSc!9)>l%P|CHn zY3jhfm~d3zXJq0STU8TlSbo{-^k-M=%aCb$6Fo6}KT0?#%@XX=t}#-sHA)q8t!(kZuq>|0OM?|4Lz5jJ zR@X$W$m!W+syDwU9jiLEhLQ#Pn`<_Z*3)G3GVF&*XXmf}H_IiqkGI`$q|VnySB~_C z^A5>2tu9!u$BX`2E{lFKZLG-SUvx;3q|jj4$eQP}lYkq(H_cnwvF{E^ z5FU8bPK^WotxLF@-6PF)AZ3~ZWeSHd+Q*&V#Vjk~VziKoGyLB81xB&bN$`8RJ!!>? zb(ucdhh;WC5YV9`%W}6y(sJ9PT9wf<+GwOvM)#5F{eqCICNnZL86ZOY-;PD|9b$r1 zt+?iA(rx`a;`@R1yfNX(QbVFEn0wx(oEUrFWfwPEMpMQ2oIp~chnfr2k<_O>*wX&y zG6VsxE$^lr5FAkV{)^xM#4NJpQCKip+3`D_HuyoAL)#v*FAVKK3wsZG1Bs-!hqni- z{{pL;CWcilz<5@qS(cG}`;cX5FwyD}Cv z{Jh({8IAHvlhtFI$WzmQbN$m3LjL>p=EgIZB2yy2&(+?( zI6S%!V))sM#;?dqUak8Mx;n4!_?_kljf=* z7h5|W%_!%6jXZd1!3}yi3OvK+yY)a+So!nlYebCe?KC5TyF_2B|x$S*|6s!UwmK>eF+(LU2rmr*N$JMnQ+`dB-vy&JfqkzSE0D^$d; zgPSmao=xY4c(UEBy~rTLjnsLTf&!v@@+xrN*buGZ#75TDWS6SU9r(P}!K-+uv*Mwu zJMjVVLl`QlF#5M$Lj26zm~;C}BevTW+a5;QT$VQ&3@F;(E0znzmEQZGzR;rv!)>rB zam#0u<26J-(lHkl#KRYAVuuM1o(3Jl)+*(1lMBk_j57&mempNUttq3dXrZ*eKA_@K znP8T^?2C5kt~jTR_ofQp=x)j0)YCTNsG<_Z0t{chCg1G=58V>-R>wAWnd)mp-}&R< zm=5Klv)%@WF!bfiB5#{4IPTPnv|4X1j#Fh!Rd~DJj_zLh_=+KC#G=W_jmr6F%f-K( zv^?xowe7(eR=<-jtG%a{Js~o76_=-YOfAWZO=?68PFq!8ScPlVRr6|7nYcn|L-T^M zfE|Y;eBrTla@{BR@&eiA*9o?>M$5OFT&USy*qkrOQp*k~DqaX*cx*Xh>D|^9FK<~e zX$|LoWEzzy!=VzYjf79vLKqkHn4{%=V)P@6heHdrt=gy;9!EbiO-@2_2yd2@4^9YM z0RvLqxw9<5m~y#HQPCLFA-N7$KJML37emy7Vm3Ra@W*UaR~n1sGuu0=`i7lzxLSm> zzWIe3-Z>wn!Dc{^L=tZALe8en zwEXl;solEaM9jhs;#L7UM(Nmi_#gZ1H+Hk&uh*^`2&K3%%diD=F)zdovc%t_OYX)} zWllnS%vC@msq$r7=rykm*`vh}L&nP6IpIOH<;o%#)CzA{RG8k09c;&C?7sE96VobR zo_~h;&d34hgYrNp z^CYIK>$yI&K|4W>!t0&~%<2aj zq3`9xzCC|C8=z_5_U$8KTl`-1bBh}fv%3AM7*)T}=@`ipIi=ZglE;z3G3;ek3uA+x zTDn}LOg?*{r!#)7pyET+$aQ)+fr)+a>dk5EC>c9Dob)L|q5fO19BcM`%LVAqSn9{c zB{N&fCouu9SffqK^)1WPwS=1vI2ER7@xIFE-thR*h8py$No$oDCtMys%Q(Mbr)WZQ z{!wXxVDG+I8RpH6EVl%{oqd{Zx!so&Iiu;x-D;~z$$XD#+oIBCFSOI^0|HM@{&?@b zcD758l1UNMzQ)LofnkyDZnukPsr7dQ!kzs(%Q>?ooT__i_ncHmI7jo4&(P#W6Ps|Jm; z;V`i2C3v^XCsGE`v*3Q95E3Ok(DP)&S=UuB4;CV?On~q9kZ%e|HS;XMcLqH7>tc2e zVPzf$%43@g)+YP{CbTPA8rN@OUGk`S%59adw@+6{o>mZ{Nk4sEH9Fn|H=)3X?e&|1 zdDix`=Vqru?mp@{gt@d7CkS>|ch4AzQi)*JQAGvHYV{}@S~(FV7Ub_$hMsqn@>p7? z8x%TU7k#0-mhY`#rxo)TVK`m1iZ_$B&c~aBDdhZiF;A)F6W!uk!f{21QZ@(=_}7N`w5a%+r>UNb2*wjT|Z2LT_7Fw|PL{9xtT{L}h@~luH;c(OGOhT^<2|5+n9D`*(RODSQSjVTZIiFeM5#^ z)up(YLZ6HJ%H-jkL_s;x0xCMga^WgOLBY8kw3aHI{ER69T8RPla4ULxyK*TK#^mf6 zG~r;-fD9)J7*S1iVxX+qO28#rRv}7g&g)Orfy1W_E>RUw>vR<`Sz2|)zP*+H@z!fL zOl@*!&T!_wx3|nzFWAoSnHCTMa@Ab6Gpy*;Grhiud(Hn*nUL$5Ck^k0C~8su^Ck?P zi^+$u@cCESD-t4a4_JzJd|TGXHG!m}YjgUqe)u1lsIM>c{AgX`dsSjpuwf#*oyod%0Cie_sg*z|p8!iv4#hDA$B4H7Gol9qO zw|+wD77}jEMQ$$T|WjXAnnD zT`8)Hx;4Zbe{OZ*_5*+SYv1?yncEj9JyW6A6@vx(C0j7%(u%i196hW08@w4Tbtwi0 z#rFi1sEfeOowfYoD4`xSEV*iO-~hU0G~KjcWhrtf7)JZlA2ia_V^R_dUS+joTQ&^` zzT8DS?qtEAmYTt^tsx4Z`hyFN+DZA%ltb7=ylrP&Lzuf`EY2#FQ84)h3rpNlx35#r zpnk&~X%_fCcBAZ(#j@KR3iVSnByue=z5x{?yFG8TG+n z;)sUjUjMy=Ymh5IdcjqqAvTmDYRj|o`f4c$hf zOQ)?1Rv4#l+U<{897|wu^2GZOTJfo)7D0B)R7?e!vq8C4!>1XDI+H z_6@SZzzxHVnVVv+oi!|5t{vv}d_oyo3eF*MO<>gji*0d_Og(AZ*`wrTSk|~u?L=J% z;P=R?h7^I%X3i?A*fp*;8~LYAPo7XleCf+?{yCGDCgQAP+yvjx%A%!+VZ+;ab#EPj%IR&*0kB^-d6@!i&yc@iSuzmzmsf!2-Hseq~N@QwY zGQ(P{2sf}PKH;C0$(whM*8A9^@7&F1rv;dAx|N|73AU5Bj}QeQ#@q*aLzNFXnV}+ahV+YJK49&i20DTtfNX1coqGnb z?rQBY-{ft`qIKMxz7YO?vY3P(p4^An{N^K2;iDsH(TCqmDV2+TqV)*{#EED&Uy%o% zP@ zYcF(*$|ij5gp9Po3(V!sCLDR8TV6JQaVF*x=-F(L+6wYmxpt)b;}D?jPK$p?6n@9~Fw*XwMbBNGp8^aGdH$G_Ya z-6O6ZjQ|-lahO?%QS1-I7p$9}U*d{dQ>i_w7r$PfQYgdcpLPqxsiFHuig1i)0P2q( zrBSz@xjw6GeF~R#2%C8+l6lqRY^{hO=>03gOsP8dTi5IX%AW(2JHl(X2X0ZHfcXYQ z|0huq0P2)2smX!k{Bo40fdNY|D*J{Tt|*3pBHSyjs(*;{Q(M*GAWQ>V?qP}Zfgqr# zho|8B6Qn2IB<%R*7(mA{KfuFXcR*OY88Po<-ImJ!(Ow}s+yu;52}`^Y3W@btFRGn5 zAXMXDRf}yy#8C#>82pp#G)9EJHN+9Y z!mJa@p+5uaS0HB|1Bh`~0Xt5$e1eP}`8XdDPC+ze?r#C&rZvRZ@;JyNf@crFx7m@| z$-Jry##RtPxn;cWBuqn=rRaT+I;8zI?}qESpK_-$10MIWbl+4!5AR|#!gl!?^wxkn zt&*oIqN_~lWPwZos5Dc068?Ay(CtTb9qKb~XMb3YMZkR3})-v$khO>2U6hXNpomktmr*W1?HfQd2m?oU6PkDHG( zFnD0GV1}jXLDbW$LGbiqyTx0EOZ~5{vhtYUEYW)&TNc<{F)bgmABK)sTfoh%9+r~O zB7oma)nj~5{Dpv*JqIY=EYxFo#n&7^zJIh_`6!LP^(3-Z8Iya|;6N6a4W@r#{D-m7 zi{;MlHcQ00U*ANUvVU}va09Vz^v31M{@H2$DA(@vb?M|CCY3XJ(^p@4d*F|7?t~?aO>%J%Ga_CWg#71*xf~uL%8W(emjy zr2dI`Aq@tIdbte*NFb|@qWl3E4>-sKyb{Pu#1|j{C69Rka5qp5F=EuU2s3-kF-kPk z%^Jq`gc~1=+&F}i@_#&pp_M<>@+*w`;9qVA)CCD$gq(%M)yY7ARm-ro9%c6<52!!Z zQV5BSdlcCjZM7#(!XczCEYQkptrxE14I&vNd-h216 zG9}c21O{67+KDUJKonoEb|jKXXgtooWl-yHEqPV}Wb{bSDl>2%(WGS0nA76XoBUB4 zP>)A3xbds9<55V3#p z3&z0OfK+Do1ig^#0_F$Z$h?#m9Yu~JxO>KrYRK?9Ke@h+`cWtyLgGN8sq$x{GkNnP z$-tM{w$vjo-@1BLEyh9#khDuJ(v`J%jshTtuU>ABF%nc+?&N9(gMt7+a$AhPHaysn ztL<4o$4Y)MwdqN^W83Mt=x!H8>QI_22zeFbXA z`uIrFqCcEfvLOdBM2M&ppp&>bGYo+!eZyrE1aEP7%d7m;5#NX!Zd{%+d`jwDdL*?^ zxLM&SxC3}Wa_jQDt{96zA!kMbB`kTV(*WKECRh>q=Fl61v$YKUKwuMK@Pzq}@p+8Z zy(f^hqnVcxnOpFu?`$HzLlAkG{f}M9E7Pdb1T57^ZdL)#f)W&np@Ej>-6&|s`MhBy zhHslRkzVci2^>P00=9Z5p@v>0MwBT4tY?D4O()(er_08wO~;MSO46HlIiB`@xBl(9g`snClFAgAo>_>ahwPxvNC z!MQ?k-gU)xQ?d~>_li*6w};FK@o+>{MvMiZVbTWK4C)t5(?e@0kd`89{u^P=xKvs| z(G%ck^7hAqVNpmn>D)s8YP*KO8ziVsEsyW;k?O6#5srBOS@sV9O8|D zXt5zBjG)bfmQ?Lo5I#?8498H~gVNByw4GEZCQnJ-bF*@3c$Q+Z|5rYwfs!bIDmK}g zKQQIg?0$0T2Q2rDeuu{eaa+1`3z zo8oChH*ovO5AW~n^mYq z8y^z5dR3@eDQ$qox73Af&~D}|w&N`_5x8}}4(2tX^N&;#(lmu{$X<9T!Z6Efr)q7} zHZ(s2FSwV2Np&V;UTCWzdzo-r=WRD1Q2+<(T7-498WWXGx#&uX60V)9&D(>1aw4f+ zJISmwoho|px^Ied)+6M`^Z7jH7jCUG_a#{=&kLKT%J38g7|=0l{E?Y%nZfux2*vIX z!pe`yy0Od|wCcG`;8B|gQw0k@<9Uqv1ob$kN=DK5cV_4YZdxfbXTS?FrRPQN!&TbS zZ^kRbS>k*+?U?Y!@&pUw6ANOK7!wtTi7(*93SYf~+6kwOjN>2h-7S$!6`0PNxK6Vk zX8puoyy%mdcc9K-?)V{0)7^3^;l*{s9ydJE1#8I%hF52*?M3M3&fQXVVuO1Xb(UPZ z_VLF;>aFM%?-3L2rxRG3ML0FdnMO&t6?T{BwT$FN?JVC3RfpYDB3FNrTC|EKe3>o& z>R>-tQ%w77Swl&-%*~PZ&7!! z@afKd)$h)B>(v8{xiTs$*bhG$Kl0G2EUga#vzPRaO^FXu(q=eNRI*?x4p~DhF9?WU zV3KT(U>PyM3rL=#GRkh&&DQLt$JD2Qn>1HuYi;_V4(-}5nSSW z9ldYv_K;kt2t3F_pZ1*Fo~`iP!KQmQEjiU@`#L0qW-{lI=Gl~cv(MwcK2B5n-nFrN zml~gkl+xvf(O#Xm;(&xt<&K2Uxa`#9SCImCDwLePAljfgJmgR@6A$6AWsG4UeL5n$ zzmcy?N;EJKTqxuzW#f2fQ)GH*eE1sbt?v4HBkCWbS% z+3w~MtWscg=)mfrz>rV>wHgu;pD6($oeVN9ua*O1O^~5AiKCYfCt_5FJ}_rUd7i#D z``lK}8A<=^$LkeuZ;h?RZKvq1#U;G2LA~gK4ckhAjh~m@4(Jxwdb9Kv4`KD=68Bfe zzkhLCH`>|Rp;_GeL3dZ;27Oo_Ys9G^A?4Bk{8f*yRA*S4UkcryDtIW5ij0bhc?Jyy z{Db~-3JIAIg$O)~4?rb2%P*7ntg)Y#o?t5}zv1S?oJ_jfxS zsu=?U%GR;nbm?+}A$B+eV4XwyJ*Pvx?)8RIIR9M85zLcP#;^aZ5N@UCW+ihAkK4zF{MLy0tjcx4% zMFJ~li51A&QpqU>io?}qk}LFt7O*>t!($fd<(ZtdTwFs0*sO8_%nEh-tgSKStz@3< zH^#9j+%C}T$zaANVCS%~ zwvH!#);FF!r&Z2QTVz*hg$~q9wf)0Q7{#s5-VJcxwK_?vNJ}0wt zNh$?f!Kh71*Ju}E$@NP*@@7hfCb_Yl^~+j&iOJ!(H4;id)B`Xg*EzSiM3fsa_j(i4l23Kw*c}ulvgObm+|OEQ1Zez}xhlq*+|(Wu5Ae#xsLF()-)M0wLL_aPs9SWil+?qJ$f z=z7YRtFK}nN_S8z5|@F#P>J9ymakoe=Q zw`q&X#`VOs?%wsBLzw(Wl0S5+W8aQ-^E+G@2wrtI<7;=(AnK6m*Ax|_?W#N<%Y9E_ zEk_{0dPNwwU&!EdTl}{nW*uVbd#pTX`A6wG+0=70SuztCq&mNLN-AoqiVEGAC!c?# z%3|?th6t~MyoK3yiTHd}wm~LEPadji*8;8LWg5D!A+MJG=D1f377w3gnmDMq`t-{L zCN2oKs)W@k)oG4`qi;NYrX-{sm(FfduShv|YtuLe<-`22gJTZU zx7)9(J~FYBAMk?_0lapJPR|H5M<>2_(3N-`@>!yxY=oiD0t?ojz=c zi9(H{7K!yCpUQwS?To>BSA6&E>do-o81Uf{UTbtb8u&PbjfPFTkR6Ov7m@Sn_NiqO zc79eQPDta7&#z>rBV5A_XL(Smo{+Pv+@+pi|F$5&6OXHPy{xP$bjF$Rg_+1wr?_>&72TlH%udF26wXYYhm`?g zTKVyj&qxBq-bYU?O{PZ&B_uJ>S9iiUuIA$>hxszR=I@RqAqmzbK|c>qLoMt}=@BGg zUX4pDRcU+^+@0w;MK76j-XF8qBdQefyIT)1I;}V+_7Lg_$9m^q1 zRrvwB{g(8stR=faU>5!iifFZ1O~&pEf5Oj;vx7~CFz13s$xM62nKtL*3u;lXWU}J) zXN!|Yef`|K-f6KBSq3QJ7sZA#T`j@X8zq#Bjr>D;usT9CJEM%*nduOwt#vLh{%z6q z&a>o%DZPXhQeD17;J2ZJ>+o)D_&>2-~53yEyv( z5H?UiL5S(`GD@DvJ|rbwwphxUpgdmJBd5Hk^ri-H7<{iw!z>+tw6W2su8BR6TnuAA zu`n;>j9ufhtLuY980_8RmJrR}BBqX+jf<9ywN9a!oLi}umSJ6^hSp5#LvQVi{@g^- z6eEhUb`c@=&veas24p4G;J3s%e9o6^29ChY>WcKb)RxVL=ce?DpVeeqbz-ewo zw$Qtwip(nOzQ%o}NayQNKdNK@T8MT~WtLd>!8G1w?L^v8gBg}Wo@%B+D-C~k=Ok$z z{0!AKje?*%4-$&fHiOn;vgS3Wu;ys^5_ZGFoKw>8+?S;*x}5QT9hEwP!J*t)IJ}3& z6PaI8(ek?`+m$Ntm!ESPDZUR_SIXPlM+xtvYBl9&r4x?gn*7i+Sx*fLC?tPlE|7LM z4kJRPBV9R@o?RtLo8TF>a@f1I*8V(lj(J)oA{;>)vp9^dAPU>-D2!o|(+s{2jfJzJ z2ITK$S^8vI2F%GzhXbgWgV=}{73n(CqA%qrI2#Fc*z#$R5Z4aM@`sHUv%Dsb4ZmN9 z9K(QSG*xJ_h4qD&ghFbWZl95XwI?b!#$7r-I4<*b1dD^FD{De=WV$R{%eCwIndTgv zg~He6E!dUco1tpqv_DD>==w63DsW%OHS89im5@eLm+!3X@g`jqP*_sQ)M6aTtVY7E zVdsT>o<+(*tvDl1E4&9xh}tf~p*Z+c9$}*5jEp3`42@v?!fXC}VP0y2@rHsirL>&6 znQyIAtz-lfk^~5xSS%Q*mqY95aCy7iS@@%54kj?KJm*`&P|{Iv8{~~=wa!bO_l*tl z&<~$Y!sML`Djkt2rrV`t<9CL$^q?JNqaVWN{DS*sHN{JmgQ9yJ0|5ip*2x>mt0buE zm=n^rwZ*$&bciskHuiyr3Gw&p_LxI9tIxOB+e8VSL+~KlP!=7UdyK&Q5mJ zTAn=ajHOH(!T)*(`F+iFA6r>U_alVIxaP16l8 zE4TT+FLG+}+>}%#adVGxvvV>v9&!gK$YIsiDb-fiqhr<9PYK=iicA3=2v?WqlCKnW zRvK))Yx(P@5Q&BJh}j}_*Ri#>EXcb~Y$mCM{~PID7srzgyU{^EO_bG6r^S;-x$-)T zUoaM@U99~Ko2xnWO_3y6u0zqV>jD43Fk1FCBN>I@GnbQ;_$Dj9J_?J(BC?VZAoFW_ zvV@MsZY}d(w)e>s`coU7`xR__7IIwn%wAPH(tGmD(1y`eR_vkN>5({l)lmA1EMA3~BCfi*Ny+z+X>xs>h z_JuRcCMUAra@xKkY|}T+BF4=O<0Yw%>sMZRe4BWiBDemr2yiA^YrH{v=v`zU)r7bg zPbBI&lG_km&Yb0#tPfO znh}Egp>HMSWEG(O7;V0Y+1VU_y@Y`P*j?Vc4sM-PEbt9s9pz3toi|ralq|pu!H*#Ic0s}i}`Pwq>+}LN?$ZxUhcdE{l-o3NZ;*j?y$;v>*oUH6l4NLaJ-tkd9 zPJRBIM`Dq&nRRgHhk?9Wxr%8v+A8j)JM)utvJq)lG-jp{_W-=iD0S1708DSI+r)Ts z2KY?~!V9;_7!dBa7a14uX_VG@$UBwnIko7fD=F*IC)9^d{b1U+Xx97ONHKBbAjg}Y-ZU+`L z_xCbehY{L%^=Ib_hC5E7R{nl+;s;PU$ zAFF-KuU7a{?j&N+G}S5iSnhe8<(dTF(RJL7Jb*vB4gic4u>$i(4opwmKMHRB5k7OB z@s`BaPuB&I(NO#_sW2Q(EvP1kG@J*uc``Y zE#&}69@%8_b?_O>^L$;`0(zgs*?a(wTVSv;z_|l?Cs5isZRL?Kj}=0W8vz^`IIkTe`~}xPziv!O)3O1GIQPL7F83E0-*ICGGq_y>jvwQCMjQ|$pF#s zJRzhRW=Z-ISLrrogm05|rO35^6p9ze7&HIbNO#9TjHYyJ@#t9Kfu!tO{YaUYj~++- zf-1*LlC9$ikR$J5mG;H$ZMfr1`jy-fWr*tIApW1fU%7b%BB`IZWO2mYzd!(aE^;L1 zCE5kvBSPjQC1!og`7z?sw_ovq@NRuxN9BDR`|ryqbp4nj;xiXT1k^hiOR)1o#HH7^ zgL*KCg%SgvCuu0;RswvGZ*K`DL`b$J?qt^)&I!i~FZE0Byg6$3~J8lV4G5<@+%S zX&7h&jKU2sSg6=^1B@Y)WZC6R12GCIt5#l-<@p+S2r5(lvEjgdQSbUqDBR=6D^Gj| z@X{a~NpgvEthWV1@Trr*I#&mOuI5zBBo-_&m%uMz;UV(4o)ab;Od>!#*4Y3lF{nEO zR#WZ_1J~@OG`m~KXMoyKTTlDp1mdv(=U1^P4mv#eqk>+9m|F%55J0QW*{dq)e`9su z1N)Z_ndU}a?Ha6@C#~oCK*X>spCCabnYD5VW8iVgSQ;in`8b_ca({i(!pPS)-a1dI z{}bJv8u<9bM#AZIz1$J$V=sqf$&r8Wg^|_AgZ zB8L1Na6Cq%LvfmDn@9W`PZR0jMJjIi9I)c%i9=5Vvz)*Su$95Xf+%8EIM6o0pzgp% z?m?#2x@wu0;_Vg^JUJY6L>@PC+9>rOCZQRCcpVHPkqjWEE0>e$p)j#PcRE@T4L z#~hvI?y>^@6zf9S!Z0%dA}gHc_MfFptt#b_Bv}Qps3H8mNCyRsty|oR*j{cdkQ`b$ zt>2;G@eDNi`lGbk?b$*p0r#=cM<}CO)dZl1fNBC!1;WBn%$Np|yhi_*dOVV6uK^Df zGn*&Y0wE~=a|0qn9;_-mW@_CTFtVujCE(5{iXZyKYLknjK(Qca9P6<_uNE5D+oUXb!2Ga z2>~HVoJzUtLB~St6k;F=1$2>fCx?#JFz3#~B-o}Rh@sF?o7p=2D-?Y`f!|3sa~dVd zKPCCqy?Skc6NRUp8~;kD7cu<|41ZEmk9|yvf|4FlaB*DU7jrUt!)u^a)1M-X5F8StbwjWc!Vg;(1zOHyCv3Q4*1a8h%Are4k zZ(9Jzf|TN4L=zb?cPI7BjOIZ1MD!OwLFUv~0XohH1*EA|0AT>w^e6G=r)WncyFjY# z0jh^G2pW(!)W)62H-wNn$`b&%@TrObH$pi8LMSysLg_eB*dpM$#dnmC`1*tV0m?O= zLD|Q#3WRctrI^c5(x|VMuM%L*rdp=(;~<4`z{Oy zf6s;i5($Bx1pr>gYLkz@{)GWScgh?d@hw+rq#>asI5W}9rJDxDCn)4h21Clteva=) z7&(TMy1;=6c`+XA=r{$o$C%cN+gL+&LcjcnQ*ktn*#Z9Q)iEn1Zgu6anMMKiev`O zL7X1wT90%68x%lX0vuz2N9F+`qK`x1NmXdU2t2avG>)xqHx2@O?2gD8%WvKPu+ zG4C(VwfUe);E-2zImz;v=}7=SPI}8atuUrP#AyMJs#ammrddS-5Raq~R1)iQPQ#e7 z;<8LC@J6+Y;zIE&ATolIi<7on^K1h1oHr1KD-D?muG-)gDTqHI$1 znQ2!==`0_V4V~Huv_J`oL?HqY6OevB^bl$hfCQBj7BpOT{TR7R1;P(^w2-?C zif`zo>_rCe-E)88YbxwiDle~JmeWygEfxdWNgNqcIXe8Gti+O&`$#|@^lrcgkkIY ze^QvPSD2w34DxoLM?p#;Z}()pMYR`pja0|&EAQXZn7;w8I)!GKF|9am-3>zaU&>xB zVW7;_DP0%S<>)zG)+S(w-N-lYIC3}RLV;Wc}s)fGfx6(fp6%N zSRW@kh%|{0g$~co+Ecj}4aAb(Ct0HTN11u-ajDD903)IE+8J3+p#7}7j1i~g%7Q?c zP@{4;ufI44(k6*f&yzT<3fCc7IC*?YFfb7q7^fCVHYhFG1q4y3#s;y$Z?)bwKvp)h zRLD`0;jdBZ0aUU=WcuM0&Ju4x)CPsusVYIHGY`!3_v;-`_b*V8F~D%{yv8Vd zf`a4BA05PQt;?CO+W?y<05-3@&Ibk1|K4?fwGr;ZP{NX-Xm=XRTdlw&6{-Fge{gK4Rjh205s6dRKd)^ zHLYYWX1@Lyl?UP=UVbX{aKJjLgyGxivac`uDVIFZAaV0$0pSLe!^YcAJRR`5v3&;?{&2Pgr7fFn;O_*)Wx0v?1qgDAUr7R1kAPe8zG1+urN z&Pt9#ttWcySU>8Q0#$`Y%-9i7{7MiiL>vW3P!2p$_*KIP_t_G5R#jl2HwR+S6JiG% zh8w-2UEtEi`R}hG>2mB>WI(!%{gN)*1TTy-W8OJ{%trjN{JjVDB*(SYqiXIpw*TT< z$6(L!#bD4*-5B3)<+-NTt!{jhf&(^>@7Q2UOOMz?--~+r{&v0XFSd37+56SB5haJe zxF}RK|5X}&+j3MM1rL*^)2|f7R4Uc(MS`l{v0sAB8V)jRpsQCB^|h>J2Av5&r6u7q zocbc5?~@uVNbcf+QnML8Vs60f{(llL#@GQZ;8~JNGXKC1pb2qDP*+5Z6_XMQ9=R~y z&6#|yTg-l({C}o@4V2H#)(MazK1@RW?gO;;6A-nt=+1GIoMj=$=hyF5{Q~Nx%*i%6 zon^nWekjibB>d-RMXUK^!+&|sFdhif?~_LlU>7P_`Jj5$ViSYH7I4vD#V25Mo@S_C zCH-e3! z@%w)=*y({!@1M@0w;ruu{U*<0alqctQU zo{n0+cr}BRlZ>@p5|WIV3fhOT3ZC7JNb)CiM3eOwuIpRb9Kve2)q|ANjE3SnTCh+@ zSGBut<A?mDGn(knA6_L6(6-w0zk zzOVCLlAcTdf5>|esHVDZZFDCD2-VO#1PHxI7ZEgsBE47XRf-}=Q9&V81JXMPn$S_Y zAVsAYrAQSJ0RbDJAPAx&;J*XD-}{~KoOA!rd(XJ{j`5Q{*lo?V_MXq2&zw71Yi(To zkBXsgHPwpD*)5}ffnAN|%6bb1rRK5wswb(r3b>ud&puTX;EujpixWyeFJNM~08VJ6 zzP9BU*`M>=)u0D0$9VQbie4x0JH5BYOd49aClsz(^C_vJ0WW?5S}OE>Q9FB`E!r(7 z^PZN`3!-{GF5e&#ka=(1?=R2e*bqp`&oeD>eo}k< zM%>^Ppy%xOx%}2QG4>a5Pba+mc>+{JIJUo(oSltP5tSJ>C>3e_NbNmbv+%rU(p%>A zPK+H{zm~ipxBf}~uvH5GOS|ug=(uDr;)ffez6knElDTV}B$z5UkoKG_F)1sLsuMIB z>CDIs7}tINGbTm+vynVKy=LHT>ajKQ(URQd3ibpMC65AvG_Pz>jk7ijR+~ZEL*_C& z&s)8&+^8%+GC9;hlQcoluD!Wf13km;SryksZ=x}KEZ1z3EjA*v&|gV(geup}j4?_; z_;yWrdaO%TT%SCJ60OLOFvh*;&x<^6b@(JhxMX!81`eYjBC`Rnhb zjSvlV=}!sAteZ^qDFV{&o^izXS_>>AQs1SSjxdN@nq*)EMwrA>wU>`4$KF=*y#1E9 zVrf9FY+6lJZ?e#h&ZK=}^`v)hZIeys+mgP9m>zZm6J)$&bxb0J(-l|J6alQ0B zE3C;`#8|9V??sJzj%0fA)3s>|TNj(v&_z%$ z_`$P0b66P%2diZ4*%`C+iKxf&^l`jASoyb0XI$=sz4qL4EFKyos=u! z6!f;6a4K2rhTH$v;uw-*s=XwHyTf-i_W!6=(thUMuuhDv$ww{tNOFS(^hbNN9@gZY zRc8wR)H~puv2)c|vuKRHi;;-VJi-FYlJ&v!tXx>0&Iwah5wT5rp!*Cn5D206yEj*m zVN-7epVPsIJ~C`uMA8?%;31GH(w*}^r^!%4-A(Xr9x#7+LO0=MaQ|a$k zva!J@fg#Kl)N_v@AQH5r`mWJ}6$`q1ow2+|cdtU}@Lu6KKBq`DTQtm3uM%hM;OaTM z(4pbrDw9ref!FUG+&EIO$hsQrxqs)rVH-nUYJkp3T?N}%08uhxJf`Q^_b4a6G^+R> zU-AQTb#Vu$GoS9qk{jI$68@NH#v$yhH9G_FdN|CodY^`uHi`WLrVaIs$bO|Ao7`E9axFlRp4G*Xhf|Rm)>FxN zC0{IJc`W7Jo&!jEc9zuuShP{rH>e~Etx`>mgd=J19BkBtdsVyfrJ6?;x;qlesfF8yZFGRovx7)@u!dDmb9FkW=z%8-ed6mw&d8MN%*>l63(gq zJmwYYcm3{LX?|4HUYIX{Fep0ygQu-1^dRNu?%B^P|4%lPwL~F!wIuI15w#<*&}S;L zFy_&q+?mXqjU8k@mlYz%*7yT2}t{RJf`q~J$X z!ZMo1uj{ePhJ)-$6AL{34MvLc za-$PH&xbc(H9R)6f7eiQKijB0t%A~^m+7u9S{#auvp&OoOTRL6w?gu3*r$dCg&B|4 z`z>^iD!jS!S0ES%ssml$Qt!)#+?z=q*N1WDkW)1FL46f#N!G8pA3Rh!eZR5~pGzNbi`L7GYgWnu1kO2@hfOAxr;$x+whR49vpuFLT_J8jHl2m+< z@V(&ml|?BzddJ?~GjCaip<`vHn z5m{Y%>Cp&A)V?*2G}RZ40d(X2=y+F2XVP{!+AZSlUu{JwI3g{8>Hc#=n2}2`5neY{ z>RMXPA~L6ON5@@yglo=%pA(tt0%we>L=1vlYLyosiM4{y*pnpYCJLo|V!T7HOiPk1 zt%MRnsB6Y5(_ZD2iw#M!L%EKlk<{vdJG`BW{Rs*`gvX&P7U|_vZ1?fV7>N!)GHuiL zB@^n%6;6$8(r#0>Wz)`!##Cu7K6Ek-Ri{jQ_xtaN0}J=k@L^E?^l=YjHOjP5xby3MaQ1?yC|+uMWCr?! z2OXD(nF3$sMVMpzcbar=R2<~fzM9Mc^)md0r#T}9O*Y2-sYrqtckc=bJSOVcGS2a& zsSeMRUjQQgs}>#2rx+4zJk%7@TIh6vnQwn2A z1nX*6$`dm+K=1CjhW*~ywFfXBmRN#-NYJZ*80klxKpZT>7#M{ zIxDc|mq5s=N!UeXgsGpF!94&?`ceEWON$z7YDe8jLt)2f4V^S!FRL=| zMvH$BrdcQgpdG=O%SKg=(rxcoI1YT0>)9_DzvFr__p??j8sy(ENX}zd1~OlUul;Pw z`3f^){|F1TE^-*uS}N50mMwI*AX@)k&*jJlof&0K4RRo*$g<>t{I{qDRy0ChwyX4} z>T@WT*CVjGC%9BQh%(*b?WgLUV;5n-GxcZ(_LZZ9($IjAYcT+#KCe+?>M zCFT$g^@>!y_4!Aq#S$LQK@vNB24lR7b*MiF11JEW3l*(jodh@7DX{!zHJ#98M$BjD zX!2MQd??`omDnl?J*4);V)#){#lX5_;3IQxf5o>S#}%s-pb0GL^}thDMr&adg%h~DF@M^*-;^BX$|JchRA zC%T@^8_#nQU$#9W2mXwBu^X~6BOs>_4lFHF+5sS|2gn=eS{lAbrL@qZ@uV5#`>zW z`u&uzCC5TMa#NI3CDp~GZLD;{Di#b{arZQGEgX;_bgMGH~WS86MXm_WyWsQYKm$y znhs|bC?i*7smbCPqh0|0y3H1$fQ=Hy126DV)^uSlHO8(=h4Ux&=J>;g#^{jfr+Eff z)zrNaOiH%_{`I?MVuCwSW&C7*d<~uuj9#X^GdUWva~IKHo{Q+2taUB|)}2X0u6iUl zJoQCj>B*88Sh1g67a}tGPL#^+!!7BL8!0zX)L}gvTO!<_qR&h#kK_oRzdm>kU;!>^ zpKpB(`IJvinN@l2^BM?YY`LS|%44VXf?}Rh5-5`@SuA?(c%R{Bu~TAfMWUd)McZ`( zUYIhX%PizEz>8hDQeq4jb~X3~6d=Xx?4DN_e zvua#s%n`#a5z1x-8~zu%e*t&RTi1E-G4d{xhKj)i(WG25KN10}@lQL6(x!~zPNa;z zL+{2la9qW$0L|%8MLIdFI3ijS8r0$*4u>hY((cJ3^YJ z2R0+WDTaHqXw|!;C*%`E6IjWv7J{vt)l-sszHE%^&}UnU*N2^5f@sIUNnxF3kV_u2 zdr9P4_h1pUw@kL9&B`mdjlnoc2>3dJBdQ@qmRfbxw15@%Yh~%V`j;Be1%un~skuo7 z?%~IPsrh4+$ol}mtJ)qxK;Cht!Ed!s3z8-~FSSFLT(PLT+238=Qg^WsGQ29X2fygI zz_D=>o&{3`Ae6LVN)Y?T>9v$28eId0Vv#<;V;`f5V`Vp#)X@MSu85pDrhF{I(VC1J zMg!QA5Zs!e07g%F0|iB+Y&_6(K*B!CM_`k;mdg?gj6gQTJytuvpQuSeSDd{Q{CXeN_P*lnJLv$}@uOX%4rC0mvBIYFHriWa1&**Tq1V{?C0^~o# zWS6}6bo@^Xwsn{Oy;+V*)n?a5d9n?D&)pZf5oEPm`)VQrj*Kb&AlL16gW~AONCezv zZ_v>k>SG9#J9D!BylM~iFCYgO5k-n!h`#u|B>UVQVXs!-^zM)CD^-DTk0&a^$OzV7 zfGjH${1!tGO!mN?j}pNQb=j&Cv;DjWo&=k?|A9i!ply!&{dN7&qNF?ftW6gt)YX{#wan+oEE-?^mXsSpTg$D zs>^R@t|2(Chmjy}%72tn_!f4}-8CMpIBYPb$ipL4)`P6%JlOX1=M~-04|~jGmd@{W zqs;;FW1NV-AK6buVOFs-%X-9nqQsMizllEHTaq12F@vU3YcZMi^2{J?pML;~UlI$I zV~(8g>oPCImYg^I{1lavHym5NDXJNc_XJhR-J42*I)A9%6ubvJQMD;W5!#2^)#j3a zPM~2aCBP7UA8aj}UymFrc~vk($>mARd{lB(^MruR*PKr)i94rsUghgcHJpxWeIy=e zwYI7XyI&Om(UZ6VKmVZQ)byJ4fxDC_9kUP!3=yH4S0m99&tpc;@q7kVt4Rb|$Br_6 z=j2ye*%Lw^kqSG(^s8o#P2FoA?#g*KxnHw6LP|k>#t5nGO0oRdt~)y%8c%v~gF5R_ z$)E;VzWKd>;!ZZdGEsiXDG5UZo~LOI!+}G?-QPV@2dBp6Il?XBSnow(;`x+GP)l0F zM1ED#TA+}3`6(_#9SZLILV$R#>ZpE;nF{sQQW+*9sYb02Dz zxJOhxyJo6ps`jDkxA%9f%9`fS?+vOm0Y2oQy4R4Tm3D_Fh&@3P2Pd9kM2eHc{?g)i z1Sa!?nui4SVZq-9PWdq(V|v{B&hzZgF7=ho6XR5-Jx9mv$?g2{luq6~ls5S^_9~FD%>7^#b89?~ohxrfnlN)@_xpoHQ!o7RNE7o5I344@ zYSvKGeYB@+-Ml`U(l}g9>pkgsaXnurbB8sr(F6PH&B&ZiW+N*&*K@^Fhq=B(=$?oV z4FwOuMyHn|Hv+V-v_;*=9wcOd1K>8sJAG&u`>;VHIiBCA~(1!cuL8o zp?BQ;0ai}PVf{PN6F|&zd%eX|K?q&l4+*Ipm6EH)PL_ITxf+L-%=Yc2bHRseN19&2 z9I108hUhDaC#4$7uOeQ*v8}jqA|VU^LkfmWrbd>j`P}FAH< z0SVfbge~c0qu6Fn-{S8RK?q8_Qp4wMEo{T`5 z>oynz&T)-p7Mki+9@}8&swx`3WNTSFZ*JrTj0A70QitWlN8mMZ*?TLAQye;8Tu@Un z?fGTj&fJ?uj9uf==CpVk@`}$#9<4pIs&Am_nLM&t*)%dEW_tSP1#_$QBfHv^1l`Y* zyVu+G8mg}Ekp4W0QH5RekRC_Ne+)@0CF%Ud`HyLT!wH6!!+@}?ruN{rrrarCHJdM<_~rh|y9^G6X~HVERpk@$5SvC zosgJ8vV6}cl5SpO1rDs{(K*&6xlduw9omX>4x<{+?DO;8Q_Dx-o#LXHUJjPpU8^1S zuU`vPVHHSxp1tN@|0z&$QFpVfggXL+lIU(_5XY;$ha?!3Of^xF%M(AtP`3TMbT1gY zgwOE0E^g%J7K)KF|U4+`lx;}FdCb6nO3cV*cg#Q!O#=(!$1nD1BOjRdxzzl(o z6wML7tfrDLJ>Pc;1NR8>_vpRpdF1`~esr?SmNFtnFD%foj=%azAZ96?AW9A|m6$}< z{ZIOgLK^#+eL}V!FK&THKKZY>yA$()io?udSnUL+SmpT*8W6DP10hVYMB;ggk9-O{ zem;{i{6k6^5}&01s=}roeS8xnY}9VBVZ*RmkpzF`14 z6|{t{g9rSV0>GGB)Avm_XH$MxBvf9mYeX+-yU#nJSe`aqB%_p5?ubq8K-U3dSWpXn z%T07l+~kd*>E-4bP@k@hd_HHXPuWq}so~W$yg|1^r}vKqwQx$kxUe9SGd||&RPd~m zovxasgfJo?Q=h+n6DCp?2+>nf5zJ(-%p;Xm(%T8_388s^^Nm8(s^X&gVLh_1rkFmR z$Y^8dP+e6d=&KS9V}FEbd*3towOuoxj>$cgOK`E~CpyHESpq*8e8CWkNJ*ZsPNcfcjG#4wqL9uDZ)M%ML=bXV5 z=3kHxYPs7HaaMP;9CUIQFrBl#C~r;7hu*{-Mob|Wg6x4aQWVQfp7@*nr!FSmN+>ob z1L?RLc8Zu2{RbD;NvW(YPAPhLHl--_h<(8gFq(Rzh|%?TJWYDuRO#PVaG2;ED~2Hs zskV&a@_8b6(i9)%ri{d3Dr9_`m~~!UR?`5Zwu_X0f+p1n838f=H%quJ_G^uO3*_^0z^%x-(Q}uSlC4Bdt&esJa|Fw(ibWzYl7E$Vewm13GIV4; zzp9i`YSd$q20j(O`p}mw>f>^UIMM0zOG^3Wo*t6!MW*t*Hy(;sTsb0q(CM@W2gl?R zj~q~IL>rZWO4S-e6CY1@>E&o($;9;XxUno4&p#>TR_E~+D*37Y&OeDn_~zPCEK4}d zjJV+zv#Xxb<=glO_PcrGbmdD&Pg1REzhxZOZ-OEC7tjtqf(RVODi!g;zhWCvZ-a-= z0w4C>F$bT|niN;|3LR$r!E8smK1}@AX=X;cPc}UWs+T3-$WQt?{59_|Iv!=9hYt@& zv40|EwVtSlj-%8POoq)952A>fK8dO9OOT1KYzrLag@;d2pO?Ed3c)~R{q2?Wy)Hj6 z49*ahYiYEM7(F+*^OeYEAg_=bLEASwAHGrZsMPzpR%`Ckls=&ZE3rsx7+Hw9bsp}a z`B=_cQO8~GO$_*$Da}TTzD0NX(S-opi=t)nfQL%hBmD0tGtengDm*1pb^q~P=6;xT z9=Qe28&wzrT!{H#?JMwc>d0CLcLMrCxY}Z2hnNH%ponFD$Ec+v2{oR4zjGhLz#tmQ z7Vl2kz~H3tKf1uZ;@zdQdtJcF|NpWI+wnK-A(uN~2w^nDGD8)5(}gq5_~a2ED?_l}c>!X)Id>?h>*g?lI_BGm8Z zWUi9pf86MW+GU7%_@@}z>1JGf;(|7Y=lu*z#!^eRGeN!~)uMEzV$@#tm;mqugJg6D zll9bYRl>u#9knXyd*Pl1ZR@l-rA-$QZM^bI>JDcvi=IfjA524|@$N>p3EqlOePtgf z1=HW+kt*rjYaKy2uTxr5U4b3=-^JCd8faNqtJoeN0$qTv?8 zw3qMTo!~k+?|B<@5lpN1Pv1-87fLL&rO zu4cti>mmN_N77YBB&ioF5{52el_$S2$R*?&dUHaqL5i6xLEwriCBV|a_w=+YuLeyl z882>_Rk{G?jRNqd}0@kni8sQJ5LQor#Xna?8b> z=ji0yCA)vTAYT0m1|QZ$HqAtNVLGeOZhm9R%-E}YvB|qc%vEBY{-yeSx2XpNLf7EY z;3u_F-5>_M5l4Ix@nKf;WQ8K5ad9Dx3mOIOE^fR6zC8iaX35|bZSXAv5|{uvdQqnV z&x{`bAPq-GbJTm|%xP<(T}E!2qKUghBna9oi~Ac1Oy~9K$SSod+Q5!u{)};Arn>OC z@0W6YVbN%U1r9dkyeM?<;po}Blf}D6PoxBVPTQ6?T1uJgR*}T^2L@lL8g``*ak8F6|jrmc!0X(g1nh3pmuY{S^XU!zxBl zpg?iCT3hsEnomB7q7VMSF>AK74N{aZzhy)Oj%7^+{QYR!(aF_|{NS zJGGJ@jW|1{@;L7Lzv!1*Iz`?juCsuI`j~uh{P%XWA$Qa}6;;QdA8y?b*x0u9ezR#! z(oUyj#d2MJ-ZJa)zlwusD|XR<|BosA_9<`mQTq)mZwzp53@b|wD{l^qe;H8zGOYYy zKzw7EvlcAyAJtO-57qz2rRf zpa(hRPg)1XHw_s_k^mrHdDBqY2oU}=acZfKcGmGh*b>0{rBm638u>@!UplF!Ns+#W zjCDh-(5K4CPU=4r-+D&97|FWT!#O%2zDWhh4gh~9-VQ(vQKtIJ1S~Zc%E_RE9RCy5 z)sli51HME9B*QRSQpIujpQ-Lkhw_#oH6IyV4GwJLfK-UoA6@(#a>Sy6GGsjO8sXpvp4|9Xe!D+S6)nFg(N5^_kuR?2OhU&h>$kq-0DX`dxX`xg}0sp z{(mCAX@K0kDV$7BEj^6t(gJ+jQGe9>rXd_c%Q)Vr451PK5~r*d^=B@#X{gvqA}l?u z+sNmr5 z#(&Uyh2lTbn7=n*e@BeJ5B^g;`A3-8saD<^k|PEn@IUSU##V{N42Wg^NnELRr@|bA z-dH<1*ui*tV2@blzhAykw?}gA{ViU#n$Q!%*ZDR&?EgyYUn=}3@oN8*MW+9KbN?cE zwEMSs^&d3)kE+1#>EQbUh_4GE1>fNgCYr=Q2tX&T>bQa6HFokN5T}a|Pg#^Q+C(4r zPA9%E0I}Eh3!p8?6BHCYCB$7;R%XrlJT9G$ML$i<|I2OGT5bmS2>K_cuCIc6uX57t zg}xgvHON;ASRt;sukswnqoZ#MsiSi$?mDz;DKlJnWoOAd>x@zv5pg=U&y@m&ptZ?0 zb3Uu^sH?eziKR1&UuB|T(|(IUoIX}$VB6fa0zks8x7CY*aT@8^^Fk_==iOE6RikHj zMj@QcnQn58$BG|+7uG@q5S$9aIiKRmsgubu)=RhEVjI5#zSCXd(H~b>76g})f#;9-@loBQ!yHzjgq3H)E(un zdR9ZHrXRQYfr4X-;^z*U6a#n!DmOGQBxbWM3`M{%`ToSPjnd(7VM_)=QeQ9%PcMfNhcke0P=G*5 zp=97o6pri#fY3>U)}m_c)G_J^j%Fa#B8{ZbzBP-7219(A0^-03(9Vi@=a}mjCb~yI zk!%ce7hppu&!&XVMQ6${Bp}DhgziwK=`sC;x80rH$UD#0>-YCR+(~cPGo}uKCq;$q zI)dBldS)i{r@pKU@oy*>)d)KVOo|thb>dLyP*QtJ{kMYD{&$#Ynp|>(dmO8$)%Y1b z`3aehUTn3GxYh7I>Yis3Q@vxN%-OY>dX=tclyC%x3ZJ`mf~DHY-7_X_zhuFrO>*gS z$+nO(qgHlNks(t=<)@xZLz`ChIws$%9zhNot?yLL4OPzS?Kr3n7LM1pl^Ppg&27=E9z%BPqQQa8v@vzxFdssvFP^H(RtgSc=ioZ0aM|+CzR9}z z_1Mn4l11v3g=J;cey^s3f9%M8UE7u4y%T0>Zf-6h;;<5Z@8~c4j)&Q!vfSGXmYdVo z4$0-w``;9v475o*bQIAZ=(Z6&Ph_$?F27irzI0;u*-);W^atgHfh%oc%LX}Y=a+?Y zo!{Eb7u;h`y?&EESo_LIKx^2-(&Y`kWq}j@a%Z{i^y;>mue^J`Cq_hA66_-kAt5ae{02{ zT1yuB9G*#~=e*|E@+PqNW5N_i)d^dlrn&z^cftNnI|{#m?u>#gwwnQ;E?Sle>rO+` z5`wWUZeYCnn0yEbZyYN920i_}C-h!vZMqe}8q z*XH}BX0_D>sh<1F>8J(i;%eNdZ_2ZsVK#8peY#Vc%f^TDdx15RmU@t1sRt#*M(3@0 z8Qt`hc-7$&G=HYH@jw7s;;5vOq$DPdDF@%LCFcuKpvWUFeYzKQBfdQjF{95p>w!yd zpg|&L2U%Shw-RctEWbgyc}T5zjE zy)m;)V$a^PNcw<$EX!L18rJJ)TzqO>@7Iid;XyrdFf)Es?r>%3YMR_2S{)o~0l&%4 zZN`zZ!$w9@9ir|`@Clc8g~^|gD{h0zT@cS!G8hexM)m7RGR;D#avDyN!muJ%?N5bG zkRvB`?QlIyArVsd+{oRGj$fuL{20u_Y=cnMgfmBIH>hIXzPqOCbGD<#*Z(SiFa@6g zoQ91&_e_hnCigD5*9UbF!kF!w5Ox_Msl+ao~j=9V-m`Q$X)QBPd zk}2%iRH<14Q;j2Y2Hd|4T$qrbR0CiL=kX8v-`)&#xTXP}dL}6m6!pSw5e?Wh2rrUP zVH^`_#3pr-8zuBG+qi(PGbtpf@2LbxKB-3 z1(II?#ZQhv_B7;$;=5U|zgvF7SXi-!wQoF;1~Q^ae*rf)<7A}L^O(t2W5b$gm?(fp z^hv?fmNnH*_MK0nLnwEcK8gKrcdK?IC}KMUTV97ja_-MY*UVmkMLl{%8!1We&(9*W zDE=%)M@Lb8HkpJBhJV>UmYzPLflgVy%|ywkoa$!to*!M{G-`o6o}-mgy}{|OzJ!oz z<<&joj!o5khr%JKP}j`3u5UoW$?P(%qGxg`-S5YdVi@Q|yBV$SkjPO9>neUhIVBsT zV&`H`8c7T_U$`xPX|_w7bz1G=!`S@{XWq2`~w_m+Cid$+O_4E<6e}|!dr=yn| zE);g{5=NGy4Obssa$;!JkRPapp$wvo(shibIa1TbSCTFY?BsT9yih}-?ZElevD~-6 z?)nVxDZL4X64Z}}fTJ10qKJJ}BPhXc{HWNPH)}jRTW0QS5%ig3?k$oK?w68dBptykPPap>TGKEKEXep| z5}9HSFRwE@3-%a2%BEJ{njeQZ(YmmF^(S|PHlL_E9zdmcy{C* zDW&1P4*>!`gY)50^o!{o&Q1wlp;0?%9Zfa;>tSjx?Ir1~%&ebfLtpT~lWzsc8*G1^B@BLNCtHr3t8NNi=JSbFc^>}@xS%K_SE9}U+#TX< zN?v@g?-5n3jcGce72mTv{b*2tyW!ihxf@;I&e|c!Ea&gkV`6!Nf8JbgUHn<1s*Xo) z7qg~8Wte}C*jjTz3*E8m%19iL5m1zVG26)bdZkI8YOz%3@pZhGaEiQ=-LY=o^{Lr2 z0oE+gvlAPGy2-pI7eh=b%j1YzN>>iQDPAy#P2&R>s%H;_)? z(|IpzH|ksWlr`nox4rRB*)H>CM^dpRR#(gS)@L80N6x60s(wn7;emXSUB@Y0)I4lYOaH{r2&jdEkIVJI$mjXfkA z6QloOa`7qGkBGW3(?XTl%h|}wq#f)b6DI;EuV{Yq^tDb?nuSL)hdPlch;FSxfI!c;j(2q$6Z+yl`)`@5z65@p;Pf!l+_~{U z;1)xDkMNK%PR)^C!PsKoSTS)dL%^bnIvbO^6y86`_RtgJ8h*B^hu#+^)U0++FlYcu zB_(f@pjyw6CaxVd=JZj7AeEwWpAK_OB*Lzo5P+&r?bfrIOix14L5fYWY0lK&R(oz4 znd)2+j6*KyH(vd*uvH#U5Rt{N&6%#7hijjGB(Zv3op2*N?S_Y+_%zL|)w$`(r2WhA zp0w9G;V8h`*-jV_af0`UffJ)ZPzsU3K0DG%5@d1~@OW2=Shh9eO-LDCUEIxXK@&3e z-LTcxySruP8{ze0i1MP(c-l=lSxP=f>B<40h(Jdp)r?Iqi+DOcA>*y(Ul+(ll)Ob$D2;&p@lXJ!u zd3QeO3tKDdj~K-k!sL1TNN`5-<~@nrGF^nU zF;mqKC*C5b#|UmOe@Ch>u$UtWmE$&~SeO~kjZR8eO&ksZ!sQs|p#KAzPa>+hJD zfmNx$+@J_ZM{`Y9@f0ZDmC1w%@EP@UH_U_aPgdo=dQiV??9K0|WBSZVqHD;ue*ul} zr-g5KKP+K>JMDgB?51(@gaY?FIa>91LaZ!9c!PcEIQ!At-Wol+wX#lgn68LR`y|5! zjTOnK6JQ8aVPj)$iE)GI+gM~GuqTqp(%nn1mcd%o-vuLFD+o%uhhWi?xV#F9X*aPp zk=E+2(Sh1KGc+Kv$yriryOH+s(S~fY7I5t)+E| zltX+%MjA-eYO2kE{5|@!&MI#NSleXMRyQb}o=2~E6T;3>!xv@TE_z-HK8bxP@Df&V z3nLft5Sg`Kt}SZ?H)qR85*2ds!0Iq%Jwd8(383O=XExDiWw{<*C8L`dAkN*0t%*$; zI7fZFKy2lwH`^#m$gj;p++Z)F7%s&abDuLCa_>@uwN5-;Je^qRJ{uG+DHz8{wyBC;SRm!h?8tRj;BP=u8LYnOU$bS?Tp6Gk`z3x_CB4m@?| zB{%ICuDM@{#bq^W@LONWiJV4#)De!R<4tWhs9)lZgIm>5k7mD;bYQ820+2_aUsqVUzh9N%Q=Sb<=T&u8K(TWq3odMQUPUOrF0It zZ4$O`1IUwIVd}Yid3z|#HWW2mIc;l}69}j&MIt|Hh9;TiX5t=SeQV+8tF5?Tq&K$EJS$I{ZRhJwhft zFaLDnyBotkIH2I#5ci92R;o_1Gal?@KADN3^c0i{WI)xROv&R1kb7U2CR%;*Cbd|O zaRoez%=)fIV|Bs7$K|$`-Q(-Glo6HzqrU)8PW-KmZ!R>Vi+Y;YqwzzSYQXd9pu6X7 zzswj{*oTOo14UldmP^PovYL}BYa1lHuzKj$Gi9P)ymLLlIGqVwx`n{&Y^vOFo8G4 z{8lY00i&2w=~3{lfr>IQO3qxYRn#wmo_s8YZ(Ez${H}ZP6{>K05)oQY@pNmwhm#Lz z3~bh4HGH%#bz7!bKgYQ&WM)jTo#~{?usA-Ci^+Gd$r`KHyN?s(Id#knP@idgl6dbD~UqcF5bXqc4-&DRsT`KJ_>Fm}@bt+IxNg)aHHf&Cl z@#tuvG*7W7-|te5A){wF-51Y%t{*0sM(wG1aEws9u+C)4qNge2js*ZDjj(PJRDHIP zNW~_x1B{o_(-#Ubg%7x;Av5aNi|!{qOH@gWO*8rOEc3t|_8>*^bOLEYzf7Y|1N;Yb z_j%UIZ~z9Nxdhyh7BUY-E-xfw7DrU0gbYQ5t#_!8so|k`hAY9@4~r@XE5B8wJ9&OR zyI1lZl@3Gpo07}8vv|v;s+=(nY}Cx0j|`X= zdB>hg(VsiS-9bp3P&VGm(iX}Imcb(xRxWw+4fOeh+w&@MXj_RbhA#(T=Y1c*xb5?y z+geX)Jdlx$OT8vKkMi$(Nuf4wL)kO3L=-<#0M}&Tx0mM110pivS#6pZv{84q7_9h` z>IF;;CW|Qzu6fciUH>T})+~r6LuRSLc1PhawRKY!<|C<)T8Xh1lHX-cT{FHPrA_yk z@KyAgKU`3lD~sH(AUs~gmQP5r!VfX4Jo|*YhF3k-FuPfTe+*X!r)gpAcsxeN5q5T$ zgXg=q^9C|G$m#TJaN?+c|8rnySV%JPxcV2+e=1ATwv{68XYT)7A85>(X4`#-wFhCB zn|Iq@xgWgq{~G9Vz*g9Km0f8#YO2#)pG!Y1?Zh{+yZ85NHDE@zMjC#0w|`~~zgYB+ zZHMN>gj~(@>*IXAq|KCmp?H|Y)&O7}lzr9yCNcPCt|G=RaL}dj_H}K(rs9raOBLu4 zCofrzv;XMOJ}SAQ&`mPXKP+6%QfJQQ$*D`Ka#RFK+Ut^vZ|)G>6A@{){wG)8+zAIa zBdw%QRzKwnevAv*g_*i_+7W9&bMphWXsUef_(Z z_b0n=r2}yb?cstKo;RFaR%XxUbN}S+aCmxZYN}S_rJhE~bv|-3*I3*m_5ijj6po%) zz+qnDY{0AH*r_yAnBL3$Ff5w?HWY??pmbHTdsF^p8&P5XQ%v2SHlNr8Yl^#@9k4JO zGj-Y51iRfWCBT?H|Ko`G%TC0{5`O7%gEgTt>%u63N!#A@g{{P!xoIcOme_Kk$u&HX zgWtWiy6v>bpvIEUE2C%7{zgo1>#_C%@J87_+pMz@Y%!g4AK$+&@Tf|uJ9%)K()$Rf zPH)`O$-;9<3&QwE-{U?eZC)*4|9$F}e77Ixi0!yO(-30(2&g6RhuaM37W#z`AS$7% z2zg`rzAy;Ko;F`g<%>rS;p#Mph>hRgr6Aae1^WL!GSj%7im6LTZ(jHt=*oTANCjP8 zmNIQ9DMHRvYS`;5m7H%>?wg$9@IKBZU!cV4&OB6MI~83Mjji1?P<->3tsH`p#56az ziA1L{e`0p^-f9wqZJ_+-d!k>3Jrs-c;LBZT!Z(#fh#g&;azDVRUOWGU=oqwh&e98h zeW$D2#67x)-cxQ9Rjc$2*JsIjxXIoTJA76J1C|tQdhfqSOV?PGN*X0j8n@fJS6j$% zB3tZIEXtCx>E!DBg9s1MscfefzzJ<+sdp;>_BK^Hv0|U9;2^Ms1^lIMzU`|qZD=Pm zw8vi<0PQ09)dG0mS>!6V{$an1UR)Lo4-f#oS79$z!-J1m_+C|c)%ubL5jjgx3+8mx-zs;gQw|-fB_-9H(pER)+l?Ro z7J?V0CV$3wSR!f~uZt?J|BTThZU#SFX7*Ts%Xcy0maArBw3y9XnB_OXTW=rL8{oQs zQ4K{UI!DF+^|jG6%FZnMcmAN?BZfnZnI0~tij}?OoO(;tym(OM57?+3#L0h;J?PT9 z^C7uV<@5tKSRr6`Z--RF*_RcOV4m zVLId+dzvSxWN}_caZ4F2DV_M0fB2!~U+9DngR~Ln&bDR)`t_mL`VBw&Jk0)p&Lgw& zd#Z*ThlqdYZmMztkaT0a&rFyt+Q~B#SPH(btCUoodi|02$zp!$bD}F6bK|9{Nv)@(t(N=zj6e^)kkSE>L7mx zQ%wEk%)c2mnA(yIMj;y{UtRr~gTLiscQ}+-ZWD!0JK=H;G?bMuOHJ}Mzv z_ay7ya}3>Z2)#a}I;Be4e z&Ig1O3=XJ?mQhuC<&Jy@=@9#OR#9cuz&?A*zMC;32kb3;G0HSoHWLox;6h@`L08;T zoLI#BrmCU+{tv4gmo`yxtBn?)qx(4jbFigV{O}iObd7IQ#o$(~%O8jV3pK_0Jh-{7 zJ5}r+7@RqYEU}bDewv(fj}qxYWO;HGHIRuUTi#3m6)zrsXV4%LMR;#h9spWQV|d?R zl=1b(4;M|rOHvl|sah-`Lv8%s>`}_$9m@yHdBpx*(Eaz;)YP|xlsSbJ7x|%ZsJeB& zk^?pB z8B|#kSqU6$X=?h>XTvO}jziP)@*fFpeG(_$?|e}j4F4w#T^&03PHap5H2yGr#O)n* zi>ag&7ZUCw3Rc?7ARq@k7G1Xd?c^I&B?B=YEXH*TfyK-a#pL2Z1)GaRY8sd;b47as2PjrSjA%ZpUZ4B)gU(M=6S2*}{_u@d+x+T7-Bjg?$ zRWMU4A(tsyQlNhiKzbGM-Z_BQzs}ZY!e((P+ZH^2j{RTVop)5z=NiXD7$$@f!jxqo zF(4y?5T_}n}DaG_~uNUvj| z_n$z2tOt<>f$}PXCu?Q*fEdsxej)_wa*f01u$Op&(){|WQ1?W{S@Zn|R1J4p@>+u@ z8yRF^N`K{D)S`ZDAb`r zni#7qI{ddj0<~uIYh7E%l8mc$(2AaL?k0dzKanmj{&iglE+|_PFr?hA+6h7_vCbKM z=1BjbNUA_h9lt$36{I3PCUb_~*9ZuM35c4U67`17S<#Kdu8nQ|c%Y7pOWpt!Df}jr z=C{&nLkrU|$|7 zZj=FM`@v5~4R>zL1j62!Xm;3e{<0GgX`uW*A}HlEC}>Yov*%*n>-6wh+$GRbPh8g} zxSkj=Nklwxd+!AMs;oXWI%-3N#^ZuiAf5;<3t={Sh}@Lhw~o#9+SB7ZKf_zG=%+G! zPc6ehfaln*nem392d;D+NQ!EkwM_zdl}vgc;tv#)r<^OlM;zIA_!o<#ik3+X*q_IF z{*%nlp)|&4{%KD;P6>twkABWOr|X1nkVc`88>NIXw{pF_{MhBH+{@GzwK5qPZ~hqI zMG?N|n6X*^-s_}=#$CQ1g6O-Qb}ExUhY0R!7oQ5{lc#Ejc93{u$mF3z7QSZ0hP2G; z(hWe(tAtL%35jOOZ#OdP?<^XAChV$Xbw5J3|i$X7PsMG&W!$5Hk9YK^O){DT@WnSY()aa{o7p?3I0^r3UDD@ zM%%!c^QX0b2LU4=@=1(%ad<@l3)t$6qfj)Cx7=tF@MyGsbUm48JY$R2_nJH=uA2wy zF6qS%?;OwO@kUY0_B(rXzSZ>4KAS!yaNC;HEHC$2&(eR?m2wU6783oX_kQyRJGGRx ztmm}l2biBYz9=@2p4NtCY0=#rvI#5uy%PS;+JM%lLnSHSn0!Mp)eFMk%9G} z8hb)papA}ng^wRUb)Qu*J;(aEzEov<`=v7y3ocOp*U?sJqc~0sm-meNJlv#3&ufMP zb6mx^O!)ID&;uU50QjQC&66zt9>bvP9GUA0k1+KW@E=mfX{uxKYNWiT3#Nk)$lS%^~(UgGS>2wij#geSTBR)5 zuhXs9l!#pFBfAH3RvR@G4yNmRBA=XSd#0Hw>MDEmuEb`(Eqj3 ziLzt$DQ^sO|2My~GcG)RH2$;pYQ=}r#Kus&w?`Lzco+V^IQRuJNW(S}ouO1_bVDSC z=G=N=Z6Fw$GfOU*zpz5NDeY5$O1!%;>4rgNsGlrg!l}vCuOi4Ud4bw}JxSx}Yp)fx z%Ay;hzz1g~u782}Q6Tn5BU{p5sGAZYw4Qfu?OM987)cVV20Iun*wrr(x6A}HDcO1D zx&9Q@qhcW@WA`57)4EwkFRxehm8Chk;42^LDj=QP)AaiYp(oHM;?F-FI*u{<77IS> za^xmcA;*jQuiO{cc3)M+-LX=8X)S4x~Aa2HPZh2|vgFZ<0f>hqB(K~0#K9?1y zA=h!Add9=1=fb05S|HZ(^;rz9BorgFzcD#JNNaN!+_atqafaT3{aS#`3@bQ=yo|CO zW|$?ys)(_w9~zEb&Jc$oOqgmb-Uk%O!P55m+VwTN;mi=)A@_(1E~O`8Axf2EomN!) zt!j&cRPJRTb4fHNN=z(x0lzBmC0V6tVXSK^rfxcy&mIW~{NoOCQ29LMD`E>e_W=$6 z{fc9C0aalX<>oy$oFu`jwAb%PAJCUUH4S^qj(9O!6ocQ_P@_w7CljC7hRs%Qd+A?G z>B<=DMGR4sWv_N+WEfFR97v~ex;tou%k5JuuaXU}XxzjoSQ>26yKVIKj01kwEMVXAmc+-p`(e}Z`+yiYzidTDaKfvKooRm3df!4yZM#7oqjhwUK zJ6RDDWB$g*_MU;pS&H$VdR;f69nDp7f$yjZw_=SdaHaF-55(Ess6006rm}{XcU*qM zW?s;0mb^B1+AY>H6ERl#??dfl*^z;PI~Qh1S99hM>Uy2v*p<+XiAB!!wt6AKvCWK( zgOd0Re&Lr=JKN+zQ~I<0t09BWi{KFndoUO!$kC#_i4_BX7T z?T*^#dDo1@_8AqCF%p%0dn@%r>Y>t7xcmBRaDi?)!ZkLuK7Gx&8 z`|R0@Z8?o6m@}MnXeubGPq%B(qC|S4%XL6@Ah+>zqJW`F0E~-%m-z zWGUH0lDYoaN|&xeB`@0pNtxMVUwX?rq;&p{CkK z87X<}V&+f`G4;~X)2&Yl??vS?F%MLePX*>Nk(%NPJKt?*P)O5*Pd_Wj5!fXe7wOrh z8g6j;huw;lfesf^qg4{z89Kg{zQQ%i+B)7KGgn@WTJO>fV2-pbIN!W@Eh0OI6JMi? zA=!3l5HhFTmTj`Tb4MVuFKj}s1K6a9fHXsAD}x9^kd*52e>FI+NHQ{TqL!o|lv z56Go@`Aa-{P7JcR*$J%=F19V}NeM6}a#42Wj-f{VM^i{opM+G>0_E<;zsPxIeNUZi z6k3x(&hJJ@IMs)o(`txE(?|oG-Z1ZGBh?)er}XEqCAc8_9_qWlR}zPkpYLDZX34gk z#WSDwQ8v@A9L4%bRMH$;;Ukd-Qe5T46NU$MB;^A_wj*EHxv7HxA|r}1vjU^lbFc*JS(*D`L0SEsSXp(aTSU_y=R5E> zc>KUyOmv+|3cFD@Nwchu6Z~!*s*Pm2zID)bNN~gSg zV(g-2rKy>s(*1}8kE&kRZTbNuyPIDioiuSQsmI&2RCN=hL_&@DqvIrd7FT-3Ehv6; z=(Y_Py*2lT>h<8Iq?ZS?O#BoXvf>rdNX?F{(EdreV6>)jvYo+O3u`n7LO#5je&}R1 z4EM3=vkLxxsF;cWokrL$``wlnVfctrg1Y1{Bj>MNS>KZ}{t2n_yOmu-0!6<_jq(V* LTPKAX^JU~eR@aF+ diff --git "a/doc/web\351\241\265\351\235\242--\345\212\237\350\203\275\350\257\264\346\230\216.jpg" "b/doc/web\351\241\265\351\235\242--\345\212\237\350\203\275\350\257\264\346\230\216.jpg" deleted file mode 100644 index 557aef2c4ca27b449e8001562ec0d1defe575808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64102 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 diff --git "a/doc/web\351\241\265\351\235\242--\347\231\273\351\231\206\346\210\220\345\212\237.jpg" "b/doc/web\351\241\265\351\235\242--\347\231\273\351\231\206\346\210\220\345\212\237.jpg" deleted file mode 100644 index 5de1f9c6359843ae27575bf991f131face10cae3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39457 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

eU?vF0AelcoVDc}?_&^mr zR^;e+<()N5+{9fB;UTqgA`9iVo}E~RX|lk?(%2l+$Oe^U_SvmL9o(0{%q!pIBQO1g zc`c_{qvYj;5Sf72fEuRhaKDZ@%)Y9D`B*NZxF1fmjsZ*xiQPv5no#f#Cj*d}f~DS6 z-~8`>L_-89!&;~3cV!GvHGYD?$ScZcDpsXU!-jZ-u|-!@wMFJ!N@9PzI%}PVlFM!( z8TH&>fkArXapvo=$pP&m?WM7}1+L57>$a}?yyh2+vsC*xN2u~Lb$*@H(@_SfWz` z&k8b{<+g?%4t7UVdhK@CTLGWb{=tLZ=75-~FIdvftFi$HA~&q$hFu^Jl7BZ!REsd8 zD`sA}K#Mr+#!_v}qVI&Q(hF5?y(lSs6=p-GvFEVZI|+1?hEeCYk4%_UqTL>{sl zn;g^piiP`7jmyE+wSB`;_hI>}xiwtTW4CVESbfVbEh86BJRCc(?g*P`zlS!=D-q`> zu8u3V=~!(p5);nt1i5Hnqn^^w_4E|{3LLxy{xW8#>2$VJSI zS7k4`;nvF~Y8{TRZv@HGyW||duSKPM`~ZvU;ZIt{<`tMfwXX6D!^i?q z%n@_d%tcGqh{g?2%!}Flmi75n*Qyz%*n-u0<77)R^tyR)-wW7)8#;C+4d747<`>Di zlj(u+KI$v`9tQN&%S5)DSg?cF4yuEBKCkC(HavT^q1W7>`_I|$#qXcDQ87I)BS-N! z8(=Xza9D_43N8BldHIwELFng;y9h>hoo{e?y604$k}=O+icURagQH*y&HILSYL{2= z-vwt9pNMKj7g!}nRp=ieksY=Vq$Mls_*ZZDpsIBofhH+E769`!%8MqUs&{HiPlm@g zI4Z#{v2{!$vYou!f9&FW^CFwve29wW2a2iJ&>iPo8f}6GHG;B_$n_V!niEW&vh$sD zuKN#ggkhe#Fs0rV7&#=0>}&3S|5!v_NSUq*sgg0e=zw1mLoJ?{o2c{ditv#o$%jPc zYEhs}Bpq7rQt&B7aE{VqBZrpVNy8xho^!w2Eo-;PH=#Z5bNL06bu3-8H+LSpzVwe@ zSG(~nVJh>8-mWgkfu(iuCYUOAV5YSS2M|pZ6|bGJQS&hv zuJ^^$?XX>u?`p{?vw#jeFe3ckyXurgM9rG`yr9mCLvW3JQcBElGg#x_Fz;j0VTe=S zz;6V+Pl+u(qGbPp86>%fqlIFaqy&kA>ymxXN79eU3v9T0iv!F2mfsXAsmp>6YG<4b zG^V+V*$GYF2y8l_s+h&T$%q&av{_`! z+OSYbl`Kv$1&#ZV+EHG!!#rk?R3xlx&}vJzO(nBGg6~NUOB5SfAM8u%szPE`T^X>+ zathE&(=n$Mw_v&7YB}dNEKT+=lA+$!)s2U#KW;Yedbd~F|D-&-5ZMVlKm`Xq5H#=p zWchY^EE5kBTL=)Vk8t7{8O!UD|K;%)(9E#qbh6xbJt&BEI3uw~E-b_IcJl;b0`~L2 zT^7UO6>mcpTsHNt!_v!KyY?UaU=%gWx(2n0`aHAln0awl-%G9I|9N-T6Z_+$TxjA3 z9vc93N>&v02SjYJ1EA2?u3qnn41ZD^nB%~jvR6${EFjB5!@foh?id3KzyWn9;WRAR z_l9!hzAp4q8)cXscPI|at;`-%7~IZU5J8z!xJpFEZ-j{a8@{xR(AH<@ANc6(7C`38 zt9%3txHGP5T<>V09rUH7VPRWNc{Opn-~iSjf5>v;SqW>&{=s5|HAs_yFJRMg_&^a? z6GIj2J2?sWS(w#El!lr&qP?`eK$wxXKa1uSc5dr22CMQTA0OY_Q!4hRIzeN2p-0lCpD5l% zOP}<|>@pd*H~V6mNj-TIOkCN{ie@2%Q&r%C620x*Fs>=^aal$gsyXaC`C@d+t1jdO zNR)A3`%uJOA5qzs_+EWPUr>Oh0U{X}V_hI+oqYhAfBekC*eOs2FI#rmb4N z9kJ}nzymu#Trf366l2gtmQX*X{+?SoK^?x`eqZ6> z@nQS`GB+|J#2mQ^57S)s!XNo^tUQqXv{c1EV0#N#hy5oeyf*7M{&mzjO6>Upj-GZ; zC`jo>`s3x&nGFv)O;M(C(h=gA00V!%^_xr94$3)Pan~W)ZK|z%-L12Br$^uIc<9dT zW!5W-`6S5{Th3&QFbU_Q7;xgj^(rka^w+-rq1K2W`};4*9ncTWv*Dm`F>+-O`S_ON&ZQA>yQNOkZ>I1|BBuR;>y!(6-(&Mhc3QtOGp>(`D;SJ-F(41fQ0A#q) zy3xuC6U?r7kr-2a>-y|uwL1+ErKhZzKLx2uq;@m>Z<-btGxEc~)ZA44GS+7Gy*gz= zs!Mj2w~#IS*n;0r$vT}?O@{+$2@K=642ti4g!n zc{yVJg_6+U`>-&P2e{>_9MB_`5NG{iY8=z3gBSUEL_s)s7&JD4d*ql?OL zHhsvR`*`_pk4RotqSVd5=n~!5m>6~L%AsbruBN{`tQKxl4tUnz%XH=-K1OJ%bg^=f z3)A%R&6VHVTayMspkYd8u|HcmAmmS48pTscR)+%A97xH!7gunX*0wdX>S}@2X{u6Y zrD&&(Keck#DlD>+(5tRi|7}bh!`xC6BOp-|31ZfGUB_MM3#qNLslGm<%cA)b`Ak3(!79Nf&sXfG?u!r17ukAWBu$o#X{iBQV&Y zZ~9?^PZJSXxJt+T^jEWKNhWyhW(7(~hi;8&n39R6h|xA-mo-dHXJP&(6K|P48iF!W z-fiBfdSdZv*17N+nS+V(Fd0Etn^O4Lr&3n6e{B%Faxs<` za7{jSZMLX&?QFpIFs6=pCbmaWe|~9%ag+`1-`JZlJi<$W0*h>(FH&}o#zefRkT>*4 zd=MO{GqRRws7!4rRKV}>l9{)-TOpQ;3c)JMewlD>4NlZqe7CqzMvsnLh&5Buw|NcQ zAz767va(P`gT8)JeC=0ubeS%duKcIir1&Wds4@~-)6D3J|K1|{+AN)6?trnS!h3Zi z0ra@4+&vbN#BRc<$L2_z4m}D_a=Jg%tP5*J5PxB1KA6ztf)kL_-B}iJ!-K+r2K6JOo;S z5krMk@V+hZ$H%tv-I!nYT`@6~gAFTgboA~6SWT40S$3<`c)#wVG4fe6NO_CF@C z=y&AGON4+j2POn`qJ)QldZ+h(wU+mOoXdn^0}1F%p~vU(Ufdz@du9ass;OFG%c=W=UmGR)|B;58mw2`b=YUE~YYfhEo@3_15?C=bCm!8I;VO53kYA;sEeG|gpuP_TIO2n%#R`j1E6dKU1ABJad-oAqL5CDUJ?50EVM%MUlGEr9gE2hli<>n3|Z7gni6D76~abu zn^R5aZ*Rui1U=Y_W_jJtx}H-Sc{|9$Sw*psg*Q!jHN?2V6`Mi8MuqI9I<6;wI)CoL zK5u_M?oahJ`n^{GwyL!=Q-2BekS%TPx_1gdZ+!w7(jahtcLG9mLj&nGs_fu@cBsv3 zmwl}f@**Aj2{beF`Hk=QUYxLURO&}I?yQX&q}7>iutAJ@MkVPV7!YiX$>Kmrs*ULG z-#;tOR@>iM4cpJ9a}Lrq8w}h0H(P!${Z_5W+Z7E}e@&LNxMHo2Ha;Bqb!vYl38$I6MCcIhmkOC&faSjoNe1B#k{QfWLFtu|&_qk(WMk~9JKbh_ zttM`UE@U-5rgf$XGoOlXzTtqni8FF9JQ7;UIHThvLz_jhC@FDvG<;(PTl8tn@quaH-`dOhc9k2s8@;3q zVp;^?myjWu1)jVw-%iW_O2fw=0q#y!zWzb2d2LArT3#BmWoTS>l$jvsYbXv&@?ZhY z$Y&AT^P&Hf8Eb9EbhXsXCaU1L0t&ZX5mynTO0V1+mpBaY@)UUR4KUaziX&%$KC#^+ogx_mi%_ECN)VylD`_RkL3_ zWJ7fAIZVB!98rc_ZqnolH;>rE(7!#sn^|5?1e0>YxCnQHW()924;mSo5o#}k*I>!p z%8U}eZ&YX+9I16RQTqr;@fz`==hGM85hK@-9VVnE%d?9j!LJDLK5wBnfnoO_QC8SM zsb3G*+~%8ip^-gtUbi{mvGsBvsCWl`tSpNH?eYSvg>8#$}3z+cUx z@*db=%Bov2=~eJvw)w^3E*TiCEVc}J82-cIaJfsr-U&!&DdbAHSZpkf=i_5dp;t=& z?6u`I+S(LfSCl(quXW1G;GnZwzmh44kmmg5YWd)n=^@|T7NiMxf3QqGA*>z3`>TD2 zVKjCvRi;}taGbtVKiQi05fj4gongc{sJWacuT;N&`@+lhcGoS|`~LE|`)?p3S^pZt zevW{>n-D&RUx40n&V&m>!@Hp)G78emeDJXZxpBD&VMp`C0!kaNKk%wNVTwHiz!5hP znXqU(a?h0MfKE^#$*p1Dbt#>ceB|Vl!U+*iM_}FwB&y{$wMNu<#uZmf5#AYjN>w$w zO8T(|d5BrEpsKUM}R4I|v?8&TrU6Uf>?XLpz01S7uZQMy5xHq^00?|XC?){^7 z17=6YwX#GDFOs1tL_Vc#kr!)w$Q|f&Jv5^vBG`*s19^)%ySc!YL2;umtZf=NS{>)$ z1tBKhXhF&5$3S0%+V%GX8AdkF0a#&Ap`FCWSG^K4Osa!UxFCJoS#O0lW!YpPCglItx-^qGwj(31<_#l(}#PZ0oL+itWo~@s^)kUPq!K#?#iCkpW z0XQc8VgPV((lQJxkr*}PNRh0h%)Z!a9g%jw1kQ*=YQZ&1NgD)cW;j*B;uYwh+#+to zrURqv`UT2Ii>Gy4OoKdqyhwSA8nUtYSX$QW&+E84#F#L4QsFT0^{7yFxu|#4#C(Ql zfASZK3AaA?~<1j_TceiVyMMI@x)iP#k+1ft$69?ioh?CgFC{awUf0f8kLgs@GiZWbxVu*lU&v#cbPTu`-t zX;R(`RN#wyMQ&$jfa4&vJ~HKmdgf1~{xIwXFOCkBa4;JAL<6zV^|~KlLj&#*8zNWD zq-+S>YCIIF!wtOT0am%#S=~An+{jf={2Jh6=wGs+CwwS?;OGcv1tO|kezjfkWSt`i z!ih#h#@I&VS?`iQDUQLp5=_ zX~&U=_8J6&j#^<!JP5{%u1C<3C}iowbcLQwJv6wI!^nYY zO!+UG%qj1qPS30*-ye^@tep+_1lNf!=|o}h8oq-2@;DLhM~(mBVt+wT@G(}*FBT#b zIibnkGr-AEsG1Y^9ElYpqfpmTR=X$b8d+{E=0B~~oB|5y!k2`3OK^y1@ZsxskhAb) zjtyv_`2O{H;>I0G1$Lgn(FC&E&8&+uo!ECjwcg(@eEp9i)5aGTICsz3nQ!XH8a>xi;AxKM}HP%3mC#ZPm<0ORur#pQGAc z9`TKGt90E@+6g>xF>mg4GCoz$!sG|c5kwom5mKtE=f+eas>qCq9?I#Ez}rA2&zUkS zUrU+MYpx^keJOOD%az-P*eus8^KKruY1^(Lm$qAYwu^+x$vq5}ZGXL~eq{|Do|jxw zSD$qaT3vC+{iV0K{}%DwtakhPzV|_F5Sk;YDkm59n*{u!ngSUmB>Jm7Y{c z2gcl}B4vYYlThHiVn3ZohIyk4YDv}{Qn7n`A7Ymc(>jvJglH9Y$pF7M%%!`lf#V{gcU=A&r%Hta@ zhRTJ791sjHER8VC2oDNcdKM(~FKT0UQe-V8tL_|2R-#j%?&EDJ)~$r%k|nM!$8V)2 z6NB0KNQB*Dt||2UH<#<9@X;h?zXW@D*Kndj$oVM5pZ{N`#4wy_vZ(hij>PktK$&io zJQ4h@Zd~3Pt^2t}S(HfyMwbJv#Y8z@n$Myn{LY#wtv&J3p~)JyYL zbuBG%=S+V)>Y6bPE#Ha5-FrF}G#nn5YuGdb=s9azopbM!N~h(ljK) zEK3*h)B5mWCFlA^xeAl&INw!(?X_?wzDIR6Fg92PfD*%dXWaG(PG;;9)jR+YZuRTv z|1Y|}Xq8{~-+2|an;k;XNDr5LiftyA_2EFKsRF9wiwHKjfgE}?9h09u{5T(=07_vZ z{&`=;{stM*iP`T$iNG$=$ZBzLTx1BS0#1~a0-DPlD1C%vHTN%)_+5&jK-*KMNmiOP z{vo&nMP#%I;$o;F@URV9bjZU$5p0wW(U9||Z>IW0enA4ooyTne6v^nJR7JC}s0W0! z3nKh+5n5aA34`*m5+s*_q^T`{X5R^7Soa@gkr0-ccAb-U0ly|lzG5(WFZhbFq6c9@ zn2c^=-K*9SP>oPlfIW&wb=8pD-;9*DBmcy=9BkO4`dQrQ(O0unO zMQ_z|T0=wm5|E;tW|n!)^o3C|3RQjU0hvZ?z?Xg#bos!oIFc$7?8n;XKB}>#XGTH| z=svQ*?h1zpfy%P8<6@Gb`1V8n+rc;to%iAzp2_CLT;QymBEVj{3+?0Lt};>!eX<#b)0p+6-Puovb>go@%qJ zO$HmP>F@Kw;7_}KUTt;C22+km0gWXPM=YxJg*}3qEG>gx!#^K(1`5c{!vW>D^BWjG z)=gX*1>d&6Y_5M}6Z$n_y&!Lsf&XR#Lp$H?4tH)!C`{5;+YDtSd|%6x)%?Z!#?sNd z&$kPLFSo+|Gn81(@Mx;oUuS%Pw&>9v3Yt2umeY1-i~<$;F3k2Xvf5Y0szVK*;ReC- zRr@Z8%&I2yf7@exH-*6n)8pu=HOEyJ2tCdl8wjvk$D3qm60d#^up5SX$)0`m)bSdQ zc8sH{3m3{_P=&@O(@^+yMEAOYjw}WJ!dWuPoK2El#T)u4`ytr4=sv^7-7&M~q6B~Aq55WgV z%*uA|l3VV%ZVnqra%Hr5FrngK0oNKG#~9x0j=AIvBdf#d7KLP0{2-{-xaH(Yra3LzYMX72^SNXmi+kZDfvyD?I43<5(`uHm5$0iNhL;8*k~SpXfDC2; z=SxC486w%5tM!AM!gA%rCO>tE+ZrsMZ@le*DaE9zHs7PMJSfmR?}lz%R_8ds$#03e zQbkC})Ya{IM36^r$@kXxVZPAz=kpuQ_xUVQPaO~m8ioj+kr8>q6Q{3kMsl#juvlCk znM)(C;7nzTlYZ2EKq-t$P03D~Ljrr;E<_MnlDt*5`J(_ddxF%!IG1#VAP^Bp$#I|( zWd_KRfJ=u6`5MyLl63d2A}C)Tiedm@4LiA-4^POT7HPrVY7ST%vP=Vtx@xwADHb0i zLQ;Qe<+yeuOyy)#O1X2)z_SQp+59VbL&DS$Sjh9sr%K z&82nl4`%*l=rLaV)?KqIPQ5xqe8@tBxv)8n@OGg!(vSG&P5!6(>A}sZmK-|BVfG68 zuvXeSM{6X$AFHufPYX+K57)rLR9QEI$~NlF8Pe&Rvo+Fk;&M_P>wDydH@t7>p!=Lc4+7T#&2Ct*b!HF3p`z#kmVHd#cXWiJ3JsnxD=-+Mp<7Sw zWgyd!KlWyiCbeF#7sSl16Xs?|Xr%L=Uf1>cMt*?+BMdK?(8ZqC#}+IXdOOWWA=-x4TxI;Zjz^ZbBCX!91m!D(O- zoK3FBtBPqbx0Y--qg$l&JXkK{^UQA2v$`4AGY43!T=#>_CbhID#G*GFssOYisB}7~ zKmE0`(-1T!N5^xT>Pm4i^c>hN^D}B8TK0~Xtd3slOyFkeOhqRG#G=U)>@UGll*Yx# zV0pqhozXdrlkqnYOyd$pN#i$8F5SbFKpq)48Omt;(x2BYQtsCa!}#K(q7|e2ivi{Y zdyCh3gnMQecdYJMWVzl^D79k6P(`?CwzssTAJ!&%v9EjY|If}- z?gn*{KED&B@_x;T{x|cB|Em``(zv$W6h{Av8T#2n@n58sIcPG^Xg(J=Dve%YAGY6& zqD#EgMPwQ^wJOyLjpNKWkAewdw#HXL50lA+uLKpcs%!N%v2Xkdc$7+TJm{K3QLxV4 z$hyrry?OnYlj>>n^0rqf@K|wa2p@5l78h+?#+sl%PdY^hB(|0R61aUKNQVkMbn1g2+-fn1Fz2zyd8rA_1~50|5aiMx@NFjY1sk zw1T_Xp(=zzE^Y&1q0&DmBu~{zXhyzLAx?vcm=0;lj|$zS(@j|3L35o}14$^JPyyo z_ty(CH>`!R*osY{9c%lLBRL`I$QiNugJwBe+mSv1g(^0Jh3Xx zuXuT}eoWYq5I20N^e~aQK7rVggYhce%i(O?av?;a-c(F5{CwOj%7Vfyf|OCh;SV5U zfq+EWct|6NQX6=Y!?0cO5MsP~R6z*^C1Q43glK1x9e?T!;CIzN?H~w^K)v&VxEUit zaY6k{iJim??g(K%x{saduPjWQJR?lxu>Qs6?l|UR=9!|H8u%2wZ7qtr9QGrA#y|~? z_X?X1jLqv;su$+{)RC1!a^F-rCdk%1RmZJ#wAx^$kBrtrYz0UIR&mLHxwA?br-ECN zVCJit{G>Fgeg9XyN;$SGFeW;0G*3pzS;{iK{5cXltT5;5J96=b8 zVNSOUsYc5x$gcnWIhNYD?v;NZ&+3P~tl@}$@DWDi!bvl3xOw=-ISiv#5XkiXTf%Pz z?i>jgjOWy%al=7Xc$Rl&&!Nuo>yCGB%bYBF{_QSjZlgXn3D%b!U_K(%g?m9hZaInu zxq#hm1XDt2yANpPw+os9tIv=XEDSn)m_faVtg)i6;(X>0M+b4q-x6-%^WEJ3NcBCP zK*%n&Gdc<-&m`+d;A{H~cZQc(rU&RN*YK24I|IEFT zkeAfh#B;4}%sqXOfpF>HK%jqvEehVEFB}%ezq+1r{cxS;!|%qLPpMfLbn%pjV1xN3QLoao?$o&phtfVqP54d z$<%-ma`>Q)pKbcCoMPNIKsb1Zod_Y{kMP(Zn0i_p9feyz8L>?Lky6lj6_5-ZNJNx_ z%uX-5M90fgyX)&{B~K4B%|AazDVO=Y4;UQ!k$C-)J$b^`I-Q*f23S_g$<C0M2+Eg#rLy+s|U$VuB?J7Ym_?% zzKZxjbq!hObiEIJ^3Kxz21G$!nuckJG1P_wJJ%R;=PjoOz&@=YBE<<1#VW9p4i+5C zUBo8Eu6wdcmgzZ%18yRrA+J9p0%xhWXnIVm&ZLMcf!nRLOWq{7LW%U1g6z~X1TY!e zLS}8_bLwfX>61N2vJn9Kl~<2{)t;}C%_aAmXWRS!>^3#F*ZOLwVz)!7*LQipFZ7E; zUjI#69}pdz{Lhuvf>~XqKfMQX?y+`A*Wwn#R%6%S{+d>ttG*tmIl#|@Wd&{p4X zsqe=%?uUdOMl3hJCb~bst@ieASZvj7hDIy%d*`P&YZ|Z<0qaqtemI#B4_lB(Q$;C| zQKxP{y~|!g%omB2vVAUvPAy>@kZCmDABuxbyz-`oQw*50I+_a^4;_JGjZ4Cb+A!Wg z3YRO}w;5R#7X9Pd z@IwOLFm5dNesj?CC|)vikJ09;F?NL*7gzC1CYTLC4(%k_!F;6Fv20yG$v?|bVNu1`S zok5(8fR!YTV}H?5-vRUhRY?%6Ub4kvMIGAlSuP}sdidWT^a1-Q>6w*FT}fF`HD}Fi zbo(ShP&H$%fgk@sL7}*rq?t$1x8<4cgRwkm3Rw!amx^D04;7lSw?Vj_WsQ;{?8C{s ztYJSge`#tgyU#T;W(!f6YI4mI$e_Z?$oMF9ewmr@p}1JSba7s(HR{Q4rJfKF9;9_2 z=HN>kPT4NgTjP5UeqB@;eW|dS%LYdT^4rSsglD&0bEmvcPe)W-(yM|vg$%rCVSTK7 z)xdh@uAhGY8Ug{1yA29 z^&WLHHXpJMjlz<>_%B0VI7zexaU*GI^-+V5AGTt$x1V=}cbZIBZ9Hytkf`7I1we87 zO>OV_cZb+%Ev}cGCIO}aBD1m1{9lMau<3{T>q)nV!}H z#CA{xC08T%ZY34*hlIN^$aq{y!haE{VDD8L)b+v2si5~N^3OvqHreCaZ!xy-NeLhU zTm{N(N8<(07=zE?Pj^D=019v_k=2M zDQS32F07cHjXqm+t5#dUTo(ZX$h<$Ct`sRzc8kJ0ekie}$xT)$q$~sVU10&5K*vR^M+?634oI=dZpAts=lw)|{tkZu+}{rFS>($c{+CepP)!bHr7I-tAt z{W*Oct@ZsLrs+T4h0E1f0KrX62~F*{e5jkOZG`mzpSHC=jhWPO>Uz3Cz*_F)QfuwK z*+owz&?Vq+-WLtv3Ya!SU`&5EIooG%v0cPaq(|Sd6c!un6=A-YRs2gB$^we@Wj@*` z!bEVp7O=)qm!X5u4WWkyD%SpfIh**qq+j)g$Mf!NAoGu|i&hG+G}nn1Mm( z!6p^63e2U=_G_BQ<%V-f_asvqT2%=*9;E^Nv0RdH zMPJpG-nFy?e@v)gn>IGX35`nq1EvJE7l-cqfApQTMzTxf`88yDB>dkK3DbXx<);MBG3VB$8Q7J5bGkh4d}G00L4XG(=XqxE_p;0r-st)AtJG8FqhoeIi?lYdE4 zez58vCFbVp%)E107-q#H3JJETHz~l@?KjKSC0|Ye-sn}<2o8$W#5R_mv|aVd)5w3C z6rS!zGKNyc1w+=_C&V|-Lp?yyfeDjOF*Yq`7PGBZ=MTw1nN-IS)LLDNQ;SPB={3t| z(uViZ#b~#e)~#q&Cg}^wUM+pm7{Wyq<&=*CCtWf}8SKmJ^KciYb$*hWX->{?MuFCH#~ztw!4#q^iW`6ngMe z9u9oAE--$};BF8Hq!PM}PEely+1Rk|34`j>m{wxQ5In;|L4x~zW#}C)Oom}Y6}Mpx zge^&56Vac|zOAVQHiWm4BqrPh>m zwD@3MvdMKBuY_mA&S{&b7xx4$US^nab@&AU*cNI{x`dLSu|4UEdxkAZ49g6-s2C$*6X4qOXAE&%-cX&kQ2|fs-q5NXBQ_0k z)NfG%n!@DSpqIY?!EKUh>IEA4cp z>{*L60vF9j`t~N?)$8@@4A#8CwD~WPSWSl*A%vm@&yt+$^?pXa-)$A@)cZ;0a_%8brwc+y&TiP3->EWqMkts@+Uci@0+0EFiOe>%@ zuo|8tbYA<^ps+NvjH8F69dLW_o}*q{bO6Ui(5zK-BIpbvntR{C8R&Sgxa*Hp4fT_P zT(vPKJ>V03aPnQeuWPuS`M@Q(rJm*;@n4NTID!jiCnFuWGe&A$fvd1Z zsXwO$Ofe;EB86QsSd;OEtbnVs@**v*JQlz8s*I8N7;`6oZr6Cpph1$qjbDw8&4!&m z4KXE#5W5`}&$c>sd4Y>@b1WBxqu|R(pL0G%zKdI*_sqnQ3~#k8_O^mtA;eZ)=$0^z z{y|>!|6{lknOMvF{d76&!K>A*`_C<|S!t z;dB@tm65Tz+r7|LMEk72XRT{!x@wG8FMHL-Dd`snlX4;bg8}-L+l~?+?I8g<68i-5 z_$#4P90d(lJCO!3JmUr+#trPGrVkKtfx2)4V72)7sd$Cskw#*LwKMIka@cn#{UVCw zBn}}sc0XX97zY^SP`0xP$tRw6Mrfmxk>zJ_?_c zo)ey{p0k=QC~xTQZNH3|AdIzC59SNsc+8wg^zm@v5dD`mmswrYFtGYmKFHxmTW$U2mq{`aG*u zo54`KE}&BDN^0;+IEn~hJ{}Js^F18tWkv9RarL5-*c~yy)b@WwpLGpAI4Se(wi~k$ zZOi!}a%FQSsJr=DvdMY>TU2r*l$d^;f$vSvf{ruh5 zOO)b*D>w14ouz};<5}m>YN7S%DYM==oJ{hc3>1(z!Q@it8ot##E%Xd|?am1UTRi=V zfrIw_S7LtU9-FH86O6$P+EzzbOCvwmP=5C@l&*aBGh3b6(h_k@^X+BUi5N?=6heHT z6B2(Hy1?R^*nITPxrzt*sn!JcV5aC{#bYAjPF^?8C{AMNRmO5e<=1j}y9t?3qpeGC zN55B7-F)$i-@2Sip|k(+Z!z21g0@^r`n`h@yPtkm?e=A$j;_=-kUQM=@f1fZ7jN^! z$?8(F1C&pFy1b_idsTC*`_neR!3vXY$TO3VOfiS8<5XqE?ff7OaJBp^=x{+t3J3swp!ak-~#3qJFKW&Z2FnQ6O15q{|_mW?o3 zP9{otxil{AF?eil<>>|~`w}Xv$-I&OmR6SnmTQAr-E0DlOdhan#F*#r7+U4m)xSA) zGa|5F8+-=6qf;+6D1e^1m0w(~>mit7e`H94%o>XJwGYh=(9(>t;1M`C`rp?O-)>5f z+NhY!n_{!VFuS=FaL<_VO*PSN?Z6f2Hl-eduYlOG4kCAjFB`Bnes!mB`9>I>s%&1p z8HQTlfMUv8FL4h&t^qh0)QwslbEqh}YmYist1D1Z7K3`=C=InzQYTo?TzRaRE1R11 zJxQ`WbU~BuyC9+hFuj84>(e1r;}F#R_9@Zk+(%J>dEkkc$ONMbOqyK@o8A^`+n-2Sub3 z&gYt6@Sl>e?#N`>M-`+V<>oW;c8E$jG;PLEFNO8Fa)h~$RL$?Mr+RCr$>0M~=XUc;8kj!F6>l)z6@A}4%ebr- zHr_586%r?rNC6Zh0K(dsk0dDQ{o`x3dn|8@<8x`hGbOe}62ApZvM)Hx<_!&m|?5RHvq*V{WCt`eo#5w8g(Jr6hgn6ujyHS=lm=@s@`^C zH;<%^2fabn0BWfxG#sYJ-35`T8&QZUv2_ovaJ(UMu-;pQgT6#_d)oF2TYeXe19eA| zf~_sREZ-hd8-Bw{7;LW6&wXF)aLb#!_eSv$?6RSr5F8I8e24QpvwUNlAzqtC_n%jO zC&DR1RJ)`w|51Q^M;Ie4&|Vc}_dSvl$K!%XNPzmLi-FP^3*%k#URUz=Q+_!liM;59R&c*4Jsrs zy#S#Pal7eVLUHhXew?44jiCCQ*^~XNGHBPn@gfLkUqiB?o+(hVkMPRA{y>Xy*fh1w zWT7H!fFJFS&$a-Ty3z@Gej#h$=|MYwU}|&vhm`slj7>wJrx+<(H<-)U_9zmEve`n( z@e{ClK+f0GFcfZ{r9A2i#I8Q&DPx5NKnW_gsDh;)paa@et+8jRdh%+hWwNEgF}&K> zVp@}Zy?^laT1iLea@~mbC`4etPQJgk!?usiJ~3+ydgeigM)n!|f7&|>zbL-1@vn4u z2qGdZozg2H-AZ>OxpX&6FCn>vv@{5UNQrbwql9!wN|$v1){o!MSLN~f3x3b;>oq&G zGv_^b?%bKzJ@=e*k6#s(TJdMcl$|!S&?TdCNQKE;1wpt!8Ovh zRMi>hbYG>1MWFxq6?$PKs}4}+iu5!vcy<7pLv)5xHis^y4S+IcSP4QT_an4 z=Ei3w+6yaN#xt-b+qW1}6ByBjVq!MX_dKRQ#R*x5OMF2A>{NQEYje&v+&mAoq?pe_ zkL7#@W9Ol7KMPJB)T2&`X73DjZ(ht4-11YgL6w%{qBiT3KyMCk9}Y5M=f9*DI@&T+ z@j_aSVvj@Ee~K{x0=A1_ALS{yyP_hKXGMUBD@DfgzJ9|b%x|hAIOL~D1h`S{Ulp2$ zdgah*RaKdJ4R?@}7c^_e!stnXH-S#od&x~k8->MY@@Pt8%0(-f#aT)N$mooiY3#9H zd2I%4GW%2@l}urh**+5rx=Fz&a&h@tW8~FpP}l+MG-|P5iLWp)Ly(>e#Tp{L8!8bv zAx2=u%Dre^l#O9nQSlhx1Rx})ol-3tUXI0^dWrmR!Zm@21GZ z`f^1~gRs48#iL~^V8NY0JM8t& zsuId@W8pC?_{#EA-@Iruj$Kkkfo0KEPh3jflpcI=$O>UYo83_h6cZLhaWUf*70BNRH|u#W z&BQVgK@uq6q-@^G{KB5MifW7|q@H!$O|PUa;r?fZj*^iEI;?ZM+M;q89qF{m3o`a& zVl3omTP*~69T*ec_e;%2Y^kmFVv$AzWvD69?+4#RnTJ=aB$Mf=iZ}5qX-cE_}W zjvF0gR92jrqT~1HF8PWwm!9HX<_dF(OgVek(fPU!Nj*aed!({Ps^!$HW_W-RL%Nb_ zD!~}5TcB*y7`7C-Q1`hm4!06Fj?V8o4{c;D@im_nCW?}(Q*RAzoCf*lOfnQiE7&TQ za6;a~6$<&+#n3lwuMrww>J`+WyWc?J>6bRx(~;PDTvSjhiL16+a^n#^G8nLorKhIG zq#JGR?%f0V&P;Z1Mvd2ZyT=V_3yY4(HWB$SJDBw|a=@qD3Tf@SEY<}r)oH)KggPg_ zzfp+g>$4!5mn_%ZnQBUVm0^C+x4EnNO+Tr$idM36*XyF1r&WpdZOA-)W^9{SU$h1p z>$9qL6l8KQRUxAT_alnwqx!lVg%6{bn=jX!2|r!MJ4oO39Mb<)*E8Y?H*|#SdZr>j zb-ka{bGlfX*_y%CJ^1qHRFo8xPSf4{Lh5IzM03UqPt=m$JIGbICNh9ly719qS^)q= z|BC9@S7B;T=o6cJ!?iU=>}x7 zH&qU+bbKOPF&XFKO(Sz~hO}=V5!44+%u(YJd{G)+9Ev2G9T)|`o)U3Z0jge(fH|W-y0cDk zAkS#4FGf4+L~;y!pb31?m;_zivW6&1MZ$3)WHg4D@dO$ zD(AomAzQ7{6u8<&l2{nk|ra-6Sn^h(qvQ?2x9SJ{-^i)g1cA?q!BZKD1zbk> zVQ*Dir+r}diY0BUw^u}cB7~eCAv_Kg_7$4}J5U7MW+cvsClWZT;;$m$L@PZs+dXPJ z?VbZ2MpXkA1$rQ{=?grubad|xXnJUF9B1JvNu8!*ec$L(aNq@fMos5vn{sLPrVfn5|Xo%OuAqIPzu$ji<*sVwi{h5JdwABi{jwIDb>W_xVE6*kEo^ z$HyP#l->_Pb@)=0E$y3@(^kZc&9Id<*vKTeguV-sg!`QODJW-uHd)h-(a{u4xSM&v zkkL2p9Ko4emYV&|>r<{^6scjR5|Lp*UQR%7lIg_x`|S-3GYYptPYqk9G}5*4hA;pC zu^`r(E89!2QN7wA~mFR7=p@H^~OZw@)I z5m7Os?f?(V-Url!92LR*!t8YD1Z<0+De@Ku&=Gz1!&Eu~4%#rGDKU}=C7d|(``g~o z-k}C9bwOtCFB@Nn+thdwNjYy}OhwzF#<^D)q*C^E?5KQm&TZ1L%l1d0DmsP%Zc!4at_P z0(8UR;n}!vt14|T5`XEDj=E*5xaU<04qo@zHeY<+YJ&#r6<0^_DHi zRLlh+oBUjI-=-qghX+)gd!rD@@p^ja^&Mh$r_b%4-wX_fV?`mmpNF3J1l`XtNFOXO zT=C5;l&S4yraV2P-K1Le{_5TY0m9(iFh7J(Z)v@K`MJp{_?fjck-9AQjn;=w~i@gtf;;Ks+h^=b<*WI@CNi@D3KNfUUFlJf#^i=QR{o@GLb&n^*(|(b@LRK zuf@Qqw@Z$rSoS~}Gz;#Qr5wtG;3B1+OFKc`zt_{2YFXW677WGT3E_<1Zt8CMYJNQ(SHL*-o)NPvhSC`2 z(RV4i(g*Pq-@n&w#7kja`Mu4P_s|F)3tPPS zocomz$}6)rAP3YsXZo+KY38CoN$r+Y{W$Yu+189YHL{qBWdUvnS3|BVfXk8tC`To+deEmGL3BE_{iEr1l}}As!9?q z4^gP@c&Ifj^X}>?e|9flrQ~${^a$pitZZEq7g~PCuc)--DBHz$mWQPzbp_ihn3xIg zht;_6lTb(jUppiMG*Y7}(=VZjLd9(qK(!Q4T( zNJV^aA-Y~3!(LLh#9TLup2bSt+gNmO9H=ST6nr<3NlSLA0VwNmye2g26`r=9N^By@ONM;%7>_JW@#g6Ab|^7V(*9M?($MUUV7#r!*E$GP0+Q z9x5G~wkLVgHd~-)ZjZKNij2#vNh|WlQ}`hts_C!OhpjJj%Q!6$EG{j@9XgL9DDPGf zoug1FpwexTFqF}qNdfC4wn3?rkQK2{zWa`Lo_fnAD+a^UwX;ECd)b_#2CKZ5W8k+P z8T>P_>qpn~i#=CBtIy^mDbz?6D7g6g0;4xe9a;dzbt8+!`JXy`=&ZE1 zDU5Dz`yz-P<2@ex&La1-UeI+L(Mt$W0zif&(-N|~zKof!8;($RJhkd2USzvaJ}Efv zdf_1GvpyabYGEZ1y_xPI5}#wWuC^t6!Lb?nK-&iXkI%<^m7`tBOCDk1S#8fN5D83dR8=lB_6YB4N1J@k?r(Q{W)KIVo_a^Jd0|1Ert5>=i z+kj1tUBLEs|M-7seN~*+AcDNAx@rC1o-RYCptX(*Rn-m`rwIspZlU{tbrq&1=R-3c zu!B9OQkSTn*jpE!UA%21S)PQ=E0SI1*Kb3ANm^eMw9WsCz0}v*fS_zw=*g#_Bf*Hn2M8;y{PR&&A5Kp64vy7@uPvz+lN{Ha|AQy>f10;r5H_`*Qm{O6{ zBAMGi+Q>pN7*r(Esp3`7ypSD4RA&vfc%xKAjNtjpks~;6wC#3g_#nRWM&PW72(`+b z!mxwc>apvJi!c1%LzfHPJ{9(Ym$Up&I1I1Ge6H(`c3z(uU3|^ojTP8FF=Y~ywQc6z zD+tsp{v!Ga*^DfVTn&wd)-nqz(VnsGohe%*mdC;yzI(fe@ulD9nm&A(7W8ns?z_L6 zLH0W54sFWk0ggC^#AIq#>8Ters)9<@z<~mq!$TJ)O{25!!>0kV&U|Yi=nK6FsYe*{ z9p!_Cgr7!=Oh#*#FI^U^5h>hNd%%G?zN}y~t#OYmHCk=7V6e@VFT^{P``YJ46GAqM zs_)*+%%y?fLBH1Iv6->H@Y#@9t9^HC0W+;e{|BFCl!1K9%#=?n_ELLKk=Y{5mgy*? zRwl^K>Ed^_B0DE2zPk3}M4B#BKmNGy8J%fH&Gi%-(?3k{d0BgNmzi+ia!ZFBirWYZ zz?nD5++#RD3}nZuLqb@sgdNk8?4o`qWfSbaIl=v8wM4^jJRgaR{E3#7f@I2dDKV&7 zz(viQeTu(hQ1QKho4^dm919uyt}a&Vo8uNtIdn@6QWuXIJ5oE$Zc_^-ZD*_pj&%~z z8M%eZ-r>d`u}V**&KO7EQAp;`D!-oHUZ)Q6ouiPlcrXdg{)RSf>vTRD{ygjhy4;FZ zlI*@6sidXu(@1wo@;Od=pK=-v2-RR(VT@Al6)j*ycTdNhtFN&mKF z2KEr-9D^rse>(MLC(Y^wcQW^w?!`32*Um90q(Z=|ZbYQ2 z4D&k`r-9@~_p|_v(<#(m7bjG6iHGk2OM<=>)8h`K8F?aUXSlSl&ZQ2g;KV_Q?L!SvI~B zA^MtIy6~(|^cjE*Om7YK&6c{S@pH|zu$#a7+lJHOdGNtU-oWs;Bpv|m&VNnT#tsfY z-i}l`NOu^r0C3s=zdz|}qSl0>L`|62p=OF+GIZ!*2IGqSXXrxQz+~IKa;l{r8_rsR z%Kk|C#n+9pn2jEUYDD=$o+V-G=N3-Ab{H2`m_XVI!XoUFgg z0U5P)>a}`})u*|gEawUDFRZwz$KsLS5%=tfko)0XVyjZiP;^8oNjzLVflEX8Csl4w`1f-;g}r7f}M#-Y=Q zKlXS3kg-dblQQ_DBnfF90lF&A)h#~>)YQq~<=rqR><`b_X(x@6>{M)pY{ z?o=vIA1Rr9i%dz?>+!9DZ=AlZF#k4&AuUAfF>#~9(Ghy)bvdw*p7&-;E;JUeCs?J9 zXPUYWc0l!hFru6)BzrOHs8j^QcOWCyJqN|WbQ1R7Ukshd2T))~S0SX*L$>bL6b_&T zaSsNzwj4-)dQgSdgneTZmWXIp^3J_#1TrID12b{d_=+loSzo5>Lhp!`D!jT|X3!K} zQZR*OAZs)#*F(U=t5ka09;aY@vOofiUI%3b9#RdSZ>+|=ZEp6Hh4@}j2oxR~o!&pp zIAT&dP?ng*2t1s6D6|yzL@u@t|IXVreS7Yr%ImeH=8|?Z@%HL*6j61_Bw@u$LDq<8 z8VQ~n-#%XOw`YfGMB~Jy`O9@zI=OfhHwb~6C-f?A_UP30QtUDUwjn#x1TR-A&9qIq z7bMaF>X$VL*)>fM^b?#V*m&E%2%NthEwuHzW;z!xTx{wxY&!p|<26sCoT)Xuk=w!d z68_Q1U7cO*ZU3*C|7zw9@rw3=9Ctf+<&W>n?8-1^i2-s0!+Xs8I|a9%<3;dhvw~lw zX&=vOI+EiG*qXm@^80?7N$+_tdJb&6^)5EJ5^X{V4XYo+fS@L-MV^-{v?Z3w!py)K zO5@N%5V?3!@4)C06hf^;@x+F&WUQT{8 zBc|xY`v?stg@JF>s0v=K23Hyt%O8g_^vpt~rlZ>J_k)y`C413)fOFikf@>)ZM}-C0 z+u`d1*Db-~XhTTPEUx*lkffaTq*{zXqeJ5*D}vfF4=N79k3J25JbmOlw&+d#WgtzB z8mDyggzQ|p!MRgWN9E;@iY6*Z4W9Vw0Fru@5S!JHGgGY}(zw;6GL zoz-NU9ub8x1b+YR_1r;Vh3kMQ0C-FQ;343V<78D9d>=C09!dD?j{Ij$SKQvt#mvsd zP|ef9%vt|On^ltk6HuttR!s{B7{Hr3+zj;FXA=I8p_7@7GdtUl^#k_T62-KqY}LX^nDEP?`h&O#-~4;txqqy(f2DO>*q9T+Nmual-T#9&@$g^T z&vN~Km48J!hNs8w!fO);UctnFpy+A-Mg2^O_s{ZgwdLl_8_R_b00c4q3go1PyPe+m7p9Wq@0fp*{ocmh&gu6HgADo?^S@{KyG^^D4DT0>{PCZ(AIyL3 zk+%`IW8{A!q^$l${M(p*{{9tnJ8JJ2=ECvsn15pUZkOhE%+4>2gxlXS|3vWI#@u$p z{e`K8{BKUVw;8uR5`HoE!~ZSHZ~h6l#cx}Oe~ITs{wsdlR(zXrd+_QPLpJ$e#-Br3 zw+VkLcfaHT0PBq3D&jw?-fihWd#k@oPh|Zj{cqp(w)mg@fZxR%bAK2AZ?8Z}9vS7w RVZ`unE_^u8xZuau{{sml<3j)d diff --git "a/doc/\344\275\277\347\224\250\346\211\213\345\206\214.md" "b/doc/\344\275\277\347\224\250\346\211\213\345\206\214.md" deleted file mode 100644 index daa0090..0000000 --- "a/doc/\344\275\277\347\224\250\346\211\213\345\206\214.md" +++ /dev/null @@ -1,41 +0,0 @@ -# 模块说明 - -## 管理web页面 - 可视化管理微信个人号 - 包括: - 用户登录和认证 - 微信号登陆管理:负责微信登陆、登陆信息展示等功能 - 发送信息给好友:用于测试发送功能是否可用 - 通过选择好友列表显示获取需要发送信息的好友 - 好友信息列表只展示文件传输助手、除了自己外的好友(疑似好友表示没有设置该好友没有设置性别)、部分群(是根据第一页好友信息获取的),自动屏蔽掉公众号、微信系统用户、好友为自己。 - 上传需要发送的文件 - -## 发送信息接口 ## -[https://github.com/lykops/lykchat/wiki/%E5%8F%91%E9%80%81%E4%BF%A1%E6%81%AF%E6%8E%A5%E5%8F%A3%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E](https://github.com/lykops/lykchat/wiki/%E5%8F%91%E9%80%81%E4%BF%A1%E6%81%AF%E6%8E%A5%E5%8F%A3%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E "发送信息接口") - -## 计划任务 - 检测微信登陆状态: - 获取所有登录微信成功的用户,通过调用检测微信登陆接口 - -## 会话保持模块 - 存储微信登陆信息和会话信息,同用户在任何地方登陆,保证微信登陆状态一致 - 访问管理页面和微信登陆检测接口,根据session或者参数获取用户名,然后读取会话文件,页面操作后,再一次更新数据库和会话文件 - - 这些信息分别保持在数据库和文件中。 - 数据库 - 保存用户会话信息,只记录用户名 - 有效期1小时 - 每次访问更新会话有效期 - 会自动删除过期的会话信息 - 会话文件 - 保存用户所有的信息(包括微信登陆信息) - json格式 - 每次访问更新 - 默认存放在/dev/shm/lykchat下,根据用户名命名 - -## 模拟微信web端模块 - 它是该系统的核心和底层模块。 - 通过微信登陆信息,访问微信web端接口,实现管理登陆、发送信息等功能。 - -# lykchat工作流程 -![lykchat工作流程](https://raw.githubusercontent.com/lykops/lykchat/master/doc/lykchat工作流程.jpg) \ No newline at end of file diff --git "a/doc/\345\217\221\351\200\201\344\277\241\346\201\257\346\216\245\345\217\243\350\257\264\346\230\216.md" "b/doc/\345\217\221\351\200\201\344\277\241\346\201\257\346\216\245\345\217\243\350\257\264\346\230\216.md" deleted file mode 100644 index b4935c4..0000000 --- "a/doc/\345\217\221\351\200\201\344\277\241\346\201\257\346\216\245\345\217\243\350\257\264\346\230\216.md" +++ /dev/null @@ -1,52 +0,0 @@ -发送信息接口为其他业务系统发送信息给指定好友 - -# 特点 - 支持post和get方法 - 除了支持纯文字外,还支持图片、文字等诸多多媒体文件。 - -# 注意 - django默认启用防CSRF(Cross-site request forgery跨站请求伪造),导致无法使用post方法调用该接口,所以作者强制关闭了防csrf功能。 - 如果你觉得有安全隐患,又不需要发送多媒体文件,请下载2.0版本:https://codeload.github.com/lykops/lykchat/zip/master - -# 参数说明 - 下面参数支持post和get方法 - 'username' : - 管理用户,同管理web页面,通过用户确认微信发送者 - 'pwd' : - 接口密码,注意不等于登陆密码 - 'type' : - '发送信息类型 - 可选{"txt":"纯文字" ,"img":"图片","file":"发送文件","video":"视频"},可以为空 - 默认:不发送文件为txt,发送文件为file - 'fromalias': - 保留字段 - 发送者的微信号,目前没有使用该参数 - 'friendfield': - 接受者的字段代号,可选{0:"NickName" , 1:"Alias" , 2:"RemarkName"},可以为空 - 默认为0' - 'friend': - 接受者的昵称、微信号、备注名的其中一个,不能为空 - 'content': - 发送内容,不能为空 - 必须是post方法: - 'file': - 需要发送的文件, - 注意: - friend一定是该用户下的登陆微信好友列表中的 - friendfield最好是微信号(Alias),也可以使用昵称(NickName)或者备注名(RemarkName),但不能重复 - -# 返回信息 - json格式,{'Msg': 执行结果, 'Code':返回代码, 'ErrMsg':如果-1005返回参数列表,其他发送微信返回信息} - 常见code:0成功,-1101参数错误,-1102无法找到好友,1101微信号退出登录,其他为微信返回错误 - -# 使用实例 - 接口URL地址:http://IP(或者域名)/sendmsg - 发送纯文字: - http://192.168.100.104/sendmsg?username=zabbix&pwd=123456&friendfield=1&friend=lyk-ops&content=test - 发送多媒体: - 方法1:Linux的curl命令 - curl -F "file=@/root/a" 'http://127.0.0.1/sendmsg?username=zabbix&pwd=123456&type=img&friendfield=1&friend=lyk-ops&content=test' - 方法2:python脚本test_sendfile.py - 请参照该项目的根目录python脚本test_sendfile.py,执行 - /usr/local/python36/bin/python3 /opt/lykchat/test_upload.py "{'username':'zabbix','pwd':'123456','type':'img','friendfield':'1','friend':'lyk-ops','content':'恭喜发财','file':'/root/b.jpg'}" - \ No newline at end of file diff --git "a/doc/\345\256\211\350\243\205\346\211\213\345\206\214.md" "b/doc/\345\256\211\350\243\205\346\211\213\345\206\214.md" deleted file mode 100644 index 073be93..0000000 --- "a/doc/\345\256\211\350\243\205\346\211\213\345\206\214.md" +++ /dev/null @@ -1,96 +0,0 @@ -# 运行环境 -## 操作系统 - Linux - 测试环境为CentOS6、CentOS7两个版本测试 -## 语言环境 - Python3+django1.10 - 测试环境使用Python3.5.2、3.6.0两个版本测试 -## web服务器 - Nginx - 主要解决静态文件展示。 - 测试环境为nginx 1.10.2 -## 数据库 - MySQL - 保存用户会话信息,只记录用户名,有效期1小时,每次访问更新会话有效期 - 测试环境为5.7.17 - - -# 配置运行环境 - 关闭selinux - 防火墙允许外网访问80端口或者直接关闭防火墙 - -## 安装依赖包 - yum install -y epel-release - yum install telnet ntpdate lrzsz bash glibc openssl vim automake autoconf gcc xz ncurses-devel patch python-devel git python-pip gcc-c++ redhat-rpm-config openssl-devel openssl-static openssl098e openssl-libs -y - yum upgrade -y - -## 配置nginx - 先按照nginx - 配置nginx服务器,conf/nginx.conf,添加 - location / { - proxy_redirect off; - proxy_pass_header Server; - proxy_set_header Host $http_host; - proxy_set_header X-Scheme $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_pass http://localhost:8000; - } - location /static/ { - alias /opt/lykchat/static/; - } - -## 配置mysql - - 在本地安装mysql - rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm - yum install mysql-community-client mysql-community-common mysql-community-devel mysql-community-libs mysql-community-libs-compat mysql-community-server --skip-broke - - 新增一个数据库lykchat - 设置用户lykchat,密码为!QAZ2wsx,把数据库lykchat的权限分配给用户lykchat - -## 编译安装python - - wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz -c - tar zxvf Python-3.6.0.tgz - cd Python-3.6.0 - ./configure --prefix=/usr/local/python36/ --enable-optimizations && make && make install - -## 安装python模块 - - 下载程序,解压到/opt/ - /usr/local/python36/bin/pip3 install -r /opt/lykchat/install/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple - -# 配置应用程序 -## 修改配置文件 - 配置文件library/config/wechat.py - 如果未按默认方式运行的话,需要修改以下参数: - 数据库配置:DATABASES - session过期时间:SESSION_COOKIE_AGE,默认1小时 - nginx修改端口或者使用域名访问,修改url_frond - 该项目部署URL基础地址:url_frond,默认为http://127.0.0.1/ - 如果修改了nginx端口或者基础地址的话,需要修改此处,否则微信登陆检测失败 - 强烈建议使用根目录部署,不要部署在二级目录下(例如http://127.0.0.1/lykchat),导致内部页面跳转异常 - web登陆账号和密码:user_mess_dict - -## 初始化数据库和配置计划任务 - - /usr/local/python36/bin/python3 /opt/lykchat/manage.py makemigrations - /usr/local/python36/bin/python3 /opt/lykchat/manage.py migrate - - /usr/local/python36/bin/python3 /opt/lykchat/manage.py crontab add - crontab -l - 如果有类似这条 - * * * * * /usr/bin/python3 /opt/lykchat/manage.py crontab run 6d8f0feaeaa440358a85dfc8d5efa2af >>/dev/shm/lykchat.txt 2>&1 # django-cronjobs for lykchat - 说明OK - - 运行该计划任务,没有报错即可 - -# 启动服务 - - service mysqld restart - nginx - /usr/local/python36/bin/python3 /opt/lykchat/manage.py runserver - - 以上命令记得做开机启动哦 - -# 访问ip地址即可 \ No newline at end of file diff --git "a/doc/\345\276\256\344\277\241\347\231\273\351\231\206\346\227\266\351\227\264\350\266\205\350\277\2071\345\244\251.jpg" "b/doc/\345\276\256\344\277\241\347\231\273\351\231\206\346\227\266\351\227\264\350\266\205\350\277\2071\345\244\251.jpg" deleted file mode 100644 index 9b12edef5f27049685e094631b63ba0ab8244bc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27121 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 diff --git "a/doc/\346\216\245\345\217\243-\345\217\221\351\200\201\344\277\241\346\201\257\346\210\220\345\212\237.jpg" "b/doc/\346\216\245\345\217\243-\345\217\221\351\200\201\344\277\241\346\201\257\346\210\220\345\212\237.jpg" deleted file mode 100644 index ef7477d7c635f8106406f5159af8a532179f69cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18598 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

Tw*1oH*gk?#7I*T8rtocLi9U1&nMSI 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 literal 0 HcmV?d00001 diff --git a/library/config/__pycache__/ansible.cpython-36.pyc b/library/config/__pycache__/ansible.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..83a584e4a8c80775b6883f425e7e6de72458a12b GIT binary patch literal 2756 zcmaJ?TX)k&5LO(=mYvv1Amv&h0a8dCM?ko>1qw||>4id}H}s;j)~s!vNLroUm5F^$ z%irh&f1rP;5Bu6DxBs9|omtt5Lwm5!e%=}FWiQL%BFb@l8 zO`Zlc?X!rZ$XDPJ_Lkwu>ova&M_~otfn#tSPIN2&9Grwxa2no)GjJBp!D`p_E3gLV z;R0NQb$Aah!DZNh_u&KBgcfXp2Up-KT!U@64maQ?+=AQiA$$ZMV^nwGF5H7p;C^?_ zuVP#e;8WPa=QI4ihK;-qpTk4!eF2Z)OZW|q zWi2`1aLs%t&Q&i6S=i&I*%312K@WF|xm3oDBc(ON)oVph?P6E$MpmE;a6fzx&RNc*(QZI#s%`9)nQMk(oo7mcd zNod(Tuuw;RJ~~U8EK?@ejEmt1G||jcPvwQtC=3vV*(9^i@>mykrH#qNY%do7!TutR zu_NKSC&0{)&0KM5<}lIWuBqcOq#Pp=sVPI$>6kj-(~{x(nD{w72ugL7_VLq%925so zByDo+8Ph#;JmoK^VxkWZI#JBcyvTKy>%v&dWYlMx2bhWRYsnLV4jWTbg;`K+Z@ILn zI{FOSGg^sBiC6yz$@?yD)%G-)-c?6S-bU`9a{DV}pJyX?D!ZAE^^dOlB zf!F$6wuOrHK+@^RIf4p7mB1ya5!4Ch2^I(%1Wf{}5xGRLOhD|DrwC3Hyi0I~fEXap z5v&rd5u7KuKyZ;@o!~u!O9Yn*HVED)_<&%Ophd7n;1OIQxJq!1V4Hw6RNf%CNpOqc zHp1|jmn(?{&m{MfK~NO6@`k7X&mZJEit%OhS8r>q51vl45oKv~48hFo7&l5Xq<*B$ zEQ{k2CF+gx!z$xy=(ZlMww|xH(&37Syz^qwofPO6_J>uk9i`36WO0Dq;-D-+Y@Y2&)4`h> z7FDV;A+~~=Rb!TR{pGQNtPSj%+|;^QUR*|L*EEVQ$^y~aG{@$I#dVuZlmy-L zm#IW;mDw_<*{&@BzQ;}7_Bt`@W5EHUj_+co?PSYzk^vs(nxXLf3mw!dtIfDj!Px`4 z5__liBee_|fbUXiQW^V8s4=9ccJ%-v=`T!sOg)P-j<*CZ?$=2IqE3L5{Y9HHRM(&o zFu%})Hq&8`=!uFqR`nT1aP=&*FywfxkPO)qI5Op!taED0_vRia zr``cWLZnDKE}Dcm41+cq$5%H|99Ut9uk96;mTD4mF=iu9ydt?|tjDNne%HOJ=PZWRwCRktt zf*o*H4!9~jD6J6IS{W)Tv{qHx|GWmfD;t|i-P`Qjhez-jp1@N$SXpqma;b?ea0A1C zCQC7k!uX1DL4O??##+rb*4m2nnm6I{^p@XA7sw=>$HI3c(mN%}ST3XmW4xDyccX}< zDTxGSDVKJ33lfP%M!IXP+W08nQ48MXESeE95;P%fF7RQ&i?a{){h~f2BnxBumC$>t z%sBC4#xm|Zxud$}t_DwmL~~B^yrj8yy{rW92JOq^;Jkg@^zF@TX~%4eO9_dt!j$r4 zc?8#CI%Rbj*T)CP3w{$Xz2_g>Sl@YBYM#ETpQvbJ)M}l)RD;Ci_0YGZtJ>t8 z2wYL4NAr|M42bVyr_=p#(d|goZC@(<6m$mI>$ij8b8qk-qw`)c#HimJ45i!a4=;M% zz_)QVCqTJ=!3mw>YQmJSg30Q}Q^CF)`GLNqhTkt5EEA3GlQd#F&cl4s*!E~ZD8g~b rNj+Og?<`?3kI5Tbo#JN-EVBs9v32G-4;6D;*>cD7cK#|Vvn=xuSkJzi literal 0 HcmV?d00001 diff --git a/library/config/__pycache__/logging.cpython-36.pyc b/library/config/__pycache__/logging.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..442b35062eb526305c26fcfaf9bcfe99a4f91ab2 GIT binary patch literal 629 zcmYjO&2F1O5ME&UF~s?8>L+LrbS!)-kGMB!HU!bov z*Phx(=&7?9qJWs6Z@!uNc6mRY#((dAK78kl{bsM8h~kg*nMX3fz>#e2LGmLS8p3g+7SownBfcno1#G)lzgpCRJs!E+IDu zu`0H*?UEsw6PR-JrFa$+ISAA0kalT%)GjF+Q!k~ktZymT6I+SLa!>3|M^0Htxh%@3 z?lK#oY=mrocRUicFjm6F3+({(QalU?Wf+a!7#s+xs}tId;V|fy6nRz*{U)Y;YXUN9 zke|riliHZM5p7GCW3)>+#{D4|vNkPF>`D7D4@uktYK><$D2rB9O793M+h0td+p*UC zdzYzAn;j-+vR>*!@3K-gtGco`T+yQWW{1&-wSuh_*A6wAD>6qe_aiUju4CVL@PRkv GgZ~dKxU8=L literal 0 HcmV?d00001 diff --git a/library/config/database.py b/library/config/database.py new file mode 100644 index 0000000..3baf69f --- /dev/null +++ b/library/config/database.py @@ -0,0 +1,35 @@ +redis_config = { + 'default' : { + 'host' : '127.0.0.1', # IP地址 + 'port' : 6379, # 端口 + 'db' : 0, # 数据库名 + 'max_connections' : 100, # 最大连接数 + 'pwd' : '1qaz2wsx', # 如果密码为空,None + 'type' : 'default', # 读写模式 + }, + 'socket_timeout' : None, + 'socket_connect_timeout' : None, + 'socket_keepalive' : 90, +} + +mongo_config = { + 'default' : { + 'host' : 'localhost', # IP地址 + 'port' : 27017, # 端口 + 'db' : 'lykchat', # 数据库名 + 'user' : 'lykchat', # 连接用户名 + 'pwd' : '1qaz2wsx', # 连接密码 + 'type' : 'default', # 读写模式 + }, + # 默认连接方式。 + 'log' : { + 'host' : 'localhost', + 'port' : 27017, + 'db' : 'lykchat', + 'user' : 'lykchat', + 'pwd' : '1qaz2wsx', + 'type' : 'default', + }, + 'mechanism':"SCRAM-SHA-1" +} + diff --git a/library/config/frontend.py b/library/config/frontend.py new file mode 100644 index 0000000..9f30340 --- /dev/null +++ b/library/config/frontend.py @@ -0,0 +1 @@ +adminuser = 'lykchat' \ No newline at end of file diff --git a/library/config/wechat.py b/library/config/wechat.py index a979929..6aeceb9 100644 --- a/library/config/wechat.py +++ b/library/config/wechat.py @@ -1,41 +1,33 @@ -import os, platform +import os from lykchat.settings import BASE_DIR -version = '2.1.0' base_url = 'https://wx2.qq.com' -os_type = platform.system() # Windows, Linux, Darwin curr_dir = os.getcwd() qr_dir = BASE_DIR + '/static/qr' appid = 'wx782c26e4c19acffb' -# 微信appid - -user_mess_dict = { - 'lykchat' : {'login_pwd' : 'lykchat', 'interface_pwd' : '123456'}, - 'zabbix' : {'login_pwd' : 'zabbix', 'interface_pwd' : '123456'}, - 'test' : {'login_pwd' : 'test', 'interface_pwd' : '123456'}, - } -# web账号信息,login_pwd用于web端登陆密码,interface_pwd用于接口发送信息密码 - + # 微信appid,是微信端指定的,不要随意修改 +curr_dir = os.getcwd() + login_status_code_dict = { - 100 : {'descript':'空空如也', 'suggest':'正在初始化,请稍后!如果你等待很久,请刷新页面', 'status': 100}, + 100 : {'descript':'空空如也', 'suggest':'正在初始化请稍后,如你等待很久请刷新', 'status': 100}, 101 : {'descript':'初始化完毕', 'suggest':'请扫二维码,如已扫码请刷新页面', 'status': 101}, 102 : {'descript':'等待扫码', 'suggest':'请扫二维码,如已扫码请刷新页面', 'status': 102}, - 200 : {'descript':'确认登陆', 'suggest':'请刷新页面', 'status': 200}, - 201 : {'descript':'扫码成功', 'suggest':'请刷新页面', 'status': 201}, + 200 : {'descript':'确认登陆', 'suggest':'请在手机上确认,如已确认请刷新页面', 'status': 200}, + 201 : {'descript':'扫码成功', 'suggest':'请在手机上确认,如已确认请刷新页面', 'status': 201}, 202 : {'descript':'等待扫码', 'suggest':'请扫二维码,如已扫码请刷新页面', 'status': 202}, 221 : {'descript':'登陆初始化完成', 'suggest':'请刷新页面', 'status': 221}, - 222 : {'descript':'保持登陆', 'suggest':'可以发送信息', 'status': 222}, - 400 : {'descript':'未知原因退出登陆', 'suggest':'未知原因退出登陆,请重新登陆', 'status': 400}, - 401 : {'descript':'被微信强制退出', 'suggest':'请重新登陆,请重新登录!如果多次如此,可能是微信修改了接口,请联系开发者', 'status': 401}, + 222 : {'descript':'登陆中', 'suggest':'可以发送信息', 'status': 222}, + 400 : {'descript':'未知原因退出', 'suggest':'请重新登陆', 'status': 400}, + 401 : {'descript':'被微信强制退出', 'suggest':'请重新登陆', 'status': 401}, 402 : {'descript':'手机端退出登陆', 'suggest':'请重新登陆', 'status': 402}, 403 : {'descript':'该微信号人为禁止登陆', 'suggest':'该微信号人为禁止登陆', 'status': 403}, - 404 : {'descript':'可能被拉黑', 'suggest':'如果多次出现这个情况,被服务器拉黑,等几个小时在登陆吧,或者换个微信', 'status': 404}, + 404 : {'descript':'可能被微信端拉黑', 'suggest':'如果多次出现,被微信端拉黑,等一段时间再登陆或者换微信号', 'status': 404}, 408 : {'descript':'二维码已失效', 'suggest':'请刷新页面', 'status': 408}, 444 : {'descript':'web页面退出登陆', 'suggest':'请重新登陆', 'status': 444}, - 500 : {'descript':'被拉黑了', 'suggest':'无人道,又被拉黑!等几个小时在登陆把,或者换个微信吧', 'status': 500}, - } + 500 : {'descript':'可能被微信端拉黑', 'suggest':'出现在确认登陆前出现说明二维码过期;负责被拉黑,等一段时间再登陆或者换微信号', 'status': 500}, +} # 200、201、408属于微信自定义状态,其他自定义的 - + language = 'Chinese' sendresult_translation_dict = { 'Chinese': { @@ -46,40 +38,18 @@ - 1004: u'服务器返回异常值', - 1005: u'参数错误', - 1006: u'未知错误', + - 9999: u'执行时代码出现异常', 1201: u'该微信不存在', 1101: u'微信退出登录', 1204: u'疑似原因:可能是自己的微信号', + 3 : u'疑似原因:手机端退出超过1天,手机登陆该微信', 0: u'发送成功', }, } - -DATABASES = { - 'default': { - 'ENGINE' : 'django.db.backends.mysql', - 'NAME' : 'lykchat', - 'USER' : 'lykchat', - 'PASSWORD' :'!QAZ2wsx', - 'HOST' : '127.0.0.1', - 'PORT' : '3306', - 'OPTIONS': { - 'charset': 'utf8', - 'use_unicode': True, - }, - }, -} - -SESSION_COOKIE_AGE = 60 * 60 * 1 - + max_upload_size = 1024 * 1024 * 5 # 上传文件最大值,单位bytes,默认5M - -CRONJOBS = ( - ('*/2 * * * *', 'library.cron.checklogin.check_login', '>>/dev/shm/lykchat.txt 2>&1'), -) -# 检测登陆状态的计划任务 - -url_frond = 'http://127.0.0.1/' - + friendlist_field_list = ['UserName', 'NickName', 'Alias', 'Sex', 'RemarkName'] ''' UserName,每个好友的唯一标示 diff --git a/library/cron/__init__.py b/library/connecter/__init__.py similarity index 100% rename from library/cron/__init__.py rename to library/connecter/__init__.py diff --git a/library/connecter/__pycache__/__init__.cpython-36.pyc b/library/connecter/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c53c14ef413080cf3dc7ae8162ae6b5c52192723 GIT binary patch literal 124 zcmXr!<>h)6R3FIz1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnFHQaYf)f3l%Iy4t zV*Q-Vq@u*4O8w;gyu8%plGGyo`1s7c%#!$cy@JYH95%W6DWy57b|52)ftUdRx_KOq literal 0 HcmV?d00001 diff --git a/library/file/__init__.py b/library/connecter/visit_url/__init__.py similarity index 100% rename from library/file/__init__.py rename to library/connecter/visit_url/__init__.py diff --git a/library/connecter/visit_url/__pycache__/__init__.cpython-36.pyc b/library/connecter/visit_url/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..82a36d81a8882edda7f803c0550b8a18e58a7e1b GIT binary patch literal 125 zcmXr!<>flE_kIKe5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzqIu83rh5JDzlR_ y5`lDPQc+@2rG8mvab`(;X;F@Te0*jekQuL6PflE_kIKe5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNztr{f3rh5JDzlR_ t5`lDPQc+@2rG9xTm>VCTnU`4-AFo$Xd5gm)H$SB`C)EyQKrs+A006z_96100 literal 0 HcmV?d00001 diff --git a/library/connecter/wechat/__pycache__/friend.cpython-36.pyc b/library/connecter/wechat/__pycache__/friend.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..199cb8b7321914f6e9dfe78c256b0d3dbf897107 GIT binary patch literal 6663 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 literal 0 HcmV?d00001 diff --git a/library/connecter/wechat/__pycache__/login.cpython-36.pyc b/library/connecter/wechat/__pycache__/login.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8a73ccc23d544c9da35a5bf627fdef5309fd0c56 GIT binary patch literal 5395 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 literal 0 HcmV?d00001 diff --git a/library/connecter/wechat/__pycache__/send.cpython-36.pyc b/library/connecter/wechat/__pycache__/send.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fd994e67a52b93d3ff7e6b2e960562967bb501e7 GIT binary patch literal 2618 zcmah~TW{P%6rLG-ZLin6xsU`(xdd_DJ~T*3fJ6nTEk%`R9(sY|7vtUXa2$_9hBdC2aZl%!sh0?x+*;JK6GRpg##;G7W+gPDA3Bf9ler&0Ge57HS>c)hUi?VWnfZ2IxAk zgl5NbElQpy+~DR(!p$Y-RyjRHn${ZFB-2f*jN_tp%uhk99TYESB1yd?GF+oD41M;~ zBK7vkKt#NSD>j}@-*!NcAm|VHLS2nBuAL;V&K+)Y>m+q6yvl9pF?bF3tt;yg*zyh} zbJ?A+)SiTA<@EXfnX~=3-{_xtYwhJ%uKe=J$}1O&kro?lh=1I34}8fBAaa@$kL08c zaoGlc589x!LT8{;t`)jg=z5{+#hgl^S5hN2+vXC)W~}_oF|veKElw~()5;Fxxghd_ zXf{^k$Hj~%2LYP#6XEfol`1Whp{nhM_8@r5=qw~6oDEjN-8CCLZC2GtB9bJCOH;){ zX~KxKKq#xQhIX7n8*CzLIH(0ts`NDI2vzAMa{+HMrK5cbXd#~yIR?LLcTdILbShk! z$D5oAgBj_|g{kslrxJ+w&hCP;JUB^^dR_yTBq#_qsI&Plj%?h_&W)MZoWp>J$phfM zKPQwu8-(JR2)jZm>qsKxwBHe}3R;2(9YU+c6hZEI{CI8I00`EXwH~&syipaWou)lIx7$NY2(Jcc!%L)BgRzmk1}mK00ho+u55rLlup*SVBKWVL z-&pl8HyenM%WYstk!$oxc?)RST_8$x z{ZGGH{r)_f`~I{3nIBfax_tH0S8MNnuzKM_Fs;MXQJA`N_T!cB-dlP7a{slj`{yt9 z&zx#%N&}uLeNW7VGMl|YpUWauXcDn5ZwKL44z)xiBzh&mJ+coD>WC=Gr11Qt z6$DDp(%DCq&i&L6zWsZBy*VloMg^$V_#EV%B#7ohF2HF-6yw&)9m_<41TR=F$8kE4KjMgw6308B|_ClG8pw(a&a{#l$1%@4F z0a6#oH*va^gVPYlo54zvAd7t2G_kHB^*m46p4W+a7NYKW-iw(Z4n|DR<8jOLCtQvz_yAzVaY%o{e*yKj%OF;tl t7FfM=P}5;rJRg(^Nf~8kC=(x=zmYe}+EpIuam=y_`ZWykfvU|M?O#2a>cRj3 literal 0 HcmV?d00001 diff --git a/library/connecter/wechat/friend.py b/library/connecter/wechat/friend.py new file mode 100644 index 0000000..5908a02 --- /dev/null +++ b/library/connecter/wechat/friend.py @@ -0,0 +1,213 @@ +import json, time, re + +from library.connecter.visit_url.cookie import Request_Url +from library.connecter.wechat import Base + + +class Get_Friend(Base): + def get_friend_list(self): + + ''' + 获得所有好友信息,返回好友清单 + 格式如下: + { + 'UserName':['@aafadfd','@bbbbbb',....], + 'NickName':['lykops','ops',....] + 'Alias':['lykops','ops',....] + 'Sex':[1,2,...] + } + ''' + + url = '%s/webwxgetcontact?r=%s&seq=0&skey=%s' % (self.mmwebwx_url, int(time.time() * 1000), self.skey) + # url = '%s/webwxgetcontact?lang=zh_CN&pass_ticket=%s&r=%s&seq=0&skey=%s' % (self.mmwebwx_url, self.pass_ticket, int(time.time() * 1000), self.skey) + open_url = Request_Url(url, **self.web_request_base_dict) + self.web_request_base_dict = self.session_info_dict['web_request_base_dict'] = open_url.return_web_request_base_dict() + url_req = open_url.return_context() + + member_list = json.loads(url_req.content.decode('utf-8', 'replace')) + member_list = member_list['MemberList'] + ''' + [{'RemarkPYQuanPin': '', 'HeadImgUrl': '/cgi-bin/mmwebwx-bin/webwxgeticon?seq=645115088&username=@4f9f900c9207f0d6d1e104ed99561de1&skey=@crypt_2b05caf0_8cef13f418418c2333f2cb1a3b3172e1', 'AppAccountFlag': 0, 'Statues': 0, 'SnsFlag': 0, 'AttrStatus': 0, 'PYQuanPin': 'gaoxiaokaifayunwei', 'City': 'Chaoyang', 'HideInputBarFlag': 0, 'ContactFlag': 3, 'Uin': 0, 'Sex': 0, 'PYInitial': 'GXKFYW', 'OwnerUin': 0, 'RemarkName': '', 'Alias': 'DevOpsGeek', 'Signature': 'InfoQ。~', 'KeyWord': 'gh_', 'RemarkPYInitial': '', 'UniFriend': 0, 'UserName': '@4f9f900c9207f0d6d1e104ed99561de1', 'ChatRoomId': 0, 'MemberCount': 0, 'Province': 'Beijing', 'DisplayName': '', 'NickName': '高效开发运维', 'VerifyFlag': 24, 'EncryChatRoomId': '', 'StarFriend': 0, 'MemberList': []}] + sex: + 1为男 + 2为女 + 0为其他 + ''' + + for field in self.friendlist_field_list: + self.friend_list[field] = [] + # 需要清空,否则在web页面上登陆后,不更新程序时,出现旧数据不会并删除 + + for friend_message in member_list : + self._update_friend(friend_message) + + for contact in self.firstpage_contactlist : + self._update_friend(contact) + + self._update_myself() + # 更新个人信息 + + self.session_info_dict['friend_list'] = self.friend_list + return (True, self.session_info_dict) + + + def get_singlefriend_dict(self, friend, post_field='UserName'): + + ''' + 好友信息进行转化,把现有字段post_field转化从字典 + ''' + + if not self.friend_list : + self.friend_list = self.get_friend_list() + + if post_field not in self.friendlist_field_list : + self.logger.error('查找好友失败,字段' + post_field + '不在field_list中') + return (False, '查找好友失败,字段' + post_field + '不在field_list中') + + if not friend: + self.logger.error('查找好友失败,参数friend为空') + return (False, '查找好友失败,参数friend为空') + + try : + # self.update_friend_list() + self.friend_list = self.session_info_dict['friend_list'] + friend_index = self.friend_list[post_field].index(friend) + except Exception as e: + self.logger.error('查找好友失败,未知错误,' + str(e)) + return (False, '查找好友失败,未知错误,' + str(e)) + + friend_dict = {} + for field in self.friendlist_field_list: + friend_dict[field] = self.friend_list[field][friend_index] + + return (True, friend_dict) + + ''' + def update_friend_list(self): + + 通过微信第一页好友列表获取好友,追加好友 + + for contact in self.firstpage_contactlist : + self._update_friend(contact) + + self._update_myself() + # 更新个人信息 + + self.session_info_dict['friend_list'] = self.friend_list + return (True,self.friend_list) + ''' + + def get_group_contact(self, group_username , username='' , username_list=[]): + + ''' + 根据群的username和成员的username,获得成员信息 + ''' + + url = '%s/webwxbatchgetcontact?type=ex&r=%s&lang=zh_CN&pass_ticket=%s' % (self.mmwebwx_url, int(time.time() * 1000), self.pass_ticket) + post_list = [] + + if not group_username or not re.search('^@@', group_username): + self.logger.error('查找群组失败,参数group_username不是一个合法的群组') + return (False, '查找群组失败,参数group_username不是一个合法的群组') + + if username_list : + for username in username_list : + temp = {"UserName":username, "EncryChatRoomId":group_username} + post_list.append(temp) + list_count = len(username_list) + else : + if username and re.search('@' , username): + temp = {"UserName":username, "EncryChatRoomId":group_username} + post_list.append(temp) + list_count = 1 + else : + self.logger.error('没有查到该群组的成员') + return (False, '没有查到该群组的成员') + + data = { + 'BaseRequest' : self.base_request, + 'List' : post_list, + 'Count' : list_count, + } + + open_url = Request_Url(url, data=json.dumps(data) , **self.web_request_base_dict) + self.web_request_base_dict = self.session_info_dict['web_request_base_dict'] = open_url.return_web_request_base_dict() + url_req = open_url.return_context() + web_dict = json.loads(url_req.content.decode('utf-8', 'replace')) + contact_list = web_dict['ContactList'] + + group_contact_dict = {} + for contact in contact_list : + group_contact_dict[username] = {'UserName':username , 'Alias' : contact['Alias'], 'NickName' : contact['NickName'], 'Sex' : contact['Sex']} + + # 更新好友列表 + self._update_friend(group_contact_dict[username]) + + return (True, group_contact_dict) + + + def _update_myself(self): + + ''' + 通过群获取登陆微信号的信息 + ''' + + myself = self.session_info_dict['myself'] + my_user = myself['UserName'] + my_alias = myself['Alias'] + my_nick = myself['NickName'] + + if not my_alias or not my_nick : + try : + group_username = self.groupuser_list[0] + except : + for contact in self.firstpage_contactlist : + if re.search('@@' , contact['UserName']) : + group_username = contact.get('UserName', '') + break + else : + group_username = '' + + if not isinstance(group_username, str) : + group_username = '' + + if group_username and re.search('@@' , group_username) : + result = self.get_group_contact(group_username, username=my_user) + if result[0] : + group_contact_dict = result[1].get(my_user, {}) + else : + group_contact_dict = {} + + if group_contact_dict: + self.logger.info(group_contact_dict) + self.session_info_dict['myself']['NickName'] = group_contact_dict['NickName'] + self.session_info_dict['myself']['Alias'] = group_contact_dict['Alias'] + self.session_info_dict['myself']['UserName'] = my_user + # return (True,self.session_info_dict['myself']) + + + def _update_friend(self, friend_dict): + + ''' + 向好友列表中更新单个好友信息 + ''' + + user = friend_dict['UserName'] + if user in self.friend_list['UserName']: + user_index = self.friend_list['UserName'].index(user) + self.friend_list['Alias'][user_index] = friend_dict['Alias'] + self.friend_list['NickName'][user_index] = friend_dict['NickName'] + self.friend_list['Sex'][user_index] = friend_dict['Sex'] + try : + self.friend_list['RemarkName'][user_index] = friend_dict['RemarkName'] + except : + self.friend_list['RemarkName'][user_index] = '' + else : + for field in self.friendlist_field_list: + try : + value = friend_dict[field] + except : + value = '' + self.friend_list[field].append(value) + + self.session_info_dict['friend_list'] = self.friend_list diff --git a/library/wechat/login.py b/library/connecter/wechat/login.py similarity index 82% rename from library/wechat/login.py rename to library/connecter/wechat/login.py index c3f1008..584db24 100644 --- a/library/wechat/login.py +++ b/library/connecter/wechat/login.py @@ -1,29 +1,16 @@ import json, time, re , random , xml.dom.minidom +from library.connecter.visit_url.cookie import Request_Url +from library.connecter.wechat import Base -from library.config import wechat -from library.visit_url.request.cookie import Request_Url - - -class Login(): - def __init__(self , session_info_dict): - self.field_list = wechat.friendlist_field_list - - self.session_info_dict = session_info_dict - self.login_info = self.session_info_dict['login_info'] - self.redirect_uri = self.session_info_dict['redirect_uri'] - self.web_request_base_dict = self.session_info_dict['web_request_base_dict'] - - if not self.login_info : - self.login_info = {} - - +class Login(Base): def init_login(self): + ''' 扫码、点击确认之后的第一步 ''' - if (self.redirect_uri == '' or not self.redirect_uri) and (self.login_info == {} or not self.login_info): - self.session_info_dict['status'] = 100 - return self.session_info_dict + + if not self.redirect_uri and not self.login_info: + return (False, '请先执行扫码和确认登陆等环节') open_url = Request_Url(self.redirect_uri, allow_redirects=False, **self.web_request_base_dict) self.web_request_base_dict = self.session_info_dict['web_request_base_dict'] = open_url.return_web_request_base_dict() @@ -42,7 +29,12 @@ def init_login(self): elif node.nodeName == 'wxsid': self.login_info['wxsid'] = self.login_info['BaseRequest']['Sid'] = node.childNodes[0].data elif node.nodeName == 'wxuin': - self.login_info['wxuin'] = self.login_info['BaseRequest']['Uin'] = node.childNodes[0].data + uin = node.childNodes[0].data + try : + uin = int(uin) + except : + pass + self.login_info['wxuin'] = self.login_info['BaseRequest']['Uin'] = uin elif node.nodeName == 'pass_ticket': self.login_info['pass_ticket'] = self.login_info['BaseRequest']['DeviceID'] = node.childNodes[0].data elif node.nodeName == 'ret': @@ -56,30 +48,33 @@ def init_login(self): self.login_info['isgrayscale'] = node.childNodes[0].data if self.login_info['BaseRequest'] == {} : - self.status = 500 - self.session_info_dict['status'] = self.status + self.session_info_dict['status'] = self.status = 500 self.session_info_dict['login_info'] = self.login_info ''' if self.login_info['ret'] == '1203' : - print(" 你的微信可能被封,请更换微信登陆或者过几小时再试") + print("你的微信可能被封,请更换微信登陆或者过几小时再试") ''' - return self.session_info_dict + return (True, self.session_info_dict) else : - self.session_info_dict['status'] = 221 + self.session_info_dict['status'] = self.status = 221 self.session_info_dict['login_info'] = self.login_info - return self.session_info_dict + return (True, self.session_info_dict) def check_login(self): + ''' 获得微信号登陆信息,可检测是否保持登陆成功 + ''' + ''' self.base_url = self.login_info['url'] self.base_request = self.login_info['BaseRequest'] self.pass_ticket = self.login_info['pass_ticket'] self.skey = self.login_info['skey'] + ''' - url = '%s/webwxinit?r=%s&pass_ticket=%s&skey=%s' % (self.base_url , ~int(time.time()), self.pass_ticket, self.skey) + url = '%s/webwxinit?r=%s&pass_ticket=%s&skey=%s' % (self.mmwebwx_url , ~int(time.time()), self.pass_ticket, self.skey) data = { 'BaseRequest': self.base_request } data = json.dumps(data) @@ -99,14 +94,14 @@ def check_login(self): status = 401 if status >= 300 : - self.session_info_dict['status'] = status - return self.session_info_dict + self.session_info_dict['status'] = self.status = status + return (True, self.session_info_dict) self.myself = {} for key , value in web_dict.items() : if key == 'User' : # 微信号信息 - for field in self.field_list: + for field in self.friendlist_field_list: try : self.myself[field] = value[field] except : @@ -134,7 +129,7 @@ def check_login(self): firstpage_contactlist = [] for contact in web_dict['ContactList'] : contact_list = {} - for field in self.field_list: + for field in self.friendlist_field_list: contact_list[field] = contact[field] firstpage_contactlist.append(contact_list) self.session_info_dict['firstpage_contactlist'] = firstpage_contactlist @@ -143,11 +138,20 @@ def check_login(self): self.session_info_dict['login_info'] = self.login_info self.session_info_dict['status'] = status + ''' groupuser_list = self.session_info_dict['groupuser_list'] frienduser_list = self.session_info_dict['frienduser_list'] - if (frienduser_list == [] or not frienduser_list) and (groupuser_list == [] or not groupuser_list) : + + for frienduser in firstpage_contactlist : + username = frienduser.get('UserName', '') + if re.search('@@', username) : + groupuser_list.append(frienduser) + + if not frienduser_list and not groupuser_list : self.webwxsync() - return self.session_info_dict + ''' + + return (True, self.session_info_dict) def status_notify(self): @@ -155,7 +159,7 @@ def status_notify(self): 用于告知微信手机端登录状态 ''' self.myself = self.session_info_dict['myself'] - url = '%s/webwxstatusnotify?lang=zh_CN&pass_ticket=%s' % (self.base_url, self.pass_ticket) + url = '%s/webwxstatusnotify?lang=zh_CN&pass_ticket=%s' % (self.mmwebwx_url, self.pass_ticket) data = { 'BaseRequest': self.base_request, "Code":3, @@ -180,7 +184,6 @@ def webwxsync(self): self.sid = self.login_info['wxsid'] url = '%s/webwxsync?sid=%s&skey=%s' % (self.base_url , self.sid, self.skey) - data = { 'BaseRequest': self.base_request, 'SyncKey' : self.login_info['SyncKey'] , @@ -193,6 +196,8 @@ def webwxsync(self): web_dict = url_req.content.decode('utf-8', 'replace') web_dict = json.loads(web_dict) + self.logger.info(web_dict) + try : frienduser = web_dict['AddMsgList'][0]['StatusNotifyUserName'] # 注意:不是每次执行会出现这个结果的,大概1%的概率 @@ -207,4 +212,4 @@ def webwxsync(self): self.session_info_dict['groupuser_list'] = groupuser_list self.session_info_dict['frienduser_list'] = frienduser_list - return self.session_info_dict + return (True, self.session_info_dict) diff --git a/library/connecter/wechat/logout.py b/library/connecter/wechat/logout.py new file mode 100644 index 0000000..3ff16f7 --- /dev/null +++ b/library/connecter/wechat/logout.py @@ -0,0 +1,19 @@ +import json + +from library.connecter.visit_url.cookie import Request_Url +from library.connecter.wechat import Base + + +class Logout(Base): + def logout(self): + ''' + 退出登录 + ''' + url = '%s/webwxlogout?redirect=1&type=0&skey=%s&sid=%s&uin=%s' % (self.mmwebwx_url, self.skey, self.sid , self.uin) + data = { + 'sid' : self.sid, + 'uin' : self.uin, + } + data = json.dumps(data) + open_url = Request_Url(url, data=data , **self.web_request_base_dict) + open_url.return_context() diff --git a/library/wechat/ready.py b/library/connecter/wechat/ready.py similarity index 56% rename from library/wechat/ready.py rename to library/connecter/wechat/ready.py index 62ce26d..645923d 100644 --- a/library/wechat/ready.py +++ b/library/connecter/wechat/ready.py @@ -1,76 +1,40 @@ -import os -import time, sys, re +import time, re -from library.config import wechat -from library.visit_url.request.cookie import Request_Url -from lykchat.settings import BASE_DIR +from library.connecter.visit_url.cookie import Request_Url +from library.connecter.wechat import Base +from library.utils.path import make_dir - -class Ready(): +class Ready(Base): + ''' 登陆准备工作 通过二维码,扫描、确认登陆等检测 ''' - def __init__(self , session_info_dict={}): - self.os_type = wechat.os_type - self.base_url = wechat.base_url - self.qr_dir = wechat.qr_dir - self.appid = wechat.appid - - self.session_info_dict = session_info_dict - self.uuid = self.session_info_dict['uuid'] - self.status = self.session_info_dict['status'] - self.web_request_base_dict = self.session_info_dict['web_request_base_dict'] - - if (self.uuid == '' or not self.uuid) or (not self.web_request_base_dict or self.web_request_base_dict == {}): - web_request_base_dict = {} - open_url = Request_Url(self.base_url, **web_request_base_dict) - self.web_request_base_dict = open_url.return_web_request_base_dict() - # 初始化self.web_request_base_dict,如果uuid和web_request_base_dict不为空说明已经初始化 - - if self.uuid == '' or not self.uuid : - self.uuid = self._get_qruuid() - self.status = 100 - else : - self.status = 100 - - self.redirect_uri = False - self.enablecmdqr = 1 - - def _scan_qr(self): - ''' - 扫描二维码 - ''' - for count in range(10) : - qrstorage = self.get_qr() - if qrstorage: - break - elif count == 9: - sys.exit() - - def check_status(self): + ''' 检测当前状态 - 关于最初status值为: - 文本界面-1 - web界面100 ''' - status = self.status - self.redirect_uri = '' + + self.uuid = self.session_info_dict.get('uuid', '') + status = self.session_info_dict.get('status', 100) + if not self.web_request_base_dict or not self.uuid: + return (False, '请先获取二维码') + count = 0 while 1 : - print(status) - if status < 0 : - self._scan_qr() - elif status < 200 or status == 201 : + if status < 200 : pass - elif status == 200 or status >= 400 : - break - else : - status = 500 + if status == 201 : + pass + elif status == 200 : + pass + elif status >= 400 : break + # else : + # status = 500 + # break if count == 10 : break @@ -82,16 +46,18 @@ def check_status(self): self.session_info_dict['status'] = status self.session_info_dict['redirect_uri'] = self.redirect_uri self.session_info_dict['web_request_base_dict'] = self.web_request_base_dict - return self.session_info_dict + return (True, self.session_info_dict) def _check_confirm(self): + ''' 判断是否微信用户在手机上是否点击确认,并返回一个状态吗,类似与http响应码 ''' + url = self.base_url + '/cgi-bin/mmwebwx-bin/login' - local_timestamp = int(time.time() * 1000) - params = 'loginicon=true&uuid=%s&tip=0&r=%s&_=%s' % (self.uuid, -int(local_timestamp / 966), local_timestamp) + local_timestamp = time.time() + params = 'loginicon=true&uuid=%s&tip=0&r=%s&_=%s' % (self.uuid, ~int(local_timestamp), local_timestamp * 1000) open_url = Request_Url(url, params=params, **self.web_request_base_dict) self.web_request_base_dict = open_url.return_web_request_base_dict() @@ -116,10 +82,12 @@ def _check_confirm(self): return 500 - def _get_qruuid(self): + def get_qruuid(self): + ''' 获取登陆时二维码uuid ''' + url = self.base_url + '/jslogin' local_timestamp = int(time.time()*1000) params = { @@ -143,31 +111,36 @@ def _get_qruuid(self): def get_qr(self): + ''' 根据uuid获取二维码 ''' - url = '%s/qrcode/%s' % (self.base_url, self.uuid) + + if not self.web_request_base_dict: + open_url = Request_Url(self.base_url, {}) + self.web_request_base_dict = open_url.return_web_request_base_dict() + # 初始化self.web_request_base_dict + + if self.uuid is None : + uuid = self.get_qruuid() + + url = '%s/qrcode/%s' % (self.base_url, uuid) try: open_url = Request_Url(url, **self.web_request_base_dict) self.web_request_base_dict = open_url.return_web_request_base_dict() url_req = open_url.return_context() except: - return False - - picdir = self.qr_dir + '/' + self.uuid + '.jpg' - - if os.path.exists(self.qr_dir) : - if not os.path.isdir(self.qr_dir) : - os.rename(self.qr_dir, self.qr_dir + '-' + str(int(time.time)) + '-lykchat-bk') - os.mkdir(self.qr_dir) - else : - os.mkdir(self.qr_dir) + return (False, '获取二维码失败') + picdir = self.qr_dir + '/' + uuid + '.jpg' + make_dir(self.qr_dir, chmods=755 , force=True , backup=True) with open(picdir, 'wb') as f: f.write(url_req.content) - self.session_info_dict['uuid'] = self.uuid + self.session_info_dict['uuid'] = uuid self.session_info_dict['status'] = 202 self.session_info_dict['web_request_base_dict'] = self.web_request_base_dict self.session_info_dict['qr_stamptime'] = int(time.time()) - self.session_info_dict['qr_url'] = picdir.replace(BASE_DIR, '') - return self.session_info_dict + self.session_info_dict['start_timestamp'] = int(time.time()) + self.session_info_dict['qr_url'] = picdir.replace(self.base_dir, '') + + return (True, self.session_info_dict) diff --git a/library/wechat/receive.py b/library/connecter/wechat/receive.py similarity index 74% rename from library/wechat/receive.py rename to library/connecter/wechat/receive.py index a364e7b..e7b1962 100644 --- a/library/wechat/receive.py +++ b/library/connecter/wechat/receive.py @@ -1,31 +1,20 @@ import json, time , re -from library.visit_url.request.cookie import Request_Url +from library.connecter.visit_url.cookie import Request_Url +from library.connecter.wechat import Base -class Receive_Msg(): +class Receive_Msg(Base): + ''' 接受和发送信息 ''' - def __init__(self, session_info_dict): - self.session_info_dict = session_info_dict - self.web_request_base_dict = self.session_info_dict['web_request_base_dict'] - self.login_info = self.session_info_dict['login_info'] - self.skey = self.login_info['skey'] - self.sid = self.login_info['wxsid'] - self.uin = self.login_info['wxuin'] - self.deviceid = self.login_info['deviceid'] - self.synckey = self.login_info['synckey'] - self.SyncKey = self.login_info['SyncKey'] - self.sync_url = self.login_info['sync_url'] - self.pass_ticket = self.login_info['pass_ticket'] - self.base_url = self.login_info['url'] - self.base_request = self.login_info['BaseRequest'] - def _check_newmsg(self): + ''' 用于获取最新接受信息数 ''' + url = '%s/synccheck' % self.sync_url local_ts = int(time.time() * 1000) @@ -67,8 +56,7 @@ def receive(self): msg_no = self._check_newmsg() msg_no = str(msg_no) if msg_no == '0' : - print('没有新的消息') - return [] + return (True, []) url = '%s/webwxsync?sid=%s&skey=%s&pass_ticket=%s' % (self.base_url, self.sid, self.skey, self.pass_ticket) data = { @@ -94,4 +82,4 @@ def receive(self): self.login_info['synckey'] = self.login_info['synckey'] + '|' + temp self.message_list = newmessage_dict['AddMsgList'] - return self.message_list + return (True, self.message_list) diff --git a/library/connecter/wechat/send.py b/library/connecter/wechat/send.py new file mode 100644 index 0000000..b40ee5b --- /dev/null +++ b/library/connecter/wechat/send.py @@ -0,0 +1,309 @@ +import json, re, time, os +import mimetypes +from requests_toolbelt.multipart.encoder import MultipartEncoder + +from library.connecter.visit_url.cookie import Request_Url +from library.connecter.wechat import Base +from library.utils.file import get_filetype +from library.utils.get_md5 import get_file_md5 +from library.utils.type_conv import random_str + +from .friend import Get_Friend + + +class Send_Msg(Base): + + ''' + 接受和发送信息 + ''' + + def send(self, content, filename='', tousername='filehelper' , post_field='UserName'): + + ''' + 发送信息,返回类型为字典 + ''' + + get_friend = Get_Friend(self.session_info_dict) + result = get_friend.get_singlefriend_dict(tousername, post_field=post_field) + if result[0] : + friend_dict = result[1] + else : + self.logger.error('找到好友时出错,' + result[1]) + return {'Msg': '找到好友时出错,' + result[1], 'Code':-1102, 'ErrMsg':'找到好友时出错', 'friend':''} + + tousername = friend_dict.get('UserName', '') + self.nickname = friend_dict.get('NickName', '') + + if not re.search('@', tousername) and tousername != 'filehelper': + self.logger.warn('找到好友时出错,没有找到指定好友') + return {'Msg': '找到好友时出错,没有找到指定好友', 'Code':-1102, 'ErrMsg':'没有找到指定好友', 'friend':''} + + if filename : + result = self._send_media(filename, tousername, content) + else : + result = self._send_text(tousername, content) + + return result + + + def _send_media(self, filename, tousername, content): + file_url = self.login_info['file_url'] + url = file_url + '/webwxuploadmedia?f=json' + + result = get_filetype(filename) + self.logger.info(result) + if result[0] : + mime_type = result[2] + media_type = re.split(r'/' , mime_type)[0] or 'application' + name = 'lykchat.' + filename.split('.')[-1] + else : + mime_type = mimetypes.guess_type(filename)[0] or 'application/octet-stream' # MIME格式,注意是根据文件后缀名来确认的 + media_type = re.split(r'/' , mime_type)[0] or 'application' + name = 'lykchat' + # 修改name是用来解决中文文件名的情况 + + # 微信识别的文档格式 + if media_type == 'image' : + media_type = 'pic' + elif media_type == 'audio' or media_type == 'video' : + media_type = 'video' + else : + media_type = 'doc' + + # orig_name = os.path.basename(filename) # 文件名 + modts = os.path.getmtime(filename) # 文件修改日期 + modstr = time.localtime(modts) + lastModifieDate = time.strftime('%a %b %d %Y %H:%M:%S GMT+0800 (CST)', modstr) + file_content = open(filename, 'rb') + file_size = os.path.getsize(filename) # 文件大小 + chunksize = 524288 # 每个分块大小 + chunks = int((file_size - 1) / chunksize) + 1 + webwx_data_ticket = self.web_request_base_dict['cookies']['webwx_data_ticket'] + + if file_size == 0 : + msg = '文件为0字节,无法上传到微信失败' + return {'Msg': msg, 'Code':-1009, 'ErrMsg': msg, 'friend':self.nickname} + + uploadmediarequest_dict = { + 'UploadType':2, + "BaseRequest": self.base_request, + "ClientMediaId": int(time.time() * 1000), + "TotalLen": file_size, + "StartPos": 0, + "DataLen": file_size, + "MediaType": 4, + 'FromUserName':self.myself['UserName'], + 'ToUserName':tousername, + 'FileMd5':get_file_md5(filename), + } + + uploadmediarequest = json.dumps(uploadmediarequest_dict, ensure_ascii=False).encode('utf8') + + for chunk in range(chunks): + ff = file_content.read(chunksize) + + field_dict = { + 'id': 'WU_FILE_0', + 'name': name, + 'type': mime_type, + 'lastModifiedDate': lastModifieDate, + 'size':str(file_size), + 'chunks':str(chunks), + 'chunk':str(chunk), + 'mediatype': media_type, + 'uploadmediarequest': uploadmediarequest, + 'webwx_data_ticket': webwx_data_ticket, + 'pass_ticket':self.pass_ticket, + 'filename': (name , ff, mime_type) + } + boundarys = '------WebKitFormBoundary' + random_str(16) + # boundarys='---------------------------' + str(random.randint(1e28, 1e29 - 1)) + multipart_encoder = MultipartEncoder( + fields=field_dict, + boundary=boundarys + ) + self.web_request_base_dict['headers']['Origin-Type'] = self.base_url + self.web_request_base_dict['headers']['Content-Type'] = multipart_encoder.content_type + + open_url = Request_Url(url, files=multipart_encoder, **self.web_request_base_dict) + self.web_request_base_dict = open_url.return_web_request_base_dict() + try : + url_req = open_url.return_context() + web_reselt_dict = json.loads(url_req.text) + if web_reselt_dict['BaseResponse']['Ret'] != 0 : + msg = '文件上传到微信失败,被微信拒绝' + self.logger.warn(msg) + return {'Msg': msg, 'Code':2101, 'ErrMsg': web_reselt_dict, 'friend':self.nickname} + except Exception as e : + msg = '文件上传到微信失败,微信返回异常,' + str(e) + self.logger.warn(msg) + return {'Msg': msg, 'Code':2100, 'ErrMsg': e, 'friend':self.nickname} + + mediaid = web_reselt_dict['MediaId'] + if mediaid : + self.msgid = int(time.time() * 1000 * 1000 * 10) + try : + if media_type == 'pic' : + result = self._send_img(mediaid, tousername, content) + elif media_type == 'video': + result = self._send_video(mediaid, tousername, content) + else : + result = self._send_file(mediaid, name, file_size, tousername, content) + + return result + except Exception as e: + msg = '文件发送失败,执行时代码出现异常,' + str(e) + self.logger.error(msg) + return {'Msg': msg, 'Code':-1009, 'ErrMsg': msg, 'friend':self.nickname} + else : + msg = '文件上传到微信失败,被微信拒绝' + self.logger.warn(msg) + return {'Msg':msg, 'Code':-1008, 'ErrMsg': web_reselt_dict, 'friend':self.nickname} + + + def _send_img(self, mediaid, tousername, content): + + ''' + 发送图片 + ''' + + # url = self.mmwebwx_url + '/webwxsendmsgimg?fun=async&f=json&lang=zh_CN' + url = self.mmwebwx_url + '/webwxsendmsgimg?fun=async&f=json&lang=en_US' + data = { + 'BaseRequest':self.base_request, + 'Msg':{ + 'Type':3, + 'MediaId' :mediaid, + 'Content':content, + "FromUserName":self.myself['UserName'], + "ToUserName":tousername, + "LocalID":self.msgid, + "ClientMsgId":self.msgid + }, + "Scene":0 + } + data = json.dumps(data, ensure_ascii=False).encode('utf8') + open_url = Request_Url(url, data=data , **self.web_request_base_dict) + result_dict = self._handle_result(open_url) + return result_dict + + + def _send_file(self, mediaid, name, file_size, tousername, content): + + ''' + 发送普通文件 + ''' + + url = self.mmwebwx_url + '/webwxsendappmsg?fun=async&f=json&pass_ticket=' + self.pass_ticket + fileend = re.split(r'.', name)[-1] # 后缀名 + data = { + 'BaseRequest': self.base_request, + 'Msg': { + 'Type': 6, + 'Content': "" + name + "6" + content + "" + str(file_size) + "" + mediaid + "" + fileend + "", + 'FromUserName': self.myself['UserName'], + 'ToUserName': tousername, + 'LocalID': self.msgid, + 'ClientMsgId': self.msgid, + }, + 'Scene': 0, + } + data = json.dumps(data, ensure_ascii=False).encode('utf8') + open_url = Request_Url(url, data=data , **self.web_request_base_dict) + result_dict = self._handle_result(open_url) + return result_dict + + + def _send_video(self, mediaid, tousername, content): + + ''' + 发送视频文件 + ''' + + # url = self.mmwebwx_url + '/webwxsendvideomsg?fun=async&f=json&lang=zh_CN' + url = self.mmwebwx_url + '/webwxsendvideomsg?fun=async&f=json&lang=en_US' + data = { + 'BaseRequest':self.base_request, + 'Msg':{ + 'Type':43, + 'MediaId' :mediaid, + 'Content':content, + "FromUserName":self.myself['UserName'], + "ToUserName":tousername, + "LocalID":self.msgid, + "ClientMsgId":self.msgid + }, + "Scene":0 + } + self.login_info['msgid'] += 1 + data = json.dumps(data, ensure_ascii=False).encode('utf8') + open_url = Request_Url(url, data=data , **self.web_request_base_dict) + result_dict = self._handle_result(open_url) + return result_dict + + + def _send_text(self, tousername, content): + + ''' + 发送文字 + ''' + + url = '%s/webwxsendmsg' % self.mmwebwx_url + self.msgid = int(time.time() * 1000 * 1000 * 10) + data = { + 'BaseRequest': self.base_request, + 'Msg': { + 'Type': 'Test Message', + 'Content': content, + 'FromUserName': self.myself['UserName'], + 'ToUserName': tousername, + 'LocalID': self.msgid, + 'ClientMsgId': self.msgid, + }, + 'Scene' : 0 + } + data = json.dumps(data, ensure_ascii=False).encode('utf8') + open_url = Request_Url(url, data=data , **self.web_request_base_dict) + result_dict = self._handle_result(open_url) + return result_dict + + + def _handle_result(self, open_url): + + ''' + 返回发送信息结果,返回类型为字典 + ''' + + try : + self.web_request_base_dict = open_url.return_web_request_base_dict() + send_result = open_url.return_context() + except Exception as e : + msg = '微信端返回异常' + self.logger.error(msg) + return {'Msg': msg + ',' + str(e), 'Code':2000, 'ErrMsg': msg + ',' + str(e), 'friend':self.nickname} + + value_dict = {} + if send_result: + try: + value_dict = send_result.json() + base_response = value_dict['BaseResponse'] + except Exception as e: + msg = '微信端返回异常' + self.logger.error(msg) + return {'Msg': msg + ',' + str(e), 'Code':2000, 'ErrMsg': msg + ',' + str(e), 'friend':self.nickname} + else : + msg = '微信端返回异常' + self.logger.error(msg) + return {'Msg': msg + ',' + str(e), 'Code':2000, 'ErrMsg': msg + ',' + str(e), 'friend':self.nickname} + + result_code = base_response.get('Ret' , -1006) + try : + err_msg = self.sendresult_translation_dict[self.language][result_code] + except : + err_msg = '未知错误' + translation_value_dict = {'Msg' : err_msg , 'Code' : result_code, 'ErrMsg' :value_dict, 'friend':self.nickname} + + if result_code == 1101 : + translation_value_dict['ResCode'] = -1 + + return translation_value_dict diff --git a/library/cron/checklogin.py b/library/cron/checklogin.py deleted file mode 100644 index 68dea12..0000000 --- a/library/cron/checklogin.py +++ /dev/null @@ -1,28 +0,0 @@ -import json , os, django - -from library.config.wechat import url_frond -from library.config.wechat import user_mess_dict -from library.keepalive.wechat.logininfo import Manage_Logininfo -from library.visit_url.request.cookie import Request_Url - - -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lykchat.settings") -django.setup() - -def check_login() : - op_info = Manage_Logininfo() - all_session_dict = op_info.get_history_all() - - for username in all_session_dict : - password = user_mess_dict[username]['interface_pwd'] - data = { - 'username':username, - 'password':password - } - - data = json.dumps(data) - url = url_frond + 'check_login?username=' + username + '&pwd=' + password - - open_url = Request_Url(url) - url_req = open_url.return_context() - print(url_req.text) diff --git a/library/file/upload.py b/library/file/upload.py deleted file mode 100644 index 8358353..0000000 --- a/library/file/upload.py +++ /dev/null @@ -1,49 +0,0 @@ -import os, time -from lykchat.settings import BASE_DIR - -def upload_file(file, filename='', username=''): - timestr = time.strftime('%Y%m%d' , time.localtime()) - timestr = str(timestr) - logfile = os.path.join(BASE_DIR, 'file/upload/index.txt') - - upload_dir = os.path.join(BASE_DIR, 'file/upload/' + timestr + '/') - if not os.path.exists(upload_dir): - try : - os.mkdir(upload_dir) - except : - os.makedirs(upload_dir) - - ''' - if filename == '' or not filename : - secstr = time.strftime('%H%M%S' , time.localtime()) - secstr = str(secstr) - randomstr = random.randint(1000, 9999) - randomstr = str(randomstr) - filename = timestr + '-' + secstr + randomstr - else : - filename = upload_dir + str(filename) - ''' - - datetimestr = time.strftime('%Y-%m-%d %H:%M:%S' , time.localtime()) - datetimestr = str(datetimestr) - log = str(username) + ' ' + datetimestr + ' ' + filename + '\n' - - filename = upload_dir + str(filename) - secstr = time.strftime('%H%M%S' , time.localtime()) - secstr = str(secstr) - if os.path.exists(filename): - os.rename(filename , filename + '-' + timestr + '-' + secstr) - - - with open(filename, 'wb+') as dest: - for chunk in file.chunks(): - dest.write(chunk) - - # os.system('chmod 444 ' + filename) - open(logfile, 'a').write(log) - return filename - - return False - - - diff --git a/library/frontend/__init__.py b/library/frontend/__init__.py new file mode 100644 index 0000000..41929c4 --- /dev/null +++ b/library/frontend/__init__.py @@ -0,0 +1,142 @@ +import logging + +from library.config.frontend import adminuser +from library.security.password import Manager_Password +from library.storage.database.mongo import Op_Mongo +from library.storage.database.redis_api import Op_Redis +from library.utils.time_conv import timestamp2datetime +from library.utils.type_conv import str2dict + + +class Base(): + def __init__(self, mongoclient=None, redisclient=None): + + ''' + 这是用户管理部分的MVC中的C + ''' + + self.logger = logging.getLogger("default") + self.userinfo_mongocollect = 'user.info' + self.userinfo_rediskey = 'lykchat:userinfo' + if mongoclient is None : + self.mongoclient = Op_Mongo() + self.logger.warn('无法继承,需要初始化mongodb连接') + else : + self.mongoclient = mongoclient + + if redisclient is None : + self.redisclient = Op_Redis() + self.logger.warn('无法继承,需要初始化redis连接') + else : + self.redisclient = redisclient + + self.password_api = Manager_Password() + self.expiretime = 60 * 60 * 24 + self.rediskey_prefix = 'lykchat:' + + + def get_userinfo(self, force=False, username=None): + + ''' + 获取userinfo数据 + ''' + + if force : + self.logger.warn('强制删除用户信息缓存') + self.redisclient.delete(self.userinfo_rediskey) + + result = self.redisclient.get(self.userinfo_rediskey, fmt='obj') + if result[0] and (result[1] is not None or result[1]) : + userinfo = result[1] + else : + result = self.mongoclient.find(self.userinfo_mongocollect) + if result[0] : + userinfo = result[1] + + set_dict = { + 'name' : self.userinfo_rediskey, + 'value' : userinfo, + 'ex':self.expiretime + } + self.redisclient.set(set_dict, fmt='obj') + else : + userinfo = {} + + if username is None : + return userinfo + else : + try : + for u_dict in userinfo : + if username == u_dict['username'] : + us = u_dict + else : + continue + except : + us = {} + + try : + return us + except : + return {} + + + def get_data(self, username, redis_key, mongo_collect, force=False, mongoshare=True): + + ''' + 获取用户数据 + :parm + username:用户名 + redis_key:redis缓存key名 + mongo_collect:mongo的集合名 + force:强制刷新 + ''' + + if force: + self.logger.warn('强制删除指定缓存') + self.redisclient.delete(redis_key) + + result = self.redisclient.get(redis_key, fmt='obj') + if not result[0] or (result[0] and not result[1]) : + if mongoshare : + result = self.mongoclient.find(mongo_collect, condition_dict={'username' : username}) + else : + result = self.mongoclient.find(mongo_collect) + + if result[0] : + data_dict = result[1] + self.write_cache(redis_key, data_dict) + else : + self.logger.error('从数据库中查询数据失败,原因:' + result[1]) + return result + else : + data_dict = result[1] + + try : + del data_dict['username'] + except : + pass + + return (True, data_dict) + + + def write_cache(self, redis_key, data, expire=60 * 60, ftm='obj'): + try : + self.logger.warn('强制删除缓存') + self.redisclient.delete(redis_key) + except : + pass + + set_dict = { + 'name' : redis_key, + 'value' : data, + 'ex':expire + } + + result = self.redisclient.set(set_dict, fmt=ftm) + if result[0] : + content = '写缓存成功' + # self.logger.info(content) + return (True, content) + else : + self.logger.info('写缓存失败,原因:' + result[1]) + return (False, '写缓存失败,' + result[1]) diff --git a/library/keepalive/__init__.py b/library/frontend/sysadmin/__init__.py similarity index 100% rename from library/keepalive/__init__.py rename to library/frontend/sysadmin/__init__.py diff --git a/library/frontend/sysadmin/uri.py b/library/frontend/sysadmin/uri.py new file mode 100644 index 0000000..1b7101b --- /dev/null +++ b/library/frontend/sysadmin/uri.py @@ -0,0 +1,240 @@ +import re + +from library.frontend import Base +from library.utils.type_conv import str2list + + +class Manager_Uri(Base): + def __init__(self, mongoclient=None, redisclient=None): + self.uridict = { + '/':{'name':'首页', 'nav':False, 'referer' : True, 'level':0, 'parent':'/'}, + '/login.html':{'name':'登陆', 'nav':False, 'referer' : False, 'level':1, 'parent':'/'}, + '/logout.html':{'name':'退出', 'nav':False, 'referer' : False, 'level':1, 'parent':'/'}, + + '/user/':{'name':'用户管理', 'nav':True, 'referer' : True, 'level':1, 'parent':'/'}, + '/user/create_admin':{'name':'创建管理员', 'nav':False, 'referer' : True, 'level':2, 'parent':'/user/'}, + '/user/detail':{'name':'用户信息', 'nav':False, 'referer' : True, 'level':2, 'parent':'/user/'}, + '/user/list':{'name':'用户列表', 'nav':False, 'referer' : True, 'level':2, 'parent':'user/'}, + '/user/add':{'name':'新增用户', 'nav':False, 'referer' : True, 'level':2, 'parent':'/user/'}, + '/user/edit':{'name':'编辑用户', 'nav':False, 'referer' : True, 'level':2, 'parent':'/user/'}, + '/user/chgpwd':{'name':'修改用户登陆密码', 'nav':False, 'referer' : True, 'level':2, 'parent':'/user/'}, + '/user/chgpvltwd':{'name':'修改用户机密密码 ', 'nav':False, 'referer' : True, 'level':2, 'parent':'/user/'}, + '/user/del':{'name':'删除用户', 'nav':False, 'referer' : False, 'level':2, 'parent':'/user/'}, + '/user/disable':{'name':'禁用用户', 'nav':False, 'referer' : False, 'level':2, 'parent':'/user/'}, + '/user/enable':{'name':'启用用户', 'nav':False, 'referer' : False, 'level':2, 'parent':'/user/'}, + + '/wechat/':{'name':'微信管理', 'nav':True, 'referer' : True, 'level':1, 'parent':'/'}, + '/wechat/list':{'name':'微信列表', 'nav':False, 'referer' : True, 'level':2, 'parent':'wechat/'}, + '/wechat/detail':{'name':'微信登陆信息详情', 'nav':False, 'referer' : True, 'level':2, 'parent':'wechat/'}, + '/wechat/logout':{'name':'微信登出', 'nav':False, 'referer' : False, 'level':2, 'parent':'wechat/'}, + '/wechat/check':{'name':'微信登陆状态检查', 'nav':False, 'referer' : False, 'level':2, 'parent':'wechat/'}, + '/wechat/sendmsg':{'name':'微信发送信息', 'nav':False, 'referer' : False, 'level':2, 'parent':'wechat/'}, + + + '/logging/':{'name':'查看日志', 'nav':True, 'referer' : True, 'level':1, 'parent':'/'}, + } + + super(Manager_Uri, self).__init__(mongoclient=mongoclient, redisclient=redisclient) + + + def get_nav(self, username, force=False): + + ''' + 获取左侧栏信息 + ''' + + redis_key = 'lykops:' + username + ':uri:nav' + if force: + self.logger.warn('强制删除缓存') + self.redisclient.delete(redis_key) + else : + result = self.redisclient.get(redis_key) + if not result[0] or (result[1] is None or not result[1]) : + nav_str = result[1] + return nav_str + + nav_str = self.gen_nav(username) + set_dict = { + 'name' : redis_key, + 'value' : nav_str, + 'ex':self.expiretime + } + self.redisclient.set(set_dict, fmt='obj') + return nav_str + + + def gen_nav(self, username): + + ''' + 生成左侧栏信息,注意:目前只支持两级 + ''' + + nav_dict = {} + for uri, value in self.uridict.items() : + if value['nav'] : + nav_dict[uri] = value + + uri_dict = {} + for key, value in nav_dict.items() : + level = value['level'] + if level == 1 : + if key not in uri_dict : + uri_dict[key] = {} + + for childkey, childvalue in nav_dict.items() : + if childvalue['parent'] == key: + uri_dict[key][childkey] = {} + + for key, value in nav_dict.items() : + level = value['level'] + if level == 2 : + parent = value['parent'] + if key not in uri_dict[parent] : + uri_dict[parent][key] = {} + + for childkey, childvalue in nav_dict.items() : + if childvalue['parent'] == key: + uri_dict[parent][key][childkey] = {} + + nav_str = '' + + for key,value in uri_dict.items() : + if not value : + name = self.uridict[key]['name'] + nav_str = nav_str + "