From 10b49b507ec04b7ce1c07ef1be3d525669e43c83 Mon Sep 17 00:00:00 2001 From: cKey <35512826+colinin@users.noreply.github.com> Date: Thu, 6 Aug 2020 14:01:59 +0800 Subject: [PATCH] remove useless modules --- README.en.md | 38 +- README.md | 42 +- vueJs/.env.Github.production | 15 - vueJs/vue.config.github.js | 115 - vueJvEmpty/.browserslistrc | 2 - vueJvEmpty/.editorconfig | 35 - vueJvEmpty/.env.development | 20 - vueJvEmpty/.env.staging | 6 - vueJvEmpty/.eslintignore | 4 - vueJvEmpty/.eslintrc.js | 53 - vueJvEmpty/.gitignore | 27 - vueJvEmpty/LICENSE | 21 - vueJvEmpty/README-zh.md | 243 - vueJvEmpty/README.md | 244 - vueJvEmpty/babel.config.js | 5 - vueJvEmpty/cypress.json | 3 - vueJvEmpty/jest.config.js | 3 - vueJvEmpty/package.json | 139 - vueJvEmpty/postcss.config.js | 5 - vueJvEmpty/public/favicon.ico | Bin 67646 -> 0 bytes .../img/icons/android-chrome-192x192.png | Bin 2484 -> 0 bytes .../img/icons/android-chrome-512x512.png | Bin 7168 -> 0 bytes .../icons/android-chrome-maskable-192x192.png | Bin 11315 -> 0 bytes .../icons/android-chrome-maskable-512x512.png | Bin 35153 -> 0 bytes .../img/icons/apple-touch-icon-120x120.png | Bin 1536 -> 0 bytes .../img/icons/apple-touch-icon-152x152.png | Bin 1921 -> 0 bytes .../img/icons/apple-touch-icon-180x180.png | Bin 2020 -> 0 bytes .../img/icons/apple-touch-icon-60x60.png | Bin 803 -> 0 bytes .../img/icons/apple-touch-icon-76x76.png | Bin 964 -> 0 bytes .../public/img/icons/apple-touch-icon.png | Bin 2020 -> 0 bytes vueJvEmpty/public/img/icons/favicon-16x16.png | Bin 480 -> 0 bytes vueJvEmpty/public/img/icons/favicon-32x32.png | Bin 645 -> 0 bytes .../img/icons/msapplication-icon-144x144.png | Bin 1947 -> 0 bytes .../public/img/icons/mstile-150x150.png | Bin 1786 -> 0 bytes .../public/img/icons/safari-pinned-tab.svg | 112 - vueJvEmpty/public/index.html | 17 - vueJvEmpty/public/manifest.json | 20 - vueJvEmpty/public/robots.txt | 2 - vueJvEmpty/public/tinymce/README.md | 17 - vueJvEmpty/public/tinymce/emojis.min.js | 2 - vueJvEmpty/public/tinymce/langs/es.js | 419 - vueJvEmpty/public/tinymce/langs/ja.js | 419 - vueJvEmpty/public/tinymce/langs/ko_KR.js | 419 - vueJvEmpty/public/tinymce/langs/zh_CN.js | 419 - .../tinymce/skins/content.inline.min.css | 7 - .../public/tinymce/skins/content.min.css | 7 - .../tinymce/skins/content.mobile.min.css | 7 - .../tinymce/skins/fonts/tinymce-mobile.woff | Bin 4624 -> 0 bytes vueJvEmpty/public/tinymce/skins/skin.min.css | 7 - .../public/tinymce/skins/skin.mobile.min.css | 7 - vueJvEmpty/src/App.vue | 19 - vueJvEmpty/src/api/permission.ts | 91 - vueJvEmpty/src/api/serviceBase.ts | 61 - vueJvEmpty/src/api/types.ts | 170 - vueJvEmpty/src/assets/401-images/401.gif | Bin 164227 -> 0 bytes .../src/assets/404-images/404-cloud.png | Bin 4766 -> 0 bytes vueJvEmpty/src/assets/404-images/404.png | Bin 98071 -> 0 bytes .../custom-theme/fonts/element-icons.ttf | Bin 11028 -> 0 bytes .../custom-theme/fonts/element-icons.woff | Bin 6124 -> 0 bytes vueJvEmpty/src/assets/custom-theme/index.css | 1 - .../src/components/AvatarUpload/index.vue | 78 - vueJvEmpty/src/components/BackToTop/index.vue | 111 - .../src/components/Breadcrumb/index.vue | 110 - vueJvEmpty/src/components/Charts/BarChart.vue | 136 - .../src/components/Charts/LineChart.vue | 192 - .../src/components/Charts/MixedChart.vue | 248 - .../src/components/Charts/mixins/resize.ts | 67 - .../src/components/DraggableKanban/index.vue | 83 - .../src/components/DraggableList/index.vue | 180 - .../src/components/DraggableSelect/index.vue | 65 - .../src/components/DropdownMenu/index.vue | 116 - vueJvEmpty/src/components/Dropzone/index.vue | 97 - vueJvEmpty/src/components/ErrorLog/index.vue | 105 - .../src/components/GithubCorner/index.vue | 71 - vueJvEmpty/src/components/Hamburger/index.vue | 37 - .../src/components/HeaderSearch/index.vue | 218 - .../src/components/JsonEditor/index.vue | 91 - .../src/components/LangSelect/index.vue | 69 - .../MarkdownEditor/default-options.ts | 27 - .../src/components/MarkdownEditor/index.vue | 130 - .../src/components/MaterialInput/index.vue | 381 - .../src/components/Pagination/index.vue | 78 - vueJvEmpty/src/components/PanThumb/index.vue | 124 - .../src/components/RightPanel/index.vue | 151 - .../src/components/Screenfull/index.vue | 51 - .../src/components/SizeSelect/index.vue | 68 - vueJvEmpty/src/components/Sticky/index.vue | 83 - .../src/components/TextHoverEffect/Mallki.vue | 114 - .../src/components/ThemePicker/index.vue | 158 - .../Tinymce/components/EditorImage.vue | 134 - vueJvEmpty/src/components/Tinymce/config.ts | 8 - vueJvEmpty/src/components/Tinymce/index.vue | 222 - .../src/components/UploadExcel/index.vue | 164 - .../src/components/UploadImage/index.vue | 155 - vueJvEmpty/src/directives/clipboard/index.ts | 60 - .../directives/el-draggable-dialog/index.ts | 75 - vueJvEmpty/src/directives/index.ts | 4 - vueJvEmpty/src/directives/permission/index.ts | 20 - vueJvEmpty/src/directives/waves/index.ts | 46 - vueJvEmpty/src/directives/waves/waves.css | 26 - vueJvEmpty/src/filters/index.ts | 17 - vueJvEmpty/src/icons/README.md | 13 - vueJvEmpty/src/icons/components/404.ts | 12 - vueJvEmpty/src/icons/components/back-top.ts | 12 - vueJvEmpty/src/icons/components/bug.ts | 12 - vueJvEmpty/src/icons/components/chart.ts | 12 - vueJvEmpty/src/icons/components/clipboard.ts | 12 - vueJvEmpty/src/icons/components/component.ts | 12 - vueJvEmpty/src/icons/components/dashboard.ts | 12 - .../src/icons/components/documentation.ts | 12 - vueJvEmpty/src/icons/components/drag.ts | 12 - vueJvEmpty/src/icons/components/edit.ts | 12 - vueJvEmpty/src/icons/components/education.ts | 12 - vueJvEmpty/src/icons/components/email.ts | 12 - vueJvEmpty/src/icons/components/example.ts | 12 - vueJvEmpty/src/icons/components/excel.ts | 12 - .../src/icons/components/exit-fullscreen.ts | 12 - vueJvEmpty/src/icons/components/eye-off.ts | 12 - vueJvEmpty/src/icons/components/eye-on.ts | 12 - vueJvEmpty/src/icons/components/form.ts | 12 - vueJvEmpty/src/icons/components/fullscreen.ts | 12 - vueJvEmpty/src/icons/components/guide-2.ts | 12 - vueJvEmpty/src/icons/components/guide.ts | 12 - vueJvEmpty/src/icons/components/hamburger.ts | 12 - vueJvEmpty/src/icons/components/icon.ts | 12 - vueJvEmpty/src/icons/components/index.ts | 51 - .../src/icons/components/international.ts | 12 - vueJvEmpty/src/icons/components/language.ts | 12 - vueJvEmpty/src/icons/components/like.ts | 12 - vueJvEmpty/src/icons/components/link.ts | 12 - vueJvEmpty/src/icons/components/list.ts | 12 - vueJvEmpty/src/icons/components/lock.ts | 12 - vueJvEmpty/src/icons/components/message.ts | 12 - vueJvEmpty/src/icons/components/money.ts | 12 - vueJvEmpty/src/icons/components/nested.ts | 12 - vueJvEmpty/src/icons/components/password.ts | 12 - vueJvEmpty/src/icons/components/pdf.ts | 12 - vueJvEmpty/src/icons/components/people.ts | 12 - vueJvEmpty/src/icons/components/peoples.ts | 12 - vueJvEmpty/src/icons/components/qq.ts | 12 - vueJvEmpty/src/icons/components/search.ts | 12 - vueJvEmpty/src/icons/components/shopping.ts | 12 - vueJvEmpty/src/icons/components/size.ts | 12 - vueJvEmpty/src/icons/components/skill.ts | 12 - vueJvEmpty/src/icons/components/star.ts | 12 - vueJvEmpty/src/icons/components/tab.ts | 12 - vueJvEmpty/src/icons/components/table.ts | 12 - vueJvEmpty/src/icons/components/theme.ts | 12 - vueJvEmpty/src/icons/components/tree-table.ts | 12 - vueJvEmpty/src/icons/components/tree.ts | 12 - vueJvEmpty/src/icons/components/user.ts | 12 - vueJvEmpty/src/icons/components/wechat.ts | 12 - vueJvEmpty/src/icons/components/zip.ts | 12 - vueJvEmpty/src/icons/svg/404.svg | 3 - vueJvEmpty/src/icons/svg/back-top.svg | 4 - vueJvEmpty/src/icons/svg/bug.svg | 3 - vueJvEmpty/src/icons/svg/chart.svg | 3 - vueJvEmpty/src/icons/svg/clipboard.svg | 3 - vueJvEmpty/src/icons/svg/component.svg | 3 - vueJvEmpty/src/icons/svg/dashboard.svg | 3 - vueJvEmpty/src/icons/svg/documentation.svg | 3 - vueJvEmpty/src/icons/svg/drag.svg | 3 - vueJvEmpty/src/icons/svg/edit.svg | 4 - vueJvEmpty/src/icons/svg/education.svg | 3 - vueJvEmpty/src/icons/svg/email.svg | 4 - vueJvEmpty/src/icons/svg/example.svg | 3 - vueJvEmpty/src/icons/svg/excel.svg | 4 - vueJvEmpty/src/icons/svg/exit-fullscreen.svg | 3 - vueJvEmpty/src/icons/svg/eye-off.svg | 3 - vueJvEmpty/src/icons/svg/eye-on.svg | 6 - vueJvEmpty/src/icons/svg/form.svg | 3 - vueJvEmpty/src/icons/svg/fullscreen.svg | 3 - vueJvEmpty/src/icons/svg/guide-2.svg | 3 - vueJvEmpty/src/icons/svg/guide.svg | 3 - vueJvEmpty/src/icons/svg/hamburger.svg | 3 - vueJvEmpty/src/icons/svg/icon.svg | 3 - vueJvEmpty/src/icons/svg/international.svg | 3 - vueJvEmpty/src/icons/svg/language.svg | 4 - vueJvEmpty/src/icons/svg/like.svg | 3 - vueJvEmpty/src/icons/svg/link.svg | 5 - vueJvEmpty/src/icons/svg/list.svg | 3 - vueJvEmpty/src/icons/svg/lock.svg | 3 - vueJvEmpty/src/icons/svg/message.svg | 3 - vueJvEmpty/src/icons/svg/money.svg | 3 - vueJvEmpty/src/icons/svg/nested.svg | 3 - vueJvEmpty/src/icons/svg/password.svg | 3 - vueJvEmpty/src/icons/svg/pdf.svg | 3 - vueJvEmpty/src/icons/svg/people.svg | 3 - vueJvEmpty/src/icons/svg/peoples.svg | 4 - vueJvEmpty/src/icons/svg/qq.svg | 3 - vueJvEmpty/src/icons/svg/search.svg | 3 - vueJvEmpty/src/icons/svg/shopping.svg | 3 - vueJvEmpty/src/icons/svg/size.svg | 3 - vueJvEmpty/src/icons/svg/skill.svg | 3 - vueJvEmpty/src/icons/svg/star.svg | 3 - vueJvEmpty/src/icons/svg/tab.svg | 3 - vueJvEmpty/src/icons/svg/table.svg | 4 - vueJvEmpty/src/icons/svg/theme.svg | 3 - vueJvEmpty/src/icons/svg/tree-table.svg | 3 - vueJvEmpty/src/icons/svg/tree.svg | 3 - vueJvEmpty/src/icons/svg/user.svg | 3 - vueJvEmpty/src/icons/svg/wechat.svg | 4 - vueJvEmpty/src/icons/svg/zip.svg | 3 - vueJvEmpty/src/lang/en.ts | 175 - vueJvEmpty/src/lang/es.ts | 175 - vueJvEmpty/src/lang/index.ts | 68 - vueJvEmpty/src/lang/ja.ts | 175 - vueJvEmpty/src/lang/ko.ts | 175 - vueJvEmpty/src/lang/zh.ts | 175 - vueJvEmpty/src/layout/components/AppMain.vue | 57 - .../src/layout/components/Navbar/index.vue | 208 - .../src/layout/components/Settings/index.vue | 125 - .../layout/components/Sidebar/SidebarItem.vue | 183 - .../components/Sidebar/SidebarItemLink.vue | 30 - .../layout/components/Sidebar/SidebarLogo.vue | 98 - .../src/layout/components/Sidebar/index.vue | 130 - .../layout/components/TagsView/ScrollPane.vue | 101 - .../src/layout/components/TagsView/index.vue | 343 - vueJvEmpty/src/layout/components/index.ts | 5 - vueJvEmpty/src/layout/index.vue | 172 - vueJvEmpty/src/layout/mixin/resize.ts | 55 - vueJvEmpty/src/main.ts | 50 - vueJvEmpty/src/permission.ts | 79 - .../components/ServiceWorkerUpdatePopup.vue | 67 - vueJvEmpty/src/pwa/register-service-worker.ts | 42 - vueJvEmpty/src/pwa/service-worker.js | 13 - vueJvEmpty/src/router/index.ts | 463 - vueJvEmpty/src/router/modules/charts.ts | 44 - vueJvEmpty/src/router/modules/components.ts | 101 - vueJvEmpty/src/router/modules/nested.ts | 65 - vueJvEmpty/src/router/modules/table.ts | 41 - vueJvEmpty/src/settings.ts | 26 - vueJvEmpty/src/shims.d.ts | 24 - vueJvEmpty/src/store/index.ts | 22 - vueJvEmpty/src/store/modules/app.ts | 93 - vueJvEmpty/src/store/modules/error-log.ts | 40 - vueJvEmpty/src/store/modules/permission.ts | 56 - vueJvEmpty/src/store/modules/settings.ts | 38 - vueJvEmpty/src/store/modules/tags-view.ts | 141 - vueJvEmpty/src/store/modules/user.ts | 126 - vueJvEmpty/src/styles/_mixins.scss | 8 - vueJvEmpty/src/styles/_svgicon.scss | 31 - vueJvEmpty/src/styles/_transition.scss | 49 - vueJvEmpty/src/styles/_variables.scss | 34 - vueJvEmpty/src/styles/_variables.scss.d.ts | 9 - vueJvEmpty/src/styles/element-variables.scss | 25 - .../src/styles/element-variables.scss.d.ts | 7 - vueJvEmpty/src/styles/index.scss | 156 - vueJvEmpty/src/utils/clipboard.ts | 30 - vueJvEmpty/src/utils/cookies.ts | 20 - vueJvEmpty/src/utils/error-log.ts | 25 - vueJvEmpty/src/utils/excel.ts | 225 - vueJvEmpty/src/utils/index.ts | 92 - vueJvEmpty/src/utils/permission.ts | 15 - vueJvEmpty/src/utils/request.ts | 72 - vueJvEmpty/src/utils/scroll-to.ts | 50 - vueJvEmpty/src/utils/validate.ts | 15 - vueJvEmpty/src/utils/zip.ts | 21 - vueJvEmpty/src/views/charts/bar-chart.vue | 29 - vueJvEmpty/src/views/charts/line-chart.vue | 29 - vueJvEmpty/src/views/charts/mixed-chart.vue | 29 - vueJvEmpty/src/views/clipboard/index.vue | 56 - .../views/components-demo/avatar-upload.vue | 74 - .../src/views/components-demo/back-to-top.vue | 158 - .../src/views/components-demo/count-to.vue | 288 - .../components-demo/draggable-dialog.vue | 87 - .../components-demo/draggable-kanban.vue | 91 - .../views/components-demo/draggable-list.vue | 46 - .../components-demo/draggable-select.vue | 58 - .../src/views/components-demo/dropzone.vue | 42 - .../src/views/components-demo/json-editor.vue | 44 - .../src/views/components-demo/markdown.vue | 135 - .../src/views/components-demo/mixin.vue | 335 - .../src/views/components-demo/split-pane.vue | 82 - .../src/views/components-demo/sticky.vue | 168 - .../src/views/components-demo/tinymce.vue | 58 - .../dashboard/admin/components/BarChart.vue | 92 - .../dashboard/admin/components/BoxCard.vue | 137 - .../dashboard/admin/components/LineChart.vue | 121 - .../dashboard/admin/components/PanelGroup.vue | 250 - .../dashboard/admin/components/PieChart.vue | 69 - .../dashboard/admin/components/RadarChart.vue | 104 - .../admin/components/TodoList/Todo.vue | 92 - .../admin/components/TodoList/index.vue | 528 - .../admin/components/TransactionTable.vue | 71 - .../src/views/dashboard/admin/index.vue | 156 - .../src/views/dashboard/editor/index.vue | 94 - vueJvEmpty/src/views/dashboard/index.vue | 33 - .../views/error-log/components/ErrorTestA.vue | 16 - .../views/error-log/components/ErrorTestB.vue | 16 - vueJvEmpty/src/views/error-log/index.vue | 41 - vueJvEmpty/src/views/error-page/401.vue | 129 - vueJvEmpty/src/views/error-page/404.vue | 283 - .../example/components/ArticleDetail.vue | 387 - .../example/components/Dropdown/Comment.vue | 48 - .../example/components/Dropdown/Platform.vue | 51 - .../example/components/Dropdown/SourceUrl.vue | 50 - .../example/components/Dropdown/index.ts | 3 - .../src/views/example/components/Warning.vue | 18 - vueJvEmpty/src/views/example/create.vue | 16 - vueJvEmpty/src/views/example/edit.vue | 16 - vueJvEmpty/src/views/example/list.vue | 158 - .../excel/components/AutoWidthOption.vue | 38 - .../views/excel/components/BookTypeOption.vue | 37 - .../views/excel/components/FilenameOption.vue | 33 - vueJvEmpty/src/views/excel/export-excel.vue | 138 - vueJvEmpty/src/views/excel/merge-header.vue | 114 - vueJvEmpty/src/views/excel/select-excel.vue | 139 - vueJvEmpty/src/views/excel/upload-excel.vue | 54 - vueJvEmpty/src/views/guide/index.vue | 43 - vueJvEmpty/src/views/guide/steps.ts | 53 - vueJvEmpty/src/views/i18n-demo/index.vue | 253 - vueJvEmpty/src/views/i18n-demo/local.ts | 102 - vueJvEmpty/src/views/icons/element-icons.ts | 74 - vueJvEmpty/src/views/icons/index.vue | 112 - vueJvEmpty/src/views/icons/svg-icons.ts | 11 - vueJvEmpty/src/views/login/auth-redirect.vue | 20 - .../views/login/components/SocialSignin.vue | 87 - vueJvEmpty/src/views/login/index.vue | 343 - vueJvEmpty/src/views/nested/menu1/index.vue | 24 - .../src/views/nested/menu1/menu1-1/index.vue | 20 - .../src/views/nested/menu1/menu1-2/index.vue | 25 - .../nested/menu1/menu1-2/menu1-2-1/index.vue | 18 - .../nested/menu1/menu1-2/menu1-2-2/index.vue | 18 - .../src/views/nested/menu1/menu1-3/index.vue | 18 - vueJvEmpty/src/views/nested/menu2/index.vue | 17 - vueJvEmpty/src/views/pdf/content.ts | 58 - vueJvEmpty/src/views/pdf/download.vue | 198 - vueJvEmpty/src/views/pdf/index.vue | 24 - .../permission/components/SwitchRoles.vue | 36 - vueJvEmpty/src/views/permission/directive.vue | 168 - vueJvEmpty/src/views/permission/page.vue | 22 - vueJvEmpty/src/views/permission/role.vue | 362 - .../src/views/profile/components/Account.vue | 38 - .../src/views/profile/components/Activity.vue | 199 - .../src/views/profile/components/Timeline.vue | 49 - .../src/views/profile/components/UserCard.vue | 148 - vueJvEmpty/src/views/profile/index.vue | 107 - vueJvEmpty/src/views/redirect/index.vue | 18 - .../src/views/tab/components/TabPane.vue | 123 - vueJvEmpty/src/views/tab/index.vue | 77 - vueJvEmpty/src/views/table/complex-table.vue | 575 - .../src/views/table/draggable-table.vue | 194 - .../components/FixedHeaderTable.vue | 78 - .../components/UnfixedHeaderTable.vue | 66 - .../src/views/table/dynamic-table/index.vue | 28 - .../src/views/table/inline-edit-table.vue | 187 - vueJvEmpty/src/views/theme/index.vue | 142 - vueJvEmpty/src/views/zip/index.vue | 116 - .../tests/unit/components/Breadcrumb.spec.ts | 119 - vueJvEmpty/tests/unit/utils/parseTime.spec.ts | 43 - vueJvEmpty/tests/unit/utils/validate.spec.ts | 15 - vueJvEmpty/tsconfig.json | 41 - vueJvEmpty/yarn.lock | 13593 ---------------- 354 files changed, 47 insertions(+), 36661 deletions(-) delete mode 100644 vueJs/.env.Github.production delete mode 100644 vueJs/vue.config.github.js delete mode 100644 vueJvEmpty/.browserslistrc delete mode 100644 vueJvEmpty/.editorconfig delete mode 100644 vueJvEmpty/.env.development delete mode 100644 vueJvEmpty/.env.staging delete mode 100644 vueJvEmpty/.eslintignore delete mode 100644 vueJvEmpty/.eslintrc.js delete mode 100644 vueJvEmpty/.gitignore delete mode 100644 vueJvEmpty/LICENSE delete mode 100644 vueJvEmpty/README-zh.md delete mode 100644 vueJvEmpty/README.md delete mode 100644 vueJvEmpty/babel.config.js delete mode 100644 vueJvEmpty/cypress.json delete mode 100644 vueJvEmpty/jest.config.js delete mode 100644 vueJvEmpty/package.json delete mode 100644 vueJvEmpty/postcss.config.js delete mode 100644 vueJvEmpty/public/favicon.ico delete mode 100644 vueJvEmpty/public/img/icons/android-chrome-192x192.png delete mode 100644 vueJvEmpty/public/img/icons/android-chrome-512x512.png delete mode 100644 vueJvEmpty/public/img/icons/android-chrome-maskable-192x192.png delete mode 100644 vueJvEmpty/public/img/icons/android-chrome-maskable-512x512.png delete mode 100644 vueJvEmpty/public/img/icons/apple-touch-icon-120x120.png delete mode 100644 vueJvEmpty/public/img/icons/apple-touch-icon-152x152.png delete mode 100644 vueJvEmpty/public/img/icons/apple-touch-icon-180x180.png delete mode 100644 vueJvEmpty/public/img/icons/apple-touch-icon-60x60.png delete mode 100644 vueJvEmpty/public/img/icons/apple-touch-icon-76x76.png delete mode 100644 vueJvEmpty/public/img/icons/apple-touch-icon.png delete mode 100644 vueJvEmpty/public/img/icons/favicon-16x16.png delete mode 100644 vueJvEmpty/public/img/icons/favicon-32x32.png delete mode 100644 vueJvEmpty/public/img/icons/msapplication-icon-144x144.png delete mode 100644 vueJvEmpty/public/img/icons/mstile-150x150.png delete mode 100644 vueJvEmpty/public/img/icons/safari-pinned-tab.svg delete mode 100644 vueJvEmpty/public/index.html delete mode 100644 vueJvEmpty/public/manifest.json delete mode 100644 vueJvEmpty/public/robots.txt delete mode 100644 vueJvEmpty/public/tinymce/README.md delete mode 100644 vueJvEmpty/public/tinymce/emojis.min.js delete mode 100644 vueJvEmpty/public/tinymce/langs/es.js delete mode 100644 vueJvEmpty/public/tinymce/langs/ja.js delete mode 100644 vueJvEmpty/public/tinymce/langs/ko_KR.js delete mode 100644 vueJvEmpty/public/tinymce/langs/zh_CN.js delete mode 100644 vueJvEmpty/public/tinymce/skins/content.inline.min.css delete mode 100644 vueJvEmpty/public/tinymce/skins/content.min.css delete mode 100644 vueJvEmpty/public/tinymce/skins/content.mobile.min.css delete mode 100644 vueJvEmpty/public/tinymce/skins/fonts/tinymce-mobile.woff delete mode 100644 vueJvEmpty/public/tinymce/skins/skin.min.css delete mode 100644 vueJvEmpty/public/tinymce/skins/skin.mobile.min.css delete mode 100644 vueJvEmpty/src/App.vue delete mode 100644 vueJvEmpty/src/api/permission.ts delete mode 100644 vueJvEmpty/src/api/serviceBase.ts delete mode 100644 vueJvEmpty/src/api/types.ts delete mode 100644 vueJvEmpty/src/assets/401-images/401.gif delete mode 100644 vueJvEmpty/src/assets/404-images/404-cloud.png delete mode 100644 vueJvEmpty/src/assets/404-images/404.png delete mode 100644 vueJvEmpty/src/assets/custom-theme/fonts/element-icons.ttf delete mode 100644 vueJvEmpty/src/assets/custom-theme/fonts/element-icons.woff delete mode 100644 vueJvEmpty/src/assets/custom-theme/index.css delete mode 100644 vueJvEmpty/src/components/AvatarUpload/index.vue delete mode 100644 vueJvEmpty/src/components/BackToTop/index.vue delete mode 100644 vueJvEmpty/src/components/Breadcrumb/index.vue delete mode 100644 vueJvEmpty/src/components/Charts/BarChart.vue delete mode 100644 vueJvEmpty/src/components/Charts/LineChart.vue delete mode 100644 vueJvEmpty/src/components/Charts/MixedChart.vue delete mode 100644 vueJvEmpty/src/components/Charts/mixins/resize.ts delete mode 100644 vueJvEmpty/src/components/DraggableKanban/index.vue delete mode 100644 vueJvEmpty/src/components/DraggableList/index.vue delete mode 100644 vueJvEmpty/src/components/DraggableSelect/index.vue delete mode 100644 vueJvEmpty/src/components/DropdownMenu/index.vue delete mode 100644 vueJvEmpty/src/components/Dropzone/index.vue delete mode 100644 vueJvEmpty/src/components/ErrorLog/index.vue delete mode 100644 vueJvEmpty/src/components/GithubCorner/index.vue delete mode 100644 vueJvEmpty/src/components/Hamburger/index.vue delete mode 100644 vueJvEmpty/src/components/HeaderSearch/index.vue delete mode 100644 vueJvEmpty/src/components/JsonEditor/index.vue delete mode 100644 vueJvEmpty/src/components/LangSelect/index.vue delete mode 100644 vueJvEmpty/src/components/MarkdownEditor/default-options.ts delete mode 100644 vueJvEmpty/src/components/MarkdownEditor/index.vue delete mode 100644 vueJvEmpty/src/components/MaterialInput/index.vue delete mode 100644 vueJvEmpty/src/components/Pagination/index.vue delete mode 100644 vueJvEmpty/src/components/PanThumb/index.vue delete mode 100644 vueJvEmpty/src/components/RightPanel/index.vue delete mode 100644 vueJvEmpty/src/components/Screenfull/index.vue delete mode 100644 vueJvEmpty/src/components/SizeSelect/index.vue delete mode 100644 vueJvEmpty/src/components/Sticky/index.vue delete mode 100644 vueJvEmpty/src/components/TextHoverEffect/Mallki.vue delete mode 100644 vueJvEmpty/src/components/ThemePicker/index.vue delete mode 100644 vueJvEmpty/src/components/Tinymce/components/EditorImage.vue delete mode 100644 vueJvEmpty/src/components/Tinymce/config.ts delete mode 100644 vueJvEmpty/src/components/Tinymce/index.vue delete mode 100644 vueJvEmpty/src/components/UploadExcel/index.vue delete mode 100644 vueJvEmpty/src/components/UploadImage/index.vue delete mode 100644 vueJvEmpty/src/directives/clipboard/index.ts delete mode 100644 vueJvEmpty/src/directives/el-draggable-dialog/index.ts delete mode 100644 vueJvEmpty/src/directives/index.ts delete mode 100644 vueJvEmpty/src/directives/permission/index.ts delete mode 100644 vueJvEmpty/src/directives/waves/index.ts delete mode 100644 vueJvEmpty/src/directives/waves/waves.css delete mode 100644 vueJvEmpty/src/filters/index.ts delete mode 100644 vueJvEmpty/src/icons/README.md delete mode 100644 vueJvEmpty/src/icons/components/404.ts delete mode 100644 vueJvEmpty/src/icons/components/back-top.ts delete mode 100644 vueJvEmpty/src/icons/components/bug.ts delete mode 100644 vueJvEmpty/src/icons/components/chart.ts delete mode 100644 vueJvEmpty/src/icons/components/clipboard.ts delete mode 100644 vueJvEmpty/src/icons/components/component.ts delete mode 100644 vueJvEmpty/src/icons/components/dashboard.ts delete mode 100644 vueJvEmpty/src/icons/components/documentation.ts delete mode 100644 vueJvEmpty/src/icons/components/drag.ts delete mode 100644 vueJvEmpty/src/icons/components/edit.ts delete mode 100644 vueJvEmpty/src/icons/components/education.ts delete mode 100644 vueJvEmpty/src/icons/components/email.ts delete mode 100644 vueJvEmpty/src/icons/components/example.ts delete mode 100644 vueJvEmpty/src/icons/components/excel.ts delete mode 100644 vueJvEmpty/src/icons/components/exit-fullscreen.ts delete mode 100644 vueJvEmpty/src/icons/components/eye-off.ts delete mode 100644 vueJvEmpty/src/icons/components/eye-on.ts delete mode 100644 vueJvEmpty/src/icons/components/form.ts delete mode 100644 vueJvEmpty/src/icons/components/fullscreen.ts delete mode 100644 vueJvEmpty/src/icons/components/guide-2.ts delete mode 100644 vueJvEmpty/src/icons/components/guide.ts delete mode 100644 vueJvEmpty/src/icons/components/hamburger.ts delete mode 100644 vueJvEmpty/src/icons/components/icon.ts delete mode 100644 vueJvEmpty/src/icons/components/index.ts delete mode 100644 vueJvEmpty/src/icons/components/international.ts delete mode 100644 vueJvEmpty/src/icons/components/language.ts delete mode 100644 vueJvEmpty/src/icons/components/like.ts delete mode 100644 vueJvEmpty/src/icons/components/link.ts delete mode 100644 vueJvEmpty/src/icons/components/list.ts delete mode 100644 vueJvEmpty/src/icons/components/lock.ts delete mode 100644 vueJvEmpty/src/icons/components/message.ts delete mode 100644 vueJvEmpty/src/icons/components/money.ts delete mode 100644 vueJvEmpty/src/icons/components/nested.ts delete mode 100644 vueJvEmpty/src/icons/components/password.ts delete mode 100644 vueJvEmpty/src/icons/components/pdf.ts delete mode 100644 vueJvEmpty/src/icons/components/people.ts delete mode 100644 vueJvEmpty/src/icons/components/peoples.ts delete mode 100644 vueJvEmpty/src/icons/components/qq.ts delete mode 100644 vueJvEmpty/src/icons/components/search.ts delete mode 100644 vueJvEmpty/src/icons/components/shopping.ts delete mode 100644 vueJvEmpty/src/icons/components/size.ts delete mode 100644 vueJvEmpty/src/icons/components/skill.ts delete mode 100644 vueJvEmpty/src/icons/components/star.ts delete mode 100644 vueJvEmpty/src/icons/components/tab.ts delete mode 100644 vueJvEmpty/src/icons/components/table.ts delete mode 100644 vueJvEmpty/src/icons/components/theme.ts delete mode 100644 vueJvEmpty/src/icons/components/tree-table.ts delete mode 100644 vueJvEmpty/src/icons/components/tree.ts delete mode 100644 vueJvEmpty/src/icons/components/user.ts delete mode 100644 vueJvEmpty/src/icons/components/wechat.ts delete mode 100644 vueJvEmpty/src/icons/components/zip.ts delete mode 100644 vueJvEmpty/src/icons/svg/404.svg delete mode 100644 vueJvEmpty/src/icons/svg/back-top.svg delete mode 100644 vueJvEmpty/src/icons/svg/bug.svg delete mode 100644 vueJvEmpty/src/icons/svg/chart.svg delete mode 100644 vueJvEmpty/src/icons/svg/clipboard.svg delete mode 100644 vueJvEmpty/src/icons/svg/component.svg delete mode 100644 vueJvEmpty/src/icons/svg/dashboard.svg delete mode 100644 vueJvEmpty/src/icons/svg/documentation.svg delete mode 100644 vueJvEmpty/src/icons/svg/drag.svg delete mode 100644 vueJvEmpty/src/icons/svg/edit.svg delete mode 100644 vueJvEmpty/src/icons/svg/education.svg delete mode 100644 vueJvEmpty/src/icons/svg/email.svg delete mode 100644 vueJvEmpty/src/icons/svg/example.svg delete mode 100644 vueJvEmpty/src/icons/svg/excel.svg delete mode 100644 vueJvEmpty/src/icons/svg/exit-fullscreen.svg delete mode 100644 vueJvEmpty/src/icons/svg/eye-off.svg delete mode 100644 vueJvEmpty/src/icons/svg/eye-on.svg delete mode 100644 vueJvEmpty/src/icons/svg/form.svg delete mode 100644 vueJvEmpty/src/icons/svg/fullscreen.svg delete mode 100644 vueJvEmpty/src/icons/svg/guide-2.svg delete mode 100644 vueJvEmpty/src/icons/svg/guide.svg delete mode 100644 vueJvEmpty/src/icons/svg/hamburger.svg delete mode 100644 vueJvEmpty/src/icons/svg/icon.svg delete mode 100644 vueJvEmpty/src/icons/svg/international.svg delete mode 100644 vueJvEmpty/src/icons/svg/language.svg delete mode 100644 vueJvEmpty/src/icons/svg/like.svg delete mode 100644 vueJvEmpty/src/icons/svg/link.svg delete mode 100644 vueJvEmpty/src/icons/svg/list.svg delete mode 100644 vueJvEmpty/src/icons/svg/lock.svg delete mode 100644 vueJvEmpty/src/icons/svg/message.svg delete mode 100644 vueJvEmpty/src/icons/svg/money.svg delete mode 100644 vueJvEmpty/src/icons/svg/nested.svg delete mode 100644 vueJvEmpty/src/icons/svg/password.svg delete mode 100644 vueJvEmpty/src/icons/svg/pdf.svg delete mode 100644 vueJvEmpty/src/icons/svg/people.svg delete mode 100644 vueJvEmpty/src/icons/svg/peoples.svg delete mode 100644 vueJvEmpty/src/icons/svg/qq.svg delete mode 100644 vueJvEmpty/src/icons/svg/search.svg delete mode 100644 vueJvEmpty/src/icons/svg/shopping.svg delete mode 100644 vueJvEmpty/src/icons/svg/size.svg delete mode 100644 vueJvEmpty/src/icons/svg/skill.svg delete mode 100644 vueJvEmpty/src/icons/svg/star.svg delete mode 100644 vueJvEmpty/src/icons/svg/tab.svg delete mode 100644 vueJvEmpty/src/icons/svg/table.svg delete mode 100644 vueJvEmpty/src/icons/svg/theme.svg delete mode 100644 vueJvEmpty/src/icons/svg/tree-table.svg delete mode 100644 vueJvEmpty/src/icons/svg/tree.svg delete mode 100644 vueJvEmpty/src/icons/svg/user.svg delete mode 100644 vueJvEmpty/src/icons/svg/wechat.svg delete mode 100644 vueJvEmpty/src/icons/svg/zip.svg delete mode 100644 vueJvEmpty/src/lang/en.ts delete mode 100644 vueJvEmpty/src/lang/es.ts delete mode 100644 vueJvEmpty/src/lang/index.ts delete mode 100644 vueJvEmpty/src/lang/ja.ts delete mode 100644 vueJvEmpty/src/lang/ko.ts delete mode 100644 vueJvEmpty/src/lang/zh.ts delete mode 100644 vueJvEmpty/src/layout/components/AppMain.vue delete mode 100644 vueJvEmpty/src/layout/components/Navbar/index.vue delete mode 100644 vueJvEmpty/src/layout/components/Settings/index.vue delete mode 100644 vueJvEmpty/src/layout/components/Sidebar/SidebarItem.vue delete mode 100644 vueJvEmpty/src/layout/components/Sidebar/SidebarItemLink.vue delete mode 100644 vueJvEmpty/src/layout/components/Sidebar/SidebarLogo.vue delete mode 100644 vueJvEmpty/src/layout/components/Sidebar/index.vue delete mode 100644 vueJvEmpty/src/layout/components/TagsView/ScrollPane.vue delete mode 100644 vueJvEmpty/src/layout/components/TagsView/index.vue delete mode 100644 vueJvEmpty/src/layout/components/index.ts delete mode 100644 vueJvEmpty/src/layout/index.vue delete mode 100644 vueJvEmpty/src/layout/mixin/resize.ts delete mode 100644 vueJvEmpty/src/main.ts delete mode 100644 vueJvEmpty/src/permission.ts delete mode 100644 vueJvEmpty/src/pwa/components/ServiceWorkerUpdatePopup.vue delete mode 100644 vueJvEmpty/src/pwa/register-service-worker.ts delete mode 100644 vueJvEmpty/src/pwa/service-worker.js delete mode 100644 vueJvEmpty/src/router/index.ts delete mode 100644 vueJvEmpty/src/router/modules/charts.ts delete mode 100644 vueJvEmpty/src/router/modules/components.ts delete mode 100644 vueJvEmpty/src/router/modules/nested.ts delete mode 100644 vueJvEmpty/src/router/modules/table.ts delete mode 100644 vueJvEmpty/src/settings.ts delete mode 100644 vueJvEmpty/src/shims.d.ts delete mode 100644 vueJvEmpty/src/store/index.ts delete mode 100644 vueJvEmpty/src/store/modules/app.ts delete mode 100644 vueJvEmpty/src/store/modules/error-log.ts delete mode 100644 vueJvEmpty/src/store/modules/permission.ts delete mode 100644 vueJvEmpty/src/store/modules/settings.ts delete mode 100644 vueJvEmpty/src/store/modules/tags-view.ts delete mode 100644 vueJvEmpty/src/store/modules/user.ts delete mode 100644 vueJvEmpty/src/styles/_mixins.scss delete mode 100644 vueJvEmpty/src/styles/_svgicon.scss delete mode 100644 vueJvEmpty/src/styles/_transition.scss delete mode 100644 vueJvEmpty/src/styles/_variables.scss delete mode 100644 vueJvEmpty/src/styles/_variables.scss.d.ts delete mode 100644 vueJvEmpty/src/styles/element-variables.scss delete mode 100644 vueJvEmpty/src/styles/element-variables.scss.d.ts delete mode 100644 vueJvEmpty/src/styles/index.scss delete mode 100644 vueJvEmpty/src/utils/clipboard.ts delete mode 100644 vueJvEmpty/src/utils/cookies.ts delete mode 100644 vueJvEmpty/src/utils/error-log.ts delete mode 100644 vueJvEmpty/src/utils/excel.ts delete mode 100644 vueJvEmpty/src/utils/index.ts delete mode 100644 vueJvEmpty/src/utils/permission.ts delete mode 100644 vueJvEmpty/src/utils/request.ts delete mode 100644 vueJvEmpty/src/utils/scroll-to.ts delete mode 100644 vueJvEmpty/src/utils/validate.ts delete mode 100644 vueJvEmpty/src/utils/zip.ts delete mode 100644 vueJvEmpty/src/views/charts/bar-chart.vue delete mode 100644 vueJvEmpty/src/views/charts/line-chart.vue delete mode 100644 vueJvEmpty/src/views/charts/mixed-chart.vue delete mode 100644 vueJvEmpty/src/views/clipboard/index.vue delete mode 100644 vueJvEmpty/src/views/components-demo/avatar-upload.vue delete mode 100644 vueJvEmpty/src/views/components-demo/back-to-top.vue delete mode 100644 vueJvEmpty/src/views/components-demo/count-to.vue delete mode 100644 vueJvEmpty/src/views/components-demo/draggable-dialog.vue delete mode 100644 vueJvEmpty/src/views/components-demo/draggable-kanban.vue delete mode 100644 vueJvEmpty/src/views/components-demo/draggable-list.vue delete mode 100644 vueJvEmpty/src/views/components-demo/draggable-select.vue delete mode 100644 vueJvEmpty/src/views/components-demo/dropzone.vue delete mode 100644 vueJvEmpty/src/views/components-demo/json-editor.vue delete mode 100644 vueJvEmpty/src/views/components-demo/markdown.vue delete mode 100644 vueJvEmpty/src/views/components-demo/mixin.vue delete mode 100644 vueJvEmpty/src/views/components-demo/split-pane.vue delete mode 100644 vueJvEmpty/src/views/components-demo/sticky.vue delete mode 100644 vueJvEmpty/src/views/components-demo/tinymce.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/components/BarChart.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/components/BoxCard.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/components/LineChart.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/components/PanelGroup.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/components/PieChart.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/components/RadarChart.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/components/TodoList/Todo.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/components/TodoList/index.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/components/TransactionTable.vue delete mode 100644 vueJvEmpty/src/views/dashboard/admin/index.vue delete mode 100644 vueJvEmpty/src/views/dashboard/editor/index.vue delete mode 100644 vueJvEmpty/src/views/dashboard/index.vue delete mode 100644 vueJvEmpty/src/views/error-log/components/ErrorTestA.vue delete mode 100644 vueJvEmpty/src/views/error-log/components/ErrorTestB.vue delete mode 100644 vueJvEmpty/src/views/error-log/index.vue delete mode 100644 vueJvEmpty/src/views/error-page/401.vue delete mode 100644 vueJvEmpty/src/views/error-page/404.vue delete mode 100644 vueJvEmpty/src/views/example/components/ArticleDetail.vue delete mode 100644 vueJvEmpty/src/views/example/components/Dropdown/Comment.vue delete mode 100644 vueJvEmpty/src/views/example/components/Dropdown/Platform.vue delete mode 100644 vueJvEmpty/src/views/example/components/Dropdown/SourceUrl.vue delete mode 100644 vueJvEmpty/src/views/example/components/Dropdown/index.ts delete mode 100644 vueJvEmpty/src/views/example/components/Warning.vue delete mode 100644 vueJvEmpty/src/views/example/create.vue delete mode 100644 vueJvEmpty/src/views/example/edit.vue delete mode 100644 vueJvEmpty/src/views/example/list.vue delete mode 100644 vueJvEmpty/src/views/excel/components/AutoWidthOption.vue delete mode 100644 vueJvEmpty/src/views/excel/components/BookTypeOption.vue delete mode 100644 vueJvEmpty/src/views/excel/components/FilenameOption.vue delete mode 100644 vueJvEmpty/src/views/excel/export-excel.vue delete mode 100644 vueJvEmpty/src/views/excel/merge-header.vue delete mode 100644 vueJvEmpty/src/views/excel/select-excel.vue delete mode 100644 vueJvEmpty/src/views/excel/upload-excel.vue delete mode 100644 vueJvEmpty/src/views/guide/index.vue delete mode 100644 vueJvEmpty/src/views/guide/steps.ts delete mode 100644 vueJvEmpty/src/views/i18n-demo/index.vue delete mode 100644 vueJvEmpty/src/views/i18n-demo/local.ts delete mode 100644 vueJvEmpty/src/views/icons/element-icons.ts delete mode 100644 vueJvEmpty/src/views/icons/index.vue delete mode 100644 vueJvEmpty/src/views/icons/svg-icons.ts delete mode 100644 vueJvEmpty/src/views/login/auth-redirect.vue delete mode 100644 vueJvEmpty/src/views/login/components/SocialSignin.vue delete mode 100644 vueJvEmpty/src/views/login/index.vue delete mode 100644 vueJvEmpty/src/views/nested/menu1/index.vue delete mode 100644 vueJvEmpty/src/views/nested/menu1/menu1-1/index.vue delete mode 100644 vueJvEmpty/src/views/nested/menu1/menu1-2/index.vue delete mode 100644 vueJvEmpty/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue delete mode 100644 vueJvEmpty/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue delete mode 100644 vueJvEmpty/src/views/nested/menu1/menu1-3/index.vue delete mode 100644 vueJvEmpty/src/views/nested/menu2/index.vue delete mode 100644 vueJvEmpty/src/views/pdf/content.ts delete mode 100644 vueJvEmpty/src/views/pdf/download.vue delete mode 100644 vueJvEmpty/src/views/pdf/index.vue delete mode 100644 vueJvEmpty/src/views/permission/components/SwitchRoles.vue delete mode 100644 vueJvEmpty/src/views/permission/directive.vue delete mode 100644 vueJvEmpty/src/views/permission/page.vue delete mode 100644 vueJvEmpty/src/views/permission/role.vue delete mode 100644 vueJvEmpty/src/views/profile/components/Account.vue delete mode 100644 vueJvEmpty/src/views/profile/components/Activity.vue delete mode 100644 vueJvEmpty/src/views/profile/components/Timeline.vue delete mode 100644 vueJvEmpty/src/views/profile/components/UserCard.vue delete mode 100644 vueJvEmpty/src/views/profile/index.vue delete mode 100644 vueJvEmpty/src/views/redirect/index.vue delete mode 100644 vueJvEmpty/src/views/tab/components/TabPane.vue delete mode 100644 vueJvEmpty/src/views/tab/index.vue delete mode 100644 vueJvEmpty/src/views/table/complex-table.vue delete mode 100644 vueJvEmpty/src/views/table/draggable-table.vue delete mode 100644 vueJvEmpty/src/views/table/dynamic-table/components/FixedHeaderTable.vue delete mode 100644 vueJvEmpty/src/views/table/dynamic-table/components/UnfixedHeaderTable.vue delete mode 100644 vueJvEmpty/src/views/table/dynamic-table/index.vue delete mode 100644 vueJvEmpty/src/views/table/inline-edit-table.vue delete mode 100644 vueJvEmpty/src/views/theme/index.vue delete mode 100644 vueJvEmpty/src/views/zip/index.vue delete mode 100644 vueJvEmpty/tests/unit/components/Breadcrumb.spec.ts delete mode 100644 vueJvEmpty/tests/unit/utils/parseTime.spec.ts delete mode 100644 vueJvEmpty/tests/unit/utils/validate.spec.ts delete mode 100644 vueJvEmpty/tsconfig.json delete mode 100644 vueJvEmpty/yarn.lock diff --git a/README.en.md b/README.en.md index 056f06d57..85056dd41 100644 --- a/README.en.md +++ b/README.en.md @@ -171,35 +171,38 @@ yarn install ### Custom vue project config -[.env.Github.production](./.env.Github.production) 变更为 .env.production - -[vue.config.github.js ](./vue.config.github.js ) 变更为 vue.config.js - Modify the server address that the development environment will use for the proxy. Provide the following three addresses: IdentityService, IdentityServer, and ApiService ```bash proxy: { + // change xxx-api/login => /mock-api/v1/login + // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_IDENTITY_SERVER]: { - target: 'your identityService address', + // IdentityServer4 Server address, used for authentication + target: 'http://localhost:44385', changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_IDENTITY_SERVER]: '' } }, - [process.env.VUE_APP_BASE_IDENTITY_SERVICE]: { - target: 'your identityServer address', + [process.env.VUE_APP_SIGNALR_SERVER]: { + // SignalR address for the messaging service, SignalR USES WebSocket communication, so a separate proxy address is required + target: 'ws://localhost:30000', changeOrigin: true, pathRewrite: { - ['^' + process.env.VUE_APP_BASE_IDENTITY_SERVICE]: '' - } + ['^' + process.env.VUE_APP_SIGNALR_SERVER]: '' + }, + logLevel: 'debug' }, [process.env.VUE_APP_BASE_API]: { - target: 'you api gateway address', + // All other business is through the gateway proxy, directly fill in the gateway address + target: 'http://localhost:30000', changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: '' - } + }, + logLevel: 'debug' } } @@ -214,12 +217,15 @@ Modify the actual address of the production environment, as above # Here I used my mock server for this project # VUE_APP_BASE_API = 'https://vue-typescript-admin-mock-server.armour.now.sh/mock-api/v1/' -VUE_APP_BASE_API = 'your api gateway address' - -VUE_APP_BASE_IDENTITY_SERVICE = 'your identityService address' - -VUE_APP_BASE_IDENTITY_SERVER = 'your identityServer address' +# Business services +VUE_APP_BASE_API = '/api' +# SignalR +VUE_APP_SIGNALR_SERVER = '/signalr-hubs' +# IdentityServer4 +VUE_APP_BASE_IDENTITY_SERVER = '/connect' +# default tenant name +VUE_APP_TENANT_NAME = '' # client id VUE_APP_CLIENT_ID = 'vue-admin-element' # client secret diff --git a/README.md b/README.md index 7f14852a4..8339878b3 100644 --- a/README.md +++ b/README.md @@ -176,37 +176,42 @@ Javascript 版本: yarn install ``` -### 更改配置文件名称 +### 更改配置文件 -[.env.Github.production](./.env.Github.production) 变更为 .env.production - -[vue.config.github.js ](./vue.config.github.js ) 变更为 vue.config.js -修改开发环境用于代理的服务器地址,以下提供了三个分别为IdentityService、IdentityServer、ApiService地址,如果有网关的话可以只需要一个网关地址即可 +修改开发环境用于代理的服务器地址,以下提供了三个分别为IdentityServer、SignalT、ApiService地址 +如果自己变更了端口,需要改成自己的地址 ```bash proxy: { + // change xxx-api/login => /mock-api/v1/login + // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_IDENTITY_SERVER]: { - target: '你的identityService地址', + // IdentityServer4服务器地址,用于身份认证 + target: 'http://localhost:44385', changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_IDENTITY_SERVER]: '' } }, - [process.env.VUE_APP_BASE_IDENTITY_SERVICE]: { - target: '你的identityServer服务器地址', + [process.env.VUE_APP_SIGNALR_SERVER]: { + // 消息服务SignalR地址,SignalR使用WebSocket通讯,因此需要单独一个代理地址 + target: 'ws://localhost:30000', changeOrigin: true, pathRewrite: { - ['^' + process.env.VUE_APP_BASE_IDENTITY_SERVICE]: '' - } + ['^' + process.env.VUE_APP_SIGNALR_SERVER]: '' + }, + logLevel: 'debug' }, [process.env.VUE_APP_BASE_API]: { - target: '你的api网关地址', + // 其他所有业务都是通过网关代理,直接填写网关地址即可 + target: 'http://localhost:30000', changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: '' - } + }, + logLevel: 'debug' } } @@ -221,12 +226,15 @@ yarn install # Here I used my mock server for this project # VUE_APP_BASE_API = 'https://vue-typescript-admin-mock-server.armour.now.sh/mock-api/v1/' -VUE_APP_BASE_API = '你的api网关服务器地址' - -VUE_APP_BASE_IDENTITY_SERVICE = '你的identityService服务器地址' - -VUE_APP_BASE_IDENTITY_SERVER = '你的identityServer服务器地址' +# 所有第一级请求路径为 /api 的为业务服务 +VUE_APP_BASE_API = '/api' +# 所有第一级请求路径为 /signalr-hubs 的请求为SignalR请求 +VUE_APP_SIGNALR_SERVER = '/signalr-hubs' +# 所有第一级请求路径为 /connect 的为 IdentityServer4 的请求 +VUE_APP_BASE_IDENTITY_SERVER = '/connect' +# 默认的租户名称 +VUE_APP_TENANT_NAME = '' # 客户端标识 VUE_APP_CLIENT_ID = 'vue-admin-element' # 客户端密钥 diff --git a/vueJs/.env.Github.production b/vueJs/.env.Github.production deleted file mode 100644 index bae8a14a7..000000000 --- a/vueJs/.env.Github.production +++ /dev/null @@ -1,15 +0,0 @@ -# Base api -# Remeber to change this to your production server address -# Here I used my mock server for this project -# VUE_APP_BASE_API = 'https://vue-typescript-admin-mock-server.armour.now.sh/mock-api/v1/' - -VUE_APP_BASE_API = '你的api网关服务器地址' - -VUE_APP_BASE_IDENTITY_SERVICE = '你的identityService服务器地址' - -VUE_APP_BASE_IDENTITY_SERVER = '你的identityServer服务器地址' - -# 客户端标识 -VUE_APP_CLIENT_ID = 'vue-admin-element' -# 客户端密钥 -VUE_APP_CLIENT_SECRET = '1q2w3e*' diff --git a/vueJs/vue.config.github.js b/vueJs/vue.config.github.js deleted file mode 100644 index 3717c32e6..000000000 --- a/vueJs/vue.config.github.js +++ /dev/null @@ -1,115 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/no-var-requires -const path = require('path') - -// If your port is set to 80, -// use administrator privileges to execute the command line. -// For example, on Mac: sudo npm run / sudo yarn -const devServerPort = 9527 // TODO: get this variable from setting.ts -const name = 'Vue Typescript Admin' // TODO: get this variable from setting.ts - -module.exports = { - publicPath: process.env.NODE_ENV === 'production' ? '/vue-typescript-admin-template/' : '/', - lintOnSave: process.env.NODE_ENV === 'development', - productionSourceMap: false, - devServer: { - port: devServerPort, - open: true, - overlay: { - warnings: false, - errors: true - }, - progress: false, - proxy: { - // change xxx-api/login => /mock-api/v1/login - // detail: https://cli.vuejs.org/config/#devserver-proxy - [process.env.VUE_APP_BASE_IDENTITY_SERVER]: { - target: '你的identityService地址', - changeOrigin: true, - pathRewrite: { - ['^' + process.env.VUE_APP_BASE_IDENTITY_SERVER]: '' - } - }, - [process.env.VUE_APP_BASE_IDENTITY_SERVICE]: { - target: '你的identityServer服务器地址', - changeOrigin: true, - pathRewrite: { - ['^' + process.env.VUE_APP_BASE_IDENTITY_SERVICE]: '' - } - }, - [process.env.VUE_APP_BASE_API]: { - target: '你的api网关地址', - changeOrigin: true, - pathRewrite: { - ['^' + process.env.VUE_APP_BASE_API]: '' - } - } - } - }, - pwa: { - name: name, - workboxPluginMode: 'InjectManifest', - workboxOptions: { - swSrc: path.resolve(__dirname, 'src/pwa/service-worker.js') - } - }, - pluginOptions: { - 'style-resources-loader': { - preProcessor: 'scss', - patterns: [ - path.resolve(__dirname, 'src/styles/_variables.scss'), - path.resolve(__dirname, 'src/styles/_mixins.scss') - ] - } - }, - chainWebpack(config) { - // provide the app's title in webpack's name field, so that - // it can be accessed in index.html to inject the correct title. - config.set('name', name) - - // https://webpack.js.org/configuration/devtool/#development - config - .when(process.env.NODE_ENV === 'development', - config => config.devtool('cheap-eval-source-map') - ) - - // remove vue-cli-service's progress output - config.plugins.delete('progress') - // replace with another progress output plugin to solve the this bug: - // https://github.com/vuejs/vue-cli/issues/4557 - config.plugin('simple-progress-webpack-plugin') - .use(require.resolve('simple-progress-webpack-plugin'), [{ - format: 'compact' - }]) - - config - .when(process.env.NODE_ENV !== 'development', - config => { - config - .optimization.splitChunks({ - chunks: 'all', - cacheGroups: { - libs: { - name: 'chunk-libs', - test: /[\\/]node_modules[\\/]/, - priority: 10, - chunks: 'initial' // only package third parties that are initially dependent - }, - elementUI: { - name: 'chunk-elementUI', // split elementUI into a single package - priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app - test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm - }, - commons: { - name: 'chunk-commons', - test: path.resolve(__dirname, 'src/components'), - minChunks: 3, // minimum common number - priority: 5, - reuseExistingChunk: true - } - } - }) - config.optimization.runtimeChunk('single') - } - ) - } -} diff --git a/vueJvEmpty/.browserslistrc b/vueJvEmpty/.browserslistrc deleted file mode 100644 index d6471a38c..000000000 --- a/vueJvEmpty/.browserslistrc +++ /dev/null @@ -1,2 +0,0 @@ -> 1% -last 2 versions diff --git a/vueJvEmpty/.editorconfig b/vueJvEmpty/.editorconfig deleted file mode 100644 index 685c1bfc6..000000000 --- a/vueJvEmpty/.editorconfig +++ /dev/null @@ -1,35 +0,0 @@ -# http://editorconfig.org - -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -# Indentation override for js(x), ts(x) and vue files -[*.{js,jsx,ts,tsx,vue}] -indent_size = 2 -indent_style = space - -# Indentation override for css related files -[*.{css,styl,scss,less,sass}] -indent_size = 2 -indent_style = space - -# Indentation override for html files -[*.html] -indent_size = 2 -indent_style = space - -# Trailing space override for markdown file -[*.md] -trim_trailing_whitespace = false - -# Indentation override for config files -[*.{json,yml}] -indent_size = 2 -indent_style = space diff --git a/vueJvEmpty/.env.development b/vueJvEmpty/.env.development deleted file mode 100644 index a23a85e03..000000000 --- a/vueJvEmpty/.env.development +++ /dev/null @@ -1,20 +0,0 @@ -# Base api -VUE_APP_BASE_API = '/api' - -#Signalr -VUE_APP_SIGNALR_SERVER = '/signalr-hubs' - -#IdentityServer -VUE_APP_BASE_IDENTITY_SERVER = '/connect' - -VUE_APP_CLIENT_ID = 'vue-admin-element' -VUE_APP_CLIENT_SECRET = '1q2w3e*' - -# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, -# to control whether the babel-plugin-dynamic-import-node plugin is enabled. -# It only does one thing by converting all import() to require(). -# This configuration can significantly increase the speed of hot updates, -# when you have a large number of pages. -# Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js - -VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/vueJvEmpty/.env.staging b/vueJvEmpty/.env.staging deleted file mode 100644 index cda2ffec8..000000000 --- a/vueJvEmpty/.env.staging +++ /dev/null @@ -1,6 +0,0 @@ -# Set to production for building optimization -NODE_ENV = production - -# Base api -VUE_APP_BASE_API = '/stage-api' - diff --git a/vueJvEmpty/.eslintignore b/vueJvEmpty/.eslintignore deleted file mode 100644 index 195e246bb..000000000 --- a/vueJvEmpty/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -dist/*.js -src/assets -tests/unit/coverage -public/**/*.js diff --git a/vueJvEmpty/.eslintrc.js b/vueJvEmpty/.eslintrc.js deleted file mode 100644 index ae6155473..000000000 --- a/vueJvEmpty/.eslintrc.js +++ /dev/null @@ -1,53 +0,0 @@ -module.exports = { - root: true, - env: { - node: true - }, - extends: [ - 'plugin:vue/recommended', - '@vue/standard', - '@vue/typescript/recommended' - ], - parserOptions: { - ecmaVersion: 2020 - }, - rules: { - '@typescript-eslint/ban-types': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/member-delimiter-style': ['error', - { - multiline: { - delimiter: 'none' - }, - singleline: { - delimiter: 'comma' - } - }], - '@typescript-eslint/no-explicit-any': 'off', - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'space-before-function-paren': ['error', 'never'], - 'vue/array-bracket-spacing': 'error', - 'vue/arrow-spacing': 'error', - 'vue/block-spacing': 'error', - 'vue/brace-style': 'error', - 'vue/camelcase': 'error', - 'vue/comma-dangle': 'error', - 'vue/component-name-in-template-casing': 'error', - 'vue/eqeqeq': 'error', - 'vue/key-spacing': 'error', - 'vue/match-component-file-name': 'error', - 'vue/object-curly-spacing': 'error' - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)' - ], - env: { - jest: true - } - } - ] -} diff --git a/vueJvEmpty/.gitignore b/vueJvEmpty/.gitignore deleted file mode 100644 index a4ebfffcb..000000000 --- a/vueJvEmpty/.gitignore +++ /dev/null @@ -1,27 +0,0 @@ -.DS_Store -node_modules -/dist - -/tests/e2e/videos/ -/tests/e2e/screenshots/ -/tests/**/coverage/ - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -.history -.ionide -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw* diff --git a/vueJvEmpty/LICENSE b/vueJvEmpty/LICENSE deleted file mode 100644 index 7c3565d13..000000000 --- a/vueJvEmpty/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Chong Guo - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vueJvEmpty/README-zh.md b/vueJvEmpty/README-zh.md deleted file mode 100644 index b195cff8d..000000000 --- a/vueJvEmpty/README-zh.md +++ /dev/null @@ -1,243 +0,0 @@ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
](http://godban.github.io/browsers-support-badges/)IE / Edge | [
](http://godban.github.io/browsers-support-badges/)Firefox | [
](http://godban.github.io/browsers-support-badges/)Chrome | [
](http://godban.github.io/browsers-support-badges/)Safari |
-| --------- | --------- | --------- | --------- |
-| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions
-
-## 参与贡献
-
-请看 [CONTRIBUTING.md](https://github.com/Armour/vue-typescript-admin-template/blob/master/.github/CONTRIBUTING.md)
-
-## License
-
-[MIT License](https://github.com/Armour/vue-typescript-admin-template/blob/master/LICENSE)
diff --git a/vueJvEmpty/README.md b/vueJvEmpty/README.md
deleted file mode 100644
index 4dbdf8914..000000000
--- a/vueJvEmpty/README.md
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
](http://godban.github.io/browsers-support-badges/)IE / Edge | [
](http://godban.github.io/browsers-support-badges/)Firefox | [
](http://godban.github.io/browsers-support-badges/)Chrome | [
](http://godban.github.io/browsers-support-badges/)Safari |
-| --------- | --------- | --------- | --------- |
-| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions
-
-## Contributing
-
-See [CONTRIBUTING.md](https://github.com/Armour/vue-typescript-admin-template/blob/master/.github/CONTRIBUTING.md)
-
-## License
-
-[MIT License](https://github.com/Armour/vue-typescript-admin-template/blob/master/LICENSE)
diff --git a/vueJvEmpty/babel.config.js b/vueJvEmpty/babel.config.js
deleted file mode 100644
index e9558405f..000000000
--- a/vueJvEmpty/babel.config.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
- presets: [
- '@vue/cli-plugin-babel/preset'
- ]
-}
diff --git a/vueJvEmpty/cypress.json b/vueJvEmpty/cypress.json
deleted file mode 100644
index 470c72019..000000000
--- a/vueJvEmpty/cypress.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "pluginsFile": "tests/e2e/plugins/index.js"
-}
diff --git a/vueJvEmpty/jest.config.js b/vueJvEmpty/jest.config.js
deleted file mode 100644
index 8b359f812..000000000
--- a/vueJvEmpty/jest.config.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = {
- preset: '@vue/cli-plugin-unit-jest/presets/typescript-and-babel'
-}
diff --git a/vueJvEmpty/package.json b/vueJvEmpty/package.json
deleted file mode 100644
index 5a12e76fe..000000000
--- a/vueJvEmpty/package.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "name": "vue-typescript-admin-template",
- "version": "1.0.0",
- "private": true,
- "author": "Chong Guo $IO@0I~FNB|8%Fh? )@Zcz_4;&-?HX3>y1=j69du47lb;z2JYy{#ALA=-b~R zk$)}XY7ckSdHRRuED4rY7wc9BD11?hKEYpC9=liM><`u;Z_EP!8$i3dpWhvmKFB!E zqr%Y=9gO2RkezGjH=y0PY rfdbW5U z=Qs{X9U+ec*|~PYh})$l=m*em?18e~nL7OfdvFe7jQuRx0-%d7c)vGw`;Ne8+4i9l z`)&5{r(R$BQn-0+z?K{sABFLt3|))|IYJAc!WIZ#fwA6n%<)ri7;|h7?2qXcfAZ(z z=fWJ~X~ual9%#w)L!=2KRsLa1`T+7_%A vh}@Fw+L~zz*<#6+Hmi&>Gm6=oNpC z_0hj$SFZz4^8Yh?BBX?ZVbYYx?C1;7ggho(e`EmXB#$fFa)TW6r^o=rmNmoiy}HDo zvY%spu+?nJeqdRtUk_gaX~y0?j2YwDaed%_;tLs227Mn0U7)}(Oyj?s^@u-Zf82&J zqup=Io}+w+-9I}vNMc+N@m!Rx86&i!1E$aF4__e013Yu=&)ItY3hbx8u)B|ebN#tN zCoujaRgdpSEN3qUAKUBGfi@l<4cia0Lgr=Qzv{p+>G8+=*_HvgkNp6~4b&qUa1e9+ z+bZLPd$!$Tfc#$o{26oZEIrlT^_2bSpFaXz?a6V{2mLvf#&vQ3+*Jb|q8-K()dOFU zg4GX@0mD~fji;=FFtOz1KN$b_FtFFxyie%xr&kP= pmfQ>XNmZN~Z|1ER9H-Z}jNtB#DoT7OZ)fIq*@qtJ-Q?-SvhojzxPP2Oib z&*Rhj$^E@5vE9Ib(YjFC# zTgj>{|On;4SY}DXZ(L}9Q#@~_yaqR z&(Ys+RrW*XGuHPR&g-y5*C>PMCXMT3y$nSTpe*(mWZThFS^7JMIfhXq6TtiQ3nPBC zEBXfd@c}Diz3|c5;@t_u;qRR_z`73y<;-0P9bzdSSixSA0rDK7i25P}E&=cOtfC?O zP8-&CAKDW6B8z 7|`) z)f0H{M0`jy#*X7#J`EucvTa@OG3Ow+SLMThhw&b}W4*wiI)Xl5i@KXS0P%tj=>U}V z(7nCn@dJxxc_5$I!R$DFL7Dijfiyti`+Yi@0|d;-&y3}^$Fua`E=U< ?21#)- SByGS#J37OrEUoE# z$#+X=uYs?vVWr3gj@?kMJJM&P4&WRCYh^N?T-G=2Q$Ep8rk8p^1NgR0lpGX9KM>}S z(FRPfX$)N|AN{qbmfP|9nfhz=_b+={ oZkVTALF>>d7RepK|ek2 zS&Z2_-WKw;Tmy!7gCjIRd!f>JqLa^Zwr=je9=6^A#08rdkLEWX`CV)r_q??rOtPQx zc*KXXo>qOf;Lj--uUkbwouj-@>~O6-p6uW}K{+l&$MXY#b6R?7r1?X#Sp}hD$(s*Q z4m|}WiF!2lt#L--kN-P! zdMG;JCbXMp%?E*Qo`u*gYyC4dEl@wiR5xZ5GGKnvAnUS4t#8m5oVgG>K%X+;8}NC5 ze$QLI(GS2e0mz0O&hk!;T@Oq+AD{hhyZA#c*!1_?lLvSfeanvc7siAdpT)5Vr}T`y zI@H2>;Cl#Ix1r6a-nb6@zRfo=9&85i{G-M&b@Ck-tqrvw-w)m-?^91yiS=;ec?s|@ zKRFM+An> EDrY}zpJ+wOyB>)`VqZw-I+SaAN)xEdVFdv z@V<#g=wswMarVZ9i9h|z^hxN9|33%5efXWXtuNiKhF|_|(g9b2Ms|4u{^T#N=VEWH zm;C`}*YLFTe#D<+d=t@!w4`tN9J!AO{PpMy1g=}4 n*|v! z>wZo96ASjkI9^XXP5y2}4Ya!)7l!qK)!3VVqfV4Pa-w|#8{{dhJM4<@u?A>|- zgXNzGUW*XV(byTCZ%IB-Zp?ds5@o 3Dkn}q%Rio`q;<`>at `EDuI z7XEyWrRQ5ZR-1LQ{4Cmgdl1XjnSH%=c>|rs+R_b_0X?LB^a+m!{y)|#4Oo6px5$@z z_8ynO_eJ3Oo8uA3#c>>WZYCLUHR!AE#|6DKp{4(ez`hvR|9$bv(E@Ru?u1@03+u^? zx$i$h8NhjhXX_d7Xxmdy`9Hyvxyj{GJ!Zc9c#UAM5EFgJ7&~BWz$V~d|GpKiKe=)q ze7_O6bRF_bW|g&F72MplUwdG%SaJMbjtdL`{ {%Y8ISj)p* zFxxDL>jq{QhWbO-#DWIuHa_I?qzQii^AOrU3bMFSP3U@C1h54$V~MZb&2=OB&F~Vh z9Z<9WM@{?kTYoEHi+9 bF&S_HZTl|Tcn;dTLv~>p*6pqSw|?CKySa#sdxPXS zL6aUR(8#Hpwteb*`RrSL3Ea~#Zrc;zc=l7)Yc>Pm0Y4ZgHu>xv>VYuS_Y*G-xJ3>y zMwfA#;gIzK@ux Cc+9*poyemf&~CZl`EkI$Z5DMr)@0Pvw)Q{>)(^QGexb-NpkaPX z#OoWhF9)#xQuJ =IHQ*avdV;-DU1^`Jz`PR3f}VJ nLe*xoX(cqQlyEgw_ zH~L+TvAy542iF!1_5lry01aI3V+6E?J_PP*kc+_>lfP;+;;Q-GjrzPX_8>by)DL~v zF?j#aFGD%-Gj$+vUr2qJUL1bK!nenYO%Bezs1LM3-vHu={Xql#w#*lo0S(YshcUV6 zmm&Mc1NTl?Q?r4)<8bsu8?*;ZG%yxz^HDvefuHeSuY=c@0{39}Lz{1Z{&oY$%DtNq zY0w2&Tg(q_69wLQ9c@KhsJ88HcR!Eg-q7pOoA6%a!0TQ3ePvJd(Ru<6QVy)&7i^#| zM4NGKsb6(S1GMEnNBwt$*QaxR1lYO(S;YfIT1oxrzttqIWMMARjI*-^Vw0~$`^BIw zKSlC%KM~hL{uG$+M4e}X*ZaaZcU4aQAVU`7A-$XPEx_0T@D1aK2D4q!zUPqKEuX7f z9_f+m9h` 4Ln3h8^KKarf}Z_*EKbdE>U|AhWo^fq9<1Zgy$aa&5+u-4G!{yVnzFkp^sHEQj> z#oaBCvp-l&`|o_tU1|h=> h-UKbLijR&Nt|mYUEpb!h`jHGW^!@J2Qu%^XUeDX1XKQu zF>g@vrN+F7HJy($ t=^OU?`zO>mTbG|?FBG6PF9BqO}ilB--s&G!k z@@-9 xe>hh4k6z8i{*OYHoIghtAy$;X&N@&hA{AJqk{()zd4EA^W{?<&L?}&V< z>U={@-q&z0P<>vA;J`T5_4pZNCm*XhZ$!^rhOZ`XLeqRcwxW6EV?mmHpeC<^L%zNO zE@P3tn(Gake3fam+VipIsu_O-Y4U+~^362owRwNdd0%_^xXKq8oXiW&^;PnvmCF~d z=Fe!#b2hJ{ca~&uHm~A0-tTKC@2}!lUa!ro_?@SPHXm3a59IS&g4GgqtcD@9d59Rf z9MeBAe5E|Z;2HIKh@eV&h|5Y11~FPGA7m82<|1M>c?n|Hd{UOWlKKVlxJr3EPEvDF z5c6>r1u(11qxRTJ&F5L1`UL{zd_{%jY{d&0Z 8SILLUtxx&V*xq_zK%@qn% v&YLQvWK9n=Uv7G!`EpYWm@hXzz*HIeC<}~Lokxw;r*T6?;i}7O<>&tc7eE}5 diff --git a/vueJvEmpty/public/img/icons/android-chrome-192x192.png b/vueJvEmpty/public/img/icons/android-chrome-192x192.png deleted file mode 100644 index 6c882c4ee313c8b27b49829860600a9d29bc08da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2484 zcmZWrX*kr28~y!eVKBzNG`NkdS!%L#(F`IPj4>nG8bnCZ#az1yg^*#$Sjt)vk%}nG zSesl$$kKu=A ylBc;_RnpnTX&fnNi{vR?i4-nVccI`K`t=#vwHcwLY&-xmN2AQQr zSQgP`SdaOxvsFs(cP7t_?B9|ICD}OwAFD3+7 NkE7XT2= z))shj_`4PNlt%?d$d+n7VbP9kw}#Q(y|bobNLF_bm5)Qv8M1rtMv^O6c-g@@e*ElK z@9Ea{oZ9F)^?Q8s*^%kQQ+!+4kCjqa8 4Sg>xTuS#BC4eyLr pQdFuN=KU# K+eu2`;LLQbozfvw-+9k*z``<}emn5gf|HsLS(c zfW6hsq;0=}%T^=^M@GqV_#XX}yu|2F#W`xl5&5B>X5#0hm{doD(n~Z$zQFCnx{2BU zOw6ScRbieqhq_WBWXYexZX 6wa?>&jc1q9#H`AAg&)OxtveuCD zZ$djp7D(s{lo*=njpcW(-*-rXTedjs1UFW*hItTXtgD15tEJ|_(%D3v=Lawu7OqlS z#wZCnF{fyRaxyJ58PJ$JA5r DP@jABRE?>i(@kO*4Q=?(= z^=CL$?#ZnA^Mn4wk#M{8Pk1l >WZ_!k-d904=?qZ{-M*y!|~1pJ0SdSl)~`kis(;gFp1;tWohOZp`PKqv17Y` zP-O3WBp(q6SNciaCAQob?lxLptu2;ys_d$S?eB+lC*_X4Aw~bBl)c3V &+89+~Mb^phs$WqLf`gJD&%a{ w}o^ 3yZ_XXp4yA zA^`e$t2Yi+5slzyN6+gk0$2IeG`M&$RC$4>kf1+%Q_nU5;%7@F8`{~&d{t5=0v}-7 z0&FaGOQ{+mPFKu|2N=y3JUi>boB4sk@G|;x%cY~ZwUVcUa6e>Lt08n}RbB;8Nv#4y zgh @5kJ;l+a0|Am(+?1&|OLbEITF zJ{6F*RZ)~>JC8;=N_Fqfm^s$-08Eiw8`%Z^Apymi1N8B8Cs3HTtT(g(*#K}SufJh= zeeBzG+1K6IWn9&1ENn^7AVhCs@+!wvtNmZimRh_4v*#}$=GZ;(lQEh%ZWc(K16;40 zaNxGWV>gcSu4%h4x=(2rdd2%Lm^gscIvt6Tb87ZR?XZ=;T?wEMu`As{@wK2?p{haZ z4;oC~jwA7T8Kt6J4fX3S)%jzg(A3WU#q<>+qy3kSVYSDd^tCN2Zq=h_s#pul&R7I? zYu!gb0kLrAk&09N&Co)>*r}I10Jqe`Wy&+x!e+ic5VH1dE$&YJ!R@YP>g8gt9&k(W z(vQxh9^R~o9TJdnSLW{`30!lJ-8o~v49Zy)z5HL=Lf`4|^joL$Zg@g%E~DdzA^rv7 zN SzqePWgHE*t!GF$9}l&%umjPLv5QkP}$IA zDdwe8WEtIJz(mECpI&Zbog2ky3mD@Frac)oEws7K`I!|v>>6F(RwcfWHnqG_md?xS z1=pO6TssD0-KW(5d1IJJO_~fc{_f~-YU55p(TDd*=hW*z$eNvVl?md0W_pVQoDk=0 zDfWkhQg$^ Sfgc=iDY6%JHq^zru Wo| v+0tdpkc7DSRKR^>>euhy@w ?~@`sPX>+BR*e; diff --git a/vueJvEmpty/public/img/icons/android-chrome-512x512.png b/vueJvEmpty/public/img/icons/android-chrome-512x512.png deleted file mode 100644 index e056f493cd095f2eb39bfaf53f8d427c127ca945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168 zcmb7p`9G9h{QkM`nK5I=GWM|#$<|`5A##%~BxILpv6f6JDa+i0ELoxrQKkh&q32ON zE!;@yku61qOvw@oQTCay=kxjg1E2eK?(;s^b*}S%pP$aTUaynx;%p~OmLmfIgm>9n zy8!^N4`D#Ut%v4Pwbu2353$^B3Bbb(l+^=-bqqzh*;#?g4u$XQK#*zg69oW8;=dmP z*NSNCq@# s;FC_BTdRmc_Zq9o_sc(z#XSTHdugUJTs)T-#JOJd? zc3E4x$9$Ud7c49^6;~i0q8Bo9(Y#fDz!UDFmqvMV_<2|J$P0%T3XOY8CMMh*mlqK_ zm4t`c|EG|ar5d}M#JKYNe%7 i2Ce>(TnI`rKwApnu5J z|4Cia&6S4X)KZNl|B1--X}$d?U3b{6R7^%ndzlSjOdFWV2^<;g8_?)`kq6D9R;kG% zM3nulWT U2-_J5l-<0&y|@Uk6s<+OZKG2Od?#mj(zIrTHao39_4x!H{Nk!CHu3 zT@-|1CTo6&`LY6G8bZEQKv3Akdb*hL<1OD^+*jK;iM&{1F}P!84*@DiJ(jnP@U%RD zdUZap?*yRIcJnjTfk3t+pZ$?Y63I*0<$EISD+LD{6PAWtmr`v)WN#UMh**kpv^d{* zqw)5ls3m7}Wh^lyFwpN$h})_qo*2fj(e$x{gpNL0Ehyu&;XrKkmof&Bz++1d2RTyb zFhpUtnB2zSDVa#THP1`O<}K9QQ1 u&bpvho$JKyZGJ-3e6D?ePz^~2Ymz9Fap-^4};XrWQnud+fr*r73 z*j8J yODB7( ibp3e+VH4J{4i^{7)l}K*m-=x4;J@!eS2i12X?-<$tWR&|jfM zhQQH6JOUo?0^}}ZK?M3_B;X3XX-TgPlU>lqZHOaSoR#lQbV1|nxm5gN7qsYK Uj`B)0_$l4gCshjBRinFV9lcbwWv6oo;Cf| z5t<4;K|cl$)sd9-wb z*V;MRa4cXUpx&-U5X$vq<4Bw~{upyA9rR@;WPW~CF6+TII3{KsDEYxd!eU}gx{%Vr zT6t*finy!9ywGIsedvAkl5&zh!TJhhS40R^_xgNH5`i!c4RATk46krPnsWm}htZuc zg{VDZW(So&?B;)4aD$u~;NMU^E>$A*8uUr|&(_|Iid`UZlw_+7zpBHcEY1YH|NUNi zK$>_Fa*;lM9@Fhd<}A)kM~Vzwec^ZzI6J#oZ{u N;nzDE)eD z;|4ou@Rai7$_iPFgyyf?|B~WHPRuFoUT87kS7cz_sZix!TGaLv{qNBOS`!t1{EyL` zLFKrW)0GeZB307}C-t{91_N3JFdWOY`$6!@grAt0k8i5gfMz6D`z6`K)A%D4tSz*a zqd7nV!{&%bgOiqC87gJNo$<5u*MQbCATx$`jjKGv^~@@J=Xr`Ldqj$EZpzo8)O!S6 zpD(ZQ|Afj)aKmhKOyH|~NTYd4g4`{Hh2oPs`u&IL16iZlXo=|zQ}9FE$yXrqR-ita z{t*+7B-@`T5U;Kkh(GlnpKt*Z`(#X?a}F#JF)J3~4Xm9}7_!(@Ehd<8gOGk3ccDT2 zo4vStR?>2c36L&;UOh!G4=%P!A{)^2&vk1Mq8=04wJTIa4e&a+Fu9dhho-iF6Bk5d z3Etm`qh)TAIBNpP1rCs92@qL9?l^A_R_rYWS8EbepQ7)~UN|LL!Sp?8f7MB( @4w9r@2ImC|-pO~R#o-Uss1YUkPkOsQ!f&Zrb*K&kgTVDDDZmdN42@-0c`ernE zJdm9B8Vs{atA<8 @|#i}e2v3JVfH~oW0IKVj)hwnp! zPruDA0h*H7crceKMvc&Y@@euT!S@@1Sq>T_5Hl&72 +_nTnW+XJ?c zkP$3HgSs`j=*vTPviWW0K+Q%v%u*mg)Hi(tTHVc=YWjXWjTvAhO~7Buwg$=XfU^{O z(mzs-OiC%T2KZJaxGKr`JUJ~_%u0eT23n2^b3LFxUQn{IeLBz#8ASF=q3-yDcR>>a zbpmg)2s5$D+Ht1FO_qZxj3l=VJXR!hc+qwy`;f{V*ZC)sf~c%)>&!XC%CpxEjHFX< zf_xLr)?eq4+Cs$-p{C+b?h4GrZA_@L#R>p+SeV<3zX(;IhX>fN#Lm1!GyNs(gMu4m zK-@+tuy+h!utWS=pXKql`p5O2Vkge(WtQRTVSgJ^<~X eU0^ zi>jqynhfMrh!v7Q@M= Lph3s8f#c;$zd0Vlm(FZY2im-`)7b8ui6Xxk>?j?~Oj* ztdVPy4SYd9xDTqI+uPotQga`9`YDkTb3ts=c+u4 1{vud!~K$&6n#EhbE9 7*6!lJ98t+!l z4V(Ii4(>jnw-J$LoxL=(W&m+FGdJZpL%Rne%V?m?Z37|s@SA%L$_X^^kG*nEU2r@g zP%8^6*+fd89A647(Q$?L~{8fZJ>)) zh^jf@#4nKA)v``nJW~SC{ApVqapF}`;Rk<%{hh{LelqzZ_k2K3wtV>yxHA|+eqE9J zfq(W{TzxlAye~olXny7Im%!$8QOzr{wsi#qq=_TgrRvV qq#z;j~FO$ukle+AqHmU3l8Gu{}vF99@VabM)#c26V{VLgJwV)|rOf-h%MI zf7qu6ntG?* s1PJAiWl|(xkjMng{&WT za|n@z=08)!!*G|ywnmeK!JrfpDnt8%*u@BTc|aWwp!!c*zCIcKoN-()0{tyXox*us zTYz4C0+U*pCRi3FwAMhqd(qb!2YdzdS!vHyPbw0GB7{?#>^?fr_ QgvuPK&ZVVk-ww;tKwjwhEJYok&u~mwAkvx@r)4DCMom}nJx!1idTf5 zNAF+X;67wl2rw2uts&4 #@fC;*Ub zv($mwm>3}OW4Gwy IZJO6xaypMYDp@S?}D@*DwbMlI5s8ZoZsA z{${WRxH*Em&BU}C5cmX)12CdudE|7Gbl$oU5AKu|J3)cA;4Xw_TmXuyOj|Gxfgrs% zIidy{;2ofw62@axk9q#beos!5g7am7A~-KD$*BQF!30zlbSXhbuHbFXDh`B)K)7|+ z%<%zu65 tbyvM_?>K6sY!sSzwPNaMU#z z>I8ck_T|+hFtVAPvmbsdp~628s9A7wKZwBPf5ao3rRe>{&CVeXJP(L2LTFV-nK-1| zow-kn?h9X>t0DteO~e4|nyaFKo!Xd}RFJ22GzIBw&;#?D++{RoZ>&6-Y00|+aj(Na zMTt-U#Y1W`XL*K2A~!gI^>pOW?+v%l&Q%G6=lg0Ex(qUgq`He)r@(jx*h6KXNQEeG z1<=aviK?I2CpIE~8Su%+1T)47X;%PcDd3ek8z2u=`5%2`f#-Wr05q@8^TW4hWII5r zQ1w=RDPZ(d?WbU`(SYS7u{(0yke{TB_Tb$bD=1Q+8@RN4TfzS5`z0?D>N+;G@_l 4W@J@v0kne||&MFXay&+upf!Fg)wu^{u z`@1jUr@GI9KYNl_C+8AlwPy-HmT4j0gtW`7b^l+2hJ P{XDqQ57iWsbx92L}c7T--!+tlu +hv$* zrwsoVqvL^V8($Hev&HYz;?6FHIFj@uZAb;gtzXCZ8+twn3}|v)`~1yU+|z^vbJUNw z@t=!2Ib4_I#`}SRQ%jTiL}hLM$KR9)j0#VbPyAu;6iG?b1g}T7^L=jc$L+G4EvrbO z6 #{j3^fac#ve#Rw=g2eD#jM${4ZDD3z=*|UFRyrZaba$uDu5q3?R#0lgB@z6 zWcKdC(ZSe|Rld&i#FuLDCo5d|laT1}is(!CVnoVBg$)utaZdN2dYYjiP1g~1?`kq#R(5YH$Y1(iaQ7%xaV)#MOFw zY@*RcwhJ$61PQd>0k>EG{x}e6 XNi!D{ebhO4Oy zskmLmiMrA zfY%CM*(xt>yGV`52GT{K2QB`5>r8EM(a|0{osi~h@?&tUDe@KM>eZn}Z^cVGP ;17PjOW>KKez6Oe+0cmR!x;!-6UhD;-@@s?&4JcMNg4}A2Zk!wY4O}F!bK~^^ zjqF!AP2#s1aCSm;@{g>ypwLg6{nKWBP4wM_=+Uu_iC6#J3md;G2xfTe7UZo1_=vs0 z=hS*U-~Yhly7cJSy^wFV=HSgrL*(>d3&~|yfHtwr9dH(k+o7;aU Gi@ zM!%ZV9ulp&-ZoqMTrOz_nFW7G9Q5m vk8Dk= zU9w&dFgnv%{00|yjqS6IGij9=7x-_t&hr@!FZ8oe=+3*rStwmOpE=)oea`7Sw8Ml^ z>q0w(H&wP5@-AM{*T#B;-?*oKr6IfM^o6lsptu6RpZtP>POxv@wy1z Y}!mn zP*m+fC9D(m)O9wZYpk|NVt+?5N}Ipcdf^heIwR0CIjRaY)Q%#H6m2vW(v?rH?-Rf` z2Xx@(g _kU7!Q$n_sJNc@P(Xk z?aIG*>zwBT9vdhKvz`&TJ+UnJ=Ds@M2&=ASvi6z)h!;a(4nQ5Z_bc^>@{Z6@cwJUK zP4>0{+0LlW0U*BGB1NC#aU(;}%xjBZ&Z5HNh(5O~3W_SGcvh5rC39v3ITt8{*}@iI zofP_UM-xHnd+-m>H1FLhKxu51L{AP6s2oY$RQaoI3@XKYd$re+x>N_Zz1%L)nk39? zd-8lofh49q@ ;=v7A`n-7}c z12xG%Z15?^Zv4Zwa|L!H;61F61xq^4zg|#*<@I=l2+o!3yGCx~Rt2c2^sW!)nji zkqy^PXYRY!_0%~{LjpZuTJ1w_Rf^A*k5>@onoOGaQ*Jz67ATcOx9kmM#uK{i+(6!S z D|3IW#k@nXgb?gfK`=S?f*y!PM=^1_a=KdL03)8ibt^=@n| z%!J;K^`%5+aBrUl0cTE|xHq5QQK&&=?xNdG)lzmmh8MNtDBFnAFInF(1Wt#aH`XgJ z_7jx*aArqV-^-CTS %<-GTLR^1r9|Yk?(r>z6oRjikm!I@PH<~O4$F%5NpOCb8#Y7w zxN5_WpBU;Lul4Eb<_ufz!S5z0Dt=yWd(i^;DP}`bzlPsExQ6feJ?pRD6*=ntd#}SO ze%DPMBmT3xFKqS1;Kb~?_{<}zD-w(5s(ihliScoV;%PldwXQ d4Qc*gzj`$u@#fJb{vj>r G?0fM``y9IZL2@E>8CpZB@aEA~E2AAL-EV#Q{aQ9$u@}G15 zI``GRPj0<8ReN^t-Cr;3wO04;?nrf2Im{QNF8}}lrh>e*ChXqv=R!q>{cA2cpulcu z&hq+h0027Pp9>C c{!U~+FOIE zEv#*Ujv_QC&FwVQKr0a%T^<#76=x}HJD|LetMxk{RV_;&drJW;8Zl97VJ|@#0gyG= zoZ1WI;OHjkB|`HTT|rp+&ucas>c1dhdl4FmKMbk$RMe@ZoLsG`d02T_EIGLOsrdw0 zIe59*xp f~z6#vvd8qru6>$;kpku()|Ug3Y~H9Nk|3i-NSZo24tz84PrCr2a$E z+``EnEJ6d5^dBmKoc|{4==M)D!3@UcW$w(z!OH$erN4kymVe`%-CZ62Vs2&0X6;}N zvUUW!!LS^EW1a1sz)o& BG9EB7U;oj@Sy0N=+8pfUs^#S5@UM8ZntfkGt)*>{V?40Z@>|89IoLU_Gg6!N(e|nGoA2<~!E1-?{e~RM~ );fpK%P0ehOeT1(i%O!a@@b8Il#+5Uv 9r dCUC z+ay5lMz_+338!bT<^1DpRh|n*@a%o&MXapx`bu%rs^`gLL5XxoM1+ovJs5?ChE#zz zC?c5-S6o^N4~_b3K_nvf_=GfkgdLCuPWn4{Jb=a^T^@kLqVoS9){A >7$#Y^-D6-sl%k8cDXH^1h{8&p1eO>^4EEXp>n6!^$922V` zWIm0Td$_Pnq^~M}alY|_c9QFe7SGz^?8WP@R q#~K6d0R!U`r{Ii~( KvtsagK27`3Q#I zzUEyjV#`}FRckArvNCu=j9s>XJYO$ra-3rj#(M84%jm4WhKVq{kV|l(b=~E33uU!= zeWzS*7k NY2lY58YQ zWSsFe6$@QiKTD+|T~$Nwx KuBN0`xNB)F`Fa5|5!xC`e#<2?!683r^?&qaMj=DKMdm!zF9F z25X+f4ORzY#4rC$3pTL-em96X5dj7cEMm1#z!mUYq+O$Tw068p|0O0{33i36Q1y4v zuWJHqDE6C#wr~-aJP |keCs0@rq zR(@5Jg!CCS`fH`ke&rsg5&4x8|6u0As|m~&xCWEiCH*zTBB@B}J7B?1Ay!tYCTUC$#f#OgYsl^pGi6vJO)=SW|OoUteJo+hk`6ih1iBAEXyt=UGu}c zavr(Yr+ab1)rnVSXBN9L-ps9eemt0#M#1bS=Mf*xgQT3twZd9+hp}Qm9JL&E*zQmX z ~!=(%cz60P^sj$ z`hp$ug(j)-KVx1Cx#|lhwWCdqkBp=>C(_*jP*9l_a0cfN;dkKz5aJDktzbynU2!p* zM~I_obWvQdMN&m``58~a);*$R1nEig7n8gcWKTJ6wKvDXnWux4*qIH z&ml@szO-+s3R4he$n&S4Y6xkvo;C?%kv|u4%8!oIg*Wm8bzePWc|{SLP=aLPE~)+S z<8$7SKI}*eIVXkHqZF)|>tE-0h~b1-4Dr<2U)k2Y>F&l^iTpV_-bA)iDNj?a_HG4* z;3 c50;q=qS_JoBHZ*`penQ{%W(v@_D zu5b_OvwR|ObmU0#*4VExs_bYTBuqm%7JYhb_0{Wj5rRl-!t p$=TeGQPR@(Fk4dhFqd|qi`n-))c|ass=jP+~PuSx;iA)$IM?z$*0PC$) zdfSYvx}FRLZQ|I;Sx(^Dkt7HKU@Y#`T$ d zVEK_WP pKF%DA*?}dZEhFw3~wU6zCHx_UE|I_ z)WhqTb-oMy?l#+BGEi_^h{m|iGyR1D3`g86;5* 3isQB{UE)Y>z z9uH|Qloc>3SeOc>Kz+uEf2zF48%K AnDiqAZo|J% zFUT7T^TYvER8|pu =n-H z^30G4fz(@XH(`w@72}%#f~ij@Ow#+a>tVxyrsGyPuXp(irsCu|1LNccwuLyp+aG`? zBc1z7Us_6QMq1HNl~@aQ3g3!x#dwjiT>zbwa8{GxrdwX1?q?L|kT1CWCYj}VdT-If zWy(71WH?sj-MY-3l_O!5D{;iu$<|!L8VLBd6(4B#X`o7YM4E(chuU6P%%L0aL7=d> zld7eX_YsXE9 TxMq-Y6g;VctDwa*^-sefrvQdr&gB#H8LJ-{z;})V4 RHb*AIZ)i-RYA; zBm?}O_;bVZm1Cv|vTolHiJhz|C!g7ZS{iFa7ED%xTRsYz^xD Irh%xR2a!dmszhGsM7MF9|ie*;NwFdK=&?+icrHHEgRh!uviyYde;ECyT?EO zZIhl|o2q(`i4bx0PQW<#wi|Jq$OcF4LrevHd&`vK)~BS?^Oru5-aIAvYk4?No9$DQ z)@53McPv>s3>L_yZp+&08Ke$S78dCo4Y~J>u4pr0oPHAS8bdPEoiX~M57}!OAIn1j z;mC*a0;P~aL?~29UqV=7FKVi`bqzgKuJ ^Eu$TVtYWW>6qjtEu~yQyu{#lv3;LjDK0Kh;rnHy-PN%vEsyCw+{klvVUqx+PT-+R zsOdR_s7R#S?<8eW95m(pw#-_%q-wddw7v9I&`~_iwp5M1Xdj7jy8kW#`G(M9C2u|e z02|V7*-sVTXWCKy=G$s2d5QeyE34*h%6Q21awZgagO%&!Z*_0;t4>`nuTOJkQQZae z>6iVZ&G^}=(u~^3s*It@4lnzb1uRIy?kA Rc4p(5f-2%`&Rpxa+!+N?$&X7YyzW$g-$WYzuYWnzk9cS^76h)bq7CmM>Bgc_T* z@98cVLyW6*+8j!#){)bl?+|i(+`s68wOcdKqF-)=1a5q85ZzAE$??}xmNPVeHV3K2 zH&`i6;c)S6w`$L}&T4cKNbSN$4C}g?1n6_zUv(sz*Avn8`|Fn)PxoxU&F59ZWZOZs znVnv! WsJsMe(C uL%Gf-p)(p-g+C)9ZkJpfh0808fqW5^MT&^ z1R&EQBB5%j5>&?R6i4w-f1&fK+dJXdiDGT@k%QvLg;P-C{H9#n9h8cG)^+z(GtO4s z_U&>kOlC0FZcSvMNPly+PdSu*@f_TJJ&Q3aica7V#0PvB4I6VmIX7-rGlD0_xbT-E z68F9TLf!V=TA-pp0rXswSD nu)^6D_P$mKV0ANMi&?Eq+rpmEgbuTe5SO(XL~r> zs}NbidMzxX1sBqWxWAjJ@8_h4xEeO#t+8nvPjB}QaRyxPwm9#KLu?alSTv!bG zc5w$Tf=BgtTbSfR3WD4%1}Xgrc=oYy?^8Gg((~yQdm9Gy )k90UJ zk`mW}!iulQY=g9##2JmL w$QClJhNfsFPv$= z&pA`Ke__uaQ{|pz%9MvXpNrcBaBbvnG$LKo P<5%R_YfwNph!B&jIiu| zZRgUpVswUR>ld0hRFlo%#U&9{I#1DO=LBsQ3zGU-I2h7~vU{BU!EBG~`^Y;!B%g)u zg``fB`3^u<9~&}H7;luRhl?uF>@ageRGe;=Msn I)c78lQInT(j{7>Rw8Fv=MibR%Q+r3B0Ks5D+T(co9lU9XOFk3Q_X?@3 zPL@krO)fmA {i>?i7AhZ8WX6 z0?UUfFg*HL@{gZ76}A$2rL`!~6gQW`lDS!6)Yf(u?Tw8gi11WIP3(x@2G;qHWQQkI zPC1?*KyNpQY Ob~ z)Y@S*4Ie|oR!j6vdLKJ5YX0>N2IuT$Ihi|@JG7QX=69_~_YBS_A>&s!9d_D}5vEhB z4n<9mKMC{fh>tCy;0Eun>!W#+R5XU?MAgU%b_a(@-FSxyNWYFnMNDU$uS9~lOo|!z zWR*z1l^;v++{~NuNQ}L-PbcrM D#X{X*`RD?GKP=B}&OKaW1e_}in zIRJf5vAm> hOq0=c#&TW-i!ULnD78SVb zz&KqZt3nJA7ljuNrJ@RKbSID2ZqZ}bl5@r^75`zTvQkf?{&_Cpk82+zTlzm#EA54n zlm;UjJS0`f2tx-hp%^i@u__q`E^U6Bw`ZWynT;5!96064Bin=mah;Fjc=UD6pe|mo zGsJs4O55+>X(tCo)A~fSSG}73(Kd)ckzebl^QJ-$(oILLUL+|)#Od6gyl11)+Bq|i z-^>+X^`}-)Eu@HR<52I6Xu;B{REyd036Zg4xXs6XCo L3FxoVkKKMJZYVha*pht|P&B`!EsmC5e!;-A7yX2lU6@m3%~e|oU)#-AkYmXi z)gXEu`4HBXmXs&o3Lz7z*`}X) #?0UfBDC*+S*Iqs<(JB zu?zgbj$QK>vVrjS)U`c3Q`QVuMY&Hu>&l=8e6>7BSMK6_FGN5a)f{kMT)d(5y)Lqf zw>4y@6X_z6W|PZ|4DL;uk^TejF$h<7tbT9|LpFj)Z8}A%s=xM4S|SHv(kP7%f48BV z?S1Q&{d8AVbu1)YA&MSpfY=op@JXe{;z%B)4;S?LJxcqG Sa}EVct37nD*!O# =;e9{9FGu?7Xbn8qsmeHDQk5xV!oX z%8g$t#} 01i9Hq{P#2uGyXFuCvVZ#q(<{(W}V1UJT)ct(EH2Q|| zkzZp3LD&T?wP#;1ODpG1*=jtza&8*Wf(Dal5ftT cEmPZ`@EWIOlqi%dM_h|aDkY4pX zS#JAOwX^q($6rD?v~Kyady`<}%-Jnq_VuM n#o0#TJ8r*! zmR%K#+f7C8RHu>XW1m}1T19H|(N=Gh*V8F0?iuGIiX_XWpX!u2pf|!=r^TSfvnIa> ztf>oL|CD$NVM_f7rA{RIV5ws)p_JiOf+{|kn(A)|`KF0ha13~wowB+{=?nLzn4SJf zkX}-*!SYoi4o~lc!Gy?rOuEPuV4 @^v(1j4;m@Q+}$f$$w2mM=&WA$!Tt-;k-* zyxWAcs&b-ie_;3t|FE|hMyoE=$^`=`@@^O2;0Lvfxlnq6WgOvKs! 7X*O#4Jq^S# zqS2cqTcKa5&Mz1ysMVZVY=St{EhE00;bZ{p4PW>+bR5>JIUFVuQ+r5+&0V{#J|rt4 zk5bO7w2?pIO2LU3Cmb$&Ta*oec@-%bl5hjBmhzUL4XTC@g2~ik!K Hyyc%+joUbEs@1G_!G zjXoY@<-!(#ITA{S{prmUv2}GsPsE`#&bC#lw})=wo f5%JmlX>@agL3G4RlQeLA0l1~2x~Ro|<| zx% C_e+^$UP_{}cx LwUJ=lR+ri$l-EO0hc%7(ue&1v9K!*43s6t3! z;c+$CUT+`aJcv^%%M`X=$6QWh=aYTiC8u_+0^jc3lbvFpjom&LuTDZtjIfTw%@ZR( zxOKrpYW>~_JdPHY8PAjBdD<8aO-xQV;G(E8s=nANu7L8>9qs+FIJu12AzNkCwa6LX zPC%g)bq3O(9(2^UaNdTRjRj&g_&&9xgKG<-XJOSR2&}ey{C+5>qH7gUDI@(|_|(*0 zMB?KEGBJ!6*29}Py{wVzD+DG}`Q#DYpmJXfu+v&tNg{&q2LCTx 2Y&;3DOaGMbg}u&cz|IMNm#_7*p%6A2;q+uhdU-pXbu}7AWqq^+{EqHJ z(XIj~Ljwu*EOhqwG7GfooJF!+dp5T55TdC>IRjaE)3%`>2{^!TdNU-xE uGKOZ?#1-q8&fPj_wwY<9UkiaLhClugeq#uAzFR z=ZA{+o}-ieV6c!| HzZZ>8+502Atd!6t%H)sD5FhMgjSE-29OfxIBZ zs}vHN7i^G;`*we5yP+32%SDO&{#k)$gk+TG<^9({2iLEgmgV-P@4dZ`$BuhG1_oPp zBn&?5G4}=Rr*#RfCb0GDGJ|x>^)TXi0?e_S0KKx!M5Z;{iVw{UJQN;6IO`fCg)dcA z-2G}btLTbE5zX;$xkk!&8u4zAplL&L(o-g8GKRaCMx?7wM)2ypES?@C%x!)u7gRVJ zC|!>9G{Vw}TNes_F3L7G3&dmx&})`9BxW|pf*>WE3uqjIsW8XVg;GZ-GgrjWcEW8y z< }?`cI9w`InHwV95a%3}}q6IHL^Ix$tG zHK2M{lQPx5I^Puu&wIKHO-1MVsK2fZFnRjQtj)JpTV$lfsMS6TpT1cuq1nflP|4+L zHkZ2D&&D%KfzxO0YZu6&B+>{pGSeDsGlA++G3{{P=w56 V z81@q}jiUNlx4r7>+OR{9`c*oGtr=e;v11r-5;Ti&0~e@@&0|nsTG>?AFEf=0G7Q8b zuh7k43D-nQ^y#>%HFY7s_(-!)6_ij1n#aS-vgOS%=MY|L#K!tgKFZ$m`b=;8`EW(_ zJYTWDIj91zD>Li91ZNAm#rHk$McQ8Dr7v{zOA+$h_>$}8Y4=A* b~&0u5mWF<<()GAqG~eIJ8+ @Perqc?NV_R@PZ!9!zSUY$Wc_-!rvlF2i zmD0(rRL2S45WXp-SApZoB>FzPP>fa4U$L_%;&Qt2u?+TQiW+soUw20_>3Zy8Y-upt zO3-=)TiCohrUHPVxG?+b*=F>hcWg?1v JekeJSZTIiOxD}3~+M;{`xiX75GF1+dzbE<=v?vnpd)9 zh_}CFW#91mb>qH#KXJCX*jD3j_qe%dYs-Z`?_JwX`xDXdVNn24;dJE(6 x810Gm97Xn|^YT_KCAfvvpnGTU%*zCEfwX6d@dJh#7EB2%0Z)0PJFq2E1 zwL<%2*{p?Za(?c-+l1^nHjGW&dhIlAYe cdAU*ng-mS})IC!Q;_vH=NR5&)U{Jir@8k)fHRHY{$ z(0?<1vF%#gEr1_Uto5Tz>EUv{2AL@+g5g!e0ozMwLk;g9*H7zJj$wUGUR^vW9|fh9 zDC3Bz{2ZRoQ+l9PjV +|T2f|%oXG1%1M8~8=^=XX<{ zu%-6L4}y-w$KKQ3nVE;B_0v0-54B!Vy8y=~uN`O~pg!L+`9#F8N1vveIlSB<_FcX$ zqOX9&)~*EvdWKW1@*40Vm?L=OBG!_ELuKc6$0GK;;0^|2ClE!%^tle#TYU2I&+`5x zY{R=HOJv&>W427?C^&1eSI5`R!K!6byoZ-4MTR3dN7$qI#<1h#*;ZI) ~e3(8H?i zm3|;RlNtk(852PXg!lOxY+f5~(_6T3LRW;)JQw9T?ng7k)?6N7l~qqg%TVHVRo$Ml z!ExWVa=e%3wtF51l!XJ_wiU+QW?zTH_>~>3l)ZR1Mm*>y9&Q#pMcdGYARUDqkj7;| z+)P Uq-xUDVH_qgFCT_`BS+gkW7y#1qT3e$`& z>PAp >e>}sC< zihG0+2Dg%lL|QKX*4sp%@rz4(_b%UVXet{9)=limlDF%T<*U&IBi7-irG>tlY_^01 zea !lNwVH?3 #^hL;6hYaq!IP1;jH|G`9V}=Xml1KrE@M* z#yv9=c_At9Fl!LfuOK1gSugyLBI)O*`H4p8EtI=5-vV}`7?V&SsEXdgOkcBycHYTZ zRt=al{mS$(eqBLkGMrCLl$u%Of9H- 9M=r-I7l zx;m*h8%4OK%=5h6-F-;Jb%kOTkRby=ABw1;#8D9`PxM= r>8$3D7<5quS&jri3 z?W)d#L$0GwK9*$|OQLf^ceYvcjp0x!Ab8FXKFG{}7a=yn2i42Yq4fTw$rp0{KD~YN z=E}b#DgD<8b)_0Tj(&uY>E1;X;>v8=U0}|&@MCI(pat=<3qC!0pRgz|Y$go4KP3;! zJ#Fbd?k_A{d`mdm@6yKpk;P{EYFJi7k+JEQnAcU(Xy9!X{mshzp2K=w#u) cz`=)-TO7*roO^LV&yE0J6 zj)5J`$3c@FGKdgKoc1|GFWl_KWmSKFEYyNy{cyqktD~* (P{MHlc=N@Faob5 z$E50}fKBXtt1X%nI?s63Zl`fYw`|v*i^Zr5& diff --git a/vueJvEmpty/public/img/icons/android-chrome-maskable-512x512.png b/vueJvEmpty/public/img/icons/android-chrome-maskable-512x512.png deleted file mode 100644 index 09bd3fe071d4aad6cc9e34fe3dd4255cccc07822..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35153 zcmeFZbx@qm)-O7^6EwIx!QI`0y99T4moRAXgy6x0GgyFN!AWp;cXxL?Pu_3uUEjHN zuAM(`U8<;gW~RGW_v$6TB@m^mEQ^LrhztUO(B8{Qse?e!z#}vW5gvHC@|k)7UXWbm z^xQ!p6zsphP@wcod=LnZ&{k8|Lsv;rz}(r9#ni&t%#y{&(FGU{0tt!wxR{#TTY8Y2 zSz6mV2~(anw^NeaS_o6>a4WGXxky^t*vk32S!(zxYnuDnoAX;xii(g6`3L|DI9hs` zlKVJ1IJpb>2vh#Et^n}-_hVK{@_&YS*b7sN|0PJStE5UU>Fj1n&dtKZY|hTbN6yR7 z!p_6R#>vA(&cVjc&&tNf%FfBm#xB6dBf!l|{;wZOfSQ|ym4LdG%)e*>?}RCBJUm R*2Tuz!`a=&`Tu0;|9t&F5dc`Lr1T#e|I58NI{t@*yN9$FaEyO3 z =ffIJ;>&J3IXQqE!FAWpWPS)a3L^ zrslRze-FX%-= $=Slz%J+Xc zlt+Mr=YJXs2#tlQhw1 hz7}y=> zfB*cwq@=2wvz4s_@P)g&tOWUcX-OV-ejXlX4i@%*wyUHh@ZQPY!_>*#^1YNWCBPmQ zTU!eOE( ufG3M9t}&^e?2+alK&$x0;cAF6+xKN{I3L9 zT2TJ$W84324*b`$-ZqxNqW>3i@n6H-ovl2)P2DWTtpRTRKaf0DVEe3pmG-|*!uo$a z S1S*yQG1ERx9(km?wb} zjqR5wg15wKTCwas_?$)t<52kKvFujQdeA1oC$SU?AmAm9-2y4-@AsdWpxAow&3oc$ zK)}loehq8~Fq}X#1@w28c^?+&?_|{ffAarF7^bT00V+HHCi=Q79r1%=%UAS`hcf24 ze<0H+3FTU5uYYIL%d9V}Cd6=p>(4Hf?+Iea%WNe5ieTnt333Msna0moj8mbR<6i9b ztlgI9ro~qh*q5xTX5h)#TkxiPG@|Z d6Jvfx|6)Uu#C%s>q)sNL#Zqr)1qi!Xd zmhwLwvWe=*PP6lKt5oUdO)^mBDJl;q7Eug`6JE>2&=0KmmfKY*OvIc8o(Hz3DK|@) z=k+f+gsL+XYCDe`lziQVii?8Vv7&QPJ~vXu&7-Gcp*dY*MZECNE}Jh;u%^IHL>XF1 zZ#;A^8n@x#o$cWNJI`)L6>j?F^zP==P)l_?>x;CSOzBeoGK3|tqWv(i;q_+a`Szr@ z`O?|(-1~8)-CJZP3!L9@>i+0_VRU=B(t6n>`1<+u$-n*5`Elft-}~`&vGugN1$^tg z*;)k^BwwhIAhqRt);4z<*w);hv*_ygdNO)HvfKRZ4n7@SAIWijeO_NaEe5yyzoI*@ z-i}nAf{&JG`|0l=@Lp>3Bz3F5DuZI1Bz@1}F-iukw7ykp{=$Y(c915Cg)@txxv-o) z8jQ6|mS%#68U c+Jy;;l0jnUyIW@*xp47osf;G(C*dNAHaC7KKmgjD%VxivHa1mIgcDCp3 zr`|8$K^p~ykYsvAcg%f|w-rj%4K^HHC9G+-qH}t4qt9vW)te_nOyPz*?qWPqFWd7M zcd?r2oN)FYrWhKK6%OA6!fqd2Ai|oIg@5a~-vIwBA6xJbk~!2PXv$zD(DeuSki|Cz z00U?=s<30;0A%k;jcd%$SLyz|Kg?3Vx)^a^%>&=GvvCW93FK5qpm>9b#Me~H AsW3-fHk zZr Pu<4r74ui+(n^tizx*$w2H1;{GD^Ol_7D z7&5lCtbo#kU(57&eN8Bd-KQD(x<@Je9Tf!AHiWy}j-L=GnNk=idDw2Uvs6i~&D($y zbcgTYPp@+uz3LALw_dH|PEfNy!D~5HGlF!mt@xkr`5%ye-*;EFMor`4o2LLKoRf)| z4Q`5YdSufyjZDIa1Mwmh`f>V@C%63B{)Nc>@xY9ucJJmjM|GNb4q 7@CD@LKnU~W(xG^*;<1e%Sh z8tm~Uu0KH2p584@nx^sYvxZ#ZuqY~Wt3V4U%?76i^9H|tRzPO^fI{1o#%+ca#2|l^ zsVullR?59F%6HC6F2v%3k)~aR+X~idYYO$NV0~GIf3`T_cb$;AD^xG^uG8E%6yrx~ zVa{_04ud&<*#SLPWNb3Gd18pxlZG~e1*%;c=&&eF62g?4m))Qjjy>ZWFjXUj5DH&m z4oQ~IGUigML*IZ{AugP;7a4K=JGe>u9s6#D-lUC$u=i?_EE83nHh6eV>{hM1&?Ykq zs17VTeqZ>Cb7B {4x<1X@|%0xJ#Rj3x63(l|AvYfYp&9WsHM4gwY=^Yk3d_~ zGd=J$jBb +-k^2kx12^pMKJPn@9tR9SMC!02_h>PN0g-*B?AnFP z)~;$+&CEJ}6SpYH7}9;54Dy${BEaioWgHrD$QFJ>EbD71WsEtVe}x^A87TgJ8XccA z1n~Hww3GrQ()a6tsA*zskxAU~4LD7AEBjg9T{n}+P+~!61Qp|msFgLaLdj}v``}nQ zM^AFvVr6S3vpkc+-V*0o#1e=A+YyIE@BNk6etKn5hO?xbn8yR{CEoOv$%{s)BiStm z%wa<8iZW!n1fwVU?B;jDm(K4p^HyU_NXtmrtV#e-0dFZ=xZtav87LB6^CtfxsVfQh z)=@0x9X~R5$kFG`mC?w)@-E-gWly}Hp9OcnK+^@0O*-p2#1e1-)Tg6^tq-nm=>F`l z!l18vvU;Pgu@fa>F@AtKi0KY{%-piYxUauy#>lSVUXTr%4dxBnY!RfK$Jby3u0tMf z nO#OaPY^N `d~;(_j|ZGiab_&gHqlFYt RoQ6QBLLu zzPO8eNXt6R>sy!fKn|DPJ#+IR!dlo4rU;a-02Tfr5&YDIFEM8*kY8jfaQYX#Z+_^) z{<1x 8v#{|-S?gW&N6(Z-eI8tOB1gi^WBSehlUgC&LE{L6+_4PdJ18e_HTVl{{~ zf@O~`Sh Ls|%tJNgeuAQsp@S`Ud9-!{eeGoT8Cw;|h zuqIjxX+BQd)FyrBMF3*%c~WUvi06 z67C{zFP^>1+?w0PqT^V3%!jao&b6 UmGU{S9#MvH398tof54gqXtks+$3^Y1eo}iej;^sk zA6f Fi?8 zoBSv6r&&pD63d<-&{x0ZXtvETNy0PNH2^POlF23P)j1UhP>+UUUuB>&%; Clp*Wv-f_!1D6eytuzza5*p=+ zCiT^0r=#@(l+}Tw&mJtVMs05Ko Nn{U0 BvY~S zqKm)%>K}~fFu$6{J An@naFqFi2OxGnK=M`yMhTNaKbiqweNC``nd__{kSWk zIZ}rVrJ^R|@)y~{s|MIWqt>`9?jn$Kt9I~5${NY_dA5NZC&iziZ~V@`Of~B)9$y?w zb;w|6bm>C>aOF}(mnpmw6}zs5ICNFs6KT+E#RU&{#B^vBx?K>v48h&6ZtJ-e%)ZNl zu7uJ1>Y9FTfz%PHk=)G!KKhoP{i>CeBRwzu`m2E53jc}@Ya~~IMwv85VPAvLx+-;` zfA+)h!Qo0X_7ygi`Ai%QD1S6+ZxaZg+P9%!-{m=|0TRF&3yU~)$i>E-hd>kmhKn|R z6)KR6SMdH $iYYuH%YZf!?V$6R!pG0QiO*fH^Pq5`8Ou&suU|s&%yHJcOt=jX3wyXOT#H zzmt9>d*5@DtZbk`;CSHpI5Y(@Ew~oeM5;7e(>`ky&h#Y%^1vitxR(~oUY4sFEGzDv zG}tezb#H>P<6P9bhwvV&9n}CXpjtdV?hjVbI9CNDLJ0XQ^#Gk(QFS!foCjLGwA2oF z4p(+Qj($i)qtvTily~ut(k1g{rt{wHHy2Sbz>;35FG{0BFDzZoYn}?@Pz2`iCtjUv z+F`b?N7?D$z$3dS#lztX#!-`lkWTK0?vVQMvGPb@9t|SkZ0lz3mBNg1EEgW432QqU zFd<)}`bc-5^075g$RvDQ7a3lqv{vL3_7LMI$z&ad5jFu>pO2cR=6+z8l6i){LZ z4GTz lR!vC#5D*Kaf5TLh}TV2_?~hsJfb-tbw4S3Pq@D&P&w1Ck+Jk zOc-p~fxhb_5w3F>Hxm(*YVE8PK%f9UB&iF{_S8i_bUS-kp+f#t4*8H_Y(A8g>9@>8 znWMUHyY{U|>M+Wy?4rT #v6g3Xki9g5ZL}p)hYNBZy|6*$%}ZN{_1oeI0`noa{*A}pB=@5+ zF;PDD`6rgM=liCfRB@I`XI2Mh>Ax8(Nja&qjVs$V>FZy0dp@!3R4P-4v5|`O4w63Q zD>fptPFk-*qsy3DK;#;OK2gr90Q#g-XK?b7nuV^N@$9FBfrnU6TAa9+q)8$<849%U zT$&AuV#1!F?@8OLlh)_49HBV|KE+yPKsQ*pPc2mplmlgxMoS@R_v}5WnUJ0i9utn} zNf^u)4A>XvslmZxuWcG8BzzQr)0n50i+?OGQ94FT4^X|%czeo|Un=tiAPB*-`Fz5t zE&HvH`A!W0o)LN`fUyd#fi>Zaj8x{K{V)n^`T`exY=;0gA9`>J`h7^@TGMK9eDY4` zR|MY9;VRS$V9bP`CB$nx0U;nBaLo*0i@g9`IlopNGq@+sv)G6ZGaGJxA f9`tYrZ!rGHa*e)UVaPO`akumHD=s0AP zv&;lZEZAV}R#} qcqKECv7d9BLGpxN^R^BJ-KqF`16RDL-0hPClY1Jc`zPzV< zsO8z~1>z;x!aT@hcfVBO#77|(8U%rgfmuLx8F+L|r~#iaqRG%(xYe!BaBq42i>T~@ z7XY@!M!YbbrfauTL=}>k?$= S zasP;|F)XXv*2rf3sGbsDyk7;c3-g`A0wMQWD`xXbFYHa(0nW_HEPn0R5@qBIweZ$D zzg?FqJTQa8@6(;8+UXz)z|%aG`m_2gB(ID{U8FG<=D~3Eq>1Y@*{$pvybw*>-I}Dp zeHj^@e#PR8@Wdo$1kQ?my8OAn^xhao#NPT9h@Mrxsb5Kor=4b}XM;azz1Rd+o_hiU z4LIBKFHuoZ;ns$0?c_hYX`czqdqUL3uY>sHLr%)3_3L&dj{UD>(X6E-cu$z1bp3<* z+F^P}zYCcqz5rR|-a}=~Z?PLkV6CzSviFmFr!`yw1ba9n3w(h4aOBte#?ZYV(MA56 z>$j{8s3g7ytX9SM7S-s gb7Q0GZHS`!((X8SNsI zuaFbm?b!{ti}p%w!FJ@SXmmS+dE^d4w~ WVQ%;#Qw^G`t<)5nw-?rIDb z+CMdHxy!)l2CM= Y-x|Y*pt%v@>1KF0p z#pt4wn$NQnwKk7!qALtLz}_e@DD}h~7d^R_uYzjLlU&?$fHOh!VbxbC+)529{u>Gi z0V2HxeeEZ ; T?`HVpO zX6w OP} zfmgeM3*N2HDQ52}r-_&?R@mNZhfFWDqdG7M UAlux@}`#n~ZpQ)5K)c$1`LddMO zeDW4q^1J0P6g+kx3jx{Z-_2ZQ3=Wh}+Kop4TUn8#Ka*-&ddzZbx~1fC^^`6*aSYdF z0ML>FjulyT?W@_H)Om%)^&3s(uN|04<+(P(_nK !qvfcCb~v z$`p7q^4`CaSG`9k4M@ON{A0oE-#8b{D5BLT3=5515|S9mvG(@O24s!cXH|4;_0-&m z!tIZKS(2BIEBB(hNLMDr3G1tI%wUvr9RyGO3xBb6FE_^#5ZfGV6X4yceAgX)^(^40 z##^}hyqf221*Ih9%PA?**>FiCs@zyAC6a@sxZ(;rQxy@CRITUy&Apj?Qq8|mwM?FK zTD4+RdFLfFw)e_Xb0{2Aihs;f3DShVm=ANAY|b*N%|Kco8fXZiE8gkP;MB}X?@X?+ zzePOcMRvRJkBbV=N4dNfg&uiJGF1YEvT&O7g8X%7Tmw{qg{#_<`Es(z`+lUpuku!P zb@aybn+|jh(Q^~!{PjzFr
oO9tNy`%Wb(N`*u}u4>XtY{Ph1*IxB;}-LB*OQ^k8>8&2z6 zVY`t9X~)WTN)>VMKE>Ma4$aQ$SQ5wL0=&fn9l=xLCj^QdmGg?ED~VdLm7OyQOmS=G zN>r0S>C>!m%2c9(O`?%*$1SO9q>0QYdW3wwXO%9t$6Ux<|1lQeoD?B7Kp{lv%Nem9 z6?itonRe^gL5Wn*SnmBugIs0(c_|4Fyizj*1SjyUUCE#SK0tn@*1?%dbs8Q*_Ia>h z6qL; eHYc9N&*%1oIznnC8QM zxn{c|m)su*s^h(Jhd;hr3ouDN%)T%q%*hc$nhn;#zGiOgsXwUKf{z6HC-^bjNyh1< z=LLYewmB6 T7R8)qXEL#Pp)mu?I0=7kqPJJ-Hw0{i`Qf_f z YpvdK zP3v?^j=!M74%4@v!|M1%1NkM2_*50Mrxq@XFp(EZNK2Ikg6;gJWycHLc}z(gD2eo8 z+GZ7myN)co;_6^pD- zVjxM&z3QVrpGm-la te z5Q~=_!yfD5>fxdD8`KN=#=?+4pD#N11D`)R!Yth-A%&^T03lC$EBF1V^i{w(1saM1 zh_q6z)FTHbTf*@kjNj-c)>16q*ra&h0Sk#%SrH!F UO z(5TyYdz1TKrar#>mzN}^?9U2`?K2!K{sOGqS3{w@7#KZb3~F(3Mvg#4Nr+whX*;$7 zjfBIvRY1u}M?aqY_DaTk))y2LA3}AUKCGaKvlYjv!Tw(9`9ev(L7{Bwpj=YSDJs r zdihqRPZ|rr{`9%v*WRHyr1J;G!ine6tVwqO-CE}Ad#Fm+!YqU;DJhK#qX|JE^*w^+ z1vwZ?ZQDq9_oVm3D+``zEs}m8k5*+#<(dihx8L@6LuGpS(iqF_Wi^JYoW8Uwj2T1u zIJ@Wge;kS}Oh6osz8ftYuo&+|4gG2abr$G&iMM-U*x}ysnfoJUtpKv#JG$l>nZ(R3 ziI^+5j4O4b;gc*7U<{|vvRpgnhhdMcZ0cJE;pT_KCi1VWCl@hyK5}U!lo|S2 z;blg5`7kx|kIj8S(h@n6 c!f7ULX@R^&q{Eq00jsuUqg|#w_3%@ zJcY6`hNV?xJzK_Y-v@%M2CMfYL!0^x^A6D8+E0^s8Q}gjLz2jHsMGeG5Bl^8TFo2e zSUvmjQra~7l3@ZkyS=eOKKPQaj>>E_^Y3@l&ewI$m|ZC|#~YqvDN4z0jTwBM`!4*d zEF82GokWbqx6z8msG^9?BlEyKT5c3{km$;A@4svmAl2%h`29e&y6tG%g$%+`I-nd} ztmWxQG?sxoX|Uh+F=k|Nwtr`WMk~G9PR!OhYa)LVw$A%qXGkg5vQE{wuYV=@BbZ^d zO1@qf5nnm^L_bQTa^lc10i}Zb+gciH!4?Vwmi(cx#LrTwK$hgL4ILzaJ*e)y!U! z(ycvcuP&Ox6anNLJmsXrnm6>8L|v^Mer;t#y|h6z_F@z=TOo~Le!^ >s2|oN=sQ$97M~^FkRW zD4ogCf$XP{RP*RF7<7J-iCwchBwLi&@=`T7JuyBV`Qa%&Ao#5gxFiP!n1)-Q8NILa zKqO>e|17X=I9<)kqmV(+-}JVB+iU#$lC+sWe}>5Qht7W1X}jauo!vw5R_5nrFH(Q* zmK=?3wKbR^ZeKFD`6Fc6A;v9thI@l(t6vwPug4LCNmq6eN9x$^e;$J4 8_I#T z!hZ~3T2Jv58sAypA1QB2;MGWoQK}j7sf4~$e1!A1#!G2QG^=>O1=#5*@7X8^qFmoM z*S`c=3fr-I_cdbY8G~p*-tJeauQ^iRSOoAdO-#GLE+4c_K7O<*2z2m%`=~7AS1Rr2 z>!U4BjR6R5VJq679qzQ-cPK9eQaR!0>9-scNI?+PhkAFwb?cd^jIUml2#ZEEV{&3|4S@Y?_0n63@!;}eplJcV zLi0fQ)7g7X@3$l|dg(42-+WZ!Ow8m~mLkljn=yRpz}Bm;A3mEJp#z?pH#w>vO(ntR zQ#=-;kbdQr2tuq<;T|9plmdPF6`IP~(AlO#l`wHNxm$?dQ%DWk@g;Yn*28b {RQVYfAC>jc5a z(!FLW;<-QbC9Yxg0e&L0E_&2;2Xo%vF~iyL(lsvxL)| Isl|ckhCP~PHJ9z60|Z`d?IXt#rZ~TfsJ+QLzeo3uPoi(<-sQ7GlfvEL zl0@ne=paSiD69H8Kr`UpS~FL_3&71o6q!uswe*WL;V24liJk~XGO)CDO!-}!c2LV1 z#%ZoK I;h
zbU-s9H$wg4Z~O0Q0ZiUCUc1Rr_J zc>Y!~;2vxMQBOWs28ETn72Z<+7^Qu61SuoZQW~`0nFTrUQ1H)EXDE%c>%zs$OSQ$n zC4uksh;sSmVE8(8z(8?k0o2iv)93{<>)2M1KuN#Z{EbX>#)H$QQ4T4_D<51uV2`#f zYK14tDqdW2(MCqS$CYJPm>N-X5yQG)Uxq)e!FmB52TTq_*neCD3;B{{F-Uc$?Z!LP zpfC`5v>1*nuod455{bFfG*8e7uTp1`WzRI)OFV{u=}#WHn-WT^&V^`&8LL{d5}o-p zt+#!*OiRy92cyp!dyreX7?5k`%uD^OyIW^HNWPN!5>OvA%5(CSy(xK2P$c4Q%LE0S zcQ6-GBE5>DB1-_Q4Gzg*Zrt%Z8Lb1v(Y#;Hd%8nwu$B}{>V+OAAudH>Om&_|gkyga zmk-7TMHIa3&CwAqmNU1eh_hy$ZWhV$O7_A=9TXuS-U3yo?)}es<^(@ol|YbWyIt2c zjDh%}uiT*<@}F&-vutEN_ggn-Ro$AD{7ReFAE0em>6+#!`D?{iSY9|HPPbsu0PElB z-ld_IB!b{ja-zPO4uUmJ6Aiw8S&jcA&SjVvV3TfRUER9&@!jtR_XHHBrziLWjFR|z z;nqnM4;2 Cyovh5tu4w8IKCatf$jI*m)Z#7Xw zs5JYmu@f$t6BHaTPU49f5Xjr7X`03e(?i=0q1o)ETX{D4mbEK9y s@5f$#Pz-O z214K7&4{&Mul`NHra@`k6c7RIPxFZ*+eB82ca1clV2FddWvbt@fd`w_F&wt*Yu+eE zpVL*JlShYhkeS#q9uzu?&YP%u?N4TPy$-t5Y(r#7(Cr#h(o&cN$Fmo}3hInB`tsXb zY^n~PX?l3~0UTVzwp^Fb{7|*~d&cmpeLJ75?ek$JTFRm`enhQU4JToeTEf)9k?zBa zdCoTkLXi_&gw}g;d81elNY+B u@7gJt5O_bsX9{o$#4?Vn23`4w|tXKz; zZaT>trfPNMHbGc!P%ws5rD~wr->wHo2B?7|yNX&m#DHP`FYftSeP6EL_3#_c01acq zu9-rm5Kh!#-|u<~>QRy2v#xdP{kJt4hBeCP)+6tdZ<7KlBb;$_K#lTpEyXg8O=eX# zwL1mvZY{}Z6K{QhDCw5RLbuD2l?}!rjZyg$<15t)Cowj(^W;=M)e?@JJ5AFRivX&N z#Lq&hpZUtFq}i~e4h9fH7=+8E &h|TjuD_c_sohsysR*Oai;2N0mEX zZEKcy&-7y*ULXx2#_qF^PL_`~Zq#Y3k|JfqA9SQy5y?KQ#P3UzuWXQK!cSXfF%I=} zp`usCuTAn{e|~Fhn)XN_P6d^QZ0gpz%7esw;HMp>BTQ$Ef7Z#{uEMTsKD8kQSK_D! zI)q$w_P r*@JsQ`Jz(Np5aY%Z}V-=uPt7Zg7 zp}v?*znU|Yz$KA=%e|7@{Ahi@p2Cs*TSJo+!2O7`mX!fKISHdTGf%$o(jURwl>D=Q zcwB|=hy=vq<<{tAP$0alPUz7?nL x(o|a<6&km=NR0Mf5rCGTeijwJ_}~9_UfC(4rP3 z^P6_fcK_ABCmE!?qJx+=N^_;mI`(j`P2HtL z6VktKd+pF8&&SOTW@FkS=e&Ts6JvQMzd7 %NEaTHw?t1c(- zbb wgBa?i ?z&1i}()Y+cBC^8@|y znT+sD;`i0TY)_&6ZQA{0^mH8Evb8W9{cs=W&>z}Qrz5egjL)BgsO%-%qcx*&`GX)d zAb1cS(zt~pA10 |t!_3}FH170Mju8>}E$iLpq;VtGl8KHHvD zF{;6ksJu FGa+EEYa5pe48;cOl?6@sVe;teXkmWvs8YzQZN?ZRfCu3&M<(^5A5fXs71%QAdj8 zNqvk9MlJx1A7?- i_tyLsF z55w~^yTlCP59v>H(I~y6Cf5jf*X jE8tE0&+1>?CrXtu5TUPoKT7<0rBO&QFjs<6gO~Ok@P0Fvby oISTN8lpNQYGI8+JTE zZv%@! >7n#hiOu29t^vrL$%- q3E}p7U7N<1TZ-NgnhTC zIn?Lh-$rli`y}{qa@Bra^1^y-kD(~lIJaEazM2f3=ZHJ-MFm?s;t0=D@%7F&F6fhL zzWTlsOg(_>35+(va^F&}pS7S~G=*Ks6Dh?kV&*QaLIF9&iow{B8zSEQEF m}9JayVHmZu!O=-VUW$t^YOy=GGk_1bv1xWDZ zY(UgZ-{JTQ0x-bv5*ApfA8!ZhMC1-ZqOnksP0t~?i2XJnLIr*z&eq83EGxBZ-6J1z zNpzF?*(%d$8R>Q9BhATNiB5jICs74PGKn)EQ(XNP>9e~HKa6{P-{sGR?=HGw;fP`} z(GEYD>nQA>?cQ8gJmV>EDe@31JkF zQu-R(6!C{&R47hR+k}c11kzVq*73lw;%bybY?%J*oVU$J1*YFE43AU8w7(#%wG>