From 5f88b0e216e049f86c2c3f5def10fdd638cf0cc5 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Fri, 12 Aug 2022 09:56:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E5=92=8C=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=EF=BC=8C=E5=88=86=E5=88=AB=E6=8B=86=E5=88=86=E6=88=90=E4=B8=A4?= =?UTF-8?q?=E4=B8=AA=E7=8B=AC=E7=AB=8B=E9=A1=B9=E7=9B=AE=EF=BC=8C=E4=BE=BF?= =?UTF-8?q?=E4=BA=8E=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +- ant-design-vue-jeecg/.dockerignore | 23 - ant-design-vue-jeecg/.editorconfig | 39 - ant-design-vue-jeecg/.env | 6 - ant-design-vue-jeecg/.env.development | 7 - ant-design-vue-jeecg/.env.production | 4 - ant-design-vue-jeecg/.env.test | 4 - ant-design-vue-jeecg/.eslintignore | 1 - ant-design-vue-jeecg/.gitattributes | 1 - ant-design-vue-jeecg/.gitignore | 21 - ant-design-vue-jeecg/.prettierrc | 5 - ant-design-vue-jeecg/Dockerfile | 29 - ant-design-vue-jeecg/LICENSE | 213 - ant-design-vue-jeecg/README.md | 133 - ant-design-vue-jeecg/babel.config.js | 6 - ant-design-vue-jeecg/idea.config.js | 24 - ant-design-vue-jeecg/package-lock.json | 18282 ---------------- ant-design-vue-jeecg/package.json | 117 - ant-design-vue-jeecg/public/avatar2.jpg | Bin 80189 -> 0 bytes .../cdn/babel-polyfill/polyfill_7_2_5.js | 6953 ------ .../cdn/font-icon/font_2316098_umqusozousr.js | 1 - ant-design-vue-jeecg/public/color.less | 7720 ------- ant-design-vue-jeecg/public/goright.png | Bin 1105 -> 0 bytes ant-design-vue-jeecg/public/index.html | 260 - ant-design-vue-jeecg/public/logo.png | Bin 8929 -> 0 bytes ant-design-vue-jeecg/public/static/config.js | 11 - .../public/tinymce/langs/zh_CN.js | 261 - .../tinymce/skins/lightgray/content.min.css | 554 - .../tinymce/skins/lightgray/skin.min.css | 2159 -- ant-design-vue-jeecg/public/v2.js | 1 - ant-design-vue-jeecg/src/App.vue | 44 - ant-design-vue-jeecg/src/api/GroupRequest.js | 30 - ant-design-vue-jeecg/src/api/api.js | 162 - ant-design-vue-jeecg/src/api/index.js | 10 - ant-design-vue-jeecg/src/api/login.js | 87 - ant-design-vue-jeecg/src/api/manage.js | 213 - .../src/assets/background.svg | 69 - ant-design-vue-jeecg/src/assets/checkcode.png | Bin 2236 -> 0 bytes ant-design-vue-jeecg/src/assets/daiban.png | Bin 3632 -> 0 bytes ant-design-vue-jeecg/src/assets/duban.png | Bin 4933 -> 0 bytes ant-design-vue-jeecg/src/assets/guaz.png | Bin 7491 -> 0 bytes .../src/assets/less/AppIcon.less | 33 - .../src/assets/less/JAreaLinkage.less | 259 - .../src/assets/less/TableExpand.less | 15 - .../src/assets/less/codemirror_idea.css | 1 - .../src/assets/less/common.less | 61 - .../src/assets/less/index.less | 28 - .../src/assets/logo-white.png | Bin 20703 -> 0 bytes ant-design-vue-jeecg/src/assets/logo.png | Bin 8929 -> 0 bytes ant-design-vue-jeecg/src/assets/logo.svg | 172 - ant-design-vue-jeecg/src/assets/nodata.png | Bin 101556 -> 0 bytes ant-design-vue-jeecg/src/assets/pdf4.jpg | Bin 50960 -> 0 bytes ant-design-vue-jeecg/src/assets/zaiban.png | Bin 10332 -> 0 bytes ant-design-vue-jeecg/src/cas/sso.js | 77 - .../src/components/AvatarList/Item.vue | 46 - .../src/components/AvatarList/List.vue | 100 - .../src/components/AvatarList/index.js | 4 - .../src/components/AvatarList/index.less | 60 - .../src/components/ChartCard.vue | 111 - .../src/components/CountDown/CountDown.vue | 103 - .../src/components/CountDown/index.js | 3 - .../src/components/Ellipsis/Ellipsis.vue | 49 - .../src/components/Ellipsis/index.js | 3 - .../src/components/JVxeCells/JVxeFileCell.vue | 228 - .../components/JVxeCells/JVxeImageCell.vue | 242 - .../components/JVxeCells/JVxePopupCell.vue | 63 - .../components/JVxeCells/JVxeRadioCell.vue | 60 - .../JVxeCells/JVxeSelectDictSearchCell.js | 262 - .../src/components/JVxeCells/install.js | 36 - .../src/components/NumberInfo/NumberInfo.vue | 54 - .../src/components/NumberInfo/index.js | 3 - .../src/components/NumberInfo/index.less | 55 - ant-design-vue-jeecg/src/components/README.md | 43 - .../src/components/Trend/Trend.vue | 41 - .../src/components/Trend/index.js | 3 - .../src/components/Trend/index.less | 42 - .../src/components/_util/Area.js | 85 - .../src/components/_util/StringUtil.js | 46 - .../src/components/_util/util.js | 12 - .../src/components/chart/AreaChartTy.vue | 88 - .../src/components/chart/Bar.vue | 50 - .../src/components/chart/BarAndLine.vue | 60 - .../src/components/chart/BarMultid.vue | 96 - .../src/components/chart/DashChartDemo.vue | 187 - .../src/components/chart/IndexBar.vue | 61 - .../src/components/chart/LineChartMultid.vue | 95 - .../src/components/chart/Liquid.vue | 80 - .../src/components/chart/MiniArea.vue | 69 - .../src/components/chart/MiniBar.vue | 76 - .../src/components/chart/MiniProgress.vue | 75 - .../src/components/chart/Pie.vue | 70 - .../src/components/chart/README.md | 367 - .../src/components/chart/Radar.vue | 90 - .../src/components/chart/RankList.vue | 81 - .../src/components/chart/StackBar.vue | 54 - .../src/components/chart/TransferBar.vue | 66 - .../src/components/chart/Trend.vue | 84 - .../src/components/chart/chart.less | 13 - .../components/chart/mixins/ChartMixins.js | 10 - .../src/components/dict/JDictSelectTag.vue | 111 - .../src/components/dict/JDictSelectUtil.js | 147 - .../src/components/dict/JMultiSelectTag.vue | 132 - .../src/components/dict/JSearchSelectTag.vue | 270 - .../src/components/dict/README.md | 181 - .../src/components/dict/index.js | 16 - .../src/components/index.less | 4 - .../src/components/jeecg/JAreaLinkage.vue | 162 - .../src/components/jeecg/JCategorySelect.vue | 243 - .../src/components/jeecg/JCheckbox.vue | 43 - .../src/components/jeecg/JCodeEditor.vue | 483 - .../src/components/jeecg/JCron.vue | 65 - .../src/components/jeecg/JDate.vue | 86 - .../components/jeecg/JEasyCron/EasyCron.vue | 317 - .../components/jeecg/JEasyCron/InputCron.vue | 99 - .../components/jeecg/JEasyCron/format-date.js | 37 - .../src/components/jeecg/JEasyCron/index.js | 6 - .../components/jeecg/JEasyCron/tabs/const.js | 21 - .../components/jeecg/JEasyCron/tabs/day.vue | 101 - .../components/jeecg/JEasyCron/tabs/hour.vue | 67 - .../jeecg/JEasyCron/tabs/minute.vue | 67 - .../components/jeecg/JEasyCron/tabs/mixin.js | 162 - .../jeecg/JEasyCron/tabs/mixin.less | 42 - .../components/jeecg/JEasyCron/tabs/month.vue | 67 - .../jeecg/JEasyCron/tabs/second.vue | 68 - .../components/jeecg/JEasyCron/tabs/week.vue | 118 - .../components/jeecg/JEasyCron/tabs/year.vue | 60 - .../components/jeecg/JEasyCron/validator.js | 51 - .../src/components/jeecg/JEditableTable.vue | 3483 --- .../src/components/jeecg/JEditor.vue | 172 - .../src/components/jeecg/JEllipsis.vue | 29 - .../src/components/jeecg/JFormContainer.vue | 62 - .../src/components/jeecg/JImageUpload.vue | 239 - .../src/components/jeecg/JImportModal.vue | 168 - .../src/components/jeecg/JInput.vue | 111 - .../jeecg/JMarkdownEditor/default-options.js | 29 - .../jeecg/JMarkdownEditor/index.vue | 255 - .../src/components/jeecg/JModal/JModal.vue | 261 - .../src/components/jeecg/JModal/JPrompt.vue | 124 - .../jeecg/JModal/ModalDragMixins.js | 152 - .../src/components/jeecg/JModal/index.js | 18 - .../src/components/jeecg/JPopup.vue | 233 - .../src/components/jeecg/JSelectMultiple.vue | 113 - .../src/components/jeecg/JSlider.vue | 116 - .../src/components/jeecg/JSuperQuery.vue | 701 - .../src/components/jeecg/JSwitch.vue | 83 - .../src/components/jeecg/JTime.vue | 77 - .../src/components/jeecg/JTreeDict.vue | 198 - .../src/components/jeecg/JTreeSelect.vue | 259 - .../src/components/jeecg/JTreeTable.vue | 180 - .../src/components/jeecg/JUpload.vue | 459 - .../JVxeTable/components/JVxeDetailsModal.vue | 75 - .../JVxeTable/components/JVxePagination.vue | 67 - .../JVxeTable/components/JVxeSubPopover.vue | 188 - .../jeecg/JVxeTable/components/JVxeTable.js | 1456 -- .../JVxeTable/components/JVxeToolbar.vue | 128 - .../components/cells/JVxeCheckboxCell.vue | 103 - .../components/cells/JVxeDateCell.vue | 68 - .../components/cells/JVxeDepartSelectCell.vue | 174 - .../components/cells/JVxeDragSortCell.vue | 138 - .../components/cells/JVxeInputCell.vue | 87 - .../components/cells/JVxeNormalCell.vue | 42 - .../components/cells/JVxeProgressCell.vue | 60 - .../components/cells/JVxeSelectCell.vue | 221 - .../components/cells/JVxeSlotCell.js | 46 - .../components/cells/JVxeTagsCell.js | 145 - .../components/cells/JVxeTextareaCell.vue | 36 - .../components/cells/JVxeTimeCell.vue | 57 - .../components/cells/JVxeUploadCell.vue | 191 - .../components/cells/JVxeUserSelectCell.vue | 162 - .../components/cells/ReloadEffect.js | 84 - .../src/components/jeecg/JVxeTable/index.js | 53 - .../src/components/jeecg/JVxeTable/install.js | 105 - .../components/jeecg/JVxeTable/jvxeTypes.js | 45 - .../jeecg/JVxeTable/less/j-vxe-table.less | 59 - .../jeecg/JVxeTable/less/reload-effect.less | 46 - .../jeecg/JVxeTable/less/size/tiny.less | 332 - .../jeecg/JVxeTable/mixins/JVxeCellMixins.js | 330 - .../JVxeTable/mixins/vxe.web.socket.mixins.js | 270 - .../jeecg/JVxeTable/utils/cellUtils.js | 129 - .../jeecg/JVxeTable/utils/vxeUtils.js | 217 - .../src/components/jeecg/README.md | 512 - .../components/jeecg/README_JEditableTable.md | 577 - .../src/components/jeecg/README_JPopup.md | 65 - .../src/components/jeecg/index.js | 91 - .../src/components/jeecg/minipop/JFilePop.vue | 117 - .../components/jeecg/minipop/JInputPop.vue | 113 - .../src/components/jeecg/modal/JCronModal.vue | 928 - .../jeecg/modal/JPopupOnlReport.vue | 460 - .../JSelectBizComponentModal.vue | 386 - .../JSelectBizQueryItem.js | 48 - .../jeecgbiz/JSelectBizComponent/README.md | 36 - .../jeecgbiz/JSelectBizComponent/index.vue | 167 - .../src/components/jeecgbiz/JSelectDepart.vue | 182 - .../components/jeecgbiz/JSelectMultiUser.vue | 74 - .../components/jeecgbiz/JSelectPosition.vue | 37 - .../src/components/jeecgbiz/JSelectRole.vue | 38 - .../components/jeecgbiz/JSelectUserByDep.vue | 145 - .../src/components/jeecgbiz/README.md | 137 - .../jeecgbiz/modal/JSelectDepartModal.vue | 300 - .../jeecgbiz/modal/JSelectUserByDepModal.vue | 366 - .../jeecgbiz/modal/SelectUserListModal.vue | 122 - .../jeecgbiz/thirdApp/JThirdAppButton.vue | 214 - .../jeecgbiz/thirdApp/JThirdAppDropdown.vue | 34 - .../src/components/layouts/BasicLayout.vue | 60 - .../src/components/layouts/BlankLayout.vue | 16 - .../components/layouts/IframeFReportView.vue | 47 - .../src/components/layouts/IframePageView.vue | 80 - .../src/components/layouts/PageView.vue | 85 - .../src/components/layouts/RouteView.vue | 42 - .../src/components/layouts/TabLayout.vue | 461 - .../src/components/layouts/UserLayout.vue | 150 - .../src/components/layouts/index.js | 8 - .../src/components/lazy_antd.js | 126 - .../src/components/menu/Contextmenu.vue | 71 - .../src/components/menu/SideMenu.vue | 181 - .../src/components/menu/index.js | 219 - .../src/components/page/GlobalFooter.vue | 51 - .../src/components/page/GlobalHeader.vue | 227 - .../src/components/page/GlobalLayout.vue | 698 - .../src/components/page/PageHeader.vue | 238 - .../src/components/page/PageLayout.vue | 127 - .../src/components/page/SHeaderNotice.vue | 58 - .../src/components/setting/SettingDrawer.vue | 323 - .../src/components/setting/SettingItem.vue | 38 - .../src/components/table/README.md | 292 - .../src/components/table/StandardTable.vue | 252 - .../src/components/table/index.js | 269 - .../src/components/tools/Breadcrumb.vue | 48 - .../src/components/tools/DepartSelect.vue | 162 - .../src/components/tools/DetailList.vue | 147 - .../src/components/tools/DynamicNotice.vue | 36 - .../src/components/tools/FooterToolBar.vue | 32 - .../src/components/tools/HeadInfo.vue | 67 - .../src/components/tools/HeaderNotice.vue | 358 - .../src/components/tools/Logo.vue | 64 - .../src/components/tools/ShowAnnouncement.vue | 156 - .../src/components/tools/TwoStepCaptcha.vue | 89 - .../src/components/tools/UserMenu.vue | 287 - .../src/components/tools/UserPassword.vue | 157 - .../src/components/tools/setting.js | 95 - ant-design-vue-jeecg/src/config/index.js | 10 - .../src/config/router.config.js | 382 - ant-design-vue-jeecg/src/defaultSettings.js | 32 - ant-design-vue-jeecg/src/icons.js | 15 - ant-design-vue-jeecg/src/main.js | 88 - .../src/mixins/DisabledAuthFilterMixin.js | 19 - .../src/mixins/JEditableTableMixin.js | 183 - .../src/mixins/JEditableTableModelMixin.js | 191 - .../src/mixins/JVxeTableMixin.js | 173 - .../src/mixins/JVxeTableModelMixin.js | 181 - .../src/mixins/JeecgListMixin.js | 374 - .../src/mixins/OnlineCommonUtil.js | 28 - .../src/mixins/WebsocketMixin.js | 65 - ant-design-vue-jeecg/src/permission.js | 82 - ant-design-vue-jeecg/src/qiankun/apps.js | 22 - ant-design-vue-jeecg/src/qiankun/index.js | 68 - ant-design-vue-jeecg/src/qiankun/state.js | 41 - ant-design-vue-jeecg/src/router/README.md | 139 - ant-design-vue-jeecg/src/router/index.js | 12 - ant-design-vue-jeecg/src/store/getters.js | 24 - ant-design-vue-jeecg/src/store/index.js | 31 - ant-design-vue-jeecg/src/store/modules/app.js | 126 - .../src/store/modules/enhance.js | 37 - .../src/store/modules/online.js | 25 - .../src/store/modules/permission.js | 90 - .../src/store/modules/user.js | 219 - .../src/store/mutation-types.js | 28 - .../src/utils/JEditableTableUtil.js | 154 - .../src/utils/LunarFullCalendarUtil.js | 107 - ant-design-vue-jeecg/src/utils/auth.js | 19 - ant-design-vue-jeecg/src/utils/authFilter.js | 277 - ant-design-vue-jeecg/src/utils/axios.js | 37 - ant-design-vue-jeecg/src/utils/browser.js | 38 - .../src/utils/commonUploadFile.js | 52 - .../src/utils/desform/CustomExpression.js | 30 - ant-design-vue-jeecg/src/utils/device.js | 23 - .../src/utils/encryption/aesEncrypt.js | 6003 ----- .../src/utils/encryption/signMd5Utils.js | 141 - ant-design-vue-jeecg/src/utils/filter.js | 30 - .../src/utils/hasPermission.js | 135 - ant-design-vue-jeecg/src/utils/mixin.js | 40 - ant-design-vue-jeecg/src/utils/permissions.js | 8 - .../src/utils/portal/constant.js | 20 - ant-design-vue-jeecg/src/utils/props-util.js | 115 - ant-design-vue-jeecg/src/utils/request.js | 194 - ant-design-vue-jeecg/src/utils/rules.js | 118 - ant-design-vue-jeecg/src/utils/storage.js | 78 - ant-design-vue-jeecg/src/utils/util.js | 689 - ant-design-vue-jeecg/src/utils/validate.js | 31 - ant-design-vue-jeecg/src/utils/vueBus.js | 5 - ant-design-vue-jeecg/src/views/Home.vue | 163 - .../src/views/account/center/Index.vue | 286 - .../src/views/account/center/page/App.vue | 113 - .../src/views/account/center/page/Article.vue | 24 - .../src/views/account/center/page/Project.vue | 17 - .../src/views/account/center/page/index.js | 5 - .../views/account/settings/AvatarModal.vue | 103 - .../views/account/settings/BaseSetting.vue | 161 - .../src/views/account/settings/Binding.vue | 25 - .../src/views/account/settings/Custom.vue | 75 - .../src/views/account/settings/Index.vue | 207 - .../views/account/settings/Notification.vue | 25 - .../src/views/account/settings/Security.vue | 41 - .../src/views/dashboard/Analysis.vue | 41 - .../src/views/dashboard/IndexBdc.vue | 519 - .../src/views/dashboard/IndexChart.vue | 268 - .../src/views/dashboard/IndexTask.vue | 372 - .../src/views/dashboard/Monitor.vue | 15 - .../src/views/dashboard/Workplace.vue | 360 - .../src/views/examples/form/BasicForm.vue | 138 - .../form/advancedForm/AdvancedForm.vue | 206 - .../form/advancedForm/RepositoryForm.vue | 119 - .../examples/form/advancedForm/TaskForm.vue | 107 - .../views/examples/form/stepForm/Step1.vue | 60 - .../views/examples/form/stepForm/Step2.vue | 82 - .../views/examples/form/stepForm/Step3.vue | 69 - .../views/examples/form/stepForm/StepForm.vue | 62 - .../src/views/examples/list/CardList.vue | 109 - .../views/examples/list/PermissionList.vue | 272 - .../src/views/examples/list/RoleList.vue | 183 - .../src/views/examples/list/StandardList.vue | 164 - .../examples/list/TableInnerEditList.vue | 288 - .../src/views/examples/list/TableList.vue | 337 - .../src/views/examples/list/UserList.vue | 265 - .../views/examples/list/modules/RoleModal.vue | 203 - .../examples/list/search/SearchLayout.vue | 78 - .../examples/profile/advanced/Advanced.vue | 342 - .../views/examples/profile/basic/Index.vue | 255 - .../src/views/exception/403.vue | 17 - .../src/views/exception/404.vue | 17 - .../src/views/exception/500.vue | 17 - .../src/views/exception/ExceptionPage.vue | 88 - .../src/views/exception/type.js | 19 - .../src/views/jeecg/ImagCropper.vue | 613 - .../src/views/jeecg/ImagPreview.vue | 115 - .../src/views/jeecg/ImgDragSort.vue | 75 - .../src/views/jeecg/ImgTurnPage.vue | 147 - .../src/views/jeecg/InterfaceTest.vue | 92 - .../src/views/jeecg/JVXETableDemo.vue | 38 - .../src/views/jeecg/JVxeDemo/JVxeDemo1.vue | 304 - .../src/views/jeecg/JVxeDemo/JVxeDemo2.vue | 184 - .../src/views/jeecg/JVxeDemo/JVxeDemo3.vue | 164 - .../views/jeecg/JVxeDemo/demo/JSBCDemo.vue | 234 - .../jeecg/JVxeDemo/demo/PopupSubTable.vue | 278 - .../jeecg/JVxeDemo/demo/SocketReload.vue | 119 - .../JVxeDemo/layout-demo/ErpTemplate.vue | 308 - .../jeecg/JVxeDemo/layout-demo/Index.vue | 42 - .../jeecg/JVxeDemo/layout-demo/Template1.vue | 330 - .../jeecg/JVxeDemo/layout-demo/Template2.vue | 260 - .../jeecg/JVxeDemo/layout-demo/Template3.vue | 245 - .../jeecg/JVxeDemo/layout-demo/Template4.vue | 347 - .../jeecg/JVxeDemo/layout-demo/Template5.vue | 224 - .../src/views/jeecg/JeecgDemoList.vue | 371 - .../views/jeecg/JeecgEditableTableExample.vue | 40 - .../src/views/jeecg/JeecgOrderMainList.vue | 192 - .../JeecgOrderMainListForJEditableTable.vue | 217 - .../jeecg/JeecgOrderMainListForJVxeTable.vue | 215 - .../src/views/jeecg/JeecgPdfView.vue | 122 - .../src/views/jeecg/JeecgTreeTable.vue | 80 - .../src/views/jeecg/PrintDemo.vue | 175 - .../src/views/jeecg/RowspanTable.vue | 285 - .../src/views/jeecg/SelectDemo.vue | 665 - .../src/views/jeecg/SplitPanel.vue | 32 - .../src/views/jeecg/TableExpandeSub.vue | 266 - .../src/views/jeecg/TableOrderTotal.vue | 231 - .../src/views/jeecg/TableTotal.vue | 164 - .../src/views/jeecg/ThirdAppMessageTest.vue | 208 - .../src/views/jeecg/helloworld.vue | 97 - .../src/views/jeecg/helloworld2.vue | 31 - .../modules/JEditableTable/DefaultTable.vue | 299 - .../modules/JEditableTable/ReadOnlyTable.vue | 70 - .../modules/JEditableTable/ThreeLinkage.vue | 129 - .../views/jeecg/modules/JeecgDemoModal.vue | 141 - .../jeecg/modules/JeecgDemoTabsModal.vue | 285 - .../jeecg/modules/JeecgOrderMainModal.vue | 289 - .../JeecgOrderModalForJEditableTable.vue | 311 - .../modules/JeecgOrderModalForJVexTable.vue | 312 - .../views/jeecg/modules/PdfPreviewModal.vue | 56 - .../src/views/jeecg/modules/SplitPanelA.vue | 27 - .../src/views/jeecg/modules/SplitPanelB.vue | 27 - .../views/jeecg/modules/SplitPanelModal.vue | 65 - .../views/jeecg/modules/SuperQueryModal.vue | 95 - .../src/views/jeecg/modules/VueCronModal.vue | 729 - .../src/views/jeecg/report/Analysis.vue | 698 - .../jeecg/report/ArchivesStatisticst.vue | 315 - .../src/views/jeecg/report/ViserChartDemo.vue | 141 - .../jeecg/tablist/JeecgOrderCustomerList.vue | 166 - .../jeecg/tablist/JeecgOrderDMainList.vue | 284 - .../jeecg/tablist/JeecgOrderTicketList.vue | 154 - .../tablist/form/JeecgOrderCustomerModal.vue | 245 - .../tablist/form/JeecgOrderDMainModal.vue | 168 - .../tablist/form/JeecgOrderTicketModal.vue | 173 - .../views/modules/message/SysMessageList.vue | 238 - .../message/SysMessageTemplateList.vue | 323 - .../message/modules/SysMessageModal.vue | 185 - .../modules/SysMessageTemplateModal.vue | 237 - .../message/modules/SysMessageTestModal.vue | 127 - .../views/modules/monitor/DiskMonitoring.vue | 52 - .../src/views/modules/monitor/HttpTrace.vue | 148 - .../src/views/modules/monitor/JvmInfo.vue | 169 - .../src/views/modules/monitor/RedisInfo.vue | 189 - .../views/modules/monitor/RedisTerminal.vue | 13 - .../src/views/modules/monitor/SystemInfo.vue | 137 - .../src/views/modules/monitor/TomcatInfo.vue | 150 - .../src/views/modules/oss/OSSFileList.vue | 196 - .../src/views/result/Error.vue | 45 - .../src/views/result/Result.vue | 91 - .../src/views/result/Success.vue | 92 - .../src/views/system/AddressList.vue | 31 - .../src/views/system/DataLogList.vue | 138 - .../src/views/system/DepartList.vue | 638 - .../src/views/system/DepartList2.vue | 260 - .../src/views/system/DepartListSync.vue | 691 - .../src/views/system/DepartUserList.vue | 221 - .../src/views/system/DictDeleteList.vue | 138 - .../src/views/system/DictItemList.vue | 225 - .../src/views/system/DictList.vue | 208 - .../src/views/system/LogList.vue | 238 - .../src/views/system/NewPermissionList.vue | 228 - .../views/system/PermissionDataRuleList.vue | 195 - .../src/views/system/PermissionList.vue | 195 - .../src/views/system/QuartzJobList.vue | 290 - .../src/views/system/RoleList.vue | 194 - .../src/views/system/RoleUserList.vue | 545 - .../src/views/system/SysAnnouncementList.vue | 332 - .../src/views/system/SysCategoryList.vue | 338 - .../src/views/system/SysCheckRuleList.vue | 178 - .../src/views/system/SysDataSourceList.vue | 178 - .../src/views/system/SysFillRuleList.vue | 194 - .../src/views/system/SysGatewayRouteList.vue | 111 - .../src/views/system/SysGatewayRouteList2.vue | 101 - .../src/views/system/SysPositionList.vue | 178 - .../src/views/system/SysUserOnlineList.vue | 166 - .../src/views/system/TenantList.vue | 165 - .../src/views/system/UserAnnouncementList.vue | 192 - .../src/views/system/UserList.vue | 392 - .../views/system/modules/AddressListLeft.vue | 106 - .../views/system/modules/AddressListRight.vue | 211 - .../system/modules/DataLogCompareModal.vue | 163 - .../src/views/system/modules/DataLogModal.vue | 153 - .../views/system/modules/DepartAuthModal.vue | 192 - .../system/modules/DepartDataruleModal.vue | 116 - .../src/views/system/modules/DepartModal.vue | 228 - .../src/views/system/modules/DepartWindow.vue | 186 - .../src/views/system/modules/DeptBaseInfo.vue | 122 - .../system/modules/DeptRoleAuthModal.vue | 213 - .../system/modules/DeptRoleDataruleModal.vue | 122 - .../src/views/system/modules/DeptRoleInfo.vue | 191 - .../system/modules/DeptRoleUserModal.vue | 200 - .../src/views/system/modules/DeptUserInfo.vue | 348 - .../views/system/modules/DictItemModal.vue | 187 - .../src/views/system/modules/DictModal.vue | 150 - .../system/modules/GateWayRouteModal.vue | 382 - .../views/system/modules/PasswordModal.vue | 142 - .../modules/PermissionDataRuleModal.vue | 172 - .../views/system/modules/PermissionModal.vue | 369 - .../views/system/modules/QuartzJobModal.vue | 141 - .../system/modules/RoleDataruleModal.vue | 120 - .../src/views/system/modules/RoleModal.vue | 139 - .../system/modules/SelectUserListModal.vue | 280 - .../views/system/modules/SelectUserModal.vue | 287 - .../system/modules/SysAnnouncementModal.vue | 235 - .../views/system/modules/SysCategoryModal.vue | 160 - .../system/modules/SysCheckRuleModal.vue | 352 - .../system/modules/SysCheckRuleTestModal.vue | 58 - .../system/modules/SysDataSourceModal.vue | 296 - .../system/modules/SysDepartRoleModal.vue | 161 - .../views/system/modules/SysFillRuleModal.vue | 143 - .../views/system/modules/SysPositionModal.vue | 175 - .../system/modules/SysUserAgentModal.vue | 181 - .../src/views/system/modules/TenantForm.vue | 184 - .../src/views/system/modules/TenantModal.vue | 59 - .../src/views/system/modules/UserModal.vue | 525 - .../system/modules/UserRecycleBinModal.vue | 193 - .../views/system/modules/UserRoleModal.vue | 200 - .../src/views/system/modules/icon/Icon.less | 35 - .../src/views/system/modules/icon/Icons.vue | 123 - ant-design-vue-jeecg/src/views/user/Login.vue | 214 - .../src/views/user/LoginAccount.vue | 160 - .../src/views/user/LoginPhone.vue | 172 - .../src/views/user/LoginSelectTenant.vue | 209 - .../src/views/user/alteration/Alteration.vue | 72 - .../src/views/user/alteration/Step2.vue | 182 - .../src/views/user/alteration/Step3.vue | 115 - .../src/views/user/alteration/Step4.vue | 55 - .../src/views/user/oauth2/OAuth2Login.vue | 130 - .../src/views/user/register/Register.vue | 394 - .../views/user/register/RegisterResult.vue | 52 - .../views/user/third/JeecgThirdLoginMixin.js | 211 - .../src/views/user/third/ThirdLogin.vue | 118 - ant-design-vue-jeecg/vue.config.js | 119 - ant-design-vue-jeecg/yarn.lock | 12065 ---------- {jeecg-boot/db => db}/Dockerfile | 0 {jeecg-boot/db => db}/jeecgboot-mysql-5.7.sql | 0 {jeecg-boot/db => db}/tables_nacos.sql | 0 {jeecg-boot/db => db}/tables_xxl_job.sql | 0 .../其他类型库/jeecgboot-oracle11g.dmp | Bin .../其他类型库/jeecgboot-oracle11g.sql | 0 .../其他类型库/jeecgboot-sqlserver2019.sql | 0 .../db => db}/增量SQL/3.2升级到3.3增量脚本sql | 0 .../db => db}/增量SQL/版本升级说明.txt | 0 .../docker-compose.yml => docker-compose.yml | 0 .../jeecg-system-cloud-api/pom.xml | 0 .../jeecg/common/system/api/ISysBaseAPI.java | 0 .../factory/SysBaseAPIFallbackFactory.java | 0 .../api/fallback/SysBaseAPIFallback.java | 0 .../java/org/jeecg/config/FeignConfig.java | 0 .../jeecg-system-local-api/pom.xml | 0 .../jeecg/common/system/api/ISysBaseAPI.java | 0 .../jeecg-boot-base-api/pom.xml | 0 .../jeecg-boot-base-core/pom.xml | 0 .../java/org/jeecg/common/api/CommonAPI.java | 0 .../org/jeecg/common/api/dto/FileDownDTO.java | 0 .../jeecg/common/api/dto/FileUploadDTO.java | 0 .../java/org/jeecg/common/api/dto/LogDTO.java | 0 .../jeecg/common/api/dto/OnlineAuthDTO.java | 0 .../common/api/dto/message/BusMessageDTO.java | 0 .../dto/message/BusTemplateMessageDTO.java | 0 .../common/api/dto/message/MessageDTO.java | 0 .../common/api/dto/message/TemplateDTO.java | 0 .../api/dto/message/TemplateMessageDTO.java | 0 .../java/org/jeecg/common/api/vo/Result.java | 0 .../jeecg/common/aspect/AutoLogAspect.java | 0 .../org/jeecg/common/aspect/DictAspect.java | 0 .../common/aspect/PermissionDataAspect.java | 0 .../org/jeecg/common/aspect/UrlMatchEnum.java | 0 .../common/aspect/annotation/AutoDict.java | 0 .../common/aspect/annotation/AutoLog.java | 0 .../common/aspect/annotation/AutoLowApp.java | 0 .../jeecg/common/aspect/annotation/Dict.java | 0 .../aspect/annotation/DynamicTable.java | 0 .../common/aspect/annotation/OnlineAuth.java | 0 .../aspect/annotation/PermissionData.java | 0 .../jeecg/common/constant/CommonConstant.java | 0 .../common/constant/CommonSendStatus.java | 0 .../common/constant/DataBaseConstant.java | 0 .../common/constant/DynamicTableConstant.java | 0 .../common/constant/FillRuleConstant.java | 0 .../common/constant/ProvinceCityArea.java | 0 .../common/constant/ServiceNameConstants.java | 0 .../jeecg/common/constant/SymbolConstant.java | 0 .../jeecg/common/constant/VxeSocketConst.java | 0 .../jeecg/common/constant/WebsocketConst.java | 0 .../common/constant/enums/CgformEnum.java | 0 .../common/constant/enums/LowAppAopEnum.java | 0 .../constant/enums/MessageTypeEnum.java | 0 .../common/constant/enums/ModuleType.java | 0 .../constant/enums/OperateTypeEnum.java | 0 .../constant/enums/RoleIndexConfigEnum.java | 0 .../annotation/SensitiveDecode.java | 0 .../annotation/SensitiveEncode.java | 0 .../annotation/SensitiveField.java | 0 .../aspect/SensitiveDataAspect.java | 0 .../desensitization/enums/SensitiveEnum.java | 0 .../util/SensitiveInfoUtil.java | 0 .../common/es/JeecgElasticsearchTemplate.java | 0 .../jeecg/common/es/QueryStringBuilder.java | 0 .../exception/JeecgBoot401Exception.java | 0 .../common/exception/JeecgBootException.java | 0 .../exception/JeecgBootExceptionHandler.java | 0 .../common/handler/IFillRuleHandler.java | 0 .../common/system/annotation/EnumDict.java | 0 .../base/controller/JeecgController.java | 0 .../system/base/entity/JeecgEntity.java | 0 .../system/base/service/JeecgService.java | 0 .../base/service/impl/JeecgServiceImpl.java | 0 .../common/system/query/MatchTypeEnum.java | 0 .../common/system/query/QueryCondition.java | 0 .../common/system/query/QueryGenerator.java | 0 .../common/system/query/QueryRuleEnum.java | 0 .../system/util/JeecgDataAutorUtils.java | 0 .../org/jeecg/common/system/util/JwtUtil.java | 0 .../common/system/util/ResourceUtil.java | 0 .../jeecg/common/system/vo/ComboModel.java | 0 .../org/jeecg/common/system/vo/DictModel.java | 0 .../jeecg/common/system/vo/DictModelMany.java | 0 .../org/jeecg/common/system/vo/DictQuery.java | 0 .../system/vo/DynamicDataSourceModel.java | 0 .../org/jeecg/common/system/vo/LoginUser.java | 0 .../common/system/vo/SelectTreeModel.java | 0 .../common/system/vo/SysCategoryModel.java | 0 .../common/system/vo/SysDepartModel.java | 0 .../system/vo/SysPermissionDataRuleModel.java | 0 .../common/system/vo/SysUserCacheInfo.java | 0 .../org/jeecg/common/util/BrowserType.java | 0 .../org/jeecg/common/util/BrowserUtils.java | 0 .../org/jeecg/common/util/CommonUtils.java | 0 .../java/org/jeecg/common/util/DateUtils.java | 0 .../java/org/jeecg/common/util/DySmsEnum.java | 0 .../org/jeecg/common/util/DySmsHelper.java | 0 .../org/jeecg/common/util/FillRuleUtil.java | 0 .../java/org/jeecg/common/util/HTMLUtils.java | 0 .../jeecg/common/util/ImportExcelUtil.java | 0 .../java/org/jeecg/common/util/IpUtils.java | 0 .../java/org/jeecg/common/util/Md5Util.java | 0 .../java/org/jeecg/common/util/MinioUtil.java | 0 .../org/jeecg/common/util/MyClassLoader.java | 0 .../org/jeecg/common/util/PasswordUtil.java | 0 .../java/org/jeecg/common/util/PmsUtil.java | 0 .../org/jeecg/common/util/ReflectHelper.java | 0 .../jeecg/common/util/RestDesformUtil.java | 0 .../java/org/jeecg/common/util/RestUtil.java | 0 .../jeecg/common/util/SpringContextUtils.java | 0 .../jeecg/common/util/SqlInjectionUtil.java | 0 .../jeecg/common/util/SysAnnmentTypeEnum.java | 0 .../org/jeecg/common/util/TokenUtils.java | 0 .../org/jeecg/common/util/UUIDGenerator.java | 0 .../jeecg/common/util/YouBianCodeUtil.java | 0 .../util/dynamic/db/DataSourceCachePool.java | 0 .../common/util/dynamic/db/DbTypeUtils.java | 0 .../common/util/dynamic/db/DynamicDBUtil.java | 0 .../dynamic/db/FreemarkerParseFactory.java | 0 .../util/encryption/AesEncryptUtil.java | 0 .../util/encryption/EncryptedString.java | 0 .../common/util/filter/FileTypeFilter.java | 0 .../common/util/filter/StrAttackFilter.java | 0 .../org/jeecg/common/util/oConvertUtils.java | 0 .../jeecg/common/util/oss/OssBootUtil.java | 0 .../AbstractQueryBlackListHandler.java | 0 .../common/util/security/SecurityTools.java | 0 .../util/security/entity/MyKeyPair.java | 0 .../util/security/entity/SecurityReq.java | 0 .../util/security/entity/SecurityResp.java | 0 .../util/security/entity/SecuritySignReq.java | 0 .../security/entity/SecuritySignResp.java | 0 .../util/superSearch/ObjectParseUtil.java | 0 .../util/superSearch/QueryRuleEnum.java | 0 .../common/util/superSearch/QueryRuleVo.java | 0 .../java/org/jeecg/config/AutoPoiConfig.java | 0 .../org/jeecg/config/AutoPoiDictConfig.java | 0 .../org/jeecg/config/CorsFilterCondition.java | 0 .../java/org/jeecg/config/DruidConfig.java | 0 .../org/jeecg/config/JeecgBaseConfig.java | 0 .../org/jeecg/config/JeecgCloudCondition.java | 0 .../org/jeecg/config/RestTemplateConfig.java | 0 .../java/org/jeecg/config/StaticConfig.java | 0 .../java/org/jeecg/config/Swagger2Config.java | 0 .../org/jeecg/config/WebMvcConfiguration.java | 0 .../org/jeecg/config/WebSocketConfig.java | 0 .../filter/RequestBodyReserveFilter.java | 0 .../jeecg/config/filter/WebsocketFilter.java | 0 .../config/mybatis/JeecgTenantParser.java | 0 .../config/mybatis/MybatisInterceptor.java | 0 .../config/mybatis/MybatisPlusSaasConfig.java | 0 .../jeecg/config/mybatis/TenantContext.java | 0 .../config/mybatis/ThreadLocalDataHelper.java | 0 .../mybatis/aspect/DynamicTableAspect.java | 0 .../DynamicDatasourceInterceptor.java | 0 .../org/jeecg/config/oss/MinioConfig.java | 0 .../jeecg/config/oss/OssConfiguration.java | 0 .../java/org/jeecg/config/shiro/JwtToken.java | 0 .../org/jeecg/config/shiro/ShiroConfig.java | 0 .../org/jeecg/config/shiro/ShiroRealm.java | 0 .../filters/CustomShiroFilterFactoryBean.java | 0 .../jeecg/config/shiro/filters/JwtFilter.java | 0 .../shiro/filters/ResourceCheckFilter.java | 0 .../interceptor/SignAuthConfiguration.java | 0 .../sign/interceptor/SignAuthInterceptor.java | 0 .../BodyReaderHttpServletRequestWrapper.java | 0 .../org/jeecg/config/sign/util/HttpUtils.java | 0 .../org/jeecg/config/sign/util/SignUtil.java | 0 .../jeecg/config/thirdapp/ThirdAppConfig.java | 0 .../config/thirdapp/ThirdAppTypeConfig.java | 0 .../config/thirdapp/ThirdAppTypeItemVo.java | 0 .../java/org/jeecg/config/vo/DomainUrl.java | 0 .../main/java/org/jeecg/config/vo/Path.java | 0 .../main/java/org/jeecg/config/vo/Shiro.java | 0 .../modules/base/mapper/BaseCommonMapper.java | 0 .../base/mapper/xml/BaseCommonMapper.xml | 0 .../base/service/BaseCommonService.java | 0 .../service/impl/BaseCommonServiceImpl.java | 0 .../src/main/resources/static/pca.json | 0 .../pom.xml | 0 .../pom.xml | 0 .../controller/JcloudDemoFeignController.java | 0 .../JcloudDemoProviderController.java | 0 .../demo/cloud/service/JcloudDemoService.java | 0 .../service/impl/JcloudDemoServiceImpl.java | 0 .../demo/cloud/xxljob/TestJobHandler.java | 0 .../modules/demo/mock/MockController.java | 0 .../jeecg/modules/demo/mock/json/area.json | 0 .../modules/demo/mock/json/area_mini.json | 0 .../modules/demo/mock/json/area_options.json | 0 .../demo/mock/json/asyn_tree_list_0.json | 0 .../demo/mock/json/asyn_tree_list_1.json | 0 .../demo/mock/json/asyn_tree_list_2.json | 0 .../demo/mock/json/asyn_tree_list_3.json | 0 .../demo/mock/json/asyn_tree_list_31.json | 0 .../demo/mock/json/getCntrNoCountInfo.json | 0 .../modules/demo/mock/json/getTubiao.json | 0 .../demo/mock/json/graphreport_chart.json | 0 .../modules/demo/mock/json/permission.json | 0 .../demo/mock/json/permission_no_page.json | 0 .../jeecg/modules/demo/mock/json/role.json | 0 .../jeecg/modules/demo/mock/json/service.json | 0 .../modules/demo/mock/json/sysdatalog.json | 0 .../modules/demo/mock/json/task_process.json | 0 .../jeecg/modules/demo/mock/json/user.json | 0 .../modules/demo/mock/json/user_info.json | 0 .../modules/demo/mock/json/userinfo.json | 0 .../demo/mock/json/workplace_activity.json | 0 .../demo/mock/json/workplace_projects.json | 0 .../demo/mock/json/workplace_radar.json | 0 .../demo/mock/json/workplace_teams.json | 0 .../vxe/controller/VxeMockController.java | 0 .../demo/mock/vxe/entity/MockEntity.java | 0 .../modules/demo/mock/vxe/json/ddjh.json | 0 .../modules/demo/mock/vxe/json/ddjh_s8.json | 0 .../modules/demo/mock/vxe/json/dlglong.json | 0 .../demo/mock/vxe/websocket/VxeSocket.java | 0 .../demo/online/OnlCgformDemoController.java | 0 .../BigScreenTemplatController.java | 0 .../test/controller/JeecgDemoController.java | 0 .../JeecgDynamicDataController.java | 0 .../JeecgOrderErpMainController.java | 0 .../controller/JeecgOrderMainController.java | 0 .../test/controller/JoaDemoController.java | 0 .../modules/demo/test/entity/JeecgDemo.java | 0 .../demo/test/entity/JeecgOrderCustomer.java | 0 .../demo/test/entity/JeecgOrderMain.java | 0 .../demo/test/entity/JeecgOrderTicket.java | 0 .../modules/demo/test/entity/JoaDemo.java | 0 .../demo/test/mapper/JeecgDemoMapper.java | 0 .../test/mapper/JeecgOrderCustomerMapper.java | 0 .../test/mapper/JeecgOrderMainMapper.java | 0 .../test/mapper/JeecgOrderTicketMapper.java | 0 .../demo/test/mapper/JoaDemoMapper.java | 0 .../demo/test/mapper/xml/JeecgDemoMapper.xml | 0 .../mapper/xml/JeecgOrderCustomerMapper.xml | 0 .../test/mapper/xml/JeecgOrderMainMapper.xml | 0 .../mapper/xml/JeecgOrderTicketMapper.xml | 0 .../demo/test/mapper/xml/JoaDemoMapper.xml | 0 .../demo/test/service/IJeecgDemoService.java | 0 .../service/IJeecgDynamicDataService.java | 0 .../service/IJeecgOrderCustomerService.java | 0 .../test/service/IJeecgOrderMainService.java | 0 .../service/IJeecgOrderTicketService.java | 0 .../demo/test/service/IJoaDemoService.java | 0 .../service/impl/JeecgDemoServiceImpl.java | 0 .../impl/JeecgDynamicDataServiceImpl.java | 0 .../impl/JeecgOrderCustomerServiceImpl.java | 0 .../impl/JeecgOrderMainServiceImpl.java | 0 .../impl/JeecgOrderTicketServiceImpl.java | 0 .../test/service/impl/JoaDemoServiceImpl.java | 0 .../demo/test/vo/JeecgOrderMainPage.java | 0 .../modules/demo/xxljob/TestJobHandler.java | 0 .../dlglong/controller/DlMockController.java | 0 .../modules/dlglong/entity/MockEntity.java | 0 .../org/jeecg/modules/dlglong/json/ddjh.json | 0 .../jeecg/modules/dlglong/json/ddjh_s8.json | 0 .../jeecg/modules/dlglong/json/dlglong.json | 0 .../static/bigscreen/template1/css/easyui.css | 0 .../bigscreen/template1/css/jquery-ui.css | 0 .../bigscreen/template1/css/main_design1.css | 0 .../static/bigscreen/template1/css/room.css | 0 .../template1/images/content_comm.png | Bin .../template1/images/content_comm1.png | Bin .../template1/images/content_down.png | Bin .../template1/images/content_down1.png | Bin .../bigscreen/template1/images/index.gif | Bin .../bigscreen/template1/images/index1.gif | Bin .../template1/images/screenbg_design1.jpg | Bin .../template1/images/war_room_main.jpg | Bin .../bigscreen/template1/js/big_design1.js | 0 .../static/bigscreen/template1/js/china.js | 0 .../template1/js/echarts-wordcloud.js | 0 .../bigscreen/template1/js/echarts.min.js | 0 .../static/bigscreen/template1/js/geoCoord.js | 0 .../template1/js/jquery.easyui.min.js | 0 .../bigscreen/template1/js/jquery.min.js | 0 .../static/bigscreen/template1/js/resize.js | 0 .../static/bigscreen/template1/js/room.js | 0 .../static/bigscreen/template2/css/style.css | 0 .../bigscreen/template2/images/arrow.png | Bin .../bigscreen/template2/images/bg_img03.png | Bin .../bigscreen/template2/images/bg_img04.png | Bin .../template2/images/border_bg01.png | Bin .../bigscreen/template2/images/box_title.png | Bin .../bigscreen/template2/images/chart_icon.png | Bin .../template2/images/chart_icon_on.png | Bin .../bigscreen/template2/images/close.png | Bin .../bigscreen/template2/images/close_icon.png | Bin .../bigscreen/template2/images/data_icon.png | Bin .../template2/images/data_icon_on.png | Bin .../bigscreen/template2/images/fangda.png | Bin .../bigscreen/template2/images/index_bg.png | Bin .../bigscreen/template2/images/jian.png | Bin .../bigscreen/template2/images/line-blue.png | Bin .../bigscreen/template2/images/line_bg.png | Bin .../bigscreen/template2/images/line_img.png | Bin .../bigscreen/template2/images/menu_btn.png | Bin .../bigscreen/template2/images/menu_on.png | Bin .../bigscreen/template2/images/next.png | Bin .../template2/images/people_iocn.png | Bin .../bigscreen/template2/images/plus.png | Bin .../bigscreen/template2/images/popUP_bg.png | Bin .../bigscreen/template2/images/prev.png | Bin .../template2/images/select_icon.png | Bin .../template2/images/select_icon_on.png | Bin .../template2/images/selsct_time.png | Bin .../template2/images/settings_icon.png | Bin .../template2/images/settings_icon_on.png | Bin .../template2/images/teacher_icon.png | Bin .../bigscreen/template2/images/title_bg01.png | Bin .../template2/images/title_border.png | Bin .../bigscreen/template2/images/title_line.png | Bin .../images/weather/weather_img01.png | Bin .../template2/images/weather/中雨.png | Bin .../template2/images/weather/中雨转大雨.png | Bin .../template2/images/weather/中雪.png | Bin .../template2/images/weather/中雪转大雪.png | Bin .../template2/images/weather/冻雨.png | Bin .../template2/images/weather/多云.png | Bin .../template2/images/weather/大暴雨.png | Bin .../template2/images/weather/大暴雪.png | Bin .../template2/images/weather/大雨.png | Bin .../template2/images/weather/大雨转暴雨.png | Bin .../template2/images/weather/大雪.png | Bin .../template2/images/weather/大雪转暴雪.png | Bin .../template2/images/weather/小雨.png | Bin .../template2/images/weather/小雨转中雨.png | Bin .../template2/images/weather/小雪.png | Bin .../template2/images/weather/小雪转中雪.png | Bin .../template2/images/weather/强沙尘暴.png | Bin .../template2/images/weather/扬沙.png | Bin .../bigscreen/template2/images/weather/晴.png | Bin .../template2/images/weather/暴雨.png | Bin .../template2/images/weather/暴雨转大暴雨.png | Bin .../template2/images/weather/暴雪.png | Bin .../template2/images/weather/沙尘暴.png | Bin .../template2/images/weather/浮尘.png | Bin .../template2/images/weather/特大暴雨.png | Bin .../bigscreen/template2/images/weather/阴.png | Bin .../template2/images/weather/阵雨.png | Bin .../template2/images/weather/阵雪.png | Bin .../template2/images/weather/雨加雪.png | Bin .../template2/images/weather/雷阵雨.png | Bin .../template2/images/weather/雷阵雨加冰雹.png | Bin .../bigscreen/template2/images/weather/雾.png | Bin .../bigscreen/template2/images/weather/霾.png | Bin .../static/bigscreen/template2/js/base.js | 0 .../static/bigscreen/template2/js/china.js | 0 .../bigscreen/template2/js/data/city.json | 0 .../bigscreen/template2/js/data/guangdong.js | 0 .../bigscreen/template2/js/echarts.min.js | 0 .../template2/js/jquery-3.3.1.min.js | 0 .../template2/js/layer/extend/layer.ext.js | 0 .../template2/js/layer/laydate/laydate.js | 0 .../js/layer/laydate/need/laydate.css | 0 .../js/layer/laydate/skins/danlan/icon.png | Bin .../js/layer/laydate/skins/danlan/laydate.css | 0 .../js/layer/laydate/skins/default/icon.png | Bin .../layer/laydate/skins/default/laydate.css | 0 .../bigscreen/template2/js/layer/layer.min.js | 0 .../js/layer/layim/data/chatlog.json | 0 .../template2/js/layer/layim/data/friend.json | 0 .../template2/js/layer/layim/data/group.json | 0 .../template2/js/layer/layim/data/groups.json | 0 .../template2/js/layer/layim/layim.css | 0 .../template2/js/layer/layim/layim.js | 0 .../template2/js/layer/layim/loading.gif | Bin .../js/layer/skin/default/icon-ext.png | Bin .../template2/js/layer/skin/default/icon.png | Bin .../js/layer/skin/default/icon_ext.png | Bin .../js/layer/skin/default/loading-0.gif | Bin .../js/layer/skin/default/loading-1.gif | Bin .../js/layer/skin/default/loading-2.gif | Bin .../js/layer/skin/default/textbg.png | Bin .../js/layer/skin/default/xubox_ico0.png | Bin .../js/layer/skin/default/xubox_loading0.gif | Bin .../js/layer/skin/default/xubox_loading1.gif | Bin .../js/layer/skin/default/xubox_loading2.gif | Bin .../js/layer/skin/default/xubox_loading3.gif | Bin .../js/layer/skin/default/xubox_title0.png | Bin .../template2/js/layer/skin/layer.css | 0 .../template2/js/layer/skin/layer.ext.css | 0 .../template2/js/layer/skin/moon/default.png | Bin .../template2/js/layer/skin/moon/style.css | 0 .../static/bigscreen/template2/js/pop_base.js | 0 .../static/bigscreen/template2/js/rem.js | 0 .../templates/bigscreen/template1/index.ftl | 0 .../templates/bigscreen/template2/index.ftl | 0 .../.gitattributes | 0 .../Dockerfile | 0 .../pom.xml | 0 .../src/main/java/org/jeecg/JeecgOneGUI.java | 0 .../java/org/jeecg/JeecgOneToMainUtil.java | 0 .../org/jeecg/JeecgSystemApplication.java | 0 .../config/init/CodeGenerateDbConfig.java | 0 .../jeecg/config/init/SystemInitListener.java | 0 .../config/init/TomcatFactoryConfig.java | 0 .../jimureport/JimuReportTokenService.java | 0 .../api/controller/SystemApiController.java | 0 .../cas/controller/CasClientController.java | 0 .../modules/cas/util/CasServiceUtil.java | 0 .../org/jeecg/modules/cas/util/XmlUtils.java | 0 .../controller/SysMessageController.java | 0 .../SysMessageTemplateController.java | 0 .../modules/message/entity/MsgParams.java | 0 .../modules/message/entity/SysMessage.java | 0 .../message/entity/SysMessageTemplate.java | 0 .../message/handle/ISendMsgHandle.java | 0 .../handle/enums/SendMsgStatusEnum.java | 0 .../message/handle/enums/SendMsgTypeEnum.java | 0 .../message/handle/impl/DdSendMsgHandle.java | 0 .../handle/impl/EmailSendMsgHandle.java | 0 .../handle/impl/QywxSendMsgHandle.java | 0 .../message/handle/impl/SmsSendMsgHandle.java | 0 .../handle/impl/SystemSendMsgHandle.java | 0 .../message/handle/impl/WxSendMsgHandle.java | 0 .../jeecg/modules/message/job/SendMsgJob.java | 0 .../message/mapper/SysMessageMapper.java | 0 .../mapper/SysMessageTemplateMapper.java | 0 .../message/mapper/xml/SysMessageMapper.xml | 0 .../mapper/xml/SysMessageTemplateMapper.xml | 0 .../message/service/ISysMessageService.java | 0 .../service/ISysMessageTemplateService.java | 0 .../service/impl/SysMessageServiceImpl.java | 0 .../impl/SysMessageTemplateServiceImpl.java | 0 .../modules/message/util/PushMsgUtil.java | 0 .../message/websocket/SocketHandler.java | 0 .../websocket/TestSocketController.java | 0 .../modules/message/websocket/WebSocket.java | 0 .../controller/ActuatorRedisController.java | 0 .../modules/monitor/domain/RedisInfo.java | 0 .../exception/RedisConnectException.java | 0 .../modules/monitor/service/RedisService.java | 0 .../service/impl/MailHealthIndicator.java | 0 .../service/impl/RedisServiceImpl.java | 0 .../modules/ngalain/aop/LogRecordAspect.java | 0 .../ngalain/controller/NgAlainController.java | 0 .../ngalain/service/NgAlainService.java | 0 .../service/impl/NgAlainServiceImpl.java | 0 .../oss/controller/OssFileController.java | 0 .../org/jeecg/modules/oss/entity/OssFile.java | 0 .../modules/oss/mapper/OssFileMapper.java | 0 .../modules/oss/service/IOssFileService.java | 0 .../oss/service/impl/OssFileServiceImpl.java | 0 .../controller/QuartzJobController.java | 0 .../modules/quartz/entity/QuartzJob.java | 0 .../jeecg/modules/quartz/job/AsyncJob.java | 0 .../jeecg/modules/quartz/job/SampleJob.java | 0 .../modules/quartz/job/SampleParamJob.java | 0 .../quartz/mapper/QuartzJobMapper.java | 0 .../quartz/mapper/xml/QuartzJobMapper.xml | 0 .../quartz/service/IQuartzJobService.java | 0 .../service/impl/QuartzJobServiceImpl.java | 0 .../system/controller/CommonController.java | 0 .../controller/DuplicateCheckController.java | 0 .../system/controller/LoginController.java | 0 .../controller/SysAnnouncementController.java | 0 .../SysAnnouncementSendController.java | 0 .../controller/SysCategoryController.java | 0 .../controller/SysCheckRuleController.java | 0 .../controller/SysDataLogController.java | 0 .../controller/SysDataSourceController.java | 0 .../controller/SysDepartController.java | 0 .../SysDepartPermissionController.java | 0 .../controller/SysDepartRoleController.java | 0 .../system/controller/SysDictController.java | 0 .../controller/SysDictItemController.java | 0 .../controller/SysFillRuleController.java | 0 .../controller/SysGatewayRouteController.java | 0 .../system/controller/SysLogController.java | 0 .../controller/SysPermissionController.java | 0 .../controller/SysPositionController.java | 0 .../system/controller/SysRoleController.java | 0 .../controller/SysRoleIndexController.java | 0 .../controller/SysTenantController.java | 0 .../controller/SysUploadController.java | 0 .../controller/SysUserAgentController.java | 0 .../system/controller/SysUserController.java | 0 .../controller/SysUserOnlineController.java | 0 .../system/controller/ThirdAppController.java | 0 .../controller/ThirdLoginController.java | 0 .../system/entity/SysAnnouncement.java | 0 .../system/entity/SysAnnouncementSend.java | 0 .../modules/system/entity/SysCategory.java | 0 .../modules/system/entity/SysCheckRule.java | 0 .../modules/system/entity/SysDataLog.java | 0 .../modules/system/entity/SysDataSource.java | 0 .../modules/system/entity/SysDepart.java | 0 .../system/entity/SysDepartPermission.java | 0 .../modules/system/entity/SysDepartRole.java | 0 .../entity/SysDepartRolePermission.java | 0 .../system/entity/SysDepartRoleUser.java | 0 .../jeecg/modules/system/entity/SysDict.java | 0 .../modules/system/entity/SysDictItem.java | 0 .../modules/system/entity/SysFillRule.java | 0 .../system/entity/SysGatewayRoute.java | 0 .../jeecg/modules/system/entity/SysLog.java | 0 .../modules/system/entity/SysPermission.java | 0 .../system/entity/SysPermissionDataRule.java | 0 .../modules/system/entity/SysPosition.java | 0 .../jeecg/modules/system/entity/SysRole.java | 0 .../modules/system/entity/SysRoleIndex.java | 0 .../system/entity/SysRolePermission.java | 0 .../modules/system/entity/SysTenant.java | 0 .../system/entity/SysThirdAccount.java | 0 .../jeecg/modules/system/entity/SysUser.java | 0 .../modules/system/entity/SysUserAgent.java | 0 .../modules/system/entity/SysUserDepart.java | 0 .../modules/system/entity/SysUserRole.java | 0 .../system/mapper/SysAnnouncementMapper.java | 0 .../mapper/SysAnnouncementSendMapper.java | 0 .../system/mapper/SysCategoryMapper.java | 0 .../system/mapper/SysCheckRuleMapper.java | 0 .../system/mapper/SysDataLogMapper.java | 0 .../system/mapper/SysDataSourceMapper.java | 0 .../system/mapper/SysDepartMapper.java | 0 .../mapper/SysDepartPermissionMapper.java | 0 .../system/mapper/SysDepartRoleMapper.java | 0 .../mapper/SysDepartRolePermissionMapper.java | 0 .../mapper/SysDepartRoleUserMapper.java | 0 .../system/mapper/SysDictItemMapper.java | 0 .../modules/system/mapper/SysDictMapper.java | 0 .../system/mapper/SysFillRuleMapper.java | 0 .../system/mapper/SysGatewayRouteMapper.java | 0 .../modules/system/mapper/SysLogMapper.java | 0 .../mapper/SysPermissionDataRuleMapper.java | 0 .../system/mapper/SysPermissionMapper.java | 0 .../system/mapper/SysPositionMapper.java | 0 .../system/mapper/SysRoleIndexMapper.java | 0 .../modules/system/mapper/SysRoleMapper.java | 0 .../mapper/SysRolePermissionMapper.java | 0 .../system/mapper/SysTenantMapper.java | 0 .../system/mapper/SysThirdAccountMapper.java | 0 .../system/mapper/SysUserAgentMapper.java | 0 .../system/mapper/SysUserDepartMapper.java | 0 .../modules/system/mapper/SysUserMapper.java | 0 .../system/mapper/SysUserRoleMapper.java | 0 .../mapper/xml/SysAnnouncementMapper.xml | 0 .../mapper/xml/SysAnnouncementSendMapper.xml | 0 .../system/mapper/xml/SysCategoryMapper.xml | 0 .../system/mapper/xml/SysCheckRuleMapper.xml | 0 .../system/mapper/xml/SysDataLogMapper.xml | 0 .../system/mapper/xml/SysDataSourceMapper.xml | 0 .../system/mapper/xml/SysDepartMapper.xml | 0 .../mapper/xml/SysDepartPermissionMapper.xml | 0 .../system/mapper/xml/SysDepartRoleMapper.xml | 0 .../xml/SysDepartRolePermissionMapper.xml | 0 .../mapper/xml/SysDepartRoleUserMapper.xml | 0 .../system/mapper/xml/SysDictItemMapper.xml | 0 .../system/mapper/xml/SysDictMapper.xml | 0 .../system/mapper/xml/SysFillRuleMapper.xml | 0 .../mapper/xml/SysGatewayRouteMapper.xml | 0 .../system/mapper/xml/SysLogMapper.xml | 0 .../xml/SysPermissionDataRuleMapper.xml | 0 .../system/mapper/xml/SysPermissionMapper.xml | 0 .../system/mapper/xml/SysPositionMapper.xml | 0 .../system/mapper/xml/SysRoleIndexMapper.xml | 0 .../system/mapper/xml/SysTenantMapper.xml | 0 .../mapper/xml/SysThirdAccountMapper.xml | 0 .../system/mapper/xml/SysUserAgentMapper.xml | 0 .../system/mapper/xml/SysUserDepartMapper.xml | 0 .../system/mapper/xml/SysUserMapper.xml | 0 .../system/model/AnnouncementSendModel.java | 0 .../modules/system/model/DepartIdModel.java | 0 .../system/model/DuplicateCheckVo.java | 0 .../system/model/SysDepartTreeModel.java | 0 .../modules/system/model/SysDictTree.java | 0 .../modules/system/model/SysLoginModel.java | 0 .../system/model/SysPermissionTree.java | 0 .../system/model/SysUserSysDepartModel.java | 0 .../modules/system/model/ThirdLoginModel.java | 0 .../jeecg/modules/system/model/TreeModel.java | 0 .../modules/system/model/TreeSelectModel.java | 0 .../modules/system/rule/CategoryCodeRule.java | 0 .../modules/system/rule/OrderNumberRule.java | 0 .../modules/system/rule/OrgCodeRule.java | 0 .../security/DictQueryBlackListHandler.java | 0 .../service/ISysAnnouncementSendService.java | 0 .../service/ISysAnnouncementService.java | 0 .../system/service/ISysCategoryService.java | 0 .../system/service/ISysCheckRuleService.java | 0 .../system/service/ISysDataLogService.java | 0 .../system/service/ISysDataSourceService.java | 0 .../service/ISysDepartPermissionService.java | 0 .../ISysDepartRolePermissionService.java | 0 .../system/service/ISysDepartRoleService.java | 0 .../service/ISysDepartRoleUserService.java | 0 .../system/service/ISysDepartService.java | 0 .../system/service/ISysDictItemService.java | 0 .../system/service/ISysDictService.java | 0 .../system/service/ISysFillRuleService.java | 0 .../service/ISysGatewayRouteService.java | 0 .../system/service/ISysLogService.java | 0 .../ISysPermissionDataRuleService.java | 0 .../system/service/ISysPermissionService.java | 0 .../system/service/ISysPositionService.java | 0 .../system/service/ISysRoleIndexService.java | 0 .../service/ISysRolePermissionService.java | 0 .../system/service/ISysRoleService.java | 0 .../system/service/ISysTenantService.java | 0 .../service/ISysThirdAccountService.java | 0 .../system/service/ISysUserAgentService.java | 0 .../system/service/ISysUserDepartService.java | 0 .../system/service/ISysUserRoleService.java | 0 .../system/service/ISysUserService.java | 0 .../system/service/IThirdAppService.java | 0 .../service/impl/ImportFileServiceImpl.java | 0 .../impl/SysAnnouncementSendServiceImpl.java | 0 .../impl/SysAnnouncementServiceImpl.java | 0 .../system/service/impl/SysBaseApiImpl.java | 0 .../service/impl/SysCategoryServiceImpl.java | 0 .../service/impl/SysCheckRuleServiceImpl.java | 0 .../service/impl/SysDataLogServiceImpl.java | 0 .../impl/SysDataSourceServiceImpl.java | 0 .../impl/SysDepartPermissionServiceImpl.java | 0 .../SysDepartRolePermissionServiceImpl.java | 0 .../impl/SysDepartRoleServiceImpl.java | 0 .../impl/SysDepartRoleUserServiceImpl.java | 0 .../service/impl/SysDepartServiceImpl.java | 0 .../service/impl/SysDictItemServiceImpl.java | 0 .../service/impl/SysDictServiceImpl.java | 0 .../service/impl/SysFillRuleServiceImpl.java | 0 .../impl/SysGatewayRouteServiceImpl.java | 0 .../service/impl/SysLogServiceImpl.java | 0 .../impl/SysPermissionDataRuleImpl.java | 0 .../impl/SysPermissionServiceImpl.java | 0 .../service/impl/SysPositionServiceImpl.java | 0 .../service/impl/SysRoleIndexServiceImpl.java | 0 .../impl/SysRolePermissionServiceImpl.java | 0 .../service/impl/SysRoleServiceImpl.java | 0 .../service/impl/SysTenantServiceImpl.java | 0 .../impl/SysThirdAccountServiceImpl.java | 0 .../service/impl/SysUserAgentServiceImpl.java | 0 .../impl/SysUserDepartServiceImpl.java | 0 .../service/impl/SysUserRoleServiceImpl.java | 0 .../service/impl/SysUserServiceImpl.java | 0 .../impl/ThirdAppDingtalkServiceImpl.java | 0 .../ThirdAppWechatEnterpriseServiceImpl.java | 0 .../system/util/FindsDepartsChildrenUtil.java | 0 .../system/util/PermissionDataUtil.java | 0 .../modules/system/util/RandImageUtil.java | 0 .../modules/system/util/SecurityUtil.java | 0 .../jeecg/modules/system/util/XssUtils.java | 0 .../modules/system/vo/SysDepartUsersVO.java | 0 .../jeecg/modules/system/vo/SysDictPage.java | 0 .../jeecg/modules/system/vo/SysUserDepVo.java | 0 .../modules/system/vo/SysUserOnlineVO.java | 0 .../modules/system/vo/SysUserRoleVO.java | 0 .../vo/thirdapp/JdtDepartmentTreeVo.java | 0 .../vo/thirdapp/JwDepartmentTreeVo.java | 0 .../system/vo/thirdapp/SyncInfoVo.java | 0 .../src/main/resources/application-dev.yml | 0 .../src/main/resources/application-dm8.yml | 0 .../src/main/resources/application-prod.yml | 0 .../src/main/resources/application-test.yml | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/banner.txt | 0 .../code-template-online/common/blob.ftl | 0 .../form/native/vue3NativeComponents.ftl | 0 .../common/form/native/vue3NativeForm.ftl | 0 .../common/form/native/vue3NativeImport.ftl | 0 .../common/form/native/vue3NativeSearch.ftl | 0 .../common/form/vue3Jvxepopup.ftl | 0 .../common/form/vue3popup.ftl | 0 .../common/init/initValue.ftl | 0 .../common/init/initValueSub.ftl | 0 .../common/sql/menu_insert.ftl | 0 .../code-template-online/common/utils.ftl | 0 .../common/validatorRulesTemplate/core.ftl | 0 .../common/validatorRulesTemplate/main.ftl | 0 .../native/vue3CoreNative.ftl | 0 .../native/vue3MainNative.ftl | 0 .../validatorRulesTemplate/sub-vue3.ftl | 0 .../common/validatorRulesTemplate/sub.ftl | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../vue/${entityName}List.vuei | 0 .../vue/${entityName}_menu_insert.sql | 0 .../vue/modules/${entityName}Form.vuei | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../${entityName}Modal__Style#Drawer.vuei | 0 .../vue3/${entityName}List.vuei | 0 .../vue3/${entityName}__api.tsi | 0 .../vue3/${entityName}__data.tsi | 0 .../vue3/${entityName}_menu_insert.sql | 0 .../vue3/components/${entityName}Modal.vuei | 0 .../vue3Native/${entityName}List.vuei | 0 .../vue3Native/${entityName}__api.tsi | 0 .../vue3Native/${entityName}__data.tsi | 0 .../vue3Native/${entityName}_menu_insert.sql | 0 .../components/${entityName}Form.vuei | 0 .../components/${entityName}Modal.vuei | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../${entityPackage}/entity/[1-n]Entity.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../${entityPackage}/mapper/[1-n]Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../mapper/xml/[1-n]Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../service/[1-n]Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../service/impl/[1-n]ServiceImpl.javai | 0 .../vo/${entityName}Page.javai | 0 .../vue/${entityName}List.vuei | 0 .../vue/${entityName}_menu_insert.sql | 0 .../vue/modules/${entityName}Form.vuei | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../vue/modules/[1-n]Form.vuei | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../vue/${entityName}List.vuei | 0 .../vue/${entityName}_menu_insert.sql | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../vue3/${entityName}List.vuei | 0 .../vue3/${entityName}__api.tsi | 0 .../vue3/${entityName}__data.tsi | 0 .../vue3/${entityName}_menu_insert.sql | 0 .../vue3/components/${entityName}Modal.vuei | 0 .../vue3Native/${entityName}List.vuei | 0 .../vue3Native/${entityName}__api.tsi | 0 .../vue3Native/${entityName}__data.tsi | 0 .../vue3Native/${entityName}_menu_insert.sql | 0 .../components/${entityName}Form.vuei | 0 .../components/${entityName}Modal.vuei | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../${entityPackage}/entity/[1-n]Entity.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../${entityPackage}/mapper/[1-n]Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../mapper/xml/[1-n]Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../service/[1-n]Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../service/impl/[1-n]ServiceImpl.javai | 0 .../vue/${entityName}List.vuei | 0 .../vue/${entityName}_menu_insert.sql | 0 .../${entityPackage}/vue/[1-n]List.vuei | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../vue/modules/[1-n]Modal.vuei | 0 .../vue3/${entityName}List.vuei | 0 .../vue3/${entityName}__api.tsi | 0 .../vue3/${entityName}__data.tsi | 0 .../vue3/${entityName}_menu_insert.sql | 0 .../${entityPackage}/vue3/[1-n]List.vuei | 0 .../vue3/components/${entityName}Modal.vuei | 0 .../vue3/components/[1-n]Modal.vuei | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../${entityPackage}/entity/[1-n]Entity.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../${entityPackage}/mapper/[1-n]Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../mapper/xml/[1-n]Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../service/[1-n]Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../service/impl/[1-n]ServiceImpl.javai | 0 .../vo/${entityName}Page.javai | 0 .../vue/${entityName}List.vuei | 0 .../vue/${entityName}_menu_insert.sql | 0 .../vue/modules/${entityName}Form.vuei | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../vue/modules/[1-n]Form.vuei | 0 .../vue/subTables/[1-n]SubTable.vuei | 0 .../vue3/${entityName}List.vuei | 0 .../vue3/${entityName}__api.tsi | 0 .../vue3/${entityName}__data.tsi | 0 .../vue3/${entityName}_menu_insert.sql | 0 .../vue3/components/${entityName}Modal.vuei | 0 .../vue3/components/[1-n]Form.vuei | 0 .../vue3/subTables/[1-n]SubTable.vuei | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../${entityPackage}/entity/[1-n]Entity.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../${entityPackage}/mapper/[1-n]Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../mapper/xml/[1-n]Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../service/[1-n]Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../service/impl/[1-n]ServiceImpl.javai | 0 .../vo/${entityName}Page.javai | 0 .../vue/${entityName}List.vuei | 0 .../vue/${entityName}_menu_insert.sql | 0 .../vue/modules/${entityName}Form.vuei | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../vue/modules/[1-n]Form.vuei | 0 .../vue3/${entityName}List.vuei | 0 .../vue3/${entityName}__api.tsi | 0 .../vue3/${entityName}__data.tsi | 0 .../vue3/${entityName}_menu_insert.sql | 0 .../vue3/components/${entityName}Modal.vuei | 0 .../vue3/components/[1-n]Form.vuei | 0 .../vue3Native/${entityName}List.vuei | 0 .../vue3Native/${entityName}__api.tsi | 0 .../vue3Native/${entityName}__data.tsi | 0 .../vue3Native/${entityName}_menu_insert.sql | 0 .../components/${entityName}Form.vuei | 0 .../components/${entityName}Modal.vuei | 0 .../vue3Native/components/[1-n]Form.vuei | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../${entityPackage}/entity/[1-n]Entity.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../${entityPackage}/mapper/[1-n]Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../mapper/xml/[1-n]Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../service/[1-n]Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../service/impl/[1-n]ServiceImpl.javai | 0 .../vo/${entityName}Page.javai | 0 .../vue/${entityName}List.vuei | 0 .../vue/${entityName}_menu_insert.sql | 0 .../vue/modules/${entityName}Form.vuei | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../vue/modules/[1-n]Form.vuei | 0 .../vue3/${entityName}List.vuei | 0 .../vue3/${entityName}__api.tsi | 0 .../vue3/${entityName}__data.tsi | 0 .../vue3/${entityName}_menu_insert.sql | 0 .../vue3/components/${entityName}Modal.vuei | 0 .../vue3/components/[1-n]Form.vuei | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../vue-app/${entityName}Form.vuei | 0 .../vue-app/${entityName}List.vuei | 0 .../vue/${entityName}List.vuei | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../${entityName}Modal__Style#Drawer.vuei | 0 .../vue3/${entityName}List.vuei | 0 .../vue3/${entityName}__api.tsi | 0 .../vue3/${entityName}__data.tsi | 0 .../vue3/modules/${entityName}Modal.vuei | 0 .../${entityName}Controller.javai | 0 .../${entityPackage}/${entityName}.javai | 0 .../${entityName}Mapper.javai | 0 .../xml/${entityName}Mapper.xml | 0 .../I${entityName}Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../${entityPackage}/${entityName}List.vuei | 0 .../modules/${entityName}Modal.vuei | 0 .../${entityName}Modal__Style#Drawer.vuei | 0 .../${entityPackage}/${entityName}List.vuei | 0 .../${entityPackage}/${entityName}__api.tsi | 0 .../${entityPackage}/${entityName}__data.tsi | 0 .../modules/${entityName}Modal.vuei | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../${entityPackage}/entity/[1-n]Entity.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../${entityPackage}/mapper/[1-n]Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../mapper/xml/[1-n]Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../service/[1-n]Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../service/impl/[1-n]ServiceImpl.javai | 0 .../vo/${entityName}Page.javai | 0 .../vue/${entityName}List.vuei | 0 .../vue/modules/${entityName}Form.vuei | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../vue3/${entityName}List.vuei | 0 .../vue3/${entityName}__api.tsi | 0 .../vue3/${entityName}__data.tsi | 0 .../vue3/modules/${entityName}Modal.vuei | 0 .../controller/${entityName}Controller.javai | 0 .../entity/${entityName}.javai | 0 .../${entityPackage}/entity/[1-n]Entity.javai | 0 .../mapper/${entityName}Mapper.javai | 0 .../${entityPackage}/mapper/[1-n]Mapper.javai | 0 .../mapper/xml/${entityName}Mapper.xml | 0 .../mapper/xml/[1-n]Mapper.xml | 0 .../service/I${entityName}Service.javai | 0 .../service/[1-n]Service.javai | 0 .../impl/${entityName}ServiceImpl.javai | 0 .../service/impl/[1-n]ServiceImpl.javai | 0 .../vo/${entityName}Page.javai | 0 .../vue/${entityName}List.vuei | 0 .../${entityPackage}/vue/[1-n]List.vuei | 0 .../vue/modules/${entityName}Modal.vuei | 0 .../vue/modules/[1-n]Modal.vuei | 0 .../vue3/${entityName}List.vuei | 0 .../vue3/${entityName}__api.tsi | 0 .../vue3/${entityName}__data.tsi | 0 .../${entityPackage}/vue3/[1-n]List.vuei | 0 .../vue3/modules/${entityName}Modal.vuei | 0 .../vue3/modules/[1-n]Modal.vuei | 0 .../resources/jeecg/jeecg_config.properties | 0 .../resources/jeecg/jeecg_database.properties | 0 .../src/main/resources/logback-spring.xml | 0 .../src/main/resources/static/demo1.html | 0 .../src/main/resources/static/generic/LICENSE | 0 .../resources/static/generic/build/pdf.js | 0 .../static/generic/build/pdf.worker.js | 0 .../static/generic/web/cmaps/78-EUC-H.bcmap | Bin .../static/generic/web/cmaps/78-EUC-V.bcmap | Bin .../static/generic/web/cmaps/78-H.bcmap | Bin .../static/generic/web/cmaps/78-RKSJ-H.bcmap | Bin .../static/generic/web/cmaps/78-RKSJ-V.bcmap | Bin .../static/generic/web/cmaps/78-V.bcmap | Bin .../generic/web/cmaps/78ms-RKSJ-H.bcmap | Bin .../generic/web/cmaps/78ms-RKSJ-V.bcmap | Bin .../generic/web/cmaps/83pv-RKSJ-H.bcmap | Bin .../generic/web/cmaps/90ms-RKSJ-H.bcmap | Bin .../generic/web/cmaps/90ms-RKSJ-V.bcmap | Bin .../generic/web/cmaps/90msp-RKSJ-H.bcmap | Bin .../generic/web/cmaps/90msp-RKSJ-V.bcmap | Bin .../generic/web/cmaps/90pv-RKSJ-H.bcmap | Bin .../generic/web/cmaps/90pv-RKSJ-V.bcmap | Bin .../static/generic/web/cmaps/Add-H.bcmap | Bin .../static/generic/web/cmaps/Add-RKSJ-H.bcmap | Bin .../static/generic/web/cmaps/Add-RKSJ-V.bcmap | Bin .../static/generic/web/cmaps/Add-V.bcmap | Bin .../generic/web/cmaps/Adobe-CNS1-0.bcmap | Bin .../generic/web/cmaps/Adobe-CNS1-1.bcmap | Bin .../generic/web/cmaps/Adobe-CNS1-2.bcmap | Bin .../generic/web/cmaps/Adobe-CNS1-3.bcmap | Bin .../generic/web/cmaps/Adobe-CNS1-4.bcmap | Bin .../generic/web/cmaps/Adobe-CNS1-5.bcmap | Bin .../generic/web/cmaps/Adobe-CNS1-6.bcmap | Bin .../generic/web/cmaps/Adobe-CNS1-UCS2.bcmap | Bin .../generic/web/cmaps/Adobe-GB1-0.bcmap | Bin .../generic/web/cmaps/Adobe-GB1-1.bcmap | Bin .../generic/web/cmaps/Adobe-GB1-2.bcmap | Bin .../generic/web/cmaps/Adobe-GB1-3.bcmap | Bin .../generic/web/cmaps/Adobe-GB1-4.bcmap | Bin .../generic/web/cmaps/Adobe-GB1-5.bcmap | Bin .../generic/web/cmaps/Adobe-GB1-UCS2.bcmap | Bin .../generic/web/cmaps/Adobe-Japan1-0.bcmap | Bin .../generic/web/cmaps/Adobe-Japan1-1.bcmap | Bin .../generic/web/cmaps/Adobe-Japan1-2.bcmap | Bin .../generic/web/cmaps/Adobe-Japan1-3.bcmap | Bin .../generic/web/cmaps/Adobe-Japan1-4.bcmap | Bin .../generic/web/cmaps/Adobe-Japan1-5.bcmap | Bin .../generic/web/cmaps/Adobe-Japan1-6.bcmap | Bin .../generic/web/cmaps/Adobe-Japan1-UCS2.bcmap | Bin .../generic/web/cmaps/Adobe-Korea1-0.bcmap | Bin .../generic/web/cmaps/Adobe-Korea1-1.bcmap | Bin .../generic/web/cmaps/Adobe-Korea1-2.bcmap | Bin .../generic/web/cmaps/Adobe-Korea1-UCS2.bcmap | Bin .../static/generic/web/cmaps/B5-H.bcmap | Bin .../static/generic/web/cmaps/B5-V.bcmap | Bin .../static/generic/web/cmaps/B5pc-H.bcmap | Bin .../static/generic/web/cmaps/B5pc-V.bcmap | Bin .../static/generic/web/cmaps/CNS-EUC-H.bcmap | Bin .../static/generic/web/cmaps/CNS-EUC-V.bcmap | Bin .../static/generic/web/cmaps/CNS1-H.bcmap | Bin .../static/generic/web/cmaps/CNS1-V.bcmap | Bin .../static/generic/web/cmaps/CNS2-H.bcmap | Bin .../static/generic/web/cmaps/CNS2-V.bcmap | 0 .../static/generic/web/cmaps/ETHK-B5-H.bcmap | Bin .../static/generic/web/cmaps/ETHK-B5-V.bcmap | Bin .../static/generic/web/cmaps/ETen-B5-H.bcmap | Bin .../static/generic/web/cmaps/ETen-B5-V.bcmap | Bin .../generic/web/cmaps/ETenms-B5-H.bcmap | 0 .../generic/web/cmaps/ETenms-B5-V.bcmap | Bin .../static/generic/web/cmaps/EUC-H.bcmap | Bin .../static/generic/web/cmaps/EUC-V.bcmap | Bin .../static/generic/web/cmaps/Ext-H.bcmap | Bin .../static/generic/web/cmaps/Ext-RKSJ-H.bcmap | Bin .../static/generic/web/cmaps/Ext-RKSJ-V.bcmap | Bin .../static/generic/web/cmaps/Ext-V.bcmap | Bin .../static/generic/web/cmaps/GB-EUC-H.bcmap | Bin .../static/generic/web/cmaps/GB-EUC-V.bcmap | Bin .../static/generic/web/cmaps/GB-H.bcmap | 0 .../static/generic/web/cmaps/GB-V.bcmap | Bin .../static/generic/web/cmaps/GBK-EUC-H.bcmap | Bin .../static/generic/web/cmaps/GBK-EUC-V.bcmap | Bin .../static/generic/web/cmaps/GBK2K-H.bcmap | Bin .../static/generic/web/cmaps/GBK2K-V.bcmap | Bin .../static/generic/web/cmaps/GBKp-EUC-H.bcmap | Bin .../static/generic/web/cmaps/GBKp-EUC-V.bcmap | Bin .../static/generic/web/cmaps/GBT-EUC-H.bcmap | Bin .../static/generic/web/cmaps/GBT-EUC-V.bcmap | Bin .../static/generic/web/cmaps/GBT-H.bcmap | Bin .../static/generic/web/cmaps/GBT-V.bcmap | Bin .../generic/web/cmaps/GBTpc-EUC-H.bcmap | Bin .../generic/web/cmaps/GBTpc-EUC-V.bcmap | Bin .../static/generic/web/cmaps/GBpc-EUC-H.bcmap | Bin .../static/generic/web/cmaps/GBpc-EUC-V.bcmap | Bin .../static/generic/web/cmaps/H.bcmap | Bin .../static/generic/web/cmaps/HKdla-B5-H.bcmap | Bin .../static/generic/web/cmaps/HKdla-B5-V.bcmap | Bin .../static/generic/web/cmaps/HKdlb-B5-H.bcmap | Bin .../static/generic/web/cmaps/HKdlb-B5-V.bcmap | Bin .../generic/web/cmaps/HKgccs-B5-H.bcmap | Bin .../generic/web/cmaps/HKgccs-B5-V.bcmap | Bin .../generic/web/cmaps/HKm314-B5-H.bcmap | Bin .../generic/web/cmaps/HKm314-B5-V.bcmap | Bin .../generic/web/cmaps/HKm471-B5-H.bcmap | Bin .../generic/web/cmaps/HKm471-B5-V.bcmap | Bin .../static/generic/web/cmaps/HKscs-B5-H.bcmap | Bin .../static/generic/web/cmaps/HKscs-B5-V.bcmap | Bin .../static/generic/web/cmaps/Hankaku.bcmap | Bin .../static/generic/web/cmaps/Hiragana.bcmap | Bin .../static/generic/web/cmaps/KSC-EUC-H.bcmap | Bin .../static/generic/web/cmaps/KSC-EUC-V.bcmap | Bin .../static/generic/web/cmaps/KSC-H.bcmap | Bin .../generic/web/cmaps/KSC-Johab-H.bcmap | Bin .../generic/web/cmaps/KSC-Johab-V.bcmap | Bin .../static/generic/web/cmaps/KSC-V.bcmap | Bin .../generic/web/cmaps/KSCms-UHC-H.bcmap | Bin .../generic/web/cmaps/KSCms-UHC-HW-H.bcmap | Bin .../generic/web/cmaps/KSCms-UHC-HW-V.bcmap | Bin .../generic/web/cmaps/KSCms-UHC-V.bcmap | Bin .../generic/web/cmaps/KSCpc-EUC-H.bcmap | Bin .../generic/web/cmaps/KSCpc-EUC-V.bcmap | Bin .../static/generic/web/cmaps/Katakana.bcmap | Bin .../static/generic/web/cmaps/LICENSE | 0 .../static/generic/web/cmaps/NWP-H.bcmap | Bin .../static/generic/web/cmaps/NWP-V.bcmap | Bin .../static/generic/web/cmaps/RKSJ-H.bcmap | Bin .../static/generic/web/cmaps/RKSJ-V.bcmap | Bin .../static/generic/web/cmaps/Roman.bcmap | Bin .../generic/web/cmaps/UniCNS-UCS2-H.bcmap | Bin .../generic/web/cmaps/UniCNS-UCS2-V.bcmap | Bin .../generic/web/cmaps/UniCNS-UTF16-H.bcmap | Bin .../generic/web/cmaps/UniCNS-UTF16-V.bcmap | Bin .../generic/web/cmaps/UniCNS-UTF32-H.bcmap | Bin .../generic/web/cmaps/UniCNS-UTF32-V.bcmap | Bin .../generic/web/cmaps/UniCNS-UTF8-H.bcmap | Bin .../generic/web/cmaps/UniCNS-UTF8-V.bcmap | Bin .../generic/web/cmaps/UniGB-UCS2-H.bcmap | Bin .../generic/web/cmaps/UniGB-UCS2-V.bcmap | Bin .../generic/web/cmaps/UniGB-UTF16-H.bcmap | Bin .../generic/web/cmaps/UniGB-UTF16-V.bcmap | Bin .../generic/web/cmaps/UniGB-UTF32-H.bcmap | Bin .../generic/web/cmaps/UniGB-UTF32-V.bcmap | Bin .../generic/web/cmaps/UniGB-UTF8-H.bcmap | Bin .../generic/web/cmaps/UniGB-UTF8-V.bcmap | Bin .../generic/web/cmaps/UniJIS-UCS2-H.bcmap | Bin .../generic/web/cmaps/UniJIS-UCS2-HW-H.bcmap | Bin .../generic/web/cmaps/UniJIS-UCS2-HW-V.bcmap | Bin .../generic/web/cmaps/UniJIS-UCS2-V.bcmap | Bin .../generic/web/cmaps/UniJIS-UTF16-H.bcmap | Bin .../generic/web/cmaps/UniJIS-UTF16-V.bcmap | Bin .../generic/web/cmaps/UniJIS-UTF32-H.bcmap | Bin .../generic/web/cmaps/UniJIS-UTF32-V.bcmap | Bin .../generic/web/cmaps/UniJIS-UTF8-H.bcmap | Bin .../generic/web/cmaps/UniJIS-UTF8-V.bcmap | Bin .../web/cmaps/UniJIS2004-UTF16-H.bcmap | Bin .../web/cmaps/UniJIS2004-UTF16-V.bcmap | Bin .../web/cmaps/UniJIS2004-UTF32-H.bcmap | Bin .../web/cmaps/UniJIS2004-UTF32-V.bcmap | Bin .../generic/web/cmaps/UniJIS2004-UTF8-H.bcmap | Bin .../generic/web/cmaps/UniJIS2004-UTF8-V.bcmap | Bin .../web/cmaps/UniJISPro-UCS2-HW-V.bcmap | Bin .../generic/web/cmaps/UniJISPro-UCS2-V.bcmap | Bin .../generic/web/cmaps/UniJISPro-UTF8-V.bcmap | Bin .../web/cmaps/UniJISX0213-UTF32-H.bcmap | Bin .../web/cmaps/UniJISX0213-UTF32-V.bcmap | Bin .../web/cmaps/UniJISX02132004-UTF32-H.bcmap | Bin .../web/cmaps/UniJISX02132004-UTF32-V.bcmap | Bin .../generic/web/cmaps/UniKS-UCS2-H.bcmap | Bin .../generic/web/cmaps/UniKS-UCS2-V.bcmap | Bin .../generic/web/cmaps/UniKS-UTF16-H.bcmap | Bin .../generic/web/cmaps/UniKS-UTF16-V.bcmap | Bin .../generic/web/cmaps/UniKS-UTF32-H.bcmap | Bin .../generic/web/cmaps/UniKS-UTF32-V.bcmap | Bin .../generic/web/cmaps/UniKS-UTF8-H.bcmap | Bin .../generic/web/cmaps/UniKS-UTF8-V.bcmap | Bin .../static/generic/web/cmaps/V.bcmap | Bin .../static/generic/web/cmaps/WP-Symbol.bcmap | Bin .../static/generic/web/compatibility.js | 0 .../web/compressed.tracemonkey-pldi-09.pdf | Bin .../resources/static/generic/web/debugger.js | 0 .../generic/web/images/annotation-check.svg | 0 .../generic/web/images/annotation-comment.svg | 0 .../generic/web/images/annotation-help.svg | 0 .../generic/web/images/annotation-insert.svg | 0 .../generic/web/images/annotation-key.svg | 0 .../web/images/annotation-newparagraph.svg | 0 .../generic/web/images/annotation-noicon.svg | 0 .../generic/web/images/annotation-note.svg | 0 .../web/images/annotation-paragraph.svg | 0 .../web/images/findbarButton-next-rtl.png | Bin .../web/images/findbarButton-next-rtl@2x.png | Bin .../generic/web/images/findbarButton-next.png | Bin .../web/images/findbarButton-next@2x.png | Bin .../web/images/findbarButton-previous-rtl.png | Bin .../images/findbarButton-previous-rtl@2x.png | Bin .../web/images/findbarButton-previous.png | Bin .../web/images/findbarButton-previous@2x.png | Bin .../static/generic/web/images/grab.cur | Bin .../static/generic/web/images/grabbing.cur | Bin .../generic/web/images/loading-icon.gif | Bin .../generic/web/images/loading-small.png | Bin .../generic/web/images/loading-small@2x.png | Bin ...ondaryToolbarButton-documentProperties.png | Bin ...aryToolbarButton-documentProperties@2x.png | Bin .../secondaryToolbarButton-firstPage.png | Bin .../secondaryToolbarButton-firstPage@2x.png | Bin .../secondaryToolbarButton-handTool.png | Bin .../secondaryToolbarButton-handTool@2x.png | Bin .../secondaryToolbarButton-lastPage.png | Bin .../secondaryToolbarButton-lastPage@2x.png | Bin .../secondaryToolbarButton-rotateCcw.png | Bin .../secondaryToolbarButton-rotateCcw@2x.png | Bin .../secondaryToolbarButton-rotateCw.png | Bin .../secondaryToolbarButton-rotateCw@2x.png | Bin .../static/generic/web/images/shadow.png | Bin .../static/generic/web/images/texture.png | Bin .../web/images/toolbarButton-bookmark.png | Bin .../web/images/toolbarButton-bookmark@2x.png | Bin .../web/images/toolbarButton-download.png | Bin .../web/images/toolbarButton-download@2x.png | Bin .../web/images/toolbarButton-menuArrows.png | Bin .../images/toolbarButton-menuArrows@2x.png | Bin .../web/images/toolbarButton-openFile.png | Bin .../web/images/toolbarButton-openFile@2x.png | Bin .../web/images/toolbarButton-pageDown-rtl.png | Bin .../images/toolbarButton-pageDown-rtl@2x.png | Bin .../web/images/toolbarButton-pageDown.png | Bin .../web/images/toolbarButton-pageDown@2x.png | Bin .../web/images/toolbarButton-pageUp-rtl.png | Bin .../images/toolbarButton-pageUp-rtl@2x.png | Bin .../web/images/toolbarButton-pageUp.png | Bin .../web/images/toolbarButton-pageUp@2x.png | Bin .../images/toolbarButton-presentationMode.png | Bin .../toolbarButton-presentationMode@2x.png | Bin .../web/images/toolbarButton-print.png | Bin .../web/images/toolbarButton-print@2x.png | Bin .../web/images/toolbarButton-search.png | Bin .../web/images/toolbarButton-search@2x.png | Bin ...olbarButton-secondaryToolbarToggle-rtl.png | Bin ...arButton-secondaryToolbarToggle-rtl@2x.png | Bin .../toolbarButton-secondaryToolbarToggle.png | Bin ...oolbarButton-secondaryToolbarToggle@2x.png | Bin .../toolbarButton-sidebarToggle-rtl.png | Bin .../toolbarButton-sidebarToggle-rtl@2x.png | Bin .../images/toolbarButton-sidebarToggle.png | Bin .../images/toolbarButton-sidebarToggle@2x.png | Bin .../images/toolbarButton-viewAttachments.png | Bin .../toolbarButton-viewAttachments@2x.png | Bin .../images/toolbarButton-viewOutline-rtl.png | Bin .../toolbarButton-viewOutline-rtl@2x.png | Bin .../web/images/toolbarButton-viewOutline.png | Bin .../images/toolbarButton-viewOutline@2x.png | Bin .../images/toolbarButton-viewThumbnail.png | Bin .../images/toolbarButton-viewThumbnail@2x.png | Bin .../web/images/toolbarButton-zoomIn.png | Bin .../web/images/toolbarButton-zoomIn@2x.png | Bin .../web/images/toolbarButton-zoomOut.png | Bin .../web/images/toolbarButton-zoomOut@2x.png | Bin .../main/resources/static/generic/web/l10n.js | 0 .../generic/web/locale/locale.properties | 0 .../web/locale/zh-CN/viewer.properties | 0 .../resources/static/generic/web/viewer.css | 0 .../resources/static/generic/web/viewer.html | 0 .../resources/static/generic/web/viewer.js | 0 .../main/resources/static/view/userlist.html | 0 .../templates/announcement/showContent.ftl | 0 .../src/main/resources/templates/demo3.ftl | 0 .../resources/templates/pdfPreviewIframe.ftl | 0 .../main/resources/templates/thirdLogin.ftl | 0 .../src/test/java/org/jeecg/SampleTest.java | 0 .../src/test/java/org/jeecg/TestMain.java | 0 .../modules/system/test/SysUserTest.java | 0 jeecg-boot/.gitignore | 4 - jeecg-boot/LICENSE | 213 - jeecg-boot/README.md | 198 - .../jeecg-boot-module-system/.gitattributes | 4 - .../docker-compose-base.yml | 0 .../docker-compose.yml | 0 .../jeecg-cloud-gateway/Dockerfile | 0 .../jeecg-cloud-gateway/README.md | 0 .../jeecg-cloud-gateway/pom.xml | 0 .../org/jeecg/JeecgGatewayApplication.java | 0 .../jeecg/config/GatewayRoutersConfig.java | 0 .../config/RateLimiterConfiguration.java | 0 .../java/org/jeecg/config/RouterDataType.java | 0 .../jeecg/fallback/FallbackController.java | 0 .../fallback/HystrixFallbackHandler.java | 0 .../GatewaySentinelExceptionConfig.java | 0 .../sentinel/SentinelBlockRequestHandler.java | 0 .../jeecg/filter/GlobalAccessTokenFilter.java | 0 .../filter/SentinelFilterContextConfig.java | 0 .../org/jeecg/handler/LoderRouderHandler.java | 0 .../swagger/MySwaggerResourceProvider.java | 0 .../swagger/SwaggerResourceController.java | 0 .../org/jeecg/loader/DynamicRouteLoader.java | 0 .../repository/DynamicRouteService.java | 0 .../MyInMemoryRouteDefinitionRepository.java | 0 .../org/jeecg/loader/vo/GatewayRouteVo.java | 0 .../jeecg/loader/vo/MyRouteDefinition.java | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/logback-spring.xml | 0 .../jeecg-cloud-monitor/README.md | 0 .../jeecg-cloud-monitor/pom.xml | 0 .../monitor/JeecgMonitorApplication.java | 0 .../monitor/config/SecuritySecureConfig.java | 0 .../src/main/resources/application.yml | 0 .../jeecg-cloud-nacos/Dockerfile | 0 .../jeecg-cloud-nacos/README.md | 0 .../docs/config/jeecg-dev.yaml | 0 .../docs/config/jeecg-gateway-dev.yaml | 0 .../docs/config/jeecg-gateway-router.json | 0 .../jeecg-cloud-nacos/docs/config/jeecg.yaml | 0 .../config/分库分表/jeecg-sharding-multi.yaml | 0 .../docs/config/分库分表/jeecg-sharding.yaml | 0 .../jeecg-cloud-nacos/pom.xml | 0 .../alibaba/nacos/JeecgNacosApplication.java | 0 .../src/main/resources/application.yml | 0 .../jeecg-cloud-sentinel/Dockerfile | 0 .../jeecg-cloud-sentinel/README.md | 0 .../jeecg-cloud-sentinel/pom.xml | 0 .../dashboard/JeecgSentinelApplication.java | 0 .../constants/SentinelConStants.java | 0 .../controller/AuthorityRuleController.java | 0 .../controller/DegradeController.java | 0 .../controller/ParamFlowRuleController.java | 0 .../controller/SystemController.java | 0 .../controller/base/BaseRuleController.java | 0 .../gateway/GatewayApiController.java | 0 .../gateway/GatewayFlowRuleController.java | 0 .../controller/v2/FlowControllerV2.java | 0 .../rule/nacos/NacosConfigProperties.java | 0 .../dashboard/rule/nacos/SentinelConfig.java | 0 .../authority/AuthorityRuleNacosProvider.java | 0 .../AuthorityRuleNacosPublisher.java | 0 .../degrade/DegradeRuleNacosProvider.java | 0 .../degrade/DegradeRuleNacosPublisher.java | 0 .../entity/AuthorityRuleCorrectEntity.java | 0 .../entity/ParamFlowRuleCorrectEntity.java | 0 .../nacos/flow/FlowRuleNacosProvider.java | 0 .../nacos/flow/FlowRuleNacosPublisher.java | 0 .../gateway/GateWayApiNacosProvider.java | 0 .../gateway/GateWayApiNacosPublisher.java | 0 .../GateWayFlowRulesNacosProvider.java | 0 .../GateWayFlowRulesNacosPublisher.java | 0 .../paramflow/ParamFlowRuleNacosProvider.java | 0 .../ParamFlowRuleNacosPublisher.java | 0 .../nacos/system/SystemRuleNacosProvider.java | 0 .../system/SystemRuleNacosPublisher.java | 0 .../src/main/resources/application.yml | 0 .../jeecg-cloud-test-more/pom.xml | 0 .../modules/test/constant/CloudConstant.java | 0 .../test/feign/client/JeecgTestClient.java | 0 .../test/feign/client/JeecgTestClientDyn.java | 0 .../controller/JeecgTestFeignController.java | 0 .../feign/factory/JeecgTestClientFactory.java | 0 .../feign/fallback/JeecgTestFallback.java | 0 .../jeecg/modules/test/lock/DemoLockTest.java | 0 .../modules/test/xxljob/DemoJobHandler.java | 0 .../modules/test/xxljob/XxclJobTest.java | 0 .../jeecg-cloud-test-rabbitmq/pom.xml | 0 .../test/rabbitmq/constant/CloudConstant.java | 0 .../controller/JeecgMqTestController.java | 0 .../test/rabbitmq/event/DemoBusEvent.java | 0 .../rabbitmq/listener/HelloReceiver1.java | 0 .../rabbitmq/listener/HelloReceiver2.java | 0 .../rabbitmq/listener/HelloReceiver3.java | 0 .../rabbitmq/listener/HelloTimeReceiver.java | 0 .../jeecg-cloud-test-seata/db/seata.sql | 0 .../jeecg-cloud-test-seata-account/pom.xml | 0 .../org/jeecg/SeataAccountApplication.java | 0 .../controller/SeataAccountController.java | 0 .../seata/account/entity/SeataAccount.java | 0 .../account/mapper/SeataAccountMapper.java | 0 .../account/service/SeataAccountService.java | 0 .../service/impl/SeataAccountServiceImpl.java | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/sql/schema-account.sql | 0 .../jeecg-cloud-test-seata-order/pom.xml | 0 .../java/org/jeecg/SeataOrderApplication.java | 0 .../controller/SeataOrderController.java | 0 .../seata/order/dto/PlaceOrderRequest.java | 0 .../seata/order/dto/ReduceBalanceRequest.java | 0 .../seata/order/dto/ReduceStockRequest.java | 0 .../test/seata/order/entity/SeataOrder.java | 0 .../test/seata/order/enums/OrderStatus.java | 0 .../test/seata/order/feign/AccountClient.java | 0 .../test/seata/order/feign/ProductClient.java | 0 .../seata/order/mapper/SeataOrderMapper.java | 0 .../order/service/SeataOrderService.java | 0 .../service/impl/SeataOrderServiceImpl.java | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/sql/schema-order.sql | 0 .../jeecg-cloud-test-seata-product/pom.xml | 0 .../org/jeecg/SeataProductApplication.java | 0 .../controller/SeataProductController.java | 0 .../seata/product/entity/SeataProduct.java | 0 .../product/mapper/SeataProductMapper.java | 0 .../product/service/SeataProductService.java | 0 .../service/impl/SeataProductServiceImpl.java | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/sql/schema-product.sql | 0 .../jeecg-cloud-test-seata/pom.xml | 0 .../doc/db.sql | 0 .../jeecg-cloud-test-shardingsphere/pom.xml | 0 .../StandardModTableShardAlgorithm.java | 0 .../JeecgShardingDemoController.java | 0 .../test/sharding/entity/ShardingSysLog.java | 0 .../sharding/mapper/ShardingSysLogMapper.java | 0 .../mapper/xml/ShardingSysLogMapper.xml | 0 .../service/IShardingSysLogService.java | 0 .../impl/ShardingSysLogServiceImpl.java | 0 .../resources/application-sharding-multi.yml | 0 .../main/resources/application-sharding.yml | 0 .../jeecg-cloud-test/pom.xml | 0 .../jeecg-cloud-xxljob/Dockerfile | 0 .../jeecg-cloud-xxljob/README.md | 0 .../doc/db/tables_xxl_job.sql | 0 .../jeecg-cloud-xxljob/pom.xml | 0 .../xxl/job/admin/XxlJobAdminApplication.java | 0 .../job/admin/controller/IndexController.java | 0 .../admin/controller/JobApiController.java | 0 .../admin/controller/JobCodeController.java | 0 .../admin/controller/JobGroupController.java | 0 .../admin/controller/JobInfoController.java | 0 .../admin/controller/JobLogController.java | 0 .../job/admin/controller/UserController.java | 0 .../annotation/PermissionLimit.java | 0 .../interceptor/CookieInterceptor.java | 0 .../interceptor/PermissionInterceptor.java | 0 .../controller/interceptor/WebMvcConfig.java | 0 .../resolver/WebExceptionResolver.java | 0 .../xxl/job/admin/core/alarm/JobAlarm.java | 0 .../xxl/job/admin/core/alarm/JobAlarmer.java | 0 .../admin/core/alarm/impl/EmailJobAlarm.java | 0 .../admin/core/conf/XxlJobAdminConfig.java | 0 .../job/admin/core/cron/CronExpression.java | 0 .../admin/core/exception/XxlJobException.java | 0 .../xxl/job/admin/core/model/XxlJobGroup.java | 0 .../xxl/job/admin/core/model/XxlJobInfo.java | 0 .../xxl/job/admin/core/model/XxlJobLog.java | 0 .../job/admin/core/model/XxlJobLogGlue.java | 0 .../job/admin/core/model/XxlJobLogReport.java | 0 .../job/admin/core/model/XxlJobRegistry.java | 0 .../xxl/job/admin/core/model/XxlJobUser.java | 0 .../job/admin/core/old/RemoteHttpJobBean.java | 0 .../core/old/XxlJobDynamicScheduler.java | 0 .../job/admin/core/old/XxlJobThreadPool.java | 0 .../core/route/ExecutorRouteStrategyEnum.java | 0 .../job/admin/core/route/ExecutorRouter.java | 0 .../route/strategy/ExecutorRouteBusyover.java | 0 .../strategy/ExecutorRouteConsistentHash.java | 0 .../route/strategy/ExecutorRouteFailover.java | 0 .../route/strategy/ExecutorRouteFirst.java | 0 .../core/route/strategy/ExecutorRouteLFU.java | 0 .../core/route/strategy/ExecutorRouteLRU.java | 0 .../route/strategy/ExecutorRouteLast.java | 0 .../route/strategy/ExecutorRouteRandom.java | 0 .../route/strategy/ExecutorRouteRound.java | 0 .../admin/core/scheduler/XxlJobScheduler.java | 0 .../core/thread/JobFailMonitorHelper.java | 0 .../admin/core/thread/JobLogReportHelper.java | 0 .../core/thread/JobLosedMonitorHelper.java | 0 .../core/thread/JobRegistryMonitorHelper.java | 0 .../admin/core/thread/JobScheduleHelper.java | 0 .../core/thread/JobTriggerPoolHelper.java | 0 .../admin/core/trigger/TriggerTypeEnum.java | 0 .../job/admin/core/trigger/XxlJobTrigger.java | 0 .../xxl/job/admin/core/util/CookieUtil.java | 0 .../com/xxl/job/admin/core/util/FtlUtil.java | 0 .../com/xxl/job/admin/core/util/I18nUtil.java | 0 .../xxl/job/admin/core/util/JacksonUtil.java | 0 .../job/admin/core/util/LocalCacheUtil.java | 0 .../com/xxl/job/admin/dao/XxlJobGroupDao.java | 0 .../com/xxl/job/admin/dao/XxlJobInfoDao.java | 0 .../com/xxl/job/admin/dao/XxlJobLogDao.java | 0 .../xxl/job/admin/dao/XxlJobLogGlueDao.java | 0 .../xxl/job/admin/dao/XxlJobLogReportDao.java | 0 .../xxl/job/admin/dao/XxlJobRegistryDao.java | 0 .../com/xxl/job/admin/dao/XxlJobUserDao.java | 0 .../xxl/job/admin/service/LoginService.java | 0 .../xxl/job/admin/service/XxlJobService.java | 0 .../job/admin/service/impl/AdminBizImpl.java | 0 .../admin/service/impl/XxlJobServiceImpl.java | 0 .../src/main/resources/application.yml | 0 .../main/resources/i18n/message_en.properties | 0 .../resources/i18n/message_zh_CN.properties | 0 .../resources/i18n/message_zh_TC.properties | 0 .../src/main/resources/logback.xml | 0 .../mybatis-mapper/XxlJobGroupMapper.xml | 0 .../mybatis-mapper/XxlJobInfoMapper.xml | 0 .../mybatis-mapper/XxlJobLogGlueMapper.xml | 0 .../mybatis-mapper/XxlJobLogMapper.xml | 0 .../mybatis-mapper/XxlJobLogReportMapper.xml | 0 .../mybatis-mapper/XxlJobRegistryMapper.xml | 0 .../mybatis-mapper/XxlJobUserMapper.xml | 0 .../Ionicons/css/ionicons.min.css | 0 .../Ionicons/fonts/ionicons.eot | Bin .../Ionicons/fonts/ionicons.svg | 0 .../Ionicons/fonts/ionicons.ttf | Bin .../Ionicons/fonts/ionicons.woff | Bin .../bower_components/PACE/pace.min.js | 0 .../PACE/themes/blue/pace-theme-flash.css | 0 .../daterangepicker.css | 0 .../daterangepicker.js | 0 .../bootstrap/css/bootstrap.min.css | 0 .../bootstrap/css/bootstrap.min.css.map | 0 .../fonts/glyphicons-halflings-regular.eot | Bin .../fonts/glyphicons-halflings-regular.svg | 0 .../fonts/glyphicons-halflings-regular.ttf | Bin .../fonts/glyphicons-halflings-regular.woff | Bin .../fonts/glyphicons-halflings-regular.woff2 | Bin .../bootstrap/js/bootstrap.min.js | 0 .../css/dataTables.bootstrap.min.css | 0 .../js/dataTables.bootstrap.min.js | 0 .../js/jquery.dataTables.min.js | 0 .../bower_components/fastclick/fastclick.js | 0 .../font-awesome/css/font-awesome.css.map | 0 .../font-awesome/css/font-awesome.min.css | 0 .../font-awesome/fonts/FontAwesome.otf | Bin .../fonts/fontawesome-webfont.eot | Bin .../fonts/fontawesome-webfont.svg | 0 .../fonts/fontawesome-webfont.ttf | Bin .../fonts/fontawesome-webfont.woff | Bin .../fonts/fontawesome-webfont.woff2 | Bin .../jquery.slimscroll.min.js | 0 .../bower_components/jquery/jquery.min.js | 0 .../bower_components/moment/moment.min.js | 0 .../static/adminlte/dist/css/AdminLTE.min.css | 0 .../dist/css/skins/_all-skins.min.css | 0 .../static/adminlte/dist/js/adminlte.min.js | 0 .../adminlte/plugins/iCheck/icheck.min.js | 0 .../adminlte/plugins/iCheck/square/blue.css | 0 .../adminlte/plugins/iCheck/square/blue.png | Bin .../plugins/iCheck/square/blue@2x.png | Bin .../src/main/resources/static/favicon.ico | Bin .../src/main/resources/static/js/common.1.js | 0 .../src/main/resources/static/js/index.js | 0 .../resources/static/js/jobcode.index.1.js | 0 .../resources/static/js/jobgroup.index.1.js | 0 .../resources/static/js/jobinfo.index.1.js | 0 .../resources/static/js/joblog.detail.1.js | 0 .../resources/static/js/joblog.index.1.js | 0 .../src/main/resources/static/js/login.1.js | 0 .../main/resources/static/js/user.index.1.js | 0 .../codemirror/addon/hint/anyword-hint.js | 0 .../codemirror/addon/hint/show-hint.css | 0 .../codemirror/addon/hint/show-hint.js | 0 .../plugins/codemirror/lib/codemirror.css | 0 .../plugins/codemirror/lib/codemirror.js | 0 .../plugins/codemirror/mode/clike/clike.js | 0 .../codemirror/mode/javascript/javascript.js | 0 .../static/plugins/codemirror/mode/php/php.js | 0 .../codemirror/mode/powershell/powershell.js | 0 .../plugins/codemirror/mode/python/python.js | 0 .../plugins/codemirror/mode/shell/shell.js | 0 .../static/plugins/cronGen/cronGen.js | 0 .../static/plugins/cronGen/cronGen_en.js | 0 .../plugins/echarts/echarts.common.min.js | 0 .../static/plugins/jquery/jquery.cookie.js | 0 .../plugins/jquery/jquery.validate.min.js | 0 .../resources/static/plugins/layer/layer.js | 0 .../plugins/layer/theme/default/icon-ext.png | Bin .../plugins/layer/theme/default/icon.png | Bin .../plugins/layer/theme/default/layer.css | 0 .../plugins/layer/theme/default/loading-0.gif | Bin .../plugins/layer/theme/default/loading-1.gif | Bin .../plugins/layer/theme/default/loading-2.gif | Bin .../templates/common/common.exception.ftl | 0 .../templates/common/common.macro.ftl | 0 .../src/main/resources/templates/help.ftl | 0 .../src/main/resources/templates/index.ftl | 0 .../templates/jobcode/jobcode.index.ftl | 0 .../templates/jobgroup/jobgroup.index.ftl | 0 .../templates/jobinfo/jobinfo.index.ftl | 0 .../templates/joblog/joblog.detail.ftl | 0 .../templates/joblog/joblog.index.ftl | 0 .../src/main/resources/templates/login.ftl | 0 .../resources/templates/user/user.index.ftl | 0 .../jeecg-demo-cloud-start/Dockerfile | 0 .../jeecg-demo-cloud-start/pom.xml | 0 .../main/java/JeecgDemoCloudApplication.java | 0 .../src/main/resources/application.yml | 0 .../jeecg-system-cloud-start/Dockerfile | 0 .../jeecg-system-cloud-start/pom.xml | 0 .../jeecg/JeecgSystemCloudApplication.java | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/logback-spring.xml | 0 .../pom.xml | 0 jeecg-boot/pom.xml => pom.xml | 0 1985 files changed, 5 insertions(+), 130529 deletions(-) delete mode 100644 ant-design-vue-jeecg/.dockerignore delete mode 100644 ant-design-vue-jeecg/.editorconfig delete mode 100644 ant-design-vue-jeecg/.env delete mode 100644 ant-design-vue-jeecg/.env.development delete mode 100644 ant-design-vue-jeecg/.env.production delete mode 100644 ant-design-vue-jeecg/.env.test delete mode 100644 ant-design-vue-jeecg/.eslintignore delete mode 100644 ant-design-vue-jeecg/.gitattributes delete mode 100644 ant-design-vue-jeecg/.gitignore delete mode 100644 ant-design-vue-jeecg/.prettierrc delete mode 100644 ant-design-vue-jeecg/Dockerfile delete mode 100644 ant-design-vue-jeecg/LICENSE delete mode 100644 ant-design-vue-jeecg/README.md delete mode 100644 ant-design-vue-jeecg/babel.config.js delete mode 100644 ant-design-vue-jeecg/idea.config.js delete mode 100644 ant-design-vue-jeecg/package-lock.json delete mode 100644 ant-design-vue-jeecg/package.json delete mode 100644 ant-design-vue-jeecg/public/avatar2.jpg delete mode 100644 ant-design-vue-jeecg/public/cdn/babel-polyfill/polyfill_7_2_5.js delete mode 100644 ant-design-vue-jeecg/public/cdn/font-icon/font_2316098_umqusozousr.js delete mode 100644 ant-design-vue-jeecg/public/color.less delete mode 100644 ant-design-vue-jeecg/public/goright.png delete mode 100644 ant-design-vue-jeecg/public/index.html delete mode 100644 ant-design-vue-jeecg/public/logo.png delete mode 100644 ant-design-vue-jeecg/public/static/config.js delete mode 100644 ant-design-vue-jeecg/public/tinymce/langs/zh_CN.js delete mode 100644 ant-design-vue-jeecg/public/tinymce/skins/lightgray/content.min.css delete mode 100644 ant-design-vue-jeecg/public/tinymce/skins/lightgray/skin.min.css delete mode 100644 ant-design-vue-jeecg/public/v2.js delete mode 100644 ant-design-vue-jeecg/src/App.vue delete mode 100644 ant-design-vue-jeecg/src/api/GroupRequest.js delete mode 100644 ant-design-vue-jeecg/src/api/api.js delete mode 100644 ant-design-vue-jeecg/src/api/index.js delete mode 100644 ant-design-vue-jeecg/src/api/login.js delete mode 100644 ant-design-vue-jeecg/src/api/manage.js delete mode 100644 ant-design-vue-jeecg/src/assets/background.svg delete mode 100644 ant-design-vue-jeecg/src/assets/checkcode.png delete mode 100644 ant-design-vue-jeecg/src/assets/daiban.png delete mode 100644 ant-design-vue-jeecg/src/assets/duban.png delete mode 100644 ant-design-vue-jeecg/src/assets/guaz.png delete mode 100644 ant-design-vue-jeecg/src/assets/less/AppIcon.less delete mode 100644 ant-design-vue-jeecg/src/assets/less/JAreaLinkage.less delete mode 100644 ant-design-vue-jeecg/src/assets/less/TableExpand.less delete mode 100644 ant-design-vue-jeecg/src/assets/less/codemirror_idea.css delete mode 100644 ant-design-vue-jeecg/src/assets/less/common.less delete mode 100644 ant-design-vue-jeecg/src/assets/less/index.less delete mode 100644 ant-design-vue-jeecg/src/assets/logo-white.png delete mode 100644 ant-design-vue-jeecg/src/assets/logo.png delete mode 100644 ant-design-vue-jeecg/src/assets/logo.svg delete mode 100644 ant-design-vue-jeecg/src/assets/nodata.png delete mode 100644 ant-design-vue-jeecg/src/assets/pdf4.jpg delete mode 100644 ant-design-vue-jeecg/src/assets/zaiban.png delete mode 100644 ant-design-vue-jeecg/src/cas/sso.js delete mode 100644 ant-design-vue-jeecg/src/components/AvatarList/Item.vue delete mode 100644 ant-design-vue-jeecg/src/components/AvatarList/List.vue delete mode 100644 ant-design-vue-jeecg/src/components/AvatarList/index.js delete mode 100644 ant-design-vue-jeecg/src/components/AvatarList/index.less delete mode 100644 ant-design-vue-jeecg/src/components/ChartCard.vue delete mode 100644 ant-design-vue-jeecg/src/components/CountDown/CountDown.vue delete mode 100644 ant-design-vue-jeecg/src/components/CountDown/index.js delete mode 100644 ant-design-vue-jeecg/src/components/Ellipsis/Ellipsis.vue delete mode 100644 ant-design-vue-jeecg/src/components/Ellipsis/index.js delete mode 100644 ant-design-vue-jeecg/src/components/JVxeCells/JVxeFileCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/JVxeCells/JVxeImageCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/JVxeCells/JVxePopupCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/JVxeCells/JVxeRadioCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/JVxeCells/JVxeSelectDictSearchCell.js delete mode 100644 ant-design-vue-jeecg/src/components/JVxeCells/install.js delete mode 100644 ant-design-vue-jeecg/src/components/NumberInfo/NumberInfo.vue delete mode 100644 ant-design-vue-jeecg/src/components/NumberInfo/index.js delete mode 100644 ant-design-vue-jeecg/src/components/NumberInfo/index.less delete mode 100644 ant-design-vue-jeecg/src/components/README.md delete mode 100644 ant-design-vue-jeecg/src/components/Trend/Trend.vue delete mode 100644 ant-design-vue-jeecg/src/components/Trend/index.js delete mode 100644 ant-design-vue-jeecg/src/components/Trend/index.less delete mode 100644 ant-design-vue-jeecg/src/components/_util/Area.js delete mode 100644 ant-design-vue-jeecg/src/components/_util/StringUtil.js delete mode 100644 ant-design-vue-jeecg/src/components/_util/util.js delete mode 100644 ant-design-vue-jeecg/src/components/chart/AreaChartTy.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/Bar.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/BarAndLine.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/BarMultid.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/DashChartDemo.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/IndexBar.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/LineChartMultid.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/Liquid.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/MiniArea.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/MiniBar.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/MiniProgress.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/Pie.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/README.md delete mode 100644 ant-design-vue-jeecg/src/components/chart/Radar.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/RankList.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/StackBar.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/TransferBar.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/Trend.vue delete mode 100644 ant-design-vue-jeecg/src/components/chart/chart.less delete mode 100644 ant-design-vue-jeecg/src/components/chart/mixins/ChartMixins.js delete mode 100644 ant-design-vue-jeecg/src/components/dict/JDictSelectTag.vue delete mode 100644 ant-design-vue-jeecg/src/components/dict/JDictSelectUtil.js delete mode 100644 ant-design-vue-jeecg/src/components/dict/JMultiSelectTag.vue delete mode 100644 ant-design-vue-jeecg/src/components/dict/JSearchSelectTag.vue delete mode 100644 ant-design-vue-jeecg/src/components/dict/README.md delete mode 100644 ant-design-vue-jeecg/src/components/dict/index.js delete mode 100644 ant-design-vue-jeecg/src/components/index.less delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JAreaLinkage.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JCategorySelect.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JCheckbox.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JCodeEditor.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JCron.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JDate.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/EasyCron.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/InputCron.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/format-date.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/index.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/const.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/day.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/hour.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/minute.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/mixin.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/mixin.less delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/month.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/second.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/week.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/year.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEasyCron/validator.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEditableTable.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEditor.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JEllipsis.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JFormContainer.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JImageUpload.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JImportModal.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JInput.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JMarkdownEditor/default-options.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JMarkdownEditor/index.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JModal/JModal.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JModal/JPrompt.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JModal/ModalDragMixins.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JModal/index.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JPopup.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JSelectMultiple.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JSlider.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JSuperQuery.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JSwitch.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JTime.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JTreeDict.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JTreeSelect.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JTreeTable.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JUpload.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeDetailsModal.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxePagination.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeSubPopover.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeTable.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeToolbar.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeCheckboxCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDateCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDepartSelectCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDragSortCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeInputCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeNormalCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeProgressCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeSelectCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeSlotCell.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTagsCell.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTextareaCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTimeCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeUploadCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeUserSelectCell.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/ReloadEffect.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/index.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/install.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/jvxeTypes.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/j-vxe-table.less delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/reload-effect.less delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/size/tiny.less delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/mixins/JVxeCellMixins.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/mixins/vxe.web.socket.mixins.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/utils/cellUtils.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/JVxeTable/utils/vxeUtils.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/README.md delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/README_JEditableTable.md delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/README_JPopup.md delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/index.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/minipop/JFilePop.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/minipop/JInputPop.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/modal/JCronModal.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecg/modal/JPopupOnlReport.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/JSelectBizComponentModal.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/JSelectBizQueryItem.js delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/README.md delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/index.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/JSelectDepart.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/JSelectMultiUser.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/JSelectPosition.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/JSelectRole.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/JSelectUserByDep.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/README.md delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/modal/JSelectDepartModal.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/modal/JSelectUserByDepModal.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/modal/SelectUserListModal.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/thirdApp/JThirdAppButton.vue delete mode 100644 ant-design-vue-jeecg/src/components/jeecgbiz/thirdApp/JThirdAppDropdown.vue delete mode 100644 ant-design-vue-jeecg/src/components/layouts/BasicLayout.vue delete mode 100644 ant-design-vue-jeecg/src/components/layouts/BlankLayout.vue delete mode 100644 ant-design-vue-jeecg/src/components/layouts/IframeFReportView.vue delete mode 100644 ant-design-vue-jeecg/src/components/layouts/IframePageView.vue delete mode 100644 ant-design-vue-jeecg/src/components/layouts/PageView.vue delete mode 100644 ant-design-vue-jeecg/src/components/layouts/RouteView.vue delete mode 100644 ant-design-vue-jeecg/src/components/layouts/TabLayout.vue delete mode 100644 ant-design-vue-jeecg/src/components/layouts/UserLayout.vue delete mode 100644 ant-design-vue-jeecg/src/components/layouts/index.js delete mode 100644 ant-design-vue-jeecg/src/components/lazy_antd.js delete mode 100644 ant-design-vue-jeecg/src/components/menu/Contextmenu.vue delete mode 100644 ant-design-vue-jeecg/src/components/menu/SideMenu.vue delete mode 100644 ant-design-vue-jeecg/src/components/menu/index.js delete mode 100644 ant-design-vue-jeecg/src/components/page/GlobalFooter.vue delete mode 100644 ant-design-vue-jeecg/src/components/page/GlobalHeader.vue delete mode 100644 ant-design-vue-jeecg/src/components/page/GlobalLayout.vue delete mode 100644 ant-design-vue-jeecg/src/components/page/PageHeader.vue delete mode 100644 ant-design-vue-jeecg/src/components/page/PageLayout.vue delete mode 100644 ant-design-vue-jeecg/src/components/page/SHeaderNotice.vue delete mode 100644 ant-design-vue-jeecg/src/components/setting/SettingDrawer.vue delete mode 100644 ant-design-vue-jeecg/src/components/setting/SettingItem.vue delete mode 100644 ant-design-vue-jeecg/src/components/table/README.md delete mode 100644 ant-design-vue-jeecg/src/components/table/StandardTable.vue delete mode 100644 ant-design-vue-jeecg/src/components/table/index.js delete mode 100644 ant-design-vue-jeecg/src/components/tools/Breadcrumb.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/DepartSelect.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/DetailList.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/DynamicNotice.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/FooterToolBar.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/HeadInfo.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/HeaderNotice.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/Logo.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/ShowAnnouncement.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/TwoStepCaptcha.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/UserMenu.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/UserPassword.vue delete mode 100644 ant-design-vue-jeecg/src/components/tools/setting.js delete mode 100644 ant-design-vue-jeecg/src/config/index.js delete mode 100644 ant-design-vue-jeecg/src/config/router.config.js delete mode 100644 ant-design-vue-jeecg/src/defaultSettings.js delete mode 100644 ant-design-vue-jeecg/src/icons.js delete mode 100644 ant-design-vue-jeecg/src/main.js delete mode 100644 ant-design-vue-jeecg/src/mixins/DisabledAuthFilterMixin.js delete mode 100644 ant-design-vue-jeecg/src/mixins/JEditableTableMixin.js delete mode 100644 ant-design-vue-jeecg/src/mixins/JEditableTableModelMixin.js delete mode 100644 ant-design-vue-jeecg/src/mixins/JVxeTableMixin.js delete mode 100644 ant-design-vue-jeecg/src/mixins/JVxeTableModelMixin.js delete mode 100644 ant-design-vue-jeecg/src/mixins/JeecgListMixin.js delete mode 100644 ant-design-vue-jeecg/src/mixins/OnlineCommonUtil.js delete mode 100644 ant-design-vue-jeecg/src/mixins/WebsocketMixin.js delete mode 100644 ant-design-vue-jeecg/src/permission.js delete mode 100644 ant-design-vue-jeecg/src/qiankun/apps.js delete mode 100644 ant-design-vue-jeecg/src/qiankun/index.js delete mode 100644 ant-design-vue-jeecg/src/qiankun/state.js delete mode 100644 ant-design-vue-jeecg/src/router/README.md delete mode 100644 ant-design-vue-jeecg/src/router/index.js delete mode 100644 ant-design-vue-jeecg/src/store/getters.js delete mode 100644 ant-design-vue-jeecg/src/store/index.js delete mode 100644 ant-design-vue-jeecg/src/store/modules/app.js delete mode 100644 ant-design-vue-jeecg/src/store/modules/enhance.js delete mode 100644 ant-design-vue-jeecg/src/store/modules/online.js delete mode 100644 ant-design-vue-jeecg/src/store/modules/permission.js delete mode 100644 ant-design-vue-jeecg/src/store/modules/user.js delete mode 100644 ant-design-vue-jeecg/src/store/mutation-types.js delete mode 100644 ant-design-vue-jeecg/src/utils/JEditableTableUtil.js delete mode 100644 ant-design-vue-jeecg/src/utils/LunarFullCalendarUtil.js delete mode 100644 ant-design-vue-jeecg/src/utils/auth.js delete mode 100644 ant-design-vue-jeecg/src/utils/authFilter.js delete mode 100644 ant-design-vue-jeecg/src/utils/axios.js delete mode 100644 ant-design-vue-jeecg/src/utils/browser.js delete mode 100644 ant-design-vue-jeecg/src/utils/commonUploadFile.js delete mode 100644 ant-design-vue-jeecg/src/utils/desform/CustomExpression.js delete mode 100644 ant-design-vue-jeecg/src/utils/device.js delete mode 100644 ant-design-vue-jeecg/src/utils/encryption/aesEncrypt.js delete mode 100644 ant-design-vue-jeecg/src/utils/encryption/signMd5Utils.js delete mode 100644 ant-design-vue-jeecg/src/utils/filter.js delete mode 100644 ant-design-vue-jeecg/src/utils/hasPermission.js delete mode 100644 ant-design-vue-jeecg/src/utils/mixin.js delete mode 100644 ant-design-vue-jeecg/src/utils/permissions.js delete mode 100644 ant-design-vue-jeecg/src/utils/portal/constant.js delete mode 100644 ant-design-vue-jeecg/src/utils/props-util.js delete mode 100644 ant-design-vue-jeecg/src/utils/request.js delete mode 100644 ant-design-vue-jeecg/src/utils/rules.js delete mode 100644 ant-design-vue-jeecg/src/utils/storage.js delete mode 100644 ant-design-vue-jeecg/src/utils/util.js delete mode 100644 ant-design-vue-jeecg/src/utils/validate.js delete mode 100644 ant-design-vue-jeecg/src/utils/vueBus.js delete mode 100644 ant-design-vue-jeecg/src/views/Home.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/center/Index.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/center/page/App.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/center/page/Article.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/center/page/Project.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/center/page/index.js delete mode 100644 ant-design-vue-jeecg/src/views/account/settings/AvatarModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/settings/BaseSetting.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/settings/Binding.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/settings/Custom.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/settings/Index.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/settings/Notification.vue delete mode 100644 ant-design-vue-jeecg/src/views/account/settings/Security.vue delete mode 100644 ant-design-vue-jeecg/src/views/dashboard/Analysis.vue delete mode 100644 ant-design-vue-jeecg/src/views/dashboard/IndexBdc.vue delete mode 100644 ant-design-vue-jeecg/src/views/dashboard/IndexChart.vue delete mode 100644 ant-design-vue-jeecg/src/views/dashboard/IndexTask.vue delete mode 100644 ant-design-vue-jeecg/src/views/dashboard/Monitor.vue delete mode 100644 ant-design-vue-jeecg/src/views/dashboard/Workplace.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/form/BasicForm.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/form/advancedForm/AdvancedForm.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/form/advancedForm/RepositoryForm.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/form/advancedForm/TaskForm.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/form/stepForm/Step1.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/form/stepForm/Step2.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/form/stepForm/Step3.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/form/stepForm/StepForm.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/list/CardList.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/list/PermissionList.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/list/RoleList.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/list/StandardList.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/list/TableInnerEditList.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/list/TableList.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/list/UserList.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/list/modules/RoleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/list/search/SearchLayout.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/profile/advanced/Advanced.vue delete mode 100644 ant-design-vue-jeecg/src/views/examples/profile/basic/Index.vue delete mode 100644 ant-design-vue-jeecg/src/views/exception/403.vue delete mode 100644 ant-design-vue-jeecg/src/views/exception/404.vue delete mode 100644 ant-design-vue-jeecg/src/views/exception/500.vue delete mode 100644 ant-design-vue-jeecg/src/views/exception/ExceptionPage.vue delete mode 100644 ant-design-vue-jeecg/src/views/exception/type.js delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/ImagCropper.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/ImagPreview.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/ImgDragSort.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/ImgTurnPage.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/InterfaceTest.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVXETableDemo.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo1.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo2.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo3.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/JSBCDemo.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/PopupSubTable.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/SocketReload.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/ErpTemplate.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Index.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template1.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template2.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template3.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template4.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template5.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JeecgDemoList.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JeecgEditableTableExample.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainList.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainListForJEditableTable.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainListForJVxeTable.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JeecgPdfView.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/JeecgTreeTable.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/PrintDemo.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/RowspanTable.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/SelectDemo.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/SplitPanel.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/TableExpandeSub.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/TableOrderTotal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/TableTotal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/ThirdAppMessageTest.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/helloworld.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/helloworld2.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/DefaultTable.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/ReadOnlyTable.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/ThreeLinkage.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/JeecgDemoModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/JeecgDemoTabsModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderMainModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderModalForJEditableTable.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderModalForJVexTable.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/PdfPreviewModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelA.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelB.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/SuperQueryModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/modules/VueCronModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/report/Analysis.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/report/ArchivesStatisticst.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/report/ViserChartDemo.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderCustomerList.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderDMainList.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderTicketList.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderCustomerModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderDMainModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderTicketModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/message/SysMessageList.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/message/SysMessageTemplateList.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageTemplateModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageTestModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/monitor/DiskMonitoring.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/monitor/HttpTrace.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/monitor/JvmInfo.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/monitor/RedisInfo.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/monitor/RedisTerminal.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/monitor/SystemInfo.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/monitor/TomcatInfo.vue delete mode 100644 ant-design-vue-jeecg/src/views/modules/oss/OSSFileList.vue delete mode 100644 ant-design-vue-jeecg/src/views/result/Error.vue delete mode 100644 ant-design-vue-jeecg/src/views/result/Result.vue delete mode 100644 ant-design-vue-jeecg/src/views/result/Success.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/AddressList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/DataLogList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/DepartList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/DepartList2.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/DepartListSync.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/DepartUserList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/DictDeleteList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/DictItemList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/DictList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/LogList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/NewPermissionList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/PermissionDataRuleList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/PermissionList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/QuartzJobList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/RoleList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/RoleUserList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/SysAnnouncementList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/SysCategoryList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/SysCheckRuleList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/SysDataSourceList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/SysFillRuleList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/SysGatewayRouteList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/SysGatewayRouteList2.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/SysPositionList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/SysUserOnlineList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/TenantList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/UserAnnouncementList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/UserList.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/AddressListLeft.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/AddressListRight.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DataLogCompareModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DataLogModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DepartAuthModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DepartDataruleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DepartModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DepartWindow.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DeptBaseInfo.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DeptRoleAuthModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DeptRoleDataruleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DeptRoleInfo.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DeptRoleUserModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DeptUserInfo.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DictItemModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/DictModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/GateWayRouteModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/PasswordModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/PermissionDataRuleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/PermissionModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/QuartzJobModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/RoleDataruleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/RoleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SelectUserListModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SelectUserModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SysAnnouncementModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SysCategoryModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SysCheckRuleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SysCheckRuleTestModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SysDataSourceModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SysDepartRoleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SysFillRuleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SysPositionModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/SysUserAgentModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/TenantForm.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/TenantModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/UserModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/UserRecycleBinModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/UserRoleModal.vue delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/icon/Icon.less delete mode 100644 ant-design-vue-jeecg/src/views/system/modules/icon/Icons.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/Login.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/LoginAccount.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/LoginPhone.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/LoginSelectTenant.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/alteration/Alteration.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/alteration/Step2.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/alteration/Step3.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/alteration/Step4.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/oauth2/OAuth2Login.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/register/Register.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/register/RegisterResult.vue delete mode 100644 ant-design-vue-jeecg/src/views/user/third/JeecgThirdLoginMixin.js delete mode 100644 ant-design-vue-jeecg/src/views/user/third/ThirdLogin.vue delete mode 100644 ant-design-vue-jeecg/vue.config.js delete mode 100644 ant-design-vue-jeecg/yarn.lock rename {jeecg-boot/db => db}/Dockerfile (100%) rename {jeecg-boot/db => db}/jeecgboot-mysql-5.7.sql (100%) rename {jeecg-boot/db => db}/tables_nacos.sql (100%) rename {jeecg-boot/db => db}/tables_xxl_job.sql (100%) rename {jeecg-boot/db => db}/其他类型库/jeecgboot-oracle11g.dmp (100%) rename {jeecg-boot/db => db}/其他类型库/jeecgboot-oracle11g.sql (100%) rename {jeecg-boot/db => db}/其他类型库/jeecgboot-sqlserver2019.sql (100%) rename {jeecg-boot/db => db}/增量SQL/3.2升级到3.3增量脚本sql (100%) rename {jeecg-boot/db => db}/增量SQL/版本升级说明.txt (100%) rename jeecg-boot/docker-compose.yml => docker-compose.yml (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-api/jeecg-system-cloud-api/pom.xml (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/factory/SysBaseAPIFallbackFactory.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/fallback/SysBaseAPIFallback.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-api/jeecg-system-cloud-api/src/main/java/org/jeecg/config/FeignConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-api/jeecg-system-local-api/pom.xml (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-api/jeecg-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-api/pom.xml (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/pom.xml (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/CommonAPI.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/FileDownDTO.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/FileUploadDTO.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/LogDTO.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/OnlineAuthDTO.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/message/BusMessageDTO.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/message/BusTemplateMessageDTO.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/message/MessageDTO.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/message/TemplateDTO.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/message/TemplateMessageDTO.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/vo/Result.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/AutoLogAspect.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/PermissionDataAspect.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/UrlMatchEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/AutoDict.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/AutoLog.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/AutoLowApp.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/Dict.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/DynamicTable.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/OnlineAuth.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/PermissionData.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/CommonSendStatus.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DataBaseConstant.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DynamicTableConstant.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/FillRuleConstant.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ServiceNameConstants.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/SymbolConstant.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/VxeSocketConst.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/WebsocketConst.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/CgformEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/LowAppAopEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/MessageTypeEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/ModuleType.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/OperateTypeEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/RoleIndexConfigEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/annotation/SensitiveDecode.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/annotation/SensitiveEncode.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/annotation/SensitiveField.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/aspect/SensitiveDataAspect.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/enums/SensitiveEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/util/SensitiveInfoUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/es/QueryStringBuilder.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBoot401Exception.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootException.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/handler/IFillRuleHandler.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/annotation/EnumDict.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/entity/JeecgEntity.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/service/JeecgService.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/service/impl/JeecgServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/MatchTypeEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryCondition.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryRuleEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JeecgDataAutorUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/ComboModel.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/DictModel.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/DictModelMany.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/DictQuery.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/DynamicDataSourceModel.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/LoginUser.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/SelectTreeModel.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/SysCategoryModel.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/SysDepartModel.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/SysPermissionDataRuleModel.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/SysUserCacheInfo.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/BrowserType.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/BrowserUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DySmsEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DySmsHelper.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/FillRuleUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/HTMLUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/IpUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/Md5Util.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MyClassLoader.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PmsUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestDesformUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SpringContextUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SysAnnmentTypeEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/TokenUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/UUIDGenerator.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/YouBianCodeUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/DataSourceCachePool.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/DbTypeUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/DynamicDBUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/encryption/AesEncryptUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/encryption/EncryptedString.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/FileTypeFilter.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/StrAttackFilter.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/AbstractQueryBlackListHandler.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/SecurityTools.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/entity/MyKeyPair.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/entity/SecurityReq.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/entity/SecurityResp.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/entity/SecuritySignReq.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/entity/SecuritySignResp.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/superSearch/ObjectParseUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/superSearch/QueryRuleEnum.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/superSearch/QueryRuleVo.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/AutoPoiConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/AutoPoiDictConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/CorsFilterCondition.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/DruidConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/JeecgBaseConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/JeecgCloudCondition.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/RestTemplateConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/StaticConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger2Config.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/WebMvcConfiguration.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/WebSocketConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/filter/RequestBodyReserveFilter.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/filter/WebsocketFilter.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/JeecgTenantParser.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/TenantContext.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/ThreadLocalDataHelper.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/aspect/DynamicTableAspect.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/interceptor/DynamicDatasourceInterceptor.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/oss/MinioConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/oss/OssConfiguration.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/JwtToken.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroRealm.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/filters/CustomShiroFilterFactoryBean.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/filters/JwtFilter.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/filters/ResourceCheckFilter.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthConfiguration.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/BodyReaderHttpServletRequestWrapper.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/SignUtil.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/thirdapp/ThirdAppConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/thirdapp/ThirdAppTypeConfig.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/thirdapp/ThirdAppTypeItemVo.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/vo/DomainUrl.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/vo/Path.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/config/vo/Shiro.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/BaseCommonMapper.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/BaseCommonMapper.xml (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/BaseCommonService.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/impl/BaseCommonServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/jeecg-boot-base-core/src/main/resources/static/pca.json (100%) rename {jeecg-boot/jeecg-boot-base => jeecg-boot-base}/pom.xml (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/pom.xml (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/cloud/controller/JcloudDemoFeignController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/cloud/controller/JcloudDemoProviderController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/cloud/service/JcloudDemoService.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/cloud/service/impl/JcloudDemoServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/cloud/xxljob/TestJobHandler.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/MockController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/area.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/area_mini.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/area_options.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/asyn_tree_list_0.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/asyn_tree_list_1.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/asyn_tree_list_2.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/asyn_tree_list_3.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/asyn_tree_list_31.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/getCntrNoCountInfo.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/getTubiao.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/graphreport_chart.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/permission.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/permission_no_page.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/role.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/service.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/sysdatalog.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/task_process.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/user.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/user_info.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/userinfo.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/workplace_activity.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/workplace_projects.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/workplace_radar.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/json/workplace_teams.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/vxe/entity/MockEntity.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/vxe/json/ddjh.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/vxe/json/ddjh_s8.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/vxe/json/dlglong.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/mock/vxe/websocket/VxeSocket.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/controller/BigScreenTemplatController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDynamicDataController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/controller/JeecgOrderErpMainController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/controller/JeecgOrderMainController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/entity/JeecgDemo.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/entity/JeecgOrderCustomer.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/entity/JeecgOrderMain.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/entity/JeecgOrderTicket.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/entity/JoaDemo.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/JeecgDemoMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/JeecgOrderCustomerMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/JeecgOrderMainMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/JeecgOrderTicketMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/JoaDemoMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/xml/JeecgDemoMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/xml/JeecgOrderCustomerMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/xml/JeecgOrderMainMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/xml/JeecgOrderTicketMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/mapper/xml/JoaDemoMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/IJeecgDemoService.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/IJeecgDynamicDataService.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/IJeecgOrderCustomerService.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/IJeecgOrderMainService.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/IJeecgOrderTicketService.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/IJoaDemoService.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgDemoServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgDynamicDataServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgOrderCustomerServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgOrderMainServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgOrderTicketServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/service/impl/JoaDemoServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/test/vo/JeecgOrderMainPage.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/demo/xxljob/TestJobHandler.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/dlglong/entity/MockEntity.java (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/dlglong/json/ddjh.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/dlglong/json/ddjh_s8.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/java/org/jeecg/modules/dlglong/json/dlglong.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/css/easyui.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/css/jquery-ui.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/css/main_design1.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/css/room.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/images/content_comm.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/images/content_comm1.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/images/content_down.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/images/content_down1.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/images/index.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/images/index1.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/images/screenbg_design1.jpg (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/images/war_room_main.jpg (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/js/big_design1.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/js/china.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/js/echarts-wordcloud.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/js/echarts.min.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/js/geoCoord.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/js/jquery.easyui.min.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/js/jquery.min.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/js/resize.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template1/js/room.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/css/style.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/arrow.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/bg_img03.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/bg_img04.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/border_bg01.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/box_title.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/chart_icon.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/chart_icon_on.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/close.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/close_icon.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/data_icon.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/data_icon_on.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/fangda.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/index_bg.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/jian.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/line-blue.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/line_bg.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/line_img.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/menu_btn.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/menu_on.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/next.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/people_iocn.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/plus.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/popUP_bg.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/prev.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/select_icon.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/select_icon_on.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/selsct_time.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/settings_icon.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/settings_icon_on.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/teacher_icon.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/title_bg01.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/title_border.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/title_line.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/weather_img01.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/中雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/中雨转大雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/中雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/中雪转大雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/冻雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/多云.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/大暴雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/大暴雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/大雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/大雨转暴雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/大雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/大雪转暴雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/小雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/小雨转中雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/小雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/小雪转中雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/强沙尘暴.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/扬沙.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/晴.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/暴雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/暴雨转大暴雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/暴雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/沙尘暴.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/浮尘.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/特大暴雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/阴.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/阵雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/阵雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/雨加雪.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/雷阵雨.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/雷阵雨加冰雹.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/雾.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/images/weather/霾.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/base.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/china.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/data/city.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/data/guangdong.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/echarts.min.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/jquery-3.3.1.min.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/extend/layer.ext.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/laydate/laydate.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/laydate/need/laydate.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/laydate/skins/danlan/icon.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/laydate/skins/danlan/laydate.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/laydate/skins/default/icon.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/laydate/skins/default/laydate.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/layer.min.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/layim/data/chatlog.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/layim/data/friend.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/layim/data/group.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/layim/data/groups.json (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/layim/layim.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/layim/layim.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/layim/loading.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/icon-ext.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/icon.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/icon_ext.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/loading-0.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/loading-1.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/loading-2.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/textbg.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/xubox_ico0.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/xubox_loading0.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/xubox_loading1.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/xubox_loading2.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/xubox_loading3.gif (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/default/xubox_title0.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/layer.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/layer.ext.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/moon/default.png (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/layer/skin/moon/style.css (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/pop_base.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/static/bigscreen/template2/js/rem.js (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/templates/bigscreen/template1/index.ftl (100%) rename {jeecg-boot/jeecg-boot-module-demo => jeecg-boot-module-demo}/src/main/resources/templates/bigscreen/template2/index.ftl (100%) rename {jeecg-boot => jeecg-boot-module-system}/.gitattributes (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/Dockerfile (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/pom.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/JeecgOneGUI.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/JeecgOneToMainUtil.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/JeecgSystemApplication.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/config/init/CodeGenerateDbConfig.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/config/init/SystemInitListener.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/config/init/TomcatFactoryConfig.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/cas/util/CasServiceUtil.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/controller/SysMessageController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/controller/SysMessageTemplateController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/entity/MsgParams.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/entity/SysMessage.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/entity/SysMessageTemplate.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/handle/ISendMsgHandle.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/handle/enums/SendMsgStatusEnum.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/handle/enums/SendMsgTypeEnum.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/handle/impl/DdSendMsgHandle.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/handle/impl/EmailSendMsgHandle.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/handle/impl/QywxSendMsgHandle.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/handle/impl/SmsSendMsgHandle.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/handle/impl/SystemSendMsgHandle.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/handle/impl/WxSendMsgHandle.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/job/SendMsgJob.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/mapper/SysMessageMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/mapper/SysMessageTemplateMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/mapper/xml/SysMessageMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/mapper/xml/SysMessageTemplateMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/service/ISysMessageService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/service/ISysMessageTemplateService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/service/impl/SysMessageServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/service/impl/SysMessageTemplateServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/util/PushMsgUtil.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/websocket/SocketHandler.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/websocket/TestSocketController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/monitor/controller/ActuatorRedisController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/monitor/domain/RedisInfo.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/monitor/exception/RedisConnectException.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/monitor/service/RedisService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/monitor/service/impl/MailHealthIndicator.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/monitor/service/impl/RedisServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/ngalain/aop/LogRecordAspect.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/ngalain/controller/NgAlainController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/ngalain/service/NgAlainService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/ngalain/service/impl/NgAlainServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/oss/controller/OssFileController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/oss/entity/OssFile.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/oss/mapper/OssFileMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/oss/service/IOssFileService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/oss/service/impl/OssFileServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/quartz/entity/QuartzJob.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/quartz/job/AsyncJob.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/quartz/job/SampleJob.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/quartz/job/SampleParamJob.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/quartz/mapper/QuartzJobMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/quartz/mapper/xml/QuartzJobMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/quartz/service/IQuartzJobService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/CommonController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/LoginController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysCheckRuleController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysDictController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysDictItemController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysFillRuleController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysGatewayRouteController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysLogController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysRoleIndexController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysUploadController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysUserController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/ThirdAppController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysAnnouncement.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysCategory.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysCheckRule.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysDataLog.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysDepart.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysDepartPermission.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysDepartRole.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysDepartRolePermission.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysDepartRoleUser.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysDict.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysDictItem.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysFillRule.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysGatewayRoute.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysLog.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysPermission.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysPermissionDataRule.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysPosition.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysRole.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysRoleIndex.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysRolePermission.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysTenant.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysThirdAccount.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysUser.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysUserAgent.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysUserDepart.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/entity/SysUserRole.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysCategoryMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysCheckRuleMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysDataLogMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysDepartMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysDepartPermissionMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysDepartRoleMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysDepartRolePermissionMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysDepartRoleUserMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysDictItemMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysFillRuleMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysGatewayRouteMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysLogMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysPermissionDataRuleMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysPermissionMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysPositionMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysRoleIndexMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysRoleMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysRolePermissionMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysTenantMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysThirdAccountMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysUserAgentMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysUserDepartMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/SysUserRoleMapper.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysCategoryMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysCheckRuleMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysDataLogMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysDataSourceMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartPermissionMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartRoleMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartRolePermissionMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartRoleUserMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysDictItemMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysDictMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysFillRuleMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysGatewayRouteMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysLogMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysPermissionDataRuleMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysPositionMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysRoleIndexMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysTenantMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysThirdAccountMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserAgentMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserDepartMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/AnnouncementSendModel.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/DepartIdModel.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/DuplicateCheckVo.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/SysDictTree.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/SysLoginModel.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/SysPermissionTree.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/SysUserSysDepartModel.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/ThirdLoginModel.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/TreeModel.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/model/TreeSelectModel.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/rule/CategoryCodeRule.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/rule/OrderNumberRule.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/rule/OrgCodeRule.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/security/DictQueryBlackListHandler.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysCategoryService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysCheckRuleService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysDataLogService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysDepartPermissionService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysDepartRolePermissionService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysDepartRoleService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysDepartRoleUserService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysDictItemService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysDictService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysFillRuleService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysGatewayRouteService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysLogService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysPermissionDataRuleService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysPermissionService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysPositionService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysRoleIndexService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysRolePermissionService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysRoleService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysTenantService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysThirdAccountService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysUserAgentService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysUserDepartService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysUserRoleService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/ISysUserService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/IThirdAppService.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/ImportFileServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysCheckRuleServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysDataLogServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysDepartPermissionServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysDepartRolePermissionServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysDepartRoleServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysDepartRoleUserServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysDictItemServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysFillRuleServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysGatewayRouteServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysLogServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionDataRuleImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysPositionServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysRoleIndexServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysRolePermissionServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysTenantServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysThirdAccountServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysUserAgentServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysUserRoleServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/util/PermissionDataUtil.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/util/SecurityUtil.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/util/XssUtils.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/vo/SysDepartUsersVO.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/vo/SysDictPage.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/vo/SysUserDepVo.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/vo/SysUserOnlineVO.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/vo/SysUserRoleVO.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/vo/thirdapp/JdtDepartmentTreeVo.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwDepartmentTreeVo.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/java/org/jeecg/modules/system/vo/thirdapp/SyncInfoVo.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/application-dev.yml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/application-dm8.yml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/application-prod.yml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/application-test.yml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/banner.txt (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/blob.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeComponents.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeForm.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeImport.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeSearch.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/form/vue3Jvxepopup.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/form/vue3popup.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/init/initValue.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/init/initValueSub.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/sql/menu_insert.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/utils.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/validatorRulesTemplate/core.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/validatorRulesTemplate/main.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/validatorRulesTemplate/native/vue3CoreNative.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/validatorRulesTemplate/native/vue3MainNative.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/validatorRulesTemplate/sub-vue3.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/common/validatorRulesTemplate/sub.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal__Style#Drawer.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3Native/components/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3Native/components/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/entity/[1-n]Entity.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/mapper/[1-n]Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/[1-n]Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/service/[1-n]Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/[1-n]ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/vo/${entityName}Page.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/[1-n]Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3Native/components/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3Native/components/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/entity/[1-n]Entity.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/mapper/[1-n]Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/[1-n]Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/service/[1-n]Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/[1-n]ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue/[1-n]List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/[1-n]Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/[1-n]List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/[1-n]Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/entity/[1-n]Entity.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/mapper/[1-n]Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/[1-n]Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/service/[1-n]Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/[1-n]ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vo/${entityName}Page.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/[1-n]Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue/subTables/[1-n]SubTable.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/[1-n]Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/subTables/[1-n]SubTable.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/entity/[1-n]Entity.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/mapper/[1-n]Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/[1-n]Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/service/[1-n]Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/[1-n]ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vo/${entityName}Page.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/[1-n]Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/[1-n]Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3Native/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3Native/components/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3Native/components/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3Native/components/[1-n]Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/entity/[1-n]Entity.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/mapper/[1-n]Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/[1-n]Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/service/[1-n]Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/[1-n]ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vo/${entityName}Page.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/[1-n]Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}_menu_insert.sql (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/components/[1-n]Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/vue-app/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/vue-app/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal__Style#Drawer.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/vue3/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/controller/${entityPackage}/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/entity/${entityPackage}/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/mapper/${entityPackage}/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/mapper/${entityPackage}/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/service/${entityPackage}/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/service/${entityPackage}/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/vue/${entityPackage}/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/vue/${entityPackage}/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/vue/${entityPackage}/modules/${entityName}Modal__Style#Drawer.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/vue3/${entityPackage}/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/vue3/${entityPackage}/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/vue3/${entityPackage}/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/one2/java/${bussiPackage}/vue3/${entityPackage}/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/entity/[1-n]Entity.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/mapper/[1-n]Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/mapper/xml/[1-n]Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/service/[1-n]Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/service/impl/[1-n]ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/vo/${entityName}Page.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Form.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany/java/${bussiPackage}/${entityPackage}/vue3/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/entity/[1-n]Entity.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/mapper/[1-n]Mapper.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/mapper/xml/[1-n]Mapper.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/service/I${entityName}Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/service/[1-n]Service.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/service/impl/[1-n]ServiceImpl.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vo/${entityName}Page.javai (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue/[1-n]List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue/modules/[1-n]Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue3/[1-n]List.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue3/modules/${entityName}Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue3/modules/[1-n]Modal.vuei (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/jeecg_config.properties (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/jeecg/jeecg_database.properties (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/logback-spring.xml (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/demo1.html (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/LICENSE (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/build/pdf.js (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/build/pdf.worker.js (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/78-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/78-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/78-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/78-RKSJ-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/78-RKSJ-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/78-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/78ms-RKSJ-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/78ms-RKSJ-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/83pv-RKSJ-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/90ms-RKSJ-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/90ms-RKSJ-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/90msp-RKSJ-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/90msp-RKSJ-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/90pv-RKSJ-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/90pv-RKSJ-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Add-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Add-RKSJ-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Add-RKSJ-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Add-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-CNS1-0.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-CNS1-1.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-CNS1-2.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-CNS1-3.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-CNS1-4.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-CNS1-5.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-CNS1-6.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-CNS1-UCS2.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-GB1-0.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-GB1-1.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-GB1-2.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-GB1-3.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-GB1-4.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-GB1-5.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-GB1-UCS2.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Japan1-0.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Japan1-1.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Japan1-2.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Japan1-3.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Japan1-4.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Japan1-5.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Japan1-6.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Japan1-UCS2.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Korea1-0.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Korea1-1.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Korea1-2.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Adobe-Korea1-UCS2.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/B5pc-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/B5pc-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/CNS-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/CNS-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/CNS1-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/CNS1-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/CNS2-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/CNS2-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/ETHK-B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/ETHK-B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/ETen-B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/ETen-B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/ETenms-B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/ETenms-B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Ext-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Ext-RKSJ-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Ext-RKSJ-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Ext-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GB-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GB-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GB-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GB-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBK-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBK-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBK2K-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBK2K-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBKp-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBKp-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBT-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBT-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBT-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBT-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBTpc-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBTpc-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBpc-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/GBpc-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKdla-B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKdla-B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKdlb-B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKdlb-B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKgccs-B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKgccs-B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKm314-B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKm314-B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKm471-B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKm471-B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKscs-B5-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/HKscs-B5-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Hankaku.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Hiragana.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSC-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSC-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSC-Johab-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSC-Johab-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSCms-UHC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSCms-UHC-HW-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSCms-UHC-HW-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSCms-UHC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSCpc-EUC-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/KSCpc-EUC-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Katakana.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/LICENSE (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/NWP-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/NWP-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/RKSJ-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/RKSJ-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/Roman.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniCNS-UCS2-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniCNS-UCS2-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniCNS-UTF16-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniCNS-UTF16-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniCNS-UTF32-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniCNS-UTF32-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniCNS-UTF8-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniCNS-UTF8-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniGB-UCS2-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniGB-UCS2-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniGB-UTF16-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniGB-UTF16-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniGB-UTF32-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniGB-UTF32-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniGB-UTF8-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniGB-UTF8-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UCS2-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UCS2-HW-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UCS2-HW-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UCS2-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UTF16-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UTF16-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UTF32-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UTF32-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UTF8-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS-UTF8-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS2004-UTF16-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS2004-UTF16-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS2004-UTF32-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS2004-UTF32-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS2004-UTF8-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJIS2004-UTF8-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJISPro-UCS2-HW-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJISPro-UCS2-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJISPro-UTF8-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJISX0213-UTF32-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJISX0213-UTF32-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJISX02132004-UTF32-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniJISX02132004-UTF32-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniKS-UCS2-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniKS-UCS2-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniKS-UTF16-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniKS-UTF16-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniKS-UTF32-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniKS-UTF32-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniKS-UTF8-H.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/UniKS-UTF8-V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/V.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/cmaps/WP-Symbol.bcmap (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/compatibility.js (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/compressed.tracemonkey-pldi-09.pdf (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/debugger.js (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/annotation-check.svg (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/annotation-comment.svg (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/annotation-help.svg (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/annotation-insert.svg (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/annotation-key.svg (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/annotation-newparagraph.svg (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/annotation-noicon.svg (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/annotation-note.svg (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/annotation-paragraph.svg (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/findbarButton-next-rtl.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/findbarButton-next-rtl@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/findbarButton-next.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/findbarButton-next@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/findbarButton-previous-rtl.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/findbarButton-previous-rtl@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/findbarButton-previous.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/findbarButton-previous@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/grab.cur (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/grabbing.cur (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/loading-icon.gif (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/loading-small.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/loading-small@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-documentProperties.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-documentProperties@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-firstPage.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-firstPage@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-handTool.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-handTool@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-lastPage.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-lastPage@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-rotateCcw.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-rotateCcw@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-rotateCw.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/secondaryToolbarButton-rotateCw@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/shadow.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/texture.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-bookmark.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-bookmark@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-download.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-download@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-menuArrows.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-menuArrows@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-openFile.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-openFile@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-pageDown-rtl.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-pageDown-rtl@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-pageDown.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-pageDown@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-pageUp-rtl.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-pageUp-rtl@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-pageUp.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-pageUp@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-presentationMode.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-presentationMode@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-print.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-print@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-search.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-search@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-secondaryToolbarToggle-rtl.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-secondaryToolbarToggle.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-secondaryToolbarToggle@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-sidebarToggle-rtl.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-sidebarToggle-rtl@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-sidebarToggle.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-sidebarToggle@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-viewAttachments.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-viewAttachments@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-viewOutline-rtl.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-viewOutline-rtl@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-viewOutline.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-viewOutline@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-viewThumbnail.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-viewThumbnail@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-zoomIn.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-zoomIn@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-zoomOut.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/images/toolbarButton-zoomOut@2x.png (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/l10n.js (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/locale/locale.properties (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/locale/zh-CN/viewer.properties (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/viewer.css (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/viewer.html (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/generic/web/viewer.js (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/static/view/userlist.html (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/templates/announcement/showContent.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/templates/demo3.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/templates/pdfPreviewIframe.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/main/resources/templates/thirdLogin.ftl (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/test/java/org/jeecg/SampleTest.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/test/java/org/jeecg/TestMain.java (100%) rename {jeecg-boot/jeecg-boot-module-system => jeecg-boot-module-system}/src/test/java/org/jeecg/modules/system/test/SysUserTest.java (100%) delete mode 100644 jeecg-boot/.gitignore delete mode 100644 jeecg-boot/LICENSE delete mode 100644 jeecg-boot/README.md delete mode 100644 jeecg-boot/jeecg-boot-module-system/.gitattributes rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/docker-compose-base.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/docker-compose.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/Dockerfile (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/README.md (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/JeecgGatewayApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/config/RateLimiterConfiguration.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/config/RouterDataType.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/FallbackController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/HystrixFallbackHandler.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/sentinel/GatewaySentinelExceptionConfig.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/sentinel/SentinelBlockRequestHandler.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/filter/GlobalAccessTokenFilter.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/filter/SentinelFilterContextConfig.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/LoderRouderHandler.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/MySwaggerResourceProvider.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/SwaggerResourceController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/MyInMemoryRouteDefinitionRepository.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/GatewayRouteVo.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/MyRouteDefinition.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-gateway/src/main/resources/logback-spring.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-monitor/README.md (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-monitor/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-monitor/src/main/java/org/jeecg/monitor/JeecgMonitorApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-monitor/src/main/java/org/jeecg/monitor/config/SecuritySecureConfig.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-monitor/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/Dockerfile (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/README.md (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/docs/config/jeecg-dev.yaml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/docs/config/jeecg-gateway-dev.yaml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/docs/config/jeecg-gateway-router.json (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/docs/config/jeecg.yaml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/docs/config/分库分表/jeecg-sharding-multi.yaml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/docs/config/分库分表/jeecg-sharding.yaml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/src/main/java/com/alibaba/nacos/JeecgNacosApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-nacos/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/Dockerfile (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/README.md (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/JeecgSentinelApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/constants/SentinelConStants.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/AuthorityRuleController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/SystemController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/base/BaseRuleController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayApiController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayFlowRuleController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/v2/FlowControllerV2.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/NacosConfigProperties.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/SentinelConfig.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/authority/AuthorityRuleNacosProvider.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/authority/AuthorityRuleNacosPublisher.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/degrade/DegradeRuleNacosProvider.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/degrade/DegradeRuleNacosPublisher.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/entity/AuthorityRuleCorrectEntity.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/entity/ParamFlowRuleCorrectEntity.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/flow/FlowRuleNacosProvider.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/flow/FlowRuleNacosPublisher.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayApiNacosProvider.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayApiNacosPublisher.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayFlowRulesNacosProvider.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayFlowRulesNacosPublisher.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/paramflow/ParamFlowRuleNacosProvider.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/paramflow/ParamFlowRuleNacosPublisher.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/system/SystemRuleNacosProvider.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/system/SystemRuleNacosPublisher.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-sentinel/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/constant/CloudConstant.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/client/JeecgTestClient.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/client/JeecgTestClientDyn.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/controller/JeecgTestFeignController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/factory/JeecgTestClientFactory.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/fallback/JeecgTestFallback.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/lock/DemoLockTest.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/XxclJobTest.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/constant/CloudConstant.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/controller/JeecgMqTestController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/event/DemoBusEvent.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver1.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver2.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver3.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloTimeReceiver.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/db/seata.sql (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/SeataAccountApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/controller/SeataAccountController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/entity/SeataAccount.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/mapper/SeataAccountMapper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/service/SeataAccountService.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/service/impl/SeataAccountServiceImpl.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/sql/schema-account.sql (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/SeataOrderApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/controller/SeataOrderController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/PlaceOrderRequest.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/ReduceBalanceRequest.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/ReduceStockRequest.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/entity/SeataOrder.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/enums/OrderStatus.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/feign/AccountClient.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/feign/ProductClient.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/mapper/SeataOrderMapper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/service/SeataOrderService.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/service/impl/SeataOrderServiceImpl.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/sql/schema-order.sql (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/SeataProductApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/controller/SeataProductController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/entity/SeataProduct.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/mapper/SeataProductMapper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/service/SeataProductService.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/service/impl/SeataProductServiceImpl.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/sql/schema-product.sql (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-seata/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/doc/db.sql (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/algorithm/StandardModTableShardAlgorithm.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/controller/JeecgShardingDemoController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/entity/ShardingSysLog.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/mapper/ShardingSysLogMapper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/mapper/xml/ShardingSysLogMapper.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/IShardingSysLogService.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/impl/ShardingSysLogServiceImpl.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding-multi.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-test/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/Dockerfile (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/README.md (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/doc/db/tables_xxl_job.sql (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/IndexController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobApiController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobCodeController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobGroupController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobInfoController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/UserController.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/annotation/PermissionLimit.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/interceptor/WebMvcConfig.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/resolver/WebExceptionResolver.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/alarm/JobAlarm.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/alarm/JobAlarmer.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/exception/XxlJobException.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/model/XxlJobGroup.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/model/XxlJobLog.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/model/XxlJobLogGlue.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/model/XxlJobLogReport.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/model/XxlJobRegistry.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/model/XxlJobUser.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/ExecutorRouteStrategyEnum.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFirst.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLast.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRandom.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/trigger/TriggerTypeEnum.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/FtlUtil.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/LocalCacheUtil.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/dao/XxlJobGroupDao.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/dao/XxlJobInfoDao.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/dao/XxlJobLogDao.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/dao/XxlJobLogGlueDao.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/dao/XxlJobLogReportDao.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/dao/XxlJobUserDao.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/LoginService.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/XxlJobService.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/i18n/message_en.properties (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/i18n/message_zh_CN.properties (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/i18n/message_zh_TC.properties (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/logback.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/mybatis-mapper/XxlJobGroupMapper.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/mybatis-mapper/XxlJobLogGlueMapper.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/mybatis-mapper/XxlJobLogReportMapper.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/mybatis-mapper/XxlJobRegistryMapper.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/mybatis-mapper/XxlJobUserMapper.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/Ionicons/css/ionicons.min.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/Ionicons/fonts/ionicons.eot (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/Ionicons/fonts/ionicons.svg (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/Ionicons/fonts/ionicons.ttf (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/Ionicons/fonts/ionicons.woff (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/PACE/pace.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/PACE/themes/blue/pace-theme-flash.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap/css/bootstrap.min.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap/css/bootstrap.min.css.map (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/bootstrap/js/bootstrap.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/fastclick/fastclick.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/font-awesome/css/font-awesome.css.map (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/font-awesome/css/font-awesome.min.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/font-awesome/fonts/FontAwesome.otf (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/font-awesome/fonts/fontawesome-webfont.eot (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/font-awesome/fonts/fontawesome-webfont.svg (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/font-awesome/fonts/fontawesome-webfont.ttf (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/font-awesome/fonts/fontawesome-webfont.woff (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/font-awesome/fonts/fontawesome-webfont.woff2 (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/jquery-slimscroll/jquery.slimscroll.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/jquery/jquery.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/bower_components/moment/moment.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/dist/css/AdminLTE.min.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/dist/css/skins/_all-skins.min.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/dist/js/adminlte.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/plugins/iCheck/icheck.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/plugins/iCheck/square/blue.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/plugins/iCheck/square/blue.png (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/adminlte/plugins/iCheck/square/blue@2x.png (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/favicon.ico (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/js/common.1.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/js/index.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/js/jobcode.index.1.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/js/jobgroup.index.1.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/js/jobinfo.index.1.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/js/joblog.detail.1.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/js/joblog.index.1.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/js/login.1.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/js/user.index.1.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/addon/hint/anyword-hint.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/addon/hint/show-hint.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/addon/hint/show-hint.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/lib/codemirror.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/lib/codemirror.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/mode/clike/clike.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/mode/javascript/javascript.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/mode/php/php.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/mode/powershell/powershell.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/mode/python/python.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/codemirror/mode/shell/shell.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/cronGen/cronGen.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/cronGen/cronGen_en.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/echarts/echarts.common.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/jquery/jquery.cookie.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/jquery/jquery.validate.min.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/layer/layer.js (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/layer/theme/default/icon-ext.png (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/layer/theme/default/icon.png (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/layer/theme/default/layer.css (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/layer/theme/default/loading-0.gif (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/layer/theme/default/loading-1.gif (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/static/plugins/layer/theme/default/loading-2.gif (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/common/common.exception.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/common/common.macro.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/help.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/index.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/jobcode/jobcode.index.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/jobgroup/jobgroup.index.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/jobinfo/jobinfo.index.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/joblog/joblog.detail.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/joblog/joblog.index.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/login.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-cloud-xxljob/src/main/resources/templates/user/user.index.ftl (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-demo-cloud-start/Dockerfile (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-demo-cloud-start/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-demo-cloud-start/src/main/java/JeecgDemoCloudApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-demo-cloud-start/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-system-cloud-start/Dockerfile (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-system-cloud-start/pom.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-system-cloud-start/src/main/java/org/jeecg/JeecgSystemCloudApplication.java (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-system-cloud-start/src/main/resources/application.yml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/jeecg-system-cloud-start/src/main/resources/logback-spring.xml (100%) rename {jeecg-boot/jeecg-cloud-module => jeecg-cloud-module}/pom.xml (100%) rename jeecg-boot/pom.xml => pom.xml (100%) diff --git a/README.md b/README.md index 775d57b5..8773a174 100644 --- a/README.md +++ b/README.md @@ -41,10 +41,10 @@ JeecgBoot 提供了一系列`低代码模块`,实现在线开发`真正的零 项目源码 ----------------------------------- -| 仓库 |前端源码Vue3版 | 前端源码Vue2版 | 后端源码 | +| 仓库 |前端 Vue3版 | 前端 Vue2版 | 后端源码 | |-|-|-|-| -| Github | [jeecgboot-vue3](https://github.com/jeecgboot/jeecgboot-vue3) | [ant-design-vue-jeecg](https://github.com/jeecgboot/jeecg-boot/tree/master/ant-design-vue-jeecg) | [jeecg-boot](https://github.com/jeecgboot/jeecg-boot) | -| 码云 | [jeecgboot-vue3](https://gitee.com/jeecg/jeecgboot-vue3) | [ant-design-vue-jeecg](https://gitee.com/jeecg/jeecg-boot/tree/master/ant-design-vue-jeecg) | [jeecg-boot](https://gitee.com/jeecg/jeecg-boot) | +| Github | [jeecgboot-vue3](https://github.com/jeecgboot/jeecgboot-vue3) | [ant-design-vue-jeecg](https://github.com/jeecgboot/ant-design-vue-jeecg) | [jeecg-boot](https://github.com/jeecgboot/jeecg-boot) | +| 码云 | [jeecgboot-vue3](https://gitee.com/jeecg/jeecgboot-vue3) | [ant-design-vue-jeecg](https://gitee.com/jeecg/ant-design-vue-jeecg) | [jeecg-boot](https://gitee.com/jeecg/jeecg-boot) | ##### 项目说明 @@ -52,8 +52,8 @@ JeecgBoot 提供了一系列`低代码模块`,实现在线开发`真正的零 | 项目名 | 说明 | |--------------------|------------------------| | `jeecg-boot` | SpringBoot后台源码(支持微服务) | -| `ant-design-vue-jeecg` |Vue2版前端源码(与主项目一起) | -| `jeecgboot-vue3` | Vue3版前端源码 | +| `ant-design-vue-jeecg` |Vue2版前端源码 | +| `jeecgboot-vue3` | Vue3+Ts版前端源码 | | `jeecg-boot-starter` | stater依赖项目单独维护,[源码地址](https://gitee.com/jeecg/jeecg-boot-starter) | diff --git a/ant-design-vue-jeecg/.dockerignore b/ant-design-vue-jeecg/.dockerignore deleted file mode 100644 index 59c9c55b..00000000 --- a/ant-design-vue-jeecg/.dockerignore +++ /dev/null @@ -1,23 +0,0 @@ -docs -public -src -.dockerignore -.editorconfig -.eslintignore -.gitattributes -.gitignore -.prettierrc -babel.config.js -Dockerfile -idea.config.js -LICENSE -package.json -package-lock.json -README.md -vue.config.js -yarn -yarn.lock -yarn-error.log -.idea -.svn -node_modules \ No newline at end of file diff --git a/ant-design-vue-jeecg/.editorconfig b/ant-design-vue-jeecg/.editorconfig deleted file mode 100644 index 3e26fbb6..00000000 --- a/ant-design-vue-jeecg/.editorconfig +++ /dev/null @@ -1,39 +0,0 @@ -[*] -charset=utf-8 -end_of_line=crlf -insert_final_newline=false -indent_style=space -indent_size=2 - -[{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm}] -indent_style=space -indent_size=2 - -[{*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}] -indent_style=space -indent_size=2 - -[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}] -indent_style=space -indent_size=2 - -[*.svg] -indent_style=space -indent_size=2 - -[*.js.map] -indent_style=space -indent_size=2 - -[*.less] -indent_style=space -indent_size=2 - -[*.vue] -indent_style=space -indent_size=2 - -[{.analysis_options,*.yml,*.yaml}] -indent_style=space -indent_size=2 - diff --git a/ant-design-vue-jeecg/.env b/ant-design-vue-jeecg/.env deleted file mode 100644 index f1dd8896..00000000 --- a/ant-design-vue-jeecg/.env +++ /dev/null @@ -1,6 +0,0 @@ -NODE_ENV=production -VUE_APP_PLATFORM_NAME=JeecgBoot 企业级低代码平台 -# 开启单点登录 -VUE_APP_SSO=false -# 开启微应用模式 -VUE_APP_QIANKUN=false diff --git a/ant-design-vue-jeecg/.env.development b/ant-design-vue-jeecg/.env.development deleted file mode 100644 index c9c6c757..00000000 --- a/ant-design-vue-jeecg/.env.development +++ /dev/null @@ -1,7 +0,0 @@ -NODE_ENV=development -VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot -VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas -VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview - -# 微应用列表必须VUE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径 -VUE_APP_SUB_jeecg-app-1 = '//localhost:8092' diff --git a/ant-design-vue-jeecg/.env.production b/ant-design-vue-jeecg/.env.production deleted file mode 100644 index 530cebc4..00000000 --- a/ant-design-vue-jeecg/.env.production +++ /dev/null @@ -1,4 +0,0 @@ -NODE_ENV=production -VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot -VUE_APP_CAS_BASE_URL=http://localhost:8888/cas -VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview \ No newline at end of file diff --git a/ant-design-vue-jeecg/.env.test b/ant-design-vue-jeecg/.env.test deleted file mode 100644 index 9cda05ac..00000000 --- a/ant-design-vue-jeecg/.env.test +++ /dev/null @@ -1,4 +0,0 @@ -NODE_ENV=production -VUE_APP_API_BASE_URL=http://boot.jeecg.com:8080/jeecg-boot -VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas -VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview \ No newline at end of file diff --git a/ant-design-vue-jeecg/.eslintignore b/ant-design-vue-jeecg/.eslintignore deleted file mode 100644 index dbc86908..00000000 --- a/ant-design-vue-jeecg/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -/src \ No newline at end of file diff --git a/ant-design-vue-jeecg/.gitattributes b/ant-design-vue-jeecg/.gitattributes deleted file mode 100644 index e5073192..00000000 --- a/ant-design-vue-jeecg/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -public/* linguist-vendored \ No newline at end of file diff --git a/ant-design-vue-jeecg/.gitignore b/ant-design-vue-jeecg/.gitignore deleted file mode 100644 index 185e6631..00000000 --- a/ant-design-vue-jeecg/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -.DS_Store -node_modules -/dist - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw* diff --git a/ant-design-vue-jeecg/.prettierrc b/ant-design-vue-jeecg/.prettierrc deleted file mode 100644 index cbe842ac..00000000 --- a/ant-design-vue-jeecg/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "printWidth": 120, - "semi": false, - "singleQuote": true -} diff --git a/ant-design-vue-jeecg/Dockerfile b/ant-design-vue-jeecg/Dockerfile deleted file mode 100644 index 13b8769d..00000000 --- a/ant-design-vue-jeecg/Dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -FROM nginx -MAINTAINER jeecgos@163.com -VOLUME /tmp -ENV LANG en_US.UTF-8 -RUN echo "server { \ - listen 80; \ - location ^~ /jeecg-boot { \ - proxy_pass http://jeecg-boot-system:8080/jeecg-boot/; \ - proxy_set_header Host jeecg-boot-system; \ - proxy_set_header X-Real-IP \$remote_addr; \ - proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; \ - } \ - #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \ - location / { \ - root /var/www/html/; \ - index index.html index.htm; \ - if (!-e \$request_filename) { \ - rewrite ^(.*)\$ /index.html?s=\$1 last; \ - break; \ - } \ - } \ - access_log /var/log/nginx/access.log ; \ - } " > /etc/nginx/conf.d/default.conf \ - && mkdir -p /var/www \ - && mkdir -p /var/www/html - -ADD dist/ /var/www/html/ -EXPOSE 80 -EXPOSE 443 \ No newline at end of file diff --git a/ant-design-vue-jeecg/LICENSE b/ant-design-vue-jeecg/LICENSE deleted file mode 100644 index 8eecf84c..00000000 --- a/ant-design-vue-jeecg/LICENSE +++ /dev/null @@ -1,213 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (c) 2019 Jeecg Boot All rights reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software. - - 开源协议补充 - JeecgBoot 是由 北京国炬信息技术有限公司 发行的软件。 总部位于北京,地址:中国·北京·朝阳区科荟前街1号院奥林佳泰大厦。邮箱:jeecgos@163.com - 本软件受适用的国家软件著作权法(包括国际条约)和双重保护许可。 - - 1.允许基于本平台软件开展业务系统开发。 - 2.不得基于该平台软件的基础,修改包装成一个与JeecgBoot平台软件功能类似的产品进行发布、销售,或与JeecgBoot参与同类软件产品市场的竞争。 - 违反此条款属于侵权行为,须赔偿侵权经济损失,同时立即停止著作权侵权行为。 - 解释权归:http://www.jeecg.com - \ No newline at end of file diff --git a/ant-design-vue-jeecg/README.md b/ant-design-vue-jeecg/README.md deleted file mode 100644 index 17019628..00000000 --- a/ant-design-vue-jeecg/README.md +++ /dev/null @@ -1,133 +0,0 @@ -Ant Design Jeecg Vue -==== - -当前最新版本: 3.3.0(发布日期:20220725) - -Overview ----- - -基于 [Ant Design of Vue](https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn/) 实现的 Ant Design Pro Vue 版 -Jeecg-boot 的前端UI框架,采用前后端分离方案,提供强大代码生成器的低代码平台。 -前端页面代码和后端功能代码一键生成,不需要写任何代码,保持jeecg一贯的强大!! - - - -#### 前端技术 - -- 基础框架:[ant-design-vue](https://github.com/vueComponent/ant-design-vue) - Ant Design Of Vue 实现 -- JavaScript框架:Vue -- Webpack -- node -- yarn -- eslint -- @vue/cli 3.2.1 -- [vue-cropper](https://github.com/xyxiao001/vue-cropper) - 头像裁剪组件 -- [@antv/g2](https://antv.alipay.com/zh-cn/index.html) - Alipay AntV 数据可视化图表 -- [Viser-vue](https://viserjs.github.io/docs.html#/viser/guide/installation) - antv/g2 封装实现 - - - -项目下载和运行 ----- - -- 拉取项目代码 -```bash -git clone https://github.com/zhangdaiscott/jeecg-boot.git -cd jeecg-boot/ant-design-vue-jeecg -``` - -- 安装依赖 -``` -yarn install -``` - -- 开发模式运行 -``` -yarn run serve -``` - -- 编译项目 -``` -yarn run build -``` - -- Lints and fixes files -``` -yarn run lint -``` - -Docker镜像启动前端(单体模式) ----- - - ``` -# 1.配置host - - 127.0.0.1 jeecg-boot-system - -# 2.修改前端项目的后台域名 - .env.development - 域名改成: http://jeecg-boot-system:8080/jeecg-boot - -# 3.进入项目根目录,执行打包命令 - yarn run build - -# 4.构建镜像 - docker build -t jeecgboot-ui2 . - -# 5.启动镜像 - docker run --name jeecgboot-ui-vue2 -p 80:80 -d jeecgboot-ui2 - -# 6.访问前台项目 - http://localhost -``` - - - -其他说明 ----- - -- 项目使用的 [vue-cli3](https://cli.vuejs.org/guide/), 请更新您的 cli - -- 关闭 Eslint (不推荐) 移除 `package.json` 中 `eslintConfig` 整个节点代码 - -- 修改 Ant Design 配色,在文件 `vue.config.js` 中,其他 less 变量覆盖参考 [ant design](https://ant.design/docs/react/customize-theme-cn) 官方说明 -```ecmascript 6 - css: { - loaderOptions: { - less: { - modifyVars: { - /* less 变量覆盖,用于自定义 ant design 主题 */ - - 'primary-color': '#F5222D', - 'link-color': '#F5222D', - 'border-radius-base': '4px', - }, - javascriptEnabled: true, - } - } - } -``` - - - -附属文档 ----- -- [Ant Design Vue](https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn) - -- [报表 viser-vue](https://viserjs.github.io/demo.html#/viser/bar/basic-bar) - -- [Vue](https://cn.vuejs.org/v2/guide) - -- [路由/菜单说明](https://github.com/zhangdaiscott/jeecg-boot/tree/master/ant-design-vue-jeecg/src/router/README.md) - -- [ANTD 默认配置项](https://github.com/zhangdaiscott/jeecg-boot/tree/master/ant-design-vue-jeecg/src/defaultSettings.js) - -- 其他待补充... - - -备注 ----- - -> @vue/cli 升级后,eslint 规则更新了。由于影响到全部 .vue 文件,需要逐个验证。既暂时关闭部分原本不验证的规则,后期维护时,在逐步修正这些 rules - - diff --git a/ant-design-vue-jeecg/babel.config.js b/ant-design-vue-jeecg/babel.config.js deleted file mode 100644 index bef7ac49..00000000 --- a/ant-design-vue-jeecg/babel.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - presets: [ - ['@vue/app', - { useBuiltIns: 'entry' }] - ] -} diff --git a/ant-design-vue-jeecg/idea.config.js b/ant-design-vue-jeecg/idea.config.js deleted file mode 100644 index 4d86bd94..00000000 --- a/ant-design-vue-jeecg/idea.config.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict' -const path = require('path') - -function resolve (dir) { - return path.join(__dirname, '.', dir) -} - -module.exports = { - context: path.resolve(__dirname, './'), - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - 'config': resolve('config'), - '@': resolve('src'), - '@views': resolve('src/views'), - '@comp': resolve('src/components'), - '@core': resolve('src/core'), - '@utils': resolve('src/utils'), - '@entry': resolve('src/entry'), - '@router': resolve('src/router'), - '@store': resolve('src/store') - } - }, -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/package-lock.json b/ant-design-vue-jeecg/package-lock.json deleted file mode 100644 index 433aff1b..00000000 --- a/ant-design-vue-jeecg/package-lock.json +++ /dev/null @@ -1,18282 +0,0 @@ -{ - "name": "vue-antd-jeecg", - "version": "2.2.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@ant-design/colors": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-3.2.2.tgz", - "integrity": "sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ==", - "requires": { - "tinycolor2": "^1.4.1" - } - }, - "@ant-design/icons": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-2.1.1.tgz", - "integrity": "sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w==" - }, - "@ant-design/icons-vue": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-2.0.0.tgz", - "integrity": "sha512-2c0QQE5hL4N48k5NkPG5sdpMl9YnvyNhf0U7YkdZYDlLnspoRU7vIA0UK9eHBs6OpFLcJB6o8eJrIl2ajBskPg==", - "requires": { - "@ant-design/colors": "^3.1.0", - "babel-runtime": "^6.26.0" - } - }, - "@antv/adjust": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@antv/adjust/-/adjust-0.1.1.tgz", - "integrity": "sha512-9FaMOyBlM4AgoRL0b5o0VhEKAYkexBNUrxV8XmpHU/9NBPJONBOB/NZUlQDqxtLItrt91tCfbAuMQmF529UX2Q==", - "requires": { - "@antv/util": "~1.3.1" - }, - "dependencies": { - "@antv/util": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", - "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", - "requires": { - "@antv/gl-matrix": "^2.7.1" - } - } - } - }, - "@antv/attr": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@antv/attr/-/attr-0.1.2.tgz", - "integrity": "sha512-QXjP+T2I+pJQcwZx1oCA4tipG43vgeCeKcGGKahlcxb71OBAzjJZm1QbF4frKXcnOqRkxVXtCr70X9TRair3Ew==", - "requires": { - "@antv/util": "~1.3.1" - }, - "dependencies": { - "@antv/util": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", - "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", - "requires": { - "@antv/gl-matrix": "^2.7.1" - } - } - } - }, - "@antv/component": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@antv/component/-/component-0.3.9.tgz", - "integrity": "sha512-Knh/Nq0S8UkTfZj4SL7XizagTfXYqjFAYIqFtOmUaKpRMgccUi7p1oA7fJdNPGktkndljy6fUmCWocEeBXRS2g==", - "requires": { - "@antv/attr": "~0.1.2", - "@antv/g": "~3.3.5", - "@antv/util": "~1.3.1", - "wolfy87-eventemitter": "~5.1.0" - }, - "dependencies": { - "@antv/g": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@antv/g/-/g-3.3.6.tgz", - "integrity": "sha512-2GtyTz++s0BbN6s0ZL2/nrqGYCkd52pVoNH92YkrTdTOvpO6Z4DNoo6jGVgZdPX6Nzwli6yduC8MinVAhE8X6g==", - "requires": { - "@antv/gl-matrix": "~2.7.1", - "@antv/util": "~1.3.1", - "d3-ease": "~1.0.3", - "d3-interpolate": "~1.1.5", - "d3-timer": "~1.0.6", - "wolfy87-eventemitter": "~5.1.0" - } - }, - "@antv/util": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", - "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", - "requires": { - "@antv/gl-matrix": "^2.7.1" - } - }, - "wolfy87-eventemitter": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.1.0.tgz", - "integrity": "sha1-NcGsDdGsDBXjXZgVCPwiCEoToBE=" - } - } - }, - "@antv/coord": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@antv/coord/-/coord-0.1.0.tgz", - "integrity": "sha512-W1R8h3Jfb3AfMBVfCreFPMVetgEYuwHBIGn0+d3EgYXe2ckOF8XWjkpGF1fZhOMHREMr+Gt27NGiQh8yBdLUgg==", - "requires": { - "@antv/util": "~1.3.1" - }, - "dependencies": { - "@antv/util": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", - "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", - "requires": { - "@antv/gl-matrix": "^2.7.1" - } - } - } - }, - "@antv/data-set": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/@antv/data-set/-/data-set-0.11.4.tgz", - "integrity": "sha512-rS0xMvclsv59wh2yDmCshC55/HvXBbwpEmoTr+ErSY4SKGKSTOwXjZ90W/fJMSfacMPOGDbG7R77kCP8cSTu5w==", - "requires": { - "@antv/hierarchy": "^0.6.0", - "@antv/util": "^2.0.0", - "d3-composite-projections": "^1.2.0", - "d3-dsv": "^1.0.5", - "d3-geo": "~1.6.4", - "d3-geo-projection": "~2.1.2", - "d3-hexjson": "^1.0.1", - "d3-hierarchy": "^1.1.5", - "d3-sankey": "^0.9.1", - "d3-voronoi": "^1.1.2", - "dagre": "^0.8.2", - "point-at-length": "^1.0.2", - "regression": "^2.0.0", - "simple-statistics": "^6.1.0", - "topojson-client": "^3.0.0", - "wolfy87-eventemitter": "^5.1.0" - } - }, - "@antv/g": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/@antv/g/-/g-3.4.10.tgz", - "integrity": "sha512-pKy/L1SyRBsXuujdkggqrdBA0/ciAgHiArYBdIJsxHRxCneUP01wGwHdGfDayh2+S0gcSBHynjhoEahsaZaLkw==", - "requires": { - "@antv/gl-matrix": "~2.7.1", - "@antv/util": "~1.3.1", - "d3-ease": "~1.0.3", - "d3-interpolate": "~1.1.5", - "d3-timer": "~1.0.6", - "detect-browser": "^5.1.0" - }, - "dependencies": { - "@antv/util": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", - "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", - "requires": { - "@antv/gl-matrix": "^2.7.1" - } - } - } - }, - "@antv/g2": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@antv/g2/-/g2-3.5.17.tgz", - "integrity": "sha512-gOjfA6pwXYEC5mrLbvg1kA3jZI5J5T2kQeGse+iBBsNc1Vje7zs9G+BleUaI4MLXSnqwhsj/ohfkP7d+h4ArNg==", - "requires": { - "@antv/adjust": "~0.1.0", - "@antv/attr": "~0.1.2", - "@antv/component": "~0.3.3", - "@antv/coord": "~0.1.0", - "@antv/g": "~3.4.10", - "@antv/scale": "~0.1.1", - "@antv/util": "~1.3.1", - "venn.js": "~0.2.20", - "wolfy87-eventemitter": "~5.1.0" - }, - "dependencies": { - "@antv/util": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", - "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", - "requires": { - "@antv/gl-matrix": "^2.7.1" - } - }, - "wolfy87-eventemitter": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.1.0.tgz", - "integrity": "sha1-NcGsDdGsDBXjXZgVCPwiCEoToBE=" - } - } - }, - "@antv/g2-brush": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@antv/g2-brush/-/g2-brush-0.0.2.tgz", - "integrity": "sha512-7O9szwem19nmEgReXhFB8kVLRaz8J5MHvrzDSDY36YaBOaHSWRGHnvYt2KkkPqgWtHtLY1srssk4X/UmP5govA==" - }, - "@antv/g2-plugin-slider": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@antv/g2-plugin-slider/-/g2-plugin-slider-2.1.1.tgz", - "integrity": "sha512-nB678VEGG3FkrvkDDFADAKjLQIeXzITEYqey5oeOpbf0vT5jOa55lQDyJDZ79cK8PmU/Hz6VPeSb3CNQBA+/FQ==" - }, - "@antv/gl-matrix": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@antv/gl-matrix/-/gl-matrix-2.7.1.tgz", - "integrity": "sha512-oOWcVNlpELIKi9x+Mm1Vwbz8pXfkbJKykoCIOJ/dNK79hSIANbpXJ5d3Rra9/wZqK6MC961B7sybFhPlLraT3Q==" - }, - "@antv/hierarchy": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@antv/hierarchy/-/hierarchy-0.6.4.tgz", - "integrity": "sha512-KPQ3Jc+bMObHPXUdj3ZYwcx74BhaNsZHPbNzXnNj6OQusPXr/bdiwEKnKlVDLuW2nUfepfa4zfXS7JirxDKycw==", - "requires": { - "@antv/util": "^2.0.7" - } - }, - "@antv/scale": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.1.5.tgz", - "integrity": "sha512-7RAu4iH5+Hk21h6+aBMiDTfmLf4IibK2SWjx/+E4f4AXRpqucO+8u7IbZdFkakAWxvqhJtN3oePJuTKqOMcmlg==", - "requires": { - "@antv/util": "~1.3.1", - "fecha": "~2.3.3" - }, - "dependencies": { - "@antv/util": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", - "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", - "requires": { - "@antv/gl-matrix": "^2.7.1" - } - } - } - }, - "@antv/util": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.9.tgz", - "integrity": "sha512-JblWzne7msAPDdxkUhEk8zAz0Wd6igKwqymGbvIeyOydGrhBhGjA3nEayFj4IlG+XixCvGFKsCB4yuFS4glRIA==", - "requires": { - "tslib": "^1.10.0" - } - }, - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/core": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.4.tgz", - "integrity": "sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helpers": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.4.tgz", - "integrity": "sha512-9raUiOsXPxzzLjCXeosApJItoMnX3uyT4QdM2UldffuGApNrF8e938MwNpDCK9CPoyxrEoCgT+hObJc3mZa6lQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", - "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } - } - }, - "@babel/helper-define-map": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz", - "integrity": "sha512-nIij0oKErfCnLUCWaCaHW0Bmtl2RO9cN7+u2QT8yqTywgALKlyUVOvHDElh+b5DwVC6YB1FOYFOTWcN/+41EDA==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.4", - "lodash": "^4.17.13" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz", - "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==", - "dev": true, - "requires": { - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", - "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz", - "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.4.tgz", - "integrity": "sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ==", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz", - "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", - "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helpers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", - "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.4.tgz", - "integrity": "sha512-MJbxGSmejEFVOANAezdO39SObkURO5o/8b6fSH6D1pi9RZQt+ldppKPXfqgUWpSQ9asM6xaSaSJIaeWMDRP0Zg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", - "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.4.tgz", - "integrity": "sha512-JHTWjQngOPv+ZQQqOGv2x6sCCr4IYWy7S1/VH6BE9ZfkoLrdQ2GpEP3tfb5M++G9PwvqjhY8VC/C3tXm+/eHvA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.10.4" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", - "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", - "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", - "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", - "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz", - "integrity": "sha512-2NaoC6fAk2VMdhY1eerkfHV+lVYC1u8b+jmRJISqANCJlTxYy19HGdIkkQtix2UtkcPuPu+IlDgrVseZnU03bw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", - "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", - "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", - "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", - "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.4.tgz", - "integrity": "sha512-J3b5CluMg3hPUii2onJDRiaVbPtKFPLEaV5dOPY5OeAbDi1iU/UbbFFTgwb7WnanaDy7bjU35kc26W3eM5Qa0A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "lodash": "^4.17.13" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", - "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", - "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", - "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", - "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", - "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", - "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", - "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", - "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", - "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.4.tgz", - "integrity": "sha512-3Fw+H3WLUrTlzi3zMiZWp3AR4xadAEMv6XRCYnd5jAlLM61Rn+CRJaZMaNvIpcJpQ3vs1kyifYvEVPFfoSkKOA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", - "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.4.tgz", - "integrity": "sha512-Tb28LlfxrTiOTGtZFsvkjpyjCl9IoaRI52AEU/VIwOwvDQWtbNJsAqTXzh+5R7i74e/OZHH2c2w2fsOqAfnQYQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", - "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", - "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", - "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", - "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.4.tgz", - "integrity": "sha512-RurVtZ/D5nYfEg0iVERXYKEgDFeesHrHfx8RT05Sq57ucj2eOYAP6eu5fynL4Adju4I/mP/I6SO0DqNWAXjfLQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", - "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - }, - "dependencies": { - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - } - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.4.tgz", - "integrity": "sha512-8ULlGv8p+Vuxu+kz2Y1dk6MYS2b/Dki+NO6/0ZlfSj5tMalfDL7jI/o/2a+rrWLqSXvnadEqc2WguB4gdQIxZw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "resolve": "^1.8.1", - "semver": "^5.5.1" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", - "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz", - "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", - "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.4.tgz", - "integrity": "sha512-4NErciJkAYe+xI5cqfS8pV/0ntlY5N5Ske/4ImxAVX7mk9Rxt2bwDTGv1Msc2BRJvWQcmYEC+yoMLdX22aE4VQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", - "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", - "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/polyfill": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.10.4.tgz", - "integrity": "sha512-8BYcnVqQ5kMD2HXoHInBH7H1b/uP3KdnwCYXOqFnXqguOyuu443WXusbIUbWEfY3Z0Txk0M1uG/8YuAMhNl6zg==", - "dev": true, - "requires": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - } - } - }, - "@babel/preset-env": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", - "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.3.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.3.4", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.3.4", - "@babel/plugin-transform-classes": "^7.3.4", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.2.0", - "@babel/plugin-transform-dotall-regex": "^7.2.0", - "@babel/plugin-transform-duplicate-keys": "^7.2.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.2.0", - "@babel/plugin-transform-function-name": "^7.2.0", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.2.0", - "@babel/plugin-transform-modules-commonjs": "^7.2.0", - "@babel/plugin-transform-modules-systemjs": "^7.3.4", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", - "@babel/plugin-transform-new-target": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.2.0", - "@babel/plugin-transform-parameters": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.3.4", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.2.0", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.2.0", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.2.0", - "browserslist": "^4.3.4", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.3.0" - }, - "dependencies": { - "browserslist": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", - "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001093", - "electron-to-chromium": "^1.3.488", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - } - } - } - }, - "@babel/runtime": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.4.tgz", - "integrity": "sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - } - } - }, - "@babel/runtime-corejs2": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.10.4.tgz", - "integrity": "sha512-9sArmpZDQsnR1yyAcU51DxQrntWxt0LUKjPp3pIyo7kVLfaqKt8muppcT87QmFkXV5H50qXAF8JWOjk0jaXRYA==", - "dev": true, - "requires": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - } - } - }, - "@babel/runtime-corejs3": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.4.tgz", - "integrity": "sha512-BFlgP2SoLO9HJX9WBwN67gHWMBhDX/eDz64Jajd6mR/UAUzqrNMm99d4qHnVaKscAElZoFiPv+JpR/Siud5lXw==", - "dev": true, - "requires": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - } - } - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - }, - "dependencies": { - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } - } - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", - "dev": true - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", - "dev": true - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", - "dev": true - }, - "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "dev": true, - "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "dev": true, - "requires": { - "@hapi/hoek": "^8.3.0" - } - }, - "@intervolga/optimize-cssnano-plugin": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", - "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", - "dev": true, - "requires": { - "cssnano": "^4.0.0", - "cssnano-preset-default": "^4.0.0", - "postcss": "^7.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "@simonwep/pickr": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.7.1.tgz", - "integrity": "sha512-ftbskrPKAkRLYVj8IhV4Bn86g16It9Uq/p4G0FdjRz36pKKjW0JdxdDWDIVuAev0Urg8604Ho98js6JmjXdiZQ==", - "requires": { - "core-js": "^3.6.5", - "nanopop": "^1.3.0" - }, - "dependencies": { - "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" - } - } - }, - "@soda/friendly-errors-webpack-plugin": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz", - "integrity": "sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "error-stack-parser": "^2.0.0", - "string-width": "^2.0.0" - } - }, - "@sphinxxxx/color-conversion": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz", - "integrity": "sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==" - }, - "@tinymce/tinymce-vue": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-2.1.0.tgz", - "integrity": "sha512-lDIpeLbkaobS/f00wWaOhGJdiZLdtL0dEDYB4JvqgVeAAoaDFG2PvXXP/kN49xpHpUe8vOdt7xFaN48nrPmsbQ==", - "requires": { - "vue": "^2.5.17" - } - }, - "@toast-ui/editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@toast-ui/editor/-/editor-2.2.0.tgz", - "integrity": "sha512-WiqrY7OeCOS08NlznJobCwtxOWJC/5my8QefHCKTZyX9/70kkojcnyQ8aoiQQ5kIfGUJ6dKt6/JuKD5OOib+bQ==", - "requires": { - "@types/codemirror": "0.0.71", - "codemirror": "^5.48.4" - } - }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, - "@types/codemirror": { - "version": "0.0.71", - "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.71.tgz", - "integrity": "sha512-b2oEEnno1LIGKMR7uBEsr40al1UijF1HEpRn0+Yf1xOLl24iQgB7DBpZVMM7y54G5wCNoclDrRO65E6KHPNO2w==", - "requires": { - "@types/tern": "*" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "@types/d3-format": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-1.3.1.tgz", - "integrity": "sha512-KAWvReOKMDreaAwOjdfQMm0HjcUMlQG47GwqdVKgmm20vTd2pucj0a70c3gUSHrnsmo6H2AMrkBsZU2UhJLq8A==" - }, - "@types/estree": { - "version": "0.0.45", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", - "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==" - }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz", - "integrity": "sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", - "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "@types/lodash": { - "version": "4.14.157", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.157.tgz", - "integrity": "sha512-Ft5BNFmv2pHDgxV5JDsndOWTRJ+56zte0ZpYLowp03tW+K+t8u8YMOzAnpuqPgzX6WO1XpDIUm7u04M8vdDiVQ==" - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "14.0.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.20.tgz", - "integrity": "sha512-MRn/NP3dee8yL5QhbSA6riuwkS+UOcsPUMOIOG3KMUQpuor/2TopdRBu8QaaB4fGU+gz/bzyDWt0FtUbeJ8H1A==" - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", - "dev": true - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", - "dev": true - }, - "@types/tern": { - "version": "0.23.3", - "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.3.tgz", - "integrity": "sha512-imDtS4TAoTcXk0g7u4kkWqedB3E4qpjXzCpD2LU5M5NAXHzCDsypyvXSaG7mM8DKYkCRa7tFp4tS/lp/Wo7Q3w==", - "requires": { - "@types/estree": "*" - } - }, - "@types/uglify-js": { - "version": "3.9.3", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.3.tgz", - "integrity": "sha512-KswB5C7Kwduwjj04Ykz+AjvPcfgv/37Za24O2EDzYNbwyzOo8+ydtvzUfZ5UMguiVu29Gx44l1A6VsPPcmYu9w==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack": { - "version": "4.41.21", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.21.tgz", - "integrity": "sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA==", - "dev": true, - "requires": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "*", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack-sources": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-1.4.0.tgz", - "integrity": "sha512-c88dKrpSle9BtTqR6ifdaxu1Lvjsl3C5OsfvuUbUwdXymshv1TkufUAXBajCCUM/f/TmnkZC/Esb03MinzSiXQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "@vue/babel-helper-vue-jsx-merge-props": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz", - "integrity": "sha512-6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw==", - "dev": true - }, - "@vue/babel-plugin-transform-vue-jsx": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.1.2.tgz", - "integrity": "sha512-YfdaoSMvD1nj7+DsrwfTvTnhDXI7bsuh+Y5qWwvQXlD24uLgnsoww3qbiZvWf/EoviZMrvqkqN4CBw0W3BWUTQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", - "html-tags": "^2.0.0", - "lodash.kebabcase": "^4.1.1", - "svg-tags": "^1.0.0" - } - }, - "@vue/babel-preset-app": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-3.12.1.tgz", - "integrity": "sha512-Zjy5jQaikV1Pz+ri0YgXFS7q4/5wCxB5tRkDOEIt5+4105u0Feb/pvH20nVL6nx9GyXrECFfcm7Yxr/z++OaPQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-decorators": "^7.1.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.4.0", - "@babel/preset-env": "^7.0.0 < 7.4.0", - "@babel/runtime": "^7.0.0", - "@babel/runtime-corejs2": "^7.2.0", - "@vue/babel-preset-jsx": "^1.0.0", - "babel-plugin-dynamic-import-node": "^2.2.0", - "babel-plugin-module-resolver": "3.2.0", - "core-js": "^2.6.5" - } - }, - "@vue/babel-preset-jsx": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.2.tgz", - "integrity": "sha512-zDpVnFpeC9YXmvGIDSsKNdL7qCG2rA3gjywLYHPCKDT10erjxF4U+6ay9X6TW5fl4GsDlJp9bVfAVQAAVzxxvQ==", - "dev": true, - "requires": { - "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", - "@vue/babel-sugar-functional-vue": "^1.1.2", - "@vue/babel-sugar-inject-h": "^1.1.2", - "@vue/babel-sugar-v-model": "^1.1.2", - "@vue/babel-sugar-v-on": "^1.1.2" - } - }, - "@vue/babel-sugar-functional-vue": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.1.2.tgz", - "integrity": "sha512-YhmdJQSVEFF5ETJXzrMpj0nkCXEa39TvVxJTuVjzvP2rgKhdMmQzlJuMv/HpadhZaRVMCCF3AEjjJcK5q/cYzQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-inject-h": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.1.2.tgz", - "integrity": "sha512-VRSENdTvD5htpnVp7i7DNuChR5rVMcORdXjvv5HVvpdKHzDZAYiLSD+GhnhxLm3/dMuk8pSzV+k28ECkiN5m8w==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-v-model": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.2.tgz", - "integrity": "sha512-vLXPvNq8vDtt0u9LqFdpGM9W9IWDmCmCyJXuozlq4F4UYVleXJ2Fa+3JsnTZNJcG+pLjjfnEGHci2339Kj5sGg==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", - "camelcase": "^5.0.0", - "html-tags": "^2.0.0", - "svg-tags": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - }, - "@vue/babel-sugar-v-on": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.2.tgz", - "integrity": "sha512-T8ZCwC8Jp2uRtcZ88YwZtZXe7eQrJcfRq0uTFy6ShbwYJyz5qWskRFoVsdTi9o0WEhmQXxhQUewodOSCUPVmsQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", - "camelcase": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - }, - "@vue/cli-overlay": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-3.12.1.tgz", - "integrity": "sha512-Bym92EN+lj+cNRN2ozbYyH+V8DMXWGbCDUk+hiJ4EYDBZfBkZKvalk1/mOBFwyxiopnnbOEBAAhL/UuMQ1xARg==", - "dev": true - }, - "@vue/cli-plugin-babel": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-3.12.1.tgz", - "integrity": "sha512-Zetvz8PikLCGomeKOKu8pC9YQ7cfxs7pGpvEOzaxGdhMnebhjAYR6i6dOB57A6N5lhxQksXCtYTv26QgfiIpdg==", - "dev": true, - "requires": { - "@babel/core": "^7.0.0", - "@vue/babel-preset-app": "^3.12.1", - "@vue/cli-shared-utils": "^3.12.1", - "babel-loader": "^8.0.5", - "webpack": "^4.0.0" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - } - }, - "enhanced-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz", - "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.1", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - } - } - }, - "@vue/cli-plugin-eslint": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-3.12.1.tgz", - "integrity": "sha512-tVTZlEZsy3sQbO4LLWFK11yzlWwqVAqaM+IY+BeWHITBzEJKh2KmouG+x6x/reXiU3qROsMJ4Ej3Hs8buSMWyQ==", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^3.12.1", - "babel-eslint": "^10.0.1", - "eslint": "^4.19.1", - "eslint-loader": "^2.1.2", - "eslint-plugin-vue": "^4.7.1", - "globby": "^9.2.0", - "webpack": "^4.0.0", - "yorkie": "^2.0.0" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "optional": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "optional": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "optional": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "enhanced-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz", - "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "eslint": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", - "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", - "dev": true, - "optional": true, - "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.0.1", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", - "table": "4.0.2", - "text-table": "~0.2.0" - } - }, - "eslint-plugin-vue": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz", - "integrity": "sha512-esETKhVMI7Vdli70Wt4bvAwnZBJeM0pxVX9Yb0wWKxdCJc2EADalVYK/q2FzMw8oKN0wPMdqVCKS8kmR89recA==", - "dev": true, - "optional": true, - "requires": { - "vue-eslint-parser": "^2.0.3" - } - }, - "eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", - "dev": true, - "optional": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "optional": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true, - "optional": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "optional": true - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } - } - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "optional": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true, - "optional": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.1", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - } - } - }, - "@vue/cli-service": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-3.12.1.tgz", - "integrity": "sha512-PDxNrTGnSKzeV1ruFlsRIAO8JcPizwT0EJXq9GeyooU+p+sOkv7aKkCBJQVYNjZapD1NOGWx6CvAAC/wAW+gew==", - "dev": true, - "requires": { - "@intervolga/optimize-cssnano-plugin": "^1.0.5", - "@soda/friendly-errors-webpack-plugin": "^1.7.1", - "@vue/cli-overlay": "^3.12.1", - "@vue/cli-shared-utils": "^3.12.1", - "@vue/component-compiler-utils": "^3.0.0", - "@vue/preload-webpack-plugin": "^1.1.0", - "@vue/web-component-wrapper": "^1.2.0", - "acorn": "^6.1.1", - "acorn-walk": "^6.1.1", - "address": "^1.0.3", - "autoprefixer": "^9.5.1", - "browserslist": "^4.5.4", - "cache-loader": "^2.0.1", - "case-sensitive-paths-webpack-plugin": "^2.2.0", - "chalk": "^2.4.2", - "cli-highlight": "^2.1.0", - "clipboardy": "^2.0.0", - "cliui": "^5.0.0", - "copy-webpack-plugin": "^4.6.0", - "css-loader": "^1.0.1", - "cssnano": "^4.1.10", - "current-script-polyfill": "^1.0.0", - "debug": "^4.1.1", - "default-gateway": "^5.0.2", - "dotenv": "^7.0.0", - "dotenv-expand": "^5.1.0", - "escape-string-regexp": "^1.0.5", - "file-loader": "^3.0.1", - "fs-extra": "^7.0.1", - "globby": "^9.2.0", - "hash-sum": "^1.0.2", - "html-webpack-plugin": "^3.2.0", - "launch-editor-middleware": "^2.2.1", - "lodash.defaultsdeep": "^4.6.1", - "lodash.mapvalues": "^4.6.0", - "lodash.transform": "^4.6.0", - "mini-css-extract-plugin": "^0.8.0", - "minimist": "^1.2.0", - "ora": "^3.4.0", - "portfinder": "^1.0.20", - "postcss-loader": "^3.0.0", - "read-pkg": "^5.0.0", - "semver": "^6.0.0", - "slash": "^2.0.0", - "source-map-url": "^0.4.0", - "ssri": "^6.0.1", - "string.prototype.padend": "^3.0.0", - "terser-webpack-plugin": "^1.2.3", - "thread-loader": "^2.1.2", - "url-loader": "^1.1.2", - "vue-loader": "^15.7.0", - "webpack": "^4.0.0", - "webpack-bundle-analyzer": "^3.3.0", - "webpack-chain": "^4.11.0", - "webpack-dev-server": "^3.4.1", - "webpack-merge": "^4.2.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "autoprefixer": { - "version": "9.8.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.4.tgz", - "integrity": "sha512-84aYfXlpUe45lvmS+HoAWKCkirI/sw4JK0/bTeeqgHYco3dcsOn0NqdejISjptsYwNji/21dnkDri9PsYKk89A==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001087", - "colorette": "^1.2.0", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - } - }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "browserslist": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", - "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001093", - "electron-to-chromium": "^1.3.488", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "css-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", - "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash": "^4.17.11", - "postcss": "^6.0.23", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "enhanced-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz", - "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - } - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "dependencies": { - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - } - } - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - } - } - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.4.0", - "websocket-driver": "0.6.5" - } - }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", - "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - } - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.1", - "webpack-sources": "^1.4.1" - } - }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - } - }, - "webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", - "dev": true, - "requires": { - "websocket-extensions": ">=0.1.1" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "@vue/cli-shared-utils": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.12.1.tgz", - "integrity": "sha512-jFblzRFjutGwu5utOKdVlPlsbA1lBUNNQlAThzNqej+JtTKJjnvjlhjKX0Gq0oOny5FjKWhoyfQ74p9h1qE6JQ==", - "dev": true, - "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.1", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.7", - "semver": "^6.0.0", - "string.prototype.padstart": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@vue/component-compiler-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.2.tgz", - "integrity": "sha512-QLq9z8m79mCinpaEeSURhnNCN6djxpHw0lpP/bodMlt5kALfONpryMthvnrQOlTcIKoF+VoPi+lPHUYeDFPXug==", - "requires": { - "consolidate": "^0.15.1", - "hash-sum": "^1.0.2", - "lru-cache": "^4.1.2", - "merge-source-map": "^1.1.0", - "postcss": "^7.0.14", - "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2", - "source-map": "~0.6.1", - "vue-template-es2015-compiler": "^1.9.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@vue/eslint-config-standard": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-standard/-/eslint-config-standard-4.0.0.tgz", - "integrity": "sha512-bQghq1cw1BuMRHNhr3tRpAJx1tpGy0QtajQX873kLtA9YVuOIoXR7nAWnTN09bBHnSUh2N288vMsqPi2fI4Hzg==", - "dev": true, - "requires": { - "eslint-config-standard": "^12.0.0", - "eslint-plugin-import": "^2.14.0", - "eslint-plugin-node": "^8.0.0", - "eslint-plugin-promise": "^4.0.1", - "eslint-plugin-standard": "^4.0.0" - } - }, - "@vue/preload-webpack-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.1.tgz", - "integrity": "sha512-8VCoJeeH8tCkzhkpfOkt+abALQkS11OIHhte5MBzYaKMTqK0A3ZAKEUVAffsOklhEv7t0yrQt696Opnu9oAx+w==", - "dev": true - }, - "@vue/web-component-wrapper": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz", - "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "abs-svg-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", - "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "ace-builds": { - "version": "1.4.12", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.4.12.tgz", - "integrity": "sha512-G+chJctFPiiLGvs3+/Mly3apXTcfgE45dT5yp12BcWZ1kUs+gm0qd3/fv4gsz6fVag4mM0moHVpjHDIgph6Psg==" - }, - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "requires": { - "acorn": "^4.0.3" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - } - } - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "optional": true, - "requires": { - "acorn": "^3.0.4" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true, - "optional": true - } - } - }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true - }, - "add-dom-event-listener": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", - "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", - "requires": { - "object-assign": "4.x" - } - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "dev": true - }, - "adjust-sourcemap-loader": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz", - "integrity": "sha512-958oaHHVEXMvsY7v7cC5gEkNIcoaAVIhZ4mBReYVZJOTP9IgKmzLjIOhTtzpLMu+qriXvLsVjJ155EeInp45IQ==", - "requires": { - "assert": "^1.3.0", - "camelcase": "^1.2.1", - "loader-utils": "^1.1.0", - "lodash.assign": "^4.0.1", - "lodash.defaults": "^3.1.2", - "object-path": "^0.9.2", - "regex-parser": "^2.2.9" - }, - "dependencies": { - "lodash.defaults": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", - "integrity": "sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw=", - "requires": { - "lodash.assign": "^3.0.0", - "lodash.restparam": "^3.0.0" - }, - "dependencies": { - "lodash.assign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", - "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", - "requires": { - "lodash._baseassign": "^3.0.0", - "lodash._createassigner": "^3.0.0", - "lodash.keys": "^3.0.0" - } - } - } - } - } - }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "dependencies": { - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - } - } - }, - "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.1.tgz", - "integrity": "sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA==" - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "ant-design-vue": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-1.6.3.tgz", - "integrity": "sha512-Zt0z0SXzHCgow0chv4OA8lONxVOzXf7iLmZxdVHlsS3IaPn5n8QNPCzBUh3z0IXBdaDPiX9tjELQCXf9vdXdlw==", - "requires": { - "@ant-design/icons": "^2.1.1", - "@ant-design/icons-vue": "^2.0.0", - "@simonwep/pickr": "~1.7.0", - "add-dom-event-listener": "^1.0.2", - "array-tree-filter": "^2.1.0", - "async-validator": "^3.0.3", - "babel-helper-vue-jsx-merge-props": "^2.0.3", - "babel-runtime": "6.x", - "classnames": "^2.2.5", - "component-classes": "^1.2.6", - "dom-align": "^1.10.4", - "dom-closest": "^0.2.0", - "dom-scroll-into-view": "^2.0.0", - "enquire.js": "^2.1.6", - "intersperse": "^1.0.0", - "is-mobile": "^2.2.1", - "is-negative-zero": "^2.0.0", - "ismobilejs": "^1.0.0", - "json2mq": "^0.2.0", - "lodash": "^4.17.5", - "moment": "^2.21.0", - "mutationobserver-shim": "^0.3.2", - "node-emoji": "^1.10.0", - "omit.js": "^1.0.0", - "raf": "^3.4.0", - "resize-observer-polyfill": "^1.5.1", - "shallow-equal": "^1.0.0", - "shallowequal": "^1.0.2", - "vue-ref": "^2.0.0", - "warning": "^4.0.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "arch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz", - "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==", - "dev": true - }, - "area-data": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/area-data/-/area-data-5.0.6.tgz", - "integrity": "sha512-QxLoA+823xXKyhw5S3750I9TToki0OS42HU9ol3rCOsCXfkjtl8RtQ/eoj0cK0Levn4//oEM05FmMumfw/HIlg==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - } - }, - "array-tree-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", - "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true, - "optional": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "async-validator": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.3.0.tgz", - "integrity": "sha512-cAHGD9EL8aCqWXjnb44q94MWiDFzUo1tMhvLb2WzcpWqGiKugsjWG9cvl+jPgkPca7asNbsBU3fa0cwkI/P+Xg==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "autoprefixer-loader": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/autoprefixer-loader/-/autoprefixer-loader-3.2.0.tgz", - "integrity": "sha1-Oae2ZGqCaYZQc9lYyX9IYVLCyEo=", - "requires": { - "autoprefixer": "^6.0.2", - "loader-utils": "^0.2.11", - "postcss": "^5.0.4", - "postcss-safe-parser": "^1.0.1" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", - "dev": true - }, - "axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - } - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "babel-eslint": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", - "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", - "dev": true, - "requires": { - "babel-code-frame": "^6.22.0", - "babel-traverse": "^6.23.1", - "babel-types": "^6.23.0", - "babylon": "^6.17.0" - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-vue-jsx-merge-props": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", - "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-loader": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", - "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", - "requires": { - "find-cache-dir": "^1.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-module-resolver": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz", - "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==", - "dev": true, - "requires": { - "find-babel-config": "^1.1.0", - "glob": "^7.1.2", - "pkg-up": "^2.0.0", - "reselect": "^3.0.1", - "resolve": "^1.4.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - }, - "dependencies": { - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - } - } - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "requires": { - "source-map": "^0.5.6" - } - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bfj": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", - "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "optional": true - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cache-loader": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-2.0.1.tgz", - "integrity": "sha512-V99T3FOynmGx26Zom+JrVBytLBsmUCzVG2/4NnUKgvXN4bEV42R1ERl1IyiH/cvFIDA1Ytq2lPZ9tXDSahcQpQ==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.0", - "normalize-path": "^3.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - } - } - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "optional": true, - "requires": { - "callsites": "^0.2.0" - } - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true, - "optional": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - } - } - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "requires": { - "browserslist": "^1.3.6", - "caniuse-db": "^1.0.30000529", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-db": { - "version": "1.0.30001097", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001097.tgz", - "integrity": "sha512-6zCYv0bxVP6ppQ/XpZsTQZNDC2zUutl8Yes2TDj7LyIDyBhq2N9JbQjcqQo6mAe8IVfszW5pmE0yHvAYD0zEmQ==" - }, - "caniuse-lite": { - "version": "1.0.30001097", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001097.tgz", - "integrity": "sha512-TeuSleKt/vWXaPkLVFqGDnbweYfq4IaZ6rUugFf3rWY6dlII8StUZ8Ddin0PkADfgYZ4wRqCdO2ORl4Rn5eZIA==" - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", - "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true, - "optional": true - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" - }, - "check-types": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", - "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", - "dev": true - }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true, - "optional": true - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "requires": { - "chalk": "^1.1.3" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-highlight": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.4.tgz", - "integrity": "sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "highlight.js": "^9.6.0", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^5.1.1", - "yargs": "^15.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "decamelize": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-3.2.0.tgz", - "integrity": "sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw==", - "dev": true, - "requires": { - "xregexp": "^4.2.4" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yargs": { - "version": "15.4.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.0.tgz", - "integrity": "sha512-D3fRFnZwLWp8jVAAhPZBsmeIHY8tTsb8ItV9KaAaopmC6wde2u6Yw29JBIZHXw14kgkRnYmDgmQU4FVMDlIsWw==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^3.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - } - } - } - } - }, - "cli-spinners": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", - "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", - "dev": true - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "clipboard": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", - "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", - "requires": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, - "clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", - "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", - "dev": true, - "requires": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - }, - "dependencies": { - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - } - } - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "requires": { - "q": "^1.1.2" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "codemirror": { - "version": "5.55.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.55.0.tgz", - "integrity": "sha512-TumikSANlwiGkdF/Blnu/rqovZ0Y3Jh8yy9TqrPbSM0xxSucq3RgnpVDQ+mD9q6JERJEIT2FMuF/fBGfkhIR/g==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "requires": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "requires": { - "color-name": "^1.0.0" - } - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", - "dev": true - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "requires": { - "color": "^0.11.0", - "css-color-names": "0.0.4", - "has": "^1.0.1" - } - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "component-classes": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", - "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=", - "requires": { - "component-indexof": "0.0.3" - } - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "component-indexof": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", - "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "compression-webpack-plugin": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-3.1.0.tgz", - "integrity": "sha512-iqTHj3rADN4yHwXMBrQa/xrncex/uEQy8QHlaTKxGchT/hC0SdlJlmL/5eRqffmWq2ep0/Romw6Ld39JjTR/ug==", - "dev": true, - "requires": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.0.0", - "neo-async": "^2.5.0", - "schema-utils": "^2.6.1", - "serialize-javascript": "^2.1.2", - "webpack-sources": "^1.0.1" - }, - "dependencies": { - "cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", - "dev": true, - "requires": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", - "unique-filename": "^1.1.1" - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true - }, - "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", - "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", - "requires": { - "bluebird": "^3.1.1" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "contour_plot": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/contour_plot/-/contour_plot-0.0.1.tgz", - "integrity": "sha1-R1hw8DK44zhBKqX8UHiA8L9JXHc=" - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "copy-webpack-plugin": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", - "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "globby": "^7.1.1", - "is-glob": "^4.0.0", - "loader-utils": "^1.1.0", - "minimatch": "^3.0.4", - "p-limit": "^1.0.0", - "serialize-javascript": "^1.4.0" - }, - "dependencies": { - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - } - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", - "dev": true - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - } - } - }, - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" - }, - "core-js-pure": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", - "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", - "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.4.3", - "minimist": "^1.2.0", - "object-assign": "^4.1.0", - "os-homedir": "^1.0.1", - "parse-json": "^2.2.0", - "require-from-string": "^1.1.0" - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-env": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", - "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", - "requires": { - "cross-spawn": "^6.0.5" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "0.28.11", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", - "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", - "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "cssnano": "^3.10.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "object-assign": "^4.1.1", - "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-selector-tokenizer": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", - "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", - "requires": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2", - "regexpu-core": "^4.6.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "requires": { - "jsesc": "~0.5.0" - } - } - } - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-what": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "requires": { - "autoprefixer": "^6.3.1", - "decamelize": "^1.1.2", - "defined": "^1.0.0", - "has": "^1.0.1", - "object-assign": "^4.0.1", - "postcss": "^5.0.14", - "postcss-calc": "^5.2.0", - "postcss-colormin": "^2.1.8", - "postcss-convert-values": "^2.3.4", - "postcss-discard-comments": "^2.0.4", - "postcss-discard-duplicates": "^2.0.1", - "postcss-discard-empty": "^2.0.1", - "postcss-discard-overridden": "^0.1.1", - "postcss-discard-unused": "^2.2.1", - "postcss-filter-plugins": "^2.0.0", - "postcss-merge-idents": "^2.1.5", - "postcss-merge-longhand": "^2.0.1", - "postcss-merge-rules": "^2.0.3", - "postcss-minify-font-values": "^1.0.2", - "postcss-minify-gradients": "^1.0.1", - "postcss-minify-params": "^1.0.4", - "postcss-minify-selectors": "^2.0.4", - "postcss-normalize-charset": "^1.1.0", - "postcss-normalize-url": "^3.0.7", - "postcss-ordered-values": "^2.1.0", - "postcss-reduce-idents": "^2.2.2", - "postcss-reduce-initial": "^1.0.0", - "postcss-reduce-transforms": "^1.0.3", - "postcss-svgo": "^2.1.1", - "postcss-unique-selectors": "^2.0.2", - "postcss-value-parser": "^3.2.3", - "postcss-zindex": "^2.0.1" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "browserslist": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", - "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001093", - "electron-to-chromium": "^1.3.488", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - } - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", - "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "dev": true, - "requires": { - "css-tree": "1.0.0-alpha.39" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "dev": true, - "requires": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - } - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true - }, - "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", - "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dev": true, - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - } - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "current-script-polyfill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/current-script-polyfill/-/current-script-polyfill-1.0.0.tgz", - "integrity": "sha1-8xz35PPiGLBybnOMqSoC00iO9hU=", - "dev": true - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "d3-array": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", - "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" - }, - "d3-collection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", - "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" - }, - "d3-color": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", - "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" - }, - "d3-composite-projections": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-composite-projections/-/d3-composite-projections-1.3.2.tgz", - "integrity": "sha512-dao+Dd/EEYBX+FqNYwe/4putAsMXWewSgDj5sETRFsj1z4X/CVI6ctmZhqvpa/MVYCFHoWV9Issu+20OU5VmbA==", - "requires": { - "d3-geo": "^1.11.9", - "d3-path": "^1.0.9" - }, - "dependencies": { - "d3-geo": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", - "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", - "requires": { - "d3-array": "1" - } - } - } - }, - "d3-dispatch": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", - "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" - }, - "d3-dsv": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", - "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", - "requires": { - "commander": "2", - "iconv-lite": "0.4", - "rw": "1" - } - }, - "d3-ease": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.6.tgz", - "integrity": "sha512-SZ/lVU7LRXafqp7XtIcBdxnWl8yyLpgOmzAk0mWBI9gXNzLDx5ybZgnRbH9dN/yY5tzVBqCQ9avltSnqVwessQ==" - }, - "d3-format": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.4.tgz", - "integrity": "sha512-TWks25e7t8/cqctxCmxpUuzZN11QxIA7YrMbram94zMQ0PXjE4LVIMe/f6a4+xxL8HQ3OsAFULOINQi1pE62Aw==" - }, - "d3-geo": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.6.4.tgz", - "integrity": "sha1-8g4eRhyxhF9ai+Vatvh2VCp+MZk=", - "requires": { - "d3-array": "1" - } - }, - "d3-geo-projection": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-2.1.2.tgz", - "integrity": "sha1-ffjh6dBG1jHGUJ9+UxNX1K3CSqM=", - "requires": { - "commander": "2", - "d3-array": "1", - "d3-geo": "^1.1.0" - } - }, - "d3-hexjson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-hexjson/-/d3-hexjson-1.1.0.tgz", - "integrity": "sha512-fHXGMnA1iYBg0Kw5jqSm9kZDRyw4Mq74AzJzUM/FiCDy9a47xM5qj2+ofTaZbeku9tHsRtoujolHiqmD3s3EHA==", - "requires": { - "d3-array": "1" - } - }, - "d3-hierarchy": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", - "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==" - }, - "d3-interpolate": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.6.tgz", - "integrity": "sha512-mOnv5a+pZzkNIHtw/V6I+w9Lqm9L5bG3OTXPM5A+QO0yyVMQ4W1uZhR+VOJmazaOZXri2ppbiZ5BUNWT0pFM9A==", - "requires": { - "d3-color": "1" - } - }, - "d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" - }, - "d3-sankey": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.9.1.tgz", - "integrity": "sha512-nnRkDaUMjBdeuGg+kWGdA+tjG1AVTnJ+Ykw7ff7CZHVI17Hm5sy8n0UXykVffn13aNHwK5wPOdOt1gS1ZEaF+A==", - "requires": { - "d3-array": "1", - "d3-collection": "1", - "d3-shape": "^1.2.0" - } - }, - "d3-selection": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.1.tgz", - "integrity": "sha512-BTIbRjv/m5rcVTfBs4AMBLKs4x8XaaLkwm28KWu9S2vKNqXkXt2AH2Qf0sdPZHjFxcWg/YL53zcqAz+3g4/7PA==" - }, - "d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "requires": { - "d3-path": "1" - } - }, - "d3-timer": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", - "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" - }, - "d3-transition": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz", - "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==", - "requires": { - "d3-color": "1", - "d3-dispatch": "1", - "d3-ease": "1", - "d3-interpolate": "1", - "d3-selection": "^1.1.0", - "d3-timer": "1" - } - }, - "d3-voronoi": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", - "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==" - }, - "dagre": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", - "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", - "requires": { - "graphlib": "^2.1.8", - "lodash": "^4.17.15" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "dayjs": { - "version": "1.8.29", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.29.tgz", - "integrity": "sha512-Vm6teig8ZWK7rH/lxzVGxZJCljPdmUr6q/3f4fr5F0VWNGVkZEjZOQJsAN8hUHUqn+NK4XHNEpJZS1MwLyDcLw==" - }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true - }, - "default-gateway": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", - "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", - "dev": true, - "requires": { - "execa": "^3.3.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-browser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.1.1.tgz", - "integrity": "sha512-5n2aWI57qC3kZaK4j2zYsG6L1LrxgLptGCNhMQgdKhVn6cSdcq43pp6xHPfTHG3TYM6myF4tIPWiZtfdVDgb9w==" - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "requires": { - "repeating": "^2.0.0" - } - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - } - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "optional": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-align": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz", - "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA==" - }, - "dom-closest": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz", - "integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=", - "requires": { - "dom-matches": ">=1.0.1" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-matches": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz", - "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw=" - }, - "dom-scroll-into-view": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz", - "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==" - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.3.tgz", - "integrity": "sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA==", - "dev": true, - "requires": { - "no-case": "^3.0.3", - "tslib": "^1.10.0" - }, - "dependencies": { - "lower-case": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz", - "integrity": "sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==", - "dev": true, - "requires": { - "tslib": "^1.10.0" - } - }, - "no-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", - "integrity": "sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==", - "dev": true, - "requires": { - "lower-case": "^2.0.1", - "tslib": "^1.10.0" - } - } - } - }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", - "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, - "dotignore": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", - "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "easy-stack": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz", - "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g=", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.495", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.495.tgz", - "integrity": "sha512-cIPX+4Y3RH/+SoqYd168Rx//CnjsZSdF3XTUhwMf3dwYuTfvWIgmmy6s1ipptGaOA+scH2Vj57Mc9fqp/ho22Q==" - }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" - } - }, - "enquire.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", - "integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ=" - }, - "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "dev": true, - "requires": { - "stackframe": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "dependencies": { - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "requires": { - "has-symbols": "^1.0.1" - } - } - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - }, - "dependencies": { - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - } - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "escalade": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz", - "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - } - } - }, - "eslint-config-standard": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", - "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", - "dev": true - }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", - "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", - "dev": true, - "requires": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - } - }, - "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "eslint-plugin-es": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", - "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", - "dev": true, - "requires": { - "eslint-utils": "^1.4.2", - "regexpp": "^2.0.1" - }, - "dependencies": { - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - } - } - }, - "eslint-plugin-import": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", - "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.3", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } - } - }, - "eslint-plugin-node": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz", - "integrity": "sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w==", - "dev": true, - "requires": { - "eslint-plugin-es": "^1.3.1", - "eslint-utils": "^1.3.1", - "ignore": "^5.0.2", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "semver": "^5.5.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - } - } - }, - "eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", - "dev": true - }, - "eslint-plugin-standard": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", - "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==", - "dev": true - }, - "eslint-plugin-vue": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-5.2.3.tgz", - "integrity": "sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw==", - "dev": true, - "requires": { - "vue-eslint-parser": "^5.0.0" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "espree": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", - "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", - "dev": true, - "requires": { - "acorn": "^6.0.2", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "vue-eslint-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz", - "integrity": "sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "eslint-scope": "^4.0.0", - "eslint-visitor-keys": "^1.0.0", - "espree": "^4.1.0", - "esquery": "^1.0.1", - "lodash": "^4.17.11" - } - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", - "dev": true, - "optional": true, - "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=" - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", - "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "event-pubsub": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", - "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", - "dev": true - }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==" - }, - "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "requires": { - "original": ">=0.0.5" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", - "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "optional": true, - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "extract-text-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", - "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", - "requires": { - "async": "^2.4.1", - "loader-utils": "^1.1.0", - "schema-utils": "^0.3.0", - "webpack-sources": "^1.0.1" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fecha": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", - "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "optional": true, - "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" - } - }, - "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", - "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.4.5" - }, - "dependencies": { - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "find-babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", - "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", - "dev": true, - "requires": { - "json5": "^0.5.1", - "path-exists": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", - "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", - "dev": true, - "optional": true, - "requires": { - "circular-json": "^0.3.1", - "graceful-fs": "^4.1.2", - "rimraf": "~2.6.2", - "write": "^0.2.1" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "fmin": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/fmin/-/fmin-0.0.2.tgz", - "integrity": "sha1-Wbu0DUP/3ByUzQClaMQflfGXMBc=", - "requires": { - "contour_plot": "^0.0.1", - "json2module": "^0.0.3", - "rollup": "^0.25.8", - "tape": "^4.5.1", - "uglify-js": "^2.6.2" - } - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", - "dev": true - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "requires": { - "delegate": "^3.1.2" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "graphlib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", - "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "requires": { - "lodash": "^4.17.15" - } - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - } - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=" - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true - }, - "highlight.js": { - "version": "9.18.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", - "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" - }, - "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==" - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - } - } - } - } - }, - "html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "dev": true, - "requires": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - }, - "dependencies": { - "camel-case": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", - "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==", - "dev": true, - "requires": { - "pascal-case": "^3.1.1", - "tslib": "^1.10.0" - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "param-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.3.tgz", - "integrity": "sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA==", - "dev": true, - "requires": { - "dot-case": "^3.0.3", - "tslib": "^1.10.0" - } - } - } - }, - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true - }, - "html-webpack-plugin": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.3.0.tgz", - "integrity": "sha512-C0fzKN8yQoVLTelcJxZfJCE+aAvQiY2VUf3UuKrR4a9k5UMWYOtpDLsaXwATbcVCnI05hUS7L9ULQHWLZhyi3w==", - "dev": true, - "requires": { - "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.8", - "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.15", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - }, - "dependencies": { - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-parser-js": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", - "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.2.tgz", - "integrity": "sha512-aYk1rTKqLTus23X3L96LGNCGNgWpG4cG0XoZIT1GUPhhulEHX/QalnO6Vbo+WmKWi4AL2IidjuC0wZtbpg0yhQ==", - "requires": { - "http-proxy": "^1.18.1", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" - }, - "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "dev": true, - "optional": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "dependencies": { - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - } - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-local": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", - "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", - "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "requires": { - "repeating": "^2.0.0" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "optional": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "optional": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "internal-ip": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", - "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", - "requires": { - "meow": "^3.3.0" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "intersperse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/intersperse/-/intersperse-1.0.0.tgz", - "integrity": "sha1-8lYfsc/vn1J3zDNHoiiGtDUaUYE=" - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" - }, - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-mobile": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz", - "integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg==" - }, - "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "optional": true - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "requires": { - "has": "^1.0.3" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "ismobilejs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz", - "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "javascript-natural-sort": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", - "integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k=" - }, - "javascript-stringify": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz", - "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=", - "dev": true - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" - }, - "js-base64": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.3.tgz", - "integrity": "sha512-fiUvdfCaAXoQTHdKMgTvg6IkecXDcVz6V5rlftUTclF9IKBjMizvSdQaCl/z/6TApDeby5NL+axYou3i0mu1Pg==" - }, - "js-cookie": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", - "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" - }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true - }, - "js-message": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz", - "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", - "dev": true - }, - "js-queue": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz", - "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=", - "dev": true, - "requires": { - "easy-stack": "^1.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" - }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/json-source-map/-/json-source-map-0.6.1.tgz", - "integrity": "sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json2module": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/json2module/-/json2module-0.0.3.tgz", - "integrity": "sha1-APtfSpt638PwZHwpyxe80Zeb6bI=", - "requires": { - "rw": "^1.3.2" - } - }, - "json2mq": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", - "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=", - "requires": { - "string-convert": "^0.2.0" - } - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "jsoneditor": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/jsoneditor/-/jsoneditor-9.0.3.tgz", - "integrity": "sha512-4uwT7nmNBAlC2KUUpsHaX2GZ+KoOohjtE/HzGToufYASGjnMzkf6EcLS+pAwwVHLv7VUnXmAuMY4NaQ9cS25lA==", - "requires": { - "ace-builds": "^1.4.11", - "ajv": "^6.12.2", - "javascript-natural-sort": "^0.7.1", - "jmespath": "^0.15.0", - "json-source-map": "^0.6.1", - "mobius1-selectr": "^2.4.13", - "picomodal": "^3.0.0", - "vanilla-picker": "^2.10.1" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - } - } - }, - "launch-editor": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", - "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "shell-quote": "^1.6.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "launch-editor-middleware": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", - "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", - "dev": true, - "requires": { - "launch-editor": "^2.2.1" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "^1.0.0" - } - }, - "less": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/less/-/less-3.11.3.tgz", - "integrity": "sha512-VkZiTDdtNEzXA3LgjQiC3D7/ejleBPFVvq+aRI9mIj+Zhmif5TvFPM244bT4rzkvOCvJ9q4zAztok1M7Nygagw==", - "dev": true, - "requires": { - "clone": "^2.1.2", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "promise": "^7.1.1", - "request": "^2.83.0", - "source-map": "~0.6.0", - "tslib": "^1.10.0" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "less-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.1.0.tgz", - "integrity": "sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "loader-utils": "^1.1.0", - "pify": "^3.0.0" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - } - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "loader-fs-cache": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", - "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", - "dev": true, - "requires": { - "find-cache-dir": "^0.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "^1.0.0" - } - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" - }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" - }, - "lodash._bindcallback": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" - }, - "lodash._createassigner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", - "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", - "requires": { - "lodash._bindcallback": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash.restparam": "^3.0.0" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", - "dev": true - }, - "lodash.find": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", - "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=" - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", - "dev": true - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, - "lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" - }, - "lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" - }, - "lodash.transform": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", - "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", - "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==" - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "math-expression-evaluator": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.22.tgz", - "integrity": "sha512-L0j0tFVZBQQLeEjmWOvDLoRciIY8gQGWahvkztXUal8jH8R5Rlqo9GCvgqvXcy9LQhEWdQCVvzqAbxgYNt4blQ==" - }, - "md5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", - "requires": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - } - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "mini-css-extract-plugin": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz", - "integrity": "sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", - "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "mobius1-selectr": { - "version": "2.4.13", - "resolved": "https://registry.npmjs.org/mobius1-selectr/-/mobius1-selectr-2.4.13.tgz", - "integrity": "sha512-Mk9qDrvU44UUL0EBhbAA1phfQZ7aMZPjwtL7wkpiBzGh8dETGqfsh50mWoX9EkjDlkONlErWXArHCKfoxVg0Bw==" - }, - "moment": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz", - "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==" - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" - }, - "mutationobserver-shim": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz", - "integrity": "sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ==" - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "nanopop": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/nanopop/-/nanopop-1.3.0.tgz", - "integrity": "sha512-DQDhHyPhKLKrXOjVkChsAoWh/WpKuVINDKl4qvFbguqokRJWQBSNSlPzMS+Xy3yBQKeQ39rICMB2asDvdUiVxw==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-emoji": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", - "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", - "requires": { - "lodash.toarray": "^4.4.0" - } - }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==" - }, - "node-ipc": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz", - "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==", - "dev": true, - "requires": { - "event-pubsub": "4.3.0", - "js-message": "1.0.5", - "js-queue": "2.0.0" - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "requires": { - "inherits": "2.0.3" - } - } - } - }, - "node-releases": { - "version": "1.1.59", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", - "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", - "dev": true - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" - }, - "object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-path": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "omit.js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz", - "integrity": "sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ==", - "requires": { - "babel-runtime": "^6.23.0" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "opener": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", - "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", - "dev": true - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "ora": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - } - } - }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-svg-path": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", - "integrity": "sha1-en7A0esG+lMlx9PgCbhZoJtdSes=" - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "parse5-htmlparser2-tree-adapter": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz", - "integrity": "sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw==", - "dev": true, - "requires": { - "parse5": "^5.1.1" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.1.tgz", - "integrity": "sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==", - "dev": true, - "requires": { - "no-case": "^3.0.3", - "tslib": "^1.10.0" - }, - "dependencies": { - "lower-case": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz", - "integrity": "sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==", - "dev": true, - "requires": { - "tslib": "^1.10.0" - } - }, - "no-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", - "integrity": "sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==", - "dev": true, - "requires": { - "lower-case": "^2.0.1", - "tslib": "^1.10.0" - } - } - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "requires": { - "pify": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "photoswipe": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/photoswipe/-/photoswipe-4.1.3.tgz", - "integrity": "sha512-89Z43IRUyw7ycTolo+AaiDn3W1EEIfox54hERmm9bI12IB9cvRfHSHez3XhAyU8XW2EAFrC+2sKMhh7SJwn0bA==" - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "optional": true - }, - "picomodal": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/picomodal/-/picomodal-3.0.0.tgz", - "integrity": "sha1-+s0w9PvzSoCcHgTqUl8ATzmcC4I=" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "requires": { - "find-up": "^2.1.0" - } - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true, - "optional": true - }, - "point-at-length": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/point-at-length/-/point-at-length-1.1.0.tgz", - "integrity": "sha1-CtcuvQmA1/WhqxIpbAVfnrazDlc=", - "requires": { - "abs-svg-path": "~0.1.1", - "isarray": "~0.0.1", - "parse-svg-path": "~0.1.1" - } - }, - "portfinder": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", - "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "requires": { - "postcss": "^5.0.2", - "postcss-message-helpers": "^2.0.0", - "reduce-css-calc": "^1.2.6" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "requires": { - "colormin": "^1.0.5", - "postcss": "^5.0.13", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "requires": { - "postcss": "^5.0.11", - "postcss-value-parser": "^3.1.2" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "requires": { - "postcss": "^5.0.14" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "requires": { - "postcss": "^5.0.14" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "requires": { - "postcss": "^5.0.16" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "requires": { - "postcss": "^5.0.14", - "uniqs": "^2.0.0" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-filter-plugins": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", - "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-load-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", - "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", - "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0", - "postcss-load-options": "^1.2.0", - "postcss-load-plugins": "^2.3.0" - } - }, - "postcss-load-options": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", - "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", - "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0" - } - }, - "postcss-load-plugins": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", - "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", - "requires": { - "cosmiconfig": "^2.1.1", - "object-assign": "^4.1.0" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.10", - "postcss-value-parser": "^3.1.1" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "requires": { - "browserslist": "^1.5.2", - "caniuse-api": "^1.5.2", - "postcss": "^5.0.4", - "postcss-selector-parser": "^2.2.2", - "vendors": "^1.0.0" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=" - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "requires": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "requires": { - "postcss": "^5.0.12", - "postcss-value-parser": "^3.3.0" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.2", - "postcss-value-parser": "^3.0.2", - "uniqs": "^2.0.0" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "requires": { - "alphanum-sort": "^1.0.2", - "has": "^1.0.1", - "postcss": "^5.0.14", - "postcss-selector-parser": "^2.0.0" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", - "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "requires": { - "postcss": "^5.0.5" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "browserslist": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", - "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001093", - "electron-to-chromium": "^1.3.488", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - } - } - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^1.4.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.1" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.8", - "postcss-value-parser": "^3.0.1" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-safe-parser": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-1.0.7.tgz", - "integrity": "sha1-Q70MjITV99hHTeglxpnk2ryscqg=", - "requires": { - "postcss": "^5.0.18" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "requires": { - "is-svg": "^2.0.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3", - "svgo": "^0.7.0" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "optional": true, - "requires": { - "asap": "~2.0.3" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - } - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } - } - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "requires": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" - } - } - }, - "reduce-function-call": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", - "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==" - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz", - "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==" - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", - "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", - "dev": true, - "optional": true - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "regression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regression/-/regression-2.0.1.tgz", - "integrity": "sha1-jSnD6CJKEIUMNeM36FqLL6w7DIc=" - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "renderkid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", - "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - }, - "dependencies": { - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - } - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - } - } - }, - "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", - "dev": true, - "requires": { - "request-promise-core": "1.1.3", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "optional": true, - "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true, - "optional": true - } - } - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "reselect": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", - "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", - "dev": true - }, - "resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "resolve-url-loader": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-2.3.2.tgz", - "integrity": "sha512-sc/UVgiADdoTc+4cGPB7cUCnlEkzlxD1NXHw4oa9qA0fp30H8mAQ2ePJBP9MQ029DUuhEPouhNdvzT37pBCV0g==", - "requires": { - "adjust-sourcemap-loader": "^1.1.0", - "camelcase": "^4.1.0", - "convert-source-map": "^1.5.1", - "loader-utils": "^1.1.0", - "lodash.defaults": "^4.0.0", - "rework": "^1.0.1", - "rework-visit": "^1.0.0", - "source-map": "^0.5.7", - "urix": "^0.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "resumer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", - "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", - "requires": { - "through": "~2.3.4" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "requires": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - }, - "dependencies": { - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" - } - } - }, - "rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "requires": { - "align-text": "^0.1.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rollup": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.25.8.tgz", - "integrity": "sha1-v2zoO4dRDRY0Ru6qV37WpvxYNeA=", - "requires": { - "chalk": "^1.1.1", - "minimist": "^1.2.0", - "source-map-support": "^0.3.2" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true, - "optional": true - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "dev": true, - "optional": true, - "requires": { - "rx-lite": "*" - } - }, - "rxjs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", - "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "requires": { - "ajv": "^5.0.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - } - } - }, - "select": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - }, - "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", - "requires": { - "node-forge": "0.9.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-equal": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "simple-statistics": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/simple-statistics/-/simple-statistics-6.1.1.tgz", - "integrity": "sha512-zGwn0DDRa9Zel4H4n2pjTFIyGoAGpnpjrGIctreCxj5XWrcx9v7Xy7270FkC967WMmcvuc8ZU7m0ZG+hGN7gAA==" - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "optional": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "optional": true - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, - "sockjs-client": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", - "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", - "requires": { - "debug": "^2.6.6", - "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", - "json3": "^3.3.2", - "url-parse": "^1.1.8" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "requires": { - "websocket-driver": ">=0.5.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "sortablejs": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz", - "integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==" - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.1.32", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", - "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", - "requires": { - "amdefine": ">=0.0.4" - } - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz", - "integrity": "sha1-NJAJd9W6PwfHdX7nLnO7GptTdU8=", - "requires": { - "source-map": "0.1.32" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string-convert": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", - "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.padend": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz", - "integrity": "sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "string.prototype.padstart": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.0.tgz", - "integrity": "sha512-envqZvUp2JItI+OeQ5UAh1ihbAV5G/2bixTojvlIa090GGqF+NQRxbWb2nv9fTGrZABv6+pE6jXoAZhhS2k4Hw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "string.prototype.trim": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz", - "integrity": "sha512-MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "^4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "style-loader": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.1.tgz", - "integrity": "sha512-IRE+ijgojrygQi3rsqT0U4dd+UcPCqcVvauZpCnQrGAlEe+FUIyrK93bUDScamesjP08JlQNsFJU+KmPedP5Og==", - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.3.0" - } - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "browserslist": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", - "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001093", - "electron-to-chromium": "^1.3.488", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - } - }, - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" - } - }, - "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", - "dev": true, - "optional": true, - "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "optional": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true, - "optional": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true, - "optional": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true, - "optional": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "tapable": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", - "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==" - }, - "tape": { - "version": "4.13.3", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.13.3.tgz", - "integrity": "sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==", - "requires": { - "deep-equal": "~1.1.1", - "defined": "~1.0.0", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.6", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.0.5", - "minimist": "~1.2.5", - "object-inspect": "~1.7.0", - "resolve": "~1.17.0", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.2.1", - "through": "~2.3.8" - } - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", - "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^3.1.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "thread-loader": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", - "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", - "dev": true, - "requires": { - "loader-runner": "^2.3.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.0" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "time-stamp": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz", - "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==" - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" - }, - "tinycolor2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", - "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" - }, - "tinymce": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-5.4.1.tgz", - "integrity": "sha512-eUjwDVCTSHSnFfpzX5TjTHXsGj5gvPQwzo3RFDF374gfK5voHqcRGojvQnu4NtNW1BAb012/KW1tkXBbUrEveg==" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "topojson-client": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", - "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", - "requires": { - "commander": "2" - } - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", - "dev": true - }, - "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "requires": { - "source-map": "^0.5.6", - "uglify-js": "^2.8.29", - "webpack-sources": "^1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "url-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", - "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vanilla-picker": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/vanilla-picker/-/vanilla-picker-2.10.1.tgz", - "integrity": "sha512-Bo4HOKkSorcQoRB08HwDMb8X2jt3SsZw7gzFlbzXbhnaxdUVJBm3LOUudr7M1SCVwPCo8d3nq8ajiAg8lAoqPg==", - "requires": { - "@sphinxxxx/color-conversion": "^2.2.2" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - }, - "venn.js": { - "version": "0.2.20", - "resolved": "https://registry.npmjs.org/venn.js/-/venn.js-0.2.20.tgz", - "integrity": "sha512-bb5SYq/wamY9fvcuErb9a0FJkgIFHJjkLZWonQ+DoKKuDX3WPH2B4ouI1ce4K2iejBklQy6r1ly8nOGIyOCO6w==", - "requires": { - "d3-selection": "^1.0.2", - "d3-transition": "^1.0.1", - "fmin": "0.0.2" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "viser": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/viser/-/viser-2.4.9.tgz", - "integrity": "sha512-DKsqtMa3TZYQHEZ7jp4kpNp1Iqomda7d+3IkkIjIdKQvfL8OeksXfy/ECZUY1hTrGoOe7cq85+6PMS+MPn4mgQ==", - "requires": { - "@antv/g2": "~3.5.3", - "@antv/g2-brush": "^0.0.2", - "@antv/g2-plugin-slider": "^2.1.0", - "@types/d3-format": "*", - "@types/lodash": "*", - "@types/node": "^8.0.53", - "d3-format": "^1.3.0", - "lodash": "^4.17.4" - }, - "dependencies": { - "@types/node": { - "version": "8.10.61", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.61.tgz", - "integrity": "sha512-l+zSbvT8TPRaCxL1l9cwHCb0tSqGAGcjPJFItGGYat5oCTiq1uQQKYg5m7AF1mgnEBzFXGLJ2LRmNjtreRX76Q==" - } - } - }, - "viser-vue": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/viser-vue/-/viser-vue-2.4.8.tgz", - "integrity": "sha512-ERAREN+6k/ywrwT+swcMo4CDIAq6dBjnB0+lhmsSfaip06BGHSBfNKg6yl7/4GJ9Nk2kioUw3llNhEboJuIKmQ==", - "requires": { - "@types/node": "*", - "viser": "^2.0.0", - "vue": "^2.5.3" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "vue": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz", - "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==" - }, - "vue-area-linkage": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/vue-area-linkage/-/vue-area-linkage-5.1.0.tgz", - "integrity": "sha512-86WD4O6PD9e2koWZ81Zlfcyey17U1+3B3fpWoyIZlBIe2V6qfvrg9BTozWdTpdF4CmKBiz138LBRTKhawl/UWw==", - "requires": { - "lodash.find": "^4.6.0" - } - }, - "vue-cropper": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.5.4.tgz", - "integrity": "sha512-9wwHOk1eHdl+nyq2fnIFDeDMjaXPh1dqfY+FdeEGU7Z/cKVOyH0pLrW0/5NH3xnRzqrU3DAQ8LjC/9/eHdvqKA==" - }, - "vue-eslint-parser": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz", - "integrity": "sha512-ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw==", - "dev": true, - "optional": true, - "requires": { - "debug": "^3.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.2", - "esquery": "^1.0.0", - "lodash": "^4.17.4" - }, - "dependencies": { - "eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", - "dev": true, - "optional": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - } - } - }, - "vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==" - }, - "vue-i18n": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.18.2.tgz", - "integrity": "sha512-0X5nBTCZAVjlwcrPaYJwNs3iipBBTv0AUHwQUOa8yP3XbQGWKbRHqBb3OhCYtum/IHDD21d/df5Xd2VgyxbxfA==" - }, - "vue-loader": { - "version": "15.9.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.3.tgz", - "integrity": "sha512-Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA==", - "requires": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - } - }, - "vue-ls": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/vue-ls/-/vue-ls-3.2.1.tgz", - "integrity": "sha512-JoZDpSu0qV5AM50vspEzOut2lcm8R0tr5WG99jMHh14qFXkUes3ZdmDMG/p8iSQVQpg0pd/svGwM9Nd7OI2oaw==" - }, - "vue-photo-preview": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vue-photo-preview/-/vue-photo-preview-1.1.3.tgz", - "integrity": "sha512-L9JTQh62rYqLHNCdpy7zQdqVisks9dvkmUpM8+7kIKG7l+KkbRLzKWK7lCjCKc6OQT42o6/ngK6B13niXunS9Q==", - "requires": { - "autoprefixer-loader": "^3.2.0", - "babel-core": "^6.26.0", - "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.0", - "cross-env": "^5.0.5", - "css-loader": "^0.28.7", - "extract-text-webpack-plugin": "^3.0.1", - "file-loader": "^1.1.4", - "photoswipe": "^4.1.2", - "resolve-url-loader": "^2.1.1", - "style-loader": "^0.19.0", - "vue": "^2.4.4", - "vue-loader": "^13.0.5", - "vue-template-compiler": "^2.4.4", - "webpack": "^3.6.0", - "webpack-dev-server": "^2.9.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "consolidate": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", - "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", - "requires": { - "bluebird": "^3.1.1" - } - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "vue-loader": { - "version": "13.7.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz", - "integrity": "sha512-ACCwbfeC6HjY2pnDii+Zer+MZ6sdOtwvLmDXRK/BoD3WNR551V22R6KEagwHoTRJ0ZlIhpCBkptpCU6+Ri/05w==", - "requires": { - "consolidate": "^0.14.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "lru-cache": "^4.1.1", - "postcss": "^6.0.8", - "postcss-load-config": "^1.1.0", - "postcss-selector-parser": "^2.0.0", - "prettier": "^1.7.0", - "resolve": "^1.4.0", - "source-map": "^0.6.1", - "vue-hot-reload-api": "^2.2.0", - "vue-style-loader": "^3.0.0", - "vue-template-es2015-compiler": "^1.6.0" - } - }, - "vue-style-loader": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz", - "integrity": "sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q==", - "requires": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - } - } - } - }, - "vue-print-nb-jeecg": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/vue-print-nb-jeecg/-/vue-print-nb-jeecg-1.0.9.tgz", - "integrity": "sha512-dWLbThjeq/hBo50wcKoHrJAxLEZcqiwoIFEjZQEvntVQs76PdDrWvpkC8F8tGZ5G9GXs9ihrddkXpaIltHJ1dQ==", - "requires": { - "babel-plugin-transform-runtime": "^6.23.0" - } - }, - "vue-ref": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz", - "integrity": "sha512-uKNKpFOVeWNqS2mrBZqnpLyXJo5Q+vnkex6JvpENvhXHFNBW/SJTP8vJywLuVT3DpxwXcF9N0dyIiZ4/NpTexQ==" - }, - "vue-router": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.3.4.tgz", - "integrity": "sha512-SdKRBeoXUjaZ9R/8AyxsdTqkOfMcI5tWxPZOUX5Ie1BTL5rPSZ0O++pbiZCeYeythiZIdLEfkDiQPKIaWk5hDg==" - }, - "vue-splitpane": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/vue-splitpane/-/vue-splitpane-1.0.6.tgz", - "integrity": "sha512-6sneVSEeF1VsCD025HP93nRxwzYhv3rotCeYi2Ah1FmGxwtfqbCZEIzaHGberdGNCpMlEzGD/1OIE1kK5QukLA==" - }, - "vue-style-loader": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", - "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", - "requires": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - } - }, - "vue-template-compiler": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz", - "integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==", - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, - "vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==" - }, - "vuedraggable": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.0.tgz", - "integrity": "sha512-IlslPpc+iZ2zPNSJbydFZIDrE+don5u+Nc/bjT2YaF+Azidc+wxxJKfKT0NwE68AKk0syb0YbZneAcnynqREZQ==", - "requires": { - "sortablejs": "^1.10.1" - } - }, - "vuex": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.5.1.tgz", - "integrity": "sha512-w7oJzmHQs0FM9LXodfskhw9wgKBiaB+totOdb8sNzbTB2KDCEEwEs29NzBZFh/lmEK1t5tDmM1vtsO7ubG1DFw==" - }, - "warning": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "watchpack": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", - "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", - "requires": { - "chokidar": "^3.4.0", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - } - }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "optional": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webpack": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", - "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", - "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "async": "^2.1.2", - "enhanced-resolve": "^3.4.0", - "escope": "^3.6.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^4.2.1", - "tapable": "^0.2.7", - "uglifyjs-webpack-plugin": "^0.4.6", - "watchpack": "^1.4.0", - "webpack-sources": "^1.0.1", - "yargs": "^8.0.2" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "requires": { - "has-flag": "^2.0.0" - } - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" - } - } - } - }, - "webpack-bundle-analyzer": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz", - "integrity": "sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1", - "bfj": "^6.1.1", - "chalk": "^2.4.1", - "commander": "^2.18.0", - "ejs": "^2.6.1", - "express": "^4.16.3", - "filesize": "^3.6.1", - "gzip-size": "^5.0.0", - "lodash": "^4.17.15", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" - }, - "dependencies": { - "acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "dev": true - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "webpack-chain": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz", - "integrity": "sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==", - "dev": true, - "requires": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^1.6.0" - } - }, - "webpack-dev-middleware": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", - "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", - "requires": { - "memory-fs": "~0.4.1", - "mime": "^1.5.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "time-stamp": "^2.0.0" - } - }, - "webpack-dev-server": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.5.tgz", - "integrity": "sha512-7TdOKKt7G3sWEhPKV0zP+nD0c4V9YKUJ3wDdBwQsZNo58oZIRoVIu66pg7PYkBW8A74msP9C2kLwmxGHndz/pw==", - "requires": { - "ansi-html": "0.0.7", - "array-includes": "^3.0.3", - "bonjour": "^3.5.0", - "chokidar": "^2.1.2", - "compression": "^1.7.3", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "^0.19.1", - "import-local": "^1.0.0", - "internal-ip": "1.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "selfsigned": "^1.9.1", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.1.5", - "spdy": "^4.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", - "webpack-dev-middleware": "1.12.2", - "yargs": "6.6.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "^1.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, - "wolfy87-eventemitter": { - "version": "5.2.9", - "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.9.tgz", - "integrity": "sha512-P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw==" - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "optional": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xregexp": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", - "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", - "dev": true, - "requires": { - "@babel/runtime-corejs3": "^7.8.3" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "requires": { - "camelcase": "^4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - } - } - }, - "yorkie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", - "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", - "dev": true, - "requires": { - "execa": "^0.8.0", - "is-ci": "^1.0.10", - "normalize-path": "^1.0.0", - "strip-indent": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "normalize-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", - "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - } - } - } - } -} diff --git a/ant-design-vue-jeecg/package.json b/ant-design-vue-jeecg/package.json deleted file mode 100644 index e47e4738..00000000 --- a/ant-design-vue-jeecg/package.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "name": "vue-antd-jeecg", - "version": "3.1.0", - "private": true, - "scripts": { - "pre": "cnpm install || yarn --registry https://registry.npm.taobao.org || npm install --registry https://registry.npm.taobao.org ", - "serve": "vue-cli-service serve", - "build:test": "vue-cli-service build --mode test", - "build": "vue-cli-service build", - "lint": "vue-cli-service lint" - }, - "dependencies": { - "@jeecg/antd-online-mini": "3.1.0-beta", - "ant-design-vue": "^1.7.2", - "@antv/data-set": "^0.11.4", - "viser-vue": "^2.4.8", - "axios": "^0.18.0", - "dayjs": "^1.8.0", - "enquire.js": "^2.1.6", - "js-cookie": "^2.2.0", - "lodash.get": "^4.4.2", - "lodash.pick": "^4.4.0", - "md5": "^2.2.1", - "nprogress": "^0.2.0", - "vue": "^2.6.10", - "vue-cropper": "^0.5.4", - "vue-i18n": "^8.7.0", - "vue-loader": "^15.7.0", - "vue-ls": "^3.2.0", - "vue-router": "^3.0.1", - "vuex": "^3.1.0", - "vue-print-nb-jeecg": "^1.0.11", - "clipboard": "^2.0.4", - "vue-photo-preview": "^1.1.3", - "vue-splitpane": "^1.0.4", - "vuedraggable": "^2.20.0", - "codemirror": "^5.46.0", - "@tinymce/tinymce-vue": "2.1.0", - "tinymce": "5.4.1", - "@toast-ui/editor": "^2.1.2", - "vue-area-linkage": "^5.1.0", - "china-area-data": "^5.0.1", - "dom-align": "1.12.0", - "xe-utils": "2.4.8", - "vxe-table": "2.9.13", - "vxe-table-plugin-antd": "1.8.10", - "cron-parser": "^2.10.0", - "qiankun": "^2.5.1", - "xss": "^1.0.13" - }, - "devDependencies": { - "@babel/polyfill": "^7.2.5", - "@vue/cli-plugin-babel": "^3.3.0", - "@vue/cli-plugin-eslint": "^3.3.0", - "@vue/cli-service": "^3.3.0", - "@vue/eslint-config-standard": "^4.0.0", - "babel-eslint": "7.2.3", - "eslint": "^5.16.0", - "eslint-plugin-vue": "^5.1.0", - "less": "^3.9.0", - "less-loader": "^4.1.0", - "vue-template-compiler": "^2.6.10", - "html-webpack-plugin": "^4.2.0", - "compression-webpack-plugin": "^3.1.0" - }, - "eslintConfig": { - "root": true, - "env": { - "node": true - }, - "extends": [ - "plugin:vue/strongly-recommended", - "@vue/standard" - ], - "parserOptions": { - "parser": "babel-eslint" - }, - "rules": { - "generator-star-spacing": "off", - "no-mixed-operators": 0, - "vue/max-attributes-per-line": [ - 2, - { - "singleline": 5, - "multiline": { - "max": 1, - "allowFirstLine": false - } - } - ], - "vue/attribute-hyphenation": 0, - "vue/html-self-closing": 0, - "vue/component-name-in-template-casing": 0, - "vue/html-closing-bracket-spacing": 0, - "vue/singleline-html-element-content-newline": 0, - "vue/no-unused-components": 0, - "vue/multiline-html-element-content-newline": 0, - "vue/no-use-v-if-with-v-for": 0, - "vue/html-closing-bracket-newline": 0, - "vue/no-parsing-error": 0, - "no-tabs": 0, - "indent": ["off", 2], - "no-console": 0, - "space-before-function-paren": 0 - } - }, - "postcss": { - "plugins": { - "autoprefixer": {} - } - }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not ie <= 10" - ] -} diff --git a/ant-design-vue-jeecg/public/avatar2.jpg b/ant-design-vue-jeecg/public/avatar2.jpg deleted file mode 100644 index 9adb2d1b88665631c9dfe7acd8c125ec87eb6fc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80189 zcmeFabyOV7_b)oQyClKg-QC@F@Fd9K?!n!4kN^qp8XN*4B*EPsl0a|`7J|+j$T{bG z&hPiT>%MdEdTYHu(yXqo+I!coUAwBfdp_N}fy_g`0*Lkn!DeLU=SXTX3#wGA9-77p5YG}SZJOT1{Q!1J-R}7 zu0Qe-(7a6~{6pQ>&^!rL84Gm3*ZJpB(!$9MM4@5rE;@}bD z;-%o?6yo6);^l$XfCof?kpN22+$3~|$@^s=1OfoS=KX5p45}FJZ+WQLUz-327bl+u zFE=NM$AXJXK)}pYP|(8CjE|dx$AZTU#BU+M3jzt6gE;v(EzAWhcsRH%In7K>P5Jpb z1WiqO`2YY!0Nfw_MTBbo(VOipTNNWvdafbhy5d8kMqkU1?T}v2K;%1 z{9|08WGDl206>56&ogON04(GXfca1YSOncyhAaWX0O-ib$SBC@C@APSXsBp71X$?k zSOkyp@Cfkm9^;@tY=0bn75-}qgMo&Ifr){QiHVJmiHV7SpJ3wus)F z#0J2?!@$A9!y+IdA|t?|b3>UpaPXA4oCuPdrg&5?!CZ*=$@z6s)HDQIAI-RVTtg#-FOKL>O<*dQgke2KNY(3J(|>A1D!O4bxnDEJC&nPEedZ;>z-aeD{ktU z**FJUdPby|H22PK{@|C_v+|03S=!P!w{?L79W$u4@DDa2AtLZTm_W&i3lFuxg$fUW zD>xbd-hz)>6W_UM%vN1Pz|z_T=59R4w21cxAkp!DnuHor_{c(5m(Lxv_Lm9&YYXWA zV*+FmfDZT2CJsOxaIOPZq-CVV{VJ$t3`kjFl1;c~13w1|De7n7R;+iLldJ_+`H6!| z9YzQpZodo>C*ES+{H$wB)L3b5PC4W*4T1plN@eJhEJeo<`d(U#L~aGH1C92%B)+P> z=kN@iIRdf|u{Tan9bzwhr&ELg_*cwE`4F}C1mWbcBAW`Yfdmv5IC*dD`vef9*=VqW z6ccDd7ecFVMlyiNR9J?;BmmkDNNQ&&DqOV1NCT*S{Yl(_5VZJ#j! zkYej5KT9S+0J~q?l%5)YSY66JGOodR<(T08?J3rsMVkn-B%4#vO_VzDiQ^YUnNq3Z z4==g9G{1{qrWnT*7(xJ$@pGN-Pww3cin16*+ft;>;ID@iE}OCD{$(DsBoKg`7xH0I zylzgsNP(p>#T)@m@%1Z)q7MoHcm%XB_4P*>0qdXaoAdD=2dTb%#7&c^`Qet4d`n3D zbctF21>app?%8u|G1z_xU@TtGmF(%`g{|c8c1#dJCsT$_J99Z7wW-V7sW(lLZh@!Y z@D2+`U@WSm<2GkflC367+DVS~T8TQhIn$X&``j{3tfJp|^^DpDo>lBTiI5{r?O$;g zPWXIyH;LA!8=NRMsT#)`Pr)N55-7M6;yF|=_DXIv$DY~GP~G1Rz^|_%h>L2GKWGZ<1Y^#1ZiY1KvqV|1kNT$MQdJ18+joNslu%i2#OT zTLxOGb^-R<WUdDw4p3!WfKWhofON%9q;&tJ0^eV-M`4MN_1@2mX1{xSL^o$pvZ z#Wax_-fj+Wye1c)%I92@LI4G`9xvW{dj?0%M(X$K?Aar9OC!u)*w*P%x}fV zbX=~OSsHI^DrBEG?Vr6qQO^4M)6Icw5d!dCZtjvR;q_vy$GOE<0%5;7Q?s{zq2pBY zvZKo5d2e+<7WvB7v|(})!hpZ2L;5+MwA`k7T}{AO(T(+6y1rADrKTzg88ASHw)}nd zyEv{v)2twadix#`N{>;^Kab)lXUU^u)!MceYa|PDpj&dGXCAArdKL+H{@g%K6hR?P6fD&<@-E zpMoFbA%GG+=_xL;iD1y2ueYW7=ql@V;}s`spEJ@D8@#t* z4a>@{-dr7{36j{ z5P(J(Uv~FTDXM|Jg;25*Oo@x+${=TE@A|&h3)5w+xa=?IN?&I5 zh#6VDCe0uB`RO}U-uZLB5FW#^%osXA?xyhmt!9?Muivu#- zDH(t;!Wh?eWusUNwj|!yK=9FewcO_W`KjmMiSl2f5EyZ-jbeO0*g=cC`k3pmpc`CX zn=ES#_`uvg-EbFKerL9Q%JnKS+MyZmOu?E2EC~UW8%O)rUsV@0-+^mqkz^tq7fo(` zMRR&c%quN%r=pv}r$*497a3EHxY7UD8s||SnvX_qx5Pta8mz=2hsO>mp82ESe3hcZ{t~ur<;xf zHv^Ia*KsIb=~#8|KesRm-JM7_Z6_xE7_lZgOss$VLw>UF!k_(G^$zdsS#hP}{QQq( zQ)}*;&5YdB0C3OF6F!iCCFix_9vgr+1;E$Vx5Z2r4T|qrzSO8>-5n{ttcCi^Thmms>l+R09wIucHUc zu-`D&c$@JBZ+MaPEAryNva$6!BM2b*Iu=Q!RcCOaFzdsLu+Y5KEul|^q{kaoLRhsN zcInAwRmrbi)$EPAd*n{H_;nfT`tJpJd2-`gpmQ;J^2FM`_8sqsZOq)P5tzIBx8ZMe z`tOv@0uSmS0Dq|->pq4YYTrkY>9cml)JKgSrAw_|lTzH5lJ#3!l2(&PBJx>T{8OG) z{g15Vl4}aBw(p`Yqwkd7DpR85z5jFqryQ3gkY@U0E?)Vtwo9J|0$2}hEE-^aTpRmx z270cEv%HdfpKYn`&@&wHWuLFp2Ww`Sp=#whMT3otXU+x2VeYQ*ZJ=C_9yKvPOZ^&O z^H1@nsDJP^&h;XyR!cp|oY_?YS1T*5_ji=*ia43|UV zE56(V2cujApKyVU_Qzk@TeEgCqI18e2hL_f03kkhS%el>FpG`NlvP9#W1B6f&~xtQ zV%78Lgkb|WOwxev%gogGpNQZ_BsfHDFdJhokOHYXZ+^y4Z3hHarug254Z#RYV2I7h zpBo+Ab;MM1a>W|xTKJc24Q;e>9DMVQ<*Sc@0K9HdcYFe{LAs+&b$Q$hh~h%c(39aE zbUtQ70I}-yK)9r+V|x-$_t%TY*Sjt}*-z*E`4B_v4?1(coTd4TE86=T)|#l-1fZNTB}m!doQ%RSK<@scfr6pc8$*F;a|pDh0f zzD^fCIt!dwf&h?QBjgRy)>OV(c|m5*_9G5#YVAl8xhe<+?;Kql?B8~)g-If_r^gEt zg?`tTNSYXiFEux9wE~K*7<+t2W8XvD%r}^94pJZ;O6Y|EvSvH%n?8SF<30QHaApwB%Y1e&LFFB+)35_pkoCkoF-z=8!Wmxg&EKmB|Ldwuy zxV|sV(8cvtNdQwIt(JUKzUj{7mDPEm|I-&3wPQ$$SyCSvQ)?2sJ44lhnun|;< zqm#uI%14ohQE;6GthWG2Q2>z@lG3$j$v>*Vs_kZN`rioZt?b~$#i3WS9Rm6K($7mo zbD{@V7@iXlfLz_%FI%%cI=pvHanF5+)EdO#P9tU-;)Cq^ETvx?fI^gIh69}1wEf!% z0?-WvYwAb^-kh}>bubr+eOQj`O`vKsqzo=PWN$dF_Jsgm?i*%`%>l&hxL)tac|Lmi z_Fx>b-9$0?@JeaMK-_Nm@N0T5ip^rd*QB)UkkVmk8o;A&-xlYlJn@SGug?~N6WYyL zhc-36k(|q+pLANLisNo)gD>DafIp_a%RFeN>~S8)ijqTS&$gl%)GtW$jaY5g8Bnv( zgJ?yRGH7Fs%ymIki5dF0x(B`$PLmjId_Tbfi9b3jz3MlsK&5oxaRnO}7y3y4&^zBM zX;*`L)^NLlcNd$cu1c~W$cQldP$>6iYXHrDx`!r+7)n z&NzYMegO4L%UA!Mo}M9 zqhK2rT>l9ZquLb~-zW?jfPZzFt8Jw3`IYF+)a(L<|F&t{0FcR^Po4gRVM9X0UTRBN zyk8u$06BOx{2$zk8;V;ANGYnq(>?$l*bnL7l6xN9!7tuD<^~0SVE;Tm)T4XgVg9Fz zco5*1MvMmww`y@$5$Rs5plXJ-9H;d-DOLeoEGcpoUN|DinS{0S`s0M1bK>VMqew(r^h zBMb6>!+Y?|y=rLR0N4+udsq?x5PL}fkCO*Y$Pd-;eRz-LN&MRX7#%Vw^&XsrZV$3V z_c=I8X!6TX_eB8A*{>Z+YC-jrLc)e@OgI;4k_g#@&}4J?!nF zhx_g$nmKtmTDYm3*_uO3f7H`5cjttb9!%DOLaz2sj#kj}!=?hVbpLx<%H7G~SNYx) z06@#i`Vam?8PN^8qCjpydlfe*6XqZ7AUyD(WL)Tu^iWWg`I~MeD_18E=YNn8om_3K zY#c$39uCkt=(5`P+SMOu&@zUphr5$J$Pwgf>JGYh9zf@XGw2Ut)L+8)lzWb%gB1nz z@c(uH;XGXJb!7E*piTYZ+wRYUC~WJM^(kl z$;tj+A@ZN(e+Z*kJGuHu+S^$D=_#yVomcpi46TV|0kSmpuy==MQ9MDe?*D^0@K5qT z#nH^Hq@C=YT>s`=oL~B-G`1j2|OkAo5F8X~DXB3*;J1gkd4g)=YfM#*(0gs_5 z`EOhudZqb|tN+H;f8*-EarNK0`fptQH?IC0SO1Nx|HjpST6gC#3^m@Fi9IDRJAZr^1A6JmJkD89TkDa-o1--Z! zs)+c5Dpsf(R!bXucaWYnW_1m!q@+)XLG9qb+5guF%RA1Vkz^Y>(S zdWr`TcRNvfeN_z#cPKDuXX8%6#U{YU#mddiLSgA@>HzX`aSa5RinzHh8@N=+o zaza}%HMihlwcy|Y@d;R1@bGZ+)1y-S*>6*4Rn`Bw#Xm>D!GRsxDg}iIl%T3AB;#c6 z;Q(@USCkR^C ziw1Qo)WPh34cfgq|KD%F8~Im0{_U>c?)q0A_*cTeXV-6c{VNarE8*X>>$ki9l?VQn z@bB66+g<<41OH0+_w4%Zu7Bl$eYpqS6! z;&dhM;iiW;U3j?r4VuCuLIX+>kr3eF5s;7(5s?rPkx`LRpc^tO>O*kuuk^pg>B1u* zAR{4Tp`v2_U&QIcoWY#I!9W9B{}ZPx4(SFAL#@1z(}i05$A)nK$`B$F4D$WEL;v7F zgP|S3FThk=n5Gc ze2rb{nojPm7Ie(7(?zl@j@F7Xn&gJ-vcM!H74xa#m7V0luVxxaS8zD1NY9<Ew&a zUP*UnehijUjcpYJPE@sf1y?+g0OD)~rz+9>sCRthk!myZ zpn#STDv!0x;o{5}A?`(CCF&VfmW)q%ejh7heIy_`e?sUb$%)Irl=+c0T_1`OE6$ zf@gOzXjI6_qB8|RuL19)q}Azit20d4VhZ~h^LAW~9Qs-Df=qnfTA7?ZN%@$B97#hQ z4MZh<(}H$K14`DyV6C(~{BZ>YN+l&^trnKuCXcN8$H^wP9LJ9Dcmg!%6FNG0N-j#( z%w=?OvYel0Em*|t5*WrQRFR>*=$-o5j^JOw?!-YoB?X(3_^6&XHMc8f9vYDxwL>Wu z7XIu2wSGEuj%2%(f?41z0Bny~G!vb#CA`tAb&`1GyMvU^bS_^|!qx+3UMHt4s>Sk= z>H?C>?7mq*tr(P@M)7kHm}wcfG7o)ONvGLeog#*(qC{f;elZc)lZzsAiCb^m;3Edc zMSfZ%i=x@56jD4(!YVRzD=!>bXDnZ;xn02(HzlPTR8glgZT_eO&8}oAWdlDNAM>M^ zrVa>$g}xC#ngE5hWRr{7IklXIu?4SSyzZl-s2O;Idaa)ecmGK_+1Y$UIT5WjFxX~a zZ$F!*&;~CyBujo@3qU-hiPnsf36}V$i%-LSrNJ*$`{j(;R5ebwn-GX z;Tp#kRhv^wMdX{jWUE{N*Nmjmm*;t4c|vS(!-ZdydldY8rRW{HoEQ#E&99{BSli?L zFH{X_#s?I=K3lyhE(_^u+CmuHElQj#VO6Hl_MqL;n)EJPtXd(Elf^%E41brgeLDsB zoV0_d%17_@_+?NHU8Yul$+5DH)~shfMY)m)fG8{EgE7(T0IW@R*fdqGTm?P+=6WUh zyen22whC$HHQ>{jO^M^2-F0XPnuUEt=Rz_5FjQB%(r!~Jg~YpxfjH`-iw#!J44B>Z z@d{}|erBTbG+w=FjFh;xL5vzK=OW5?sRJ?$u{F0)wGusgLGAmjTXH!!6}767!J0EM z|3}t~2G3@G0j*4pGgl=q zOj4c_r1}My?gAADI{CJ&_rcGvM#|0^usG}67#(mEb!nSg$eBjE%v*m7VK2s~;tQb? z^i_7~0&K&fw9NTw3yM*Vl4q;!+nTUy zy;baQ2UBLb8a6ck*-P)H2Mh=dbM_q~lDeer9EvDWNMN;C5Coa9B^p#%Py&xn_PKav z$H3Q@qI<1#WKV7lu*xV-6Bu(XT=S`&F8K6s z$;_|Ev)SRt1u`i`%=DWv^?vIvqX8E#s+H7A=_XewCFco-EyIn=6CKEGsx*q)d1}kR zz3_tohOozEte(b+4PjO{-UMmYiL-0k*glb%Q{(w)-$~+JPB`QZR~OzZV%GM}$R~;5 zZQWIjDyub{Tm?~;O&1K!CV)mRtqS)~pZBX6^(m80)*@Ze`vf%k`HZINg*3~)GRJ(=DH}W#cr`yA z(yo;zc-<=`C3iMTnt7BI&(r+X!C3`5aOoNPJ#CE@V~QH4P3|EL&3AU6i+4?^nbZ2k z^zg`rhLnJ{#qedZTs^5i-URlF*Sem~j}*dpCJF6H4d^BKi8^rHBcRWYrW|CHE866? zkTqxIQqY?Fnv`LU(^m-%TN2-VzTC-6;@y&KuB73LkYtNXaETt|cc7iZKlA473se7M zRBTc%#dI8QqUeKbVSG{5E5?s6hdJW9Vxt}wcA25+i;L{s1KE*eZoBvP+c)){!gAYhhf& z{-KCC7aeZH!X1#wMqzxZ@%hUUf${!nX&RABZws$ME0r9dk$lLa{#ntiwGh`O52ps+ zdlD-l!byTaCdryJQq6%Bvf^U)FkIL{MYw+1J0AyGxZ1(S*HymyyqvPsb+fPBZz|~0 z;#X?GC-Wpu1z9ZbK7rFHkz$TohS_Ch`Y3ZpGm@9IBgiBn5eG?^9ItYyne z6OQo6I>w|-h8qprU}@!BZ@D`78XKO=>F_3cbvvMns8Hk@aLT6&CD7L;6d`vRz$ATb9i>3Mg^T6as~Pd`u(0SFLq1z1SQx1Qi+4|1O^#Z!;w zHIMx?D_|eJM)5%!XDmi)tB*Y1%GW|wPpaSAsptq<@W&)P)vV6*3)uxzC|!1r2B|P1(JvNM3?>N=393^U_(OSl& z`k&t>aFCh*IwLXYiV7{1b>mH_S=QyhF;ab)X_57}Y!tyPw?ko~z|(G*(FD1IRnvPS zLcs1b1c|n2=q}Uzd!#-H2C{X6T)jkTH>$mxnM#lEN>0m}bakvJp5TV+^3eHeKtq=v zej6dO%WE@n_EX60WmlhP&OAK2-6~=u@XG5!~lNp(~)~XzP3TrRS zq(!^y`(%SV@pyS+4)I%H(U$iWyGl%DJ`gdJgD>`rmOYY#t%5!&m&gli`3C>N6AbIL zr1?UMJ5?^%C&pRRBG_9&i&r8H<#lH)HI)c5f+3vh4CYT>e2}hhQF5V=(g}aWce}FW zH)Flc^%5C{3{kXCv^1gnQpiT@-OjKWQ`E5KNdyTmzU^rd-=L4u%($>m#iYATk*c$%V!UMg1KY>TFplIL^SQGnI!!PEXP<9M6fH+G z*{kLA=)_l_jj!yfnBW*UQZ9YM8(?|`1m50eYL4B85zcp%LK*9V*WsM2kU409JhrmKg6w`S+jR+d7JBL~px^@ZW{U zAH?+iw5hpcR}$o&9@|PS+RPUS4n#oFy=oaWZP-EORcupqT?~Ho1X-S2&^P3aaHO~M zt%ui?`W}LT&o#`pby66q)Q4+{#0(<+prv@X=2naom0!c z-An=fg959q4^d8+Y%1zCkJuC)ddcDz+U?(V#P0mW1-$4Gf|Y9aAIxVFl+^s|L>&m3 z{pYH{!hq)tn+a>y^8oV9XVkZGA+Tj6Curk2RG&zBW715}6+Av3Vy=~JL>$NFZNW1z zsua#xeTyHqR|cYWB*sd;WHKjQi5f~5n6dcisKCzdvN|rzY#5HSRqujDQ!#+uRwT&nJ2Cl9JaJ`w= z!4CbgZB9KZp99vJ!q)OV&6Os+%4yH7P0^#cpr`9Wr`Zm6+u$w5_l!vf=L&a&zbYPb z@R6@EAdpM6>}hXHN%V0s1Sbq^nCK=y2`62)ckltKMnq8~@wAPx@?)&fs$uj6^gYA1 z{oo-z(4mxHAs3pSkCeR#AT?zqEt=O|VoN^MlKU|2{@q6Cwy-xj(T;4k3yVr}z$(Ln zxG$l2XZ#JEjq~MeZAEfZ58!Su4MD$(%479mXWS=}PbYe0FmQzx$F-Avh#ZYWs@PeI z#N^-ov`eP-N7z`g6R%R0nxUF*uo6q_@OwkZd3&c)JJ_elHH%g{oW`oN(8+FKNJMQ> zGBA#TpsK{9mvrr7-og0IGE?fc!ByEKab8vH3SfjBH)bU(L2000siCWxz```&S=uGI zWeIM?AYgK1>WCQMZa~>uJC;uhMk{(7P8*oQ(?fPc(^oy~D!BEE!P9M5N%AWnuAb9* zj8?#gODR*<*M#OJPlY1zpn+sF-qtR8R&L^S*t(}+1UB?rF`T*AmE@~2hu_W$U$ROV z;H?dfzKITvQ!d*FZoEBhW)uXKTQj8-It9Q-k!^@qh#dLUNJYMRAwJ_#vi%zXoe&Sagzq-{?39ES0 zvuQqTTAGuv)bBxQZ9H=NwQU{muI(oPHyOCn2?r?;} ztyNz#Y`Vb;(dws=$i_dhF>=V!@p6FPEUo)&1MbX>|EbIa{D3B|2mIGY{ePno)K5l)rc1x=%FkQ_VYcR8I9X@ zQL&ToLVXYa$%0N*;`43hRJR4%zJ!}bj1xjB>Sq7aY)XvM(E@hqlWwzixUcy?wP}M2 z>M&TPKG!fg)AxCdF-;$KlvhX^KbMjLS-8#*OUaJ6h@ME?jdCJTkFF(e^DO8$s^$tD zMi0IaM?Ww~XwKSOE;=AkXn&a=fod)}{Fw@wJd&WLgaH$fPZ@?K9`k0VWZ)9aK%ie< zuJKgIdy|e==z8fxn|Q7H@gtXM1tqMdvXpsQ7=fZ_;{hRsyTrcM1MR3d@hj<_B6Mc+w9(t`gud2MLrv6PEkfiUc}{(Z31IvdZK)IY{!ua@|2&~ zSPOH)m}uqu`0rFaeWq@EjJ!9L;pv_xW1V=TBMkv$I#wnxwRblXjJ?oZbFt@BtDD}3 zeoW@@u>4IXuf19i7c~fH2}YeuVfuAg)El0CFH{k^Nd=beGI`e($8! zHmDs~9JJra))TY|U3Zs8;?H_!qZE%OMuy|`Djx`cqe-rlmdg1gw4;@R|4D^3v324+ z3YDB!a~oivcVS#be`J}%1TrZ$ca<;Z!3{Rbc1GPZ-KCRd8)D zHaoIQ)Sdlj<^2O5g;T0fYL+S1oybv%%c_m&e>#Iy|Atg0^OhyA7#QZVL3vD*P6nUb z1&le-Q6ui}MC*QMfH!}R@iS`P7#=@Jwf7w}0;#pnmvYjT_1(Cxqw)f_!aQQYS--P>rh0k{jZOX*ZZd$-$P3mtKNS$>VD_~%v@a^%HgO1?Sz1u%o;xbm zmS8A68Bs&ns?}c#Ad$;Sbr}DuV2vd;?KhLaZ<&_&1ogP#)MPDcV&0T~yV}+$mdyR9 zhl2$tGkQWnRoqrYIzycJ3?B*oZAZD`SeauK$!;LWSo7H9)*|1bzQWI>ib_Z;avS8$ zF*LhZv3*hj2G(zIha2`(wNo&D2GiPlP+a2XG0o3JJ8s5;U3wk$s53O$6`f@g0vlqT z3vYMR#kR{{wf0-%{fq!}92b_(`dDbl8){wg`=uHC)LRU*@Lcx>a8K%6&~ITNiP%ho&*~V;@Ȇ~_mYlz55^9KP)hUklbsu17%qOvafHCep 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

@kHGHV*M}ud-K*Ym^3Id2q7H(x;jE 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

    9J2$d}*12p3mw+Jf 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
  1. +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 diff --git a/ant-design-vue-jeecg/public/cdn/babel-polyfill/polyfill_7_2_5.js b/ant-design-vue-jeecg/public/cdn/babel-polyfill/polyfill_7_2_5.js deleted file mode 100644 index 250b921f..00000000 --- a/ant-design-vue-jeecg/public/cdn/babel-polyfill/polyfill_7_2_5.js +++ /dev/null @@ -1,6953 +0,0 @@ -(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 2 ? arguments[2] : undefined; - var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); - var inc = 1; - if (from < to && to < from + count) { - inc = -1; - from += count - 1; - to += count - 1; - } - while (count-- > 0) { - if (from in O) O[to] = O[from]; - else delete O[to]; - to += inc; - from += inc; - } return O; -}; - -},{"113":113,"117":117,"118":118}],18:[function(_dereq_,module,exports){ -// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) -'use strict'; -var toObject = _dereq_(118); -var toAbsoluteIndex = _dereq_(113); -var toLength = _dereq_(117); -module.exports = function fill(value /* , start = 0, end = @length */) { - var O = toObject(this); - var length = toLength(O.length); - var aLen = arguments.length; - var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); - var end = aLen > 2 ? arguments[2] : undefined; - var endPos = end === undefined ? length : toAbsoluteIndex(end, length); - while (endPos > index) O[index++] = value; - return O; -}; - -},{"113":113,"117":117,"118":118}],19:[function(_dereq_,module,exports){ -// false -> Array#indexOf -// true -> Array#includes -var toIObject = _dereq_(116); -var toLength = _dereq_(117); -var toAbsoluteIndex = _dereq_(113); -module.exports = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) return true; - // Array#indexOf ignores holes, Array#includes - not - } else for (;length > index; index++) if (IS_INCLUDES || index in O) { - if (O[index] === el) return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; - -},{"113":113,"116":116,"117":117}],20:[function(_dereq_,module,exports){ -// 0 -> Array#forEach -// 1 -> Array#map -// 2 -> Array#filter -// 3 -> Array#some -// 4 -> Array#every -// 5 -> Array#find -// 6 -> Array#findIndex -var ctx = _dereq_(32); -var IObject = _dereq_(53); -var toObject = _dereq_(118); -var toLength = _dereq_(117); -var asc = _dereq_(23); -module.exports = function (TYPE, $create) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; - var create = $create || asc; - return function ($this, callbackfn, that) { - var O = toObject($this); - var self = IObject(O); - var f = ctx(callbackfn, that, 3); - var length = toLength(self.length); - var index = 0; - var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; - var val, res; - for (;length > index; index++) if (NO_HOLES || index in self) { - val = self[index]; - res = f(val, index, O); - if (TYPE) { - if (IS_MAP) result[index] = res; // map - else if (res) switch (TYPE) { - case 3: return true; // some - case 5: return val; // find - case 6: return index; // findIndex - case 2: result.push(val); // filter - } else if (IS_EVERY) return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; - }; -}; - -},{"117":117,"118":118,"23":23,"32":32,"53":53}],21:[function(_dereq_,module,exports){ -var aFunction = _dereq_(11); -var toObject = _dereq_(118); -var IObject = _dereq_(53); -var toLength = _dereq_(117); - -module.exports = function (that, callbackfn, aLen, memo, isRight) { - aFunction(callbackfn); - var O = toObject(that); - var self = IObject(O); - var length = toLength(O.length); - var index = isRight ? length - 1 : 0; - var i = isRight ? -1 : 1; - if (aLen < 2) for (;;) { - if (index in self) { - memo = self[index]; - index += i; - break; - } - index += i; - if (isRight ? index < 0 : length <= index) { - throw TypeError('Reduce of empty array with no initial value'); - } - } - for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { - memo = callbackfn(memo, self[index], index, O); - } - return memo; -}; - -},{"11":11,"117":117,"118":118,"53":53}],22:[function(_dereq_,module,exports){ -var isObject = _dereq_(57); -var isArray = _dereq_(55); -var SPECIES = _dereq_(128)('species'); - -module.exports = function (original) { - var C; - if (isArray(original)) { - C = original.constructor; - // cross-realm fallback - if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; - if (isObject(C)) { - C = C[SPECIES]; - if (C === null) C = undefined; - } - } return C === undefined ? Array : C; -}; - -},{"128":128,"55":55,"57":57}],23:[function(_dereq_,module,exports){ -// 9.4.2.3 ArraySpeciesCreate(originalArray, length) -var speciesConstructor = _dereq_(22); - -module.exports = function (original, length) { - return new (speciesConstructor(original))(length); -}; - -},{"22":22}],24:[function(_dereq_,module,exports){ -'use strict'; -var aFunction = _dereq_(11); -var isObject = _dereq_(57); -var invoke = _dereq_(52); -var arraySlice = [].slice; -var factories = {}; - -var construct = function (F, len, args) { - if (!(len in factories)) { - for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; - // eslint-disable-next-line no-new-func - factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); - } return factories[len](F, args); -}; - -module.exports = Function.bind || function bind(that /* , ...args */) { - var fn = aFunction(this); - var partArgs = arraySlice.call(arguments, 1); - var bound = function (/* args... */) { - var args = partArgs.concat(arraySlice.call(arguments)); - return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); - }; - if (isObject(fn.prototype)) bound.prototype = fn.prototype; - return bound; -}; - -},{"11":11,"52":52,"57":57}],25:[function(_dereq_,module,exports){ -// getting tag from 19.1.3.6 Object.prototype.toString() -var cof = _dereq_(26); -var TAG = _dereq_(128)('toStringTag'); -// ES3 wrong here -var ARG = cof(function () { return arguments; }()) == 'Arguments'; - -// fallback for IE11 Script Access Denied error -var tryGet = function (it, key) { - try { - return it[key]; - } catch (e) { /* empty */ } -}; - -module.exports = function (it) { - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T - // builtinTag case - : ARG ? cof(O) - // ES3 arguments fallback - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; -}; - -},{"128":128,"26":26}],26:[function(_dereq_,module,exports){ -var toString = {}.toString; - -module.exports = function (it) { - return toString.call(it).slice(8, -1); -}; - -},{}],27:[function(_dereq_,module,exports){ -'use strict'; -var dP = _dereq_(75).f; -var create = _dereq_(74); -var redefineAll = _dereq_(93); -var ctx = _dereq_(32); -var anInstance = _dereq_(15); -var forOf = _dereq_(45); -var $iterDefine = _dereq_(61); -var step = _dereq_(63); -var setSpecies = _dereq_(99); -var DESCRIPTORS = _dereq_(36); -var fastKey = _dereq_(70).fastKey; -var validate = _dereq_(125); -var SIZE = DESCRIPTORS ? '_s' : 'size'; - -var getEntry = function (that, key) { - // fast case - var index = fastKey(key); - var entry; - if (index !== 'F') return that._i[index]; - // frozen object case - for (entry = that._f; entry; entry = entry.n) { - if (entry.k == key) return entry; - } -}; - -module.exports = { - getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, NAME, '_i'); - that._t = NAME; // collection type - that._i = create(null); // index - that._f = undefined; // first entry - that._l = undefined; // last entry - that[SIZE] = 0; // size - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear() { - for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { - entry.r = true; - if (entry.p) entry.p = entry.p.n = undefined; - delete data[entry.i]; - } - that._f = that._l = undefined; - that[SIZE] = 0; - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function (key) { - var that = validate(this, NAME); - var entry = getEntry(that, key); - if (entry) { - var next = entry.n; - var prev = entry.p; - delete that._i[entry.i]; - entry.r = true; - if (prev) prev.n = next; - if (next) next.p = prev; - if (that._f == entry) that._f = next; - if (that._l == entry) that._l = prev; - that[SIZE]--; - } return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /* , that = undefined */) { - validate(this, NAME); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var entry; - while (entry = entry ? entry.n : this._f) { - f(entry.v, entry.k, this); - // revert to the last existing entry - while (entry && entry.r) entry = entry.p; - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key) { - return !!getEntry(validate(this, NAME), key); - } - }); - if (DESCRIPTORS) dP(C.prototype, 'size', { - get: function () { - return validate(this, NAME)[SIZE]; - } - }); - return C; - }, - def: function (that, key, value) { - var entry = getEntry(that, key); - var prev, index; - // change existing entry - if (entry) { - entry.v = value; - // create new entry - } else { - that._l = entry = { - i: index = fastKey(key, true), // <- index - k: key, // <- key - v: value, // <- value - p: prev = that._l, // <- previous entry - n: undefined, // <- next entry - r: false // <- removed - }; - if (!that._f) that._f = entry; - if (prev) prev.n = entry; - that[SIZE]++; - // add to index - if (index !== 'F') that._i[index] = entry; - } return that; - }, - getEntry: getEntry, - setStrong: function (C, NAME, IS_MAP) { - // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - $iterDefine(C, NAME, function (iterated, kind) { - this._t = validate(iterated, NAME); // target - this._k = kind; // kind - this._l = undefined; // previous - }, function () { - var that = this; - var kind = that._k; - var entry = that._l; - // revert to the last existing entry - while (entry && entry.r) entry = entry.p; - // get next entry - if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { - // or finish the iteration - that._t = undefined; - return step(1); - } - // return step by kind - if (kind == 'keys') return step(0, entry.k); - if (kind == 'values') return step(0, entry.v); - return step(0, [entry.k, entry.v]); - }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); - - // add [@@species], 23.1.2.2, 23.2.2.2 - setSpecies(NAME); - } -}; - -},{"125":125,"15":15,"32":32,"36":36,"45":45,"61":61,"63":63,"70":70,"74":74,"75":75,"93":93,"99":99}],28:[function(_dereq_,module,exports){ -'use strict'; -var redefineAll = _dereq_(93); -var getWeak = _dereq_(70).getWeak; -var anObject = _dereq_(16); -var isObject = _dereq_(57); -var anInstance = _dereq_(15); -var forOf = _dereq_(45); -var createArrayMethod = _dereq_(20); -var $has = _dereq_(47); -var validate = _dereq_(125); -var arrayFind = createArrayMethod(5); -var arrayFindIndex = createArrayMethod(6); -var id = 0; - -// fallback for uncaught frozen keys -var uncaughtFrozenStore = function (that) { - return that._l || (that._l = new UncaughtFrozenStore()); -}; -var UncaughtFrozenStore = function () { - this.a = []; -}; -var findUncaughtFrozen = function (store, key) { - return arrayFind(store.a, function (it) { - return it[0] === key; - }); -}; -UncaughtFrozenStore.prototype = { - get: function (key) { - var entry = findUncaughtFrozen(this, key); - if (entry) return entry[1]; - }, - has: function (key) { - return !!findUncaughtFrozen(this, key); - }, - set: function (key, value) { - var entry = findUncaughtFrozen(this, key); - if (entry) entry[1] = value; - else this.a.push([key, value]); - }, - 'delete': function (key) { - var index = arrayFindIndex(this.a, function (it) { - return it[0] === key; - }); - if (~index) this.a.splice(index, 1); - return !!~index; - } -}; - -module.exports = { - getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, NAME, '_i'); - that._t = NAME; // collection type - that._i = id++; // collection id - that._l = undefined; // leak store for uncaught frozen objects - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function (key) { - if (!isObject(key)) return false; - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); - return data && $has(data, this._i) && delete data[this._i]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key) { - if (!isObject(key)) return false; - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); - return data && $has(data, this._i); - } - }); - return C; - }, - def: function (that, key, value) { - var data = getWeak(anObject(key), true); - if (data === true) uncaughtFrozenStore(that).set(key, value); - else data[that._i] = value; - return that; - }, - ufstore: uncaughtFrozenStore -}; - -},{"125":125,"15":15,"16":16,"20":20,"45":45,"47":47,"57":57,"70":70,"93":93}],29:[function(_dereq_,module,exports){ -'use strict'; -var global = _dereq_(46); -var $export = _dereq_(40); -var redefine = _dereq_(94); -var redefineAll = _dereq_(93); -var meta = _dereq_(70); -var forOf = _dereq_(45); -var anInstance = _dereq_(15); -var isObject = _dereq_(57); -var fails = _dereq_(42); -var $iterDetect = _dereq_(62); -var setToStringTag = _dereq_(100); -var inheritIfRequired = _dereq_(51); - -module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { - var Base = global[NAME]; - var C = Base; - var ADDER = IS_MAP ? 'set' : 'add'; - var proto = C && C.prototype; - var O = {}; - var fixMethod = function (KEY) { - var fn = proto[KEY]; - redefine(proto, KEY, - KEY == 'delete' ? function (a) { - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'has' ? function has(a) { - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'get' ? function get(a) { - return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } - : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } - ); - }; - if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { - new C().entries().next(); - }))) { - // create collection constructor - C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); - redefineAll(C.prototype, methods); - meta.NEED = true; - } else { - var instance = new C(); - // early implementations not supports chaining - var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; - // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); - // most early implementations doesn't supports iterables, most modern - not close it correctly - var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new - // for early implementations -0 and +0 not the same - var BUGGY_ZERO = !IS_WEAK && fails(function () { - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new C(); - var index = 5; - while (index--) $instance[ADDER](index, index); - return !$instance.has(-0); - }); - if (!ACCEPT_ITERABLES) { - C = wrapper(function (target, iterable) { - anInstance(target, C, NAME); - var that = inheritIfRequired(new Base(), target, C); - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - return that; - }); - C.prototype = proto; - proto.constructor = C; - } - if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); - // weak collections should not contains .clear method - if (IS_WEAK && proto.clear) delete proto.clear; - } - - setToStringTag(C, NAME); - - O[NAME] = C; - $export($export.G + $export.W + $export.F * (C != Base), O); - - if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); - - return C; -}; - -},{"100":100,"15":15,"40":40,"42":42,"45":45,"46":46,"51":51,"57":57,"62":62,"70":70,"93":93,"94":94}],30:[function(_dereq_,module,exports){ -var core = module.exports = { version: '2.6.1' }; -if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef - -},{}],31:[function(_dereq_,module,exports){ -'use strict'; -var $defineProperty = _dereq_(75); -var createDesc = _dereq_(92); - -module.exports = function (object, index, value) { - if (index in object) $defineProperty.f(object, index, createDesc(0, value)); - else object[index] = value; -}; - -},{"75":75,"92":92}],32:[function(_dereq_,module,exports){ -// optional / simple context binding -var aFunction = _dereq_(11); -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; -}; - -},{"11":11}],33:[function(_dereq_,module,exports){ -'use strict'; -// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() -var fails = _dereq_(42); -var getTime = Date.prototype.getTime; -var $toISOString = Date.prototype.toISOString; - -var lz = function (num) { - return num > 9 ? num : '0' + num; -}; - -// PhantomJS / old WebKit has a broken implementations -module.exports = (fails(function () { - return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; -}) || !fails(function () { - $toISOString.call(new Date(NaN)); -})) ? function toISOString() { - if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); - var d = this; - var y = d.getUTCFullYear(); - var m = d.getUTCMilliseconds(); - var s = y < 0 ? '-' : y > 9999 ? '+' : ''; - return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + - '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + - 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + - ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; -} : $toISOString; - -},{"42":42}],34:[function(_dereq_,module,exports){ -'use strict'; -var anObject = _dereq_(16); -var toPrimitive = _dereq_(119); -var NUMBER = 'number'; - -module.exports = function (hint) { - if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); - return toPrimitive(anObject(this), hint != NUMBER); -}; - -},{"119":119,"16":16}],35:[function(_dereq_,module,exports){ -// 7.2.1 RequireObjectCoercible(argument) -module.exports = function (it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; -}; - -},{}],36:[function(_dereq_,module,exports){ -// Thank's IE8 for his funny defineProperty -module.exports = !_dereq_(42)(function () { - return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; -}); - -},{"42":42}],37:[function(_dereq_,module,exports){ -var isObject = _dereq_(57); -var document = _dereq_(46).document; -// typeof document.createElement is 'object' in old IE -var is = isObject(document) && isObject(document.createElement); -module.exports = function (it) { - return is ? document.createElement(it) : {}; -}; - -},{"46":46,"57":57}],38:[function(_dereq_,module,exports){ -// IE 8- don't enum bug keys -module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' -).split(','); - -},{}],39:[function(_dereq_,module,exports){ -// all enumerable object keys, includes symbols -var getKeys = _dereq_(83); -var gOPS = _dereq_(80); -var pIE = _dereq_(84); -module.exports = function (it) { - var result = getKeys(it); - var getSymbols = gOPS.f; - if (getSymbols) { - var symbols = getSymbols(it); - var isEnum = pIE.f; - var i = 0; - var key; - while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); - } return result; -}; - -},{"80":80,"83":83,"84":84}],40:[function(_dereq_,module,exports){ -var global = _dereq_(46); -var core = _dereq_(30); -var hide = _dereq_(48); -var redefine = _dereq_(94); -var ctx = _dereq_(32); -var PROTOTYPE = 'prototype'; - -var $export = function (type, name, source) { - var IS_FORCED = type & $export.F; - var IS_GLOBAL = type & $export.G; - var IS_STATIC = type & $export.S; - var IS_PROTO = type & $export.P; - var IS_BIND = type & $export.B; - var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; - var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); - var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); - var key, own, out, exp; - if (IS_GLOBAL) source = name; - for (key in source) { - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - // export native or passed - out = (own ? target : source)[key]; - // bind timers to global for call from export context - exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // extend global - if (target) redefine(target, key, out, type & $export.U); - // export - if (exports[key] != out) hide(exports, key, exp); - if (IS_PROTO && expProto[key] != out) expProto[key] = out; - } -}; -global.core = core; -// type bitmap -$export.F = 1; // forced -$export.G = 2; // global -$export.S = 4; // static -$export.P = 8; // proto -$export.B = 16; // bind -$export.W = 32; // wrap -$export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; - -},{"30":30,"32":32,"46":46,"48":48,"94":94}],41:[function(_dereq_,module,exports){ -var MATCH = _dereq_(128)('match'); -module.exports = function (KEY) { - var re = /./; - try { - '/./'[KEY](re); - } catch (e) { - try { - re[MATCH] = false; - return !'/./'[KEY](re); - } catch (f) { /* empty */ } - } return true; -}; - -},{"128":128}],42:[function(_dereq_,module,exports){ -module.exports = function (exec) { - try { - return !!exec(); - } catch (e) { - return true; - } -}; - -},{}],43:[function(_dereq_,module,exports){ -'use strict'; -_dereq_(224); -var redefine = _dereq_(94); -var hide = _dereq_(48); -var fails = _dereq_(42); -var defined = _dereq_(35); -var wks = _dereq_(128); -var regexpExec = _dereq_(96); - -var SPECIES = wks('species'); - -var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { - // #replace needs built-in support for named groups. - // #match works fine because it just return the exec results, even if it has - // a "grops" property. - var re = /./; - re.exec = function () { - var result = []; - result.groups = { a: '7' }; - return result; - }; - return ''.replace(re, '$') !== '7'; -}); - -var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () { - // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec - var re = /(?:)/; - var originalExec = re.exec; - re.exec = function () { return originalExec.apply(this, arguments); }; - var result = 'ab'.split(re); - return result.length === 2 && result[0] === 'a' && result[1] === 'b'; -})(); - -module.exports = function (KEY, length, exec) { - var SYMBOL = wks(KEY); - - var DELEGATES_TO_SYMBOL = !fails(function () { - // String methods call symbol-named RegEp methods - var O = {}; - O[SYMBOL] = function () { return 7; }; - return ''[KEY](O) != 7; - }); - - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () { - // Symbol-named RegExp methods call .exec - var execCalled = false; - var re = /a/; - re.exec = function () { execCalled = true; return null; }; - if (KEY === 'split') { - // RegExp[@@split] doesn't call the regex's exec method, but first creates - // a new one. We need to return the patched regex when creating the new one. - re.constructor = {}; - re.constructor[SPECIES] = function () { return re; }; - } - re[SYMBOL](''); - return !execCalled; - }) : undefined; - - if ( - !DELEGATES_TO_SYMBOL || - !DELEGATES_TO_EXEC || - (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || - (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) - ) { - var nativeRegExpMethod = /./[SYMBOL]; - var fns = exec( - defined, - SYMBOL, - ''[KEY], - function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) { - if (regexp.exec === regexpExec) { - if (DELEGATES_TO_SYMBOL && !forceStringMethod) { - // The native String method already delegates to @@method (this - // polyfilled function), leasing to infinite recursion. - // We avoid it by directly calling the native @@method method. - return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; - } - return { done: true, value: nativeMethod.call(str, regexp, arg2) }; - } - return { done: false }; - } - ); - var strfn = fns[0]; - var rxfn = fns[1]; - - redefine(String.prototype, KEY, strfn); - hide(RegExp.prototype, SYMBOL, length == 2 - // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) - // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function (string, arg) { return rxfn.call(string, this, arg); } - // 21.2.5.6 RegExp.prototype[@@match](string) - // 21.2.5.9 RegExp.prototype[@@search](string) - : function (string) { return rxfn.call(string, this); } - ); - } -}; - -},{"128":128,"224":224,"35":35,"42":42,"48":48,"94":94,"96":96}],44:[function(_dereq_,module,exports){ -'use strict'; -// 21.2.5.3 get RegExp.prototype.flags -var anObject = _dereq_(16); -module.exports = function () { - var that = anObject(this); - var result = ''; - if (that.global) result += 'g'; - if (that.ignoreCase) result += 'i'; - if (that.multiline) result += 'm'; - if (that.unicode) result += 'u'; - if (that.sticky) result += 'y'; - return result; -}; - -},{"16":16}],45:[function(_dereq_,module,exports){ -var ctx = _dereq_(32); -var call = _dereq_(59); -var isArrayIter = _dereq_(54); -var anObject = _dereq_(16); -var toLength = _dereq_(117); -var getIterFn = _dereq_(129); -var BREAK = {}; -var RETURN = {}; -var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { - var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); - var f = ctx(fn, that, entries ? 2 : 1); - var index = 0; - var length, step, iterator, result; - if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); - // fast case for arrays with default iterator - if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if (result === BREAK || result === RETURN) return result; - } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { - result = call(iterator, f, step.value, entries); - if (result === BREAK || result === RETURN) return result; - } -}; -exports.BREAK = BREAK; -exports.RETURN = RETURN; - -},{"117":117,"129":129,"16":16,"32":32,"54":54,"59":59}],46:[function(_dereq_,module,exports){ -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self - // eslint-disable-next-line no-new-func - : Function('return this')(); -if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef - -},{}],47:[function(_dereq_,module,exports){ -var hasOwnProperty = {}.hasOwnProperty; -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); -}; - -},{}],48:[function(_dereq_,module,exports){ -var dP = _dereq_(75); -var createDesc = _dereq_(92); -module.exports = _dereq_(36) ? function (object, key, value) { - return dP.f(object, key, createDesc(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - -},{"36":36,"75":75,"92":92}],49:[function(_dereq_,module,exports){ -var document = _dereq_(46).document; -module.exports = document && document.documentElement; - -},{"46":46}],50:[function(_dereq_,module,exports){ -module.exports = !_dereq_(36) && !_dereq_(42)(function () { - return Object.defineProperty(_dereq_(37)('div'), 'a', { get: function () { return 7; } }).a != 7; -}); - -},{"36":36,"37":37,"42":42}],51:[function(_dereq_,module,exports){ -var isObject = _dereq_(57); -var setPrototypeOf = _dereq_(98).set; -module.exports = function (that, target, C) { - var S = target.constructor; - var P; - if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { - setPrototypeOf(that, P); - } return that; -}; - -},{"57":57,"98":98}],52:[function(_dereq_,module,exports){ -// fast apply, http://jsperf.lnkit.com/fast-apply/5 -module.exports = function (fn, args, that) { - var un = that === undefined; - switch (args.length) { - case 0: return un ? fn() - : fn.call(that); - case 1: return un ? fn(args[0]) - : fn.call(that, args[0]); - case 2: return un ? fn(args[0], args[1]) - : fn.call(that, args[0], args[1]); - case 3: return un ? fn(args[0], args[1], args[2]) - : fn.call(that, args[0], args[1], args[2]); - case 4: return un ? fn(args[0], args[1], args[2], args[3]) - : fn.call(that, args[0], args[1], args[2], args[3]); - } return fn.apply(that, args); -}; - -},{}],53:[function(_dereq_,module,exports){ -// fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = _dereq_(26); -// eslint-disable-next-line no-prototype-builtins -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { - return cof(it) == 'String' ? it.split('') : Object(it); -}; - -},{"26":26}],54:[function(_dereq_,module,exports){ -// check on default Array iterator -var Iterators = _dereq_(64); -var ITERATOR = _dereq_(128)('iterator'); -var ArrayProto = Array.prototype; - -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); -}; - -},{"128":128,"64":64}],55:[function(_dereq_,module,exports){ -// 7.2.2 IsArray(argument) -var cof = _dereq_(26); -module.exports = Array.isArray || function isArray(arg) { - return cof(arg) == 'Array'; -}; - -},{"26":26}],56:[function(_dereq_,module,exports){ -// 20.1.2.3 Number.isInteger(number) -var isObject = _dereq_(57); -var floor = Math.floor; -module.exports = function isInteger(it) { - return !isObject(it) && isFinite(it) && floor(it) === it; -}; - -},{"57":57}],57:[function(_dereq_,module,exports){ -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; - -},{}],58:[function(_dereq_,module,exports){ -// 7.2.8 IsRegExp(argument) -var isObject = _dereq_(57); -var cof = _dereq_(26); -var MATCH = _dereq_(128)('match'); -module.exports = function (it) { - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); -}; - -},{"128":128,"26":26,"57":57}],59:[function(_dereq_,module,exports){ -// call something on iterator step with safe closing on error -var anObject = _dereq_(16); -module.exports = function (iterator, fn, value, entries) { - try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (e) { - var ret = iterator['return']; - if (ret !== undefined) anObject(ret.call(iterator)); - throw e; - } -}; - -},{"16":16}],60:[function(_dereq_,module,exports){ -'use strict'; -var create = _dereq_(74); -var descriptor = _dereq_(92); -var setToStringTag = _dereq_(100); -var IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -_dereq_(48)(IteratorPrototype, _dereq_(128)('iterator'), function () { return this; }); - -module.exports = function (Constructor, NAME, next) { - Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); - setToStringTag(Constructor, NAME + ' Iterator'); -}; - -},{"100":100,"128":128,"48":48,"74":74,"92":92}],61:[function(_dereq_,module,exports){ -'use strict'; -var LIBRARY = _dereq_(65); -var $export = _dereq_(40); -var redefine = _dereq_(94); -var hide = _dereq_(48); -var Iterators = _dereq_(64); -var $iterCreate = _dereq_(60); -var setToStringTag = _dereq_(100); -var getPrototypeOf = _dereq_(81); -var ITERATOR = _dereq_(128)('iterator'); -var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` -var FF_ITERATOR = '@@iterator'; -var KEYS = 'keys'; -var VALUES = 'values'; - -var returnThis = function () { return this; }; - -module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { - $iterCreate(Constructor, NAME, next); - var getMethod = function (kind) { - if (!BUGGY && kind in proto) return proto[kind]; - switch (kind) { - case KEYS: return function keys() { return new Constructor(this, kind); }; - case VALUES: return function values() { return new Constructor(this, kind); }; - } return function entries() { return new Constructor(this, kind); }; - }; - var TAG = NAME + ' Iterator'; - var DEF_VALUES = DEFAULT == VALUES; - var VALUES_BUG = false; - var proto = Base.prototype; - var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; - var $default = $native || getMethod(DEFAULT); - var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; - var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; - var methods, key, IteratorPrototype; - // Fix native - if ($anyNative) { - IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); - if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEF_VALUES && $native && $native.name !== VALUES) { - VALUES_BUG = true; - $default = function values() { return $native.call(this); }; - } - // Define iterator - if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if (DEFAULT) { - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if (FORCED) for (key in methods) { - if (!(key in proto)) redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; -}; - -},{"100":100,"128":128,"40":40,"48":48,"60":60,"64":64,"65":65,"81":81,"94":94}],62:[function(_dereq_,module,exports){ -var ITERATOR = _dereq_(128)('iterator'); -var SAFE_CLOSING = false; - -try { - var riter = [7][ITERATOR](); - riter['return'] = function () { SAFE_CLOSING = true; }; - // eslint-disable-next-line no-throw-literal - Array.from(riter, function () { throw 2; }); -} catch (e) { /* empty */ } - -module.exports = function (exec, skipClosing) { - if (!skipClosing && !SAFE_CLOSING) return false; - var safe = false; - try { - var arr = [7]; - var iter = arr[ITERATOR](); - iter.next = function () { return { done: safe = true }; }; - arr[ITERATOR] = function () { return iter; }; - exec(arr); - } catch (e) { /* empty */ } - return safe; -}; - -},{"128":128}],63:[function(_dereq_,module,exports){ -module.exports = function (done, value) { - return { value: value, done: !!done }; -}; - -},{}],64:[function(_dereq_,module,exports){ -module.exports = {}; - -},{}],65:[function(_dereq_,module,exports){ -module.exports = false; - -},{}],66:[function(_dereq_,module,exports){ -// 20.2.2.14 Math.expm1(x) -var $expm1 = Math.expm1; -module.exports = (!$expm1 - // Old FF bug - || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 - // Tor Browser bug - || $expm1(-2e-17) != -2e-17 -) ? function expm1(x) { - return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; -} : $expm1; - -},{}],67:[function(_dereq_,module,exports){ -// 20.2.2.16 Math.fround(x) -var sign = _dereq_(69); -var pow = Math.pow; -var EPSILON = pow(2, -52); -var EPSILON32 = pow(2, -23); -var MAX32 = pow(2, 127) * (2 - EPSILON32); -var MIN32 = pow(2, -126); - -var roundTiesToEven = function (n) { - return n + 1 / EPSILON - 1 / EPSILON; -}; - -module.exports = Math.fround || function fround(x) { - var $abs = Math.abs(x); - var $sign = sign(x); - var a, result; - if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); - // eslint-disable-next-line no-self-compare - if (result > MAX32 || result != result) return $sign * Infinity; - return $sign * result; -}; - -},{"69":69}],68:[function(_dereq_,module,exports){ -// 20.2.2.20 Math.log1p(x) -module.exports = Math.log1p || function log1p(x) { - return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); -}; - -},{}],69:[function(_dereq_,module,exports){ -// 20.2.2.28 Math.sign(x) -module.exports = Math.sign || function sign(x) { - // eslint-disable-next-line no-self-compare - return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; -}; - -},{}],70:[function(_dereq_,module,exports){ -var META = _dereq_(123)('meta'); -var isObject = _dereq_(57); -var has = _dereq_(47); -var setDesc = _dereq_(75).f; -var id = 0; -var isExtensible = Object.isExtensible || function () { - return true; -}; -var FREEZE = !_dereq_(42)(function () { - return isExtensible(Object.preventExtensions({})); -}); -var setMeta = function (it) { - setDesc(it, META, { value: { - i: 'O' + ++id, // object ID - w: {} // weak collections IDs - } }); -}; -var fastKey = function (it, create) { - // return primitive with prefix - if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return 'F'; - // not necessary to add metadata - if (!create) return 'E'; - // add missing metadata - setMeta(it); - // return object ID - } return it[META].i; -}; -var getWeak = function (it, create) { - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return true; - // not necessary to add metadata - if (!create) return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - } return it[META].w; -}; -// add metadata on freeze-family methods calling -var onFreeze = function (it) { - if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); - return it; -}; -var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze -}; - -},{"123":123,"42":42,"47":47,"57":57,"75":75}],71:[function(_dereq_,module,exports){ -var global = _dereq_(46); -var macrotask = _dereq_(112).set; -var Observer = global.MutationObserver || global.WebKitMutationObserver; -var process = global.process; -var Promise = global.Promise; -var isNode = _dereq_(26)(process) == 'process'; - -module.exports = function () { - var head, last, notify; - - var flush = function () { - var parent, fn; - if (isNode && (parent = process.domain)) parent.exit(); - while (head) { - fn = head.fn; - head = head.next; - try { - fn(); - } catch (e) { - if (head) notify(); - else last = undefined; - throw e; - } - } last = undefined; - if (parent) parent.enter(); - }; - - // Node.js - if (isNode) { - notify = function () { - process.nextTick(flush); - }; - // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 - } else if (Observer && !(global.navigator && global.navigator.standalone)) { - var toggle = true; - var node = document.createTextNode(''); - new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new - notify = function () { - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if (Promise && Promise.resolve) { - // Promise.resolve without an argument throws an error in LG WebOS 2 - var promise = Promise.resolve(undefined); - notify = function () { - promise.then(flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else { - notify = function () { - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - } - - return function (fn) { - var task = { fn: fn, next: undefined }; - if (last) last.next = task; - if (!head) { - head = task; - notify(); - } last = task; - }; -}; - -},{"112":112,"26":26,"46":46}],72:[function(_dereq_,module,exports){ -'use strict'; -// 25.4.1.5 NewPromiseCapability(C) -var aFunction = _dereq_(11); - -function PromiseCapability(C) { - var resolve, reject; - this.promise = new C(function ($$resolve, $$reject) { - if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); -} - -module.exports.f = function (C) { - return new PromiseCapability(C); -}; - -},{"11":11}],73:[function(_dereq_,module,exports){ -'use strict'; -// 19.1.2.1 Object.assign(target, source, ...) -var getKeys = _dereq_(83); -var gOPS = _dereq_(80); -var pIE = _dereq_(84); -var toObject = _dereq_(118); -var IObject = _dereq_(53); -var $assign = Object.assign; - -// should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || _dereq_(42)(function () { - var A = {}; - var B = {}; - // eslint-disable-next-line no-undef - var S = Symbol(); - var K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function (k) { B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; -}) ? function assign(target, source) { // eslint-disable-line no-unused-vars - var T = toObject(target); - var aLen = arguments.length; - var index = 1; - var getSymbols = gOPS.f; - var isEnum = pIE.f; - while (aLen > index) { - var S = IObject(arguments[index++]); - var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); - var length = keys.length; - var j = 0; - var key; - while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; - } return T; -} : $assign; - -},{"118":118,"42":42,"53":53,"80":80,"83":83,"84":84}],74:[function(_dereq_,module,exports){ -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = _dereq_(16); -var dPs = _dereq_(76); -var enumBugKeys = _dereq_(38); -var IE_PROTO = _dereq_(101)('IE_PROTO'); -var Empty = function () { /* empty */ }; -var PROTOTYPE = 'prototype'; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function () { - // Thrash, waste and sodomy: IE GC bug - var iframe = _dereq_(37)('iframe'); - var i = enumBugKeys.length; - var lt = '<'; - var gt = '>'; - var iframeDocument; - iframe.style.display = 'none'; - _dereq_(49).appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); -}; - -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); -}; - -},{"101":101,"16":16,"37":37,"38":38,"49":49,"76":76}],75:[function(_dereq_,module,exports){ -var anObject = _dereq_(16); -var IE8_DOM_DEFINE = _dereq_(50); -var toPrimitive = _dereq_(119); -var dP = Object.defineProperty; - -exports.f = _dereq_(36) ? Object.defineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return dP(O, P, Attributes); - } catch (e) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; -}; - -},{"119":119,"16":16,"36":36,"50":50}],76:[function(_dereq_,module,exports){ -var dP = _dereq_(75); -var anObject = _dereq_(16); -var getKeys = _dereq_(83); - -module.exports = _dereq_(36) ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = getKeys(Properties); - var length = keys.length; - var i = 0; - var P; - while (length > i) dP.f(O, P = keys[i++], Properties[P]); - return O; -}; - -},{"16":16,"36":36,"75":75,"83":83}],77:[function(_dereq_,module,exports){ -var pIE = _dereq_(84); -var createDesc = _dereq_(92); -var toIObject = _dereq_(116); -var toPrimitive = _dereq_(119); -var has = _dereq_(47); -var IE8_DOM_DEFINE = _dereq_(50); -var gOPD = Object.getOwnPropertyDescriptor; - -exports.f = _dereq_(36) ? gOPD : function getOwnPropertyDescriptor(O, P) { - O = toIObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return gOPD(O, P); - } catch (e) { /* empty */ } - if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); -}; - -},{"116":116,"119":119,"36":36,"47":47,"50":50,"84":84,"92":92}],78:[function(_dereq_,module,exports){ -// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window -var toIObject = _dereq_(116); -var gOPN = _dereq_(79).f; -var toString = {}.toString; - -var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames - ? Object.getOwnPropertyNames(window) : []; - -var getWindowNames = function (it) { - try { - return gOPN(it); - } catch (e) { - return windowNames.slice(); - } -}; - -module.exports.f = function getOwnPropertyNames(it) { - return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); -}; - -},{"116":116,"79":79}],79:[function(_dereq_,module,exports){ -// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) -var $keys = _dereq_(82); -var hiddenKeys = _dereq_(38).concat('length', 'prototype'); - -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return $keys(O, hiddenKeys); -}; - -},{"38":38,"82":82}],80:[function(_dereq_,module,exports){ -exports.f = Object.getOwnPropertySymbols; - -},{}],81:[function(_dereq_,module,exports){ -// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = _dereq_(47); -var toObject = _dereq_(118); -var IE_PROTO = _dereq_(101)('IE_PROTO'); -var ObjectProto = Object.prototype; - -module.exports = Object.getPrototypeOf || function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; -}; - -},{"101":101,"118":118,"47":47}],82:[function(_dereq_,module,exports){ -var has = _dereq_(47); -var toIObject = _dereq_(116); -var arrayIndexOf = _dereq_(19)(false); -var IE_PROTO = _dereq_(101)('IE_PROTO'); - -module.exports = function (object, names) { - var O = toIObject(object); - var i = 0; - var result = []; - var key; - for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while (names.length > i) if (has(O, key = names[i++])) { - ~arrayIndexOf(result, key) || result.push(key); - } - return result; -}; - -},{"101":101,"116":116,"19":19,"47":47}],83:[function(_dereq_,module,exports){ -// 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = _dereq_(82); -var enumBugKeys = _dereq_(38); - -module.exports = Object.keys || function keys(O) { - return $keys(O, enumBugKeys); -}; - -},{"38":38,"82":82}],84:[function(_dereq_,module,exports){ -exports.f = {}.propertyIsEnumerable; - -},{}],85:[function(_dereq_,module,exports){ -// most Object methods by ES6 should accept primitives -var $export = _dereq_(40); -var core = _dereq_(30); -var fails = _dereq_(42); -module.exports = function (KEY, exec) { - var fn = (core.Object || {})[KEY] || Object[KEY]; - var exp = {}; - exp[KEY] = exec(fn); - $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); -}; - -},{"30":30,"40":40,"42":42}],86:[function(_dereq_,module,exports){ -var getKeys = _dereq_(83); -var toIObject = _dereq_(116); -var isEnum = _dereq_(84).f; -module.exports = function (isEntries) { - return function (it) { - var O = toIObject(it); - var keys = getKeys(O); - var length = keys.length; - var i = 0; - var result = []; - var key; - while (length > i) if (isEnum.call(O, key = keys[i++])) { - result.push(isEntries ? [key, O[key]] : O[key]); - } return result; - }; -}; - -},{"116":116,"83":83,"84":84}],87:[function(_dereq_,module,exports){ -// all object keys, includes non-enumerable and symbols -var gOPN = _dereq_(79); -var gOPS = _dereq_(80); -var anObject = _dereq_(16); -var Reflect = _dereq_(46).Reflect; -module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { - var keys = gOPN.f(anObject(it)); - var getSymbols = gOPS.f; - return getSymbols ? keys.concat(getSymbols(it)) : keys; -}; - -},{"16":16,"46":46,"79":79,"80":80}],88:[function(_dereq_,module,exports){ -var $parseFloat = _dereq_(46).parseFloat; -var $trim = _dereq_(110).trim; - -module.exports = 1 / $parseFloat(_dereq_(111) + '-0') !== -Infinity ? function parseFloat(str) { - var string = $trim(String(str), 3); - var result = $parseFloat(string); - return result === 0 && string.charAt(0) == '-' ? -0 : result; -} : $parseFloat; - -},{"110":110,"111":111,"46":46}],89:[function(_dereq_,module,exports){ -var $parseInt = _dereq_(46).parseInt; -var $trim = _dereq_(110).trim; -var ws = _dereq_(111); -var hex = /^[-+]?0[xX]/; - -module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { - var string = $trim(String(str), 3); - return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); -} : $parseInt; - -},{"110":110,"111":111,"46":46}],90:[function(_dereq_,module,exports){ -module.exports = function (exec) { - try { - return { e: false, v: exec() }; - } catch (e) { - return { e: true, v: e }; - } -}; - -},{}],91:[function(_dereq_,module,exports){ -var anObject = _dereq_(16); -var isObject = _dereq_(57); -var newPromiseCapability = _dereq_(72); - -module.exports = function (C, x) { - anObject(C); - if (isObject(x) && x.constructor === C) return x; - var promiseCapability = newPromiseCapability.f(C); - var resolve = promiseCapability.resolve; - resolve(x); - return promiseCapability.promise; -}; - -},{"16":16,"57":57,"72":72}],92:[function(_dereq_,module,exports){ -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - -},{}],93:[function(_dereq_,module,exports){ -var redefine = _dereq_(94); -module.exports = function (target, src, safe) { - for (var key in src) redefine(target, key, src[key], safe); - return target; -}; - -},{"94":94}],94:[function(_dereq_,module,exports){ -var global = _dereq_(46); -var hide = _dereq_(48); -var has = _dereq_(47); -var SRC = _dereq_(123)('src'); -var TO_STRING = 'toString'; -var $toString = Function[TO_STRING]; -var TPL = ('' + $toString).split(TO_STRING); - -_dereq_(30).inspectSource = function (it) { - return $toString.call(it); -}; - -(module.exports = function (O, key, val, safe) { - var isFunction = typeof val == 'function'; - if (isFunction) has(val, 'name') || hide(val, 'name', key); - if (O[key] === val) return; - if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if (O === global) { - O[key] = val; - } else if (!safe) { - delete O[key]; - hide(O, key, val); - } else if (O[key]) { - O[key] = val; - } else { - hide(O, key, val); - } -// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, TO_STRING, function toString() { - return typeof this == 'function' && this[SRC] || $toString.call(this); -}); - -},{"123":123,"30":30,"46":46,"47":47,"48":48}],95:[function(_dereq_,module,exports){ -'use strict'; - -var classof = _dereq_(25); -var builtinExec = RegExp.prototype.exec; - - // `RegExpExec` abstract operation -// https://tc39.github.io/ecma262/#sec-regexpexec -module.exports = function (R, S) { - var exec = R.exec; - if (typeof exec === 'function') { - var result = exec.call(R, S); - if (typeof result !== 'object') { - throw new TypeError('RegExp exec method returned something other than an Object or null'); - } - return result; - } - if (classof(R) !== 'RegExp') { - throw new TypeError('RegExp#exec called on incompatible receiver'); - } - return builtinExec.call(R, S); -}; - -},{"25":25}],96:[function(_dereq_,module,exports){ -'use strict'; - -var regexpFlags = _dereq_(44); - -var nativeExec = RegExp.prototype.exec; -// This always refers to the native implementation, because the -// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, -// which loads this file before patching the method. -var nativeReplace = String.prototype.replace; - -var patchedExec = nativeExec; - -var LAST_INDEX = 'lastIndex'; - -var UPDATES_LAST_INDEX_WRONG = (function () { - var re1 = /a/, - re2 = /b*/g; - nativeExec.call(re1, 'a'); - nativeExec.call(re2, 'a'); - return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0; -})(); - -// nonparticipating capturing group, copied from es5-shim's String#split patch. -var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; - -var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; - -if (PATCH) { - patchedExec = function exec(str) { - var re = this; - var lastIndex, reCopy, match, i; - - if (NPCG_INCLUDED) { - reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); - } - if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX]; - - match = nativeExec.call(re, str); - - if (UPDATES_LAST_INDEX_WRONG && match) { - re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex; - } - if (NPCG_INCLUDED && match && match.length > 1) { - // Fix browsers whose `exec` methods don't consistently return `undefined` - // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ - // eslint-disable-next-line no-loop-func - nativeReplace.call(match[0], reCopy, function () { - for (i = 1; i < arguments.length - 2; i++) { - if (arguments[i] === undefined) match[i] = undefined; - } - }); - } - - return match; - }; -} - -module.exports = patchedExec; - -},{"44":44}],97:[function(_dereq_,module,exports){ -// 7.2.9 SameValue(x, y) -module.exports = Object.is || function is(x, y) { - // eslint-disable-next-line no-self-compare - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; -}; - -},{}],98:[function(_dereq_,module,exports){ -// Works with __proto__ only. Old v8 can't work with null proto objects. -/* eslint-disable no-proto */ -var isObject = _dereq_(57); -var anObject = _dereq_(16); -var check = function (O, proto) { - anObject(O); - if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); -}; -module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function (test, buggy, set) { - try { - set = _dereq_(32)(Function.call, _dereq_(77).f(Object.prototype, '__proto__').set, 2); - set(test, []); - buggy = !(test instanceof Array); - } catch (e) { buggy = true; } - return function setPrototypeOf(O, proto) { - check(O, proto); - if (buggy) O.__proto__ = proto; - else set(O, proto); - return O; - }; - }({}, false) : undefined), - check: check -}; - -},{"16":16,"32":32,"57":57,"77":77}],99:[function(_dereq_,module,exports){ -'use strict'; -var global = _dereq_(46); -var dP = _dereq_(75); -var DESCRIPTORS = _dereq_(36); -var SPECIES = _dereq_(128)('species'); - -module.exports = function (KEY) { - var C = global[KEY]; - if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { - configurable: true, - get: function () { return this; } - }); -}; - -},{"128":128,"36":36,"46":46,"75":75}],100:[function(_dereq_,module,exports){ -var def = _dereq_(75).f; -var has = _dereq_(47); -var TAG = _dereq_(128)('toStringTag'); - -module.exports = function (it, tag, stat) { - if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); -}; - -},{"128":128,"47":47,"75":75}],101:[function(_dereq_,module,exports){ -var shared = _dereq_(102)('keys'); -var uid = _dereq_(123); -module.exports = function (key) { - return shared[key] || (shared[key] = uid(key)); -}; - -},{"102":102,"123":123}],102:[function(_dereq_,module,exports){ -var core = _dereq_(30); -var global = _dereq_(46); -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || (global[SHARED] = {}); - -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: core.version, - mode: _dereq_(65) ? 'pure' : 'global', - copyright: '© 2018 Denis Pushkarev (zloirock.ru)' -}); - -},{"30":30,"46":46,"65":65}],103:[function(_dereq_,module,exports){ -// 7.3.20 SpeciesConstructor(O, defaultConstructor) -var anObject = _dereq_(16); -var aFunction = _dereq_(11); -var SPECIES = _dereq_(128)('species'); -module.exports = function (O, D) { - var C = anObject(O).constructor; - var S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); -}; - -},{"11":11,"128":128,"16":16}],104:[function(_dereq_,module,exports){ -'use strict'; -var fails = _dereq_(42); - -module.exports = function (method, arg) { - return !!method && fails(function () { - // eslint-disable-next-line no-useless-call - arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); - }); -}; - -},{"42":42}],105:[function(_dereq_,module,exports){ -var toInteger = _dereq_(115); -var defined = _dereq_(35); -// true -> String#at -// false -> String#codePointAt -module.exports = function (TO_STRING) { - return function (that, pos) { - var s = String(defined(that)); - var i = toInteger(pos); - var l = s.length; - var a, b; - if (i < 0 || i >= l) return TO_STRING ? '' : undefined; - a = s.charCodeAt(i); - return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff - ? TO_STRING ? s.charAt(i) : a - : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; - }; -}; - -},{"115":115,"35":35}],106:[function(_dereq_,module,exports){ -// helper for String#{startsWith, endsWith, includes} -var isRegExp = _dereq_(58); -var defined = _dereq_(35); - -module.exports = function (that, searchString, NAME) { - if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); - return String(defined(that)); -}; - -},{"35":35,"58":58}],107:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -var fails = _dereq_(42); -var defined = _dereq_(35); -var quot = /"/g; -// B.2.3.2.1 CreateHTML(string, tag, attribute, value) -var createHTML = function (string, tag, attribute, value) { - var S = String(defined(string)); - var p1 = '<' + tag; - if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; - return p1 + '>' + S + ''; -}; -module.exports = function (NAME, exec) { - var O = {}; - O[NAME] = exec(createHTML); - $export($export.P + $export.F * fails(function () { - var test = ''[NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }), 'String', O); -}; - -},{"35":35,"40":40,"42":42}],108:[function(_dereq_,module,exports){ -// https://github.com/tc39/proposal-string-pad-start-end -var toLength = _dereq_(117); -var repeat = _dereq_(109); -var defined = _dereq_(35); - -module.exports = function (that, maxLength, fillString, left) { - var S = String(defined(that)); - var stringLength = S.length; - var fillStr = fillString === undefined ? ' ' : String(fillString); - var intMaxLength = toLength(maxLength); - if (intMaxLength <= stringLength || fillStr == '') return S; - var fillLen = intMaxLength - stringLength; - var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); - if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); - return left ? stringFiller + S : S + stringFiller; -}; - -},{"109":109,"117":117,"35":35}],109:[function(_dereq_,module,exports){ -'use strict'; -var toInteger = _dereq_(115); -var defined = _dereq_(35); - -module.exports = function repeat(count) { - var str = String(defined(this)); - var res = ''; - var n = toInteger(count); - if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); - for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; - return res; -}; - -},{"115":115,"35":35}],110:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -var defined = _dereq_(35); -var fails = _dereq_(42); -var spaces = _dereq_(111); -var space = '[' + spaces + ']'; -var non = '\u200b\u0085'; -var ltrim = RegExp('^' + space + space + '*'); -var rtrim = RegExp(space + space + '*$'); - -var exporter = function (KEY, exec, ALIAS) { - var exp = {}; - var FORCE = fails(function () { - return !!spaces[KEY]() || non[KEY]() != non; - }); - var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; - if (ALIAS) exp[ALIAS] = fn; - $export($export.P + $export.F * FORCE, 'String', exp); -}; - -// 1 -> String#trimLeft -// 2 -> String#trimRight -// 3 -> String#trim -var trim = exporter.trim = function (string, TYPE) { - string = String(defined(string)); - if (TYPE & 1) string = string.replace(ltrim, ''); - if (TYPE & 2) string = string.replace(rtrim, ''); - return string; -}; - -module.exports = exporter; - -},{"111":111,"35":35,"40":40,"42":42}],111:[function(_dereq_,module,exports){ -module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; - -},{}],112:[function(_dereq_,module,exports){ -var ctx = _dereq_(32); -var invoke = _dereq_(52); -var html = _dereq_(49); -var cel = _dereq_(37); -var global = _dereq_(46); -var process = global.process; -var setTask = global.setImmediate; -var clearTask = global.clearImmediate; -var MessageChannel = global.MessageChannel; -var Dispatch = global.Dispatch; -var counter = 0; -var queue = {}; -var ONREADYSTATECHANGE = 'onreadystatechange'; -var defer, channel, port; -var run = function () { - var id = +this; - // eslint-disable-next-line no-prototype-builtins - if (queue.hasOwnProperty(id)) { - var fn = queue[id]; - delete queue[id]; - fn(); - } -}; -var listener = function (event) { - run.call(event.data); -}; -// Node.js 0.9+ & IE10+ has setImmediate, otherwise: -if (!setTask || !clearTask) { - setTask = function setImmediate(fn) { - var args = []; - var i = 1; - while (arguments.length > i) args.push(arguments[i++]); - queue[++counter] = function () { - // eslint-disable-next-line no-new-func - invoke(typeof fn == 'function' ? fn : Function(fn), args); - }; - defer(counter); - return counter; - }; - clearTask = function clearImmediate(id) { - delete queue[id]; - }; - // Node.js 0.8- - if (_dereq_(26)(process) == 'process') { - defer = function (id) { - process.nextTick(ctx(run, id, 1)); - }; - // Sphere (JS game engine) Dispatch API - } else if (Dispatch && Dispatch.now) { - defer = function (id) { - Dispatch.now(ctx(run, id, 1)); - }; - // Browsers with MessageChannel, includes WebWorkers - } else if (MessageChannel) { - channel = new MessageChannel(); - port = channel.port2; - channel.port1.onmessage = listener; - defer = ctx(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { - defer = function (id) { - global.postMessage(id + '', '*'); - }; - global.addEventListener('message', listener, false); - // IE8- - } else if (ONREADYSTATECHANGE in cel('script')) { - defer = function (id) { - html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { - html.removeChild(this); - run.call(id); - }; - }; - // Rest old browsers - } else { - defer = function (id) { - setTimeout(ctx(run, id, 1), 0); - }; - } -} -module.exports = { - set: setTask, - clear: clearTask -}; - -},{"26":26,"32":32,"37":37,"46":46,"49":49,"52":52}],113:[function(_dereq_,module,exports){ -var toInteger = _dereq_(115); -var max = Math.max; -var min = Math.min; -module.exports = function (index, length) { - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); -}; - -},{"115":115}],114:[function(_dereq_,module,exports){ -// https://tc39.github.io/ecma262/#sec-toindex -var toInteger = _dereq_(115); -var toLength = _dereq_(117); -module.exports = function (it) { - if (it === undefined) return 0; - var number = toInteger(it); - var length = toLength(number); - if (number !== length) throw RangeError('Wrong length!'); - return length; -}; - -},{"115":115,"117":117}],115:[function(_dereq_,module,exports){ -// 7.1.4 ToInteger -var ceil = Math.ceil; -var floor = Math.floor; -module.exports = function (it) { - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; - -},{}],116:[function(_dereq_,module,exports){ -// to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = _dereq_(53); -var defined = _dereq_(35); -module.exports = function (it) { - return IObject(defined(it)); -}; - -},{"35":35,"53":53}],117:[function(_dereq_,module,exports){ -// 7.1.15 ToLength -var toInteger = _dereq_(115); -var min = Math.min; -module.exports = function (it) { - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 -}; - -},{"115":115}],118:[function(_dereq_,module,exports){ -// 7.1.13 ToObject(argument) -var defined = _dereq_(35); -module.exports = function (it) { - return Object(defined(it)); -}; - -},{"35":35}],119:[function(_dereq_,module,exports){ -// 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = _dereq_(57); -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (it, S) { - if (!isObject(it)) return it; - var fn, val; - if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; - if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - -},{"57":57}],120:[function(_dereq_,module,exports){ -'use strict'; -if (_dereq_(36)) { - var LIBRARY = _dereq_(65); - var global = _dereq_(46); - var fails = _dereq_(42); - var $export = _dereq_(40); - var $typed = _dereq_(122); - var $buffer = _dereq_(121); - var ctx = _dereq_(32); - var anInstance = _dereq_(15); - var propertyDesc = _dereq_(92); - var hide = _dereq_(48); - var redefineAll = _dereq_(93); - var toInteger = _dereq_(115); - var toLength = _dereq_(117); - var toIndex = _dereq_(114); - var toAbsoluteIndex = _dereq_(113); - var toPrimitive = _dereq_(119); - var has = _dereq_(47); - var classof = _dereq_(25); - var isObject = _dereq_(57); - var toObject = _dereq_(118); - var isArrayIter = _dereq_(54); - var create = _dereq_(74); - var getPrototypeOf = _dereq_(81); - var gOPN = _dereq_(79).f; - var getIterFn = _dereq_(129); - var uid = _dereq_(123); - var wks = _dereq_(128); - var createArrayMethod = _dereq_(20); - var createArrayIncludes = _dereq_(19); - var speciesConstructor = _dereq_(103); - var ArrayIterators = _dereq_(140); - var Iterators = _dereq_(64); - var $iterDetect = _dereq_(62); - var setSpecies = _dereq_(99); - var arrayFill = _dereq_(18); - var arrayCopyWithin = _dereq_(17); - var $DP = _dereq_(75); - var $GOPD = _dereq_(77); - var dP = $DP.f; - var gOPD = $GOPD.f; - var RangeError = global.RangeError; - var TypeError = global.TypeError; - var Uint8Array = global.Uint8Array; - var ARRAY_BUFFER = 'ArrayBuffer'; - var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; - var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; - var PROTOTYPE = 'prototype'; - var ArrayProto = Array[PROTOTYPE]; - var $ArrayBuffer = $buffer.ArrayBuffer; - var $DataView = $buffer.DataView; - var arrayForEach = createArrayMethod(0); - var arrayFilter = createArrayMethod(2); - var arraySome = createArrayMethod(3); - var arrayEvery = createArrayMethod(4); - var arrayFind = createArrayMethod(5); - var arrayFindIndex = createArrayMethod(6); - var arrayIncludes = createArrayIncludes(true); - var arrayIndexOf = createArrayIncludes(false); - var arrayValues = ArrayIterators.values; - var arrayKeys = ArrayIterators.keys; - var arrayEntries = ArrayIterators.entries; - var arrayLastIndexOf = ArrayProto.lastIndexOf; - var arrayReduce = ArrayProto.reduce; - var arrayReduceRight = ArrayProto.reduceRight; - var arrayJoin = ArrayProto.join; - var arraySort = ArrayProto.sort; - var arraySlice = ArrayProto.slice; - var arrayToString = ArrayProto.toString; - var arrayToLocaleString = ArrayProto.toLocaleString; - var ITERATOR = wks('iterator'); - var TAG = wks('toStringTag'); - var TYPED_CONSTRUCTOR = uid('typed_constructor'); - var DEF_CONSTRUCTOR = uid('def_constructor'); - var ALL_CONSTRUCTORS = $typed.CONSTR; - var TYPED_ARRAY = $typed.TYPED; - var VIEW = $typed.VIEW; - var WRONG_LENGTH = 'Wrong length!'; - - var $map = createArrayMethod(1, function (O, length) { - return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); - }); - - var LITTLE_ENDIAN = fails(function () { - // eslint-disable-next-line no-undef - return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; - }); - - var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { - new Uint8Array(1).set({}); - }); - - var toOffset = function (it, BYTES) { - var offset = toInteger(it); - if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); - return offset; - }; - - var validate = function (it) { - if (isObject(it) && TYPED_ARRAY in it) return it; - throw TypeError(it + ' is not a typed array!'); - }; - - var allocate = function (C, length) { - if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { - throw TypeError('It is not a typed array constructor!'); - } return new C(length); - }; - - var speciesFromList = function (O, list) { - return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); - }; - - var fromList = function (C, list) { - var index = 0; - var length = list.length; - var result = allocate(C, length); - while (length > index) result[index] = list[index++]; - return result; - }; - - var addGetter = function (it, key, internal) { - dP(it, key, { get: function () { return this._d[internal]; } }); - }; - - var $from = function from(source /* , mapfn, thisArg */) { - var O = toObject(source); - var aLen = arguments.length; - var mapfn = aLen > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var iterFn = getIterFn(O); - var i, length, values, result, step, iterator; - if (iterFn != undefined && !isArrayIter(iterFn)) { - for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { - values.push(step.value); - } O = values; - } - if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); - for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { - result[i] = mapping ? mapfn(O[i], i) : O[i]; - } - return result; - }; - - var $of = function of(/* ...items */) { - var index = 0; - var length = arguments.length; - var result = allocate(this, length); - while (length > index) result[index] = arguments[index++]; - return result; - }; - - // iOS Safari 6.x fails here - var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); - - var $toLocaleString = function toLocaleString() { - return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); - }; - - var proto = { - copyWithin: function copyWithin(target, start /* , end */) { - return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); - }, - every: function every(callbackfn /* , thisArg */) { - return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars - return arrayFill.apply(validate(this), arguments); - }, - filter: function filter(callbackfn /* , thisArg */) { - return speciesFromList(this, arrayFilter(validate(this), callbackfn, - arguments.length > 1 ? arguments[1] : undefined)); - }, - find: function find(predicate /* , thisArg */) { - return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - findIndex: function findIndex(predicate /* , thisArg */) { - return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - forEach: function forEach(callbackfn /* , thisArg */) { - arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - indexOf: function indexOf(searchElement /* , fromIndex */) { - return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - includes: function includes(searchElement /* , fromIndex */) { - return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - join: function join(separator) { // eslint-disable-line no-unused-vars - return arrayJoin.apply(validate(this), arguments); - }, - lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars - return arrayLastIndexOf.apply(validate(this), arguments); - }, - map: function map(mapfn /* , thisArg */) { - return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); - }, - reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars - return arrayReduce.apply(validate(this), arguments); - }, - reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars - return arrayReduceRight.apply(validate(this), arguments); - }, - reverse: function reverse() { - var that = this; - var length = validate(that).length; - var middle = Math.floor(length / 2); - var index = 0; - var value; - while (index < middle) { - value = that[index]; - that[index++] = that[--length]; - that[length] = value; - } return that; - }, - some: function some(callbackfn /* , thisArg */) { - return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - sort: function sort(comparefn) { - return arraySort.call(validate(this), comparefn); - }, - subarray: function subarray(begin, end) { - var O = validate(this); - var length = O.length; - var $begin = toAbsoluteIndex(begin, length); - return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( - O.buffer, - O.byteOffset + $begin * O.BYTES_PER_ELEMENT, - toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) - ); - } - }; - - var $slice = function slice(start, end) { - return speciesFromList(this, arraySlice.call(validate(this), start, end)); - }; - - var $set = function set(arrayLike /* , offset */) { - validate(this); - var offset = toOffset(arguments[1], 1); - var length = this.length; - var src = toObject(arrayLike); - var len = toLength(src.length); - var index = 0; - if (len + offset > length) throw RangeError(WRONG_LENGTH); - while (index < len) this[offset + index] = src[index++]; - }; - - var $iterators = { - entries: function entries() { - return arrayEntries.call(validate(this)); - }, - keys: function keys() { - return arrayKeys.call(validate(this)); - }, - values: function values() { - return arrayValues.call(validate(this)); - } - }; - - var isTAIndex = function (target, key) { - return isObject(target) - && target[TYPED_ARRAY] - && typeof key != 'symbol' - && key in target - && String(+key) == String(key); - }; - var $getDesc = function getOwnPropertyDescriptor(target, key) { - return isTAIndex(target, key = toPrimitive(key, true)) - ? propertyDesc(2, target[key]) - : gOPD(target, key); - }; - var $setDesc = function defineProperty(target, key, desc) { - if (isTAIndex(target, key = toPrimitive(key, true)) - && isObject(desc) - && has(desc, 'value') - && !has(desc, 'get') - && !has(desc, 'set') - // TODO: add validation descriptor w/o calling accessors - && !desc.configurable - && (!has(desc, 'writable') || desc.writable) - && (!has(desc, 'enumerable') || desc.enumerable) - ) { - target[key] = desc.value; - return target; - } return dP(target, key, desc); - }; - - if (!ALL_CONSTRUCTORS) { - $GOPD.f = $getDesc; - $DP.f = $setDesc; - } - - $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { - getOwnPropertyDescriptor: $getDesc, - defineProperty: $setDesc - }); - - if (fails(function () { arrayToString.call({}); })) { - arrayToString = arrayToLocaleString = function toString() { - return arrayJoin.call(this); - }; - } - - var $TypedArrayPrototype$ = redefineAll({}, proto); - redefineAll($TypedArrayPrototype$, $iterators); - hide($TypedArrayPrototype$, ITERATOR, $iterators.values); - redefineAll($TypedArrayPrototype$, { - slice: $slice, - set: $set, - constructor: function () { /* noop */ }, - toString: arrayToString, - toLocaleString: $toLocaleString - }); - addGetter($TypedArrayPrototype$, 'buffer', 'b'); - addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); - addGetter($TypedArrayPrototype$, 'byteLength', 'l'); - addGetter($TypedArrayPrototype$, 'length', 'e'); - dP($TypedArrayPrototype$, TAG, { - get: function () { return this[TYPED_ARRAY]; } - }); - - // eslint-disable-next-line max-statements - module.exports = function (KEY, BYTES, wrapper, CLAMPED) { - CLAMPED = !!CLAMPED; - var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; - var GETTER = 'get' + KEY; - var SETTER = 'set' + KEY; - var TypedArray = global[NAME]; - var Base = TypedArray || {}; - var TAC = TypedArray && getPrototypeOf(TypedArray); - var FORCED = !TypedArray || !$typed.ABV; - var O = {}; - var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; - var getter = function (that, index) { - var data = that._d; - return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); - }; - var setter = function (that, index, value) { - var data = that._d; - if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; - data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); - }; - var addElement = function (that, index) { - dP(that, index, { - get: function () { - return getter(this, index); - }, - set: function (value) { - return setter(this, index, value); - }, - enumerable: true - }); - }; - if (FORCED) { - TypedArray = wrapper(function (that, data, $offset, $length) { - anInstance(that, TypedArray, NAME, '_d'); - var index = 0; - var offset = 0; - var buffer, byteLength, length, klass; - if (!isObject(data)) { - length = toIndex(data); - byteLength = length * BYTES; - buffer = new $ArrayBuffer(byteLength); - } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { - buffer = data; - offset = toOffset($offset, BYTES); - var $len = data.byteLength; - if ($length === undefined) { - if ($len % BYTES) throw RangeError(WRONG_LENGTH); - byteLength = $len - offset; - if (byteLength < 0) throw RangeError(WRONG_LENGTH); - } else { - byteLength = toLength($length) * BYTES; - if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); - } - length = byteLength / BYTES; - } else if (TYPED_ARRAY in data) { - return fromList(TypedArray, data); - } else { - return $from.call(TypedArray, data); - } - hide(that, '_d', { - b: buffer, - o: offset, - l: byteLength, - e: length, - v: new $DataView(buffer) - }); - while (index < length) addElement(that, index++); - }); - TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); - hide(TypedArrayPrototype, 'constructor', TypedArray); - } else if (!fails(function () { - TypedArray(1); - }) || !fails(function () { - new TypedArray(-1); // eslint-disable-line no-new - }) || !$iterDetect(function (iter) { - new TypedArray(); // eslint-disable-line no-new - new TypedArray(null); // eslint-disable-line no-new - new TypedArray(1.5); // eslint-disable-line no-new - new TypedArray(iter); // eslint-disable-line no-new - }, true)) { - TypedArray = wrapper(function (that, data, $offset, $length) { - anInstance(that, TypedArray, NAME); - var klass; - // `ws` module bug, temporarily remove validation length for Uint8Array - // https://github.com/websockets/ws/pull/645 - if (!isObject(data)) return new Base(toIndex(data)); - if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { - return $length !== undefined - ? new Base(data, toOffset($offset, BYTES), $length) - : $offset !== undefined - ? new Base(data, toOffset($offset, BYTES)) - : new Base(data); - } - if (TYPED_ARRAY in data) return fromList(TypedArray, data); - return $from.call(TypedArray, data); - }); - arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { - if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); - }); - TypedArray[PROTOTYPE] = TypedArrayPrototype; - if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; - } - var $nativeIterator = TypedArrayPrototype[ITERATOR]; - var CORRECT_ITER_NAME = !!$nativeIterator - && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); - var $iterator = $iterators.values; - hide(TypedArray, TYPED_CONSTRUCTOR, true); - hide(TypedArrayPrototype, TYPED_ARRAY, NAME); - hide(TypedArrayPrototype, VIEW, true); - hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); - - if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { - dP(TypedArrayPrototype, TAG, { - get: function () { return NAME; } - }); - } - - O[NAME] = TypedArray; - - $export($export.G + $export.W + $export.F * (TypedArray != Base), O); - - $export($export.S, NAME, { - BYTES_PER_ELEMENT: BYTES - }); - - $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { - from: $from, - of: $of - }); - - if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); - - $export($export.P, NAME, proto); - - setSpecies(NAME); - - $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); - - $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); - - if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; - - $export($export.P + $export.F * fails(function () { - new TypedArray(1).slice(); - }), NAME, { slice: $slice }); - - $export($export.P + $export.F * (fails(function () { - return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); - }) || !fails(function () { - TypedArrayPrototype.toLocaleString.call([1, 2]); - })), NAME, { toLocaleString: $toLocaleString }); - - Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; - if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); - }; -} else module.exports = function () { /* empty */ }; - -},{"103":103,"113":113,"114":114,"115":115,"117":117,"118":118,"119":119,"121":121,"122":122,"123":123,"128":128,"129":129,"140":140,"15":15,"17":17,"18":18,"19":19,"20":20,"25":25,"32":32,"36":36,"40":40,"42":42,"46":46,"47":47,"48":48,"54":54,"57":57,"62":62,"64":64,"65":65,"74":74,"75":75,"77":77,"79":79,"81":81,"92":92,"93":93,"99":99}],121:[function(_dereq_,module,exports){ -'use strict'; -var global = _dereq_(46); -var DESCRIPTORS = _dereq_(36); -var LIBRARY = _dereq_(65); -var $typed = _dereq_(122); -var hide = _dereq_(48); -var redefineAll = _dereq_(93); -var fails = _dereq_(42); -var anInstance = _dereq_(15); -var toInteger = _dereq_(115); -var toLength = _dereq_(117); -var toIndex = _dereq_(114); -var gOPN = _dereq_(79).f; -var dP = _dereq_(75).f; -var arrayFill = _dereq_(18); -var setToStringTag = _dereq_(100); -var ARRAY_BUFFER = 'ArrayBuffer'; -var DATA_VIEW = 'DataView'; -var PROTOTYPE = 'prototype'; -var WRONG_LENGTH = 'Wrong length!'; -var WRONG_INDEX = 'Wrong index!'; -var $ArrayBuffer = global[ARRAY_BUFFER]; -var $DataView = global[DATA_VIEW]; -var Math = global.Math; -var RangeError = global.RangeError; -// eslint-disable-next-line no-shadow-restricted-names -var Infinity = global.Infinity; -var BaseBuffer = $ArrayBuffer; -var abs = Math.abs; -var pow = Math.pow; -var floor = Math.floor; -var log = Math.log; -var LN2 = Math.LN2; -var BUFFER = 'buffer'; -var BYTE_LENGTH = 'byteLength'; -var BYTE_OFFSET = 'byteOffset'; -var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; -var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; -var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; - -// IEEE754 conversions based on https://github.com/feross/ieee754 -function packIEEE754(value, mLen, nBytes) { - var buffer = new Array(nBytes); - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; - var i = 0; - var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; - var e, m, c; - value = abs(value); - // eslint-disable-next-line no-self-compare - if (value != value || value === Infinity) { - // eslint-disable-next-line no-self-compare - m = value != value ? 1 : 0; - e = eMax; - } else { - e = floor(log(value) / LN2); - if (value * (c = pow(2, -e)) < 1) { - e--; - c *= 2; - } - if (e + eBias >= 1) { - value += rt / c; - } else { - value += rt * pow(2, 1 - eBias); - } - if (value * c >= 2) { - e++; - c /= 2; - } - if (e + eBias >= eMax) { - m = 0; - e = eMax; - } else if (e + eBias >= 1) { - m = (value * c - 1) * pow(2, mLen); - e = e + eBias; - } else { - m = value * pow(2, eBias - 1) * pow(2, mLen); - e = 0; - } - } - for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); - e = e << mLen | m; - eLen += mLen; - for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); - buffer[--i] |= s * 128; - return buffer; -} -function unpackIEEE754(buffer, mLen, nBytes) { - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var nBits = eLen - 7; - var i = nBytes - 1; - var s = buffer[i--]; - var e = s & 127; - var m; - s >>= 7; - for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); - m = e & (1 << -nBits) - 1; - e >>= -nBits; - nBits += mLen; - for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); - if (e === 0) { - e = 1 - eBias; - } else if (e === eMax) { - return m ? NaN : s ? -Infinity : Infinity; - } else { - m = m + pow(2, mLen); - e = e - eBias; - } return (s ? -1 : 1) * m * pow(2, e - mLen); -} - -function unpackI32(bytes) { - return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; -} -function packI8(it) { - return [it & 0xff]; -} -function packI16(it) { - return [it & 0xff, it >> 8 & 0xff]; -} -function packI32(it) { - return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; -} -function packF64(it) { - return packIEEE754(it, 52, 8); -} -function packF32(it) { - return packIEEE754(it, 23, 4); -} - -function addGetter(C, key, internal) { - dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); -} - -function get(view, bytes, index, isLittleEndian) { - var numIndex = +index; - var intIndex = toIndex(numIndex); - if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b; - var start = intIndex + view[$OFFSET]; - var pack = store.slice(start, start + bytes); - return isLittleEndian ? pack : pack.reverse(); -} -function set(view, bytes, index, conversion, value, isLittleEndian) { - var numIndex = +index; - var intIndex = toIndex(numIndex); - if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); - var store = view[$BUFFER]._b; - var start = intIndex + view[$OFFSET]; - var pack = conversion(+value); - for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; -} - -if (!$typed.ABV) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer, ARRAY_BUFFER); - var byteLength = toIndex(length); - this._b = arrayFill.call(new Array(byteLength), 0); - this[$LENGTH] = byteLength; - }; - - $DataView = function DataView(buffer, byteOffset, byteLength) { - anInstance(this, $DataView, DATA_VIEW); - anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = buffer[$LENGTH]; - var offset = toInteger(byteOffset); - if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); - byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); - this[$BUFFER] = buffer; - this[$OFFSET] = offset; - this[$LENGTH] = byteLength; - }; - - if (DESCRIPTORS) { - addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); - addGetter($DataView, BUFFER, '_b'); - addGetter($DataView, BYTE_LENGTH, '_l'); - addGetter($DataView, BYTE_OFFSET, '_o'); - } - - redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset) { - return get(this, 1, byteOffset)[0] << 24 >> 24; - }, - getUint8: function getUint8(byteOffset) { - return get(this, 1, byteOffset)[0]; - }, - getInt16: function getInt16(byteOffset /* , littleEndian */) { - var bytes = get(this, 2, byteOffset, arguments[1]); - return (bytes[1] << 8 | bytes[0]) << 16 >> 16; - }, - getUint16: function getUint16(byteOffset /* , littleEndian */) { - var bytes = get(this, 2, byteOffset, arguments[1]); - return bytes[1] << 8 | bytes[0]; - }, - getInt32: function getInt32(byteOffset /* , littleEndian */) { - return unpackI32(get(this, 4, byteOffset, arguments[1])); - }, - getUint32: function getUint32(byteOffset /* , littleEndian */) { - return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; - }, - getFloat32: function getFloat32(byteOffset /* , littleEndian */) { - return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); - }, - getFloat64: function getFloat64(byteOffset /* , littleEndian */) { - return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); - }, - setInt8: function setInt8(byteOffset, value) { - set(this, 1, byteOffset, packI8, value); - }, - setUint8: function setUint8(byteOffset, value) { - set(this, 1, byteOffset, packI8, value); - }, - setInt16: function setInt16(byteOffset, value /* , littleEndian */) { - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setUint16: function setUint16(byteOffset, value /* , littleEndian */) { - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setInt32: function setInt32(byteOffset, value /* , littleEndian */) { - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setUint32: function setUint32(byteOffset, value /* , littleEndian */) { - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { - set(this, 4, byteOffset, packF32, value, arguments[2]); - }, - setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { - set(this, 8, byteOffset, packF64, value, arguments[2]); - } - }); -} else { - if (!fails(function () { - $ArrayBuffer(1); - }) || !fails(function () { - new $ArrayBuffer(-1); // eslint-disable-line no-new - }) || fails(function () { - new $ArrayBuffer(); // eslint-disable-line no-new - new $ArrayBuffer(1.5); // eslint-disable-line no-new - new $ArrayBuffer(NaN); // eslint-disable-line no-new - return $ArrayBuffer.name != ARRAY_BUFFER; - })) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer); - return new BaseBuffer(toIndex(length)); - }; - var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; - for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { - if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); - } - if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; - } - // iOS Safari 7.x bug - var view = new $DataView(new $ArrayBuffer(2)); - var $setInt8 = $DataView[PROTOTYPE].setInt8; - view.setInt8(0, 2147483648); - view.setInt8(1, 2147483649); - if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { - setInt8: function setInt8(byteOffset, value) { - $setInt8.call(this, byteOffset, value << 24 >> 24); - }, - setUint8: function setUint8(byteOffset, value) { - $setInt8.call(this, byteOffset, value << 24 >> 24); - } - }, true); -} -setToStringTag($ArrayBuffer, ARRAY_BUFFER); -setToStringTag($DataView, DATA_VIEW); -hide($DataView[PROTOTYPE], $typed.VIEW, true); -exports[ARRAY_BUFFER] = $ArrayBuffer; -exports[DATA_VIEW] = $DataView; - -},{"100":100,"114":114,"115":115,"117":117,"122":122,"15":15,"18":18,"36":36,"42":42,"46":46,"48":48,"65":65,"75":75,"79":79,"93":93}],122:[function(_dereq_,module,exports){ -var global = _dereq_(46); -var hide = _dereq_(48); -var uid = _dereq_(123); -var TYPED = uid('typed_array'); -var VIEW = uid('view'); -var ABV = !!(global.ArrayBuffer && global.DataView); -var CONSTR = ABV; -var i = 0; -var l = 9; -var Typed; - -var TypedArrayConstructors = ( - 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' -).split(','); - -while (i < l) { - if (Typed = global[TypedArrayConstructors[i++]]) { - hide(Typed.prototype, TYPED, true); - hide(Typed.prototype, VIEW, true); - } else CONSTR = false; -} - -module.exports = { - ABV: ABV, - CONSTR: CONSTR, - TYPED: TYPED, - VIEW: VIEW -}; - -},{"123":123,"46":46,"48":48}],123:[function(_dereq_,module,exports){ -var id = 0; -var px = Math.random(); -module.exports = function (key) { - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); -}; - -},{}],124:[function(_dereq_,module,exports){ -var global = _dereq_(46); -var navigator = global.navigator; - -module.exports = navigator && navigator.userAgent || ''; - -},{"46":46}],125:[function(_dereq_,module,exports){ -var isObject = _dereq_(57); -module.exports = function (it, TYPE) { - if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); - return it; -}; - -},{"57":57}],126:[function(_dereq_,module,exports){ -var global = _dereq_(46); -var core = _dereq_(30); -var LIBRARY = _dereq_(65); -var wksExt = _dereq_(127); -var defineProperty = _dereq_(75).f; -module.exports = function (name) { - var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); - if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); -}; - -},{"127":127,"30":30,"46":46,"65":65,"75":75}],127:[function(_dereq_,module,exports){ -exports.f = _dereq_(128); - -},{"128":128}],128:[function(_dereq_,module,exports){ -var store = _dereq_(102)('wks'); -var uid = _dereq_(123); -var Symbol = _dereq_(46).Symbol; -var USE_SYMBOL = typeof Symbol == 'function'; - -var $exports = module.exports = function (name) { - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); -}; - -$exports.store = store; - -},{"102":102,"123":123,"46":46}],129:[function(_dereq_,module,exports){ -var classof = _dereq_(25); -var ITERATOR = _dereq_(128)('iterator'); -var Iterators = _dereq_(64); -module.exports = _dereq_(30).getIteratorMethod = function (it) { - if (it != undefined) return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; -}; - -},{"128":128,"25":25,"30":30,"64":64}],130:[function(_dereq_,module,exports){ -// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) -var $export = _dereq_(40); - -$export($export.P, 'Array', { copyWithin: _dereq_(17) }); - -_dereq_(13)('copyWithin'); - -},{"13":13,"17":17,"40":40}],131:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $every = _dereq_(20)(4); - -$export($export.P + $export.F * !_dereq_(104)([].every, true), 'Array', { - // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) - every: function every(callbackfn /* , thisArg */) { - return $every(this, callbackfn, arguments[1]); - } -}); - -},{"104":104,"20":20,"40":40}],132:[function(_dereq_,module,exports){ -// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) -var $export = _dereq_(40); - -$export($export.P, 'Array', { fill: _dereq_(18) }); - -_dereq_(13)('fill'); - -},{"13":13,"18":18,"40":40}],133:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $filter = _dereq_(20)(2); - -$export($export.P + $export.F * !_dereq_(104)([].filter, true), 'Array', { - // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: function filter(callbackfn /* , thisArg */) { - return $filter(this, callbackfn, arguments[1]); - } -}); - -},{"104":104,"20":20,"40":40}],134:[function(_dereq_,module,exports){ -'use strict'; -// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) -var $export = _dereq_(40); -var $find = _dereq_(20)(6); -var KEY = 'findIndex'; -var forced = true; -// Shouldn't skip holes -if (KEY in []) Array(1)[KEY](function () { forced = false; }); -$export($export.P + $export.F * forced, 'Array', { - findIndex: function findIndex(callbackfn /* , that = undefined */) { - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); -_dereq_(13)(KEY); - -},{"13":13,"20":20,"40":40}],135:[function(_dereq_,module,exports){ -'use strict'; -// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) -var $export = _dereq_(40); -var $find = _dereq_(20)(5); -var KEY = 'find'; -var forced = true; -// Shouldn't skip holes -if (KEY in []) Array(1)[KEY](function () { forced = false; }); -$export($export.P + $export.F * forced, 'Array', { - find: function find(callbackfn /* , that = undefined */) { - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); -_dereq_(13)(KEY); - -},{"13":13,"20":20,"40":40}],136:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $forEach = _dereq_(20)(0); -var STRICT = _dereq_(104)([].forEach, true); - -$export($export.P + $export.F * !STRICT, 'Array', { - // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: function forEach(callbackfn /* , thisArg */) { - return $forEach(this, callbackfn, arguments[1]); - } -}); - -},{"104":104,"20":20,"40":40}],137:[function(_dereq_,module,exports){ -'use strict'; -var ctx = _dereq_(32); -var $export = _dereq_(40); -var toObject = _dereq_(118); -var call = _dereq_(59); -var isArrayIter = _dereq_(54); -var toLength = _dereq_(117); -var createProperty = _dereq_(31); -var getIterFn = _dereq_(129); - -$export($export.S + $export.F * !_dereq_(62)(function (iter) { Array.from(iter); }), 'Array', { - // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) - from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { - var O = toObject(arrayLike); - var C = typeof this == 'function' ? this : Array; - var aLen = arguments.length; - var mapfn = aLen > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var index = 0; - var iterFn = getIterFn(O); - var length, result, step, iterator; - if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); - // if object isn't iterable or it's array with default iterator - use simple case - if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { - for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { - createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); - } - } else { - length = toLength(O.length); - for (result = new C(length); length > index; index++) { - createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); - } - } - result.length = index; - return result; - } -}); - -},{"117":117,"118":118,"129":129,"31":31,"32":32,"40":40,"54":54,"59":59,"62":62}],138:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $indexOf = _dereq_(19)(false); -var $native = [].indexOf; -var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; - -$export($export.P + $export.F * (NEGATIVE_ZERO || !_dereq_(104)($native)), 'Array', { - // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) - indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { - return NEGATIVE_ZERO - // convert -0 to +0 - ? $native.apply(this, arguments) || 0 - : $indexOf(this, searchElement, arguments[1]); - } -}); - -},{"104":104,"19":19,"40":40}],139:[function(_dereq_,module,exports){ -// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) -var $export = _dereq_(40); - -$export($export.S, 'Array', { isArray: _dereq_(55) }); - -},{"40":40,"55":55}],140:[function(_dereq_,module,exports){ -'use strict'; -var addToUnscopables = _dereq_(13); -var step = _dereq_(63); -var Iterators = _dereq_(64); -var toIObject = _dereq_(116); - -// 22.1.3.4 Array.prototype.entries() -// 22.1.3.13 Array.prototype.keys() -// 22.1.3.29 Array.prototype.values() -// 22.1.3.30 Array.prototype[@@iterator]() -module.exports = _dereq_(61)(Array, 'Array', function (iterated, kind) { - this._t = toIObject(iterated); // target - this._i = 0; // next index - this._k = kind; // kind -// 22.1.5.2.1 %ArrayIteratorPrototype%.next() -}, function () { - var O = this._t; - var kind = this._k; - var index = this._i++; - if (!O || index >= O.length) { - this._t = undefined; - return step(1); - } - if (kind == 'keys') return step(0, index); - if (kind == 'values') return step(0, O[index]); - return step(0, [index, O[index]]); -}, 'values'); - -// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) -Iterators.Arguments = Iterators.Array; - -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); - -},{"116":116,"13":13,"61":61,"63":63,"64":64}],141:[function(_dereq_,module,exports){ -'use strict'; -// 22.1.3.13 Array.prototype.join(separator) -var $export = _dereq_(40); -var toIObject = _dereq_(116); -var arrayJoin = [].join; - -// fallback for not array-like strings -$export($export.P + $export.F * (_dereq_(53) != Object || !_dereq_(104)(arrayJoin)), 'Array', { - join: function join(separator) { - return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); - } -}); - -},{"104":104,"116":116,"40":40,"53":53}],142:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var toIObject = _dereq_(116); -var toInteger = _dereq_(115); -var toLength = _dereq_(117); -var $native = [].lastIndexOf; -var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; - -$export($export.P + $export.F * (NEGATIVE_ZERO || !_dereq_(104)($native)), 'Array', { - // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) - lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { - // convert -0 to +0 - if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; - var O = toIObject(this); - var length = toLength(O.length); - var index = length - 1; - if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); - if (index < 0) index = length + index; - for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; - return -1; - } -}); - -},{"104":104,"115":115,"116":116,"117":117,"40":40}],143:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $map = _dereq_(20)(1); - -$export($export.P + $export.F * !_dereq_(104)([].map, true), 'Array', { - // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: function map(callbackfn /* , thisArg */) { - return $map(this, callbackfn, arguments[1]); - } -}); - -},{"104":104,"20":20,"40":40}],144:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var createProperty = _dereq_(31); - -// WebKit Array.of isn't generic -$export($export.S + $export.F * _dereq_(42)(function () { - function F() { /* empty */ } - return !(Array.of.call(F) instanceof F); -}), 'Array', { - // 22.1.2.3 Array.of( ...items) - of: function of(/* ...args */) { - var index = 0; - var aLen = arguments.length; - var result = new (typeof this == 'function' ? this : Array)(aLen); - while (aLen > index) createProperty(result, index, arguments[index++]); - result.length = aLen; - return result; - } -}); - -},{"31":31,"40":40,"42":42}],145:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $reduce = _dereq_(21); - -$export($export.P + $export.F * !_dereq_(104)([].reduceRight, true), 'Array', { - // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) - reduceRight: function reduceRight(callbackfn /* , initialValue */) { - return $reduce(this, callbackfn, arguments.length, arguments[1], true); - } -}); - -},{"104":104,"21":21,"40":40}],146:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $reduce = _dereq_(21); - -$export($export.P + $export.F * !_dereq_(104)([].reduce, true), 'Array', { - // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) - reduce: function reduce(callbackfn /* , initialValue */) { - return $reduce(this, callbackfn, arguments.length, arguments[1], false); - } -}); - -},{"104":104,"21":21,"40":40}],147:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var html = _dereq_(49); -var cof = _dereq_(26); -var toAbsoluteIndex = _dereq_(113); -var toLength = _dereq_(117); -var arraySlice = [].slice; - -// fallback for not array-like ES3 strings and DOM objects -$export($export.P + $export.F * _dereq_(42)(function () { - if (html) arraySlice.call(html); -}), 'Array', { - slice: function slice(begin, end) { - var len = toLength(this.length); - var klass = cof(this); - end = end === undefined ? len : end; - if (klass == 'Array') return arraySlice.call(this, begin, end); - var start = toAbsoluteIndex(begin, len); - var upTo = toAbsoluteIndex(end, len); - var size = toLength(upTo - start); - var cloned = new Array(size); - var i = 0; - for (; i < size; i++) cloned[i] = klass == 'String' - ? this.charAt(start + i) - : this[start + i]; - return cloned; - } -}); - -},{"113":113,"117":117,"26":26,"40":40,"42":42,"49":49}],148:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $some = _dereq_(20)(3); - -$export($export.P + $export.F * !_dereq_(104)([].some, true), 'Array', { - // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: function some(callbackfn /* , thisArg */) { - return $some(this, callbackfn, arguments[1]); - } -}); - -},{"104":104,"20":20,"40":40}],149:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var aFunction = _dereq_(11); -var toObject = _dereq_(118); -var fails = _dereq_(42); -var $sort = [].sort; -var test = [1, 2, 3]; - -$export($export.P + $export.F * (fails(function () { - // IE8- - test.sort(undefined); -}) || !fails(function () { - // V8 bug - test.sort(null); - // Old WebKit -}) || !_dereq_(104)($sort)), 'Array', { - // 22.1.3.25 Array.prototype.sort(comparefn) - sort: function sort(comparefn) { - return comparefn === undefined - ? $sort.call(toObject(this)) - : $sort.call(toObject(this), aFunction(comparefn)); - } -}); - -},{"104":104,"11":11,"118":118,"40":40,"42":42}],150:[function(_dereq_,module,exports){ -_dereq_(99)('Array'); - -},{"99":99}],151:[function(_dereq_,module,exports){ -// 20.3.3.1 / 15.9.4.4 Date.now() -var $export = _dereq_(40); - -$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); - -},{"40":40}],152:[function(_dereq_,module,exports){ -// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() -var $export = _dereq_(40); -var toISOString = _dereq_(33); - -// PhantomJS / old WebKit has a broken implementations -$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { - toISOString: toISOString -}); - -},{"33":33,"40":40}],153:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var toObject = _dereq_(118); -var toPrimitive = _dereq_(119); - -$export($export.P + $export.F * _dereq_(42)(function () { - return new Date(NaN).toJSON() !== null - || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; -}), 'Date', { - // eslint-disable-next-line no-unused-vars - toJSON: function toJSON(key) { - var O = toObject(this); - var pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); - } -}); - -},{"118":118,"119":119,"40":40,"42":42}],154:[function(_dereq_,module,exports){ -var TO_PRIMITIVE = _dereq_(128)('toPrimitive'); -var proto = Date.prototype; - -if (!(TO_PRIMITIVE in proto)) _dereq_(48)(proto, TO_PRIMITIVE, _dereq_(34)); - -},{"128":128,"34":34,"48":48}],155:[function(_dereq_,module,exports){ -var DateProto = Date.prototype; -var INVALID_DATE = 'Invalid Date'; -var TO_STRING = 'toString'; -var $toString = DateProto[TO_STRING]; -var getTime = DateProto.getTime; -if (new Date(NaN) + '' != INVALID_DATE) { - _dereq_(94)(DateProto, TO_STRING, function toString() { - var value = getTime.call(this); - // eslint-disable-next-line no-self-compare - return value === value ? $toString.call(this) : INVALID_DATE; - }); -} - -},{"94":94}],156:[function(_dereq_,module,exports){ -// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) -var $export = _dereq_(40); - -$export($export.P, 'Function', { bind: _dereq_(24) }); - -},{"24":24,"40":40}],157:[function(_dereq_,module,exports){ -'use strict'; -var isObject = _dereq_(57); -var getPrototypeOf = _dereq_(81); -var HAS_INSTANCE = _dereq_(128)('hasInstance'); -var FunctionProto = Function.prototype; -// 19.2.3.6 Function.prototype[@@hasInstance](V) -if (!(HAS_INSTANCE in FunctionProto)) _dereq_(75).f(FunctionProto, HAS_INSTANCE, { value: function (O) { - if (typeof this != 'function' || !isObject(O)) return false; - if (!isObject(this.prototype)) return O instanceof this; - // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - while (O = getPrototypeOf(O)) if (this.prototype === O) return true; - return false; -} }); - -},{"128":128,"57":57,"75":75,"81":81}],158:[function(_dereq_,module,exports){ -var dP = _dereq_(75).f; -var FProto = Function.prototype; -var nameRE = /^\s*function ([^ (]*)/; -var NAME = 'name'; - -// 19.2.4.2 name -NAME in FProto || _dereq_(36) && dP(FProto, NAME, { - configurable: true, - get: function () { - try { - return ('' + this).match(nameRE)[1]; - } catch (e) { - return ''; - } - } -}); - -},{"36":36,"75":75}],159:[function(_dereq_,module,exports){ -'use strict'; -var strong = _dereq_(27); -var validate = _dereq_(125); -var MAP = 'Map'; - -// 23.1 Map Objects -module.exports = _dereq_(29)(MAP, function (get) { - return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; -}, { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key) { - var entry = strong.getEntry(validate(this, MAP), key); - return entry && entry.v; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value) { - return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); - } -}, strong, true); - -},{"125":125,"27":27,"29":29}],160:[function(_dereq_,module,exports){ -// 20.2.2.3 Math.acosh(x) -var $export = _dereq_(40); -var log1p = _dereq_(68); -var sqrt = Math.sqrt; -var $acosh = Math.acosh; - -$export($export.S + $export.F * !($acosh - // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 - && Math.floor($acosh(Number.MAX_VALUE)) == 710 - // Tor Browser bug: Math.acosh(Infinity) -> NaN - && $acosh(Infinity) == Infinity -), 'Math', { - acosh: function acosh(x) { - return (x = +x) < 1 ? NaN : x > 94906265.62425156 - ? Math.log(x) + Math.LN2 - : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); - } -}); - -},{"40":40,"68":68}],161:[function(_dereq_,module,exports){ -// 20.2.2.5 Math.asinh(x) -var $export = _dereq_(40); -var $asinh = Math.asinh; - -function asinh(x) { - return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); -} - -// Tor Browser bug: Math.asinh(0) -> -0 -$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); - -},{"40":40}],162:[function(_dereq_,module,exports){ -// 20.2.2.7 Math.atanh(x) -var $export = _dereq_(40); -var $atanh = Math.atanh; - -// Tor Browser bug: Math.atanh(-0) -> 0 -$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { - atanh: function atanh(x) { - return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; - } -}); - -},{"40":40}],163:[function(_dereq_,module,exports){ -// 20.2.2.9 Math.cbrt(x) -var $export = _dereq_(40); -var sign = _dereq_(69); - -$export($export.S, 'Math', { - cbrt: function cbrt(x) { - return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); - } -}); - -},{"40":40,"69":69}],164:[function(_dereq_,module,exports){ -// 20.2.2.11 Math.clz32(x) -var $export = _dereq_(40); - -$export($export.S, 'Math', { - clz32: function clz32(x) { - return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; - } -}); - -},{"40":40}],165:[function(_dereq_,module,exports){ -// 20.2.2.12 Math.cosh(x) -var $export = _dereq_(40); -var exp = Math.exp; - -$export($export.S, 'Math', { - cosh: function cosh(x) { - return (exp(x = +x) + exp(-x)) / 2; - } -}); - -},{"40":40}],166:[function(_dereq_,module,exports){ -// 20.2.2.14 Math.expm1(x) -var $export = _dereq_(40); -var $expm1 = _dereq_(66); - -$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); - -},{"40":40,"66":66}],167:[function(_dereq_,module,exports){ -// 20.2.2.16 Math.fround(x) -var $export = _dereq_(40); - -$export($export.S, 'Math', { fround: _dereq_(67) }); - -},{"40":40,"67":67}],168:[function(_dereq_,module,exports){ -// 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) -var $export = _dereq_(40); -var abs = Math.abs; - -$export($export.S, 'Math', { - hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars - var sum = 0; - var i = 0; - var aLen = arguments.length; - var larg = 0; - var arg, div; - while (i < aLen) { - arg = abs(arguments[i++]); - if (larg < arg) { - div = larg / arg; - sum = sum * div * div + 1; - larg = arg; - } else if (arg > 0) { - div = arg / larg; - sum += div * div; - } else sum += arg; - } - return larg === Infinity ? Infinity : larg * Math.sqrt(sum); - } -}); - -},{"40":40}],169:[function(_dereq_,module,exports){ -// 20.2.2.18 Math.imul(x, y) -var $export = _dereq_(40); -var $imul = Math.imul; - -// some WebKit versions fails with big numbers, some has wrong arity -$export($export.S + $export.F * _dereq_(42)(function () { - return $imul(0xffffffff, 5) != -5 || $imul.length != 2; -}), 'Math', { - imul: function imul(x, y) { - var UINT16 = 0xffff; - var xn = +x; - var yn = +y; - var xl = UINT16 & xn; - var yl = UINT16 & yn; - return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); - } -}); - -},{"40":40,"42":42}],170:[function(_dereq_,module,exports){ -// 20.2.2.21 Math.log10(x) -var $export = _dereq_(40); - -$export($export.S, 'Math', { - log10: function log10(x) { - return Math.log(x) * Math.LOG10E; - } -}); - -},{"40":40}],171:[function(_dereq_,module,exports){ -// 20.2.2.20 Math.log1p(x) -var $export = _dereq_(40); - -$export($export.S, 'Math', { log1p: _dereq_(68) }); - -},{"40":40,"68":68}],172:[function(_dereq_,module,exports){ -// 20.2.2.22 Math.log2(x) -var $export = _dereq_(40); - -$export($export.S, 'Math', { - log2: function log2(x) { - return Math.log(x) / Math.LN2; - } -}); - -},{"40":40}],173:[function(_dereq_,module,exports){ -// 20.2.2.28 Math.sign(x) -var $export = _dereq_(40); - -$export($export.S, 'Math', { sign: _dereq_(69) }); - -},{"40":40,"69":69}],174:[function(_dereq_,module,exports){ -// 20.2.2.30 Math.sinh(x) -var $export = _dereq_(40); -var expm1 = _dereq_(66); -var exp = Math.exp; - -// V8 near Chromium 38 has a problem with very small numbers -$export($export.S + $export.F * _dereq_(42)(function () { - return !Math.sinh(-2e-17) != -2e-17; -}), 'Math', { - sinh: function sinh(x) { - return Math.abs(x = +x) < 1 - ? (expm1(x) - expm1(-x)) / 2 - : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); - } -}); - -},{"40":40,"42":42,"66":66}],175:[function(_dereq_,module,exports){ -// 20.2.2.33 Math.tanh(x) -var $export = _dereq_(40); -var expm1 = _dereq_(66); -var exp = Math.exp; - -$export($export.S, 'Math', { - tanh: function tanh(x) { - var a = expm1(x = +x); - var b = expm1(-x); - return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); - } -}); - -},{"40":40,"66":66}],176:[function(_dereq_,module,exports){ -// 20.2.2.34 Math.trunc(x) -var $export = _dereq_(40); - -$export($export.S, 'Math', { - trunc: function trunc(it) { - return (it > 0 ? Math.floor : Math.ceil)(it); - } -}); - -},{"40":40}],177:[function(_dereq_,module,exports){ -'use strict'; -var global = _dereq_(46); -var has = _dereq_(47); -var cof = _dereq_(26); -var inheritIfRequired = _dereq_(51); -var toPrimitive = _dereq_(119); -var fails = _dereq_(42); -var gOPN = _dereq_(79).f; -var gOPD = _dereq_(77).f; -var dP = _dereq_(75).f; -var $trim = _dereq_(110).trim; -var NUMBER = 'Number'; -var $Number = global[NUMBER]; -var Base = $Number; -var proto = $Number.prototype; -// Opera ~12 has broken Object#toString -var BROKEN_COF = cof(_dereq_(74)(proto)) == NUMBER; -var TRIM = 'trim' in String.prototype; - -// 7.1.3 ToNumber(argument) -var toNumber = function (argument) { - var it = toPrimitive(argument, false); - if (typeof it == 'string' && it.length > 2) { - it = TRIM ? it.trim() : $trim(it, 3); - var first = it.charCodeAt(0); - var third, radix, maxCode; - if (first === 43 || first === 45) { - third = it.charCodeAt(2); - if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix - } else if (first === 48) { - switch (it.charCodeAt(1)) { - case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i - case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i - default: return +it; - } - for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { - code = digits.charCodeAt(i); - // parseInt parses a string to a first unavailable symbol - // but ToNumber should return NaN if a string contains unavailable symbols - if (code < 48 || code > maxCode) return NaN; - } return parseInt(digits, radix); - } - } return +it; -}; - -if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { - $Number = function Number(value) { - var it = arguments.length < 1 ? 0 : value; - var that = this; - return that instanceof $Number - // check on 1..constructor(foo) case - && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) - ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); - }; - for (var keys = _dereq_(36) ? gOPN(Base) : ( - // ES3: - 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + - // ES6 (in case, if modules with ES6 Number statics required before): - 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + - 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' - ).split(','), j = 0, key; keys.length > j; j++) { - if (has(Base, key = keys[j]) && !has($Number, key)) { - dP($Number, key, gOPD(Base, key)); - } - } - $Number.prototype = proto; - proto.constructor = $Number; - _dereq_(94)(global, NUMBER, $Number); -} - -},{"110":110,"119":119,"26":26,"36":36,"42":42,"46":46,"47":47,"51":51,"74":74,"75":75,"77":77,"79":79,"94":94}],178:[function(_dereq_,module,exports){ -// 20.1.2.1 Number.EPSILON -var $export = _dereq_(40); - -$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); - -},{"40":40}],179:[function(_dereq_,module,exports){ -// 20.1.2.2 Number.isFinite(number) -var $export = _dereq_(40); -var _isFinite = _dereq_(46).isFinite; - -$export($export.S, 'Number', { - isFinite: function isFinite(it) { - return typeof it == 'number' && _isFinite(it); - } -}); - -},{"40":40,"46":46}],180:[function(_dereq_,module,exports){ -// 20.1.2.3 Number.isInteger(number) -var $export = _dereq_(40); - -$export($export.S, 'Number', { isInteger: _dereq_(56) }); - -},{"40":40,"56":56}],181:[function(_dereq_,module,exports){ -// 20.1.2.4 Number.isNaN(number) -var $export = _dereq_(40); - -$export($export.S, 'Number', { - isNaN: function isNaN(number) { - // eslint-disable-next-line no-self-compare - return number != number; - } -}); - -},{"40":40}],182:[function(_dereq_,module,exports){ -// 20.1.2.5 Number.isSafeInteger(number) -var $export = _dereq_(40); -var isInteger = _dereq_(56); -var abs = Math.abs; - -$export($export.S, 'Number', { - isSafeInteger: function isSafeInteger(number) { - return isInteger(number) && abs(number) <= 0x1fffffffffffff; - } -}); - -},{"40":40,"56":56}],183:[function(_dereq_,module,exports){ -// 20.1.2.6 Number.MAX_SAFE_INTEGER -var $export = _dereq_(40); - -$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); - -},{"40":40}],184:[function(_dereq_,module,exports){ -// 20.1.2.10 Number.MIN_SAFE_INTEGER -var $export = _dereq_(40); - -$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); - -},{"40":40}],185:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -var $parseFloat = _dereq_(88); -// 20.1.2.12 Number.parseFloat(string) -$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); - -},{"40":40,"88":88}],186:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -var $parseInt = _dereq_(89); -// 20.1.2.13 Number.parseInt(string, radix) -$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); - -},{"40":40,"89":89}],187:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var toInteger = _dereq_(115); -var aNumberValue = _dereq_(12); -var repeat = _dereq_(109); -var $toFixed = 1.0.toFixed; -var floor = Math.floor; -var data = [0, 0, 0, 0, 0, 0]; -var ERROR = 'Number.toFixed: incorrect invocation!'; -var ZERO = '0'; - -var multiply = function (n, c) { - var i = -1; - var c2 = c; - while (++i < 6) { - c2 += n * data[i]; - data[i] = c2 % 1e7; - c2 = floor(c2 / 1e7); - } -}; -var divide = function (n) { - var i = 6; - var c = 0; - while (--i >= 0) { - c += data[i]; - data[i] = floor(c / n); - c = (c % n) * 1e7; - } -}; -var numToString = function () { - var i = 6; - var s = ''; - while (--i >= 0) { - if (s !== '' || i === 0 || data[i] !== 0) { - var t = String(data[i]); - s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; - } - } return s; -}; -var pow = function (x, n, acc) { - return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); -}; -var log = function (x) { - var n = 0; - var x2 = x; - while (x2 >= 4096) { - n += 12; - x2 /= 4096; - } - while (x2 >= 2) { - n += 1; - x2 /= 2; - } return n; -}; - -$export($export.P + $export.F * (!!$toFixed && ( - 0.00008.toFixed(3) !== '0.000' || - 0.9.toFixed(0) !== '1' || - 1.255.toFixed(2) !== '1.25' || - 1000000000000000128.0.toFixed(0) !== '1000000000000000128' -) || !_dereq_(42)(function () { - // V8 ~ Android 4.3- - $toFixed.call({}); -})), 'Number', { - toFixed: function toFixed(fractionDigits) { - var x = aNumberValue(this, ERROR); - var f = toInteger(fractionDigits); - var s = ''; - var m = ZERO; - var e, z, j, k; - if (f < 0 || f > 20) throw RangeError(ERROR); - // eslint-disable-next-line no-self-compare - if (x != x) return 'NaN'; - if (x <= -1e21 || x >= 1e21) return String(x); - if (x < 0) { - s = '-'; - x = -x; - } - if (x > 1e-21) { - e = log(x * pow(2, 69, 1)) - 69; - z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); - z *= 0x10000000000000; - e = 52 - e; - if (e > 0) { - multiply(0, z); - j = f; - while (j >= 7) { - multiply(1e7, 0); - j -= 7; - } - multiply(pow(10, j, 1), 0); - j = e - 1; - while (j >= 23) { - divide(1 << 23); - j -= 23; - } - divide(1 << j); - multiply(1, 1); - divide(2); - m = numToString(); - } else { - multiply(0, z); - multiply(1 << -e, 0); - m = numToString() + repeat.call(ZERO, f); - } - } - if (f > 0) { - k = m.length; - m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); - } else { - m = s + m; - } return m; - } -}); - -},{"109":109,"115":115,"12":12,"40":40,"42":42}],188:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $fails = _dereq_(42); -var aNumberValue = _dereq_(12); -var $toPrecision = 1.0.toPrecision; - -$export($export.P + $export.F * ($fails(function () { - // IE7- - return $toPrecision.call(1, undefined) !== '1'; -}) || !$fails(function () { - // V8 ~ Android 4.3- - $toPrecision.call({}); -})), 'Number', { - toPrecision: function toPrecision(precision) { - var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); - return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); - } -}); - -},{"12":12,"40":40,"42":42}],189:[function(_dereq_,module,exports){ -// 19.1.3.1 Object.assign(target, source) -var $export = _dereq_(40); - -$export($export.S + $export.F, 'Object', { assign: _dereq_(73) }); - -},{"40":40,"73":73}],190:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -$export($export.S, 'Object', { create: _dereq_(74) }); - -},{"40":40,"74":74}],191:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) -$export($export.S + $export.F * !_dereq_(36), 'Object', { defineProperties: _dereq_(76) }); - -},{"36":36,"40":40,"76":76}],192:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) -$export($export.S + $export.F * !_dereq_(36), 'Object', { defineProperty: _dereq_(75).f }); - -},{"36":36,"40":40,"75":75}],193:[function(_dereq_,module,exports){ -// 19.1.2.5 Object.freeze(O) -var isObject = _dereq_(57); -var meta = _dereq_(70).onFreeze; - -_dereq_(85)('freeze', function ($freeze) { - return function freeze(it) { - return $freeze && isObject(it) ? $freeze(meta(it)) : it; - }; -}); - -},{"57":57,"70":70,"85":85}],194:[function(_dereq_,module,exports){ -// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) -var toIObject = _dereq_(116); -var $getOwnPropertyDescriptor = _dereq_(77).f; - -_dereq_(85)('getOwnPropertyDescriptor', function () { - return function getOwnPropertyDescriptor(it, key) { - return $getOwnPropertyDescriptor(toIObject(it), key); - }; -}); - -},{"116":116,"77":77,"85":85}],195:[function(_dereq_,module,exports){ -// 19.1.2.7 Object.getOwnPropertyNames(O) -_dereq_(85)('getOwnPropertyNames', function () { - return _dereq_(78).f; -}); - -},{"78":78,"85":85}],196:[function(_dereq_,module,exports){ -// 19.1.2.9 Object.getPrototypeOf(O) -var toObject = _dereq_(118); -var $getPrototypeOf = _dereq_(81); - -_dereq_(85)('getPrototypeOf', function () { - return function getPrototypeOf(it) { - return $getPrototypeOf(toObject(it)); - }; -}); - -},{"118":118,"81":81,"85":85}],197:[function(_dereq_,module,exports){ -// 19.1.2.11 Object.isExtensible(O) -var isObject = _dereq_(57); - -_dereq_(85)('isExtensible', function ($isExtensible) { - return function isExtensible(it) { - return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; - }; -}); - -},{"57":57,"85":85}],198:[function(_dereq_,module,exports){ -// 19.1.2.12 Object.isFrozen(O) -var isObject = _dereq_(57); - -_dereq_(85)('isFrozen', function ($isFrozen) { - return function isFrozen(it) { - return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; - }; -}); - -},{"57":57,"85":85}],199:[function(_dereq_,module,exports){ -// 19.1.2.13 Object.isSealed(O) -var isObject = _dereq_(57); - -_dereq_(85)('isSealed', function ($isSealed) { - return function isSealed(it) { - return isObject(it) ? $isSealed ? $isSealed(it) : false : true; - }; -}); - -},{"57":57,"85":85}],200:[function(_dereq_,module,exports){ -// 19.1.3.10 Object.is(value1, value2) -var $export = _dereq_(40); -$export($export.S, 'Object', { is: _dereq_(97) }); - -},{"40":40,"97":97}],201:[function(_dereq_,module,exports){ -// 19.1.2.14 Object.keys(O) -var toObject = _dereq_(118); -var $keys = _dereq_(83); - -_dereq_(85)('keys', function () { - return function keys(it) { - return $keys(toObject(it)); - }; -}); - -},{"118":118,"83":83,"85":85}],202:[function(_dereq_,module,exports){ -// 19.1.2.15 Object.preventExtensions(O) -var isObject = _dereq_(57); -var meta = _dereq_(70).onFreeze; - -_dereq_(85)('preventExtensions', function ($preventExtensions) { - return function preventExtensions(it) { - return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; - }; -}); - -},{"57":57,"70":70,"85":85}],203:[function(_dereq_,module,exports){ -// 19.1.2.17 Object.seal(O) -var isObject = _dereq_(57); -var meta = _dereq_(70).onFreeze; - -_dereq_(85)('seal', function ($seal) { - return function seal(it) { - return $seal && isObject(it) ? $seal(meta(it)) : it; - }; -}); - -},{"57":57,"70":70,"85":85}],204:[function(_dereq_,module,exports){ -// 19.1.3.19 Object.setPrototypeOf(O, proto) -var $export = _dereq_(40); -$export($export.S, 'Object', { setPrototypeOf: _dereq_(98).set }); - -},{"40":40,"98":98}],205:[function(_dereq_,module,exports){ -'use strict'; -// 19.1.3.6 Object.prototype.toString() -var classof = _dereq_(25); -var test = {}; -test[_dereq_(128)('toStringTag')] = 'z'; -if (test + '' != '[object z]') { - _dereq_(94)(Object.prototype, 'toString', function toString() { - return '[object ' + classof(this) + ']'; - }, true); -} - -},{"128":128,"25":25,"94":94}],206:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -var $parseFloat = _dereq_(88); -// 18.2.4 parseFloat(string) -$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); - -},{"40":40,"88":88}],207:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -var $parseInt = _dereq_(89); -// 18.2.5 parseInt(string, radix) -$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); - -},{"40":40,"89":89}],208:[function(_dereq_,module,exports){ -'use strict'; -var LIBRARY = _dereq_(65); -var global = _dereq_(46); -var ctx = _dereq_(32); -var classof = _dereq_(25); -var $export = _dereq_(40); -var isObject = _dereq_(57); -var aFunction = _dereq_(11); -var anInstance = _dereq_(15); -var forOf = _dereq_(45); -var speciesConstructor = _dereq_(103); -var task = _dereq_(112).set; -var microtask = _dereq_(71)(); -var newPromiseCapabilityModule = _dereq_(72); -var perform = _dereq_(90); -var userAgent = _dereq_(124); -var promiseResolve = _dereq_(91); -var PROMISE = 'Promise'; -var TypeError = global.TypeError; -var process = global.process; -var versions = process && process.versions; -var v8 = versions && versions.v8 || ''; -var $Promise = global[PROMISE]; -var isNode = classof(process) == 'process'; -var empty = function () { /* empty */ }; -var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; -var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; - -var USE_NATIVE = !!function () { - try { - // correct subclassing with @@species support - var promise = $Promise.resolve(1); - var FakePromise = (promise.constructor = {})[_dereq_(128)('species')] = function (exec) { - exec(empty, empty); - }; - // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return (isNode || typeof PromiseRejectionEvent == 'function') - && promise.then(empty) instanceof FakePromise - // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // we can't detect it synchronously, so just check versions - && v8.indexOf('6.6') !== 0 - && userAgent.indexOf('Chrome/66') === -1; - } catch (e) { /* empty */ } -}(); - -// helpers -var isThenable = function (it) { - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; -}; -var notify = function (promise, isReject) { - if (promise._n) return; - promise._n = true; - var chain = promise._c; - microtask(function () { - var value = promise._v; - var ok = promise._s == 1; - var i = 0; - var run = function (reaction) { - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (promise._h == 2) onHandleUnhandled(promise); - promise._h = 1; - } - if (handler === true) result = value; - else { - if (domain) domain.enter(); - result = handler(value); // may throw - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) { - reject(TypeError('Promise-chain cycle')); - } else if (then = isThenable(result)) { - then.call(result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch (e) { - if (domain && !exited) domain.exit(); - reject(e); - } - }; - while (chain.length > i) run(chain[i++]); // variable length - can't use forEach - promise._c = []; - promise._n = false; - if (isReject && !promise._h) onUnhandled(promise); - }); -}; -var onUnhandled = function (promise) { - task.call(global, function () { - var value = promise._v; - var unhandled = isUnhandled(promise); - var result, handler, console; - if (unhandled) { - result = perform(function () { - if (isNode) { - process.emit('unhandledRejection', value, promise); - } else if (handler = global.onunhandledrejection) { - handler({ promise: promise, reason: value }); - } else if ((console = global.console) && console.error) { - console.error('Unhandled promise rejection', value); - } - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - promise._h = isNode || isUnhandled(promise) ? 2 : 1; - } promise._a = undefined; - if (unhandled && result.e) throw result.v; - }); -}; -var isUnhandled = function (promise) { - return promise._h !== 1 && (promise._a || promise._c).length === 0; -}; -var onHandleUnhandled = function (promise) { - task.call(global, function () { - var handler; - if (isNode) { - process.emit('rejectionHandled', promise); - } else if (handler = global.onrejectionhandled) { - handler({ promise: promise, reason: promise._v }); - } - }); -}; -var $reject = function (value) { - var promise = this; - if (promise._d) return; - promise._d = true; - promise = promise._w || promise; // unwrap - promise._v = value; - promise._s = 2; - if (!promise._a) promise._a = promise._c.slice(); - notify(promise, true); -}; -var $resolve = function (value) { - var promise = this; - var then; - if (promise._d) return; - promise._d = true; - promise = promise._w || promise; // unwrap - try { - if (promise === value) throw TypeError("Promise can't be resolved itself"); - if (then = isThenable(value)) { - microtask(function () { - var wrapper = { _w: promise, _d: false }; // wrap - try { - then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); - } catch (e) { - $reject.call(wrapper, e); - } - }); - } else { - promise._v = value; - promise._s = 1; - notify(promise, false); - } - } catch (e) { - $reject.call({ _w: promise, _d: false }, e); // wrap - } -}; - -// constructor polyfill -if (!USE_NATIVE) { - // 25.4.3.1 Promise(executor) - $Promise = function Promise(executor) { - anInstance(this, $Promise, PROMISE, '_h'); - aFunction(executor); - Internal.call(this); - try { - executor(ctx($resolve, this, 1), ctx($reject, this, 1)); - } catch (err) { - $reject.call(this, err); - } - }; - // eslint-disable-next-line no-unused-vars - Internal = function Promise(executor) { - this._c = []; // <- awaiting reactions - this._a = undefined; // <- checked in isUnhandled reactions - this._s = 0; // <- state - this._d = false; // <- done - this._v = undefined; // <- value - this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled - this._n = false; // <- notify - }; - Internal.prototype = _dereq_(93)($Promise.prototype, { - // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) - then: function then(onFulfilled, onRejected) { - var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = isNode ? process.domain : undefined; - this._c.push(reaction); - if (this._a) this._a.push(reaction); - if (this._s) notify(this, false); - return reaction.promise; - }, - // 25.4.5.1 Promise.prototype.catch(onRejected) - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function () { - var promise = new Internal(); - this.promise = promise; - this.resolve = ctx($resolve, promise, 1); - this.reject = ctx($reject, promise, 1); - }; - newPromiseCapabilityModule.f = newPromiseCapability = function (C) { - return C === $Promise || C === Wrapper - ? new OwnPromiseCapability(C) - : newGenericPromiseCapability(C); - }; -} - -$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); -_dereq_(100)($Promise, PROMISE); -_dereq_(99)(PROMISE); -Wrapper = _dereq_(30)[PROMISE]; - -// statics -$export($export.S + $export.F * !USE_NATIVE, PROMISE, { - // 25.4.4.5 Promise.reject(r) - reject: function reject(r) { - var capability = newPromiseCapability(this); - var $$reject = capability.reject; - $$reject(r); - return capability.promise; - } -}); -$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { - // 25.4.4.6 Promise.resolve(x) - resolve: function resolve(x) { - return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); - } -}); -$export($export.S + $export.F * !(USE_NATIVE && _dereq_(62)(function (iter) { - $Promise.all(iter)['catch'](empty); -})), PROMISE, { - // 25.4.4.1 Promise.all(iterable) - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var values = []; - var index = 0; - var remaining = 1; - forOf(iterable, false, function (promise) { - var $index = index++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - C.resolve(promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[$index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.e) reject(result.v); - return capability.promise; - }, - // 25.4.4.4 Promise.race(iterable) - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function () { - forOf(iterable, false, function (promise) { - C.resolve(promise).then(capability.resolve, reject); - }); - }); - if (result.e) reject(result.v); - return capability.promise; - } -}); - -},{"100":100,"103":103,"11":11,"112":112,"124":124,"128":128,"15":15,"25":25,"30":30,"32":32,"40":40,"45":45,"46":46,"57":57,"62":62,"65":65,"71":71,"72":72,"90":90,"91":91,"93":93,"99":99}],209:[function(_dereq_,module,exports){ -// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) -var $export = _dereq_(40); -var aFunction = _dereq_(11); -var anObject = _dereq_(16); -var rApply = (_dereq_(46).Reflect || {}).apply; -var fApply = Function.apply; -// MS Edge argumentsList argument is optional -$export($export.S + $export.F * !_dereq_(42)(function () { - rApply(function () { /* empty */ }); -}), 'Reflect', { - apply: function apply(target, thisArgument, argumentsList) { - var T = aFunction(target); - var L = anObject(argumentsList); - return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); - } -}); - -},{"11":11,"16":16,"40":40,"42":42,"46":46}],210:[function(_dereq_,module,exports){ -// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) -var $export = _dereq_(40); -var create = _dereq_(74); -var aFunction = _dereq_(11); -var anObject = _dereq_(16); -var isObject = _dereq_(57); -var fails = _dereq_(42); -var bind = _dereq_(24); -var rConstruct = (_dereq_(46).Reflect || {}).construct; - -// MS Edge supports only 2 arguments and argumentsList argument is optional -// FF Nightly sets third argument as `new.target`, but does not create `this` from it -var NEW_TARGET_BUG = fails(function () { - function F() { /* empty */ } - return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); -}); -var ARGS_BUG = !fails(function () { - rConstruct(function () { /* empty */ }); -}); - -$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { - construct: function construct(Target, args /* , newTarget */) { - aFunction(Target); - anObject(args); - var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); - if (Target == newTarget) { - // w/o altered newTarget, optimization for 0-4 arguments - switch (args.length) { - case 0: return new Target(); - case 1: return new Target(args[0]); - case 2: return new Target(args[0], args[1]); - case 3: return new Target(args[0], args[1], args[2]); - case 4: return new Target(args[0], args[1], args[2], args[3]); - } - // w/o altered newTarget, lot of arguments case - var $args = [null]; - $args.push.apply($args, args); - return new (bind.apply(Target, $args))(); - } - // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype; - var instance = create(isObject(proto) ? proto : Object.prototype); - var result = Function.apply.call(Target, instance, args); - return isObject(result) ? result : instance; - } -}); - -},{"11":11,"16":16,"24":24,"40":40,"42":42,"46":46,"57":57,"74":74}],211:[function(_dereq_,module,exports){ -// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) -var dP = _dereq_(75); -var $export = _dereq_(40); -var anObject = _dereq_(16); -var toPrimitive = _dereq_(119); - -// MS Edge has broken Reflect.defineProperty - throwing instead of returning false -$export($export.S + $export.F * _dereq_(42)(function () { - // eslint-disable-next-line no-undef - Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); -}), 'Reflect', { - defineProperty: function defineProperty(target, propertyKey, attributes) { - anObject(target); - propertyKey = toPrimitive(propertyKey, true); - anObject(attributes); - try { - dP.f(target, propertyKey, attributes); - return true; - } catch (e) { - return false; - } - } -}); - -},{"119":119,"16":16,"40":40,"42":42,"75":75}],212:[function(_dereq_,module,exports){ -// 26.1.4 Reflect.deleteProperty(target, propertyKey) -var $export = _dereq_(40); -var gOPD = _dereq_(77).f; -var anObject = _dereq_(16); - -$export($export.S, 'Reflect', { - deleteProperty: function deleteProperty(target, propertyKey) { - var desc = gOPD(anObject(target), propertyKey); - return desc && !desc.configurable ? false : delete target[propertyKey]; - } -}); - -},{"16":16,"40":40,"77":77}],213:[function(_dereq_,module,exports){ -'use strict'; -// 26.1.5 Reflect.enumerate(target) -var $export = _dereq_(40); -var anObject = _dereq_(16); -var Enumerate = function (iterated) { - this._t = anObject(iterated); // target - this._i = 0; // next index - var keys = this._k = []; // keys - var key; - for (key in iterated) keys.push(key); -}; -_dereq_(60)(Enumerate, 'Object', function () { - var that = this; - var keys = that._k; - var key; - do { - if (that._i >= keys.length) return { value: undefined, done: true }; - } while (!((key = keys[that._i++]) in that._t)); - return { value: key, done: false }; -}); - -$export($export.S, 'Reflect', { - enumerate: function enumerate(target) { - return new Enumerate(target); - } -}); - -},{"16":16,"40":40,"60":60}],214:[function(_dereq_,module,exports){ -// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) -var gOPD = _dereq_(77); -var $export = _dereq_(40); -var anObject = _dereq_(16); - -$export($export.S, 'Reflect', { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { - return gOPD.f(anObject(target), propertyKey); - } -}); - -},{"16":16,"40":40,"77":77}],215:[function(_dereq_,module,exports){ -// 26.1.8 Reflect.getPrototypeOf(target) -var $export = _dereq_(40); -var getProto = _dereq_(81); -var anObject = _dereq_(16); - -$export($export.S, 'Reflect', { - getPrototypeOf: function getPrototypeOf(target) { - return getProto(anObject(target)); - } -}); - -},{"16":16,"40":40,"81":81}],216:[function(_dereq_,module,exports){ -// 26.1.6 Reflect.get(target, propertyKey [, receiver]) -var gOPD = _dereq_(77); -var getPrototypeOf = _dereq_(81); -var has = _dereq_(47); -var $export = _dereq_(40); -var isObject = _dereq_(57); -var anObject = _dereq_(16); - -function get(target, propertyKey /* , receiver */) { - var receiver = arguments.length < 3 ? target : arguments[2]; - var desc, proto; - if (anObject(target) === receiver) return target[propertyKey]; - if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') - ? desc.value - : desc.get !== undefined - ? desc.get.call(receiver) - : undefined; - if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); -} - -$export($export.S, 'Reflect', { get: get }); - -},{"16":16,"40":40,"47":47,"57":57,"77":77,"81":81}],217:[function(_dereq_,module,exports){ -// 26.1.9 Reflect.has(target, propertyKey) -var $export = _dereq_(40); - -$export($export.S, 'Reflect', { - has: function has(target, propertyKey) { - return propertyKey in target; - } -}); - -},{"40":40}],218:[function(_dereq_,module,exports){ -// 26.1.10 Reflect.isExtensible(target) -var $export = _dereq_(40); -var anObject = _dereq_(16); -var $isExtensible = Object.isExtensible; - -$export($export.S, 'Reflect', { - isExtensible: function isExtensible(target) { - anObject(target); - return $isExtensible ? $isExtensible(target) : true; - } -}); - -},{"16":16,"40":40}],219:[function(_dereq_,module,exports){ -// 26.1.11 Reflect.ownKeys(target) -var $export = _dereq_(40); - -$export($export.S, 'Reflect', { ownKeys: _dereq_(87) }); - -},{"40":40,"87":87}],220:[function(_dereq_,module,exports){ -// 26.1.12 Reflect.preventExtensions(target) -var $export = _dereq_(40); -var anObject = _dereq_(16); -var $preventExtensions = Object.preventExtensions; - -$export($export.S, 'Reflect', { - preventExtensions: function preventExtensions(target) { - anObject(target); - try { - if ($preventExtensions) $preventExtensions(target); - return true; - } catch (e) { - return false; - } - } -}); - -},{"16":16,"40":40}],221:[function(_dereq_,module,exports){ -// 26.1.14 Reflect.setPrototypeOf(target, proto) -var $export = _dereq_(40); -var setProto = _dereq_(98); - -if (setProto) $export($export.S, 'Reflect', { - setPrototypeOf: function setPrototypeOf(target, proto) { - setProto.check(target, proto); - try { - setProto.set(target, proto); - return true; - } catch (e) { - return false; - } - } -}); - -},{"40":40,"98":98}],222:[function(_dereq_,module,exports){ -// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) -var dP = _dereq_(75); -var gOPD = _dereq_(77); -var getPrototypeOf = _dereq_(81); -var has = _dereq_(47); -var $export = _dereq_(40); -var createDesc = _dereq_(92); -var anObject = _dereq_(16); -var isObject = _dereq_(57); - -function set(target, propertyKey, V /* , receiver */) { - var receiver = arguments.length < 4 ? target : arguments[3]; - var ownDesc = gOPD.f(anObject(target), propertyKey); - var existingDescriptor, proto; - if (!ownDesc) { - if (isObject(proto = getPrototypeOf(target))) { - return set(proto, propertyKey, V, receiver); - } - ownDesc = createDesc(0); - } - if (has(ownDesc, 'value')) { - if (ownDesc.writable === false || !isObject(receiver)) return false; - if (existingDescriptor = gOPD.f(receiver, propertyKey)) { - if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; - existingDescriptor.value = V; - dP.f(receiver, propertyKey, existingDescriptor); - } else dP.f(receiver, propertyKey, createDesc(0, V)); - return true; - } - return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); -} - -$export($export.S, 'Reflect', { set: set }); - -},{"16":16,"40":40,"47":47,"57":57,"75":75,"77":77,"81":81,"92":92}],223:[function(_dereq_,module,exports){ -var global = _dereq_(46); -var inheritIfRequired = _dereq_(51); -var dP = _dereq_(75).f; -var gOPN = _dereq_(79).f; -var isRegExp = _dereq_(58); -var $flags = _dereq_(44); -var $RegExp = global.RegExp; -var Base = $RegExp; -var proto = $RegExp.prototype; -var re1 = /a/g; -var re2 = /a/g; -// "new" creates a new object, old webkit buggy here -var CORRECT_NEW = new $RegExp(re1) !== re1; - -if (_dereq_(36) && (!CORRECT_NEW || _dereq_(42)(function () { - re2[_dereq_(128)('match')] = false; - // RegExp constructor can alter flags and IsRegExp works correct with @@match - return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; -}))) { - $RegExp = function RegExp(p, f) { - var tiRE = this instanceof $RegExp; - var piRE = isRegExp(p); - var fiU = f === undefined; - return !tiRE && piRE && p.constructor === $RegExp && fiU ? p - : inheritIfRequired(CORRECT_NEW - ? new Base(piRE && !fiU ? p.source : p, f) - : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) - , tiRE ? this : proto, $RegExp); - }; - var proxy = function (key) { - key in $RegExp || dP($RegExp, key, { - configurable: true, - get: function () { return Base[key]; }, - set: function (it) { Base[key] = it; } - }); - }; - for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); - proto.constructor = $RegExp; - $RegExp.prototype = proto; - _dereq_(94)(global, 'RegExp', $RegExp); -} - -_dereq_(99)('RegExp'); - -},{"128":128,"36":36,"42":42,"44":44,"46":46,"51":51,"58":58,"75":75,"79":79,"94":94,"99":99}],224:[function(_dereq_,module,exports){ -'use strict'; -var regexpExec = _dereq_(96); -_dereq_(40)({ - target: 'RegExp', - proto: true, - forced: regexpExec !== /./.exec -}, { - exec: regexpExec -}); - -},{"40":40,"96":96}],225:[function(_dereq_,module,exports){ -// 21.2.5.3 get RegExp.prototype.flags() -if (_dereq_(36) && /./g.flags != 'g') _dereq_(75).f(RegExp.prototype, 'flags', { - configurable: true, - get: _dereq_(44) -}); - -},{"36":36,"44":44,"75":75}],226:[function(_dereq_,module,exports){ -'use strict'; - -var anObject = _dereq_(16); -var toLength = _dereq_(117); -var advanceStringIndex = _dereq_(14); -var regExpExec = _dereq_(95); - -// @@match logic -_dereq_(43)('match', 1, function (defined, MATCH, $match, maybeCallNative) { - return [ - // `String.prototype.match` method - // https://tc39.github.io/ecma262/#sec-string.prototype.match - function match(regexp) { - var O = defined(this); - var fn = regexp == undefined ? undefined : regexp[MATCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, - // `RegExp.prototype[@@match]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match - function (regexp) { - var res = maybeCallNative($match, regexp, this); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - if (!rx.global) return regExpExec(rx, S); - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - var A = []; - var n = 0; - var result; - while ((result = regExpExec(rx, S)) !== null) { - var matchStr = String(result[0]); - A[n] = matchStr; - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - n++; - } - return n === 0 ? null : A; - } - ]; -}); - -},{"117":117,"14":14,"16":16,"43":43,"95":95}],227:[function(_dereq_,module,exports){ -'use strict'; - -var anObject = _dereq_(16); -var toObject = _dereq_(118); -var toLength = _dereq_(117); -var toInteger = _dereq_(115); -var advanceStringIndex = _dereq_(14); -var regExpExec = _dereq_(95); -var max = Math.max; -var min = Math.min; -var floor = Math.floor; -var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g; -var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g; - -var maybeToString = function (it) { - return it === undefined ? it : String(it); -}; - -// @@replace logic -_dereq_(43)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) { - return [ - // `String.prototype.replace` method - // https://tc39.github.io/ecma262/#sec-string.prototype.replace - function replace(searchValue, replaceValue) { - var O = defined(this); - var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; - return fn !== undefined - ? fn.call(searchValue, O, replaceValue) - : $replace.call(String(O), searchValue, replaceValue); - }, - // `RegExp.prototype[@@replace]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace - function (regexp, replaceValue) { - var res = maybeCallNative($replace, regexp, this, replaceValue); - if (res.done) return res.value; - - var rx = anObject(regexp); - var S = String(this); - var functionalReplace = typeof replaceValue === 'function'; - if (!functionalReplace) replaceValue = String(replaceValue); - var global = rx.global; - if (global) { - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - } - var results = []; - while (true) { - var result = regExpExec(rx, S); - if (result === null) break; - results.push(result); - if (!global) break; - var matchStr = String(result[0]); - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - } - var accumulatedResult = ''; - var nextSourcePosition = 0; - for (var i = 0; i < results.length; i++) { - result = results[i]; - var matched = String(result[0]); - var position = max(min(toInteger(result.index), S.length), 0); - var captures = []; - // NOTE: This is equivalent to - // captures = result.slice(1).map(maybeToString) - // but for some reason `nativeSlice.call(result, 1, result.length)` (called in - // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and - // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. - for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); - var namedCaptures = result.groups; - if (functionalReplace) { - var replacerArgs = [matched].concat(captures, position, S); - if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); - var replacement = String(replaceValue.apply(undefined, replacerArgs)); - } else { - replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); - } - if (position >= nextSourcePosition) { - accumulatedResult += S.slice(nextSourcePosition, position) + replacement; - nextSourcePosition = position + matched.length; - } - } - return accumulatedResult + S.slice(nextSourcePosition); - } - ]; - - // https://tc39.github.io/ecma262/#sec-getsubstitution - function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { - var tailPos = position + matched.length; - var m = captures.length; - var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; - if (namedCaptures !== undefined) { - namedCaptures = toObject(namedCaptures); - symbols = SUBSTITUTION_SYMBOLS; - } - return $replace.call(replacement, symbols, function (match, ch) { - var capture; - switch (ch.charAt(0)) { - case '$': return '$'; - case '&': return matched; - case '`': return str.slice(0, position); - case "'": return str.slice(tailPos); - case '<': - capture = namedCaptures[ch.slice(1, -1)]; - break; - default: // \d\d? - var n = +ch; - if (n === 0) return ch; - if (n > m) { - var f = floor(n / 10); - if (f === 0) return ch; - if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); - return ch; - } - capture = captures[n - 1]; - } - return capture === undefined ? '' : capture; - }); - } -}); - -},{"115":115,"117":117,"118":118,"14":14,"16":16,"43":43,"95":95}],228:[function(_dereq_,module,exports){ -'use strict'; - -var anObject = _dereq_(16); -var sameValue = _dereq_(97); -var regExpExec = _dereq_(95); - -// @@search logic -_dereq_(43)('search', 1, function (defined, SEARCH, $search, maybeCallNative) { - return [ - // `String.prototype.search` method - // https://tc39.github.io/ecma262/#sec-string.prototype.search - function search(regexp) { - var O = defined(this); - var fn = regexp == undefined ? undefined : regexp[SEARCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); - }, - // `RegExp.prototype[@@search]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search - function (regexp) { - var res = maybeCallNative($search, regexp, this); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - var previousLastIndex = rx.lastIndex; - if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; - var result = regExpExec(rx, S); - if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; - return result === null ? -1 : result.index; - } - ]; -}); - -},{"16":16,"43":43,"95":95,"97":97}],229:[function(_dereq_,module,exports){ -'use strict'; - -var isRegExp = _dereq_(58); -var anObject = _dereq_(16); -var speciesConstructor = _dereq_(103); -var advanceStringIndex = _dereq_(14); -var toLength = _dereq_(117); -var callRegExpExec = _dereq_(95); -var regexpExec = _dereq_(96); -var $min = Math.min; -var $push = [].push; -var $SPLIT = 'split'; -var LENGTH = 'length'; -var LAST_INDEX = 'lastIndex'; - -// eslint-disable-next-line no-empty -var SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })(); - -// @@split logic -_dereq_(43)('split', 2, function (defined, SPLIT, $split, maybeCallNative) { - var internalSplit; - if ( - 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || - 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || - 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || - '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || - '.'[$SPLIT](/()()/)[LENGTH] > 1 || - ''[$SPLIT](/.?/)[LENGTH] - ) { - // based on es5-shim implementation, need to rework it - internalSplit = function (separator, limit) { - var string = String(this); - if (separator === undefined && limit === 0) return []; - // If `separator` is not a regex, use native split - if (!isRegExp(separator)) return $split.call(string, separator, limit); - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + - (separator.multiline ? 'm' : '') + - (separator.unicode ? 'u' : '') + - (separator.sticky ? 'y' : ''); - var lastLastIndex = 0; - var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; - // Make `global` and avoid `lastIndex` issues by working with a copy - var separatorCopy = new RegExp(separator.source, flags + 'g'); - var match, lastIndex, lastLength; - while (match = regexpExec.call(separatorCopy, string)) { - lastIndex = separatorCopy[LAST_INDEX]; - if (lastIndex > lastLastIndex) { - output.push(string.slice(lastLastIndex, match.index)); - if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); - lastLength = match[0][LENGTH]; - lastLastIndex = lastIndex; - if (output[LENGTH] >= splitLimit) break; - } - if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop - } - if (lastLastIndex === string[LENGTH]) { - if (lastLength || !separatorCopy.test('')) output.push(''); - } else output.push(string.slice(lastLastIndex)); - return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; - }; - // Chakra, V8 - } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { - internalSplit = function (separator, limit) { - return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit); - }; - } else { - internalSplit = $split; - } - - return [ - // `String.prototype.split` method - // https://tc39.github.io/ecma262/#sec-string.prototype.split - function split(separator, limit) { - var O = defined(this); - var splitter = separator == undefined ? undefined : separator[SPLIT]; - return splitter !== undefined - ? splitter.call(separator, O, limit) - : internalSplit.call(String(O), separator, limit); - }, - // `RegExp.prototype[@@split]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split - // - // NOTE: This cannot be properly polyfilled in engines that don't support - // the 'y' flag. - function (regexp, limit) { - var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split); - if (res.done) return res.value; - - var rx = anObject(regexp); - var S = String(this); - var C = speciesConstructor(rx, RegExp); - - var unicodeMatching = rx.unicode; - var flags = (rx.ignoreCase ? 'i' : '') + - (rx.multiline ? 'm' : '') + - (rx.unicode ? 'u' : '') + - (SUPPORTS_Y ? 'y' : 'g'); - - // ^(? + rx + ) is needed, in combination with some S slicing, to - // simulate the 'y' flag. - var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); - var lim = limit === undefined ? 0xffffffff : limit >>> 0; - if (lim === 0) return []; - if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; - var p = 0; - var q = 0; - var A = []; - while (q < S.length) { - splitter.lastIndex = SUPPORTS_Y ? q : 0; - var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); - var e; - if ( - z === null || - (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p - ) { - q = advanceStringIndex(S, q, unicodeMatching); - } else { - A.push(S.slice(p, q)); - if (A.length === lim) return A; - for (var i = 1; i <= z.length - 1; i++) { - A.push(z[i]); - if (A.length === lim) return A; - } - q = p = e; - } - } - A.push(S.slice(p)); - return A; - } - ]; -}); - -},{"103":103,"117":117,"14":14,"16":16,"43":43,"58":58,"95":95,"96":96}],230:[function(_dereq_,module,exports){ -'use strict'; -_dereq_(225); -var anObject = _dereq_(16); -var $flags = _dereq_(44); -var DESCRIPTORS = _dereq_(36); -var TO_STRING = 'toString'; -var $toString = /./[TO_STRING]; - -var define = function (fn) { - _dereq_(94)(RegExp.prototype, TO_STRING, fn, true); -}; - -// 21.2.5.14 RegExp.prototype.toString() -if (_dereq_(42)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { - define(function toString() { - var R = anObject(this); - return '/'.concat(R.source, '/', - 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); - }); -// FF44- RegExp#toString has a wrong name -} else if ($toString.name != TO_STRING) { - define(function toString() { - return $toString.call(this); - }); -} - -},{"16":16,"225":225,"36":36,"42":42,"44":44,"94":94}],231:[function(_dereq_,module,exports){ -'use strict'; -var strong = _dereq_(27); -var validate = _dereq_(125); -var SET = 'Set'; - -// 23.2 Set Objects -module.exports = _dereq_(29)(SET, function (get) { - return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; -}, { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value) { - return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); - } -}, strong); - -},{"125":125,"27":27,"29":29}],232:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.2 String.prototype.anchor(name) -_dereq_(107)('anchor', function (createHTML) { - return function anchor(name) { - return createHTML(this, 'a', 'name', name); - }; -}); - -},{"107":107}],233:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.3 String.prototype.big() -_dereq_(107)('big', function (createHTML) { - return function big() { - return createHTML(this, 'big', '', ''); - }; -}); - -},{"107":107}],234:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.4 String.prototype.blink() -_dereq_(107)('blink', function (createHTML) { - return function blink() { - return createHTML(this, 'blink', '', ''); - }; -}); - -},{"107":107}],235:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.5 String.prototype.bold() -_dereq_(107)('bold', function (createHTML) { - return function bold() { - return createHTML(this, 'b', '', ''); - }; -}); - -},{"107":107}],236:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $at = _dereq_(105)(false); -$export($export.P, 'String', { - // 21.1.3.3 String.prototype.codePointAt(pos) - codePointAt: function codePointAt(pos) { - return $at(this, pos); - } -}); - -},{"105":105,"40":40}],237:[function(_dereq_,module,exports){ -// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) -'use strict'; -var $export = _dereq_(40); -var toLength = _dereq_(117); -var context = _dereq_(106); -var ENDS_WITH = 'endsWith'; -var $endsWith = ''[ENDS_WITH]; - -$export($export.P + $export.F * _dereq_(41)(ENDS_WITH), 'String', { - endsWith: function endsWith(searchString /* , endPosition = @length */) { - var that = context(this, searchString, ENDS_WITH); - var endPosition = arguments.length > 1 ? arguments[1] : undefined; - var len = toLength(that.length); - var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); - var search = String(searchString); - return $endsWith - ? $endsWith.call(that, search, end) - : that.slice(end - search.length, end) === search; - } -}); - -},{"106":106,"117":117,"40":40,"41":41}],238:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.6 String.prototype.fixed() -_dereq_(107)('fixed', function (createHTML) { - return function fixed() { - return createHTML(this, 'tt', '', ''); - }; -}); - -},{"107":107}],239:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.7 String.prototype.fontcolor(color) -_dereq_(107)('fontcolor', function (createHTML) { - return function fontcolor(color) { - return createHTML(this, 'font', 'color', color); - }; -}); - -},{"107":107}],240:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.8 String.prototype.fontsize(size) -_dereq_(107)('fontsize', function (createHTML) { - return function fontsize(size) { - return createHTML(this, 'font', 'size', size); - }; -}); - -},{"107":107}],241:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -var toAbsoluteIndex = _dereq_(113); -var fromCharCode = String.fromCharCode; -var $fromCodePoint = String.fromCodePoint; - -// length should be 1, old FF problem -$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { - // 21.1.2.2 String.fromCodePoint(...codePoints) - fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars - var res = []; - var aLen = arguments.length; - var i = 0; - var code; - while (aLen > i) { - code = +arguments[i++]; - if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); - res.push(code < 0x10000 - ? fromCharCode(code) - : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) - ); - } return res.join(''); - } -}); - -},{"113":113,"40":40}],242:[function(_dereq_,module,exports){ -// 21.1.3.7 String.prototype.includes(searchString, position = 0) -'use strict'; -var $export = _dereq_(40); -var context = _dereq_(106); -var INCLUDES = 'includes'; - -$export($export.P + $export.F * _dereq_(41)(INCLUDES), 'String', { - includes: function includes(searchString /* , position = 0 */) { - return !!~context(this, searchString, INCLUDES) - .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"106":106,"40":40,"41":41}],243:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.9 String.prototype.italics() -_dereq_(107)('italics', function (createHTML) { - return function italics() { - return createHTML(this, 'i', '', ''); - }; -}); - -},{"107":107}],244:[function(_dereq_,module,exports){ -'use strict'; -var $at = _dereq_(105)(true); - -// 21.1.3.27 String.prototype[@@iterator]() -_dereq_(61)(String, 'String', function (iterated) { - this._t = String(iterated); // target - this._i = 0; // next index -// 21.1.5.2.1 %StringIteratorPrototype%.next() -}, function () { - var O = this._t; - var index = this._i; - var point; - if (index >= O.length) return { value: undefined, done: true }; - point = $at(O, index); - this._i += point.length; - return { value: point, done: false }; -}); - -},{"105":105,"61":61}],245:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.10 String.prototype.link(url) -_dereq_(107)('link', function (createHTML) { - return function link(url) { - return createHTML(this, 'a', 'href', url); - }; -}); - -},{"107":107}],246:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -var toIObject = _dereq_(116); -var toLength = _dereq_(117); - -$export($export.S, 'String', { - // 21.1.2.4 String.raw(callSite, ...substitutions) - raw: function raw(callSite) { - var tpl = toIObject(callSite.raw); - var len = toLength(tpl.length); - var aLen = arguments.length; - var res = []; - var i = 0; - while (len > i) { - res.push(String(tpl[i++])); - if (i < aLen) res.push(String(arguments[i])); - } return res.join(''); - } -}); - -},{"116":116,"117":117,"40":40}],247:[function(_dereq_,module,exports){ -var $export = _dereq_(40); - -$export($export.P, 'String', { - // 21.1.3.13 String.prototype.repeat(count) - repeat: _dereq_(109) -}); - -},{"109":109,"40":40}],248:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.11 String.prototype.small() -_dereq_(107)('small', function (createHTML) { - return function small() { - return createHTML(this, 'small', '', ''); - }; -}); - -},{"107":107}],249:[function(_dereq_,module,exports){ -// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) -'use strict'; -var $export = _dereq_(40); -var toLength = _dereq_(117); -var context = _dereq_(106); -var STARTS_WITH = 'startsWith'; -var $startsWith = ''[STARTS_WITH]; - -$export($export.P + $export.F * _dereq_(41)(STARTS_WITH), 'String', { - startsWith: function startsWith(searchString /* , position = 0 */) { - var that = context(this, searchString, STARTS_WITH); - var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); - var search = String(searchString); - return $startsWith - ? $startsWith.call(that, search, index) - : that.slice(index, index + search.length) === search; - } -}); - -},{"106":106,"117":117,"40":40,"41":41}],250:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.12 String.prototype.strike() -_dereq_(107)('strike', function (createHTML) { - return function strike() { - return createHTML(this, 'strike', '', ''); - }; -}); - -},{"107":107}],251:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.13 String.prototype.sub() -_dereq_(107)('sub', function (createHTML) { - return function sub() { - return createHTML(this, 'sub', '', ''); - }; -}); - -},{"107":107}],252:[function(_dereq_,module,exports){ -'use strict'; -// B.2.3.14 String.prototype.sup() -_dereq_(107)('sup', function (createHTML) { - return function sup() { - return createHTML(this, 'sup', '', ''); - }; -}); - -},{"107":107}],253:[function(_dereq_,module,exports){ -'use strict'; -// 21.1.3.25 String.prototype.trim() -_dereq_(110)('trim', function ($trim) { - return function trim() { - return $trim(this, 3); - }; -}); - -},{"110":110}],254:[function(_dereq_,module,exports){ -'use strict'; -// ECMAScript 6 symbols shim -var global = _dereq_(46); -var has = _dereq_(47); -var DESCRIPTORS = _dereq_(36); -var $export = _dereq_(40); -var redefine = _dereq_(94); -var META = _dereq_(70).KEY; -var $fails = _dereq_(42); -var shared = _dereq_(102); -var setToStringTag = _dereq_(100); -var uid = _dereq_(123); -var wks = _dereq_(128); -var wksExt = _dereq_(127); -var wksDefine = _dereq_(126); -var enumKeys = _dereq_(39); -var isArray = _dereq_(55); -var anObject = _dereq_(16); -var isObject = _dereq_(57); -var toIObject = _dereq_(116); -var toPrimitive = _dereq_(119); -var createDesc = _dereq_(92); -var _create = _dereq_(74); -var gOPNExt = _dereq_(78); -var $GOPD = _dereq_(77); -var $DP = _dereq_(75); -var $keys = _dereq_(83); -var gOPD = $GOPD.f; -var dP = $DP.f; -var gOPN = gOPNExt.f; -var $Symbol = global.Symbol; -var $JSON = global.JSON; -var _stringify = $JSON && $JSON.stringify; -var PROTOTYPE = 'prototype'; -var HIDDEN = wks('_hidden'); -var TO_PRIMITIVE = wks('toPrimitive'); -var isEnum = {}.propertyIsEnumerable; -var SymbolRegistry = shared('symbol-registry'); -var AllSymbols = shared('symbols'); -var OPSymbols = shared('op-symbols'); -var ObjectProto = Object[PROTOTYPE]; -var USE_NATIVE = typeof $Symbol == 'function'; -var QObject = global.QObject; -// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 -var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - -// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 -var setSymbolDesc = DESCRIPTORS && $fails(function () { - return _create(dP({}, 'a', { - get: function () { return dP(this, 'a', { value: 7 }).a; } - })).a != 7; -}) ? function (it, key, D) { - var protoDesc = gOPD(ObjectProto, key); - if (protoDesc) delete ObjectProto[key]; - dP(it, key, D); - if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); -} : dP; - -var wrap = function (tag) { - var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); - sym._k = tag; - return sym; -}; - -var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { - return typeof it == 'symbol'; -} : function (it) { - return it instanceof $Symbol; -}; - -var $defineProperty = function defineProperty(it, key, D) { - if (it === ObjectProto) $defineProperty(OPSymbols, key, D); - anObject(it); - key = toPrimitive(key, true); - anObject(D); - if (has(AllSymbols, key)) { - if (!D.enumerable) { - if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); - it[HIDDEN][key] = true; - } else { - if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; - D = _create(D, { enumerable: createDesc(0, false) }); - } return setSymbolDesc(it, key, D); - } return dP(it, key, D); -}; -var $defineProperties = function defineProperties(it, P) { - anObject(it); - var keys = enumKeys(P = toIObject(P)); - var i = 0; - var l = keys.length; - var key; - while (l > i) $defineProperty(it, key = keys[i++], P[key]); - return it; -}; -var $create = function create(it, P) { - return P === undefined ? _create(it) : $defineProperties(_create(it), P); -}; -var $propertyIsEnumerable = function propertyIsEnumerable(key) { - var E = isEnum.call(this, key = toPrimitive(key, true)); - if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; - return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; -}; -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { - it = toIObject(it); - key = toPrimitive(key, true); - if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; - var D = gOPD(it, key); - if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; - return D; -}; -var $getOwnPropertyNames = function getOwnPropertyNames(it) { - var names = gOPN(toIObject(it)); - var result = []; - var i = 0; - var key; - while (names.length > i) { - if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); - } return result; -}; -var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { - var IS_OP = it === ObjectProto; - var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); - var result = []; - var i = 0; - var key; - while (names.length > i) { - if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); - } return result; -}; - -// 19.4.1.1 Symbol([description]) -if (!USE_NATIVE) { - $Symbol = function Symbol() { - if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); - var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function (value) { - if (this === ObjectProto) $set.call(OPSymbols, value); - if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; - setSymbolDesc(this, tag, createDesc(1, value)); - }; - if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); - return wrap(tag); - }; - redefine($Symbol[PROTOTYPE], 'toString', function toString() { - return this._k; - }); - - $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; - _dereq_(79).f = gOPNExt.f = $getOwnPropertyNames; - _dereq_(84).f = $propertyIsEnumerable; - _dereq_(80).f = $getOwnPropertySymbols; - - if (DESCRIPTORS && !_dereq_(65)) { - redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); - } - - wksExt.f = function (name) { - return wrap(wks(name)); - }; -} - -$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); - -for (var es6Symbols = ( - // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 - 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' -).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); - -for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); - -$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { - // 19.4.2.1 Symbol.for(key) - 'for': function (key) { - return has(SymbolRegistry, key += '') - ? SymbolRegistry[key] - : SymbolRegistry[key] = $Symbol(key); - }, - // 19.4.2.5 Symbol.keyFor(sym) - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); - for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; - }, - useSetter: function () { setter = true; }, - useSimple: function () { setter = false; } -}); - -$export($export.S + $export.F * !USE_NATIVE, 'Object', { - // 19.1.2.2 Object.create(O [, Properties]) - create: $create, - // 19.1.2.4 Object.defineProperty(O, P, Attributes) - defineProperty: $defineProperty, - // 19.1.2.3 Object.defineProperties(O, Properties) - defineProperties: $defineProperties, - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - getOwnPropertyDescriptor: $getOwnPropertyDescriptor, - // 19.1.2.7 Object.getOwnPropertyNames(O) - getOwnPropertyNames: $getOwnPropertyNames, - // 19.1.2.8 Object.getOwnPropertySymbols(O) - getOwnPropertySymbols: $getOwnPropertySymbols -}); - -// 24.3.2 JSON.stringify(value [, replacer [, space]]) -$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { - var S = $Symbol(); - // MS Edge converts symbol values to JSON as {} - // WebKit converts symbol values to JSON as null - // V8 throws on boxed symbols - return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; -})), 'JSON', { - stringify: function stringify(it) { - var args = [it]; - var i = 1; - var replacer, $replacer; - while (arguments.length > i) args.push(arguments[i++]); - $replacer = replacer = args[1]; - if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined - if (!isArray(replacer)) replacer = function (key, value) { - if (typeof $replacer == 'function') value = $replacer.call(this, key, value); - if (!isSymbol(value)) return value; - }; - args[1] = replacer; - return _stringify.apply($JSON, args); - } -}); - -// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) -$Symbol[PROTOTYPE][TO_PRIMITIVE] || _dereq_(48)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); -// 19.4.3.5 Symbol.prototype[@@toStringTag] -setToStringTag($Symbol, 'Symbol'); -// 20.2.1.9 Math[@@toStringTag] -setToStringTag(Math, 'Math', true); -// 24.3.3 JSON[@@toStringTag] -setToStringTag(global.JSON, 'JSON', true); - -},{"100":100,"102":102,"116":116,"119":119,"123":123,"126":126,"127":127,"128":128,"16":16,"36":36,"39":39,"40":40,"42":42,"46":46,"47":47,"48":48,"55":55,"57":57,"65":65,"70":70,"74":74,"75":75,"77":77,"78":78,"79":79,"80":80,"83":83,"84":84,"92":92,"94":94}],255:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_(40); -var $typed = _dereq_(122); -var buffer = _dereq_(121); -var anObject = _dereq_(16); -var toAbsoluteIndex = _dereq_(113); -var toLength = _dereq_(117); -var isObject = _dereq_(57); -var ArrayBuffer = _dereq_(46).ArrayBuffer; -var speciesConstructor = _dereq_(103); -var $ArrayBuffer = buffer.ArrayBuffer; -var $DataView = buffer.DataView; -var $isView = $typed.ABV && ArrayBuffer.isView; -var $slice = $ArrayBuffer.prototype.slice; -var VIEW = $typed.VIEW; -var ARRAY_BUFFER = 'ArrayBuffer'; - -$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); - -$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { - // 24.1.3.1 ArrayBuffer.isView(arg) - isView: function isView(it) { - return $isView && $isView(it) || isObject(it) && VIEW in it; - } -}); - -$export($export.P + $export.U + $export.F * _dereq_(42)(function () { - return !new $ArrayBuffer(2).slice(1, undefined).byteLength; -}), ARRAY_BUFFER, { - // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) - slice: function slice(start, end) { - if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix - var len = anObject(this).byteLength; - var first = toAbsoluteIndex(start, len); - var fin = toAbsoluteIndex(end === undefined ? len : end, len); - var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); - var viewS = new $DataView(this); - var viewT = new $DataView(result); - var index = 0; - while (first < fin) { - viewT.setUint8(index++, viewS.getUint8(first++)); - } return result; - } -}); - -_dereq_(99)(ARRAY_BUFFER); - -},{"103":103,"113":113,"117":117,"121":121,"122":122,"16":16,"40":40,"42":42,"46":46,"57":57,"99":99}],256:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -$export($export.G + $export.W + $export.F * !_dereq_(122).ABV, { - DataView: _dereq_(121).DataView -}); - -},{"121":121,"122":122,"40":40}],257:[function(_dereq_,module,exports){ -_dereq_(120)('Float32', 4, function (init) { - return function Float32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"120":120}],258:[function(_dereq_,module,exports){ -_dereq_(120)('Float64', 8, function (init) { - return function Float64Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"120":120}],259:[function(_dereq_,module,exports){ -_dereq_(120)('Int16', 2, function (init) { - return function Int16Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"120":120}],260:[function(_dereq_,module,exports){ -_dereq_(120)('Int32', 4, function (init) { - return function Int32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"120":120}],261:[function(_dereq_,module,exports){ -_dereq_(120)('Int8', 1, function (init) { - return function Int8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"120":120}],262:[function(_dereq_,module,exports){ -_dereq_(120)('Uint16', 2, function (init) { - return function Uint16Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"120":120}],263:[function(_dereq_,module,exports){ -_dereq_(120)('Uint32', 4, function (init) { - return function Uint32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"120":120}],264:[function(_dereq_,module,exports){ -_dereq_(120)('Uint8', 1, function (init) { - return function Uint8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"120":120}],265:[function(_dereq_,module,exports){ -_dereq_(120)('Uint8', 1, function (init) { - return function Uint8ClampedArray(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}, true); - -},{"120":120}],266:[function(_dereq_,module,exports){ -'use strict'; -var each = _dereq_(20)(0); -var redefine = _dereq_(94); -var meta = _dereq_(70); -var assign = _dereq_(73); -var weak = _dereq_(28); -var isObject = _dereq_(57); -var fails = _dereq_(42); -var validate = _dereq_(125); -var WEAK_MAP = 'WeakMap'; -var getWeak = meta.getWeak; -var isExtensible = Object.isExtensible; -var uncaughtFrozenStore = weak.ufstore; -var tmp = {}; -var InternalMap; - -var wrapper = function (get) { - return function WeakMap() { - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; -}; - -var methods = { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key) { - if (isObject(key)) { - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); - return data ? data[this._i] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value) { - return weak.def(validate(this, WEAK_MAP), key, value); - } -}; - -// 23.3 WeakMap Objects -var $WeakMap = module.exports = _dereq_(29)(WEAK_MAP, wrapper, methods, weak, true, true); - -// IE11 WeakMap frozen keys fix -if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { - InternalMap = weak.getConstructor(wrapper, WEAK_MAP); - assign(InternalMap.prototype, methods); - meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function (key) { - var proto = $WeakMap.prototype; - var method = proto[key]; - redefine(proto, key, function (a, b) { - // store frozen objects on internal weakmap shim - if (isObject(a) && !isExtensible(a)) { - if (!this._f) this._f = new InternalMap(); - var result = this._f[key](a, b); - return key == 'set' ? this : result; - // store all the rest on native weakmap - } return method.call(this, a, b); - }); - }); -} - -},{"125":125,"20":20,"28":28,"29":29,"42":42,"57":57,"70":70,"73":73,"94":94}],267:[function(_dereq_,module,exports){ -'use strict'; -var weak = _dereq_(28); -var validate = _dereq_(125); -var WEAK_SET = 'WeakSet'; - -// 23.4 WeakSet Objects -_dereq_(29)(WEAK_SET, function (get) { - return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; -}, { - // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value) { - return weak.def(validate(this, WEAK_SET), value, true); - } -}, weak, false, true); - -},{"125":125,"28":28,"29":29}],268:[function(_dereq_,module,exports){ -'use strict'; -// https://github.com/tc39/Array.prototype.includes -var $export = _dereq_(40); -var $includes = _dereq_(19)(true); - -$export($export.P, 'Array', { - includes: function includes(el /* , fromIndex = 0 */) { - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -_dereq_(13)('includes'); - -},{"13":13,"19":19,"40":40}],269:[function(_dereq_,module,exports){ -// https://github.com/tc39/proposal-object-values-entries -var $export = _dereq_(40); -var $entries = _dereq_(86)(true); - -$export($export.S, 'Object', { - entries: function entries(it) { - return $entries(it); - } -}); - -},{"40":40,"86":86}],270:[function(_dereq_,module,exports){ -// https://github.com/tc39/proposal-object-getownpropertydescriptors -var $export = _dereq_(40); -var ownKeys = _dereq_(87); -var toIObject = _dereq_(116); -var gOPD = _dereq_(77); -var createProperty = _dereq_(31); - -$export($export.S, 'Object', { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { - var O = toIObject(object); - var getDesc = gOPD.f; - var keys = ownKeys(O); - var result = {}; - var i = 0; - var key, desc; - while (keys.length > i) { - desc = getDesc(O, key = keys[i++]); - if (desc !== undefined) createProperty(result, key, desc); - } - return result; - } -}); - -},{"116":116,"31":31,"40":40,"77":77,"87":87}],271:[function(_dereq_,module,exports){ -// https://github.com/tc39/proposal-object-values-entries -var $export = _dereq_(40); -var $values = _dereq_(86)(false); - -$export($export.S, 'Object', { - values: function values(it) { - return $values(it); - } -}); - -},{"40":40,"86":86}],272:[function(_dereq_,module,exports){ -// https://github.com/tc39/proposal-promise-finally -'use strict'; -var $export = _dereq_(40); -var core = _dereq_(30); -var global = _dereq_(46); -var speciesConstructor = _dereq_(103); -var promiseResolve = _dereq_(91); - -$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { - var C = speciesConstructor(this, core.Promise || global.Promise); - var isFunction = typeof onFinally == 'function'; - return this.then( - isFunction ? function (x) { - return promiseResolve(C, onFinally()).then(function () { return x; }); - } : onFinally, - isFunction ? function (e) { - return promiseResolve(C, onFinally()).then(function () { throw e; }); - } : onFinally - ); -} }); - -},{"103":103,"30":30,"40":40,"46":46,"91":91}],273:[function(_dereq_,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-string-pad-start-end -var $export = _dereq_(40); -var $pad = _dereq_(108); -var userAgent = _dereq_(124); - -// https://github.com/zloirock/core-js/issues/280 -$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { - padEnd: function padEnd(maxLength /* , fillString = ' ' */) { - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); - } -}); - -},{"108":108,"124":124,"40":40}],274:[function(_dereq_,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-string-pad-start-end -var $export = _dereq_(40); -var $pad = _dereq_(108); -var userAgent = _dereq_(124); - -// https://github.com/zloirock/core-js/issues/280 -$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { - padStart: function padStart(maxLength /* , fillString = ' ' */) { - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); - } -}); - -},{"108":108,"124":124,"40":40}],275:[function(_dereq_,module,exports){ -_dereq_(126)('asyncIterator'); - -},{"126":126}],276:[function(_dereq_,module,exports){ -var $iterators = _dereq_(140); -var getKeys = _dereq_(83); -var redefine = _dereq_(94); -var global = _dereq_(46); -var hide = _dereq_(48); -var Iterators = _dereq_(64); -var wks = _dereq_(128); -var ITERATOR = wks('iterator'); -var TO_STRING_TAG = wks('toStringTag'); -var ArrayValues = Iterators.Array; - -var DOMIterables = { - CSSRuleList: true, // TODO: Not spec compliant, should be false. - CSSStyleDeclaration: false, - CSSValueList: false, - ClientRectList: false, - DOMRectList: false, - DOMStringList: false, - DOMTokenList: true, - DataTransferItemList: false, - FileList: false, - HTMLAllCollection: false, - HTMLCollection: false, - HTMLFormElement: false, - HTMLSelectElement: false, - MediaList: true, // TODO: Not spec compliant, should be false. - MimeTypeArray: false, - NamedNodeMap: false, - NodeList: true, - PaintRequestList: false, - Plugin: false, - PluginArray: false, - SVGLengthList: false, - SVGNumberList: false, - SVGPathSegList: false, - SVGPointList: false, - SVGStringList: false, - SVGTransformList: false, - SourceBufferList: false, - StyleSheetList: true, // TODO: Not spec compliant, should be false. - TextTrackCueList: false, - TextTrackList: false, - TouchList: false -}; - -for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { - var NAME = collections[i]; - var explicit = DOMIterables[NAME]; - var Collection = global[NAME]; - var proto = Collection && Collection.prototype; - var key; - if (proto) { - if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); - if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = ArrayValues; - if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); - } -} - -},{"128":128,"140":140,"46":46,"48":48,"64":64,"83":83,"94":94}],277:[function(_dereq_,module,exports){ -var $export = _dereq_(40); -var $task = _dereq_(112); -$export($export.G + $export.B, { - setImmediate: $task.set, - clearImmediate: $task.clear -}); - -},{"112":112,"40":40}],278:[function(_dereq_,module,exports){ -// ie9- setTimeout & setInterval additional parameters fix -var global = _dereq_(46); -var $export = _dereq_(40); -var userAgent = _dereq_(124); -var slice = [].slice; -var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check -var wrap = function (set) { - return function (fn, time /* , ...args */) { - var boundArgs = arguments.length > 2; - var args = boundArgs ? slice.call(arguments, 2) : false; - return set(boundArgs ? function () { - // eslint-disable-next-line no-new-func - (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); - } : fn, time); - }; -}; -$export($export.G + $export.B + $export.F * MSIE, { - setTimeout: wrap(global.setTimeout), - setInterval: wrap(global.setInterval) -}); - -},{"124":124,"40":40,"46":46}],279:[function(_dereq_,module,exports){ -_dereq_(278); -_dereq_(277); -_dereq_(276); -module.exports = _dereq_(30); - -},{"276":276,"277":277,"278":278,"30":30}],280:[function(_dereq_,module,exports){ -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -!(function(global) { - "use strict"; - - var Op = Object.prototype; - var hasOwn = Op.hasOwnProperty; - var undefined; // More compressible than void 0. - var $Symbol = typeof Symbol === "function" ? Symbol : {}; - var iteratorSymbol = $Symbol.iterator || "@@iterator"; - var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; - var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - - var inModule = typeof module === "object"; - var runtime = global.regeneratorRuntime; - if (runtime) { - if (inModule) { - // If regeneratorRuntime is defined globally and we're in a module, - // make the exports object identical to regeneratorRuntime. - module.exports = runtime; - } - // Don't bother evaluating the rest of this file if the runtime was - // already defined globally. - return; - } - - // Define the runtime globally (as expected by generated code) as either - // module.exports (if we're in a module) or a new, empty object. - runtime = global.regeneratorRuntime = inModule ? module.exports : {}; - - function wrap(innerFn, outerFn, self, tryLocsList) { - // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; - var generator = Object.create(protoGenerator.prototype); - var context = new Context(tryLocsList || []); - - // The ._invoke method unifies the implementations of the .next, - // .throw, and .return methods. - generator._invoke = makeInvokeMethod(innerFn, self, context); - - return generator; - } - runtime.wrap = wrap; - - // Try/catch helper to minimize deoptimizations. Returns a completion - // record like context.tryEntries[i].completion. This interface could - // have been (and was previously) designed to take a closure to be - // invoked without arguments, but in all the cases we care about we - // already have an existing method we want to call, so there's no need - // to create a new function object. We can even get away with assuming - // the method takes exactly one argument, since that happens to be true - // in every case, so we don't have to touch the arguments object. The - // only additional allocation required is the completion record, which - // has a stable shape and so hopefully should be cheap to allocate. - function tryCatch(fn, obj, arg) { - try { - return { type: "normal", arg: fn.call(obj, arg) }; - } catch (err) { - return { type: "throw", arg: err }; - } - } - - var GenStateSuspendedStart = "suspendedStart"; - var GenStateSuspendedYield = "suspendedYield"; - var GenStateExecuting = "executing"; - var GenStateCompleted = "completed"; - - // Returning this object from the innerFn has the same effect as - // breaking out of the dispatch switch statement. - var ContinueSentinel = {}; - - // Dummy constructor functions that we use as the .constructor and - // .constructor.prototype properties for functions that return Generator - // objects. For full spec compliance, you may wish to configure your - // minifier not to mangle the names of these two functions. - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - - // This is a polyfill for %IteratorPrototype% for environments that - // don't natively support it. - var IteratorPrototype = {}; - IteratorPrototype[iteratorSymbol] = function () { - return this; - }; - - var getProto = Object.getPrototypeOf; - var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - if (NativeIteratorPrototype && - NativeIteratorPrototype !== Op && - hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { - // This environment has a native %IteratorPrototype%; use it instead - // of the polyfill. - IteratorPrototype = NativeIteratorPrototype; - } - - var Gp = GeneratorFunctionPrototype.prototype = - Generator.prototype = Object.create(IteratorPrototype); - GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; - GeneratorFunctionPrototype.constructor = GeneratorFunction; - GeneratorFunctionPrototype[toStringTagSymbol] = - GeneratorFunction.displayName = "GeneratorFunction"; - - // Helper for defining the .next, .throw, and .return methods of the - // Iterator interface in terms of a single ._invoke method. - function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function(method) { - prototype[method] = function(arg) { - return this._invoke(method, arg); - }; - }); - } - - runtime.isGeneratorFunction = function(genFun) { - var ctor = typeof genFun === "function" && genFun.constructor; - return ctor - ? ctor === GeneratorFunction || - // For the native GeneratorFunction constructor, the best we can - // do is to check its .name property. - (ctor.displayName || ctor.name) === "GeneratorFunction" - : false; - }; - - runtime.mark = function(genFun) { - if (Object.setPrototypeOf) { - Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); - } else { - genFun.__proto__ = GeneratorFunctionPrototype; - if (!(toStringTagSymbol in genFun)) { - genFun[toStringTagSymbol] = "GeneratorFunction"; - } - } - genFun.prototype = Object.create(Gp); - return genFun; - }; - - // Within the body of any async function, `await x` is transformed to - // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test - // `hasOwn.call(value, "__await")` to determine if the yielded value is - // meant to be awaited. - runtime.awrap = function(arg) { - return { __await: arg }; - }; - - function AsyncIterator(generator) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); - if (record.type === "throw") { - reject(record.arg); - } else { - var result = record.arg; - var value = result.value; - if (value && - typeof value === "object" && - hasOwn.call(value, "__await")) { - return Promise.resolve(value.__await).then(function(value) { - invoke("next", value, resolve, reject); - }, function(err) { - invoke("throw", err, resolve, reject); - }); - } - - return Promise.resolve(value).then(function(unwrapped) { - // When a yielded Promise is resolved, its final value becomes - // the .value of the Promise<{value,done}> result for the - // current iteration. - result.value = unwrapped; - resolve(result); - }, function(error) { - // If a rejected Promise was yielded, throw the rejection back - // into the async generator function so it can be handled there. - return invoke("throw", error, resolve, reject); - }); - } - } - - var previousPromise; - - function enqueue(method, arg) { - function callInvokeWithMethodAndArg() { - return new Promise(function(resolve, reject) { - invoke(method, arg, resolve, reject); - }); - } - - return previousPromise = - // If enqueue has been called before, then we want to wait until - // all previous Promises have been resolved before calling invoke, - // so that results are always delivered in the correct order. If - // enqueue has not been called before, then it is important to - // call invoke immediately, without waiting on a callback to fire, - // so that the async generator function has the opportunity to do - // any necessary setup in a predictable way. This predictability - // is why the Promise constructor synchronously invokes its - // executor callback, and why async functions synchronously - // execute code before the first await. Since we implement simple - // async functions in terms of async generators, it is especially - // important to get this right, even though it requires care. - previousPromise ? previousPromise.then( - callInvokeWithMethodAndArg, - // Avoid propagating failures to Promises returned by later - // invocations of the iterator. - callInvokeWithMethodAndArg - ) : callInvokeWithMethodAndArg(); - } - - // Define the unified helper method that is used to implement .next, - // .throw, and .return (see defineIteratorMethods). - this._invoke = enqueue; - } - - defineIteratorMethods(AsyncIterator.prototype); - AsyncIterator.prototype[asyncIteratorSymbol] = function () { - return this; - }; - runtime.AsyncIterator = AsyncIterator; - - // Note that simple async functions are implemented on top of - // AsyncIterator objects; they just return a Promise for the value of - // the final result produced by the iterator. - runtime.async = function(innerFn, outerFn, self, tryLocsList) { - var iter = new AsyncIterator( - wrap(innerFn, outerFn, self, tryLocsList) - ); - - return runtime.isGeneratorFunction(outerFn) - ? iter // If outerFn is a generator, return the full iterator. - : iter.next().then(function(result) { - return result.done ? result.value : iter.next(); - }); - }; - - function makeInvokeMethod(innerFn, self, context) { - var state = GenStateSuspendedStart; - - return function invoke(method, arg) { - if (state === GenStateExecuting) { - throw new Error("Generator is already running"); - } - - if (state === GenStateCompleted) { - if (method === "throw") { - throw arg; - } - - // Be forgiving, per 25.3.3.3.3 of the spec: - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume - return doneResult(); - } - - context.method = method; - context.arg = arg; - - while (true) { - var delegate = context.delegate; - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; - } - } - - if (context.method === "next") { - // Setting context._sent for legacy support of Babel's - // function.sent implementation. - context.sent = context._sent = context.arg; - - } else if (context.method === "throw") { - if (state === GenStateSuspendedStart) { - state = GenStateCompleted; - throw context.arg; - } - - context.dispatchException(context.arg); - - } else if (context.method === "return") { - context.abrupt("return", context.arg); - } - - state = GenStateExecuting; - - var record = tryCatch(innerFn, self, context); - if (record.type === "normal") { - // If an exception is thrown from innerFn, we leave state === - // GenStateExecuting and loop back for another invocation. - state = context.done - ? GenStateCompleted - : GenStateSuspendedYield; - - if (record.arg === ContinueSentinel) { - continue; - } - - return { - value: record.arg, - done: context.done - }; - - } else if (record.type === "throw") { - state = GenStateCompleted; - // Dispatch the exception by looping back around to the - // context.dispatchException(context.arg) call above. - context.method = "throw"; - context.arg = record.arg; - } - } - }; - } - - // Call delegate.iterator[context.method](context.arg) and handle the - // result, either by returning a { value, done } result from the - // delegate iterator, or by modifying context.method and context.arg, - // setting context.delegate to null, and returning the ContinueSentinel. - function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; - if (method === undefined) { - // A .throw or .return when the delegate iterator has no .throw - // method always terminates the yield* loop. - context.delegate = null; - - if (context.method === "throw") { - if (delegate.iterator.return) { - // If the delegate iterator has a return method, give it a - // chance to clean up. - context.method = "return"; - context.arg = undefined; - maybeInvokeDelegate(delegate, context); - - if (context.method === "throw") { - // If maybeInvokeDelegate(context) changed context.method from - // "return" to "throw", let that override the TypeError below. - return ContinueSentinel; - } - } - - context.method = "throw"; - context.arg = new TypeError( - "The iterator does not provide a 'throw' method"); - } - - return ContinueSentinel; - } - - var record = tryCatch(method, delegate.iterator, context.arg); - - if (record.type === "throw") { - context.method = "throw"; - context.arg = record.arg; - context.delegate = null; - return ContinueSentinel; - } - - var info = record.arg; - - if (! info) { - context.method = "throw"; - context.arg = new TypeError("iterator result is not an object"); - context.delegate = null; - return ContinueSentinel; - } - - if (info.done) { - // Assign the result of the finished delegate to the temporary - // variable specified by delegate.resultName (see delegateYield). - context[delegate.resultName] = info.value; - - // Resume execution at the desired location (see delegateYield). - context.next = delegate.nextLoc; - - // If context.method was "throw" but the delegate handled the - // exception, let the outer generator proceed normally. If - // context.method was "next", forget context.arg since it has been - // "consumed" by the delegate iterator. If context.method was - // "return", allow the original .return call to continue in the - // outer generator. - if (context.method !== "return") { - context.method = "next"; - context.arg = undefined; - } - - } else { - // Re-yield the result returned by the delegate method. - return info; - } - - // The delegate iterator is finished, so forget it and continue with - // the outer generator. - context.delegate = null; - return ContinueSentinel; - } - - // Define Generator.prototype.{next,throw,return} in terms of the - // unified ._invoke helper method. - defineIteratorMethods(Gp); - - Gp[toStringTagSymbol] = "Generator"; - - // A Generator should always return itself as the iterator object when the - // @@iterator function is called on it. Some browsers' implementations of the - // iterator prototype chain incorrectly implement this, causing the Generator - // object to not be returned from this call. This ensures that doesn't happen. - // See https://github.com/facebook/regenerator/issues/274 for more details. - Gp[iteratorSymbol] = function() { - return this; - }; - - Gp.toString = function() { - return "[object Generator]"; - }; - - function pushTryEntry(locs) { - var entry = { tryLoc: locs[0] }; - - if (1 in locs) { - entry.catchLoc = locs[1]; - } - - if (2 in locs) { - entry.finallyLoc = locs[2]; - entry.afterLoc = locs[3]; - } - - this.tryEntries.push(entry); - } - - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal"; - delete record.arg; - entry.completion = record; - } - - function Context(tryLocsList) { - // The root entry object (effectively a try statement without a catch - // or a finally block) gives us a place to store values thrown from - // locations where there is no enclosing try statement. - this.tryEntries = [{ tryLoc: "root" }]; - tryLocsList.forEach(pushTryEntry, this); - this.reset(true); - } - - runtime.keys = function(object) { - var keys = []; - for (var key in object) { - keys.push(key); - } - keys.reverse(); - - // Rather than returning an object with a next method, we keep - // things simple and return the next function itself. - return function next() { - while (keys.length) { - var key = keys.pop(); - if (key in object) { - next.value = key; - next.done = false; - return next; - } - } - - // To avoid creating an additional object, we just hang the .value - // and .done properties off the next function object itself. This - // also ensures that the minifier will not anonymize the function. - next.done = true; - return next; - }; - }; - - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - if (iteratorMethod) { - return iteratorMethod.call(iterable); - } - - if (typeof iterable.next === "function") { - return iterable; - } - - if (!isNaN(iterable.length)) { - var i = -1, next = function next() { - while (++i < iterable.length) { - if (hasOwn.call(iterable, i)) { - next.value = iterable[i]; - next.done = false; - return next; - } - } - - next.value = undefined; - next.done = true; - - return next; - }; - - return next.next = next; - } - } - - // Return an iterator with no values. - return { next: doneResult }; - } - runtime.values = values; - - function doneResult() { - return { value: undefined, done: true }; - } - - Context.prototype = { - constructor: Context, - - reset: function(skipTempReset) { - this.prev = 0; - this.next = 0; - // Resetting context._sent for legacy support of Babel's - // function.sent implementation. - this.sent = this._sent = undefined; - this.done = false; - this.delegate = null; - - this.method = "next"; - this.arg = undefined; - - this.tryEntries.forEach(resetTryEntry); - - if (!skipTempReset) { - for (var name in this) { - // Not sure about the optimal order of these conditions: - if (name.charAt(0) === "t" && - hasOwn.call(this, name) && - !isNaN(+name.slice(1))) { - this[name] = undefined; - } - } - } - }, - - stop: function() { - this.done = true; - - var rootEntry = this.tryEntries[0]; - var rootRecord = rootEntry.completion; - if (rootRecord.type === "throw") { - throw rootRecord.arg; - } - - return this.rval; - }, - - dispatchException: function(exception) { - if (this.done) { - throw exception; - } - - var context = this; - function handle(loc, caught) { - record.type = "throw"; - record.arg = exception; - context.next = loc; - - if (caught) { - // If the dispatched exception was caught by a catch block, - // then let that catch block handle the exception normally. - context.method = "next"; - context.arg = undefined; - } - - return !! caught; - } - - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - var record = entry.completion; - - if (entry.tryLoc === "root") { - // Exception thrown outside of any try block that could handle - // it, so set the completion value of the entire function to - // throw the exception. - return handle("end"); - } - - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"); - var hasFinally = hasOwn.call(entry, "finallyLoc"); - - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } else if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else if (hasCatch) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } - - } else if (hasFinally) { - if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else { - throw new Error("try statement without catch or finally"); - } - } - } - }, - - abrupt: function(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc <= this.prev && - hasOwn.call(entry, "finallyLoc") && - this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; - } - } - - if (finallyEntry && - (type === "break" || - type === "continue") && - finallyEntry.tryLoc <= arg && - arg <= finallyEntry.finallyLoc) { - // Ignore the finally entry if control is not jumping to a - // location outside the try/catch block. - finallyEntry = null; - } - - var record = finallyEntry ? finallyEntry.completion : {}; - record.type = type; - record.arg = arg; - - if (finallyEntry) { - this.method = "next"; - this.next = finallyEntry.finallyLoc; - return ContinueSentinel; - } - - return this.complete(record); - }, - - complete: function(record, afterLoc) { - if (record.type === "throw") { - throw record.arg; - } - - if (record.type === "break" || - record.type === "continue") { - this.next = record.arg; - } else if (record.type === "return") { - this.rval = this.arg = record.arg; - this.method = "return"; - this.next = "end"; - } else if (record.type === "normal" && afterLoc) { - this.next = afterLoc; - } - - return ContinueSentinel; - }, - - finish: function(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.finallyLoc === finallyLoc) { - this.complete(entry.completion, entry.afterLoc); - resetTryEntry(entry); - return ContinueSentinel; - } - } - }, - - "catch": function(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - if (record.type === "throw") { - var thrown = record.arg; - resetTryEntry(entry); - } - return thrown; - } - } - - // The context.catch method must only be called with a location - // argument that corresponds to a known catch block. - throw new Error("illegal catch attempt"); - }, - - delegateYield: function(iterable, resultName, nextLoc) { - this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }; - - if (this.method === "next") { - // Deliberately forget the last sent value so that we don't - // accidentally pass it on to the delegate. - this.arg = undefined; - } - - return ContinueSentinel; - } - }; -})( - // In sloppy mode, unbound `this` refers to the global object, fallback to - // Function constructor if we're in global strict mode. That is sadly a form - // of indirect eval which violates Content Security Policy. - (function() { - return this || (typeof self === "object" && self); - })() || Function("return this")() -); - -},{}]},{},[1]); diff --git a/ant-design-vue-jeecg/public/cdn/font-icon/font_2316098_umqusozousr.js b/ant-design-vue-jeecg/public/cdn/font-icon/font_2316098_umqusozousr.js deleted file mode 100644 index b098acff..00000000 --- a/ant-design-vue-jeecg/public/cdn/font-icon/font_2316098_umqusozousr.js +++ /dev/null @@ -1 +0,0 @@ -!function(c){var a,t,e,i,l,n,o='',d=(d=document.getElementsByTagName("script"))[d.length-1].getAttribute("data-injectcss");if(d&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function h(){l||(l=!0,e())}a=function(){var c,a,t,e;(e=document.createElement("div")).innerHTML=o,o=null,(t=e.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",c=t,(a=document.body).firstChild?(e=c,(t=a.firstChild).parentNode.insertBefore(e,t)):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),a()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(e=a,i=c.document,l=!1,(n=function(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(n,50)}h()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,h())})}(window); \ No newline at end of file diff --git a/ant-design-vue-jeecg/public/color.less b/ant-design-vue-jeecg/public/color.less deleted file mode 100644 index 0f799c1d..00000000 --- a/ant-design-vue-jeecg/public/color.less +++ /dev/null @@ -1,7720 +0,0 @@ -@primary-color: #1890ff; -/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ -/* stylelint-disable no-duplicate-selectors */ -/* stylelint-disable */ -.bezierEasingMixin() { - @functions: ~`(function() { - var NEWTON_ITERATIONS = 4; - var NEWTON_MIN_SLOPE = 0.001; - var SUBDIVISION_PRECISION = 0.0000001; - var SUBDIVISION_MAX_ITERATIONS = 10; - - var kSplineTableSize = 11; - var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); - - var float32ArraySupported = typeof Float32Array === 'function'; - - function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; } - function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; } - function C (aA1) { return 3.0 * aA1; } - - // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2. - function calcBezier (aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; } - - // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2. - function getSlope (aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); } - - function binarySubdivide (aX, aA, aB, mX1, mX2) { - var currentX, currentT, i = 0; - do { - currentT = aA + (aB - aA) / 2.0; - currentX = calcBezier(currentT, mX1, mX2) - aX; - if (currentX > 0.0) { - aB = currentT; - } else { - aA = currentT; - } - } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS); - return currentT; - } - - function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) { - for (var i = 0; i < NEWTON_ITERATIONS; ++i) { - var currentSlope = getSlope(aGuessT, mX1, mX2); - if (currentSlope === 0.0) { - return aGuessT; - } - var currentX = calcBezier(aGuessT, mX1, mX2) - aX; - aGuessT -= currentX / currentSlope; - } - return aGuessT; - } - - var BezierEasing = function (mX1, mY1, mX2, mY2) { - if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { - throw new Error('bezier x values must be in [0, 1] range'); - } - - // Precompute samples table - var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize); - if (mX1 !== mY1 || mX2 !== mY2) { - for (var i = 0; i < kSplineTableSize; ++i) { - sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); - } - } - - function getTForX (aX) { - var intervalStart = 0.0; - var currentSample = 1; - var lastSample = kSplineTableSize - 1; - - for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { - intervalStart += kSampleStepSize; - } - --currentSample; - - // Interpolate to provide an initial guess for t - var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]); - var guessForT = intervalStart + dist * kSampleStepSize; - - var initialSlope = getSlope(guessForT, mX1, mX2); - if (initialSlope >= NEWTON_MIN_SLOPE) { - return newtonRaphsonIterate(aX, guessForT, mX1, mX2); - } else if (initialSlope === 0.0) { - return guessForT; - } else { - return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); - } - } - - return function BezierEasing (x) { - if (mX1 === mY1 && mX2 === mY2) { - return x; // linear - } - // Because JavaScript number are imprecise, we should guarantee the extremes are right. - if (x === 0) { - return 0; - } - if (x === 1) { - return 1; - } - return calcBezier(getTForX(x), mY1, mY2); - }; - }; - - this.colorEasing = BezierEasing(0.26, 0.09, 0.37, 0.18); - // less 3 requires a return - return ''; -})()`; -} -// It is hacky way to make this function will be compiled preferentially by less -// resolve error: `ReferenceError: colorPalette is not defined` -// https://github.com/ant-design/ant-motion/issues/44 -.bezierEasingMixin(); - -/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */ -.tinyColorMixin() { - @functions: ~`(function() { -// TinyColor v1.4.1 -// https://github.com/bgrins/TinyColor -// 2016-07-07, Brian Grinstead, MIT License -var trimLeft = /^\s+/, - trimRight = /\s+$/, - tinyCounter = 0, - mathRound = Math.round, - mathMin = Math.min, - mathMax = Math.max, - mathRandom = Math.random; - -function tinycolor (color, opts) { - - color = (color) ? color : ''; - opts = opts || { }; - - // If input is already a tinycolor, return itself - if (color instanceof tinycolor) { - return color; - } - // If we are called as a function, call using new instead - if (!(this instanceof tinycolor)) { - return new tinycolor(color, opts); - } - - var rgb = inputToRGB(color); - this._originalInput = color, - this._r = rgb.r, - this._g = rgb.g, - this._b = rgb.b, - this._a = rgb.a, - this._roundA = mathRound(100*this._a) / 100, - this._format = opts.format || rgb.format; - this._gradientType = opts.gradientType; - - // Don't let the range of [0,255] come back in [0,1]. - // Potentially lose a little bit of precision here, but will fix issues where - // .5 gets interpreted as half of the total, instead of half of 1 - // If it was supposed to be 128, this was already taken care of by inputToRgb - if (this._r < 1) { this._r = mathRound(this._r); } - if (this._g < 1) { this._g = mathRound(this._g); } - if (this._b < 1) { this._b = mathRound(this._b); } - - this._ok = rgb.ok; - this._tc_id = tinyCounter++; -} - -tinycolor.prototype = { - isDark: function() { - return this.getBrightness() < 128; - }, - isLight: function() { - return !this.isDark(); - }, - isValid: function() { - return this._ok; - }, - getOriginalInput: function() { - return this._originalInput; - }, - getFormat: function() { - return this._format; - }, - getAlpha: function() { - return this._a; - }, - getBrightness: function() { - //http://www.w3.org/TR/AERT#color-contrast - var rgb = this.toRgb(); - return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; - }, - getLuminance: function() { - //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef - var rgb = this.toRgb(); - var RsRGB, GsRGB, BsRGB, R, G, B; - RsRGB = rgb.r/255; - GsRGB = rgb.g/255; - BsRGB = rgb.b/255; - - if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);} - if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);} - if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);} - return (0.2126 * R) + (0.7152 * G) + (0.0722 * B); - }, - setAlpha: function(value) { - this._a = boundAlpha(value); - this._roundA = mathRound(100*this._a) / 100; - return this; - }, - toHsv: function() { - var hsv = rgbToHsv(this._r, this._g, this._b); - return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a }; - }, - toHsvString: function() { - var hsv = rgbToHsv(this._r, this._g, this._b); - var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100); - return (this._a == 1) ? - "hsv(" + h + ", " + s + "%, " + v + "%)" : - "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")"; - }, - toHsl: function() { - var hsl = rgbToHsl(this._r, this._g, this._b); - return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a }; - }, - toHslString: function() { - var hsl = rgbToHsl(this._r, this._g, this._b); - var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100); - return (this._a == 1) ? - "hsl(" + h + ", " + s + "%, " + l + "%)" : - "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")"; - }, - toHex: function(allow3Char) { - return rgbToHex(this._r, this._g, this._b, allow3Char); - }, - toHexString: function(allow3Char) { - return '#' + this.toHex(allow3Char); - }, - toHex8: function(allow4Char) { - return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char); - }, - toHex8String: function(allow4Char) { - return '#' + this.toHex8(allow4Char); - }, - toRgb: function() { - return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a }; - }, - toRgbString: function() { - return (this._a == 1) ? - "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : - "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")"; - }, - toPercentageRgb: function() { - return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a }; - }, - toPercentageRgbString: function() { - return (this._a == 1) ? - "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : - "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")"; - }, - toName: function() { - if (this._a === 0) { - return "transparent"; - } - - if (this._a < 1) { - return false; - } - - return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false; - }, - toFilter: function(secondColor) { - var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a); - var secondHex8String = hex8String; - var gradientType = this._gradientType ? "GradientType = 1, " : ""; - - if (secondColor) { - var s = tinycolor(secondColor); - secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a); - } - - return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"; - }, - toString: function(format) { - var formatSet = !!format; - format = format || this._format; - - var formattedString = false; - var hasAlpha = this._a < 1 && this._a >= 0; - var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name"); - - if (needsAlphaFormat) { - // Special case for "transparent", all other non-alpha formats - // will return rgba when there is transparency. - if (format === "name" && this._a === 0) { - return this.toName(); - } - return this.toRgbString(); - } - if (format === "rgb") { - formattedString = this.toRgbString(); - } - if (format === "prgb") { - formattedString = this.toPercentageRgbString(); - } - if (format === "hex" || format === "hex6") { - formattedString = this.toHexString(); - } - if (format === "hex3") { - formattedString = this.toHexString(true); - } - if (format === "hex4") { - formattedString = this.toHex8String(true); - } - if (format === "hex8") { - formattedString = this.toHex8String(); - } - if (format === "name") { - formattedString = this.toName(); - } - if (format === "hsl") { - formattedString = this.toHslString(); - } - if (format === "hsv") { - formattedString = this.toHsvString(); - } - - return formattedString || this.toHexString(); - }, - clone: function() { - return tinycolor(this.toString()); - }, - - _applyModification: function(fn, args) { - var color = fn.apply(null, [this].concat([].slice.call(args))); - this._r = color._r; - this._g = color._g; - this._b = color._b; - this.setAlpha(color._a); - return this; - }, - lighten: function() { - return this._applyModification(lighten, arguments); - }, - brighten: function() { - return this._applyModification(brighten, arguments); - }, - darken: function() { - return this._applyModification(darken, arguments); - }, - desaturate: function() { - return this._applyModification(desaturate, arguments); - }, - saturate: function() { - return this._applyModification(saturate, arguments); - }, - greyscale: function() { - return this._applyModification(greyscale, arguments); - }, - spin: function() { - return this._applyModification(spin, arguments); - }, - - _applyCombination: function(fn, args) { - return fn.apply(null, [this].concat([].slice.call(args))); - }, - analogous: function() { - return this._applyCombination(analogous, arguments); - }, - complement: function() { - return this._applyCombination(complement, arguments); - }, - monochromatic: function() { - return this._applyCombination(monochromatic, arguments); - }, - splitcomplement: function() { - return this._applyCombination(splitcomplement, arguments); - }, - triad: function() { - return this._applyCombination(triad, arguments); - }, - tetrad: function() { - return this._applyCombination(tetrad, arguments); - } -}; - -// If input is an object, force 1 into "1.0" to handle ratios properly -// String input requires "1.0" as input, so 1 will be treated as 1 -tinycolor.fromRatio = function(color, opts) { - if (typeof color == "object") { - var newColor = {}; - for (var i in color) { - if (color.hasOwnProperty(i)) { - if (i === "a") { - newColor[i] = color[i]; - } - else { - newColor[i] = convertToPercentage(color[i]); - } - } - } - color = newColor; - } - - return tinycolor(color, opts); -}; - -// Given a string or object, convert that input to RGB -// Possible string inputs: -// -// "red" -// "#f00" or "f00" -// "#ff0000" or "ff0000" -// "#ff000000" or "ff000000" -// "rgb 255 0 0" or "rgb (255, 0, 0)" -// "rgb 1.0 0 0" or "rgb (1, 0, 0)" -// "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" -// "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" -// "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" -// "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" -// "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" -// -function inputToRGB(color) { - - var rgb = { r: 0, g: 0, b: 0 }; - var a = 1; - var s = null; - var v = null; - var l = null; - var ok = false; - var format = false; - - if (typeof color == "string") { - color = stringInputToObject(color); - } - - if (typeof color == "object") { - if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { - rgb = rgbToRgb(color.r, color.g, color.b); - ok = true; - format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; - } - else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { - s = convertToPercentage(color.s); - v = convertToPercentage(color.v); - rgb = hsvToRgb(color.h, s, v); - ok = true; - format = "hsv"; - } - else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { - s = convertToPercentage(color.s); - l = convertToPercentage(color.l); - rgb = hslToRgb(color.h, s, l); - ok = true; - format = "hsl"; - } - - if (color.hasOwnProperty("a")) { - a = color.a; - } - } - - a = boundAlpha(a); - - return { - ok: ok, - format: color.format || format, - r: mathMin(255, mathMax(rgb.r, 0)), - g: mathMin(255, mathMax(rgb.g, 0)), - b: mathMin(255, mathMax(rgb.b, 0)), - a: a - }; -} - -// Conversion Functions -// -------------------- - -// rgbToHsl, rgbToHsv, hslToRgb, hsvToRgb modified from: -// - -// rgbToRgb -// Handle bounds / percentage checking to conform to CSS color spec -// -// *Assumes:* r, g, b in [0, 255] or [0, 1] -// *Returns:* { r, g, b } in [0, 255] -function rgbToRgb(r, g, b){ - return { - r: bound01(r, 255) * 255, - g: bound01(g, 255) * 255, - b: bound01(b, 255) * 255 - }; -} - -// rgbToHsl -// Converts an RGB color value to HSL. -// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] -// *Returns:* { h, s, l } in [0,1] -function rgbToHsl(r, g, b) { - - r = bound01(r, 255); - g = bound01(g, 255); - b = bound01(b, 255); - - var max = mathMax(r, g, b), min = mathMin(r, g, b); - var h, s, l = (max + min) / 2; - - if(max == min) { - h = s = 0; // achromatic - } - else { - var d = max - min; - s = l > 0.5 ? d / (2 - max - min) : d / (max + min); - switch(max) { - case r: h = (g - b) / d + (g < b ? 6 : 0); break; - case g: h = (b - r) / d + 2; break; - case b: h = (r - g) / d + 4; break; - } - - h /= 6; - } - - return { h: h, s: s, l: l }; -} - -// hslToRgb -// Converts an HSL color value to RGB. -// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] -// *Returns:* { r, g, b } in the set [0, 255] -function hslToRgb(h, s, l) { - var r, g, b; - - h = bound01(h, 360); - s = bound01(s, 100); - l = bound01(l, 100); - - function hue2rgb(p, q, t) { - if(t < 0) t += 1; - if(t > 1) t -= 1; - if(t < 1/6) return p + (q - p) * 6 * t; - if(t < 1/2) return q; - if(t < 2/3) return p + (q - p) * (2/3 - t) * 6; - return p; - } - - if(s === 0) { - r = g = b = l; // achromatic - } - else { - var q = l < 0.5 ? l * (1 + s) : l + s - l * s; - var p = 2 * l - q; - r = hue2rgb(p, q, h + 1/3); - g = hue2rgb(p, q, h); - b = hue2rgb(p, q, h - 1/3); - } - - return { r: r * 255, g: g * 255, b: b * 255 }; -} - -// rgbToHsv -// Converts an RGB color value to HSV -// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] -// *Returns:* { h, s, v } in [0,1] -function rgbToHsv(r, g, b) { - - r = bound01(r, 255); - g = bound01(g, 255); - b = bound01(b, 255); - - var max = mathMax(r, g, b), min = mathMin(r, g, b); - var h, s, v = max; - - var d = max - min; - s = max === 0 ? 0 : d / max; - - if(max == min) { - h = 0; // achromatic - } - else { - switch(max) { - case r: h = (g - b) / d + (g < b ? 6 : 0); break; - case g: h = (b - r) / d + 2; break; - case b: h = (r - g) / d + 4; break; - } - h /= 6; - } - return { h: h, s: s, v: v }; -} - -// hsvToRgb -// Converts an HSV color value to RGB. -// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] -// *Returns:* { r, g, b } in the set [0, 255] - function hsvToRgb(h, s, v) { - - h = bound01(h, 360) * 6; - s = bound01(s, 100); - v = bound01(v, 100); - - var i = Math.floor(h), - f = h - i, - p = v * (1 - s), - q = v * (1 - f * s), - t = v * (1 - (1 - f) * s), - mod = i % 6, - r = [v, q, p, p, t, v][mod], - g = [t, v, v, q, p, p][mod], - b = [p, p, t, v, v, q][mod]; - - return { r: r * 255, g: g * 255, b: b * 255 }; -} - -// rgbToHex -// Converts an RGB color to hex -// Assumes r, g, and b are contained in the set [0, 255] -// Returns a 3 or 6 character hex -function rgbToHex(r, g, b, allow3Char) { - - var hex = [ - pad2(mathRound(r).toString(16)), - pad2(mathRound(g).toString(16)), - pad2(mathRound(b).toString(16)) - ]; - - // Return a 3 character hex if possible - if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) { - return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); - } - - return hex.join(""); -} - -// rgbaToHex -// Converts an RGBA color plus alpha transparency to hex -// Assumes r, g, b are contained in the set [0, 255] and -// a in [0, 1]. Returns a 4 or 8 character rgba hex -function rgbaToHex(r, g, b, a, allow4Char) { - - var hex = [ - pad2(mathRound(r).toString(16)), - pad2(mathRound(g).toString(16)), - pad2(mathRound(b).toString(16)), - pad2(convertDecimalToHex(a)) - ]; - - // Return a 4 character hex if possible - if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) { - return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); - } - - return hex.join(""); -} - -// rgbaToArgbHex -// Converts an RGBA color to an ARGB Hex8 string -// Rarely used, but required for "toFilter()" -function rgbaToArgbHex(r, g, b, a) { - - var hex = [ - pad2(convertDecimalToHex(a)), - pad2(mathRound(r).toString(16)), - pad2(mathRound(g).toString(16)), - pad2(mathRound(b).toString(16)) - ]; - - return hex.join(""); -} - -// equals -// Can be called with any tinycolor input -tinycolor.equals = function (color1, color2) { - if (!color1 || !color2) { return false; } - return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString(); -}; - -tinycolor.random = function() { - return tinycolor.fromRatio({ - r: mathRandom(), - g: mathRandom(), - b: mathRandom() - }); -}; - -// Modification Functions -// ---------------------- -// Thanks to less.js for some of the basics here -// - -function desaturate(color, amount) { - amount = (amount === 0) ? 0 : (amount || 10); - var hsl = tinycolor(color).toHsl(); - hsl.s -= amount / 100; - hsl.s = clamp01(hsl.s); - return tinycolor(hsl); -} - -function saturate(color, amount) { - amount = (amount === 0) ? 0 : (amount || 10); - var hsl = tinycolor(color).toHsl(); - hsl.s += amount / 100; - hsl.s = clamp01(hsl.s); - return tinycolor(hsl); -} - -function greyscale(color) { - return tinycolor(color).desaturate(100); -} - -function lighten (color, amount) { - amount = (amount === 0) ? 0 : (amount || 10); - var hsl = tinycolor(color).toHsl(); - hsl.l += amount / 100; - hsl.l = clamp01(hsl.l); - return tinycolor(hsl); -} - -function brighten(color, amount) { - amount = (amount === 0) ? 0 : (amount || 10); - var rgb = tinycolor(color).toRgb(); - rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100)))); - rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100)))); - rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100)))); - return tinycolor(rgb); -} - -function darken (color, amount) { - amount = (amount === 0) ? 0 : (amount || 10); - var hsl = tinycolor(color).toHsl(); - hsl.l -= amount / 100; - hsl.l = clamp01(hsl.l); - return tinycolor(hsl); -} - -// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue. -// Values outside of this range will be wrapped into this range. -function spin(color, amount) { - var hsl = tinycolor(color).toHsl(); - var hue = (hsl.h + amount) % 360; - hsl.h = hue < 0 ? 360 + hue : hue; - return tinycolor(hsl); -} - -// Combination Functions -// --------------------- -// Thanks to jQuery xColor for some of the ideas behind these -// - -function complement(color) { - var hsl = tinycolor(color).toHsl(); - hsl.h = (hsl.h + 180) % 360; - return tinycolor(hsl); -} - -function triad(color) { - var hsl = tinycolor(color).toHsl(); - var h = hsl.h; - return [ - tinycolor(color), - tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }), - tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }) - ]; -} - -function tetrad(color) { - var hsl = tinycolor(color).toHsl(); - var h = hsl.h; - return [ - tinycolor(color), - tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }), - tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }), - tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }) - ]; -} - -function splitcomplement(color) { - var hsl = tinycolor(color).toHsl(); - var h = hsl.h; - return [ - tinycolor(color), - tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}), - tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l}) - ]; -} - -function analogous(color, results, slices) { - results = results || 6; - slices = slices || 30; - - var hsl = tinycolor(color).toHsl(); - var part = 360 / slices; - var ret = [tinycolor(color)]; - - for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) { - hsl.h = (hsl.h + part) % 360; - ret.push(tinycolor(hsl)); - } - return ret; -} - -function monochromatic(color, results) { - results = results || 6; - var hsv = tinycolor(color).toHsv(); - var h = hsv.h, s = hsv.s, v = hsv.v; - var ret = []; - var modification = 1 / results; - - while (results--) { - ret.push(tinycolor({ h: h, s: s, v: v})); - v = (v + modification) % 1; - } - - return ret; -} - -// Utility Functions -// --------------------- - -tinycolor.mix = function(color1, color2, amount) { - amount = (amount === 0) ? 0 : (amount || 50); - - var rgb1 = tinycolor(color1).toRgb(); - var rgb2 = tinycolor(color2).toRgb(); - - var p = amount / 100; - - var rgba = { - r: ((rgb2.r - rgb1.r) * p) + rgb1.r, - g: ((rgb2.g - rgb1.g) * p) + rgb1.g, - b: ((rgb2.b - rgb1.b) * p) + rgb1.b, - a: ((rgb2.a - rgb1.a) * p) + rgb1.a - }; - - return tinycolor(rgba); -}; - -// Readability Functions -// --------------------- -// false -// tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false -tinycolor.isReadable = function(color1, color2, wcag2) { - var readability = tinycolor.readability(color1, color2); - var wcag2Parms, out; - - out = false; - - wcag2Parms = validateWCAG2Parms(wcag2); - switch (wcag2Parms.level + wcag2Parms.size) { - case "AAsmall": - case "AAAlarge": - out = readability >= 4.5; - break; - case "AAlarge": - out = readability >= 3; - break; - case "AAAsmall": - out = readability >= 7; - break; - } - return out; - -}; - -// mostReadable -// Given a base color and a list of possible foreground or background -// colors for that base, returns the most readable color. -// Optionally returns Black or White if the most readable color is unreadable. -// *Example* -// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255" -// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString(); // "#ffffff" -// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3" -// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff" -tinycolor.mostReadable = function(baseColor, colorList, args) { - var bestColor = null; - var bestScore = 0; - var readability; - var includeFallbackColors, level, size ; - args = args || {}; - includeFallbackColors = args.includeFallbackColors ; - level = args.level; - size = args.size; - - for (var i= 0; i < colorList.length ; i++) { - readability = tinycolor.readability(baseColor, colorList[i]); - if (readability > bestScore) { - bestScore = readability; - bestColor = tinycolor(colorList[i]); - } - } - - if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) { - return bestColor; - } - else { - args.includeFallbackColors=false; - return tinycolor.mostReadable(baseColor,["#fff", "#000"],args); - } -}; - -// Big List of Colors -// ------------------ -// -var names = tinycolor.names = { - aliceblue: "f0f8ff", - antiquewhite: "faebd7", - aqua: "0ff", - aquamarine: "7fffd4", - azure: "f0ffff", - beige: "f5f5dc", - bisque: "ffe4c4", - black: "000", - blanchedalmond: "ffebcd", - blue: "00f", - blueviolet: "8a2be2", - brown: "a52a2a", - burlywood: "deb887", - burntsienna: "ea7e5d", - cadetblue: "5f9ea0", - chartreuse: "7fff00", - chocolate: "d2691e", - coral: "ff7f50", - cornflowerblue: "6495ed", - cornsilk: "fff8dc", - crimson: "dc143c", - cyan: "0ff", - darkblue: "00008b", - darkcyan: "008b8b", - darkgoldenrod: "b8860b", - darkgray: "a9a9a9", - darkgreen: "006400", - darkgrey: "a9a9a9", - darkkhaki: "bdb76b", - darkmagenta: "8b008b", - darkolivegreen: "556b2f", - darkorange: "ff8c00", - darkorchid: "9932cc", - darkred: "8b0000", - darksalmon: "e9967a", - darkseagreen: "8fbc8f", - darkslateblue: "483d8b", - darkslategray: "2f4f4f", - darkslategrey: "2f4f4f", - darkturquoise: "00ced1", - darkviolet: "9400d3", - deeppink: "ff1493", - deepskyblue: "00bfff", - dimgray: "696969", - dimgrey: "696969", - dodgerblue: "1e90ff", - firebrick: "b22222", - floralwhite: "fffaf0", - forestgreen: "228b22", - fuchsia: "f0f", - gainsboro: "dcdcdc", - ghostwhite: "f8f8ff", - gold: "ffd700", - goldenrod: "daa520", - gray: "808080", - green: "008000", - greenyellow: "adff2f", - grey: "808080", - honeydew: "f0fff0", - hotpink: "ff69b4", - indianred: "cd5c5c", - indigo: "4b0082", - ivory: "fffff0", - khaki: "f0e68c", - lavender: "e6e6fa", - lavenderblush: "fff0f5", - lawngreen: "7cfc00", - lemonchiffon: "fffacd", - lightblue: "add8e6", - lightcoral: "f08080", - lightcyan: "e0ffff", - lightgoldenrodyellow: "fafad2", - lightgray: "d3d3d3", - lightgreen: "90ee90", - lightgrey: "d3d3d3", - lightpink: "ffb6c1", - lightsalmon: "ffa07a", - lightseagreen: "20b2aa", - lightskyblue: "87cefa", - lightslategray: "789", - lightslategrey: "789", - lightsteelblue: "b0c4de", - lightyellow: "ffffe0", - lime: "0f0", - limegreen: "32cd32", - linen: "faf0e6", - magenta: "f0f", - maroon: "800000", - mediumaquamarine: "66cdaa", - mediumblue: "0000cd", - mediumorchid: "ba55d3", - mediumpurple: "9370db", - mediumseagreen: "3cb371", - mediumslateblue: "7b68ee", - mediumspringgreen: "00fa9a", - mediumturquoise: "48d1cc", - mediumvioletred: "c71585", - midnightblue: "191970", - mintcream: "f5fffa", - mistyrose: "ffe4e1", - moccasin: "ffe4b5", - navajowhite: "ffdead", - navy: "000080", - oldlace: "fdf5e6", - olive: "808000", - olivedrab: "6b8e23", - orange: "ffa500", - orangered: "ff4500", - orchid: "da70d6", - palegoldenrod: "eee8aa", - palegreen: "98fb98", - paleturquoise: "afeeee", - palevioletred: "db7093", - papayawhip: "ffefd5", - peachpuff: "ffdab9", - peru: "cd853f", - pink: "ffc0cb", - plum: "dda0dd", - powderblue: "b0e0e6", - purple: "800080", - rebeccapurple: "663399", - red: "f00", - rosybrown: "bc8f8f", - royalblue: "4169e1", - saddlebrown: "8b4513", - salmon: "fa8072", - sandybrown: "f4a460", - seagreen: "2e8b57", - seashell: "fff5ee", - sienna: "a0522d", - silver: "c0c0c0", - skyblue: "87ceeb", - slateblue: "6a5acd", - slategray: "708090", - slategrey: "708090", - snow: "fffafa", - springgreen: "00ff7f", - steelblue: "4682b4", - tan: "d2b48c", - teal: "008080", - thistle: "d8bfd8", - tomato: "ff6347", - turquoise: "40e0d0", - violet: "ee82ee", - wheat: "f5deb3", - white: "fff", - whitesmoke: "f5f5f5", - yellow: "ff0", - yellowgreen: "9acd32" -}; - -// Make it easy to access colors via hexNames[hex] -var hexNames = tinycolor.hexNames = flip(names); - -// Utilities -// --------- - -// { 'name1': 'val1' } becomes { 'val1': 'name1' } -function flip(o) { - var flipped = { }; - for (var i in o) { - if (o.hasOwnProperty(i)) { - flipped[o[i]] = i; - } - } - return flipped; -} - -// Return a valid alpha value [0,1] with all invalid values being set to 1 -function boundAlpha(a) { - a = parseFloat(a); - - if (isNaN(a) || a < 0 || a > 1) { - a = 1; - } - - return a; -} - -// Take input from [0, n] and return it as [0, 1] -function bound01(n, max) { - if (isOnePointZero(n)) { n = "100%"; } - - var processPercent = isPercentage(n); - n = mathMin(max, mathMax(0, parseFloat(n))); - - // Automatically convert percentage into number - if (processPercent) { - n = parseInt(n * max, 10) / 100; - } - - // Handle floating point rounding errors - if ((Math.abs(n - max) < 0.000001)) { - return 1; - } - - // Convert into [0, 1] range if it isn't already - return (n % max) / parseFloat(max); -} - -// Force a number between 0 and 1 -function clamp01(val) { - return mathMin(1, mathMax(0, val)); -} - -// Parse a base-16 hex value into a base-10 integer -function parseIntFromHex(val) { - return parseInt(val, 16); -} - -// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 -// -function isOnePointZero(n) { - return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1; -} - -// Check to see if string passed in is a percentage -function isPercentage(n) { - return typeof n === "string" && n.indexOf('%') != -1; -} - -// Force a hex value to have 2 characters -function pad2(c) { - return c.length == 1 ? '0' + c : '' + c; -} - -// Replace a decimal with it's percentage value -function convertToPercentage(n) { - if (n <= 1) { - n = (n * 100) + "%"; - } - - return n; -} - -// Converts a decimal to a hex value -function convertDecimalToHex(d) { - return Math.round(parseFloat(d) * 255).toString(16); -} -// Converts a hex value to a decimal -function convertHexToDecimal(h) { - return (parseIntFromHex(h) / 255); -} - -var matchers = (function() { - - // - var CSS_INTEGER = "[-\\+]?\\d+%?"; - - // - var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; - - // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. - var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")"; - - // Actual matching. - // Parentheses and commas are optional, but not required. - // Whitespace can take the place of commas or opening paren - var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; - var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; - - return { - CSS_UNIT: new RegExp(CSS_UNIT), - rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), - rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), - hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), - hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), - hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), - hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), - hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, - hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ - }; -})(); - -// isValidCSSUnit -// Take in a single string / number and check to see if it looks like a CSS unit -// (see matchers above for definition). -function isValidCSSUnit(color) { - return !!matchers.CSS_UNIT.exec(color); -} - -// stringInputToObject -// Permissive string parsing. Take in a number of formats, and output an object -// based on detected format. Returns { r, g, b } or { h, s, l } or { h, s, v} -function stringInputToObject(color) { - - color = color.replace(trimLeft, '').replace(trimRight, '').toLowerCase(); - var named = false; - if (names[color]) { - color = names[color]; - named = true; - } - else if (color == 'transparent') { - return { r: 0, g: 0, b: 0, a: 0, format: "name" }; - } - - // Try to match string input using regular expressions. - // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] - // Just return an object and let the conversion functions handle that. - // This way the result will be the same whether the tinycolor is initialized with string or object. - var match; - if ((match = matchers.rgb.exec(color))) { - return { r: match[1], g: match[2], b: match[3] }; - } - if ((match = matchers.rgba.exec(color))) { - return { r: match[1], g: match[2], b: match[3], a: match[4] }; - } - if ((match = matchers.hsl.exec(color))) { - return { h: match[1], s: match[2], l: match[3] }; - } - if ((match = matchers.hsla.exec(color))) { - return { h: match[1], s: match[2], l: match[3], a: match[4] }; - } - if ((match = matchers.hsv.exec(color))) { - return { h: match[1], s: match[2], v: match[3] }; - } - if ((match = matchers.hsva.exec(color))) { - return { h: match[1], s: match[2], v: match[3], a: match[4] }; - } - if ((match = matchers.hex8.exec(color))) { - return { - r: parseIntFromHex(match[1]), - g: parseIntFromHex(match[2]), - b: parseIntFromHex(match[3]), - a: convertHexToDecimal(match[4]), - format: named ? "name" : "hex8" - }; - } - if ((match = matchers.hex6.exec(color))) { - return { - r: parseIntFromHex(match[1]), - g: parseIntFromHex(match[2]), - b: parseIntFromHex(match[3]), - format: named ? "name" : "hex" - }; - } - if ((match = matchers.hex4.exec(color))) { - return { - r: parseIntFromHex(match[1] + '' + match[1]), - g: parseIntFromHex(match[2] + '' + match[2]), - b: parseIntFromHex(match[3] + '' + match[3]), - a: convertHexToDecimal(match[4] + '' + match[4]), - format: named ? "name" : "hex8" - }; - } - if ((match = matchers.hex3.exec(color))) { - return { - r: parseIntFromHex(match[1] + '' + match[1]), - g: parseIntFromHex(match[2] + '' + match[2]), - b: parseIntFromHex(match[3] + '' + match[3]), - format: named ? "name" : "hex" - }; - } - - return false; -} - -function validateWCAG2Parms(parms) { - // return valid WCAG2 parms for isReadable. - // If input parms are invalid, return {"level":"AA", "size":"small"} - var level, size; - parms = parms || {"level":"AA", "size":"small"}; - level = (parms.level || "AA").toUpperCase(); - size = (parms.size || "small").toLowerCase(); - if (level !== "AA" && level !== "AAA") { - level = "AA"; - } - if (size !== "small" && size !== "large") { - size = "small"; - } - return {"level":level, "size":size}; -} - -this.tinycolor = tinycolor; - -})()`; -} -// It is hacky way to make this function will be compiled preferentially by less -// resolve error: `ReferenceError: colorPalette is not defined` -// https://github.com/ant-design/ant-motion/issues/44 -.tinyColorMixin(); - -// We create a very complex algorithm which take the place of original tint/shade color system -// to make sure no one can understand it 👻 -// and create an entire color palette magicly by inputing just a single primary color. -// We are using bezier-curve easing function and some color manipulations like tint/shade/darken/spin -.colorPaletteMixin() { - @functions: ~`(function() { - var hueStep = 2; - var saturationStep = 16; - var saturationStep2 = 5; - var brightnessStep1 = 5; - var brightnessStep2 = 15; - var lightColorCount = 5; - var darkColorCount = 4; - - var getHue = function(hsv, i, isLight) { - var hue; - if (hsv.h >= 60 && hsv.h <= 240) { - hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i; - } else { - hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i; - } - if (hue < 0) { - hue += 360; - } else if (hue >= 360) { - hue -= 360; - } - return Math.round(hue); - }; - var getSaturation = function(hsv, i, isLight) { - var saturation; - if (isLight) { - saturation = Math.round(hsv.s * 100) - saturationStep * i; - } else if (i == darkColorCount) { - saturation = Math.round(hsv.s * 100) + saturationStep; - } else { - saturation = Math.round(hsv.s * 100) + saturationStep2 * i; - } - if (saturation > 100) { - saturation = 100; - } - if (isLight && i === lightColorCount && saturation > 10) { - saturation = 10; - } - if (saturation < 6) { - saturation = 6; - } - return Math.round(saturation); - }; - var getValue = function(hsv, i, isLight) { - if (isLight) { - return Math.round(hsv.v * 100) + brightnessStep1 * i; - } - return Math.round(hsv.v * 100) - brightnessStep2 * i; - }; - - this.colorPalette = function(color, index) { - var isLight = index <= 6; - var hsv = tinycolor(color).toHsv(); - var i = isLight ? lightColorCount + 1 - index : index - lightColorCount - 1; - return tinycolor({ - h: getHue(hsv, i, isLight), - s: getSaturation(hsv, i, isLight), - v: getValue(hsv, i, isLight), - }).toHexString(); - }; -})()`; -} -// It is hacky way to make this function will be compiled preferentially by less -// resolve error: `ReferenceError: colorPalette is not defined` -// https://github.com/ant-design/ant-motion/issues/44 -.colorPaletteMixin(); - -// color palettes -@blue-1: color(~`colorPalette("@{blue-6}", 1)`); -@blue-2: color(~`colorPalette("@{blue-6}", 2)`); -@blue-3: color(~`colorPalette("@{blue-6}", 3)`); -@blue-4: color(~`colorPalette("@{blue-6}", 4)`); -@blue-5: color(~`colorPalette("@{blue-6}", 5)`); -@blue-6: #1890ff; -@blue-7: color(~`colorPalette("@{blue-6}", 7)`); -@blue-8: color(~`colorPalette("@{blue-6}", 8)`); -@blue-9: color(~`colorPalette("@{blue-6}", 9)`); -@blue-10: color(~`colorPalette("@{blue-6}", 10)`); - -@purple-1: color(~`colorPalette("@{purple-6}", 1)`); -@purple-2: color(~`colorPalette("@{purple-6}", 2)`); -@purple-3: color(~`colorPalette("@{purple-6}", 3)`); -@purple-4: color(~`colorPalette("@{purple-6}", 4)`); -@purple-5: color(~`colorPalette("@{purple-6}", 5)`); -@purple-6: #722ed1; -@purple-7: color(~`colorPalette("@{purple-6}", 7)`); -@purple-8: color(~`colorPalette("@{purple-6}", 8)`); -@purple-9: color(~`colorPalette("@{purple-6}", 9)`); -@purple-10: color(~`colorPalette("@{purple-6}", 10)`); - -@cyan-1: color(~`colorPalette("@{cyan-6}", 1)`); -@cyan-2: color(~`colorPalette("@{cyan-6}", 2)`); -@cyan-3: color(~`colorPalette("@{cyan-6}", 3)`); -@cyan-4: color(~`colorPalette("@{cyan-6}", 4)`); -@cyan-5: color(~`colorPalette("@{cyan-6}", 5)`); -@cyan-6: #13c2c2; -@cyan-7: color(~`colorPalette("@{cyan-6}", 7)`); -@cyan-8: color(~`colorPalette("@{cyan-6}", 8)`); -@cyan-9: color(~`colorPalette("@{cyan-6}", 9)`); -@cyan-10: color(~`colorPalette("@{cyan-6}", 10)`); - -@green-1: color(~`colorPalette("@{green-6}", 1)`); -@green-2: color(~`colorPalette("@{green-6}", 2)`); -@green-3: color(~`colorPalette("@{green-6}", 3)`); -@green-4: color(~`colorPalette("@{green-6}", 4)`); -@green-5: color(~`colorPalette("@{green-6}", 5)`); -@green-6: #52c41a; -@green-7: color(~`colorPalette("@{green-6}", 7)`); -@green-8: color(~`colorPalette("@{green-6}", 8)`); -@green-9: color(~`colorPalette("@{green-6}", 9)`); -@green-10: color(~`colorPalette("@{green-6}", 10)`); - -@magenta-1: color(~`colorPalette("@{magenta-6}", 1)`); -@magenta-2: color(~`colorPalette("@{magenta-6}", 2)`); -@magenta-3: color(~`colorPalette("@{magenta-6}", 3)`); -@magenta-4: color(~`colorPalette("@{magenta-6}", 4)`); -@magenta-5: color(~`colorPalette("@{magenta-6}", 5)`); -@magenta-6: #eb2f96; -@magenta-7: color(~`colorPalette("@{magenta-6}", 7)`); -@magenta-8: color(~`colorPalette("@{magenta-6}", 8)`); -@magenta-9: color(~`colorPalette("@{magenta-6}", 9)`); -@magenta-10: color(~`colorPalette("@{magenta-6}", 10)`); - -// alias of magenta -@pink-1: color(~`colorPalette("@{pink-6}", 1)`); -@pink-2: color(~`colorPalette("@{pink-6}", 2)`); -@pink-3: color(~`colorPalette("@{pink-6}", 3)`); -@pink-4: color(~`colorPalette("@{pink-6}", 4)`); -@pink-5: color(~`colorPalette("@{pink-6}", 5)`); -@pink-6: #eb2f96; -@pink-7: color(~`colorPalette("@{pink-6}", 7)`); -@pink-8: color(~`colorPalette("@{pink-6}", 8)`); -@pink-9: color(~`colorPalette("@{pink-6}", 9)`); -@pink-10: color(~`colorPalette("@{pink-6}", 10)`); - -@red-1: color(~`colorPalette("@{red-6}", 1)`); -@red-2: color(~`colorPalette("@{red-6}", 2)`); -@red-3: color(~`colorPalette("@{red-6}", 3)`); -@red-4: color(~`colorPalette("@{red-6}", 4)`); -@red-5: color(~`colorPalette("@{red-6}", 5)`); -@red-6: #f5222d; -@red-7: color(~`colorPalette("@{red-6}", 7)`); -@red-8: color(~`colorPalette("@{red-6}", 8)`); -@red-9: color(~`colorPalette("@{red-6}", 9)`); -@red-10: color(~`colorPalette("@{red-6}", 10)`); - -@orange-1: color(~`colorPalette("@{orange-6}", 1)`); -@orange-2: color(~`colorPalette("@{orange-6}", 2)`); -@orange-3: color(~`colorPalette("@{orange-6}", 3)`); -@orange-4: color(~`colorPalette("@{orange-6}", 4)`); -@orange-5: color(~`colorPalette("@{orange-6}", 5)`); -@orange-6: #fa8c16; -@orange-7: color(~`colorPalette("@{orange-6}", 7)`); -@orange-8: color(~`colorPalette("@{orange-6}", 8)`); -@orange-9: color(~`colorPalette("@{orange-6}", 9)`); -@orange-10: color(~`colorPalette("@{orange-6}", 10)`); - -@yellow-1: color(~`colorPalette("@{yellow-6}", 1)`); -@yellow-2: color(~`colorPalette("@{yellow-6}", 2)`); -@yellow-3: color(~`colorPalette("@{yellow-6}", 3)`); -@yellow-4: color(~`colorPalette("@{yellow-6}", 4)`); -@yellow-5: color(~`colorPalette("@{yellow-6}", 5)`); -@yellow-6: #fadb14; -@yellow-7: color(~`colorPalette("@{yellow-6}", 7)`); -@yellow-8: color(~`colorPalette("@{yellow-6}", 8)`); -@yellow-9: color(~`colorPalette("@{yellow-6}", 9)`); -@yellow-10: color(~`colorPalette("@{yellow-6}", 10)`); - -@volcano-1: color(~`colorPalette("@{volcano-6}", 1)`); -@volcano-2: color(~`colorPalette("@{volcano-6}", 2)`); -@volcano-3: color(~`colorPalette("@{volcano-6}", 3)`); -@volcano-4: color(~`colorPalette("@{volcano-6}", 4)`); -@volcano-5: color(~`colorPalette("@{volcano-6}", 5)`); -@volcano-6: #fa541c; -@volcano-7: color(~`colorPalette("@{volcano-6}", 7)`); -@volcano-8: color(~`colorPalette("@{volcano-6}", 8)`); -@volcano-9: color(~`colorPalette("@{volcano-6}", 9)`); -@volcano-10: color(~`colorPalette("@{volcano-6}", 10)`); - -@geekblue-1: color(~`colorPalette("@{geekblue-6}", 1)`); -@geekblue-2: color(~`colorPalette("@{geekblue-6}", 2)`); -@geekblue-3: color(~`colorPalette("@{geekblue-6}", 3)`); -@geekblue-4: color(~`colorPalette("@{geekblue-6}", 4)`); -@geekblue-5: color(~`colorPalette("@{geekblue-6}", 5)`); -@geekblue-6: #2f54eb; -@geekblue-7: color(~`colorPalette("@{geekblue-6}", 7)`); -@geekblue-8: color(~`colorPalette("@{geekblue-6}", 8)`); -@geekblue-9: color(~`colorPalette("@{geekblue-6}", 9)`); -@geekblue-10: color(~`colorPalette("@{geekblue-6}", 10)`); - -@lime-1: color(~`colorPalette("@{lime-6}", 1)`); -@lime-2: color(~`colorPalette("@{lime-6}", 2)`); -@lime-3: color(~`colorPalette("@{lime-6}", 3)`); -@lime-4: color(~`colorPalette("@{lime-6}", 4)`); -@lime-5: color(~`colorPalette("@{lime-6}", 5)`); -@lime-6: #a0d911; -@lime-7: color(~`colorPalette("@{lime-6}", 7)`); -@lime-8: color(~`colorPalette("@{lime-6}", 8)`); -@lime-9: color(~`colorPalette("@{lime-6}", 9)`); -@lime-10: color(~`colorPalette("@{lime-6}", 10)`); - -@gold-1: color(~`colorPalette("@{gold-6}", 1)`); -@gold-2: color(~`colorPalette("@{gold-6}", 2)`); -@gold-3: color(~`colorPalette("@{gold-6}", 3)`); -@gold-4: color(~`colorPalette("@{gold-6}", 4)`); -@gold-5: color(~`colorPalette("@{gold-6}", 5)`); -@gold-6: #faad14; -@gold-7: color(~`colorPalette("@{gold-6}", 7)`); -@gold-8: color(~`colorPalette("@{gold-6}", 8)`); -@gold-9: color(~`colorPalette("@{gold-6}", 9)`); -@gold-10: color(~`colorPalette("@{gold-6}", 10)`); - -// The prefix to use on all css classes from ant. -@ant-prefix : ant; - -// -------- Colors ----------- - -@info-color : @blue-6; -@success-color : @green-6; -@processing-color : @blue-6; -@error-color : @red-6; -@highlight-color : @red-6; -@warning-color : @gold-6; -@normal-color : #d9d9d9; - -// Color used by default to control hover and active backgrounds and for -// alert info backgrounds. -@primary-1: color(~`colorPalette("@{primary-color}", 1)`); // replace tint(@primary-color, 90%) -@primary-2: color(~`colorPalette("@{primary-color}", 2)`); // replace tint(@primary-color, 80%) -@primary-3: color(~`colorPalette("@{primary-color}", 3)`); // unused -@primary-4: color(~`colorPalette("@{primary-color}", 4)`); // unused -@primary-5: color(~`colorPalette("@{primary-color}", 5)`); // color used to control the text color in many active and hover states, replace tint(@primary-color, 20%) -@primary-6: @primary-color; // color used to control the text color of active buttons, don't use, use @primary-color -@primary-7: color(~`colorPalette("@{primary-color}", 7)`); // replace shade(@primary-color, 5%) -@primary-8: color(~`colorPalette("@{primary-color}", 8)`); // unused -@primary-9: color(~`colorPalette("@{primary-color}", 9)`); // unused -@primary-10: color(~`colorPalette("@{primary-color}", 10)`); // unused - -// Base Scaffolding Variables -// --- - -// Background color for `` -@body-background : #fff; -// Base background color for most components -@component-background : #fff; -@font-family : "Chinese Quote", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif, -"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; -@code-family : "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; -@heading-color : fade(#000, 85%); -@text-color : fade(#000, 65%); -@text-color-secondary : fade(#000, 45%); -@heading-color-dark : fade(#fff, 100%); -@text-color-dark : fade(#fff, 85%); -@text-color-secondary-dark: fade(#fff, 65%); -@font-size-base : 14px; -@font-size-lg : @font-size-base + 2px; -@font-size-sm : 12px; -@line-height-base : 1.5; -@border-radius-base : 4px; -@border-radius-sm : 2px; - -// vertical paddings -@padding-lg : 24px; // containers -@padding-md : 16px; // small containers and buttons -@padding-sm : 12px; // Form controls and items -@padding-xs : 8px; // small items - -// vertical padding for all form controls -@control-padding-horizontal: @padding-sm; -@control-padding-horizontal-sm: @padding-xs; - -// The background colors for active and hover states for things like -// list items or table cells. -@item-active-bg : @primary-1; -@item-hover-bg : @primary-1; - -// ICONFONT -@iconfont-css-prefix : anticon; - -// LINK -@link-color : @primary-color; -@link-hover-color : color(~`colorPalette("@{link-color}", 5)`); -@link-active-color : color(~`colorPalette("@{link-color}", 7)`); -@link-decoration : none; -@link-hover-decoration : none; - -// Animation -@ease-base-out : cubic-bezier(0.7, 0.3, 0.1, 1); -@ease-base-in : cubic-bezier(0.9, 0, 0.3, 0.7); -@ease-out : cubic-bezier(0.215, 0.61, 0.355, 1); -@ease-in : cubic-bezier(0.55, 0.055, 0.675, 0.19); -@ease-in-out : cubic-bezier(0.645, 0.045, 0.355, 1); -@ease-out-back : cubic-bezier(0.12, 0.4, 0.29, 1.46); -@ease-in-back : cubic-bezier(0.71, -0.46, 0.88, 0.6); -@ease-in-out-back : cubic-bezier(0.71, -0.46, 0.29, 1.46); -@ease-out-circ : cubic-bezier(0.08, 0.82, 0.17, 1); -@ease-in-circ : cubic-bezier(0.6, 0.04, 0.98, 0.34); -@ease-in-out-circ : cubic-bezier(0.78, 0.14, 0.15, 0.86); -@ease-out-quint : cubic-bezier(0.23, 1, 0.32, 1); -@ease-in-quint : cubic-bezier(0.755, 0.05, 0.855, 0.06); -@ease-in-out-quint : cubic-bezier(0.86, 0, 0.07, 1); - -// Border color -@border-color-base : hsv(0, 0, 85%); // base border outline a component -@border-color-split : hsv(0, 0, 91%); // split border inside a component -@border-width-base : 1px; // width of the border for a component -@border-style-base : solid; // style of a components border - -// Outline -@outline-blur-size : 0; -@outline-width : 2px; -@outline-color : @primary-color; - -@background-color-light : hsv(0, 0, 98%); // background of header and selected item -@background-color-base : hsv(0, 0, 96%); // Default grey background color - -// Disabled states -@disabled-color : fade(#000, 25%); -@disabled-bg : @background-color-base; -@disabled-color-dark : fade(#fff, 35%); - -// Shadow -@shadow-color : rgba(0, 0, 0, .15); -@box-shadow-base : @shadow-1-down; -@shadow-1-up : 0 -2px 8px @shadow-color; -@shadow-1-down : 0 2px 8px @shadow-color; -@shadow-1-left : -2px 0 8px @shadow-color; -@shadow-1-right : 2px 0 8px @shadow-color; -@shadow-2 : 0 4px 12px @shadow-color; - -// Buttons -@btn-font-weight : 400; -@btn-border-radius-base : @border-radius-base; -@btn-border-radius-sm : @border-radius-base; - -@btn-primary-color : #fff; -@btn-primary-bg : @primary-color; - -@btn-default-color : @text-color; -@btn-default-bg : #fff; -@btn-default-border : @border-color-base; - -@btn-danger-color : @error-color; -@btn-danger-bg : @background-color-base; -@btn-danger-border : @border-color-base; - -@btn-disable-color : @disabled-color; -@btn-disable-bg : @disabled-bg; -@btn-disable-border : @border-color-base; - -@btn-padding-base : 0 @padding-md - 1px; -@btn-font-size-lg : @font-size-lg; -@btn-font-size-sm : @font-size-base; -@btn-padding-lg : @btn-padding-base; -@btn-padding-sm : 0 @padding-xs - 1px; - -@btn-height-base : 32px; -@btn-height-lg : 40px; -@btn-height-sm : 24px; - -@btn-circle-size : @btn-height-base; -@btn-circle-size-lg : @btn-height-lg; -@btn-circle-size-sm : @btn-height-sm; - -@btn-group-border : @primary-5; - -// Checkbox -@checkbox-size : 16px; -@checkbox-color : @primary-color; -@checkbox-check-color : #fff; - -// Radio -@radio-size : 16px; -@radio-dot-color : @primary-color; - -// Radio buttons -@radio-button-bg : @btn-default-bg; -@radio-button-color : @btn-default-color; -@radio-button-hover-color : @primary-5; -@radio-button-active-color : @primary-7; - -// Media queries breakpoints -// Extra small screen / phone -@screen-xs : 480px; -@screen-xs-min : @screen-xs; - -// Small screen / tablet -@screen-sm : 576px; -@screen-sm-min : @screen-sm; - -// Medium screen / desktop -@screen-md : 768px; -@screen-md-min : @screen-md; - -// Large screen / wide desktop -@screen-lg : 992px; -@screen-lg-min : @screen-lg; - -// Extra large screen / full hd -@screen-xl : 1200px; -@screen-xl-min : @screen-xl; - -// Extra extra large screen / large descktop -@screen-xxl : 1600px; -@screen-xxl-min : @screen-xxl; - -// provide a maximum -@screen-xs-max : (@screen-sm-min - 1px); -@screen-sm-max : (@screen-md-min - 1px); -@screen-md-max : (@screen-lg-min - 1px); -@screen-lg-max : (@screen-xl-min - 1px); -@screen-xl-max : (@screen-xxl-min - 1px); - -// Grid system -@grid-columns : 24; -@grid-gutter-width : 0; - -// Layout -@layout-body-background : #f0f2f5; -@layout-header-background : #001529; -@layout-footer-background : @layout-body-background; -@layout-header-height : 64px; -@layout-header-padding : 0 50px; -@layout-footer-padding : 24px 50px; -@layout-sider-background : @layout-header-background; -@layout-trigger-height : 48px; -@layout-trigger-background : #002140; -@layout-trigger-color : #fff; -@layout-zero-trigger-width : 36px; -@layout-zero-trigger-height : 42px; -// Layout light theme -@layout-sider-background-light : #fff; -@layout-trigger-background-light: #fff; -@layout-trigger-color-light : @text-color; - -// z-index list -@zindex-affix : 10; -@zindex-back-top : 10; -@zindex-modal-mask : 1000; -@zindex-modal : 1000; -@zindex-notification : 1010; -@zindex-message : 1010; -@zindex-popover : 1030; -@zindex-picker : 1050; -@zindex-dropdown : 1050; -@zindex-tooltip : 1060; - -// Animation -@animation-duration-slow: .3s; // Modal -@animation-duration-base: .2s; -@animation-duration-fast: .1s; // Tooltip - -// Form -// --- -@label-required-color : @highlight-color; -@label-color : @heading-color; -@form-item-margin-bottom : 24px; -@form-item-trailing-colon : true; -@form-vertical-label-padding : 0 0 8px; -@form-vertical-label-margin : 0; - -// Input -// --- -@input-height-base : 32px; -@input-height-lg : 40px; -@input-height-sm : 24px; -@input-padding-horizontal : @control-padding-horizontal - 1px; -@input-padding-horizontal-base: @input-padding-horizontal; -@input-padding-horizontal-sm : @control-padding-horizontal-sm - 1px; -@input-padding-horizontal-lg : @input-padding-horizontal; -@input-padding-vertical-base : 4px; -@input-padding-vertical-sm : 1px; -@input-padding-vertical-lg : 6px; -@input-placeholder-color : hsv(0, 0, 75%); -@input-color : @text-color; -@input-border-color : @border-color-base; -@input-bg : #fff; -@input-addon-bg : @background-color-light; -@input-hover-border-color : @primary-color; -@input-disabled-bg : @disabled-bg; -@input-outline-offset : 0 0; - -// Tooltip -// --- -//* Tooltip max width -@tooltip-max-width: 250px; -//** Tooltip text color -@tooltip-color: #fff; -//** Tooltip background color -@tooltip-bg: rgba(0, 0, 0, .75); -//** Tooltip arrow width -@tooltip-arrow-width: 5px; -//** Tooltip distance with trigger -@tooltip-distance: @tooltip-arrow-width - 1px + 4px; -//** Tooltip arrow color -@tooltip-arrow-color: @tooltip-bg; - -// Popover -// --- -//** Popover body background color -@popover-bg: #fff; -//** Popover text color -@popover-color: @text-color; -//** Popover maximum width -@popover-min-width: 177px; -//** Popover arrow width -@popover-arrow-width: 6px; -//** Popover arrow color -@popover-arrow-color: @popover-bg; -//** Popover outer arrow width -//** Popover outer arrow color -@popover-arrow-outer-color: @popover-bg; -//** Popover distance with trigger -@popover-distance: @popover-arrow-width + 4px; - -// Modal -// -- -@modal-mask-bg: rgba(0, 0, 0, 0.65); - -// Progress -// -- -@progress-default-color: @processing-color; -@progress-remaining-color: @background-color-base; -@progress-text-color: @text-color; - -// Menu -// --- -@menu-inline-toplevel-item-height: 40px; -@menu-item-height: 40px; -@menu-collapsed-width: 80px; -@menu-bg: @component-background; -@menu-item-color: @text-color; -@menu-highlight-color: @primary-color; -@menu-item-active-bg: @item-active-bg; -@menu-item-active-border-width: 3px; -@menu-item-group-title-color: @text-color-secondary; -// dark theme -@menu-dark-color: @text-color-secondary-dark; -@menu-dark-bg: @layout-header-background; -@menu-dark-arrow-color: #fff; -@menu-dark-submenu-bg: #000c17; -@menu-dark-highlight-color: #fff; -@menu-dark-item-active-bg: @primary-color; - -// Spin -// --- -@spin-dot-size-sm: 14px; -@spin-dot-size: 20px; -@spin-dot-size-lg: 32px; - -// Table -// -- -@table-header-bg: @background-color-light; -@table-header-color: @heading-color; -@table-header-sort-bg: @background-color-base; -@table-body-sort-bg: rgba(0, 0, 0, .01); -@table-row-hover-bg: @primary-1; -@table-selected-row-bg: #fafafa; -@table-expanded-row-bg: #fbfbfb; -@table-padding-vertical: 16px; -@table-padding-horizontal: 16px; - -// Tag -// -- -@tag-default-bg: @background-color-light; -@tag-default-color: @text-color; -@tag-font-size: @font-size-sm; - -// TimePicker -// --- -@time-picker-panel-column-width: 56px; -@time-picker-panel-width: @time-picker-panel-column-width * 3; -@time-picker-selected-bg: @background-color-base; - -// Carousel -// --- -@carousel-dot-width: 16px; -@carousel-dot-height: 3px; -@carousel-dot-active-width: 24px; - -// Badge -// --- -@badge-height: 20px; -@badge-dot-size: 6px; -@badge-font-size: @font-size-sm; -@badge-font-weight: normal; -@badge-status-size: 6px; - -// Rate -// --- -@rate-star-color: @yellow-6; -@rate-star-bg: @border-color-split; - -// Card -// --- -@card-head-color: @heading-color; -@card-head-background: transparent; -@card-head-padding: 16px; -@card-inner-head-padding: 12px; -@card-padding-base: 24px; -@card-padding-wider: 32px; -@card-actions-background: @background-color-light; -@card-shadow: 0 2px 8px rgba(0, 0, 0, .09); - -// Tabs -// --- -@tabs-card-head-background: @background-color-light; -@tabs-card-height: 40px; -@tabs-card-active-color: @primary-color; -@tabs-title-font-size: @font-size-base; -@tabs-title-font-size-lg: @font-size-lg; -@tabs-title-font-size-sm: @font-size-base; -@tabs-ink-bar-color: @primary-color; -@tabs-bar-margin: 0 0 16px 0; -@tabs-horizontal-margin: 0 32px 0 0; -@tabs-horizontal-padding: 12px 16px; -@tabs-vertical-padding: 8px 24px; -@tabs-vertical-margin: 0 0 16px 0; -@tabs-scrolling-size: 32px; -@tabs-highlight-color: @primary-color; -@tabs-hover-color: @primary-5; -@tabs-active-color: @primary-7; - -// BackTop -// --- -@back-top-color: #fff; -@back-top-bg: @text-color-secondary; -@back-top-hover-bg: @text-color; - -// Avatar -// --- -@avatar-size-base: 32px; -@avatar-size-lg: 40px; -@avatar-size-sm: 24px; -@avatar-font-size-base: 18px; -@avatar-font-size-lg: 24px; -@avatar-font-size-sm: 14px; -@avatar-bg: #ccc; -@avatar-color: #fff; -@avatar-border-radius: @border-radius-base; - -// Switch -// --- -@switch-height: 22px; -@switch-sm-height: 16px; -@switch-sm-checked-margin-left: -(@switch-sm-height - 3px); -@switch-disabled-opacity: 0.4; -@switch-color: @primary-color; - -// Pagination -// --- -@pagination-item-size: 32px; -@pagination-item-size-sm: 24px; -@pagination-font-family: Arial; -@pagination-font-weight-active: 500; - -// Breadcrumb -// --- -@breadcrumb-base-color: @text-color-secondary; -@breadcrumb-last-item-color: @text-color; -@breadcrumb-font-size: @font-size-base; -@breadcrumb-icon-font-size: @font-size-base; -@breadcrumb-link-color: @text-color-secondary; -@breadcrumb-link-color-hover: @primary-5; -@breadcrumb-separator-color: @text-color-secondary; -@breadcrumb-separator-margin: 0 @padding-xs; - -// Slider -// --- -@slider-margin: 14px 6px 10px; -@slider-rail-background-color: @background-color-base; -@slider-rail-background-color-hover: #e1e1e1; -@slider-track-background-color: @primary-3; -@slider-track-background-color-hover: @primary-4; -@slider-handle-color: @primary-3; -@slider-handle-color-hover: @primary-4; -@slider-handle-color-focus: tint(@primary-color, 20%); -@slider-handle-color-focus-shadow: tint(@primary-color, 50%); -@slider-handle-color-tooltip-open: @primary-color; -@slider-dot-border-color: @border-color-split; -@slider-dot-border-color-active: tint(@primary-color, 50%); -@slider-disabled-color: @disabled-color; -@slider-disabled-background-color: @component-background; - -// Tree -// --- -@tree-title-height: 24px; -@tree-child-padding: 18px; -@tree-directory-selected-color: #fff; -@tree-directory-selected-bg: @primary-color; - -// Collapse -// --- -@collapse-header-padding: 12px 0 12px 40px; -@collapse-header-bg: @background-color-light; -@collapse-content-padding: @padding-md; -@collapse-content-bg: @component-background; - -// Skeleton -// --- -@skeleton-color: #f2f2f2; - -// Transfer -// --- -@transfer-disabled-bg: @disabled-bg; - -// Message -// --- -@message-notice-content-padding: 10px 16px; - -// Motion -// --- -@wave-animation-width: 6px; - -// Alert -// --- -@alert-success-border-color: ~`colorPalette("@{success-color}", 3)`; -@alert-success-bg-color: ~`colorPalette("@{success-color}", 1)`; -@alert-success-icon-color: @success-color; -@alert-info-border-color: ~`colorPalette("@{info-color}", 3)`; -@alert-info-bg-color: ~`colorPalette("@{info-color}", 1)`; -@alert-info-icon-color: @info-color; -@alert-warning-border-color: ~`colorPalette("@{warning-color}", 3)`; -@alert-warning-bg-color: ~`colorPalette("@{warning-color}", 1)`; -@alert-warning-icon-color: @warning-color; -@alert-error-border-color: ~`colorPalette("@{error-color}", 3)`; -@alert-error-bg-color: ~`colorPalette("@{error-color}", 1)`; -@alert-error-icon-color: @error-color; - -// List -// --- -@list-empty-text-padding: @padding-md; -@list-item-padding: @padding-sm 0; -@list-item-content-margin: 0 0 @padding-md 0; -@list-item-meta-margin-bottom: @padding-md; -@list-item-meta-avatar-margin-right: @padding-md; -@list-item-meta-title-margin-bottom: @padding-sm; - -// Menu -@menu-dark-item-selected-bg: @menu-dark-item-active-bg; - -// Tabs -@tab-bar-margin: @tabs-bar-margin; -@tab-horizontal-margin: @tabs-horizontal-margin; -@tab-vertical-margin: @tabs-vertical-margin; -@tab-horizontal-padding: @tabs-horizontal-padding; -@tab-vertical-padding: @tabs-vertical-padding; -@tab-scrolling-size: @tabs-scrolling-size; -@tab-highlight-color: @tabs-highlight-color; -@tab-hover-color: @tabs-hover-color; -@tab-active-color: @tabs-active-color; -@tabs-ink-bar-bg-color: @tabs-ink-bar-color; - -.listContent .extra { - color: rgba(0, 0, 0, 0.45); -} -.listContent .extra > em { - color: rgba(0, 0, 0, 0.25); -} -.avatarItem :global .ant-avatar { - border: 1px solid #fff; -} -.chartCard .avatar img { - border-radius: 100%; -} -.chartCard .meta { - color: rgba(0, 0, 0, 0.45); -} -.chartCard .total { - color: rgba(0, 0, 0, 0.85); -} -.chartCard .footer { - border-top: 1px solid #e8e8e8; -} -.field span:last-child { - color: rgba(0, 0, 0, 0.85); -} -.miniProgress .progressWrap { - background-color: #f5f5f5; -} -.miniProgress .progress { - border-radius: 1px 0 0 1px; - background-color: @primary-color; -} -.miniProgress .target span { - border-radius: 100px; -} -.pie .dot { - border-radius: 8px; -} -.pie .line { - background-color: #e8e8e8; -} -.pie .legendTitle { - color: rgba(0, 0, 0, 0.65); -} -.pie .percent { - color: rgba(0, 0, 0, 0.45); -} -.pie .total > h4 { - color: rgba(0, 0, 0, 0.45); -} -.pie .total > p { - color: rgba(0, 0, 0, 0.85); -} -.radar .legend .legendItem { - color: rgba(0, 0, 0, 0.45); -} -.radar .legend .legendItem h6 { - color: rgba(0, 0, 0, 0.85); -} -.radar .legend .legendItem:after { - background-color: #e8e8e8; -} -.radar .legend .dot { - border-radius: 6px; -} - -.timelineChart { - background: #fff; -} -.waterWave .text span { - color: rgba(0, 0, 0, 0.45); -} -.waterWave .text h4 { - color: rgba(0, 0, 0, 0.85); -} -.descriptionList .title { - color: rgba(0, 0, 0, 0.85); -} -.descriptionList .term { - color: rgba(0, 0, 0, 0.85); -} -.descriptionList .detail { - color: rgba(0, 0, 0, 0.65); -} -.descriptionList.small .title { - color: rgba(0, 0, 0, 0.65); -} -.linkGroup > a { - color: rgba(0, 0, 0, 0.65); -} -.linkGroup > a:hover { - color: @primary-color; -} -.lines .shadow { - color: transparent; -} -.exception .imgEle { - background-repeat: no-repeat; - background-position: 50% 50%; - background-size: contain; -} -.exception .content h1 { - color: #434e59; -} -.exception .content .desc { - color: rgba(0, 0, 0, 0.45); -} -.toolbar { - box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.03); - background: #fff; - border-top: 1px solid #e8e8e8; -} -.globalFooter .links a { - color: rgba(0, 0, 0, 0.45); -} -.globalFooter .links a:hover { - color: rgba(0, 0, 0, 0.65); -} -.globalFooter .copyright { - color: rgba(0, 0, 0, 0.45); -} -.layout .header { - background-color: @primary-color !important; -} -i.trigger:hover { - background: rgba(0, 0, 0, 0.025); -} -.right .action > i { - color: rgba(0, 0, 0, 0.65); -} -.right .action:hover { - background: rgba(0, 0, 0, 0.025); -} -:global(.right .action.ant-popover-open) { - background: rgba(0, 0, 0, 0.025); -} -.right .search:hover { - background: transparent; -} -.right .account .avatar { - color: @primary-color; - background: rgba(255, 255, 255, 0.85); -} -.dark .action { - color: rgba(255, 255, 255, 0.85); -} -.dark .action > i { - color: rgba(255, 255, 255, 0.85); -} -.dark .action:hover, -.dark .action:global(.ant-popover-open) { - background: @primary-color; -} -.dark .action :global(.ant-badge) { - color: rgba(255, 255, 255, 0.85); -} -.headerSearch .input { - background: transparent; - border-radius: 0; -} -.headerSearch .input :global(.ant-select-selection) { - background: transparent; -} -.headerSearch .input input { - border: 0; - box-shadow: none !important; -} -.headerSearch .input, -.headerSearch .input:hover, -.headerSearch .input:focus { - border-bottom: 1px solid #d9d9d9; -} -.login :global .ant-tabs .ant-tabs-bar { - border-bottom: 0; -} -.login .icon { - color: rgba(0, 0, 0, 0.2); -} -.login .icon:hover { - color: @primary-color; -} -.login .prefixIcon { - color: rgba(0, 0, 0, 0.25); -} -.list .item .avatar { - background: #fff; -} -.list .item:last-child { - border-bottom: 0; -} -.list .item:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.list .item .extra { - color: rgba(0, 0, 0, 0.45); -} -.notFound { - color: rgba(0, 0, 0, 0.45); -} -.clear { - color: rgba(0, 0, 0, 0.65); - border-radius: 0 0 4px 4px; - border-top: 1px solid #e8e8e8; -} -.clear:hover { - color: rgba(0, 0, 0, 0.85); -} -.numberInfo .suffix { - color: rgba(0, 0, 0, 0.65); -} -.numberInfo .numberInfoTitle { - color: rgba(0, 0, 0, 0.65); -} -.numberInfo .numberInfoSubTitle { - color: rgba(0, 0, 0, 0.45); -} -.numberInfo .numberInfoValue > span { - color: rgba(0, 0, 0, 0.85); -} -.numberInfo .numberInfoValue .subTotal { - color: rgba(0, 0, 0, 0.45); -} -.numberInfo .numberInfoValue .subTotal :global .anticon-caret-up { - color: #f5222d; -} -.numberInfo .numberInfoValue .subTotal :global .anticon-caret-down { - color: #52c41a; -} -.numberInfolight .numberInfoValue > span { - color: rgba(0, 0, 0, 0.65); -} -.pageHeader { - background: #fff; - border-bottom: 1px solid #e8e8e8; -} -.pageHeader .tabs :global .ant-tabs-bar { - border-bottom: 1px solid #e8e8e8; -} -.pageHeader .logo > img { - border-radius: 4px; -} -.pageHeader .title { - color: rgba(0, 0, 0, 0.85); -} -.result .icon > .success { - color: #52c41a; -} -.result .icon > .error { - color: #f5222d; -} -.result .title { - color: rgba(0, 0, 0, 0.85); -} -.result .description { - color: rgba(0, 0, 0, 0.45); -} -.result .extra { - background: #fafafa; - border-radius: 2px; -} -.blockChecbox .item { - border-radius: 4px; -} -.blockChecbox .selectIcon { - color: @primary-color; -} -.color_block { - border-radius: 4px; -} -.title { - color: rgba(0, 0, 0, 0.85); -} -.handle { - background: @primary-color; - border-radius: 4px 0 0 4px; -} -.setting-drawer-index-handle { - /* 暂时不知道放哪解决 */ - background: @primary-color !important; -} -.themeColor .title { - color: rgba(0, 0, 0, 0.65); -} -.themeColor .colorBlock { - border-radius: 2px; - color: #fff; -} -.logo h1 { - color: white; -} -.sider { - box-shadow: 2px 116px 6px rgba(0, 21, 41, 0.35); -} -.sider.light { - box-shadow: 2px 116px 8px 0 rgba(29, 35, 41, 0.05); - background-color: white; -} -.sider.light .logo { - background-color: @primary-color !important; - box-shadow: 1px 1px 0 0 #e8e8e8; -} -.sider.light .logo h1 { - color: white; -} -.sider.light :global(.ant-menu-light) { - border-right-color: transparent; -} -:global .drawer .drawer-content { - background: #001529; -} -.standardFormRow { - border-bottom: 1px dashed #e8e8e8; -} -.standardFormRow :global .ant-form-item-label label { - color: rgba(0, 0, 0, 0.65); -} -.standardFormRow .label { - color: rgba(0, 0, 0, 0.85); -} -.standardFormRowLast { - border: none; -} - -.head { - box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); -} -.head.light { - background-color: #fff; -} -.logo h1 { - color: #fff; -} -.light h1 { - color: #002140; -} -.trendItem .up { - color: #f5222d; -} -.trendItem .down { - color: #52c41a; -} -.trendItem.trendItemGrey .up, -.trendItem.trendItemGrey .down { - color: rgba(0, 0, 0, 0.65); -} -.trendItem.reverseColor .up { - color: #52c41a; -} -.trendItem.reverseColor .down { - color: #f5222d; -} -.container { - background: #f0f2f5; -} -.title { - color: rgba(0, 0, 0, 0.85); -} -.desc { - color: rgba(0, 0, 0, 0.45); -} -a.listItemMetaTitle { - color: rgba(0, 0, 0, 0.85); -} -.baseView .right .avatar_title { - color: rgba(0, 0, 0, 0.85); -} -.main { - //update-begin---author:liusq Date:20210108 for:[JT-409]编译主题色,然后退出登录后的首页是这样子------------ - //background-color: #fff; - //update-end---author:liusq Date:20210108 for:[JT-409]编译主题色,然后退出登录后的首页是这样子------------ -} -.main .leftmenu { - border-right: 1px solid #e8e8e8; -} -.main .leftmenu :global .ant-menu-inline { - border: none; -} -.main .right .title { - color: rgba(0, 0, 0, 0.85); -} -.main :global .ant-list-split .ant-list-item:last-child { - border-bottom: 1px solid #e8e8e8; -} -:global .ant-list-item-meta .taobao { - color: #ff4000; - border-radius: 4px; -} -:global .ant-list-item-meta .dingding { - background-color: #2eabff; - color: #fff; - border-radius: 4px; -} -:global .ant-list-item-meta .alipay { - color: #2eabff; - border-radius: 4px; -} -:global font.strong { - color: #52c41a; -} -:global font.medium { - color: #faad14; -} -:global font.weak { - color: #f5222d; -} - - - - -.trigger { - background: 'red'; -} -.desc { - color: rgba(0, 0, 0, 0.45); -} -.desc h3 { - color: rgba(0, 0, 0, 0.45); -} -.desc h4 { - color: rgba(0, 0, 0, 0.45); -} -.information .label { - color: rgba(0, 0, 0, 0.85); -} -.errorIcon { - color: #f5222d; -} -.errorListItem { - border-bottom: 1px solid #e8e8e8; -} -.errorListItem:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.errorListItem:last-child { - border: 0; -} -.errorListItem .errorIcon { - color: #f5222d; -} -.errorListItem .errorField { - color: rgba(0, 0, 0, 0.45); -} -.optional { - color: rgba(0, 0, 0, 0.45); -} -a.listItemMetaTitle { - color: rgba(0, 0, 0, 0.85); -} -.noData { - color: rgba(0, 0, 0, 0.25); -} -.heading { - color: rgba(0, 0, 0, 0.85); -} -.textSecondary { - color: rgba(0, 0, 0, 0.45); -} -.title { - color: rgba(0, 0, 0, 0.85); -} -.main .icon { - color: rgba(0, 0, 0, 0.2); -} -.main .icon:hover { - color: @primary-color; -} -.success { - color: #52c41a; -} -.warning { - color: #faad14; -} -.error { - color: #f5222d; -} -.progress-pass > .progress :global .ant-progress-bg { - background-color: #faad14; -} -html { - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -body { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; -} -h1, -h2, -h3, -h4, -h5, -h6 { - color: rgba(0, 0, 0, 0.85); -} -abbr[title], -abbr[data-original-title] { - border-bottom: 0; -} -a { - color: @primary-color; - background-color: transparent; -} -a:hover { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -a:active { - color: color(~`colorPalette("@{primary-color}", 7)`); -} -a[disabled] { - color: rgba(0, 0, 0, 0.25); -} -img { - border-style: none; -} -table { - border-collapse: collapse; -} -caption { - color: rgba(0, 0, 0, 0.45); -} -input, -button, -select, -optgroup, -textarea { - color: inherit; -} -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; -} -fieldset { - border: 0; -} -legend { - color: inherit; -} -mark { - background-color: #feffe6; -} -::selection { - background: @primary-color; - color: #fff; -} -[ant-click-animating-without-extra-node]:after, -.ant-click-animating-node { - border-radius: inherit; - border: 0 solid @primary-color; -} -.ant-alert { - color: rgba(0, 0, 0, 0.65); - border-radius: 4px; -} -.ant-alert-success { - border: 1px solid #b7eb8f; - background-color: #f6ffed; -} -.ant-alert-success .ant-alert-icon { - color: #52c41a; -} -.ant-alert-info { - border: 1px solid color(~`colorPalette("@{primary-color}", 3)`); - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-alert-info .ant-alert-icon { - color: @primary-color; -} -.ant-alert-warning { - border: 1px solid #ffe58f; - background-color: #fffbe6; -} -.ant-alert-warning .ant-alert-icon { - color: #faad14; -} -.ant-alert-error { - border: 1px solid #ffa39e; - background-color: #fff1f0; -} -.ant-alert-error .ant-alert-icon { - color: #f5222d; -} -.ant-alert-close-icon .anticon-close { - color: rgba(0, 0, 0, 0.45); -} -.ant-alert-close-icon .anticon-close:hover { - color: #404040; -} -.ant-alert-with-description { - border-radius: 4px; - color: rgba(0, 0, 0, 0.65); -} -.ant-alert-with-description .ant-alert-message { - color: rgba(0, 0, 0, 0.85); -} -.ant-alert-banner { - border-radius: 0; - border: 0; -} -.ant-anchor { - color: rgba(0, 0, 0, 0.65); -} -.ant-anchor-wrapper { - background-color: #fff; -} -.ant-anchor-ink:before { - background-color: #e8e8e8; -} -.ant-anchor-ink-ball { - border-radius: 8px; - border: 2px solid @primary-color; - background-color: #fff; -} -.ant-anchor-link-title { - color: rgba(0, 0, 0, 0.65); -} -.ant-anchor-link-active > .ant-anchor-link-title { - color: @primary-color; -} -.ant-select-auto-complete { - color: rgba(0, 0, 0, 0.65); -} -.ant-select-auto-complete.ant-select .ant-select-selection { - border: 0; - box-shadow: none; -} -.ant-select-auto-complete.ant-select .ant-input { - background: transparent; - border-width: 1px; -} -.ant-select-auto-complete.ant-select .ant-input:focus, -.ant-select-auto-complete.ant-select .ant-input:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-avatar { - color: rgba(0, 0, 0, 0.65); - background: #ccc; - color: #fff; - border-radius: 50%; -} -.ant-avatar-image { - background: transparent; -} -.ant-avatar-lg { - border-radius: 50%; -} -.ant-avatar-sm { - border-radius: 50%; -} -.ant-avatar-square { - border-radius: 4px; -} -.ant-back-top { - color: rgba(0, 0, 0, 0.65); -} -.ant-back-top-content { - border-radius: 20px; - background-color: rgba(0, 0, 0, 0.45); - color: #fff; -} -.ant-back-top-content:hover { - background-color: rgba(0, 0, 0, 0.65); -} -.ant-back-top-icon { - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAYAAACWwljjAAAABGdBTUEAALGPC/xhBQAAAbtJREFUWAntmMtKw0AUhhMvS5cuxILgQlRUpIggIoKIIoigG1eC+AA+jo+i6FIXBfeuXIgoeKVeitVWJX5HWhhDksnUpp3FDPyZk3Nm5nycmZKkXhAEOXSA3lG7muTeRzmfy6HneUvIhnYkQK+Q9NhAA0Opg0vBEhjBKHiyb8iGMyQMOYuK41BcBSypAL+MYXSKjtFAW7EAGEO3qN4uMQbbAkXiSfRQJ1H6a+yhlkKRcAoVFYiweYNjtCVQJJpBz2GCiPt7fBOZQpFgDpUikse5HgnkM4Fi4QX0Fpc5wf9EbLqpUCy4jMoJSXWhFwbMNgWKhVbRhy5jirhs9fy/oFhgHVVTJEs7RLZ8sSEoJm6iz7SZDMbJ+/OKERQTttCXQRLToRUmrKWCYuA2+jbN0MB4OQobYShfdTCgn/sL1K36M7TLrN3n+758aPy2rrpR6+/od5E8tf/A1uLS9aId5T7J3CNYihkQ4D9PiMdMC7mp4rjB9kjFjZp8BlnVHJBuO1yFXIV0FdDF3RlyFdJVQBdv5AxVdIsq8apiZ2PyYO1EVykesGfZEESsCkweyR8MUW+V8uJ1gkYipmpdP1pm2aJVPEGzAAAAAElFTkSuQmCC) 100%/100% no-repeat; -} -.ant-badge { - color: rgba(0, 0, 0, 0.65); - color: unset; -} -.ant-badge-count { - border-radius: 10px; - background: #f5222d; - color: #fff; - box-shadow: 0 0 0 1px #fff; -} -.ant-badge-count a, -.ant-badge-count a:hover { - color: #fff; -} -.ant-badge-dot { - border-radius: 100%; - background: #f5222d; - box-shadow: 0 0 0 1px #fff; -} -.ant-badge-status-dot { - border-radius: 50%; -} -.ant-badge-status-success { - background-color: #52c41a; -} -.ant-badge-status-processing { - background-color: @primary-color; -} -.ant-badge-status-processing:after { - border-radius: 50%; - border: 1px solid @primary-color; -} -.ant-badge-status-default { - background-color: #d9d9d9; -} -.ant-badge-status-error { - background-color: #f5222d; -} -.ant-badge-status-warning { - background-color: #faad14; -} -.ant-badge-status-text { - color: rgba(0, 0, 0, 0.65); -} -.ant-breadcrumb { - color: rgba(0, 0, 0, 0.65); - color: rgba(0, 0, 0, 0.45); -} -.ant-breadcrumb a { - color: rgba(0, 0, 0, 0.45); -} -.ant-breadcrumb a:hover { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-breadcrumb > span:last-child { - color: rgba(0, 0, 0, 0.65); -} -.ant-breadcrumb-separator { - color: rgba(0, 0, 0, 0.45); -} -.ant-btn { - background-image: none; - border: 1px solid transparent; - border-radius: 4px; - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - border-color: #d9d9d9; -} -.ant-btn:not([disabled]):active { - box-shadow: none; -} -.ant-btn-lg { - border-radius: 4px; -} -.ant-btn-sm { - border-radius: 4px; -} -.ant-btn > a:only-child { - color: currentColor; -} -.ant-btn > a:only-child:after { - background: transparent; -} -.ant-btn:hover, -.ant-btn:focus { - color: color(~`colorPalette("@{primary-color}", 5)`); - background-color: #fff; - border-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-btn:hover > a:only-child, -.ant-btn:focus > a:only-child { - color: currentColor; -} -.ant-btn:hover > a:only-child:after, -.ant-btn:focus > a:only-child:after { - background: transparent; -} -.ant-btn:active, -.ant-btn.active { - color: color(~`colorPalette("@{primary-color}", 7)`); - background-color: #fff; - border-color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-btn:active > a:only-child, -.ant-btn.active > a:only-child { - color: currentColor; -} -.ant-btn:active > a:only-child:after, -.ant-btn.active > a:only-child:after { - background: transparent; -} -.ant-btn.disabled, -.ant-btn[disabled], -.ant-btn.disabled:hover, -.ant-btn[disabled]:hover, -.ant-btn.disabled:focus, -.ant-btn[disabled]:focus, -.ant-btn.disabled:active, -.ant-btn[disabled]:active, -.ant-btn.disabled.active, -.ant-btn[disabled].active { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; -} -.ant-btn.disabled > a:only-child, -.ant-btn[disabled] > a:only-child, -.ant-btn.disabled:hover > a:only-child, -.ant-btn[disabled]:hover > a:only-child, -.ant-btn.disabled:focus > a:only-child, -.ant-btn[disabled]:focus > a:only-child, -.ant-btn.disabled:active > a:only-child, -.ant-btn[disabled]:active > a:only-child, -.ant-btn.disabled.active > a:only-child, -.ant-btn[disabled].active > a:only-child { - color: currentColor; -} -.ant-btn.disabled > a:only-child:after, -.ant-btn[disabled] > a:only-child:after, -.ant-btn.disabled:hover > a:only-child:after, -.ant-btn[disabled]:hover > a:only-child:after, -.ant-btn.disabled:focus > a:only-child:after, -.ant-btn[disabled]:focus > a:only-child:after, -.ant-btn.disabled:active > a:only-child:after, -.ant-btn[disabled]:active > a:only-child:after, -.ant-btn.disabled.active > a:only-child:after, -.ant-btn[disabled].active > a:only-child:after { - background: transparent; -} -.ant-btn:hover, -.ant-btn:focus, -.ant-btn:active, -.ant-btn.active { - background: #fff; -} -.ant-btn-primary { - color: #fff; - background-color: @primary-color; - border-color: @primary-color; - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035); -} -.ant-btn-primary > a:only-child { - color: currentColor; -} -.ant-btn-primary > a:only-child:after { - background: transparent; -} -.ant-btn-primary:hover, -.ant-btn-primary:focus { - color: #fff; - background-color: color(~`colorPalette("@{primary-color}", 5)`); - border-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-btn-primary:hover > a:only-child, -.ant-btn-primary:focus > a:only-child { - color: currentColor; -} -.ant-btn-primary:hover > a:only-child:after, -.ant-btn-primary:focus > a:only-child:after { - background: transparent; -} -.ant-btn-primary:active, -.ant-btn-primary.active { - color: #fff; - background-color: color(~`colorPalette("@{primary-color}", 7)`); - border-color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-btn-primary:active > a:only-child, -.ant-btn-primary.active > a:only-child { - color: currentColor; -} -.ant-btn-primary:active > a:only-child:after, -.ant-btn-primary.active > a:only-child:after { - background: transparent; -} -.ant-btn-primary.disabled, -.ant-btn-primary[disabled], -.ant-btn-primary.disabled:hover, -.ant-btn-primary[disabled]:hover, -.ant-btn-primary.disabled:focus, -.ant-btn-primary[disabled]:focus, -.ant-btn-primary.disabled:active, -.ant-btn-primary[disabled]:active, -.ant-btn-primary.disabled.active, -.ant-btn-primary[disabled].active { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; -} -.ant-btn-primary.disabled > a:only-child, -.ant-btn-primary[disabled] > a:only-child, -.ant-btn-primary.disabled:hover > a:only-child, -.ant-btn-primary[disabled]:hover > a:only-child, -.ant-btn-primary.disabled:focus > a:only-child, -.ant-btn-primary[disabled]:focus > a:only-child, -.ant-btn-primary.disabled:active > a:only-child, -.ant-btn-primary[disabled]:active > a:only-child, -.ant-btn-primary.disabled.active > a:only-child, -.ant-btn-primary[disabled].active > a:only-child { - color: currentColor; -} -.ant-btn-primary.disabled > a:only-child:after, -.ant-btn-primary[disabled] > a:only-child:after, -.ant-btn-primary.disabled:hover > a:only-child:after, -.ant-btn-primary[disabled]:hover > a:only-child:after, -.ant-btn-primary.disabled:focus > a:only-child:after, -.ant-btn-primary[disabled]:focus > a:only-child:after, -.ant-btn-primary.disabled:active > a:only-child:after, -.ant-btn-primary[disabled]:active > a:only-child:after, -.ant-btn-primary.disabled.active > a:only-child:after, -.ant-btn-primary[disabled].active > a:only-child:after { - background: transparent; -} -.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) { - border-right-color: color(~`colorPalette("@{primary-color}", 5)`); - border-left-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled { - border-color: #d9d9d9; -} -.ant-btn-group .ant-btn-primary:first-child:not(:last-child) { - border-right-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] { - border-right-color: #d9d9d9; -} -.ant-btn-group .ant-btn-primary:last-child:not(:first-child), -.ant-btn-group .ant-btn-primary + .ant-btn-primary { - border-left-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], -.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] { - border-left-color: #d9d9d9; -} -.ant-btn-ghost { - color: rgba(0, 0, 0, 0.65); - background-color: transparent; - border-color: #d9d9d9; -} -.ant-btn-ghost > a:only-child { - color: currentColor; -} -.ant-btn-ghost > a:only-child:after { - background: transparent; -} -.ant-btn-ghost:hover, -.ant-btn-ghost:focus { - color: color(~`colorPalette("@{primary-color}", 5)`); - background-color: transparent; - border-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-btn-ghost:hover > a:only-child, -.ant-btn-ghost:focus > a:only-child { - color: currentColor; -} -.ant-btn-ghost:hover > a:only-child:after, -.ant-btn-ghost:focus > a:only-child:after { - background: transparent; -} -.ant-btn-ghost:active, -.ant-btn-ghost.active { - color: color(~`colorPalette("@{primary-color}", 7)`); - background-color: transparent; - border-color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-btn-ghost:active > a:only-child, -.ant-btn-ghost.active > a:only-child { - color: currentColor; -} -.ant-btn-ghost:active > a:only-child:after, -.ant-btn-ghost.active > a:only-child:after { - background: transparent; -} -.ant-btn-ghost.disabled, -.ant-btn-ghost[disabled], -.ant-btn-ghost.disabled:hover, -.ant-btn-ghost[disabled]:hover, -.ant-btn-ghost.disabled:focus, -.ant-btn-ghost[disabled]:focus, -.ant-btn-ghost.disabled:active, -.ant-btn-ghost[disabled]:active, -.ant-btn-ghost.disabled.active, -.ant-btn-ghost[disabled].active { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; -} -.ant-btn-ghost.disabled > a:only-child, -.ant-btn-ghost[disabled] > a:only-child, -.ant-btn-ghost.disabled:hover > a:only-child, -.ant-btn-ghost[disabled]:hover > a:only-child, -.ant-btn-ghost.disabled:focus > a:only-child, -.ant-btn-ghost[disabled]:focus > a:only-child, -.ant-btn-ghost.disabled:active > a:only-child, -.ant-btn-ghost[disabled]:active > a:only-child, -.ant-btn-ghost.disabled.active > a:only-child, -.ant-btn-ghost[disabled].active > a:only-child { - color: currentColor; -} -.ant-btn-ghost.disabled > a:only-child:after, -.ant-btn-ghost[disabled] > a:only-child:after, -.ant-btn-ghost.disabled:hover > a:only-child:after, -.ant-btn-ghost[disabled]:hover > a:only-child:after, -.ant-btn-ghost.disabled:focus > a:only-child:after, -.ant-btn-ghost[disabled]:focus > a:only-child:after, -.ant-btn-ghost.disabled:active > a:only-child:after, -.ant-btn-ghost[disabled]:active > a:only-child:after, -.ant-btn-ghost.disabled.active > a:only-child:after, -.ant-btn-ghost[disabled].active > a:only-child:after { - background: transparent; -} -.ant-btn-dashed { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - border-color: #d9d9d9; - border-style: dashed; -} -.ant-btn-dashed > a:only-child { - color: currentColor; -} -.ant-btn-dashed > a:only-child:after { - background: transparent; -} -.ant-btn-dashed:hover, -.ant-btn-dashed:focus { - color: color(~`colorPalette("@{primary-color}", 5)`); - background-color: #fff; - border-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-btn-dashed:hover > a:only-child, -.ant-btn-dashed:focus > a:only-child { - color: currentColor; -} -.ant-btn-dashed:hover > a:only-child:after, -.ant-btn-dashed:focus > a:only-child:after { - background: transparent; -} -.ant-btn-dashed:active, -.ant-btn-dashed.active { - color: color(~`colorPalette("@{primary-color}", 7)`); - background-color: #fff; - border-color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-btn-dashed:active > a:only-child, -.ant-btn-dashed.active > a:only-child { - color: currentColor; -} -.ant-btn-dashed:active > a:only-child:after, -.ant-btn-dashed.active > a:only-child:after { - background: transparent; -} -.ant-btn-dashed.disabled, -.ant-btn-dashed[disabled], -.ant-btn-dashed.disabled:hover, -.ant-btn-dashed[disabled]:hover, -.ant-btn-dashed.disabled:focus, -.ant-btn-dashed[disabled]:focus, -.ant-btn-dashed.disabled:active, -.ant-btn-dashed[disabled]:active, -.ant-btn-dashed.disabled.active, -.ant-btn-dashed[disabled].active { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; -} -.ant-btn-dashed.disabled > a:only-child, -.ant-btn-dashed[disabled] > a:only-child, -.ant-btn-dashed.disabled:hover > a:only-child, -.ant-btn-dashed[disabled]:hover > a:only-child, -.ant-btn-dashed.disabled:focus > a:only-child, -.ant-btn-dashed[disabled]:focus > a:only-child, -.ant-btn-dashed.disabled:active > a:only-child, -.ant-btn-dashed[disabled]:active > a:only-child, -.ant-btn-dashed.disabled.active > a:only-child, -.ant-btn-dashed[disabled].active > a:only-child { - color: currentColor; -} -.ant-btn-dashed.disabled > a:only-child:after, -.ant-btn-dashed[disabled] > a:only-child:after, -.ant-btn-dashed.disabled:hover > a:only-child:after, -.ant-btn-dashed[disabled]:hover > a:only-child:after, -.ant-btn-dashed.disabled:focus > a:only-child:after, -.ant-btn-dashed[disabled]:focus > a:only-child:after, -.ant-btn-dashed.disabled:active > a:only-child:after, -.ant-btn-dashed[disabled]:active > a:only-child:after, -.ant-btn-dashed.disabled.active > a:only-child:after, -.ant-btn-dashed[disabled].active > a:only-child:after { - background: transparent; -} -.ant-btn-danger { - color: #f5222d; - background-color: #f5f5f5; - border-color: #d9d9d9; -} -.ant-btn-danger > a:only-child { - color: currentColor; -} -.ant-btn-danger > a:only-child:after { - background: transparent; -} -.ant-btn-danger:hover { - color: #fff; - background-color: #ff4d4f; - border-color: #ff4d4f; -} -.ant-btn-danger:hover > a:only-child { - color: currentColor; -} -.ant-btn-danger:hover > a:only-child:after { - background: transparent; -} -.ant-btn-danger:focus { - color: #ff4d4f; - background-color: #fff; - border-color: #ff4d4f; -} -.ant-btn-danger:focus > a:only-child { - color: currentColor; -} -.ant-btn-danger:focus > a:only-child:after { - background: transparent; -} -.ant-btn-danger:active, -.ant-btn-danger.active { - color: #fff; - background-color: #cf1322; - border-color: #cf1322; -} -.ant-btn-danger:active > a:only-child, -.ant-btn-danger.active > a:only-child { - color: currentColor; -} -.ant-btn-danger:active > a:only-child:after, -.ant-btn-danger.active > a:only-child:after { - background: transparent; -} -.ant-btn-danger.disabled, -.ant-btn-danger[disabled], -.ant-btn-danger.disabled:hover, -.ant-btn-danger[disabled]:hover, -.ant-btn-danger.disabled:focus, -.ant-btn-danger[disabled]:focus, -.ant-btn-danger.disabled:active, -.ant-btn-danger[disabled]:active, -.ant-btn-danger.disabled.active, -.ant-btn-danger[disabled].active { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; -} -.ant-btn-danger.disabled > a:only-child, -.ant-btn-danger[disabled] > a:only-child, -.ant-btn-danger.disabled:hover > a:only-child, -.ant-btn-danger[disabled]:hover > a:only-child, -.ant-btn-danger.disabled:focus > a:only-child, -.ant-btn-danger[disabled]:focus > a:only-child, -.ant-btn-danger.disabled:active > a:only-child, -.ant-btn-danger[disabled]:active > a:only-child, -.ant-btn-danger.disabled.active > a:only-child, -.ant-btn-danger[disabled].active > a:only-child { - color: currentColor; -} -.ant-btn-danger.disabled > a:only-child:after, -.ant-btn-danger[disabled] > a:only-child:after, -.ant-btn-danger.disabled:hover > a:only-child:after, -.ant-btn-danger[disabled]:hover > a:only-child:after, -.ant-btn-danger.disabled:focus > a:only-child:after, -.ant-btn-danger[disabled]:focus > a:only-child:after, -.ant-btn-danger.disabled:active > a:only-child:after, -.ant-btn-danger[disabled]:active > a:only-child:after, -.ant-btn-danger.disabled.active > a:only-child:after, -.ant-btn-danger[disabled].active > a:only-child:after { - background: transparent; -} -.ant-btn-circle, -.ant-btn-circle-outline { - border-radius: 50%; -} -.ant-btn-circle.ant-btn-lg, -.ant-btn-circle-outline.ant-btn-lg { - border-radius: 50%; -} -.ant-btn-circle.ant-btn-sm, -.ant-btn-circle-outline.ant-btn-sm { - border-radius: 50%; -} -.ant-btn:before { - background: #fff; - border-radius: inherit; -} -.ant-btn-group-lg > .ant-btn, -.ant-btn-group-lg > span > .ant-btn { - border-radius: 0; -} -.ant-btn-group-sm > .ant-btn, -.ant-btn-group-sm > span > .ant-btn { - border-radius: 0; -} -.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) { - border-left-color: transparent; -} -.ant-btn-group .ant-btn { - border-radius: 0; -} -.ant-btn-group > .ant-btn:only-child { - border-radius: 4px; -} -.ant-btn-group > span:only-child > .ant-btn { - border-radius: 4px; -} -.ant-btn-group > .ant-btn:first-child:not(:last-child), -.ant-btn-group > span:first-child:not(:last-child) > .ant-btn { - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} -.ant-btn-group > .ant-btn:last-child:not(:first-child), -.ant-btn-group > span:last-child:not(:first-child) > .ant-btn { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; -} -.ant-btn-group-sm > .ant-btn:only-child { - border-radius: 4px; -} -.ant-btn-group-sm > span:only-child > .ant-btn { - border-radius: 4px; -} -.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), -.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn { - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} -.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), -.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; -} -.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn { - border-radius: 0; -} -.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.ant-btn-background-ghost { - background: transparent !important; - border-color: #fff; - color: #fff; -} -.ant-btn-background-ghost.ant-btn-primary { - color: @primary-color; - background-color: transparent; - border-color: @primary-color; -} -.ant-btn-background-ghost.ant-btn-primary > a:only-child { - color: currentColor; -} -.ant-btn-background-ghost.ant-btn-primary > a:only-child:after { - background: transparent; -} -.ant-btn-background-ghost.ant-btn-primary:hover, -.ant-btn-background-ghost.ant-btn-primary:focus { - color: color(~`colorPalette("@{primary-color}", 5)`); - background-color: transparent; - border-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child { - color: currentColor; -} -.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child:after { - background: transparent; -} -.ant-btn-background-ghost.ant-btn-primary:active, -.ant-btn-background-ghost.ant-btn-primary.active { - color: color(~`colorPalette("@{primary-color}", 7)`); - background-color: transparent; - border-color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-btn-background-ghost.ant-btn-primary:active > a:only-child, -.ant-btn-background-ghost.ant-btn-primary.active > a:only-child { - color: currentColor; -} -.ant-btn-background-ghost.ant-btn-primary:active > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary.active > a:only-child:after { - background: transparent; -} -.ant-btn-background-ghost.ant-btn-primary.disabled, -.ant-btn-background-ghost.ant-btn-primary[disabled], -.ant-btn-background-ghost.ant-btn-primary.disabled:hover, -.ant-btn-background-ghost.ant-btn-primary[disabled]:hover, -.ant-btn-background-ghost.ant-btn-primary.disabled:focus, -.ant-btn-background-ghost.ant-btn-primary[disabled]:focus, -.ant-btn-background-ghost.ant-btn-primary.disabled:active, -.ant-btn-background-ghost.ant-btn-primary[disabled]:active, -.ant-btn-background-ghost.ant-btn-primary.disabled.active, -.ant-btn-background-ghost.ant-btn-primary[disabled].active { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child, -.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child { - color: currentColor; -} -.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child:after, -.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child:after { - background: transparent; -} -.ant-btn-background-ghost.ant-btn-danger { - color: #f5222d; - background-color: transparent; - border-color: #f5222d; -} -.ant-btn-background-ghost.ant-btn-danger > a:only-child { - color: currentColor; -} -.ant-btn-background-ghost.ant-btn-danger > a:only-child:after { - background: transparent; -} -.ant-btn-background-ghost.ant-btn-danger:hover, -.ant-btn-background-ghost.ant-btn-danger:focus { - color: #ff4d4f; - background-color: transparent; - border-color: #ff4d4f; -} -.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child { - color: currentColor; -} -.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child:after { - background: transparent; -} -.ant-btn-background-ghost.ant-btn-danger:active, -.ant-btn-background-ghost.ant-btn-danger.active { - color: #cf1322; - background-color: transparent; - border-color: #cf1322; -} -.ant-btn-background-ghost.ant-btn-danger:active > a:only-child, -.ant-btn-background-ghost.ant-btn-danger.active > a:only-child { - color: currentColor; -} -.ant-btn-background-ghost.ant-btn-danger:active > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger.active > a:only-child:after { - background: transparent; -} -.ant-btn-background-ghost.ant-btn-danger.disabled, -.ant-btn-background-ghost.ant-btn-danger[disabled], -.ant-btn-background-ghost.ant-btn-danger.disabled:hover, -.ant-btn-background-ghost.ant-btn-danger[disabled]:hover, -.ant-btn-background-ghost.ant-btn-danger.disabled:focus, -.ant-btn-background-ghost.ant-btn-danger[disabled]:focus, -.ant-btn-background-ghost.ant-btn-danger.disabled:active, -.ant-btn-background-ghost.ant-btn-danger[disabled]:active, -.ant-btn-background-ghost.ant-btn-danger.disabled.active, -.ant-btn-background-ghost.ant-btn-danger[disabled].active { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child, -.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child { - color: currentColor; -} -.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child:after, -.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child:after { - background: transparent; -} -.christmas.ant-btn-primary:before { - background: url(data:image/png;base64,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) no-repeat 50% 0; - background-size: 64px; -} -.christmas.ant-btn-primary.ant-btn-lg:before { - background-size: 72px; -} -.christmas.ant-btn-primary.ant-btn-sm:before { - background-size: 56px; -} -.ant-fullcalendar { - color: rgba(0, 0, 0, 0.65); - border-top: 1px solid #d9d9d9; -} -.ant-fullcalendar table { - border-collapse: collapse; - background-color: transparent; -} -.ant-fullcalendar table, -.ant-fullcalendar th, -.ant-fullcalendar td { - border: 0; -} -.ant-fullcalendar-calendar-table { - border-spacing: 0; -} -.ant-fullcalendar-value { - color: rgba(0, 0, 0, 0.65); - border-radius: 2px; - background: transparent; -} -.ant-fullcalendar-value:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-fullcalendar-value:active { - background: @primary-color; - color: #fff; -} -.ant-fullcalendar-today .ant-fullcalendar-value, -.ant-fullcalendar-month-panel-current-cell .ant-fullcalendar-value { - box-shadow: 0 0 0 1px @primary-color inset; -} -.ant-fullcalendar-selected-day .ant-fullcalendar-value, -.ant-fullcalendar-month-panel-selected-cell .ant-fullcalendar-value { - background: @primary-color; - color: #fff; -} -.ant-fullcalendar-disabled-cell-first-of-row .ant-fullcalendar-value { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.ant-fullcalendar-disabled-cell-last-of-row .ant-fullcalendar-value { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.ant-fullcalendar-last-month-cell .ant-fullcalendar-value, -.ant-fullcalendar-next-month-btn-day .ant-fullcalendar-value { - color: rgba(0, 0, 0, 0.25); -} -.ant-fullcalendar-month-panel-table { - border-collapse: separate; -} -.ant-fullcalendar-fullscreen { - border-top: 0; -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-month, -.ant-fullcalendar-fullscreen .ant-fullcalendar-date { - color: rgba(0, 0, 0, 0.65); - border-top: 2px solid #e8e8e8; -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-month:hover, -.ant-fullcalendar-fullscreen .ant-fullcalendar-date:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-month:active, -.ant-fullcalendar-fullscreen .ant-fullcalendar-date:active { - background: color(~`colorPalette("@{primary-color}", 2)`); -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-value { - background: transparent; -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-today .ant-fullcalendar-value { - color: rgba(0, 0, 0, 0.65); -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-current-cell .ant-fullcalendar-month, -.ant-fullcalendar-fullscreen .ant-fullcalendar-today .ant-fullcalendar-date { - border-top-color: @primary-color; - background: transparent; -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-current-cell .ant-fullcalendar-value, -.ant-fullcalendar-fullscreen .ant-fullcalendar-today .ant-fullcalendar-value { - box-shadow: none; -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-selected-cell .ant-fullcalendar-month, -.ant-fullcalendar-fullscreen .ant-fullcalendar-selected-day .ant-fullcalendar-date { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-selected-cell .ant-fullcalendar-value, -.ant-fullcalendar-fullscreen .ant-fullcalendar-selected-day .ant-fullcalendar-value { - color: @primary-color; -} -.ant-fullcalendar-fullscreen .ant-fullcalendar-last-month-cell .ant-fullcalendar-date, -.ant-fullcalendar-fullscreen .ant-fullcalendar-next-month-btn-day .ant-fullcalendar-date { - color: rgba(0, 0, 0, 0.25); -} -.ant-fullcalendar-disabled-cell:not(.ant-fullcalendar-today) .ant-fullcalendar-date, -.ant-fullcalendar-disabled-cell:not(.ant-fullcalendar-today) .ant-fullcalendar-date:hover { - background: transparent; -} -.ant-fullcalendar-disabled-cell .ant-fullcalendar-value { - color: rgba(0, 0, 0, 0.25); - border-radius: 0; -} -.ant-card { - color: rgba(0, 0, 0, 0.65); - background: #fff; - border-radius: 2px; -} -.ant-card-hoverable:hover { - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09); - border-color: rgba(0, 0, 0, 0.09); -} -.ant-card-bordered { - border: 1px solid #e8e8e8; -} -.ant-card-head { - background: transparent; - border-bottom: 1px solid #e8e8e8; - border-radius: 2px 2px 0 0; - color: rgba(0, 0, 0, 0.85); -} -.ant-card-head .ant-tabs { - color: rgba(0, 0, 0, 0.65); -} -.ant-card-head .ant-tabs-bar { - border-bottom: 1px solid #e8e8e8; -} -.ant-card-extra { - color: rgba(0, 0, 0, 0.65); -} -.ant-card-grid { - border-radius: 0; - border: 0; - box-shadow: 1px 0 0 0 #e8e8e8, 0 1px 0 0 #e8e8e8, 1px 1px 0 0 #e8e8e8, 1px 0 0 0 #e8e8e8 inset, 0 1px 0 0 #e8e8e8 inset; -} -.ant-card-grid:hover { - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); -} -.ant-card-cover img { - border-radius: 2px 2px 0 0; -} -.ant-card-actions { - border-top: 1px solid #e8e8e8; - background: #fafafa; -} -.ant-card-actions > li { - color: rgba(0, 0, 0, 0.45); -} -.ant-card-actions > li > span:hover { - color: @primary-color; -} -.ant-card-actions > li > span a { - color: rgba(0, 0, 0, 0.45); -} -.ant-card-actions > li > span a:hover { - color: @primary-color; -} -.ant-card-actions > li:not(:last-child) { - border-right: 1px solid #e8e8e8; -} -.ant-card-type-inner .ant-card-head { - background: #fafafa; -} -.ant-card-meta-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-card-meta-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-card-loading-block { - border-radius: 2px; - background: linear-gradient(90deg, rgba(207, 216, 220, 0.2), rgba(207, 216, 220, 0.4), rgba(207, 216, 220, 0.2)); - background-size: 600% 600%; -} -.ant-carousel { - color: rgba(0, 0, 0, 0.65); -} -.ant-carousel .slick-slider { - -webkit-tap-highlight-color: transparent; -} -.ant-carousel .slick-vertical .slick-slide { - border: 1px solid transparent; -} -.ant-carousel .slick-prev, -.ant-carousel .slick-next { - background: transparent; - color: transparent; - border: 0; -} -.ant-carousel .slick-prev:hover, -.ant-carousel .slick-next:hover, -.ant-carousel .slick-prev:focus, -.ant-carousel .slick-next:focus { - background: transparent; - color: transparent; -} -.ant-carousel .slick-dots li button { - border: 0; - background: #fff; - border-radius: 1px; - color: transparent; -} -.ant-carousel .slick-dots li.slick-active button { - background: #fff; -} -.ant-cascader { - color: rgba(0, 0, 0, 0.65); -} -.ant-cascader-input.ant-input { - background-color: transparent !important; -} -.ant-cascader-picker { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - border-radius: 4px; -} -.ant-cascader-picker-with-value .ant-cascader-picker-label { - color: transparent; -} -.ant-cascader-picker-disabled { - background: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-cascader-picker:focus .ant-cascader-input { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-cascader-picker-show-search.ant-cascader-picker-focused { - color: rgba(0, 0, 0, 0.25); -} -.ant-cascader-picker-clear { - background: #fff; - color: rgba(0, 0, 0, 0.25); -} -.ant-cascader-picker-clear:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-cascader-picker-arrow { - color: rgba(0, 0, 0, 0.25); -} -.ant-cascader-menus { - background: #fff; - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); -} -.ant-cascader-menu { - border-right: 1px solid #e8e8e8; -} -.ant-cascader-menu:first-child { - border-radius: 4px 0 0 4px; -} -.ant-cascader-menu:last-child { - border-right-color: transparent; - border-radius: 0 4px 4px 0; -} -.ant-cascader-menu:only-child { - border-radius: 4px; -} -.ant-cascader-menu-item:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-cascader-menu-item-disabled { - color: rgba(0, 0, 0, 0.25); -} -.ant-cascader-menu-item-disabled:hover { - background: transparent; -} -.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled), -.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover { - background: #f5f5f5; -} -.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, -.ant-cascader-menu-item-expand .ant-cascader-menu-item-loading-icon { - color: rgba(0, 0, 0, 0.45); -} -.ant-cascader-menu-item .ant-cascader-menu-item-keyword { - color: #f5222d; -} -.ant-checkbox { - color: rgba(0, 0, 0, 0.65); -} -.ant-checkbox-wrapper:hover .ant-checkbox-inner, -.ant-checkbox:hover .ant-checkbox-inner, -.ant-checkbox-input:focus + .ant-checkbox-inner { - border-color: @primary-color; -} -.ant-checkbox-checked:after { - border-radius: 2px; - border: 1px solid @primary-color; -} -.ant-checkbox-inner { - border: 1px solid #d9d9d9; - border-radius: 2px; - background-color: #fff; -} -.ant-checkbox-inner:after { - border: 2px solid #fff; - border-top: 0; - border-left: 0; -} -.ant-checkbox-indeterminate .ant-checkbox-inner:after { - border: 0; - background-color: @primary-color; -} -.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner:after { - border-color: rgba(0, 0, 0, 0.25); -} -.ant-checkbox-checked .ant-checkbox-inner:after { - border: 2px solid #fff; - border-top: 0; - border-left: 0; -} -.ant-checkbox-checked .ant-checkbox-inner { - background-color: @primary-color; - border-color: @primary-color; -} -.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner:after { - border-color: rgba(0, 0, 0, 0.25); -} -.ant-checkbox-disabled .ant-checkbox-inner { - border-color: #d9d9d9 !important; - background-color: #f5f5f5; -} -.ant-checkbox-disabled .ant-checkbox-inner:after { - border-color: #f5f5f5; -} -.ant-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); -} -.ant-checkbox-wrapper { - color: rgba(0, 0, 0, 0.65); -} -.ant-checkbox-group { - color: rgba(0, 0, 0, 0.65); -} -.ant-collapse { - color: rgba(0, 0, 0, 0.65); - background-color: #fafafa; - border-radius: 4px; - border: 1px solid #d9d9d9; - border-bottom: 0; -} -.ant-collapse > .ant-collapse-item { - border-bottom: 1px solid #d9d9d9; -} -.ant-collapse > .ant-collapse-item:last-child, -.ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header { - border-radius: 0 0 4px 4px; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header { - color: rgba(0, 0, 0, 0.85); -} -.ant-collapse-content { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - border-top: 1px solid #d9d9d9; -} -.ant-collapse-item:last-child > .ant-collapse-content { - border-radius: 0 0 4px 4px; -} -.ant-collapse-borderless { - background-color: #fff; - border: 0; -} -.ant-collapse-borderless > .ant-collapse-item { - border-bottom: 1px solid #d9d9d9; -} -.ant-collapse-borderless > .ant-collapse-item:last-child, -.ant-collapse-borderless > .ant-collapse-item:last-child .ant-collapse-header { - border-radius: 0; -} -.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content { - background-color: transparent; - border-top: 0; -} -.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header, -.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow { - color: rgba(0, 0, 0, 0.25); -} -.ant-calendar-picker-container { - color: rgba(0, 0, 0, 0.65); -} -.ant-calendar-picker { - color: rgba(0, 0, 0, 0.65); -} -.ant-calendar-picker:hover .ant-calendar-picker-input:not(.ant-input-disabled) { - border-color: @primary-color; -} -.ant-calendar-picker:focus .ant-calendar-picker-input:not(.ant-input-disabled) { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-calendar-picker-clear { - color: rgba(0, 0, 0, 0.25); - background: #fff; -} -.ant-calendar-picker-clear:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-calendar-picker-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-calendar { - border: 1px solid #fff; - background-color: #fff; - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); - background-clip: padding-box; -} -.ant-calendar-input-wrap { - border-bottom: 1px solid #e8e8e8; -} -.ant-calendar-input { - border: 0; - color: rgba(0, 0, 0, 0.65); - background: #fff; -} -.ant-calendar-input::-moz-placeholder { - color: #bfbfbf; -} -.ant-calendar-input:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-calendar-input::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-calendar-header { - border-bottom: 1px solid #e8e8e8; -} -.ant-calendar-header a:hover { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-calendar-header .ant-calendar-century-select, -.ant-calendar-header .ant-calendar-decade-select, -.ant-calendar-header .ant-calendar-year-select, -.ant-calendar-header .ant-calendar-month-select { - color: rgba(0, 0, 0, 0.85); -} -.ant-calendar-header .ant-calendar-prev-century-btn, -.ant-calendar-header .ant-calendar-next-century-btn, -.ant-calendar-header .ant-calendar-prev-decade-btn, -.ant-calendar-header .ant-calendar-next-decade-btn, -.ant-calendar-header .ant-calendar-prev-month-btn, -.ant-calendar-header .ant-calendar-next-month-btn, -.ant-calendar-header .ant-calendar-prev-year-btn, -.ant-calendar-header .ant-calendar-next-year-btn { - color: rgba(0, 0, 0, 0.45); -} -.ant-calendar table { - border-collapse: collapse; - background-color: transparent; -} -.ant-calendar table, -.ant-calendar th, -.ant-calendar td { - border: 0; -} -.ant-calendar-calendar-table { - border-spacing: 0; -} -.ant-calendar-date { - color: rgba(0, 0, 0, 0.65); - border-radius: 2px; - border: 1px solid transparent; - background: transparent; -} -.ant-calendar-date:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-calendar-date:active { - color: #fff; - background: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-calendar-today .ant-calendar-date { - border-color: @primary-color; - color: @primary-color; -} -.ant-calendar-last-month-cell .ant-calendar-date, -.ant-calendar-next-month-btn-day .ant-calendar-date { - color: rgba(0, 0, 0, 0.25); -} -.ant-calendar-selected-day .ant-calendar-date { - background: #d1e9ff; -} -.ant-calendar-selected-date .ant-calendar-date, -.ant-calendar-selected-start-date .ant-calendar-date, -.ant-calendar-selected-end-date .ant-calendar-date { - background: @primary-color; - color: #fff; - border: 1px solid transparent; -} -.ant-calendar-selected-date .ant-calendar-date:hover, -.ant-calendar-selected-start-date .ant-calendar-date:hover, -.ant-calendar-selected-end-date .ant-calendar-date:hover { - background: @primary-color; -} -.ant-calendar-disabled-cell .ant-calendar-date { - color: #bcbcbc; - background: #f5f5f5; - border-radius: 0; - border: 1px solid transparent; -} -.ant-calendar-disabled-cell .ant-calendar-date:hover { - background: #f5f5f5; -} -.ant-calendar-disabled-cell.ant-calendar-today .ant-calendar-date:before { - border: 1px solid #bcbcbc; - border-radius: 2px; -} -.ant-calendar-disabled-cell-first-of-row .ant-calendar-date { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.ant-calendar-disabled-cell-last-of-row .ant-calendar-date { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.ant-calendar-footer { - border-top: 1px solid #e8e8e8; -} -.ant-calendar-footer:empty { - border-top: 0; -} -.ant-calendar .ant-calendar-today-btn-disabled, -.ant-calendar .ant-calendar-clear-btn-disabled { - color: rgba(0, 0, 0, 0.25); -} -.ant-calendar .ant-calendar-clear-btn:after { - color: rgba(0, 0, 0, 0.25); -} -.ant-calendar .ant-calendar-clear-btn:hover:after { - color: rgba(0, 0, 0, 0.45); -} -.ant-calendar .ant-calendar-ok-btn { - background-image: none; - border: 1px solid transparent; - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); - color: #fff; - background-color: @primary-color; - border-color: @primary-color; - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035); - border-radius: 4px; -} -.ant-calendar .ant-calendar-ok-btn:not([disabled]):active { - box-shadow: none; -} -.ant-calendar .ant-calendar-ok-btn-lg { - border-radius: 4px; -} -.ant-calendar .ant-calendar-ok-btn-sm { - border-radius: 4px; -} -.ant-calendar .ant-calendar-ok-btn > a:only-child { - color: currentColor; -} -.ant-calendar .ant-calendar-ok-btn > a:only-child:after { - background: transparent; -} -.ant-calendar .ant-calendar-ok-btn:hover, -.ant-calendar .ant-calendar-ok-btn:focus { - color: #fff; - background-color: color(~`colorPalette("@{primary-color}", 5)`); - border-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-calendar .ant-calendar-ok-btn:hover > a:only-child, -.ant-calendar .ant-calendar-ok-btn:focus > a:only-child { - color: currentColor; -} -.ant-calendar .ant-calendar-ok-btn:hover > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn:focus > a:only-child:after { - background: transparent; -} -.ant-calendar .ant-calendar-ok-btn:active, -.ant-calendar .ant-calendar-ok-btn.active { - color: #fff; - background-color: color(~`colorPalette("@{primary-color}", 7)`); - border-color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-calendar .ant-calendar-ok-btn:active > a:only-child, -.ant-calendar .ant-calendar-ok-btn.active > a:only-child { - color: currentColor; -} -.ant-calendar .ant-calendar-ok-btn:active > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn.active > a:only-child:after { - background: transparent; -} -.ant-calendar .ant-calendar-ok-btn.disabled, -.ant-calendar .ant-calendar-ok-btn[disabled], -.ant-calendar .ant-calendar-ok-btn.disabled:hover, -.ant-calendar .ant-calendar-ok-btn[disabled]:hover, -.ant-calendar .ant-calendar-ok-btn.disabled:focus, -.ant-calendar .ant-calendar-ok-btn[disabled]:focus, -.ant-calendar .ant-calendar-ok-btn.disabled:active, -.ant-calendar .ant-calendar-ok-btn[disabled]:active, -.ant-calendar .ant-calendar-ok-btn.disabled.active, -.ant-calendar .ant-calendar-ok-btn[disabled].active { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; -} -.ant-calendar .ant-calendar-ok-btn.disabled > a:only-child, -.ant-calendar .ant-calendar-ok-btn[disabled] > a:only-child, -.ant-calendar .ant-calendar-ok-btn.disabled:hover > a:only-child, -.ant-calendar .ant-calendar-ok-btn[disabled]:hover > a:only-child, -.ant-calendar .ant-calendar-ok-btn.disabled:focus > a:only-child, -.ant-calendar .ant-calendar-ok-btn[disabled]:focus > a:only-child, -.ant-calendar .ant-calendar-ok-btn.disabled:active > a:only-child, -.ant-calendar .ant-calendar-ok-btn[disabled]:active > a:only-child, -.ant-calendar .ant-calendar-ok-btn.disabled.active > a:only-child, -.ant-calendar .ant-calendar-ok-btn[disabled].active > a:only-child { - color: currentColor; -} -.ant-calendar .ant-calendar-ok-btn.disabled > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn[disabled] > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn.disabled:hover > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn[disabled]:hover > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn.disabled:focus > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn[disabled]:focus > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn.disabled:active > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn[disabled]:active > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn.disabled.active > a:only-child:after, -.ant-calendar .ant-calendar-ok-btn[disabled].active > a:only-child:after { - background: transparent; -} -.ant-calendar .ant-calendar-ok-btn-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; -} -.ant-calendar .ant-calendar-ok-btn-disabled > a:only-child { - color: currentColor; -} -.ant-calendar .ant-calendar-ok-btn-disabled > a:only-child:after { - background: transparent; -} -.ant-calendar .ant-calendar-ok-btn-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; -} -.ant-calendar .ant-calendar-ok-btn-disabled:hover > a:only-child { - color: currentColor; -} -.ant-calendar .ant-calendar-ok-btn-disabled:hover > a:only-child:after { - background: transparent; -} -.ant-calendar-range-picker-input { - background-color: transparent; - border: 0; -} -.ant-calendar-range-picker-input::-moz-placeholder { - color: #bfbfbf; -} -.ant-calendar-range-picker-input:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-calendar-range-picker-input::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-calendar-range-picker-separator { - color: rgba(0, 0, 0, 0.45); -} -.ant-calendar-range-left .ant-calendar-time-picker-inner { - border-right: 1px solid #e8e8e8; -} -.ant-calendar-range-right .ant-calendar-time-picker-inner { - border-left: 1px solid #e8e8e8; -} -.ant-calendar-range-middle { - color: rgba(0, 0, 0, 0.45); -} -.ant-calendar-range .ant-calendar-input, -.ant-calendar-range .ant-calendar-time-picker-input { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 4px; - border: 0; - box-shadow: none; -} -.ant-calendar-range .ant-calendar-input::-moz-placeholder, -.ant-calendar-range .ant-calendar-time-picker-input::-moz-placeholder { - color: #bfbfbf; -} -.ant-calendar-range .ant-calendar-input:-ms-input-placeholder, -.ant-calendar-range .ant-calendar-time-picker-input:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-calendar-range .ant-calendar-input::-webkit-input-placeholder, -.ant-calendar-range .ant-calendar-time-picker-input::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-calendar-range .ant-calendar-input:hover, -.ant-calendar-range .ant-calendar-time-picker-input:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-calendar-range .ant-calendar-input:focus, -.ant-calendar-range .ant-calendar-time-picker-input:focus { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-calendar-range .ant-calendar-input-disabled, -.ant-calendar-range .ant-calendar-time-picker-input-disabled { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-calendar-range .ant-calendar-input-disabled:hover, -.ant-calendar-range .ant-calendar-time-picker-input-disabled:hover { - border-color: #e6d8d8; - border-right-width: 1px !important; -} -.ant-calendar-range .ant-calendar-input:focus, -.ant-calendar-range .ant-calendar-time-picker-input:focus { - box-shadow: none; -} -.ant-calendar-range .ant-calendar-in-range-cell { - border-radius: 0; -} -.ant-calendar-range .ant-calendar-in-range-cell:before { - background: color(~`colorPalette("@{primary-color}", 1)`); - border-radius: 0; - border: 0; -} -.ant-calendar-range .ant-calendar-header, -.ant-calendar-range .ant-calendar-month-panel-header, -.ant-calendar-range .ant-calendar-year-panel-header { - border-bottom: 0; -} -.ant-calendar-range .ant-calendar-body, -.ant-calendar-range .ant-calendar-month-panel-body, -.ant-calendar-range .ant-calendar-year-panel-body { - border-top: 1px solid #e8e8e8; -} -.ant-calendar-range.ant-calendar-time .ant-calendar-time-picker-inner { - background: none; -} -.ant-calendar-range.ant-calendar-time .ant-calendar-time-picker-combobox { - background-color: #fff; - border-top: 1px solid #e8e8e8; -} -.ant-calendar-range.ant-calendar-show-time-picker .ant-calendar-body { - border-top-color: transparent; -} -.ant-calendar-time-picker { - background-color: #fff; -} -.ant-calendar-time-picker-inner { - background-color: #fff; - background-clip: padding-box; -} -.ant-calendar-time-picker-select { - border-right: 1px solid #e8e8e8; -} -.ant-calendar-time-picker-select:first-child { - border-left: 0; -} -.ant-calendar-time-picker-select:last-child { - border-right: 0; -} -.ant-calendar-time-picker-select li:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -li.ant-calendar-time-picker-select-option-selected { - background: #f5f5f5; -} -li.ant-calendar-time-picker-select-option-disabled { - color: rgba(0, 0, 0, 0.25); -} -li.ant-calendar-time-picker-select-option-disabled:hover { - background: transparent; -} -.ant-calendar-time .ant-calendar-day-select { - color: rgba(0, 0, 0, 0.85); -} -.ant-calendar-time .ant-calendar-footer .ant-calendar-time-picker-btn-disabled { - color: rgba(0, 0, 0, 0.25); -} -.ant-calendar-month-panel { - border-radius: 4px; - background: #fff; -} -.ant-calendar-month-panel-header { - border-bottom: 1px solid #e8e8e8; -} -.ant-calendar-month-panel-header a:hover { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-calendar-month-panel-header .ant-calendar-month-panel-century-select, -.ant-calendar-month-panel-header .ant-calendar-month-panel-decade-select, -.ant-calendar-month-panel-header .ant-calendar-month-panel-year-select, -.ant-calendar-month-panel-header .ant-calendar-month-panel-month-select { - color: rgba(0, 0, 0, 0.85); -} -.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-century-btn, -.ant-calendar-month-panel-header .ant-calendar-month-panel-next-century-btn, -.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-decade-btn, -.ant-calendar-month-panel-header .ant-calendar-month-panel-next-decade-btn, -.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-month-btn, -.ant-calendar-month-panel-header .ant-calendar-month-panel-next-month-btn, -.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-year-btn, -.ant-calendar-month-panel-header .ant-calendar-month-panel-next-year-btn { - color: rgba(0, 0, 0, 0.45); -} -.ant-calendar-month-panel-table { - border-collapse: separate; -} -.ant-calendar-month-panel-selected-cell .ant-calendar-month-panel-month { - background: @primary-color; - color: #fff; -} -.ant-calendar-month-panel-selected-cell .ant-calendar-month-panel-month:hover { - background: @primary-color; - color: #fff; -} -.ant-calendar-month-panel-cell-disabled .ant-calendar-month-panel-month, -.ant-calendar-month-panel-cell-disabled .ant-calendar-month-panel-month:hover { - color: #bcbcbc; - background: #f5f5f5; -} -.ant-calendar-month-panel-month { - color: rgba(0, 0, 0, 0.65); - background: transparent; - border-radius: 2px; -} -.ant-calendar-month-panel-month:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-calendar-year-panel { - border-radius: 4px; - background: #fff; -} -.ant-calendar-year-panel-header { - border-bottom: 1px solid #e8e8e8; -} -.ant-calendar-year-panel-header a:hover { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-calendar-year-panel-header .ant-calendar-year-panel-century-select, -.ant-calendar-year-panel-header .ant-calendar-year-panel-decade-select, -.ant-calendar-year-panel-header .ant-calendar-year-panel-year-select, -.ant-calendar-year-panel-header .ant-calendar-year-panel-month-select { - color: rgba(0, 0, 0, 0.85); -} -.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-century-btn, -.ant-calendar-year-panel-header .ant-calendar-year-panel-next-century-btn, -.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-decade-btn, -.ant-calendar-year-panel-header .ant-calendar-year-panel-next-decade-btn, -.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-month-btn, -.ant-calendar-year-panel-header .ant-calendar-year-panel-next-month-btn, -.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-year-btn, -.ant-calendar-year-panel-header .ant-calendar-year-panel-next-year-btn { - color: rgba(0, 0, 0, 0.45); -} -.ant-calendar-year-panel-table { - border-collapse: separate; -} -.ant-calendar-year-panel-year { - color: rgba(0, 0, 0, 0.65); - background: transparent; - border-radius: 2px; -} -.ant-calendar-year-panel-year:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-calendar-year-panel-selected-cell .ant-calendar-year-panel-year { - background: @primary-color; - color: #fff; -} -.ant-calendar-year-panel-selected-cell .ant-calendar-year-panel-year:hover { - background: @primary-color; - color: #fff; -} -.ant-calendar-year-panel-last-decade-cell .ant-calendar-year-panel-year, -.ant-calendar-year-panel-next-decade-cell .ant-calendar-year-panel-year { - color: rgba(0, 0, 0, 0.25); -} -.ant-calendar-decade-panel { - background: #fff; - border-radius: 4px; -} -.ant-calendar-decade-panel-header { - border-bottom: 1px solid #e8e8e8; -} -.ant-calendar-decade-panel-header a:hover { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-century-select, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-decade-select, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-year-select, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-month-select { - color: rgba(0, 0, 0, 0.85); -} -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-century-btn, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-century-btn, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-decade-btn, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-decade-btn, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-month-btn, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-month-btn, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-year-btn, -.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-year-btn { - color: rgba(0, 0, 0, 0.45); -} -.ant-calendar-decade-panel-table { - border-collapse: separate; -} -.ant-calendar-decade-panel-decade { - color: rgba(0, 0, 0, 0.65); - background: transparent; - border-radius: 2px; -} -.ant-calendar-decade-panel-decade:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-calendar-decade-panel-selected-cell .ant-calendar-decade-panel-decade { - background: @primary-color; - color: #fff; -} -.ant-calendar-decade-panel-selected-cell .ant-calendar-decade-panel-decade:hover { - background: @primary-color; - color: #fff; -} -.ant-calendar-decade-panel-last-century-cell .ant-calendar-decade-panel-decade, -.ant-calendar-decade-panel-next-century-cell .ant-calendar-decade-panel-decade { - color: rgba(0, 0, 0, 0.25); -} -.ant-calendar-week-number .ant-calendar-body tr:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-calendar-week-number .ant-calendar-body tr.ant-calendar-active-week { - background: color(~`colorPalette("@{primary-color}", 2)`); -} -.ant-calendar-week-number .ant-calendar-body tr .ant-calendar-selected-day .ant-calendar-date, -.ant-calendar-week-number .ant-calendar-body tr .ant-calendar-selected-day:hover .ant-calendar-date { - background: transparent; - color: rgba(0, 0, 0, 0.65); -} -.ant-divider { - color: rgba(0, 0, 0, 0.65); - background: #e8e8e8; -} -.ant-divider-horizontal.ant-divider-with-text, -.ant-divider-horizontal.ant-divider-with-text-left, -.ant-divider-horizontal.ant-divider-with-text-right { - background: transparent; - color: rgba(0, 0, 0, 0.85); -} -.ant-divider-horizontal.ant-divider-with-text:before, -.ant-divider-horizontal.ant-divider-with-text-left:before, -.ant-divider-horizontal.ant-divider-with-text-right:before, -.ant-divider-horizontal.ant-divider-with-text:after, -.ant-divider-horizontal.ant-divider-with-text-left:after, -.ant-divider-horizontal.ant-divider-with-text-right:after { - border-top: 1px solid #e8e8e8; -} -.ant-divider-dashed { - background: none; - border-top: 1px dashed #e8e8e8; -} -.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed, -.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-dashed, -.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-dashed { - border-top: 0; -} -.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed:before, -.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-dashed:before, -.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-dashed:before, -.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed:after, -.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-dashed:after, -.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-dashed:after { - border-style: dashed none none; -} -.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper { - box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15); -} -.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper { - box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); -} -.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper { - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); -} -.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper { - box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15); -} -.ant-drawer-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-drawer-content { - background-color: #fff; - border: 0; - background-clip: padding-box; -} -.ant-drawer-close { - border: 0; - background: transparent; - color: rgba(0, 0, 0, 0.45); -} -.ant-drawer-close:focus, -.ant-drawer-close:hover { - color: #444; -} -.ant-drawer-header { - border-radius: 4px 4px 0 0; - background: #fff; - color: rgba(0, 0, 0, 0.65); - border-bottom: 1px solid #e8e8e8; -} -.ant-drawer-mask { - background-color: rgba(0, 0, 0, 0.65); -} -.ant-drawer-open-content { - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); -} -.ant-dropdown { - color: rgba(0, 0, 0, 0.65); -} -.ant-dropdown-menu { - background-color: #fff; - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); - background-clip: padding-box; -} -.ant-dropdown-menu-item-group-title { - color: rgba(0, 0, 0, 0.45); -} -.ant-dropdown-menu-item, -.ant-dropdown-menu-submenu-title { - color: rgba(0, 0, 0, 0.65); -} -.ant-dropdown-menu-item > a, -.ant-dropdown-menu-submenu-title > a { - color: rgba(0, 0, 0, 0.65); -} -.ant-dropdown-menu-item-selected, -.ant-dropdown-menu-submenu-title-selected, -.ant-dropdown-menu-item-selected > a, -.ant-dropdown-menu-submenu-title-selected > a { - color: @primary-color; - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-dropdown-menu-item:hover, -.ant-dropdown-menu-submenu-title:hover { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-dropdown-menu-item-disabled, -.ant-dropdown-menu-submenu-title-disabled { - color: rgba(0, 0, 0, 0.25); -} -.ant-dropdown-menu-item-disabled:hover, -.ant-dropdown-menu-submenu-title-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #fff; -} -.ant-dropdown-menu-item-divider, -.ant-dropdown-menu-submenu-title-divider { - background-color: #e8e8e8; -} -.ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon, -.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { - color: rgba(0, 0, 0, 0.45); -} -.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title, -.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-dropdown-menu-dark, -.ant-dropdown-menu-dark .ant-dropdown-menu { - background: #001529; -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item, -.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > a { - color: rgba(255, 255, 255, 0.65); -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow:after, -.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow:after, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow:after { - color: rgba(255, 255, 255, 0.65); -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover { - color: #fff; - background: transparent; -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected, -.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a { - background: @primary-color; - color: #fff; -} -.ant-form { - color: rgba(0, 0, 0, 0.65); -} -.ant-form legend { - color: rgba(0, 0, 0, 0.45); - border: 0; - border-bottom: 1px solid #d9d9d9; -} -.ant-form output { - color: rgba(0, 0, 0, 0.65); -} -.ant-form-item-required:before { - color: #f5222d; -} -.ant-form-item { - color: rgba(0, 0, 0, 0.65); -} -.ant-form-item-label label { - color: rgba(0, 0, 0, 0.85); -} -.ant-form-explain, -.ant-form-extra { - color: rgba(0, 0, 0, 0.45); -} -form .ant-upload { - background: transparent; -} -.ant-input-group-wrap .ant-select-selection { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.ant-input-group-wrap .ant-select-selection:hover { - border-color: #d9d9d9; -} -.ant-input-group-wrap .ant-select-selection--single { - background-color: #eee; -} -.ant-input-group-wrap .ant-select-open .ant-select-selection { - border-color: #d9d9d9; - box-shadow: none; -} -.has-success.has-feedback .ant-form-item-children-icon { - color: #52c41a; -} -.has-warning .ant-form-explain, -.has-warning .ant-form-split { - color: #faad14; -} -.has-warning .ant-input, -.has-warning .ant-input:hover { - border-color: #faad14; -} -.has-warning .ant-input:focus { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px !important; -} -.has-warning .ant-input:not([disabled]):hover { - border-color: #faad14; -} -.has-warning .ant-calendar-picker-open .ant-calendar-picker-input { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px !important; -} -.has-warning .ant-input-prefix { - color: #faad14; -} -.has-warning .ant-input-group-addon { - color: #faad14; - border-color: #faad14; - background-color: #fff; -} -.has-warning .has-feedback { - color: #faad14; -} -.has-warning.has-feedback .ant-form-item-children-icon { - color: #faad14; -} -.has-warning .ant-select-selection { - border-color: #faad14; -} -.has-warning .ant-select-open .ant-select-selection, -.has-warning .ant-select-focused .ant-select-selection { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px !important; -} -.has-warning .ant-calendar-picker-icon:after, -.has-warning .ant-time-picker-icon:after, -.has-warning .ant-picker-icon:after, -.has-warning .ant-select-arrow, -.has-warning .ant-cascader-picker-arrow { - color: #faad14; -} -.has-warning .ant-input-number, -.has-warning .ant-time-picker-input { - border-color: #faad14; -} -.has-warning .ant-input-number-focused, -.has-warning .ant-time-picker-input-focused, -.has-warning .ant-input-number:focus, -.has-warning .ant-time-picker-input:focus { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px !important; -} -.has-warning .ant-input-number:not([disabled]):hover, -.has-warning .ant-time-picker-input:not([disabled]):hover { - border-color: #faad14; -} -.has-warning .ant-cascader-picker:focus .ant-cascader-input { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px !important; -} -.has-error .ant-form-explain, -.has-error .ant-form-split { - color: #f5222d; -} -.has-error .ant-input, -.has-error .ant-input:hover { - border-color: #f5222d; -} -.has-error .ant-input:focus { - border-color: #ff4d4f; - box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); - border-right-width: 1px !important; -} -.has-error .ant-input:not([disabled]):hover { - border-color: #f5222d; -} -.has-error .ant-calendar-picker-open .ant-calendar-picker-input { - border-color: #ff4d4f; - box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); - border-right-width: 1px !important; -} -.has-error .ant-input-prefix { - color: #f5222d; -} -.has-error .ant-input-group-addon { - color: #f5222d; - border-color: #f5222d; - background-color: #fff; -} -.has-error .has-feedback { - color: #f5222d; -} -.has-error.has-feedback .ant-form-item-children-icon { - color: #f5222d; -} -.has-error .ant-select-selection { - border-color: #f5222d; -} -.has-error .ant-select-open .ant-select-selection, -.has-error .ant-select-focused .ant-select-selection { - border-color: #ff4d4f; - box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); - border-right-width: 1px !important; -} -.has-error .ant-select.ant-select-auto-complete .ant-input:focus { - border-color: #f5222d; -} -.has-error .ant-input-group-addon .ant-select-selection { - border-color: transparent; - box-shadow: none; -} -.has-error .ant-calendar-picker-icon:after, -.has-error .ant-time-picker-icon:after, -.has-error .ant-picker-icon:after, -.has-error .ant-select-arrow, -.has-error .ant-cascader-picker-arrow { - color: #f5222d; -} -.has-error .ant-input-number, -.has-error .ant-time-picker-input { - border-color: #f5222d; -} -.has-error .ant-input-number-focused, -.has-error .ant-time-picker-input-focused, -.has-error .ant-input-number:focus, -.has-error .ant-time-picker-input:focus { - border-color: #ff4d4f; - box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); - border-right-width: 1px !important; -} -.has-error .ant-input-number:not([disabled]):hover, -.has-error .ant-time-picker-input:not([disabled]):hover { - border-color: #f5222d; -} -.has-error .ant-mention-wrapper .ant-mention-editor, -.has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover { - border-color: #f5222d; -} -.has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor, -.has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus { - border-color: #ff4d4f; - box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); - border-right-width: 1px !important; -} -.has-error .ant-cascader-picker:focus .ant-cascader-input { - border-color: #ff4d4f; - box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); - border-right-width: 1px !important; -} -.is-validating.has-feedback .ant-form-item-children-icon { - color: @primary-color; -} -.ant-input-number { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 4px; -} -.ant-input-number::-moz-placeholder { - color: #bfbfbf; -} -.ant-input-number:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-input-number::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-input-number:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-input-number:focus { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-input-number-disabled { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-input-number-disabled:hover { - border-color: #e6d8d8; - border-right-width: 1px !important; -} -.ant-input-number-handler { - color: rgba(0, 0, 0, 0.45); -} -.ant-input-number-handler:active { - background: #f4f4f4; -} -.ant-input-number-handler:hover .ant-input-number-handler-up-inner, -.ant-input-number-handler:hover .ant-input-number-handler-down-inner { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-input-number-handler-up-inner, -.ant-input-number-handler-down-inner { - color: rgba(0, 0, 0, 0.45); -} -.ant-input-number:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-input-number-focused { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-input-number-disabled { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-input-number-disabled:hover { - border-color: #e6d8d8; - border-right-width: 1px !important; -} -.ant-input-number-input { - background-color: transparent; - border: 0; - border-radius: 4px; -} -.ant-input-number-input::-moz-placeholder { - color: #bfbfbf; -} -.ant-input-number-input:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-input-number-input::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-input-number-handler-wrap { - border-left: 1px solid #d9d9d9; - background: #fff; - border-radius: 0 4px 4px 0; -} -.ant-input-number-handler-down { - border-top: 1px solid #d9d9d9; -} -.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner, -.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner { - color: rgba(0, 0, 0, 0.25); -} -.ant-input { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 4px; -} -.ant-input::-moz-placeholder { - color: #bfbfbf; -} -.ant-input:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-input::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-input:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-input:focus { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-input-disabled { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-input-disabled:hover { - border-color: #e6d8d8; - border-right-width: 1px !important; -} -.ant-input-group { - color: rgba(0, 0, 0, 0.65); - border-collapse: separate; - border-spacing: 0; -} -.ant-input-group-addon:not(:first-child):not(:last-child), -.ant-input-group-wrap:not(:first-child):not(:last-child), -.ant-input-group > .ant-input:not(:first-child):not(:last-child) { - border-radius: 0; -} -.ant-input-group .ant-input:focus { - border-right-width: 1px; -} -.ant-input-group .ant-input:hover { - border-right-width: 1px; -} -.ant-input-group-addon { - color: rgba(0, 0, 0, 0.65); - background-color: #fafafa; - border: 1px solid #d9d9d9; - border-radius: 4px; -} -.ant-input-group-addon .ant-select .ant-select-selection { - background-color: inherit; - border: 1px solid transparent; - box-shadow: none; -} -.ant-input-group-addon .ant-select-open .ant-select-selection, -.ant-input-group-addon .ant-select-focused .ant-select-selection { - color: @primary-color; -} -.ant-input-group > .ant-input:first-child, -.ant-input-group-addon:first-child { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.ant-input-group > .ant-input:first-child .ant-select .ant-select-selection, -.ant-input-group-addon:first-child .ant-select .ant-select-selection { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.ant-input-group-addon:first-child { - border-right: 0; -} -.ant-input-group-addon:last-child { - border-left: 0; -} -.ant-input-group > .ant-input:last-child, -.ant-input-group-addon:last-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.ant-input-group > .ant-input:last-child .ant-select .ant-select-selection, -.ant-input-group-addon:last-child .ant-select .ant-select-selection { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child), -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child), -.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) { - border-right-width: 1px; - border-right-color: transparent; -} -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover, -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover, -.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus, -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus, -.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):focus { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-input-group.ant-input-group-compact > * { - border-radius: 0; - border-right-width: 0; -} -.ant-input-group.ant-input-group-compact > span:not(:last-child) > .ant-input { - border-right-width: 0; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection, -.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, -.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input { - border-radius: 0; - border-right-width: 1px; - border-right-color: transparent; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:hover, -.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:hover, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:focus, -.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:focus, -.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-input-group.ant-input-group-compact > *:first-child, -.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selection, -.ant-input-group.ant-input-group-compact > .ant-calendar-picker:first-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:first-child .ant-mention-editor, -.ant-input-group.ant-input-group-compact > .ant-time-picker:first-child .ant-time-picker-input { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.ant-input-group.ant-input-group-compact > *:last-child, -.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection, -.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor, -.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-right-width: 1px; - border-right-color: #d9d9d9; -} -.ant-input-group.ant-input-group-compact > *:last-child:hover, -.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection:hover, -.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor:hover, -.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-input-group.ant-input-group-compact > *:last-child:focus, -.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection:focus, -.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor:focus, -.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input:focus { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-input-group.ant-input-group-compact > *:last-child:focus .ant-cascader-input, -.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection:focus .ant-cascader-input, -.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input:focus .ant-cascader-input, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input:focus .ant-cascader-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input:focus .ant-cascader-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input:focus .ant-cascader-input, -.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor:focus .ant-cascader-input, -.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input:focus .ant-cascader-input { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-input-affix-wrapper { - color: rgba(0, 0, 0, 0.65); -} -.ant-input-affix-wrapper:hover .ant-input:not(.ant-input-disabled) { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-input-affix-wrapper .ant-input-prefix, -.ant-input-affix-wrapper .ant-input-suffix { - color: rgba(0, 0, 0, 0.65); -} -.ant-input-search-icon { - color: rgba(0, 0, 0, 0.45); -} -.ant-input-search-icon:hover { - color: #333; -} -.ant-input-search > .ant-input-suffix > .ant-input-search-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-layout { - background: #f0f2f5; -} -.ant-layout-header { - background: #001529; -} -.ant-layout-footer { - background: #f0f2f5; - color: rgba(0, 0, 0, 0.65); -} -.ant-layout-sider { - background: #001529; -} -.ant-layout-sider-trigger { - color: #fff; - background: #002140; -} -.ant-layout-sider-zero-width-trigger { - background: #001529; - color: #fff; - border-radius: 0 4px 4px 0; -} -.ant-layout-sider-zero-width-trigger:hover { - background: #192c3e; -} -.ant-layout-sider-light { - background: #fff; -} -.ant-layout-sider-light .ant-layout-sider-trigger { - color: rgba(0, 0, 0, 0.65); - background: #fff; -} -.ant-layout-sider-light .ant-layout-sider-zero-width-trigger { - color: rgba(0, 0, 0, 0.65); - background: #fff; -} -.ant-list { - color: rgba(0, 0, 0, 0.65); -} -.ant-list-empty-text { - color: rgba(0, 0, 0, 0.45); -} -.ant-list-item-meta-title { - color: rgba(0, 0, 0, 0.65); -} -.ant-list-item-meta-title > a { - color: rgba(0, 0, 0, 0.65); -} -.ant-list-item-meta-title > a:hover { - color: @primary-color; -} -.ant-list-item-meta-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-list-item-action > li { - color: rgba(0, 0, 0, 0.45); -} -.ant-list-item-action-split { - background-color: #e8e8e8; -} -.ant-list-empty { - color: rgba(0, 0, 0, 0.45); -} -.ant-list-split .ant-list-item { - border-bottom: 1px solid #e8e8e8; -} -.ant-list-split .ant-list-item:last-child { - border-bottom: none; -} -.ant-list-split .ant-list-header { - border-bottom: 1px solid #e8e8e8; -} -.ant-list-something-after-last-item .ant-spin-container > .ant-list-item:last-child { - border-bottom: 1px solid #e8e8e8; -} -.ant-list-vertical .ant-list-item-meta-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-list-vertical .ant-list-item-content { - color: rgba(0, 0, 0, 0.65); -} -.ant-list-grid .ant-list-item { - border-bottom: none; -} -.ant-list-bordered { - border-radius: 4px; - border: 1px solid #d9d9d9; -} -.ant-list-bordered .ant-list-item { - border-bottom: 1px solid #e8e8e8; -} -.ant-mention-wrapper { - color: rgba(0, 0, 0, 0.65); -} -.ant-mention-wrapper .ant-mention-editor { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 4px; -} -.ant-mention-wrapper .ant-mention-editor::-moz-placeholder { - color: #bfbfbf; -} -.ant-mention-wrapper .ant-mention-editor:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-mention-wrapper .ant-mention-editor::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-mention-wrapper .ant-mention-editor:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-mention-wrapper .ant-mention-editor:focus { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-mention-wrapper .ant-mention-editor-disabled { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-mention-wrapper .ant-mention-editor-disabled:hover { - border-color: #e6d8d8; - border-right-width: 1px !important; -} -.ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-mention-wrapper.disabled .ant-mention-editor { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-mention-wrapper.disabled .ant-mention-editor:hover { - border-color: #e6d8d8; - border-right-width: 1px !important; -} -.ant-mention-wrapper .public-DraftEditorPlaceholder-root .public-DraftEditorPlaceholder-inner { - color: #bfbfbf; -} -.ant-mention-dropdown { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); - border-radius: 4px; -} -.ant-mention-dropdown-notfound.ant-mention-dropdown-item { - color: rgba(0, 0, 0, 0.25); -} -.ant-mention-dropdown-notfound.ant-mention-dropdown-item .anticon-loading { - color: @primary-color; -} -.ant-mention-dropdown-item { - color: rgba(0, 0, 0, 0.65); -} -.ant-mention-dropdown-item:hover { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-mention-dropdown-item.focus, -.ant-mention-dropdown-item-active { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-mention-dropdown-item-disabled { - color: rgba(0, 0, 0, 0.25); -} -.ant-mention-dropdown-item-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #fff; -} -.ant-mention-dropdown-item-selected, -.ant-mention-dropdown-item-selected:hover { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.65); -} -.ant-mention-dropdown-item-divider { - background-color: #e8e8e8; -} -.ant-menu { - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); - color: rgba(0, 0, 0, 0.65); - background: #fff; -} -.ant-menu-item-group-title { - color: rgba(0, 0, 0, 0.45); -} -.ant-menu-item:active, -.ant-menu-submenu-title:active { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-menu-item > a { - color: rgba(0, 0, 0, 0.65); -} -.ant-menu-item > a:hover { - color: @primary-color; -} -.ant-menu-item > a:before { - background-color: transparent; -} -.ant-menu-item-divider { - background-color: #e8e8e8; -} -.ant-menu-item:hover, -.ant-menu-item-active, -.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, -.ant-menu-submenu-active, -.ant-menu-submenu-title:hover { - color: @primary-color; -} -.ant-menu-horizontal > .ant-menu-item:hover, -.ant-menu-horizontal > .ant-menu-item-active, -.ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover { - background-color: transparent; -} -.ant-menu-item-selected { - color: @primary-color; -} -.ant-menu-item-selected > a, -.ant-menu-item-selected > a:hover { - color: @primary-color; -} -.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-menu-inline, -.ant-menu-vertical, -.ant-menu-vertical-left { - border-right: 1px solid #e8e8e8; -} -.ant-menu-vertical-right { - border-left: 1px solid #e8e8e8; -} -.ant-menu-vertical.ant-menu-sub, -.ant-menu-vertical-left.ant-menu-sub, -.ant-menu-vertical-right.ant-menu-sub { - border-right: 0; -} -.ant-menu-vertical.ant-menu-sub .ant-menu-item, -.ant-menu-vertical-left.ant-menu-sub .ant-menu-item, -.ant-menu-vertical-right.ant-menu-sub .ant-menu-item { - border-right: 0; -} -.ant-menu-vertical.ant-menu-sub .ant-menu-item:after, -.ant-menu-vertical-left.ant-menu-sub .ant-menu-item:after, -.ant-menu-vertical-right.ant-menu-sub .ant-menu-item:after { - border-right: 0; -} -.ant-menu > .ant-menu-item-divider { - background-color: #e8e8e8; -} -.ant-menu-submenu-popup { - border-radius: 4px; -} -.ant-menu-submenu > .ant-menu { - background-color: #fff; - border-radius: 4px; -} -.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, -.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, -.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, -.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, -.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:after, -.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:after, -.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:after, -.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:after { - background: #fff; - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)); - border-radius: 2px; -} -.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, -.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, -.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, -.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, -.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before, -.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before, -.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before, -.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before { - background: linear-gradient(to right, @primary-color, @primary-color); -} -.ant-menu-vertical .ant-menu-submenu-selected, -.ant-menu-vertical-left .ant-menu-submenu-selected, -.ant-menu-vertical-right .ant-menu-submenu-selected { - color: @primary-color; -} -.ant-menu-vertical .ant-menu-submenu-selected > a, -.ant-menu-vertical-left .ant-menu-submenu-selected > a, -.ant-menu-vertical-right .ant-menu-submenu-selected > a { - color: @primary-color; -} -.ant-menu-horizontal { - border: 0; - border-bottom: 1px solid #e8e8e8; - box-shadow: none; -} -.ant-menu-horizontal > .ant-menu-item, -.ant-menu-horizontal > .ant-menu-submenu { - border-bottom: 2px solid transparent; -} -.ant-menu-horizontal > .ant-menu-item:hover, -.ant-menu-horizontal > .ant-menu-submenu:hover, -.ant-menu-horizontal > .ant-menu-item-active, -.ant-menu-horizontal > .ant-menu-submenu-active, -.ant-menu-horizontal > .ant-menu-item-open, -.ant-menu-horizontal > .ant-menu-submenu-open, -.ant-menu-horizontal > .ant-menu-item-selected, -.ant-menu-horizontal > .ant-menu-submenu-selected { - border-bottom: 2px solid @primary-color; - color: @primary-color; -} -.ant-menu-horizontal > .ant-menu-item > a { - color: rgba(0, 0, 0, 0.65); -} -.ant-menu-horizontal > .ant-menu-item > a:hover { - color: @primary-color; -} -.ant-menu-horizontal > .ant-menu-item-selected > a { - color: @primary-color; -} -.ant-menu-vertical .ant-menu-item:after, -.ant-menu-vertical-left .ant-menu-item:after, -.ant-menu-vertical-right .ant-menu-item:after, -.ant-menu-inline .ant-menu-item:after { - border-right: 3px solid @primary-color; -} -.ant-menu-inline-collapsed-tooltip a { - color: rgba(255, 255, 255, 0.85); -} -.ant-menu-root.ant-menu-vertical, -.ant-menu-root.ant-menu-vertical-left, -.ant-menu-root.ant-menu-vertical-right, -.ant-menu-root.ant-menu-inline { - box-shadow: none; -} -.ant-menu-sub.ant-menu-inline { - border: 0; - box-shadow: none; - border-radius: 0; -} -.ant-menu-item-disabled, -.ant-menu-submenu-disabled { - color: rgba(0, 0, 0, 0.25) !important; - background: none; - border-color: transparent !important; -} -.ant-menu-item-disabled > a, -.ant-menu-submenu-disabled > a { - color: rgba(0, 0, 0, 0.25) !important; -} -.ant-menu-item-disabled > .ant-menu-submenu-title, -.ant-menu-submenu-disabled > .ant-menu-submenu-title { - color: rgba(0, 0, 0, 0.25) !important; -} -.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, -.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after { - background: rgba(0, 0, 0, 0.25) !important; -} -.ant-menu-dark, -.ant-menu-dark .ant-menu-sub { - color: rgba(255, 255, 255, 0.65); - background: #001529; -} -.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:before { - background: #fff; -} -.ant-menu-dark.ant-menu-submenu-popup { - background: transparent; -} -.ant-menu-dark .ant-menu-inline.ant-menu-sub { - background: #000c17; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45) inset; -} -.ant-menu-dark.ant-menu-horizontal { - border-bottom: 0; -} -.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, -.ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu { - border-color: #001529; - border-bottom: 0; -} -.ant-menu-dark .ant-menu-item, -.ant-menu-dark .ant-menu-item-group-title, -.ant-menu-dark .ant-menu-item > a { - color: rgba(255, 255, 255, 0.65); -} -.ant-menu-dark.ant-menu-inline, -.ant-menu-dark.ant-menu-vertical, -.ant-menu-dark.ant-menu-vertical-left, -.ant-menu-dark.ant-menu-vertical-right { - border-right: 0; -} -.ant-menu-dark.ant-menu-inline .ant-menu-item, -.ant-menu-dark.ant-menu-vertical .ant-menu-item, -.ant-menu-dark.ant-menu-vertical-left .ant-menu-item, -.ant-menu-dark.ant-menu-vertical-right .ant-menu-item { - border-right: 0; -} -.ant-menu-dark.ant-menu-inline .ant-menu-item:after, -.ant-menu-dark.ant-menu-vertical .ant-menu-item:after, -.ant-menu-dark.ant-menu-vertical-left .ant-menu-item:after, -.ant-menu-dark.ant-menu-vertical-right .ant-menu-item:after { - border-right: 0; -} -.ant-menu-dark .ant-menu-item:hover, -.ant-menu-dark .ant-menu-item-active, -.ant-menu-dark .ant-menu-submenu-active, -.ant-menu-dark .ant-menu-submenu-open, -.ant-menu-dark .ant-menu-submenu-selected, -.ant-menu-dark .ant-menu-submenu-title:hover { - background-color: transparent; - color: #fff; -} -.ant-menu-dark .ant-menu-item:hover > a, -.ant-menu-dark .ant-menu-item-active > a, -.ant-menu-dark .ant-menu-submenu-active > a, -.ant-menu-dark .ant-menu-submenu-open > a, -.ant-menu-dark .ant-menu-submenu-selected > a, -.ant-menu-dark .ant-menu-submenu-title:hover > a { - color: #fff; -} -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before { - background: #fff; -} -.ant-menu-dark .ant-menu-item-selected { - border-right: 0; - color: #fff; -} -.ant-menu-dark .ant-menu-item-selected:after { - border-right: 0; -} -.ant-menu-dark .ant-menu-item-selected > a, -.ant-menu-dark .ant-menu-item-selected > a:hover { - color: #fff; -} -.ant-menu.ant-menu-dark .ant-menu-item-selected, -.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected { - background-color: @primary-color; -} -.ant-menu-dark .ant-menu-item-disabled, -.ant-menu-dark .ant-menu-submenu-disabled, -.ant-menu-dark .ant-menu-item-disabled > a, -.ant-menu-dark .ant-menu-submenu-disabled > a { - color: rgba(255, 255, 255, 0.35) !important; -} -.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title, -.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title { - color: rgba(255, 255, 255, 0.35) !important; -} -.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, -.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, -.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after { - background: rgba(255, 255, 255, 0.35) !important; -} -.ant-message { - color: rgba(0, 0, 0, 0.65); -} -.ant-message-notice-content { - border-radius: 4px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); - background: #fff; -} -.ant-message-success .anticon { - color: #52c41a; -} -.ant-message-error .anticon { - color: #f5222d; -} -.ant-message-warning .anticon { - color: #faad14; -} -.ant-message-info .anticon, -.ant-message-loading .anticon { - color: @primary-color; -} -.ant-modal { - color: rgba(0, 0, 0, 0.65); -} -.ant-modal-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-modal-content { - background-color: #fff; - border: 0; - border-radius: 4px; - background-clip: padding-box; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); -} -.ant-modal-close { - border: 0; - background: transparent; - color: rgba(0, 0, 0, 0.45); -} -.ant-modal-close:focus, -.ant-modal-close:hover { - color: #444; -} -.ant-modal-header { - border-radius: 4px 4px 0 0; - background: #fff; - color: rgba(0, 0, 0, 0.65); - border-bottom: 1px solid #e8e8e8; -} -.ant-modal-footer { - border-top: 1px solid #e8e8e8; - border-radius: 0 0 4px 4px; -} -.ant-modal-mask { - background-color: rgba(0, 0, 0, 0.65); -} -.ant-confirm-body .ant-confirm-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-confirm-body .ant-confirm-content { - color: rgba(0, 0, 0, 0.65); -} -.ant-confirm-error .ant-confirm-body > .anticon { - color: #f5222d; -} -.ant-confirm-warning .ant-confirm-body > .anticon, -.ant-confirm-confirm .ant-confirm-body > .anticon { - color: #faad14; -} -.ant-confirm-info .ant-confirm-body > .anticon { - color: @primary-color; -} -.ant-confirm-success .ant-confirm-body > .anticon { - color: #52c41a; -} -.ant-notification { - color: rgba(0, 0, 0, 0.65); -} -.ant-notification-notice { - border-radius: 4px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); - background: #fff; -} -.ant-notification-notice-message { - color: rgba(0, 0, 0, 0.85); -} -.ant-notification-notice-message-single-line-auto-margin { - background-color: transparent; -} -.ant-notification-notice-icon-success { - color: #52c41a; -} -.ant-notification-notice-icon-info { - color: @primary-color; -} -.ant-notification-notice-icon-warning { - color: #faad14; -} -.ant-notification-notice-icon-error { - color: #f5222d; -} -.ant-notification-notice-close { - color: rgba(0, 0, 0, 0.45); -} -.ant-notification-notice-close:hover { - color: rgba(0, 0, 0, 0.67); -} -.ant-pagination { - color: rgba(0, 0, 0, 0.65); -} -.ant-pagination-item { - border-radius: 4px; - border: 1px solid #d9d9d9; - background-color: #fff; -} -.ant-pagination-item a { - color: rgba(0, 0, 0, 0.65); -} -.ant-pagination-item:focus, -.ant-pagination-item:hover { - border-color: @primary-color; -} -.ant-pagination-item:focus a, -.ant-pagination-item:hover a { - color: @primary-color; -} -.ant-pagination-item-active { - border-color: @primary-color; -} -.ant-pagination-item-active a { - color: @primary-color; -} -.ant-pagination-item-active:focus, -.ant-pagination-item-active:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-pagination-item-active:focus a, -.ant-pagination-item-active:hover a { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, -.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon { - color: @primary-color; -} -.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis, -.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis { - color: rgba(0, 0, 0, 0.25); -} -.ant-pagination-prev, -.ant-pagination-next, -.ant-pagination-jump-prev, -.ant-pagination-jump-next { - color: rgba(0, 0, 0, 0.65); - border-radius: 4px; -} -.ant-pagination-prev a, -.ant-pagination-next a { - color: rgba(0, 0, 0, 0.65); -} -.ant-pagination-prev:hover a, -.ant-pagination-next:hover a { - border-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-pagination-prev .ant-pagination-item-link, -.ant-pagination-next .ant-pagination-item-link { - border: 1px solid #d9d9d9; - background-color: #fff; - border-radius: 4px; -} -.ant-pagination-prev:focus .ant-pagination-item-link, -.ant-pagination-next:focus .ant-pagination-item-link, -.ant-pagination-prev:hover .ant-pagination-item-link, -.ant-pagination-next:hover .ant-pagination-item-link { - border-color: @primary-color; - color: @primary-color; -} -.ant-pagination-disabled a, -.ant-pagination-disabled:hover a, -.ant-pagination-disabled:focus a, -.ant-pagination-disabled .ant-pagination-item-link, -.ant-pagination-disabled:hover .ant-pagination-item-link, -.ant-pagination-disabled:focus .ant-pagination-item-link { - border-color: #d9d9d9; - color: rgba(0, 0, 0, 0.25); -} -.ant-pagination-options-quick-jumper input { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 4px; -} -.ant-pagination-options-quick-jumper input::-moz-placeholder { - color: #bfbfbf; -} -.ant-pagination-options-quick-jumper input:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-pagination-options-quick-jumper input::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-pagination-options-quick-jumper input:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-pagination-options-quick-jumper input:focus { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-pagination-options-quick-jumper input-disabled { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-pagination-options-quick-jumper input-disabled:hover { - border-color: #e6d8d8; - border-right-width: 1px !important; -} -.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link, -.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link { - border: 0; -} -.ant-pagination-simple .ant-pagination-simple-pager input { - background-color: #fff; - border-radius: 4px; - border: 1px solid #d9d9d9; -} -.ant-pagination-simple .ant-pagination-simple-pager input:hover { - border-color: @primary-color; -} -.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active) { - background: transparent; - border-color: transparent; -} -.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link, -.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link { - border-color: transparent; - background: transparent; -} -.ant-popover { - color: rgba(0, 0, 0, 0.65); -} -.ant-popover:after { - background: rgba(255, 255, 255, 0.01); -} -.ant-popover-inner { - background-color: #fff; - background-clip: padding-box; - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); -} -.ant-popover-title { - border-bottom: 1px solid #e8e8e8; - color: rgba(0, 0, 0, 0.85); -} -.ant-popover-inner-content { - color: rgba(0, 0, 0, 0.65); -} -.ant-popover-message { - color: rgba(0, 0, 0, 0.65); -} -.ant-popover-message > .anticon { - color: #faad14; -} -.ant-popover-arrow { - background: #fff; - border-color: transparent; - border-style: solid; -} -.ant-popover-placement-top > .ant-popover-content > .ant-popover-arrow, -.ant-popover-placement-topLeft > .ant-popover-content > .ant-popover-arrow, -.ant-popover-placement-topRight > .ant-popover-content > .ant-popover-arrow { - box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); -} -.ant-popover-placement-right > .ant-popover-content > .ant-popover-arrow, -.ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow, -.ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow { - box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07); -} -.ant-popover-placement-bottom > .ant-popover-content > .ant-popover-arrow, -.ant-popover-placement-bottomLeft > .ant-popover-content > .ant-popover-arrow, -.ant-popover-placement-bottomRight > .ant-popover-content > .ant-popover-arrow { - box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06); -} -.ant-popover-placement-left > .ant-popover-content > .ant-popover-arrow, -.ant-popover-placement-leftTop > .ant-popover-content > .ant-popover-arrow, -.ant-popover-placement-leftBottom > .ant-popover-content > .ant-popover-arrow { - box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07); -} -.ant-progress { - color: rgba(0, 0, 0, 0.65); -} -.ant-progress-inner { - background-color: #f5f5f5; - border-radius: 100px; -} -.ant-progress-success-bg, -.ant-progress-bg { - background-color: @primary-color; -} -.ant-progress-success-bg { - background-color: #52c41a; -} -.ant-progress-text { - color: rgba(0, 0, 0, 0.45); -} -.ant-progress-status-active .ant-progress-bg:before { - background: #fff; - border-radius: 10px; -} -.ant-progress-status-exception .ant-progress-bg { - background-color: #f5222d; -} -.ant-progress-status-exception .ant-progress-text { - color: #f5222d; -} -.ant-progress-status-success .ant-progress-bg { - background-color: #52c41a; -} -.ant-progress-status-success .ant-progress-text { - color: #52c41a; -} -.ant-progress-circle .ant-progress-inner { - background-color: transparent; -} -.ant-progress-circle .ant-progress-text { - color: rgba(0, 0, 0, 0.65); -} -.ant-progress-circle.ant-progress-status-exception .ant-progress-text { - color: #f5222d; -} -.ant-progress-circle.ant-progress-status-success .ant-progress-text { - color: #52c41a; -} -.ant-radio-group { - color: rgba(0, 0, 0, 0.65); -} -.ant-radio-wrapper { - color: rgba(0, 0, 0, 0.65); -} -.ant-radio { - color: rgba(0, 0, 0, 0.65); -} -.ant-radio-wrapper:hover .ant-radio .ant-radio-inner, -.ant-radio:hover .ant-radio-inner, -.ant-radio-focused .ant-radio-inner { - border-color: @primary-color; -} -.ant-radio-checked:after { - border-radius: 50%; - border: 1px solid @primary-color; -} -.ant-radio-inner { - border-width: 1px; - border-style: solid; - border-radius: 100px; - border-color: #d9d9d9; - background-color: #fff; -} -.ant-radio-inner:after { - border-radius: 8px; - border-top: 0; - border-left: 0; - background-color: @primary-color; -} -.ant-radio-checked .ant-radio-inner { - border-color: @primary-color; -} -.ant-radio-disabled .ant-radio-inner { - border-color: #d9d9d9 !important; - background-color: #f5f5f5; -} -.ant-radio-disabled .ant-radio-inner:after { - background-color: #ccc; -} -.ant-radio-disabled + span { - color: rgba(0, 0, 0, 0.25); -} -.ant-radio-button-wrapper { - color: rgba(0, 0, 0, 0.65); - border: 1px solid #d9d9d9; - border-left: 0; - border-top-width: 1.02px; - background: #fff; -} -.ant-radio-button-wrapper a { - color: rgba(0, 0, 0, 0.65); -} -.ant-radio-button-wrapper:not(:first-child)::before { - background-color: #d9d9d9; -} -.ant-radio-button-wrapper:first-child { - border-radius: 4px 0 0 4px; - border-left: 1px solid #d9d9d9; -} -.ant-radio-button-wrapper:last-child { - border-radius: 0 4px 4px 0; -} -.ant-radio-button-wrapper:first-child:last-child { - border-radius: 4px; -} -.ant-radio-button-wrapper:hover, -.ant-radio-button-wrapper-focused { - color: @primary-color; -} -.ant-radio-button-wrapper-checked { - background: #fff; - border-color: @primary-color; - color: @primary-color; - box-shadow: -1px 0 0 0 @primary-color; -} -.ant-radio-button-wrapper-checked::before { - background-color: @primary-color !important; -} -.ant-radio-button-wrapper-checked:first-child { - border-color: @primary-color; - box-shadow: none !important; -} -.ant-radio-button-wrapper-checked:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: -1px 0 0 0 color(~`colorPalette("@{primary-color}", 5)`); - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-radio-button-wrapper-checked:active { - border-color: color(~`colorPalette("@{primary-color}", 7)`); - box-shadow: -1px 0 0 0 color(~`colorPalette("@{primary-color}", 7)`); - color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) { - background: @primary-color; - border-color: @primary-color; - color: #fff; -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - background: color(~`colorPalette("@{primary-color}", 5)`); - color: #fff; -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active { - border-color: color(~`colorPalette("@{primary-color}", 7)`); - background: color(~`colorPalette("@{primary-color}", 7)`); - color: #fff; -} -.ant-radio-button-wrapper-disabled { - border-color: #d9d9d9; - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-radio-button-wrapper-disabled:first-child, -.ant-radio-button-wrapper-disabled:hover { - border-color: #d9d9d9; - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-radio-button-wrapper-disabled:first-child { - border-left-color: #d9d9d9; -} -.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked { - color: #fff; - background-color: #e6e6e6; - border-color: #d9d9d9; - box-shadow: none; -} -.ant-rate { - color: rgba(0, 0, 0, 0.65); - color: #fadb14; -} -.ant-rate-star { - color: inherit; -} -.ant-rate-star-first, -.ant-rate-star-second { - color: #e8e8e8; -} -.ant-rate-star-half .ant-rate-star-first, -.ant-rate-star-full .ant-rate-star-second { - color: inherit; -} -.ant-select { - color: rgba(0, 0, 0, 0.65); -} -.ant-select > ul > li > a { - background-color: #fff; -} -.ant-select-arrow { - color: rgba(0, 0, 0, 0.25); -} -.ant-select-selection { - background-color: #fff; - border-radius: 4px; - border: 1px solid #d9d9d9; - border-top-width: 1.02px; -} -.ant-select-selection:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-select-focused .ant-select-selection, -.ant-select-selection:focus, -.ant-select-selection:active { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-select-selection__clear { - background: #fff; - color: rgba(0, 0, 0, 0.25); -} -.ant-select-selection__clear:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-select-disabled { - color: rgba(0, 0, 0, 0.25); -} -.ant-select-disabled .ant-select-selection { - background: #f5f5f5; -} -.ant-select-disabled .ant-select-selection:hover, -.ant-select-disabled .ant-select-selection:focus, -.ant-select-disabled .ant-select-selection:active { - border-color: #d9d9d9; - box-shadow: none; -} -.ant-select-disabled .ant-select-selection--multiple .ant-select-selection__choice { - background: #f5f5f5; - color: #aaa; -} -.ant-select-disabled .ant-select-selection__choice__remove { - color: rgba(0, 0, 0, 0.25); -} -.ant-select-disabled .ant-select-selection__choice__remove:hover { - color: rgba(0, 0, 0, 0.25); -} -.ant-select-selection__placeholder, -.ant-select-search__field__placeholder { - color: #bfbfbf; -} -.ant-select-search--inline .ant-select-search__field { - border-width: 0; - background: transparent; - border-radius: 4px; -} -.ant-select-selection--multiple .ant-select-selection__choice { - color: rgba(0, 0, 0, 0.65); - background-color: #fafafa; - border: 1px solid #e8e8e8; - border-radius: 2px; -} -.ant-select-selection--multiple .ant-select-selection__choice__remove { - color: rgba(0, 0, 0, 0.45); -} -.ant-select-selection--multiple .ant-select-selection__choice__remove:hover { - color: #404040; -} -.ant-select-open .ant-select-selection { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-select-combobox .ant-select-search__field { - box-shadow: none; -} -.ant-select-dropdown { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); - border-radius: 4px; -} -.ant-select-dropdown-menu-item-group-title { - color: rgba(0, 0, 0, 0.45); -} -.ant-select-dropdown-menu-item-group-list .ant-select-dropdown-menu-item:first-child:not(:last-child), -.ant-select-dropdown-menu-item-group:not(:last-child) .ant-select-dropdown-menu-item-group-list .ant-select-dropdown-menu-item:last-child { - border-radius: 0; -} -.ant-select-dropdown-menu-item { - color: rgba(0, 0, 0, 0.65); -} -.ant-select-dropdown-menu-item:hover { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-select-dropdown-menu-item:first-child { - border-radius: 4px 4px 0 0; -} -.ant-select-dropdown-menu-item:last-child { - border-radius: 0 0 4px 4px; -} -.ant-select-dropdown-menu-item-disabled { - color: rgba(0, 0, 0, 0.25); -} -.ant-select-dropdown-menu-item-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #fff; -} -.ant-select-dropdown-menu-item-selected, -.ant-select-dropdown-menu-item-selected:hover { - background-color: #fafafa; - color: rgba(0, 0, 0, 0.65); -} -.ant-select-dropdown-menu-item-active { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-select-dropdown-menu-item-divider { - background-color: #e8e8e8; -} -.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item .ant-select-selected-icon { - color: transparent; -} -.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item:hover .ant-select-selected-icon { - color: #ddd; -} -.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected .ant-select-selected-icon, -.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected:hover .ant-select-selected-icon { - color: @primary-color; -} -.ant-skeleton-header .ant-skeleton-avatar { - background: #f2f2f2; -} -.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-content .ant-skeleton-title { - background: #f2f2f2; -} -.ant-skeleton-content .ant-skeleton-paragraph > li { - background: #f2f2f2; -} -.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, -.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li { - background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); - background-size: 400% 100%; -} -.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar { - background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); - background-size: 400% 100%; -} -.ant-slider { - color: rgba(0, 0, 0, 0.65); -} -.ant-slider-rail { - border-radius: 2px; - background-color: #f5f5f5; -} -.ant-slider-track { - border-radius: 4px; - background-color: color(~`colorPalette("@{primary-color}", 3)`); -} -.ant-slider-handle { - border-radius: 50%; - border: solid 2px color(~`colorPalette("@{primary-color}", 3)`); - background-color: #fff; -} -.ant-slider-handle:focus { - border-color: #46a6ff; - box-shadow: 0 0 0 5px #8cc8ff; -} -.ant-slider-handle.ant-tooltip-open { - border-color: @primary-color; -} -.ant-slider:hover .ant-slider-rail { - background-color: #e1e1e1; -} -.ant-slider:hover .ant-slider-track { - background-color: color(~`colorPalette("@{primary-color}", 4)`); -} -.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) { - border-color: color(~`colorPalette("@{primary-color}", 4)`); -} -.ant-slider-mark-text { - color: rgba(0, 0, 0, 0.45); -} -.ant-slider-mark-text-active { - color: rgba(0, 0, 0, 0.65); -} -.ant-slider-step { - background: transparent; -} -.ant-slider-dot { - border: 2px solid #e8e8e8; - background-color: #fff; - border-radius: 50%; -} -.ant-slider-dot-active { - border-color: #8cc8ff; -} -.ant-slider-disabled .ant-slider-track { - background-color: rgba(0, 0, 0, 0.25) !important; -} -.ant-slider-disabled .ant-slider-handle, -.ant-slider-disabled .ant-slider-dot { - border-color: rgba(0, 0, 0, 0.25) !important; - background-color: #fff; - box-shadow: none; -} -.ant-spin { - color: rgba(0, 0, 0, 0.65); - color: @primary-color; -} -.ant-spin-blur:after { - background: #fff; -} -.ant-spin-tip { - color: rgba(0, 0, 0, 0.45); -} -.ant-spin-dot i { - border-radius: 100%; - background-color: @primary-color; -} -.ant-steps { - color: rgba(0, 0, 0, 0.65); -} -.ant-steps-item-icon { - border: 1px solid rgba(0, 0, 0, 0.25); - border-radius: 32px; -} -.ant-steps-item-icon > .ant-steps-icon { - color: @primary-color; -} -.ant-steps-item-tail:after { - background: #e8e8e8; - border-radius: 1px; -} -.ant-steps-item-title { - color: rgba(0, 0, 0, 0.65); -} -.ant-steps-item-title:after { - background: #e8e8e8; -} -.ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-wait .ant-steps-item-icon { - border-color: rgba(0, 0, 0, 0.25); - background-color: #fff; -} -.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: rgba(0, 0, 0, 0.25); -} -.ant-steps-item-wait > .ant-steps-item-content > .ant-steps-item-title { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-wait > .ant-steps-item-content > .ant-steps-item-title:after { - background-color: #e8e8e8; -} -.ant-steps-item-wait > .ant-steps-item-content > .ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-wait > .ant-steps-item-tail:after { - background-color: #e8e8e8; -} -.ant-steps-item-process .ant-steps-item-icon { - border-color: @primary-color; - background-color: #fff; -} -.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { - color: @primary-color; -} -.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: @primary-color; -} -.ant-steps-item-process > .ant-steps-item-content > .ant-steps-item-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-steps-item-process > .ant-steps-item-content > .ant-steps-item-title:after { - background-color: #e8e8e8; -} -.ant-steps-item-process > .ant-steps-item-content > .ant-steps-item-description { - color: rgba(0, 0, 0, 0.65); -} -.ant-steps-item-process > .ant-steps-item-tail:after { - background-color: #e8e8e8; -} -.ant-steps-item-process .ant-steps-item-icon { - background: @primary-color; -} -.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { - color: #fff; -} -.ant-steps-item-finish .ant-steps-item-icon { - border-color: @primary-color; - background-color: #fff; -} -.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon { - color: @primary-color; -} -.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: @primary-color; -} -.ant-steps-item-finish > .ant-steps-item-content > .ant-steps-item-title { - color: rgba(0, 0, 0, 0.65); -} -.ant-steps-item-finish > .ant-steps-item-content > .ant-steps-item-title:after { - background-color: @primary-color; -} -.ant-steps-item-finish > .ant-steps-item-content > .ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-finish > .ant-steps-item-tail:after { - background-color: @primary-color; -} -.ant-steps-item-error .ant-steps-item-icon { - border-color: #f5222d; - background-color: #fff; -} -.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon { - color: #f5222d; -} -.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: #f5222d; -} -.ant-steps-item-error > .ant-steps-item-content > .ant-steps-item-title { - color: #f5222d; -} -.ant-steps-item-error > .ant-steps-item-content > .ant-steps-item-title:after { - background-color: #e8e8e8; -} -.ant-steps-item-error > .ant-steps-item-content > .ant-steps-item-description { - color: #f5222d; -} -.ant-steps-item-error > .ant-steps-item-tail:after { - background-color: #e8e8e8; -} -.ant-steps-item.ant-steps-next-error .ant-steps-item-title:after { - background: #f5222d; -} -.ant-steps-item-custom .ant-steps-item-icon { - background: none; - border: 0; -} -.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { - color: @primary-color; -} -.ant-steps-small .ant-steps-item-icon { - border-radius: 24px; -} -.ant-steps-small .ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon { - border-radius: 0; - border: 0; - background: none; -} -.ant-steps-dot .ant-steps-item-icon { - border: 0; - background: transparent; -} -.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot { - border-radius: 100px; -} -.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot:after { - background: rgba(0, 0, 0, 0.001); -} -.ant-switch { - color: rgba(0, 0, 0, 0.65); - border-radius: 100px; - border: 1px solid transparent; - background-color: rgba(0, 0, 0, 0.25); -} -.ant-switch-inner { - color: #fff; -} -.ant-switch-loading-icon, -.ant-switch:after { - border-radius: 18px; - background-color: #fff; -} -.ant-switch:after { - box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2); -} -.ant-switch-loading-icon { - background: transparent; -} -.ant-switch-loading .ant-switch-loading-icon { - color: rgba(0, 0, 0, 0.65); -} -.ant-switch-checked.ant-switch-loading .ant-switch-loading-icon { - color: @primary-color; -} -.ant-switch:focus { - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); -} -.ant-switch:focus:hover { - box-shadow: none; -} -.ant-switch-checked { - background-color: @primary-color; -} -.ant-table { - color: rgba(0, 0, 0, 0.65); -} -.ant-table table { - border-collapse: collapse; - border-radius: 4px 4px 0 0; -} -.ant-table-thead > tr > th { - background: #fafafa; - color: rgba(0, 0, 0, 0.85); - border-bottom: 1px solid #e8e8e8; -} -.ant-table-thead > tr > th .anticon-filter, -.ant-table-thead > tr > th .ant-table-filter-icon { - color: #bfbfbf; -} -.ant-table-thead > tr > th .ant-table-filter-selected.anticon-filter { - color: @primary-color; -} -.ant-table-thead > tr > th .ant-table-column-sorter { - color: #bfbfbf; -} -.ant-table-thead > tr > th .ant-table-column-sorter-up.on, -.ant-table-thead > tr > th .ant-table-column-sorter-down.on { - color: @primary-color; -} -.ant-table-thead > tr > th.ant-table-column-has-actions:hover { - background: #f5f5f5; -} -.ant-table-thead > tr > th.ant-table-column-has-actions:hover .anticon-filter, -.ant-table-thead > tr > th.ant-table-column-has-actions:hover .ant-table-filter-icon { - background: #f5f5f5; -} -.ant-table-thead > tr > th.ant-table-column-has-actions:hover .anticon-filter:hover, -.ant-table-thead > tr > th.ant-table-column-has-actions:hover .ant-table-filter-icon:hover { - color: rgba(0, 0, 0, 0.45); - background: #ebebeb; -} -.ant-table-thead > tr > th.ant-table-column-has-actions:hover .anticon-filter:active, -.ant-table-thead > tr > th.ant-table-column-has-actions:hover .ant-table-filter-icon:active { - color: rgba(0, 0, 0, 0.65); -} -.ant-table-thead > tr > th.ant-table-column-has-actions .anticon-filter.ant-table-filter-open, -.ant-table-thead > tr > th.ant-table-column-has-actions .ant-table-filter-icon.ant-table-filter-open { - color: rgba(0, 0, 0, 0.45); - background: #ebebeb; -} -.ant-table-thead > tr > th.ant-table-column-has-actions:active .ant-table-column-sorter-up:not(.on), -.ant-table-thead > tr > th.ant-table-column-has-actions:active .ant-table-column-sorter-down:not(.on) { - color: rgba(0, 0, 0, 0.45); -} -.ant-table-thead > tr > th .ant-table-column-sorters:before { - background: transparent; -} -.ant-table-thead > tr > th .ant-table-column-sorters:hover:before { - background: rgba(0, 0, 0, 0.04); -} -.ant-table-thead > tr:first-child > th:first-child { - border-top-left-radius: 4px; -} -.ant-table-thead > tr:first-child > th:last-child { - border-top-right-radius: 4px; -} -.ant-table-thead > tr:not(:last-child) > th[colspan] { - border-bottom: 0; -} -.ant-table-tbody > tr > td { - border-bottom: 1px solid #e8e8e8; -} -.ant-table-thead > tr.ant-table-row-hover > td, -.ant-table-tbody > tr.ant-table-row-hover > td, -.ant-table-thead > tr:hover > td, -.ant-table-tbody > tr:hover > td { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-table-thead > tr:hover { - background: none; -} -.ant-table-footer { - background: #fafafa; - border-radius: 0 0 4px 4px; - border-top: 1px solid #e8e8e8; -} -.ant-table-footer:before { - background: #fafafa; -} -.ant-table.ant-table-bordered .ant-table-footer { - border: 1px solid #e8e8e8; -} -.ant-table-title { - border-radius: 4px 4px 0 0; -} -.ant-table.ant-table-bordered .ant-table-title { - border: 1px solid #e8e8e8; -} -.ant-table-title + .ant-table-content { - border-radius: 4px 4px 0 0; -} -.ant-table-bordered .ant-table-title + .ant-table-content, -.ant-table-bordered .ant-table-title + .ant-table-content table, -.ant-table-bordered .ant-table-title + .ant-table-content .ant-table-thead > tr:first-child > th { - border-radius: 0; -} -.ant-table-without-column-header .ant-table-title + .ant-table-content, -.ant-table-without-column-header table { - border-radius: 0; -} -.ant-table-tbody > tr.ant-table-row-selected td { - background: #fafafa; -} -.ant-table-thead > tr > th.ant-table-column-sort { - background: #f5f5f5; -} -.ant-table-tbody > tr > td.ant-table-column-sort { - background: rgba(0, 0, 0, 0.01); -} -.ant-table-header { - background: #fafafa; -} -.ant-table-header table { - border-radius: 4px 4px 0 0; -} -.ant-table-loading .ant-table-body { - background: #fff; -} -.ant-table-bordered .ant-table-header > table, -.ant-table-bordered .ant-table-body > table, -.ant-table-bordered .ant-table-fixed-left table, -.ant-table-bordered .ant-table-fixed-right table { - border: 1px solid #e8e8e8; - border-right: 0; - border-bottom: 0; -} -.ant-table-bordered.ant-table-empty .ant-table-placeholder { - border-left: 1px solid #e8e8e8; - border-right: 1px solid #e8e8e8; -} -.ant-table-bordered.ant-table-fixed-header .ant-table-header > table { - border-bottom: 0; -} -.ant-table-bordered.ant-table-fixed-header .ant-table-body > table { - border-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.ant-table-bordered.ant-table-fixed-header .ant-table-body-inner > table { - border-top: 0; -} -.ant-table-bordered.ant-table-fixed-header .ant-table-placeholder { - border: 0; -} -.ant-table-bordered .ant-table-thead > tr:not(:last-child) > th { - border-bottom: 1px solid #e8e8e8; -} -.ant-table-bordered .ant-table-thead > tr > th, -.ant-table-bordered .ant-table-tbody > tr > td { - border-right: 1px solid #e8e8e8; -} -.ant-table-placeholder { - background: #fff; - border-bottom: 1px solid #e8e8e8; - color: rgba(0, 0, 0, 0.45); -} -.ant-table-filter-dropdown { - background: #fff; - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); -} -.ant-table-filter-dropdown .ant-dropdown-menu { - border: 0; - box-shadow: none; - border-radius: 4px 4px 0 0; -} -.ant-table-filter-dropdown .ant-dropdown-menu-sub { - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); -} -.ant-table-filter-dropdown .ant-dropdown-menu .ant-dropdown-submenu-contain-selected .ant-dropdown-menu-submenu-title:after { - color: @primary-color; -} -.ant-table-filter-dropdown > .ant-dropdown-menu > .ant-dropdown-menu-item:last-child, -.ant-table-filter-dropdown > .ant-dropdown-menu > .ant-dropdown-menu-submenu:last-child .ant-dropdown-menu-submenu-title { - border-radius: 0; -} -.ant-table-filter-dropdown-btns { - border-top: 1px solid #e8e8e8; -} -.ant-table-filter-dropdown-link { - color: @primary-color; -} -.ant-table-filter-dropdown-link:hover { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-table-filter-dropdown-link:active { - color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-table-selection .anticon-down { - color: #bfbfbf; -} -.ant-table-selection-menu { - background: #fff; - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); -} -.ant-table-selection-menu .ant-action-down { - color: #bfbfbf; -} -.ant-table-selection-down:hover .anticon-down { - color: #666; -} -.ant-table-row-expand-icon { - border: 1px solid #e8e8e8; - background: #fff; -} -tr.ant-table-expanded-row, -tr.ant-table-expanded-row:hover { - background: #fbfbfb; -} -.ant-table-fixed-header > .ant-table-content > .ant-table-scroll > .ant-table-body { - background: #fff; -} -.ant-table-fixed-left, -.ant-table-fixed-right { - border-radius: 0; -} -.ant-table-fixed-left table, -.ant-table-fixed-right table { - background: #fff; -} -.ant-table-fixed-header .ant-table-fixed-left .ant-table-body-outer .ant-table-fixed, -.ant-table-fixed-header .ant-table-fixed-right .ant-table-body-outer .ant-table-fixed { - border-radius: 0; -} -.ant-table-fixed-left { - box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.15); -} -.ant-table-fixed-left, -.ant-table-fixed-left table { - border-radius: 4px 0 0 0; -} -.ant-table-fixed-left .ant-table-thead > tr > th:last-child { - border-top-right-radius: 0; -} -.ant-table-fixed-right { - box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.15); -} -.ant-table-fixed-right, -.ant-table-fixed-right table { - border-radius: 0 4px 0 0; -} -.ant-table-fixed-right .ant-table-expanded-row { - color: transparent; -} -.ant-table-fixed-right .ant-table-thead > tr > th:first-child { - border-top-left-radius: 0; -} -.ant-table.ant-table-scroll-position-left .ant-table-fixed-left { - box-shadow: none; -} -.ant-table.ant-table-scroll-position-right .ant-table-fixed-right { - box-shadow: none; -} -.ant-table-small { - border: 1px solid #e8e8e8; - border-radius: 4px; -} -.ant-table-small > .ant-table-title { - border-bottom: 1px solid #e8e8e8; -} -.ant-table-small > .ant-table-content > .ant-table-header > table, -.ant-table-small > .ant-table-content > .ant-table-body > table, -.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-header > table, -.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-body > table, -.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table, -.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table, -.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table, -.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table { - border: 0; -} -.ant-table-small > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, -.ant-table-small > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th, -.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-header > table > .ant-table-thead > tr > th, -.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-thead > tr > th, -.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table > .ant-table-thead > tr > th, -.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table > .ant-table-thead > tr > th, -.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, -.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th { - background: #fff; - border-bottom: 1px solid #e8e8e8; -} -.ant-table-small > .ant-table-content .ant-table-header { - background: #fff; -} -.ant-table-small > .ant-table-content .ant-table-placeholder, -.ant-table-small > .ant-table-content .ant-table-row:last-child td { - border-bottom: 0; -} -.ant-table-small.ant-table-bordered { - border-right: 0; -} -.ant-table-small.ant-table-bordered .ant-table-title { - border: 0; - border-bottom: 1px solid #e8e8e8; - border-right: 1px solid #e8e8e8; -} -.ant-table-small.ant-table-bordered .ant-table-content { - border-right: 1px solid #e8e8e8; -} -.ant-table-small.ant-table-bordered .ant-table-footer { - border: 0; - border-top: 1px solid #e8e8e8; - border-right: 1px solid #e8e8e8; -} -.ant-table-small.ant-table-bordered .ant-table-placeholder { - border-left: 0; - border-bottom: 0; -} -.ant-table-small.ant-table-bordered .ant-table-thead > tr > th:last-child, -.ant-table-small.ant-table-bordered .ant-table-tbody > tr > td:last-child { - border-right: none; -} -.ant-table-small.ant-table-bordered .ant-table-fixed-left .ant-table-thead > tr > th:last-child, -.ant-table-small.ant-table-bordered .ant-table-fixed-left .ant-table-tbody > tr > td:last-child { - border-right: 1px solid #e8e8e8; -} -.ant-table-small.ant-table-bordered .ant-table-fixed-right { - border-right: 1px solid #e8e8e8; -} -.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab { - border: 1px solid #e8e8e8; - border-bottom: 0; - border-radius: 4px 4px 0 0; - background: #fafafa; -} -.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab-active { - background: #fff; - border-color: @primary-color !important; - color: @primary-color; -} -.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab .ant-tabs-close-x { - color: rgba(0, 0, 0, 0.45); -} -.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab .ant-tabs-close-x:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-tabs-extra-content .ant-tabs-new-tab { - border-radius: 2px; - border: 1px solid #e8e8e8; - color: rgba(0, 0, 0, 0.65); -} -.ant-tabs-extra-content .ant-tabs-new-tab:hover { - color: @primary-color; - border-color: @primary-color; -} -.ant-tabs-vertical.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab { - border-bottom: 1px solid #e8e8e8; -} -.ant-tabs-vertical.ant-tabs-card.ant-tabs-left > .ant-tabs-bar .ant-tabs-tab { - border-right: 0; - border-radius: 4px 0 0 4px; -} -.ant-tabs-vertical.ant-tabs-card.ant-tabs-right > .ant-tabs-bar .ant-tabs-tab { - border-left: 0; - border-radius: 0 4px 4px 0; -} -.ant-tabs.ant-tabs-card.ant-tabs-bottom > .ant-tabs-bar .ant-tabs-tab { - border-bottom: 1px solid #e8e8e8; - border-top: 0; - border-radius: 0 0 4px 4px; -} -.ant-tabs.ant-tabs-card.ant-tabs-bottom > .ant-tabs-bar .ant-tabs-tab-active { - color: @primary-color; -} -.ant-tabs { - color: rgba(0, 0, 0, 0.65); -} -.ant-tabs-ink-bar { - background-color: @primary-color; -} -.ant-tabs-bar { - border-bottom: 1px solid #e8e8e8; -} -.ant-tabs-bottom .ant-tabs-bar { - border-bottom: none; - border-top: 1px solid #e8e8e8; -} -.ant-tabs-tab-prev, -.ant-tabs-tab-next { - border: 0; - background-color: transparent; - color: rgba(0, 0, 0, 0.45); -} -.ant-tabs-tab-prev:hover, -.ant-tabs-tab-next:hover { - color: rgba(0, 0, 0, 0.65); -} -.ant-tabs-tab-btn-disabled, -.ant-tabs-tab-btn-disabled:hover { - color: rgba(0, 0, 0, 0.25); -} -.ant-tabs-nav .ant-tabs-tab-disabled { - color: rgba(0, 0, 0, 0.25); -} -.ant-tabs-nav .ant-tabs-tab:hover { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-tabs-nav .ant-tabs-tab:active { - color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-tabs-nav .ant-tabs-tab-active { - color: @primary-color; -} -.ant-tabs-vertical > .ant-tabs-bar { - border-bottom: 0; -} -.ant-tabs-vertical.ant-tabs-left > .ant-tabs-bar { - border-right: 1px solid #e8e8e8; -} -.ant-tabs-vertical.ant-tabs-left > .ant-tabs-content { - border-left: 1px solid #e8e8e8; -} -.ant-tabs-vertical.ant-tabs-right > .ant-tabs-bar { - border-left: 1px solid #e8e8e8; -} -.ant-tabs-vertical.ant-tabs-right > .ant-tabs-content { - border-right: 1px solid #e8e8e8; -} -.ant-tag { - color: rgba(0, 0, 0, 0.65); - border-radius: 4px; - border: 1px solid #d9d9d9; - background: #fafafa; -} -.ant-tag, -.ant-tag a, -.ant-tag a:hover { - color: rgba(0, 0, 0, 0.65); -} -.ant-tag .anticon-close { - color: rgba(0, 0, 0, 0.45); -} -.ant-tag .anticon-close:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-tag-has-color { - border-color: transparent; -} -.ant-tag-has-color, -.ant-tag-has-color a, -.ant-tag-has-color a:hover, -.ant-tag-has-color .anticon-close, -.ant-tag-has-color .anticon-close:hover { - color: #fff; -} -.ant-tag-checkable { - background-color: transparent; - border-color: transparent; -} -.ant-tag-checkable:not(.ant-tag-checkable-checked):hover { - color: @primary-color; -} -.ant-tag-checkable:active, -.ant-tag-checkable-checked { - color: #fff; -} -.ant-tag-checkable-checked { - background-color: @primary-color; -} -.ant-tag-checkable:active { - background-color: color(~`colorPalette("@{primary-color}", 7)`); -} -.ant-tag-pink { - color: #eb2f96; - background: #fff0f6; - border-color: #ffadd2; -} -.ant-tag-pink-inverse { - background: #eb2f96; - border-color: #eb2f96; - color: #fff; -} -.ant-tag-magenta { - color: #eb2f96; - background: #fff0f6; - border-color: #ffadd2; -} -.ant-tag-magenta-inverse { - background: #eb2f96; - border-color: #eb2f96; - color: #fff; -} -.ant-tag-red { - color: #f5222d; - background: #fff1f0; - border-color: #ffa39e; -} -.ant-tag-red-inverse { - background: #f5222d; - border-color: #f5222d; - color: #fff; -} -.ant-tag-volcano { - color: #fa541c; - background: #fff2e8; - border-color: #ffbb96; -} -.ant-tag-volcano-inverse { - background: #fa541c; - border-color: #fa541c; - color: #fff; -} -.ant-tag-orange { - color: #fa8c16; - background: #fff7e6; - border-color: #ffd591; -} -.ant-tag-orange-inverse { - background: #fa8c16; - border-color: #fa8c16; - color: #fff; -} -.ant-tag-yellow { - color: #fadb14; - background: #feffe6; - border-color: #fffb8f; -} -.ant-tag-yellow-inverse { - background: #fadb14; - border-color: #fadb14; - color: #fff; -} -.ant-tag-gold { - color: #faad14; - background: #fffbe6; - border-color: #ffe58f; -} -.ant-tag-gold-inverse { - background: #faad14; - border-color: #faad14; - color: #fff; -} -.ant-tag-cyan { - color: #13c2c2; - background: #e6fffb; - border-color: #87e8de; -} -.ant-tag-cyan-inverse { - background: #13c2c2; - border-color: #13c2c2; - color: #fff; -} -.ant-tag-lime { - color: #a0d911; - background: #fcffe6; - border-color: #eaff8f; -} -.ant-tag-lime-inverse { - background: #a0d911; - border-color: #a0d911; - color: #fff; -} -.ant-tag-green { - color: #52c41a; - background: #f6ffed; - border-color: #b7eb8f; -} -.ant-tag-green-inverse { - background: #52c41a; - border-color: #52c41a; - color: #fff; -} -.ant-tag-blue { - color: @primary-color; - background: color(~`colorPalette("@{primary-color}", 1)`); - border-color: color(~`colorPalette("@{primary-color}", 3)`); -} -.ant-tag-blue-inverse { - background: @primary-color; - border-color: @primary-color; - color: #fff; -} -.ant-tag-geekblue { - color: #2f54eb; - background: #f0f5ff; - border-color: #adc6ff; -} -.ant-tag-geekblue-inverse { - background: #2f54eb; - border-color: #2f54eb; - color: #fff; -} -.ant-tag-purple { - color: #722ed1; - background: #f9f0ff; - border-color: #d3adf7; -} -.ant-tag-purple-inverse { - background: #722ed1; - border-color: #722ed1; - color: #fff; -} -.ant-time-picker-panel { - color: rgba(0, 0, 0, 0.65); -} -.ant-time-picker-panel-inner { - background-color: #fff; - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); - background-clip: padding-box; -} -.ant-time-picker-panel-input { - border: 0; -} -.ant-time-picker-panel-input::-moz-placeholder { - color: #bfbfbf; -} -.ant-time-picker-panel-input:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-time-picker-panel-input::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-time-picker-panel-input-wrap { - border-bottom: 1px solid #e8e8e8; -} -.ant-time-picker-panel-input-invalid { - border-color: red; -} -.ant-time-picker-panel-clear-btn-icon svg { - color: rgba(0, 0, 0, 0.25); -} -.ant-time-picker-panel-clear-btn-icon svg:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-time-picker-panel-select { - border-left: 1px solid #e8e8e8; -} -.ant-time-picker-panel-select:first-child { - border-left: 0; -} -.ant-time-picker-panel-select:last-child { - border-right: 0; -} -.ant-time-picker-panel-select li:hover { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -li.ant-time-picker-panel-select-option-selected { - background: #f5f5f5; -} -li.ant-time-picker-panel-select-option-selected:hover { - background: #f5f5f5; -} -li.ant-time-picker-panel-select-option-disabled { - color: rgba(0, 0, 0, 0.25); -} -li.ant-time-picker-panel-select-option-disabled:hover { - background: transparent; -} -.ant-time-picker-panel-addon { - border-top: 1px solid #e8e8e8; -} -.ant-time-picker { - color: rgba(0, 0, 0, 0.65); -} -.ant-time-picker-input { - color: rgba(0, 0, 0, 0.65); - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 4px; -} -.ant-time-picker-input::-moz-placeholder { - color: #bfbfbf; -} -.ant-time-picker-input:-ms-input-placeholder { - color: #bfbfbf; -} -.ant-time-picker-input::-webkit-input-placeholder { - color: #bfbfbf; -} -.ant-time-picker-input:hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - border-right-width: 1px !important; -} -.ant-time-picker-input:focus { - border-color: color(~`colorPalette("@{primary-color}", 5)`); - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px !important; -} -.ant-time-picker-input-disabled { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-time-picker-input-disabled:hover { - border-color: #e6d8d8; - border-right-width: 1px !important; -} -.ant-time-picker-input[disabled] { - background-color: #f5f5f5; - color: rgba(0, 0, 0, 0.25); -} -.ant-time-picker-input[disabled]:hover { - border-color: #e6d8d8; - border-right-width: 1px !important; -} -.ant-time-picker-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-time-picker-icon .ant-time-picker-clock-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-timeline { - color: rgba(0, 0, 0, 0.65); -} -.ant-timeline-item-tail { - border-left: 2px solid #e8e8e8; -} -.ant-timeline-item-head { - background-color: #fff; - border-radius: 100px; - border: 2px solid transparent; -} -.ant-timeline-item-head-blue { - border-color: @primary-color; - color: @primary-color; -} -.ant-timeline-item-head-red { - border-color: #f5222d; - color: #f5222d; -} -.ant-timeline-item-head-green { - border-color: #52c41a; - color: #52c41a; -} -.ant-timeline-item-head-custom { - border: 0; - border-radius: 0; -} -.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail { - border-left: 2px dotted #e8e8e8; -} -.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail { - border-left: 2px dotted #e8e8e8; -} -.ant-tooltip { - color: rgba(0, 0, 0, 0.65); -} -.ant-tooltip-inner { - color: #fff; - background-color: rgba(0, 0, 0, 0.75); - border-radius: 4px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); -} -.ant-tooltip-arrow { - border-color: transparent; - border-style: solid; -} -.ant-tooltip-placement-top .ant-tooltip-arrow, -.ant-tooltip-placement-topLeft .ant-tooltip-arrow, -.ant-tooltip-placement-topRight .ant-tooltip-arrow { - border-width: 5px 5px 0; - border-top-color: rgba(0, 0, 0, 0.75); -} -.ant-tooltip-placement-right .ant-tooltip-arrow, -.ant-tooltip-placement-rightTop .ant-tooltip-arrow, -.ant-tooltip-placement-rightBottom .ant-tooltip-arrow { - border-width: 5px 5px 5px 0; - border-right-color: rgba(0, 0, 0, 0.75); -} -.ant-tooltip-placement-left .ant-tooltip-arrow, -.ant-tooltip-placement-leftTop .ant-tooltip-arrow, -.ant-tooltip-placement-leftBottom .ant-tooltip-arrow { - border-width: 5px 0 5px 5px; - border-left-color: rgba(0, 0, 0, 0.75); -} -.ant-tooltip-placement-bottom .ant-tooltip-arrow, -.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow, -.ant-tooltip-placement-bottomRight .ant-tooltip-arrow { - border-width: 0 5px 5px; - border-bottom-color: rgba(0, 0, 0, 0.75); -} -.ant-transfer { - color: rgba(0, 0, 0, 0.65); -} -.ant-transfer-disabled .ant-transfer-list { - background: #f5f5f5; -} -.ant-transfer-list { - border: 1px solid #d9d9d9; - border-radius: 4px; -} -.ant-transfer-list-search-action { - color: rgba(0, 0, 0, 0.25); -} -.ant-transfer-list-search-action .anticon { - color: rgba(0, 0, 0, 0.25); -} -.ant-transfer-list-search-action .anticon:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-transfer-list-header { - border-radius: 4px 4px 0 0; - background: #fff; - color: rgba(0, 0, 0, 0.65); - border-bottom: 1px solid #e8e8e8; -} -.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-transfer-list-content-item-disabled { - color: rgba(0, 0, 0, 0.25); -} -.ant-transfer-list-body-not-found { - color: rgba(0, 0, 0, 0.25); -} -.ant-transfer-list-footer { - border-top: 1px solid #e8e8e8; - border-radius: 0 0 4px 4px; -} -.ant-select-tree-checkbox { - color: rgba(0, 0, 0, 0.65); -} -.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner, -.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner, -.ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner { - border-color: @primary-color; -} -.ant-select-tree-checkbox-checked:after { - border-radius: 2px; - border: 1px solid @primary-color; -} -.ant-select-tree-checkbox-inner { - border: 1px solid #d9d9d9; - border-radius: 2px; - background-color: #fff; -} -.ant-select-tree-checkbox-inner:after { - border: 2px solid #fff; - border-top: 0; - border-left: 0; -} -.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner:after { - border: 0; - background-color: @primary-color; -} -.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner:after { - border-color: rgba(0, 0, 0, 0.25); -} -.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:after { - border: 2px solid #fff; - border-top: 0; - border-left: 0; -} -.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner { - background-color: @primary-color; - border-color: @primary-color; -} -.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:after { - border-color: rgba(0, 0, 0, 0.25); -} -.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner { - border-color: #d9d9d9 !important; - background-color: #f5f5f5; -} -.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner:after { - border-color: #f5f5f5; -} -.ant-select-tree-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); -} -.ant-select-tree-checkbox-wrapper { - color: rgba(0, 0, 0, 0.65); -} -.ant-select-tree-checkbox-group { - color: rgba(0, 0, 0, 0.65); -} -.ant-select-tree { - color: rgba(0, 0, 0, 0.65); -} -.ant-select-tree li .ant-select-tree-node-content-wrapper { - border-radius: 2px; - color: rgba(0, 0, 0, 0.65); -} -.ant-select-tree li .ant-select-tree-node-content-wrapper:hover { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-select-tree li .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected { - background-color: color(~`colorPalette("@{primary-color}", 2)`); -} -.ant-select-tree li span.ant-select-tree-switcher, -.ant-select-tree li span.ant-select-tree-iconEle { - border: 0 none; -} -.ant-select-tree li span.ant-select-icon_loading .ant-select-switcher-loading-icon { - color: @primary-color; -} -.ant-select-tree li span.ant-select-tree-switcher.ant-select-tree-switcher_open .ant-select-switcher-loading-icon, -.ant-select-tree li span.ant-select-tree-switcher.ant-select-tree-switcher_close .ant-select-switcher-loading-icon { - color: @primary-color; -} -li.ant-select-tree-treenode-disabled > span:not(.ant-select-tree-switcher), -li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper, -li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper span { - color: rgba(0, 0, 0, 0.25); -} -li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper:hover { - background: transparent; -} -.ant-select-tree-dropdown { - color: rgba(0, 0, 0, 0.65); -} -.ant-select-tree-dropdown .ant-select-dropdown-search .ant-select-search__field { - border: 1px solid #d9d9d9; - border-radius: 4px; -} -.ant-select-tree-dropdown .ant-select-not-found { - color: rgba(0, 0, 0, 0.25); -} -.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper { - border-radius: 0; -} -.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper:hover, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper:hover { - background: transparent; -} -.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper:hover:before, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper:hover:before { - background: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper.ant-tree-node-selected, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper.ant-tree-node-selected { - color: #fff; - background: transparent; -} -.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-switcher, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-switcher { - color: #fff; -} -.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox .ant-tree-checkbox-inner, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox .ant-tree-checkbox-inner { - border-color: @primary-color; -} -.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked:after, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked:after { - border-color: #fff; -} -.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner { - background: #fff; -} -.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after { - border-color: @primary-color; -} -.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-node-content-wrapper:before, -.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-node-content-wrapper:before { - background: @primary-color; -} -.ant-tree-checkbox { - color: rgba(0, 0, 0, 0.65); -} -.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, -.ant-tree-checkbox:hover .ant-tree-checkbox-inner, -.ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner { - border-color: @primary-color; -} -.ant-tree-checkbox-checked:after { - border-radius: 2px; - border: 1px solid @primary-color; -} -.ant-tree-checkbox-inner { - border: 1px solid #d9d9d9; - border-radius: 2px; - background-color: #fff; -} -.ant-tree-checkbox-inner:after { - border: 2px solid #fff; - border-top: 0; - border-left: 0; -} -.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner:after { - border: 0; - background-color: @primary-color; -} -.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after { - border-color: rgba(0, 0, 0, 0.25); -} -.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after { - border: 2px solid #fff; - border-top: 0; - border-left: 0; -} -.ant-tree-checkbox-checked .ant-tree-checkbox-inner { - background-color: @primary-color; - border-color: @primary-color; -} -.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after { - border-color: rgba(0, 0, 0, 0.25); -} -.ant-tree-checkbox-disabled .ant-tree-checkbox-inner { - border-color: #d9d9d9 !important; - background-color: #f5f5f5; -} -.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after { - border-color: #f5f5f5; -} -.ant-tree-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); -} -.ant-tree-checkbox-wrapper { - color: rgba(0, 0, 0, 0.65); -} -.ant-tree-checkbox-group { - color: rgba(0, 0, 0, 0.65); -} -.ant-tree { - color: rgba(0, 0, 0, 0.65); -} -.ant-tree li span[draggable], -.ant-tree li span[draggable="true"] { - border-top: 2px transparent solid; - border-bottom: 2px transparent solid; -} -.ant-tree li.drag-over > span[draggable] { - background-color: @primary-color; - color: white; -} -.ant-tree li.drag-over-gap-top > span[draggable] { - border-top-color: @primary-color; -} -.ant-tree li.drag-over-gap-bottom > span[draggable] { - border-bottom-color: @primary-color; -} -.ant-tree li.filter-node > span { - color: #f5222d !important; -} -.ant-tree li.ant-tree-treenode-loading span.ant-tree-switcher.ant-tree-switcher_open .ant-tree-switcher-loading-icon, -.ant-tree li.ant-tree-treenode-loading span.ant-tree-switcher.ant-tree-switcher_close .ant-tree-switcher-loading-icon { - color: @primary-color; -} -.ant-tree li .ant-tree-node-content-wrapper { - border-radius: 2px; - color: rgba(0, 0, 0, 0.65); -} -.ant-tree li .ant-tree-node-content-wrapper:hover { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected { - background-color: color(~`colorPalette("@{primary-color}", 2)`); -} -.ant-tree li span.ant-tree-switcher, -.ant-tree li span.ant-tree-iconEle { - border: 0 none; -} -li.ant-tree-treenode-disabled > span:not(.ant-tree-switcher), -li.ant-tree-treenode-disabled > .ant-tree-node-content-wrapper, -li.ant-tree-treenode-disabled > .ant-tree-node-content-wrapper span { - color: rgba(0, 0, 0, 0.25); -} -li.ant-tree-treenode-disabled > .ant-tree-node-content-wrapper:hover { - background: transparent; -} -.ant-tree.ant-tree-show-line li span.ant-tree-switcher { - background: #fff; - color: rgba(0, 0, 0, 0.45); -} -.ant-tree.ant-tree-show-line li:not(:last-child):before { - border-left: 1px solid #d9d9d9; -} -.ant-upload { - color: rgba(0, 0, 0, 0.65); -} -.ant-upload.ant-upload-select-picture-card { - border: 1px dashed #d9d9d9; - border-radius: 4px; - background-color: #fafafa; -} -.ant-upload.ant-upload-select-picture-card:hover { - border-color: @primary-color; -} -.ant-upload.ant-upload-drag { - border: 1px dashed #d9d9d9; - border-radius: 4px; - background: #fafafa; -} -.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) { - border: 2px dashed color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover { - border-color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon { - color: color(~`colorPalette("@{primary-color}", 5)`); -} -.ant-upload.ant-upload-drag p.ant-upload-text { - color: rgba(0, 0, 0, 0.85); -} -.ant-upload.ant-upload-drag p.ant-upload-hint { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload.ant-upload-drag .anticon-plus { - color: rgba(0, 0, 0, 0.25); -} -.ant-upload.ant-upload-drag .anticon-plus:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload.ant-upload-drag:hover .anticon-plus { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload-list { - color: rgba(0, 0, 0, 0.65); -} -.ant-upload-list-item-info .anticon-loading, -.ant-upload-list-item-info .anticon-paper-clip { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload-list-item .anticon-close { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload-list-item .anticon-close:hover { - color: rgba(0, 0, 0, 0.65); -} -.ant-upload-list-item:hover .ant-upload-list-item-info { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} -.ant-upload-list-item-error, -.ant-upload-list-item-error .anticon-paper-clip, -.ant-upload-list-item-error .ant-upload-list-item-name { - color: #f5222d; -} -.ant-upload-list-item-error .anticon-close { - color: #f5222d !important; -} -.ant-upload-list-picture .ant-upload-list-item, -.ant-upload-list-picture-card .ant-upload-list-item { - border-radius: 4px; - border: 1px solid #d9d9d9; -} -.ant-upload-list-picture .ant-upload-list-item:hover, -.ant-upload-list-picture-card .ant-upload-list-item:hover { - background: transparent; -} -.ant-upload-list-picture .ant-upload-list-item-error, -.ant-upload-list-picture-card .ant-upload-list-item-error { - border-color: #f5222d; -} -.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, -.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info { - background: transparent; -} -.ant-upload-list-picture .ant-upload-list-item-uploading, -.ant-upload-list-picture-card .ant-upload-list-item-uploading { - border-style: dashed; -} -.ant-upload-list-picture .ant-upload-list-item-icon, -.ant-upload-list-picture-card .ant-upload-list-item-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-upload-list-picture .ant-upload-list-item-thumbnail.anticon:before, -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail.anticon:before { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload-list-picture-card .ant-upload-list-item-info:before { - background-color: rgba(0, 0, 0, 0.5); -} -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye-o, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete { - color: rgba(255, 255, 255, 0.85); -} -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye-o:hover, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover { - color: #fff; -} -.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { - background-color: #fafafa; -} -.ant-upload-list-picture-card .ant-upload-list-item-uploading-text { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload-list .ant-upload-success-icon { - color: #52c41a; -} - -.drawer .drawer-content { - background: #001529; -} - -.ant-list-item-meta .taobao { - color: #ff4000; - border-radius: 4px; -} -.ant-list-item-meta .dingding { - background-color: #2eabff; - color: #fff; - border-radius: 4px; -} -.ant-list-item-meta .alipay { - color: #2eabff; - border-radius: 4px; -} -font.strong { - color: #52c41a; -} -font.medium { - color: #faad14; -} -font.weak { - color: #f5222d; -} - -// 侧边导航栏首页颜色跟随主题变化 -.ant-menu.ant-menu-root > .ant-menu-item:first-child.ant-menu-item-selected { - & > a, - & > a:hover { - color: @primary-color; - } -} - -// begin -------- JAreaLinkage 三级联动样式 -------------- -.cascader-menu-list .cascader-menu-option.hover, -.cascader-menu-list .cascader-menu-option:hover { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} - -.area-selectable-list .area-select-option.hover { - background-color: color(~`colorPalette("@{primary-color}", 1)`); -} - -.area-select:hover { - border-color: @primary-color; -} - -.area-select:active { - box-shadow: 0 0 0 2px color(~`colorPalette("@{primary-color}", 1)`); -} -// end -------- JAreaLinkage 三级联动样式 -------------- - -// TESTA-521 -.ant-menu-submenu-selected { - color: @primary-color; -} - -// TESTA-521 -.tab-layout-tabs.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab-active { - border-color: @primary-color !important; -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/public/goright.png b/ant-design-vue-jeecg/public/goright.png deleted file mode 100644 index 13c4b54fd48a01288e9e23084b1adda9a6ffca1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1105 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>Z9h3PvC*V+MOep* z;I?H!$xWsW3%%1lTven((2w{X;JhR(}8@Fnhv>$?dV(<)7XF6)`4xySp%S zu*!M>IqW5#zOL-ISfqgLt)VTKfYek^7sn8Z%duyV3LOd%aJkqxorU9F-od+f?|%Jn z-{!g3Gw5jKmq&S059WI&2eUWNJW(kr&aC{+>Eb~Nwnhu@r(NC$9()Vg8MXJ~m!uC{ zZ^bOX{hI#|L*qja^Laka0<+HYc0c7h^tv~3ceg`H{RLTn!-k4SXJXfFuNI1TnN(#H zpDEbvV)WiWY?47l$EVN&!w6H$Qii%Y+R_iRckE3DI#9L5HKHUXu_VKdAd7@Arc8Ce+{Xd75q85mfL?Kecxkei>9nN|tXV4!PYqHAOpVqgGN2SgAJ z3qq}9ff{^4HWcTlm6RtIr80QtCZ?zQCZ=a5XDgWN8R!}6nkfVtnkiIRn8ll!C?ITC z$S5f(u+rBrFE7{21Ze_dpeDWiqV&5rm-+z>mH-(Xl2MwQWM$=&pIn-onpa|F6#!IP z%wV|u|89Mt8gV2wV5_aHJW?~$GfEf?&1Bcd z%-qzH%7Rn|u$%M?^3v@$g@IgyY?E&YP!)rrk-3qPp`nq10jDPKd!P~lBy)l@t5O+E zEX|$L%HlYIa?wa~p+TMuX_+~xK;P?U!k{QWzeK+{vjoi1OHC}U%uLSD)5}XO v(N9jv)6L9HM+he8=@%Cz>l>PyfUtq39?+GM7mPmxtzqzV^>bP0l+XkKoCT9z diff --git a/ant-design-vue-jeecg/public/index.html b/ant-design-vue-jeecg/public/index.html deleted file mode 100644 index d3b55bb8..00000000 --- a/ant-design-vue-jeecg/public/index.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - - JeecgBoot 企业级低代码平台 - - - - - - - - -
    -
    -
    -
    -
    -
    正在加载 JeecgBoot 低代码平台,请耐心等待 - -
    -
    -
    - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/public/logo.png b/ant-design-vue-jeecg/public/logo.png deleted file mode 100644 index 1c356e3a678070b440e6cffc22455b35358543ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8929 zcmV<7A|Bm|P)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRaJS4l)cRCwC#oqK#!<^9K>Tu+m1k5W<(=>IeZJ54`+Y=SfP}<_#OM|v zA(W61N=S()5%QIgkX1rLRtX7NB_t$dm5`8C;z>pwx(5(gC4*jX2z9)*sJR3H0JNqh zdtkp2Hs!wSOj-Z{z;L~xv?(-h4dul3T(?hYgZ+w{N)37(0{{S>ao!P)nRk?4dHCQ$ zb|1YsaU_{|C2>!Kvif{k- ze{@FVD92=;m+v)^M~LfTb4_*y;Ymh}(hvUITmnE-=}>Axd#I7ocb?XfZ&8Q( zjn;J8_spN=TLyi1&gAn&t<3LfDWqTc45a%a$r>eMI@wkT0FK!eOgFHomG~Ea8T3u1IA+o^pRe8!`f3}>!+ojv zmRZwYVAKIHnpECE|1OQWtTCx55_oy)0m4}&<#T3Bp3jfi-{y)l#q}RN=OJLB!m(YLJ0{8p@f7`LP97Z zA+bZrrbM>{i4&9#T!n545+^8G)XeEkNJuPE!ZCyr5=SU8<;fu-MKFUyC?TO>01`YX zHI6)MGjhM-P-B@OQBvCGA0{iJ$ZB(>_^LBcC}$c_aiTMlD7mCICH&nw z;-mVCudj~XU$-mFn&A|3RG4{^UDXd{D48`Hv&>1(k@LK&)Qd=x)gc5sY_5SwKrQF1Qzg)^uSK@#@qJVfd_mzEW{Z zUMKaFP-YH7mr?iqWlRHGe}*u8RzItxH)Qs~-(xY+q%$)2M-ht88n6b(zPTk5UkcS3 zNdPEO@^=D}_?1EL5!^yM?Fkd@1CipRmSQRhDiog;StTe%B}NM;u7vWHkPu3VEUMq0 zaN>M^D76-$hX{vCo5UWWowHwD>HK7&G$>6Z)m8xjfZDQXKNUaH8-y2>@k1%68$DQV zrt*LNh5wP7YU00C4wzZ<$KL<|z@-W2rVuXnhf6d2$P}MD-=()o)inSBkUmgZ2UqAa zAli*E;6g7w`qsU^KVS0|@n55^y&!3H$~nEks4Hx*+J+Q-*y(0)W^J;PiC($~FRrSA-HTAW<4jd**3+kW|*Aa|4gf zJ}!(>0W`qz1d_%)>x9}enD)%m^vkm<>(

    x&FtTGNII*Ae4BsNSS>&#thQtwKz7A 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 diff --git a/ant-design-vue-jeecg/public/static/config.js b/ant-design-vue-jeecg/public/static/config.js deleted file mode 100644 index 2222138e..00000000 --- a/ant-design-vue-jeecg/public/static/config.js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * 存放配置常量(当值不为空时会覆盖env配置) - */ -window._CONFIG = { - //接口父路径 - VUE_APP_API_BASE_URL: '', - //单点登录地址 - VUE_APP_CAS_BASE_URL: '', - //文件预览路径 - VUE_APP_ONLINE_BASE_URL: '' -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/public/tinymce/langs/zh_CN.js b/ant-design-vue-jeecg/public/tinymce/langs/zh_CN.js deleted file mode 100644 index 0f3cf923..00000000 --- a/ant-design-vue-jeecg/public/tinymce/langs/zh_CN.js +++ /dev/null @@ -1,261 +0,0 @@ -tinymce.addI18n('zh_CN',{ -"Redo": "\u91cd\u590d", -"Undo": "\u64a4\u6d88", -"Cut": "\u526a\u5207", -"Copy": "\u590d\u5236", -"Paste": "\u7c98\u8d34", -"Select all": "\u5168\u9009", -"New document": "\u65b0\u6587\u6863", -"Ok": "\u786e\u5b9a", -"Cancel": "\u53d6\u6d88", -"Visual aids": "\u7f51\u683c\u7ebf", -"Bold": "\u7c97\u4f53", -"Italic": "\u659c\u4f53", -"Underline": "\u4e0b\u5212\u7ebf", -"Strikethrough": "\u5220\u9664\u7ebf", -"Superscript": "\u4e0a\u6807", -"Subscript": "\u4e0b\u6807", -"Clear formatting": "\u6e05\u9664\u683c\u5f0f", -"Align left": "\u5de6\u5bf9\u9f50", -"Align center": "\u5c45\u4e2d", -"Align right": "\u53f3\u5bf9\u9f50", -"Justify": "\u4e24\u7aef\u5bf9\u9f50", -"Bullet list": "\u9879\u76ee\u7b26\u53f7", -"Numbered list": "\u7f16\u53f7\u5217\u8868", -"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb", -"Increase indent": "\u589e\u52a0\u7f29\u8fdb", -"Close": "\u5173\u95ed", -"Formats": "\u683c\u5f0f", -"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u5bf9\u526a\u8d34\u677f\u7684\u8bbf\u95ee\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u952e\u8fdb\u884c\u590d\u5236\u7c98\u8d34\u3002", -"Headers": "\u6807\u9898", -"Header 1": "\u6807\u98981", -"Header 2": "\u6807\u98982", -"Header 3": "\u6807\u98983", -"Header 4": "\u6807\u98984", -"Header 5": "\u6807\u98985", -"Header 6": "\u6807\u98986", -"Headings": "\u6807\u9898", -"Heading 1": "\u6807\u98981", -"Heading 2": "\u6807\u98982", -"Heading 3": "\u6807\u98983", -"Heading 4": "\u6807\u98984", -"Heading 5": "\u6807\u98985", -"Heading 6": "\u6807\u98986", -"Preformatted": "\u9884\u683c\u5f0f\u5316", -"Div": "Div\u533a\u5757", -"Pre": "\u9884\u683c\u5f0f\u6587\u672c", -"Code": "\u4ee3\u7801", -"Paragraph": "\u6bb5\u843d", -"Blockquote": "\u5f15\u7528", -"Inline": "\u6587\u672c", -"Blocks": "\u533a\u5757", -"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002", -"Font Family": "\u5b57\u4f53", -"Font Sizes": "\u5b57\u53f7", -"Class": "Class", -"Browse for an image": "\u6d4f\u89c8\u56fe\u50cf", -"OR": "\u6216", -"Drop an image here": "\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64", -"Upload": "\u4e0a\u4f20", -"Block": "\u5757", -"Align": "\u5bf9\u9f50", -"Default": "\u9ed8\u8ba4", -"Circle": "\u7a7a\u5fc3\u5706", -"Disc": "\u5b9e\u5fc3\u5706", -"Square": "\u65b9\u5757", -"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd", -"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd", -"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd", -"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd", -"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd", -"Anchor": "\u951a\u70b9", -"Name": "\u540d\u79f0", -"Id": "\u6807\u8bc6\u7b26", -"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002", -"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f", -"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f", -"Special character": "\u7279\u6b8a\u7b26\u53f7", -"Source code": "\u6e90\u4ee3\u7801", -"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b", -"Language": "\u8bed\u8a00", -"Code sample": "\u4ee3\u7801\u793a\u4f8b", -"Color": "\u989c\u8272", -"R": "R", -"G": "G", -"B": "B", -"Left to right": "\u4ece\u5de6\u5230\u53f3", -"Right to left": "\u4ece\u53f3\u5230\u5de6", -"Emoticons": "\u8868\u60c5", -"Document properties": "\u6587\u6863\u5c5e\u6027", -"Title": "\u6807\u9898", -"Keywords": "\u5173\u952e\u8bcd", -"Description": "\u63cf\u8ff0", -"Robots": "\u673a\u5668\u4eba", -"Author": "\u4f5c\u8005", -"Encoding": "\u7f16\u7801", -"Fullscreen": "\u5168\u5c4f", -"Action": "\u64cd\u4f5c", -"Shortcut": "\u5feb\u6377\u952e", -"Help": "\u5e2e\u52a9", -"Address": "\u5730\u5740", -"Focus to menubar": "\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f", -"Focus to toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f", -"Focus to element path": "\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84", -"Focus to contextual toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355", -"Insert link (if link plugin activated)": "\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", -"Save (if save plugin activated)": "\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", -"Find (if searchreplace plugin activated)": "\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", -"Plugins installed ({0}):": "\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):", -"Premium plugins:": "\u4f18\u79c0\u63d2\u4ef6\uff1a", -"Learn more...": "\u4e86\u89e3\u66f4\u591a...", -"You are using {0}": "\u4f60\u6b63\u5728\u4f7f\u7528 {0}", -"Plugins": "\u63d2\u4ef6", -"Handy Shortcuts": "\u5feb\u6377\u952e", -"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf", -"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247", -"Image description": "\u56fe\u7247\u63cf\u8ff0", -"Source": "\u5730\u5740", -"Dimensions": "\u5927\u5c0f", -"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4", -"General": "\u666e\u901a", -"Advanced": "\u9ad8\u7ea7", -"Style": "\u6837\u5f0f", -"Vertical space": "\u5782\u76f4\u8fb9\u8ddd", -"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd", -"Border": "\u8fb9\u6846", -"Insert image": "\u63d2\u5165\u56fe\u7247", -"Image": "\u56fe\u7247", -"Image list": "\u56fe\u7247\u5217\u8868", -"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c", -"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c", -"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c", -"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c", -"Edit image": "\u7f16\u8f91\u56fe\u7247", -"Image options": "\u56fe\u7247\u9009\u9879", -"Zoom in": "\u653e\u5927", -"Zoom out": "\u7f29\u5c0f", -"Crop": "\u88c1\u526a", -"Resize": "\u8c03\u6574\u5927\u5c0f", -"Orientation": "\u65b9\u5411", -"Brightness": "\u4eae\u5ea6", -"Sharpen": "\u9510\u5316", -"Contrast": "\u5bf9\u6bd4\u5ea6", -"Color levels": "\u989c\u8272\u5c42\u6b21", -"Gamma": "\u4f3d\u9a6c\u503c", -"Invert": "\u53cd\u8f6c", -"Apply": "\u5e94\u7528", -"Back": "\u540e\u9000", -"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4", -"Date\/time": "\u65e5\u671f\/\u65f6\u95f4", -"Insert link": "\u63d2\u5165\u94fe\u63a5", -"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5", -"Text to display": "\u663e\u793a\u6587\u5b57", -"Url": "\u5730\u5740", -"Target": "\u6253\u5f00\u65b9\u5f0f", -"None": "\u65e0", -"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00", -"Remove link": "\u5220\u9664\u94fe\u63a5", -"Anchors": "\u951a\u70b9", -"Link": "\u94fe\u63a5", -"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5", -"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f", -"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f", -"Link list": "\u94fe\u63a5\u5217\u8868", -"Insert video": "\u63d2\u5165\u89c6\u9891", -"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891", -"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53", -"Alternative source": "\u955c\u50cf", -"Poster": "\u5c01\u9762", -"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:", -"Embed": "\u5185\u5d4c", -"Media": "\u5a92\u4f53", -"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c", -"Page break": "\u5206\u9875\u7b26", -"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c", -"Preview": "\u9884\u89c8", -"Print": "\u6253\u5370", -"Save": "\u4fdd\u5b58", -"Find": "\u67e5\u627e", -"Replace with": "\u66ff\u6362\u4e3a", -"Replace": "\u66ff\u6362", -"Replace all": "\u5168\u90e8\u66ff\u6362", -"Prev": "\u4e0a\u4e00\u4e2a", -"Next": "\u4e0b\u4e00\u4e2a", -"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362", -"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.", -"Match case": "\u533a\u5206\u5927\u5c0f\u5199", -"Whole words": "\u5168\u5b57\u5339\u914d", -"Spellcheck": "\u62fc\u5199\u68c0\u67e5", -"Ignore": "\u5ffd\u7565", -"Ignore all": "\u5168\u90e8\u5ffd\u7565", -"Finish": "\u5b8c\u6210", -"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178", -"Insert table": "\u63d2\u5165\u8868\u683c", -"Table properties": "\u8868\u683c\u5c5e\u6027", -"Delete table": "\u5220\u9664\u8868\u683c", -"Cell": "\u5355\u5143\u683c", -"Row": "\u884c", -"Column": "\u5217", -"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027", -"Merge cells": "\u5408\u5e76\u5355\u5143\u683c", -"Split cell": "\u62c6\u5206\u5355\u5143\u683c", -"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165", -"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165", -"Delete row": "\u5220\u9664\u884c", -"Row properties": "\u884c\u5c5e\u6027", -"Cut row": "\u526a\u5207\u884c", -"Copy row": "\u590d\u5236\u884c", -"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9", -"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9", -"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165", -"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165", -"Delete column": "\u5220\u9664\u5217", -"Cols": "\u5217", -"Rows": "\u884c", -"Width": "\u5bbd", -"Height": "\u9ad8", -"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd", -"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd", -"Caption": "\u6807\u9898", -"Left": "\u5de6\u5bf9\u9f50", -"Center": "\u5c45\u4e2d", -"Right": "\u53f3\u5bf9\u9f50", -"Cell type": "\u5355\u5143\u683c\u7c7b\u578b", -"Scope": "\u8303\u56f4", -"Alignment": "\u5bf9\u9f50\u65b9\u5f0f", -"H Align": "\u6c34\u5e73\u5bf9\u9f50", -"V Align": "\u5782\u76f4\u5bf9\u9f50", -"Top": "\u9876\u90e8\u5bf9\u9f50", -"Middle": "\u5782\u76f4\u5c45\u4e2d", -"Bottom": "\u5e95\u90e8\u5bf9\u9f50", -"Header cell": "\u8868\u5934\u5355\u5143\u683c", -"Row group": "\u884c\u7ec4", -"Column group": "\u5217\u7ec4", -"Row type": "\u884c\u7c7b\u578b", -"Header": "\u8868\u5934", -"Body": "\u8868\u4f53", -"Footer": "\u8868\u5c3e", -"Border color": "\u8fb9\u6846\u989c\u8272", -"Insert template": "\u63d2\u5165\u6a21\u677f", -"Templates": "\u6a21\u677f", -"Template": "\u6a21\u677f", -"Text color": "\u6587\u5b57\u989c\u8272", -"Background color": "\u80cc\u666f\u8272", -"Custom...": "\u81ea\u5b9a\u4e49...", -"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272", -"No color": "\u65e0", -"Table of Contents": "\u5185\u5bb9\u5217\u8868", -"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846", -"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26", -"Words: {0}": "\u5b57\u6570\uff1a{0}", -"{0} words": "{0} \u5b57", -"File": "\u6587\u4ef6", -"Edit": "\u7f16\u8f91", -"Insert": "\u63d2\u5165", -"View": "\u89c6\u56fe", -"Format": "\u683c\u5f0f", -"Table": "\u8868\u683c", -"Tools": "\u5de5\u5177", -"Powered by {0}": "\u7531{0}\u9a71\u52a8", -"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9" -}); \ No newline at end of file diff --git a/ant-design-vue-jeecg/public/tinymce/skins/lightgray/content.min.css b/ant-design-vue-jeecg/public/tinymce/skins/lightgray/content.min.css deleted file mode 100644 index 125b622b..00000000 --- a/ant-design-vue-jeecg/public/tinymce/skins/lightgray/content.min.css +++ /dev/null @@ -1,554 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - */ -.mce-content-body .mce-item-anchor { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - -ms-user-select: all; - user-select: all; - width: 8px !important; -} -.mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; -} -.tox-comments-visible .tox-comment { - background-color: #fff0b7; -} -.tox-comments-visible .tox-comment--active { - background-color: #ffe168; -} -.tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: .25em 0; - position: relative; -} -.tox-checklist > li:not(.tox-checklist--hidden)::before { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); - background-size: 100%; - content: ''; - cursor: pointer; - height: 1em; - left: -1.5em; - position: absolute; - top: .125em; - width: 1em; -} -.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); -} -/* stylelint-disable */ -/* http://prismjs.com/ */ -/** - * prism.js default theme for JavaScript, CSS and HTML - * Based on dabblet (http://dabblet.com) - * @author Lea Verou - */ -code[class*="language-"], -pre[class*="language-"] { - color: black; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: .875rem; - direction: ltr; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} -pre[class*="language-"]::-moz-selection, -pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, -code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; -} -pre[class*="language-"]::selection, -pre[class*="language-"] ::selection, -code[class*="language-"]::selection, -code[class*="language-"] ::selection { - text-shadow: none; - background: #b3d4fc; -} -@media print { - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: .5em 0; - overflow: auto; -} -:not(pre) > code[class*="language-"], -pre[class*="language-"] { - background: transparent !important; - border: 1px solid #ccc; -} -/* Inline code */ -:not(pre) > code[class*="language-"] { - padding: .1em; - border-radius: .3em; -} -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} -.token.punctuation { - color: #999; -} -.namespace { - opacity: .7; -} -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: #905; -} -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #690; -} -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #a67f59; - background: rgba(255, 255, 255, 0.5); -} -.token.atrule, -.token.attr-value, -.token.keyword { - color: #07a; -} -.token.function { - color: #DD4A68; -} -.token.regex, -.token.important, -.token.variable { - color: #e90; -} -.token.important, -.token.bold { - font-weight: bold; -} -.token.italic { - font-style: italic; -} -.token.entity { - cursor: help; -} -/* stylelint-enable */ -.mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentcolor; - position: absolute; -} -.mce-content-body .mce-visual-caret-hidden { - display: none; -} -.mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; -} -.mce-content-body .mce-offscreen-selection { - left: -9999999999px; - max-width: 1000000px; - position: absolute; -} -.mce-content-body *[contentEditable=false] { - cursor: default; -} -.mce-content-body *[contentEditable=true] { - cursor: text; -} -.tox-cursor-format-painter { - cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; -} -.mce-content-body figure.align-left { - float: left; -} -.mce-content-body figure.align-right { - float: right; -} -.mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; -} -.mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; -} -.mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; -} -.mce-preview-object[data-mce-selected="2"] .mce-shim { - display: none; -} -.mce-object { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; - border: 1px dashed #aaa; -} -.mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; -} -@media print { - .mce-pagebreak { - border: 0; - } -} -.tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; -} -.tiny-pageembed[data-mce-selected="2"] .mce-shim { - display: none; -} -.tiny-pageembed { - display: inline-block; - position: relative; -} -.tiny-pageembed--21by9, -.tiny-pageembed--16by9, -.tiny-pageembed--4by3, -.tiny-pageembed--1by1 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; -} -.tiny-pageembed--21by9::before, -.tiny-pageembed--16by9::before, -.tiny-pageembed--4by3::before, -.tiny-pageembed--1by1::before { - content: ""; - display: block; -} -.tiny-pageembed--21by9::before { - padding-top: 42.857143%; -} -.tiny-pageembed--16by9::before { - padding-top: 56.25%; -} -.tiny-pageembed--4by3::before { - padding-top: 75%; -} -.tiny-pageembed--1by1::before { - padding-top: 100%; -} -.tiny-pageembed--21by9 iframe, -.tiny-pageembed--16by9 iframe, -.tiny-pageembed--4by3 iframe, -.tiny-pageembed--1by1 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; -} -.mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 10000; -} -.mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; -} -.mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; -} -.mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; -} -.mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; -} -.mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; -} -.mce-content-body .mce-clonedresizable { - opacity: .5; - outline: 1px dashed black; - position: absolute; - z-index: 10000; -} -.mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: white; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10001; -} -.mce-match-marker { - background: #aaa; - color: #fff; -} -.mce-match-marker-selected { - background: #39f; - color: #fff; -} -.mce-content-body img[data-mce-selected], -.mce-content-body table[data-mce-selected] { - outline: 3px solid #b4d7ff; -} -.mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; -} -.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { - outline: 3px solid #b4d7ff; -} -.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { - outline: 3px solid #b4d7ff; -} -.mce-content-body *[contentEditable=false][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; -} -.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, -.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { - outline: none; -} -.mce-content-body *[data-mce-selected="inline-boundary"] { - background-color: #b4d7ff; -} -.mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; -} -.mce-content-body td[data-mce-selected], -.mce-content-body th[data-mce-selected] { - background-color: #b4d7ff !important; -} -.mce-content-body td[data-mce-selected]::-moz-selection, -.mce-content-body th[data-mce-selected]::-moz-selection { - background: none; -} -.mce-content-body td[data-mce-selected]::selection, -.mce-content-body th[data-mce-selected]::selection { - background: none; -} -.mce-content-body td[data-mce-selected] *, -.mce-content-body th[data-mce-selected] * { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.mce-content-body img::-moz-selection { - background: none; -} -.mce-content-body img::selection { - background: none; -} -.ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; -} -.ephox-snooker-resizer-cols { - cursor: col-resize; -} -.ephox-snooker-resizer-rows { - cursor: row-resize; -} -.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; -} -.mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.5'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; -} -.mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23008800'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; -} -.mce-toc { - border: 1px solid gray; -} -.mce-toc h2 { - margin: 4px; -} -.mce-toc li { - list-style-type: none; -} -.mce-item-table, -.mce-item-table td, -.mce-item-table th, -.mce-item-table caption { - border: 1px dashed #bbb; -} -.mce-visualblocks p, -.mce-visualblocks h1, -.mce-visualblocks h2, -.mce-visualblocks h3, -.mce-visualblocks h4, -.mce-visualblocks h5, -.mce-visualblocks h6, -.mce-visualblocks div:not([data-mce-bogus]), -.mce-visualblocks section, -.mce-visualblocks article, -.mce-visualblocks blockquote, -.mce-visualblocks address, -.mce-visualblocks pre, -.mce-visualblocks figure, -.mce-visualblocks figcaption, -.mce-visualblocks hgroup, -.mce-visualblocks aside, -.mce-visualblocks ul, -.mce-visualblocks ol, -.mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; -} -.mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); -} -.mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); -} -.mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); -} -.mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); -} -.mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); -} -.mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); -} -.mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); -} -.mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); -} -.mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); -} -.mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); -} -.mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); -} -.mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); -} -.mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); -} -.mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); -} -.mce-visualblocks figcaption { - border: 1px dashed #bbb; -} -.mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); -} -.mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); -} -.mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); -} -.mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); -} -.mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); -} -.mce-nbsp, -.mce-shy { - background: #aaa; -} -.mce-shy::after { - content: '-'; -} -body { - font-family: sans-serif; -} -table { - border-collapse: collapse; -} diff --git a/ant-design-vue-jeecg/public/tinymce/skins/lightgray/skin.min.css b/ant-design-vue-jeecg/public/tinymce/skins/lightgray/skin.min.css deleted file mode 100644 index 3ea9b442..00000000 --- a/ant-design-vue-jeecg/public/tinymce/skins/lightgray/skin.min.css +++ /dev/null @@ -1,2159 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - */ -.tox, -.tox *:not(svg) { - background: transparent; - border: 0; - box-sizing: content-box; - color: #222f3e; - cursor: auto; - direction: ltr; - float: none; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - font-size: 16px; - font-style: normal; - font-weight: normal; - height: auto; - line-height: normal; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - -webkit-tap-highlight-color: transparent; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; - width: auto; -} -.tox *:not(svg) { - color: inherit; - cursor: inherit; - font-size: inherit; -} -.tox-tinymce { - border: 1px solid #cccccc; - border-radius: 0; - box-shadow: none; - box-sizing: border-box; - display: flex; - flex-direction: column; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - overflow: hidden; - visibility: inherit !important; -} -.tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; -} -.tox-editor-container > *:first-child { - border-top: none !important; -} -.tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; -} -.tox-tinymce *:focus, -.tox-tinymce-aux *:focus { - outline: none; -} -button::-moz-focus-inner { - border: 0; -} -.tox-silver-sink { - z-index: 1300; -} -.tox[dir='rtl'] { - direction: rtl; -} -.tox[dir='rtl'] .tox-statusbar__resize-handle { - justify-content: flex-start; - margin-left: -8px; - margin-right: 0; - padding-left: 0; - padding-right: 1ch; -} -.tox[dir='rtl'] .tox-statusbar .tox-statusbar__path { - text-align: right; -} -.tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; -} -.tox .tox-bar { - display: flex; - flex: 0 0 auto; -} -.tox .tox-button { - background-color: #3498db; - background-image: none; - background-position: none; - background-repeat: none; - border-color: #3498db; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - font-size: 14px; - font-weight: bold; - letter-spacing: 1; - line-height: 24px; - margin: 0; - outline: none; - padding: 4px 16px; - text-align: center; - text-decoration: none; - text-transform: capitalize; - white-space: nowrap; -} -.tox .tox-button[disabled] { - background-color: #3498db; - background-image: none; - border-color: #3498db; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; -} -.tox .tox-button:focus:not(:disabled) { - background-color: #258cd1; - background-image: none; - border-color: #258cd1; - box-shadow: none; - color: #fff; -} -.tox .tox-button:hover:not(:disabled) { - background-color: #258cd1; - background-image: none; - border-color: #258cd1; - box-shadow: none; - color: #fff; -} -.tox .tox-button:active:not(:disabled) { - background-color: #217dbb; - background-image: none; - border-color: #217dbb; - box-shadow: none; - color: #fff; -} -.tox .tox-button--secondary { - background-color: #f0f0f0; - background-image: none; - background-position: none; - background-repeat: none; - border-color: #f0f0f0; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - color: #222f3e; - outline: none; - padding: 4px 16px; - text-decoration: none; - text-transform: capitalize; -} -.tox .tox-button--secondary[disabled] { - background-color: #f0f0f0; - background-image: none; - border-color: #f0f0f0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); -} -.tox .tox-button--secondary:focus:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; -} -.tox .tox-button--secondary:hover:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; -} -.tox .tox-button--secondary:active:not(:disabled) { - background-color: #d6d6d6; - background-image: none; - border-color: #d6d6d6; - box-shadow: none; - color: #222f3e; -} -.tox .tox-button--icon, -.tox .tox-button.tox-button--icon, -.tox .tox-button.tox-button--secondary.tox-button--icon { - padding: 4px; -} -.tox .tox-button--icon .tox-icon svg, -.tox .tox-button.tox-button--icon .tox-icon svg, -.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { - display: block; - fill: currentColor; -} -.tox .tox-button-link { - background: 0; - border: none; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - font-size: 16px; - font-weight: normal; - line-height: 1.3; - margin: 0; - padding: 0; - white-space: nowrap; -} -.tox .tox-button-link--sm { - font-size: 14px; -} -.tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #222f3e; -} -.tox .tox-button--naked:hover:not(:disabled) { - background-color: #e3e3e3; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; -} -.tox .tox-button--naked:focus:not(:disabled) { - background-color: #e3e3e3; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; -} -.tox .tox-button--naked:active:not(:disabled) { - background-color: #d6d6d6; - border-color: #d6d6d6; - box-shadow: none; - color: #222f3e; -} -.tox .tox-button--naked .tox-icon svg { - fill: currentColor; -} -.tox .tox-button--naked.tox-button--icon { - color: currentColor; -} -.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #222f3e; -} -.tox .tox-checkbox { - align-items: center; - border-radius: 3px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; -} -.tox .tox-checkbox__input { - /* Hide from view but visible to screen readers */ - height: 1px; - left: -10000px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; -} -.tox .tox-checkbox__icons { - border-radius: 3px; - box-shadow: 0 0 0 2px transparent; - height: 24px; - padding: calc(3px); - width: 24px; -} -.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: block; - fill: rgba(34, 47, 62, 0.3); -} -.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #3498db; -} -.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #3498db; -} -.tox .tox-checkbox__label { - margin-left: 4px; -} -.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; -} -.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; -} -.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; -} -.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; -} -.tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 3px; - box-shadow: inset 0 0 0 1px #3498db; - padding: calc(3px); -} -.tox .tox-bar .tox-checkbox { - margin-left: 4px; -} -.tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; -} -.tox .tox-collection--grid .tox-collection__group { - display: flex; - flex-wrap: wrap; - max-height: 208px; - overflow-x: hidden; - overflow-y: auto; - padding: 0; -} -.tox .tox-collection--list .tox-collection__group { - border-bottom-width: 0; - border-color: #cccccc; - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; -} -.tox .tox-collection--list .tox-collection__group:first-child { - border-top-width: 0; -} -.tox .tox-collection__group-heading { - background-color: #e6e6e6; - color: rgba(34, 47, 62, 0.6); - cursor: default; - font-size: 12px; - font-style: normal; - font-weight: normal; - margin-bottom: 4px; - margin-top: -4px; - padding: 4px 8px; - text-transform: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.tox .tox-collection__item { - align-items: center; - color: #222f3e; - cursor: pointer; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.tox .tox-collection__item--state-disabled { - background-color: unset; - color: rgba(34, 47, 62, 0.5); - cursor: default; -} -.tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; -} -.tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; -} -.tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; -} -.tox .tox-collection--list .tox-collection__item--enabled { - background-color: inherit; - color: contrast(inherit, #222f3e, #fff); -} -.tox .tox-collection--list .tox-collection__item--active { - background-color: #dee0e2; - color: #222f3e; -} -.tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; -} -.tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #dee0e2; - color: #222f3e; -} -.tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; -} -.tox .tox-collection--grid .tox-collection__item--active { - background-color: #dee0e2; - color: #222f3e; -} -.tox .tox-collection__item-icon { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; -} -.tox .tox-collection__item-icon svg { - fill: currentColor; -} -.tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; -} -.tox .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-left: 8px; -} -.tox .tox-collection__item[role="menuitemcheckbox"]:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { - display: none; -} -.tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - -ms-flex-preferred-size: auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 24px; - text-transform: none; - word-break: break-all; -} -.tox .tox-collection--list .tox-collection__item-label:first-child { - margin-left: 4px; -} -.tox .tox-collection__item-accessory { - color: rgba(34, 47, 62, 0.6); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - margin-left: 16px; - text-align: right; - text-transform: normal; -} -.tox .tox-collection__item-caret { - align-items: center; - display: flex; - margin-left: 16px; - min-height: 24px; -} -.tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; -} -.tox .tox-sv-palette { - border: 1px solid black; - box-sizing: border-box; - display: flex; - height: 100%; - margin-right: 15px; -} -.tox .tox-sv-palette-spectrum { - height: 100%; -} -.tox .tox-sv-palette, -.tox .tox-sv-palette-spectrum { - width: 225px; -} -.tox .tox-sv-palette-thumb { - background: none; - border: 1px solid black; - border-radius: 50%; - height: 12px; - position: absolute; - width: 12px; -} -.tox .tox-sv-palette-inner-thumb { - border: 1px solid white; - border-radius: 50%; - height: 10px; - position: absolute; - width: 10px; -} -.tox .tox-hue-slider { - border: 1px solid black; - box-sizing: border-box; - height: 100%; - margin-right: 15px; - width: 25px; -} -.tox .tox-hue-slider-spectrum { - background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); - height: 100%; - width: 100%; -} -.tox .tox-hue-slider, -.tox .tox-hue-slider-spectrum { - width: 20px; -} -.tox .tox-hue-slider-thumb { - background: white; - border: 1px solid black; - height: 4px; - margin-left: -1px; - width: 100%; -} -.tox .tox-rgb-form { - display: flex; - flex-direction: column; - justify-content: space-between; -} -.tox .tox-rgb-form div { - align-items: center; - display: flex; - justify-content: space-between; - margin-bottom: 5px; - width: inherit; -} -.tox .tox-rgb-form input { - width: 6em; -} -.tox .tox-rgb-form input.tox-invalid { - /* Need !important to override Chrome's focus styling unfortunately */ - border: 1px solid red !important; -} -.tox .tox-rgb-form label { - margin-right: .5em; -} -.tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid black; - flex-grow: 2; - margin-bottom: 0; -} -.tox .tox-toolbar .tox-swatches, -.tox .tox-toolbar__primary .tox-swatches, -.tox .tox-toolbar__overflow .tox-swatches { - margin: 2px 0 3px 4px; -} -.tox .tox-swatches__row { - display: flex; -} -.tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; -} -.tox .tox-swatch:hover, -.tox .tox-swatch:focus { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); -} -.tox .tox-swatch--remove { - align-items: center; - display: flex; - justify-content: center; -} -.tox .tox-swatch--remove svg path { - stroke: #e74c3c; -} -.tox .tox-swatches__picker-btn { - align-items: center; - background-color: transparent; - border: 0; - cursor: pointer; - display: flex; - height: 30px; - justify-content: center; - margin-left: auto; - outline: none; - padding: 0; - width: 30px; -} -.tox .tox-swatches__picker-btn svg { - height: 24px; - width: 24px; -} -.tox .tox-swatches__picker-btn:hover { - background: #dee0e2; -} -.tox .tox-comment-thread { - background: #fff; - position: relative; -} -.tox .tox-comment-thread > *:not(:first-child) { - margin-top: 8px; -} -.tox .tox-comment { - background: #fff; - border: 1px solid #cccccc; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; -} -.tox .tox-comment__header { - align-items: center; - color: #222f3e; - display: flex; - justify-content: space-between; -} -.tox .tox-comment__date { - color: rgba(34, 47, 62, 0.6); - font-size: 12px; -} -.tox .tox-comment__body { - color: #222f3e; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin-top: 8px; - position: relative; - text-transform: initial; -} -.tox .tox-comment__body textarea { - resize: none; - white-space: normal; - width: 100%; -} -.tox .tox-comment__expander { - padding-top: 8px; -} -.tox .tox-comment__expander p { - color: rgba(34, 47, 62, 0.6); - font-size: 14px; - font-style: normal; -} -.tox .tox-comment__body p { - margin: 0; -} -.tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; -} -.tox .tox-comment__buttonspacing > *:last-child { - margin-left: 8px; -} -.tox .tox-comment-thread__overlay::after { - background: #fff; - bottom: 0; - content: ""; - display: flex; - left: 0; - opacity: .9; - position: absolute; - right: 0; - top: 0; - z-index: 5; -} -.tox .tox-comment__reply { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 8px; -} -.tox .tox-comment__reply > *:first-child { - margin-bottom: 8px; - width: 100%; -} -.tox .tox-comment__reply > *:last-child { - margin-left: 8px; -} -.tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-left: 8px; - margin-top: 16px; -} -.tox .tox-comment__edit > *:last-child { - margin-left: 8px; -} -.tox .tox-comment__gradient::after { - background: linear-gradient(rgba(255, 255, 255, 0), #fff); - bottom: 0; - content: ""; - display: block; - height: 5em; - margin-top: -40px; - position: absolute; - width: 100%; -} -.tox .tox-comment__overlay { - background: #fff; - bottom: 0; - display: flex; - flex-direction: column; - flex-grow: 1; - left: 0; - opacity: .9; - position: absolute; - right: 0; - text-align: center; - top: 0; - z-index: 5; -} -.tox .tox-comment__loading-text { - align-items: center; - color: #222f3e; - display: flex; - flex-direction: column; - position: relative; -} -.tox .tox-comment__loading-text > div { - padding-bottom: 16px; -} -.tox .tox-comment__overlaytext { - bottom: 0; - flex-direction: column; - font-size: 14px; - left: 0; - padding: 1em; - position: absolute; - right: 0; - top: 0; - z-index: 10; -} -.tox .tox-comment__overlaytext p { - background-color: #fff; - box-shadow: 0 0 8px 8px #fff; - color: #222f3e; - text-align: center; -} -.tox .tox-comment__overlaytext div:nth-of-type(2) { - font-size: .8em; -} -.tox .tox-comment__busy-spinner { - align-items: center; - background-color: #fff; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1103; -} -.tox .tox-comment__scroll { - display: flex; - flex-direction: column; - flex-shrink: 1; - overflow: auto; -} -.tox .tox-conversations { - margin: 8px; -} -.tox .tox-user { - align-items: center; - display: flex; -} -.tox .tox-user__avatar svg { - fill: rgba(34, 47, 62, 0.6); - margin-right: 8px; -} -.tox .tox-user__name { - color: rgba(34, 47, 62, 0.6); - font-size: 12px; - font-style: normal; - font-weight: bold; - text-transform: uppercase; -} -.tox .tox-user__avatar + .tox-user__name { - margin-left: 8px; -} -.tox .tox-dialog-wrap { - align-items: center; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: fixed; - right: 0; - top: 0; - z-index: 1100; -} -.tox .tox-dialog-wrap__backdrop { - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1101; -} -.tox .tox-dialog { - background-color: #fff; - border-color: #cccccc; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); - display: flex; - flex-direction: column; - max-height: 100%; - max-width: 480px; - overflow: hidden; - position: relative; - width: 95vw; - z-index: 1102; -} -.tox .tox-dialog__header { - align-items: center; - background-color: #fff; - border-bottom: none; - color: #222f3e; - display: flex; - font-size: 16px; - justify-content: space-between; - margin-bottom: 16px; - padding: 8px 16px 0 16px; - position: relative; -} -.tox .tox-dialog__header .tox-button { - z-index: 1; -} -.tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; -} -.tox .tox-dialog__draghandle:active { - cursor: grabbing; -} -.tox .tox-dialog__dismiss { - margin-left: auto; -} -.tox .tox-dialog__title { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - font-size: 20px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin: 0; - text-transform: normal; -} -.tox .tox-dialog__body { - color: #222f3e; - display: flex; - flex: 1; - -ms-flex-preferred-size: auto; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - padding: 0 16px; - text-align: left; - text-transform: normal; -} -.tox .tox-dialog__body-nav { - align-items: flex-start; - display: flex; - flex-direction: column; - margin-right: 32px; -} -.tox .tox-dialog__body-nav-item { - border-bottom: 2px solid transparent; - color: rgba(34, 47, 62, 0.6); - display: inline-block; - font-size: 14px; - line-height: 1.3; - margin-bottom: 8px; - text-decoration: none; -} -.tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #3498db; - color: #3498db; -} -.tox .tox-dialog__body-content { - display: flex; - flex: 1; - flex-direction: column; - -ms-flex-preferred-size: auto; - max-height: 650px; - overflow: auto; -} -.tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; -} -.tox .tox-dialog__body-content > *:first-child { - margin-top: 0; -} -.tox .tox-dialog__body-content > *:last-child { - margin-bottom: 0; -} -.tox .tox-dialog__body-content > *:only-child { - margin-bottom: 0; - margin-top: 0; -} -.tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; -} -.tox .tox-dialog--width-md { - max-width: 800px; -} -.tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; -} -.tox .tox-dialog__body-content--centered { - text-align: center; -} -.tox .tox-dialog__body-content--spacious { - margin-bottom: 16px; -} -.tox .tox-dialog__footer { - align-items: center; - background-color: #fff; - border-top: 1px solid #cccccc; - display: flex; - justify-content: space-between; - margin-top: 16px; - padding: 8px 16px; -} -.tox .tox-dialog__footer .tox-dialog__footer-start > *, -.tox .tox-dialog__footer .tox-dialog__footer-end > * { - margin-left: 8px; -} -.tox .tox-dialog__busy-spinner { - align-items: center; - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1103; -} -.tox .tox-dialog__table { - border-collapse: collapse; - width: 100%; -} -.tox .tox-dialog__table thead th { - font-weight: bold; - padding-bottom: 8px; -} -.tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #cccccc; -} -.tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; -} -.tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; -} -.tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; -} -body.tox-dialog__disable-scroll { - overflow: hidden; -} -.tox .tox-dropzone-container { - display: flex; - flex: 1; - -ms-flex-preferred-size: auto; -} -.tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #cccccc; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; -} -.tox .tox-dropzone p { - color: rgba(34, 47, 62, 0.6); - margin: 0 0 16px 0; -} -.tox .tox-edit-area { - border-top: 1px solid #cccccc; - display: flex; - flex: 1; - -ms-flex-preferred-size: auto; - overflow: hidden; - position: relative; -} -.tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - -ms-flex-preferred-size: auto; - height: 100%; - position: absolute; - width: 100%; -} -.tox.tox-inline-edit-area { - border: 1px dotted #cccccc; -} -.tox .tox-control-wrap { - flex: 1; - position: relative; -} -.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, -.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, -.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { - display: none; -} -.tox .tox-control-wrap svg { - display: block; -} -.tox .tox-control-wrap .tox-textfield { - padding-right: 32px; -} -.tox .tox-control-wrap__status-icon-wrap { - position: absolute; - right: 4px; - top: 50%; - transform: translateY(-50%); -} -.tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; -} -.tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; -} -.tox .tox-control-wrap__status-icon-valid svg { - fill: transparent; -} -.tox .tox-autocompleter { - max-width: 25em; -} -.tox .tox-autocompleter .tox-menu { - max-width: 25em; -} -.tox .tox-color-input { - display: flex; -} -.tox .tox-color-input .tox-textfield { - border-radius: 3px 0 0 3px; - display: flex; -} -.tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 0 3px 3px 0; - border-style: solid; - border-width: 1px 1px 1px 0; - box-shadow: none; - box-sizing: border-box; - cursor: pointer; - display: flex; - width: 35px; -} -.tox .tox-color-input span:focus { - border-color: #3498db; -} -.tox .tox-label, -.tox .tox-toolbar-label { - color: rgba(34, 47, 62, 0.6); - display: block; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: normal; - white-space: nowrap; -} -.tox .tox-toolbar-label { - padding: 0 8px; -} -.tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; - -ms-flex-preferred-size: auto; -} -.tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; -} -.tox .tox-form__group--error { - color: #c00; -} -.tox .tox-form__group--collection { - display: flex; -} -.tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; -} -.tox .tox-form__grid--2col > .tox-form__group { - width: calc(50% - (8px / 2)); -} -.tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); -} -.tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); -} -.tox .tox-form__controls-h-stack { - align-items: center; - display: flex; -} -.tox .tox-form__controls-h-stack > *:not(:first-child) { - margin-left: 4px; -} -.tox .tox-form__group--inline { - align-items: center; - display: flex; -} -.tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; - -ms-flex-preferred-size: auto; -} -.tox .tox-form__group--stretched .tox-textarea { - flex: 1; - -ms-flex-preferred-size: auto; -} -.tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; - -ms-flex-preferred-size: auto; -} -.tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - -ms-flex-preferred-size: auto; - height: 100%; -} -.tox .tox-lock.tox-locked .tox-lock-icon__unlock, -.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; -} -.tox .tox-selectfield { - cursor: pointer; - position: relative; -} -.tox .tox-selectfield select { - padding-right: 24px; -} -.tox .tox-selectfield select::-ms-expand { - display: none; -} -.tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - right: 8px; - top: 50%; - transform: translateY(-50%); -} -.tox .tox-textarea { - white-space: pre-wrap; -} -.tox .tox-textfield, -.tox .tox-selectfield select, -.tox .tox-textarea, -.tox .tox-toolbar-textfield { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #cccccc; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #222f3e; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - outline: none; - padding: 5px 4.75px; - resize: none; - width: 100%; -} -.tox .tox-textfield:focus, -.tox .tox-selectfield select:focus, -.tox .tox-textarea:focus { - border-color: #3498db; - box-shadow: none; - outline: none; -} -.tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; -} -.tox .tox-toolbar-textfield + * { - margin-left: 4px; -} -.tox .tox-naked-btn { - background-color: transparent; - border: 0; - border-color: transparent; - box-shadow: unset; - color: #3498db; - cursor: pointer; - display: block; - margin: 0; - padding: 0; -} -.tox .tox-naked-btn svg { - display: block; - fill: #222f3e; -} -.tox-fullscreen { - border: 0; - height: 100%; - left: 0; - margin: 0; - overflow: hidden; - padding: 0; - position: fixed; - top: 0; - width: 100%; -} -.tox-fullscreen .tox .tox-statusbar__resize-handle { - display: none; -} -.tox-fullscreen .tox.tox-tinymce { - z-index: 1200; -} -.tox-fullscreen .tox.tox-tinymce-aux { - z-index: 1201; -} -.tox .tox-image-tools { - width: 100%; -} -.tox .tox-image-tools__toolbar { - align-items: center; - display: flex; - justify-content: center; -} -.tox .tox-image-tools__image { - background-color: #666; - height: 380px; - overflow: auto; - position: relative; - width: 100%; -} -.tox .tox-image-tools__image, -.tox .tox-image-tools__image + .tox-image-tools__toolbar { - margin-top: 8px; -} -.tox .tox-image-tools__image-bg { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); -} -.tox .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { - margin-left: 8px; -} -.tox .tox-image-tools__toolbar > .tox-button + .tox-slider { - margin-left: 32px; -} -.tox .tox-image-tools__toolbar > .tox-slider + .tox-button { - margin-left: 32px; -} -.tox .tox-image-tools__toolbar > .tox-spacer { - flex: 1; - -ms-flex-preferred-size: auto; -} -.tox .tox-croprect-block { - background: black; - filter: alpha(opacity=50); - opacity: .5; - position: absolute; - zoom: 1; -} -.tox .tox-croprect-handle { - border: 2px solid white; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; -} -.tox .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; -} -.tox .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; -} -.tox .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; -} -.tox .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; -} -.tox .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; -} -.tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 169px; -} -.tox .tox-insert-table-picker > div { - border-color: #cccccc; - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: content-box; - height: 16px; - width: 16px; -} -.tox .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; -} -.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px 0; -} -.tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(52, 152, 219, 0.5); - border-color: rgba(52, 152, 219, 0.5); -} -.tox .tox-insert-table-picker__label { - color: rgba(34, 47, 62, 0.6); - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; -} -.tox { - /* stylelint-disable */ - /* stylelint-enable */ -} -.tox .tox-menu { - background-color: #fff; - border: 1px solid #cccccc; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1; -} -.tox .tox-menu.tox-collection.tox-collection--list { - padding: 0; -} -.tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 4px; -} -.tox .tox-menu.tox-collection.tox-collection--grid { - padding: 4px; -} -.tox .tox-menu__label h1, -.tox .tox-menu__label h2, -.tox .tox-menu__label h3, -.tox .tox-menu__label h4, -.tox .tox-menu__label h5, -.tox .tox-menu__label h6, -.tox .tox-menu__label p, -.tox .tox-menu__label blockquote, -.tox .tox-menu__label code { - margin: 0; -} -.tox .tox-menubar { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='43px' viewBox='0 0 40 43px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='42px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff; - background-color: #fff; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - margin-bottom: -1px; - padding: 0 4px; -} -.tox .tox-mbtn { - align-items: center; - background: none; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 34px; - justify-content: center; - margin: 2px 0 3px 0; - outline: none; - overflow: hidden; - padding: 0 4px; - text-transform: normal; - width: auto; -} -.tox .tox-mbtn[disabled] { - background-color: none; - border-color: none; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; -} -.tox .tox-mbtn:hover:not(:disabled) { - background: #dee0e2; - box-shadow: none; - color: #222f3e; -} -.tox .tox-mbtn:focus:not(:disabled) { - background: #dee0e2; - box-shadow: none; - color: #222f3e; -} -.tox .tox-mbtn--active { - background: #c8cbcf; - box-shadow: none; - color: #222f3e; -} -.tox .tox-mbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; -} -.tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; -} -.tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; -} -.tox .tox-notification { - background-color: #fff; - border-color: #c5c5c5; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - display: -ms-grid; - display: grid; - -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 5px; - opacity: 0; - padding: 5px; - transition: transform 100ms ease-in, opacity 150ms ease-in; -} -.tox .tox-notification--in { - opacity: 1; -} -.tox .tox-notification--success { - background-color: #dff0d8; - border-color: #d6e9c6; -} -.tox .tox-notification--error { - background-color: #f2dede; - border-color: #ebccd1; -} -.tox .tox-notification--warn { - background-color: #fcf8e3; - border-color: #faebcc; -} -.tox .tox-notification--info { - background-color: #d9edf7; - border-color: #779ecb; -} -.tox .tox-notification__body { - -ms-grid-row-align: center; - align-self: center; - color: #31708f; - font-size: 14px; - grid-column-end: 3; - -ms-grid-column-span: 1; - -ms-grid-column: 2; - grid-column-start: 2; - grid-row-end: 2; - -ms-grid-row: 1; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; -} -.tox .tox-notification__body > * { - margin: 0; -} -.tox .tox-notification__body > * + * { - margin-top: 1rem; -} -.tox .tox-notification__icon { - -ms-grid-row-align: center; - align-self: center; - -ms-grid-column-align: end; - grid-column-end: 2; - -ms-grid-column-span: 1; - -ms-grid-column: 1; - grid-column-start: 1; - grid-row-end: 2; - -ms-grid-row: 1; - grid-row-start: 1; - justify-self: end; -} -.tox .tox-notification__icon svg { - display: block; -} -.tox .tox-notification__dismiss { - -ms-grid-row-align: start; - align-self: start; - -ms-grid-column-align: end; - grid-column-end: 4; - -ms-grid-column-span: 1; - -ms-grid-column: 3; - grid-column-start: 3; - grid-row-end: 2; - -ms-grid-row: 1; - grid-row-start: 1; - justify-self: end; -} -.tox .tox-notification .tox-progress-bar { - -ms-grid-column-align: center; - grid-column-end: 4; - -ms-grid-column-span: 3; - -ms-grid-column: 1; - grid-column-start: 1; - grid-row-end: 3; - -ms-grid-row-span: 1; - -ms-grid-row: 2; - grid-row-start: 2; - justify-self: center; -} -.tox .tox-pop { - display: inline-block; - position: relative; -} -.tox .tox-pop--resizing { - transition: width .1s ease; -} -.tox .tox-pop--resizing .tox-toolbar { - flex-wrap: nowrap; -} -.tox .tox-pop__dialog { - background-color: #fff; - border: 1px solid #cccccc; - border-radius: 3px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); - min-width: 0; - overflow: hidden; -} -.tox .tox-pop__dialog > *:not(.tox-toolbar) { - margin: 4px 4px 4px 8px; -} -.tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; -} -.tox .tox-pop::before, -.tox .tox-pop::after { - border-style: solid; - content: ''; - display: block; - height: 0; - position: absolute; - width: 0; -} -.tox .tox-pop.tox-pop--bottom::before, -.tox .tox-pop.tox-pop--bottom::after { - left: 50%; - top: 100%; -} -.tox .tox-pop.tox-pop--bottom::after { - border-color: #fff transparent transparent transparent; - border-width: 8px; - margin-left: -8px; - margin-top: -1px; -} -.tox .tox-pop.tox-pop--bottom::before { - border-color: #cccccc transparent transparent transparent; - border-width: 9px; - margin-left: -9px; -} -.tox .tox-pop.tox-pop--top::before, -.tox .tox-pop.tox-pop--top::after { - left: 50%; - top: 0; - transform: translateY(-100%); -} -.tox .tox-pop.tox-pop--top::after { - border-color: transparent transparent #fff transparent; - border-width: 8px; - margin-left: -8px; - margin-top: 1px; -} -.tox .tox-pop.tox-pop--top::before { - border-color: transparent transparent #cccccc transparent; - border-width: 9px; - margin-left: -9px; -} -.tox .tox-pop.tox-pop--left::before, -.tox .tox-pop.tox-pop--left::after { - left: 0; - top: calc(50% - 1px); - transform: translateY(-50%); -} -.tox .tox-pop.tox-pop--left::after { - border-color: transparent #fff transparent transparent; - border-width: 8px; - margin-left: -15px; -} -.tox .tox-pop.tox-pop--left::before { - border-color: transparent #cccccc transparent transparent; - border-width: 10px; - margin-left: -19px; -} -.tox .tox-pop.tox-pop--right::before, -.tox .tox-pop.tox-pop--right::after { - left: 100%; - top: calc(50% + 1px); - transform: translateY(-50%); -} -.tox .tox-pop.tox-pop--right::after { - border-color: transparent transparent transparent #fff; - border-width: 8px; - margin-left: -1px; -} -.tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #cccccc; - border-width: 10px; - margin-left: -1px; -} -.tox .tox-pop.tox-pop--align-left::before, -.tox .tox-pop.tox-pop--align-left::after { - left: 20px; -} -.tox .tox-pop.tox-pop--align-right::before, -.tox .tox-pop.tox-pop--align-right::after { - left: calc(100% - 20px); -} -.tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; -} -.tox .tox-sidebar { - display: flex; - flex-direction: row; - justify-content: flex-end; -} -.tox .tox-sidebar__slider { - display: flex; - overflow: hidden; -} -.tox .tox-sidebar__pane-container { - display: flex; -} -.tox .tox-sidebar__pane { - display: flex; -} -.tox .tox-sidebar--sliding-closed { - opacity: 0; -} -.tox .tox-sidebar--sliding-open { - opacity: 1; -} -.tox .tox-sidebar--sliding-growing, -.tox .tox-sidebar--sliding-shrinking { - transition: width .5s ease, opacity .5s ease; -} -.tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - -ms-flex-preferred-size: auto; - height: 24px; - justify-content: center; - position: relative; -} -.tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #cccccc; - border-radius: 6px; - height: 6px; - min-width: 120px; - width: 100%; -} -.tox .tox-slider__handle { - background-color: #3498db; - border-radius: 1.5px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 3px; -} -.tox .tox-source-code { - overflow: auto; -} -.tox .tox-spinner { - display: flex; -} -.tox .tox-spinner > div { - animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; - background-color: rgba(34, 47, 62, 0.6); - border-radius: 100%; - height: 8px; - width: 8px; -} -.tox .tox-spinner > div:nth-child(1) { - animation-delay: -0.32s; -} -.tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; -} -.tox .tox-spinner > div:not(:first-child) { - margin-left: 4px; -} -@keyframes tam-bouncing-dots { - 0%, - 80%, - 100% { - transform: scale(0); - } - 40% { - transform: scale(1); - } -} -.tox .tox-statusbar { - align-items: center; - background-color: #fff; - border-top: 1px solid #cccccc; - color: rgba(34, 47, 62, 0.6); - display: flex; - flex: 0 0 auto; - font-size: 12px; - height: 18px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: uppercase; -} -.tox .tox-statusbar a { - color: rgba(34, 47, 62, 0.6); - text-decoration: none; -} -.tox .tox-statusbar a:hover { - text-decoration: underline; -} -.tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; -} -.tox .tox-statusbar__path { - display: flex; - flex: 1 1 auto; - margin-right: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.tox .tox-statusbar__path > * { - display: inline; - margin-right: 4px; - white-space: nowrap; -} -.tox .tox-statusbar__wordcount, -.tox .tox-statusbar__branding { - flex: 0 0 auto; - margin-left: 1ch; -} -.tox .tox-statusbar__resize-handle { - align-items: flex-end; - align-self: stretch; - cursor: nwse-resize; - display: flex; - flex: 0 0 auto; - justify-content: flex-end; - margin-left: auto; - margin-right: -8px; - padding-left: 1ch; -} -.tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(34, 47, 62, 0.6); -} -.tox .tox-tbtn { - align-items: center; - background: none; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 34px; - justify-content: center; - margin: 2px 0 3px 0; - outline: none; - overflow: hidden; - padding: 0; - text-transform: normal; - width: 34px; -} -.tox .tox-tbtn svg { - display: block; - fill: #222f3e; -} -.tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; -} -.tox .tox-tbtn + .tox-tbtn { - margin-left: 0; -} -.tox .tox-tbtn--enabled { - background: #c8cbcf; - box-shadow: none; - color: #222f3e; -} -.tox .tox-tbtn--enabled > * { - transform: none; -} -.tox .tox-tbtn--enabled svg { - fill: #222f3e; -} -.tox .tox-tbtn:hover { - background: #dee0e2; - box-shadow: none; - color: #222f3e; -} -.tox .tox-tbtn:hover svg { - fill: #222f3e; -} -.tox .tox-tbtn:focus { - background: #dee0e2; - box-shadow: none; - color: #222f3e; -} -.tox .tox-tbtn:focus svg { - fill: #222f3e; -} -.tox .tox-tbtn:active { - background: #c8cbcf; - box-shadow: none; - color: #222f3e; -} -.tox .tox-tbtn:active svg { - fill: #222f3e; -} -.tox .tox-tbtn--disabled, -.tox .tox-tbtn--disabled:hover, -.tox .tox-tbtn:disabled, -.tox .tox-tbtn:disabled:hover { - background: none; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; -} -.tox .tox-tbtn--disabled svg, -.tox .tox-tbtn--disabled:hover svg, -.tox .tox-tbtn:disabled svg, -.tox .tox-tbtn:disabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: rgba(34, 47, 62, 0.5); -} -.tox .tox-tbtn:active > * { - transform: none; -} -.tox .tox-tbtn--md { - height: 51px; - width: 51px; -} -.tox .tox-tbtn--lg { - flex-direction: column; - height: 68px; - width: 68px; -} -.tox .tox-tbtn--return { - -ms-grid-row-align: stretch; - align-self: stretch; - height: unset; - width: 16px; -} -.tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; -} -.tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: normal; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; -} -.tox .tox-tbtn--select { - margin: 2px 0 3px 0; - padding: 0 4px; - width: auto; -} -.tox .tox-tbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; -} -.tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; -} -.tox .tox-tbtn__select-chevron svg { - fill: rgba(34, 47, 62, 0.6); -} -.tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; -} -.tox .tox-split-button { - border: 0; - border-radius: 3px; - box-sizing: border-box; - display: flex; - margin: 2px 0 3px 0; - overflow: hidden; -} -.tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #dee0e2 inset; -} -.tox .tox-split-button:focus { - background: #dee0e2; - box-shadow: none; - color: #222f3e; -} -.tox .tox-split-button > * { - border-radius: 0; -} -.tox .tox-split-button__chevron { - width: 16px; -} -.tox .tox-split-button__chevron svg { - fill: rgba(34, 47, 62, 0.6); -} -.tox .tox-pop .tox-split-button__chevron svg { - transform: rotate(-90deg); -} -.tox .tox-split-button .tox-tbtn { - margin: 0; -} -.tox .tox-split-button.tox-tbtn--disabled:hover, -.tox .tox-split-button.tox-tbtn--disabled:focus, -.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, -.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { - background: none; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); -} -.tox .tox-toolbar, -.tox .tox-toolbar__primary, -.tox .tox-toolbar__overflow { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff; - background-color: #fff; - border-top: 1px solid #cccccc; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - margin-bottom: -1px; - padding: 0 0; -} -.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - display: none; -} -.tox .tox-pop .tox-toolbar { - border-width: 0; -} -.tox .tox-toolbar--no-divider { - background-image: none; -} -.tox.tox-tinymce-aux .tox-toolbar__overflow { - border-left: 1px solid #cccccc; - border-radius: 6px; - border-right: 1px solid #cccccc; -} -.tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 4px; -} -.tox .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid #cccccc; -} -.tox .tox-toolbar__group--pull-right { - margin-left: auto; -} -.tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; -} -.tox .tox-tooltip__body { - background-color: #222f3e; - border-radius: 3px; - box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); - color: rgba(255, 255, 255, 0.75); - font-size: 14px; - font-style: normal; - font-weight: normal; - padding: 4px 8px; - text-transform: normal; -} -.tox .tox-tooltip__arrow { - position: absolute; -} -.tox .tox-tooltip--down .tox-tooltip__arrow { - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-top: 8px solid #222f3e; - bottom: 0; - left: 50%; - position: absolute; - transform: translateX(-50%); -} -.tox .tox-tooltip--up .tox-tooltip__arrow { - border-bottom: 8px solid #222f3e; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - left: 50%; - position: absolute; - top: 0; - transform: translateX(-50%); -} -.tox .tox-tooltip--right .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-left: 8px solid #222f3e; - border-top: 8px solid transparent; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); -} -.tox .tox-tooltip--left .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-right: 8px solid #222f3e; - border-top: 8px solid transparent; - left: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); -} -.tox .tox-well { - border: 1px solid #cccccc; - border-radius: 3px; - padding: 8px; - width: 100%; -} -.tox .tox-well > *:first-child { - margin-top: 0; -} -.tox .tox-well > *:last-child { - margin-bottom: 0; -} -.tox .tox-well > *:only-child { - margin: 0; -} -.tox .tox-custom-editor { - border: 1px solid #cccccc; - border-radius: 3px; - display: flex; - height: 525px; -} -/* stylelint-disable */ -.tox { - /* stylelint-enable */ -} -.tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ""; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; -} -.tox .tox-tab { - cursor: pointer; -} -.tox .tox-dialog__content-js { - display: flex; - flex: 1; - -ms-flex-preferred-size: auto; -} -.tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; - -ms-flex-preferred-size: auto; -} -.tox ul { - display: block; - list-style-type: disc; - -webkit-margin-before: 1em; - margin-block-start: 1em; - -webkit-margin-after: 1em; - margin-block-end: 1em; - -webkit-margin-start: 0px; - margin-inline-start: 0px; - -webkit-margin-end: 0px; - margin-inline-end: 0px; - -webkit-padding-start: 40px; - padding-inline-start: 40px; -} -.tox a { - cursor: pointer; - color: #2276d2; -} -.tox .tox-image-tools-edit-panel { - height: 60px; -} -.tox .tox-image-tools__sidebar { - height: 60px; -} diff --git a/ant-design-vue-jeecg/public/v2.js b/ant-design-vue-jeecg/public/v2.js deleted file mode 100644 index ce047282..00000000 --- a/ant-design-vue-jeecg/public/v2.js +++ /dev/null @@ -1 +0,0 @@ -!function(){"use strict";function e(e){return e===undefined||null===e}function t(e){return e!==undefined&&null!==e}function n(e){return null!==e&&"object"===(void 0===e?"undefined":d(e))}function r(e){return"object"===(void 0===e?"undefined":d(e))&&e instanceof HTMLElement}function o(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function i(){return new RegExp("MSIE (\\d+\\.\\d+);").test(navigator.userAgent),parseFloat(RegExp.$1)||Infinity}function a(e,t){for(var n in t)e[n]=t[n];return e}function c(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function u(e){return p.call(e).slice(8,-1)}function s(e){throw new Error("Vaptcha error: "+e)}function l(e){var t=e.mode,n=e.outage;return!!t&&"downtime"===(t=t.toLowerCase())&&!!n}function Promise(e){var t=this;this.state="pending",this.value=undefined,this.reason=undefined,this.onResolveAsyncCallbacks=[],this.onRejectAsyncCallbacks=[];var n=function(e){"pending"===t.state&&(t.state="fulfilled",t.value=e,t.onResolveAsyncCallbacks.map(function(e){return e()}))},r=function(e){"pending"===t.state&&(t.state="rejected",t.reason=e,t.onRejectAsyncCallbacks.map(function(t){return t(e)}))};try{e(n,r)}catch(o){r(o)}}window.HTMLElement=window.HTMLElement||Element,Array.prototype.map||(Array.prototype.map=function(e,t){var n,r,o;if(null==this)throw new TypeError(" this is null or not defined");var i=Object(this),a=i.length>>>0;if("[object Function]"!=Object.prototype.toString.call(e))throw new TypeError(e+" is not a function");for(t&&(n=t),r=new Array(a),o=0;o>>0;if(0===r)return!1;for(var o=0|t,i=Math.max(o>=0?o:r-Math.abs(o),0);i>>0;if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var r=arguments[1],o=0;o-1||r.indexOf("https://")>-1;return r.indexOf("?")<0&&(i="?"+i.slice(1)),a?""+r+i:""+e+t+r+i},o=function(e){var t=document.getElementsByTagName("head")[0],n=document.createElement("script");return n.charset="UTF-8",n.src=e,t.appendChild(n),{remove:function(){t.removeChild(n)}}},i=function(e,t){return t=t||{},new Promise(function(n){var i="VaptchaJsonp"+(new Date).valueOf();window[i]&&(i+="1"),a(t,{callback:i}),e=r(e,t);var c=o(e),u=setTimeout(function(){clearTimeout(u),window[i]=null,c.remove(),n({code:"0703",msg:"Time out,Refresh Again!"})},1e4);window[i]=function(){clearTimeout(u),n.apply(this,arguments),c.remove(),window[i]=null}})};return i.setConfig=function(n){e=n.protocol||e,t=n.api_server||t},i}(),g={getConfig:function(e){return y("/config",{id:e.vid,type:e.type,scene:e.scene||""})},refresh:function(e){return y("/refresh",e)},click:function(e){return y("/click",e)},get:function(e){return y("/get",e)},verify:function(e){return y("/verify",e)},userbehavior:function(e){return y("/userbehavior",e)}},w={"0201":"id empty","0202":"id error","0208":"scene error","0209":"request used up","0906":"params error","0702":"domain not match"},b=function(){var o=!1,c=function(e){var t=new v(e);return t.add("outage","required","please configure outage"),t.validate(),a(e,{js_path:"vaptcha-sdk-downtime.2.0.2.js",api_server:window.location.host,protocol:window.location.protocol+"//",mode:"DownTime"}),y.setConfig(e),y(e.outage,{action:"get"}).then(function(t){return t.code!==m.Success?(s(w[t.msg]||t.msg),Promise.reject(t.code)):(a(e,t),Promise.resolve())})},f=function(e){return l(e)?c(e):g.getConfig(e).then(function(t){return t.code!==m.Success?(s(w[t.msg]||t.msg),Promise.reject(t.code)):(t.type!==e.type&&(t.mode=t.type,t.type=e.type),a(e,t),l(e)?c(e):Promise.resolve())})},d=function(e,t){return""+e.protocol+e.cdn_servers[0]+"/"+t},p=function(t){var n=document.getElementsByTagName("head")[0],r=document.getElementById("vaptcha_style");return new Promise(function(o){e(r)?(r=document.createElement("link"),a(r,{rel:"stylesheet",type:"text/css",href:t,id:"vaptcha_style",onload:o}),n&&n.appendChild(r)):o()})},b=function C(e){var n=document.getElementsByTagName("head")[0],r=document.querySelector("script[src='"+e+"']");return new Promise(function(o){if(t(r))return void(r.loaded?o():setTimeout(function(){return C(e).then(o)}));r=document.createElement("script");var i=function(){r.readyState&&"loaded"!==r.readyState&&"complete"!==r.readyState||(o(),r.loaded=!0,r.onload=null,r.onreadystatechange=null)};a(r,{async:!0,charset:"utf-8",src:e,onerror:function(){return s("load sdk timeout")},onload:i,onreadystatechange:i}),n.appendChild(r)})},j=function T(e){var t=e.sdkName,n=e.config,r=d(n,n.js_path);return b(r).then(function(){var e=window["_"+h(t)+"Vaptcha"],r=new e(n);return r.vaptcha.resetCaptcha=function(e,t){a(n,t),T({sdkName:e,config:n}).then(function(e){r.destroy(),r.options=e.options,r.vaptcha=e.vaptcha,e.render(),"character"===n.mode&&["click","float","popup"].includes(n.type)&&e.vaptcha.dtClickCb({target:e.vaptcha.btnDiv})})},Promise.resolve(r)})},A=function(e){o=!0,e.https=!0,e.protocol="https://",y.setConfig(e),!["embed","popup","invisible"].includes(e.type)&&(e.type="popup"),i()<9&&b(d(e,e.canvas_path));var t=new v(e);if(t.addValidateRules({elementOrSelector:function(t,o){if("String"===u(e.container)&&(e.container=document.querySelector(e.container)),n(e.container)&&r(e.container[0])&&(e.container=e.container[0]),!r(e.container))return o}}),t.add("vid","required","please configure vid"),"invisible"!==e.type&&t.add("container","elementOrSelector","please configure container with element or selector"),t.validate())return f(e).then(function(){var t="theme_https."+e.css_version+".css",n=d(e,t);return p(n)}).then(function(){var t=e.mode||e.type;return o=!1,j({sdkName:t,config:e})})};return function S(e){return new Promise(function(t){o?setTimeout(function(){S(e).then(t)},1e3):A(e).then(t)})["catch"](function(e){return o=!1,s(e),Promise.reject(e)})}}(),j=function(){var e=function(e){var n=e.getAttribute("data-config"),r={};if(t(n))try{r=JSON.parse(n)}catch(o){s("dom config format error")}return r},n=function(e){var n=e.getAttribute("data-vid");return t(n)?{vid:n}:{}},r=function(e,n){var r=Object.create(f);r.container=e,a(r,n),t(r.vid)&&b(r).then(function(e){e.renderTokenInput(),e.render()})};return function(){for(var t=document.querySelectorAll("[data-vid]"),o=document.querySelectorAll("[data-config]"),i=0;i - -

    - -
    - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/api/GroupRequest.js b/ant-design-vue-jeecg/src/api/GroupRequest.js deleted file mode 100644 index 26881387..00000000 --- a/ant-design-vue-jeecg/src/api/GroupRequest.js +++ /dev/null @@ -1,30 +0,0 @@ -import Vue from 'vue' - -/** - * 将一个请求分组 - * - * @param getPromise 传入一个可以获取到Promise对象的方法 - * @param groupId 分组ID,如果不传或者为空则不分组 - * @param expire 过期时间,默认 半分钟 - */ -export function httpGroupRequest(getPromise, groupId, expire = 1000 * 30) { - if (groupId == null || groupId === '') { - console.log("--------popup----------getFrom DB-------with---no--groupId ") - return getPromise() - } - - if (Vue.ls.get(groupId)) { - console.log("---------popup--------getFrom Cache--------groupId = " + groupId) - return Promise.resolve(Vue.ls.get(groupId)); - } else { - console.log("--------popup----------getFrom DB---------groupId = " + groupId) - } - - // 还没有发出请求,就发出第一次的请求 - return getPromise().then(res => { - Vue.ls.set(groupId, res, expire); - return Promise.resolve(res); - }) -} - - diff --git a/ant-design-vue-jeecg/src/api/api.js b/ant-design-vue-jeecg/src/api/api.js deleted file mode 100644 index d03d7624..00000000 --- a/ant-design-vue-jeecg/src/api/api.js +++ /dev/null @@ -1,162 +0,0 @@ -import { getAction, deleteAction, putAction, postAction, httpAction } from '@/api/manage' -import Vue from 'vue' -import {UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types" - -//角色管理 -const addRole = (params)=>postAction("/sys/role/add",params); -const editRole = (params)=>putAction("/sys/role/edit",params); -const checkRoleCode = (params)=>getAction("/sys/role/checkRoleCode",params); -const queryall = (params)=>getAction("/sys/role/queryall",params); - -//用户管理 -const addUser = (params)=>postAction("/sys/user/add",params); -const editUser = (params)=>putAction("/sys/user/edit",params); -const queryUserRole = (params)=>getAction("/sys/user/queryUserRole",params); -const getUserList = (params)=>getAction("/sys/user/list",params); -const frozenBatch = (params)=>putAction("/sys/user/frozenBatch",params); -//验证用户是否存在 -const checkOnlyUser = (params)=>getAction("/sys/user/checkOnlyUser",params); -//改变密码 -const changePassword = (params)=>putAction("/sys/user/changePassword",params); - -//权限管理 -const addPermission= (params)=>postAction("/sys/permission/add",params); -const editPermission= (params)=>putAction("/sys/permission/edit",params); -const getPermissionList = (params)=>getAction("/sys/permission/list",params); -const getSystemMenuList = (params)=>getAction("/sys/permission/getSystemMenuList",params); -const getSystemSubmenu = (params)=>getAction("/sys/permission/getSystemSubmenu",params); -const getSystemSubmenuBatch = (params) => getAction('/sys/permission/getSystemSubmenuBatch', params) -const queryTreeList = (params)=>getAction("/sys/permission/queryTreeList",params); -const queryTreeListForRole = (params)=>getAction("/sys/role/queryTreeList",params); -const queryListAsync = (params)=>getAction("/sys/permission/queryListAsync",params); -const queryRolePermission = (params)=>getAction("/sys/permission/queryRolePermission",params); -const saveRolePermission = (params)=>postAction("/sys/permission/saveRolePermission",params); -const queryPermissionsByUser = ()=>getAction("/sys/permission/getUserPermissionByToken"); -const loadAllRoleIds = (params)=>getAction("/sys/permission/loadAllRoleIds",params); -const getPermissionRuleList = (params)=>getAction("/sys/permission/getPermRuleListByPermId",params); -const queryPermissionRule = (params)=>getAction("/sys/permission/queryPermissionRule",params); - -// 部门管理 -const queryDepartTreeList = (params)=>getAction("/sys/sysDepart/queryTreeList",params); -const queryDepartTreeSync = (params)=>getAction("/sys/sysDepart/queryDepartTreeSync",params); -const queryIdTree = (params)=>getAction("/sys/sysDepart/queryIdTree",params); -const queryParentName = (params)=>getAction("/sys/sysDepart/queryParentName",params); -const searchByKeywords = (params)=>getAction("/sys/sysDepart/searchBy",params); -const deleteByDepartId = (params)=>deleteAction("/sys/sysDepart/delete",params); - -//二级部门管理 -const queryDepartPermission = (params)=>getAction("/sys/permission/queryDepartPermission",params); -const saveDepartPermission = (params)=>postAction("/sys/permission/saveDepartPermission",params); -const queryTreeListForDeptRole = (params)=>getAction("/sys/sysDepartPermission/queryTreeListForDeptRole",params); -const queryDeptRolePermission = (params)=>getAction("/sys/sysDepartPermission/queryDeptRolePermission",params); -const saveDeptRolePermission = (params)=>postAction("/sys/sysDepartPermission/saveDeptRolePermission",params); -const queryMyDepartTreeList = (params)=>getAction("/sys/sysDepart/queryMyDeptTreeList",params); - -//日志管理 -const deleteLog = (params)=>deleteAction("/sys/log/delete",params); -const deleteLogList = (params)=>deleteAction("/sys/log/deleteBatch",params); - -//数据字典 -const addDict = (params)=>postAction("/sys/dict/add",params); -const editDict = (params)=>putAction("/sys/dict/edit",params); -const treeList = (params)=>getAction("/sys/dict/treeList",params); -const addDictItem = (params)=>postAction("/sys/dictItem/add",params); -const editDictItem = (params)=>putAction("/sys/dictItem/edit",params); - -//字典标签专用(通过code获取字典数组) -export const ajaxGetDictItems = (code, params)=>getAction(`/sys/dict/getDictItems/${code}`,params); -//从缓存中获取字典配置 -function getDictItemsFromCache(dictCode) { - if (Vue.ls.get(UI_CACHE_DB_DICT_DATA) && Vue.ls.get(UI_CACHE_DB_DICT_DATA)[dictCode]) { - let dictItems = Vue.ls.get(UI_CACHE_DB_DICT_DATA)[dictCode]; - return dictItems; - } -} - -//系统通告 -const doReleaseData = (params)=>getAction("/sys/annountCement/doReleaseData",params); -const doReovkeData = (params)=>getAction("/sys/annountCement/doReovkeData",params); -//获取系统访问量 -const getLoginfo = (params)=>getAction("/sys/loginfo",params); -const getVisitInfo = (params)=>getAction("/sys/visitInfo",params); - -// 根据部门主键查询用户信息 -const queryUserByDepId = (params)=>getAction("/sys/user/queryUserByDepId",params); - -// 重复校验 -const duplicateCheck = (params)=>getAction("/sys/duplicate/check",params); -// 加载分类字典 -const loadCategoryData = (params)=>getAction("/sys/category/loadAllData",params); -const checkRuleByCode = (params) => getAction('/sys/checkRule/checkByCode', params) -//加载我的通告信息 -const getUserNoticeInfo= (params)=>getAction("/sys/sysAnnouncementSend/getMyAnnouncementSend",params); -//查询图表数据 -const getTransitURL = url => `/sys/common/transitRESTful?url=${encodeURIComponent(url)}` -// 中转HTTP请求 -export const transitRESTful = { - get: (url, parameter) => getAction(getTransitURL(url), parameter), - post: (url, parameter) => postAction(getTransitURL(url), parameter), - put: (url, parameter) => putAction(getTransitURL(url), parameter), - http: (url, parameter) => httpAction(getTransitURL(url), parameter), -} - -export { - addRole, - editRole, - checkRoleCode, - addUser, - editUser, - queryUserRole, - getUserList, - queryall, - frozenBatch, - checkOnlyUser, - changePassword, - getPermissionList, - addPermission, - editPermission, - queryTreeList, - queryListAsync, - queryRolePermission, - saveRolePermission, - queryPermissionsByUser, - loadAllRoleIds, - getPermissionRuleList, - queryPermissionRule, - queryDepartTreeList, - queryDepartTreeSync, - queryIdTree, - queryParentName, - searchByKeywords, - deleteByDepartId, - deleteLog, - deleteLogList, - addDict, - editDict, - treeList, - addDictItem, - editDictItem, - doReleaseData, - doReovkeData, - getLoginfo, - getVisitInfo, - queryUserByDepId, - duplicateCheck, - queryTreeListForRole, - getSystemMenuList, - getSystemSubmenu, - getSystemSubmenuBatch, - loadCategoryData, - checkRuleByCode, - queryDepartPermission, - saveDepartPermission, - queryTreeListForDeptRole, - queryDeptRolePermission, - saveDeptRolePermission, - queryMyDepartTreeList, - getUserNoticeInfo, - getDictItemsFromCache -} - - - diff --git a/ant-design-vue-jeecg/src/api/index.js b/ant-design-vue-jeecg/src/api/index.js deleted file mode 100644 index 35367e20..00000000 --- a/ant-design-vue-jeecg/src/api/index.js +++ /dev/null @@ -1,10 +0,0 @@ -const api = { - Login: '/sys/login', - Logout: '/sys/logout', - ForgePassword: '/auth/forge-password', - Register: '/auth/register', - SendSms: '/account/sms', - // get my info - UserInfo: '/user/info' -} -export default api \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/api/login.js b/ant-design-vue-jeecg/src/api/login.js deleted file mode 100644 index 7bd6344b..00000000 --- a/ant-design-vue-jeecg/src/api/login.js +++ /dev/null @@ -1,87 +0,0 @@ -import api from './index' -import { axios } from '@/utils/request' - -/** - * login func - * parameter: { - * username: '', - * password: '', - * remember_me: true, - * captcha: '12345' - * } - * @param parameter - * @returns {*} - */ -export function login(parameter) { - return axios({ - url: '/sys/login', - method: 'post', - data: parameter - }) -} - -export function phoneLogin(parameter) { - return axios({ - url: '/sys/phoneLogin', - method: 'post', - data: parameter - }) -} - -export function getSmsCaptcha(parameter) { - return axios({ - url: api.SendSms, - method: 'post', - data: parameter - }) -} - -// export function getInfo() { -// return axios({ -// url: '/api/user/info', -// method: 'get', -// headers: { -// 'Content-Type': 'application/json;charset=UTF-8' -// } -// }) -// } - -export function logout(logoutToken) { - return axios({ - url: '/sys/logout', - method: 'post', - headers: { - 'Content-Type': 'application/json;charset=UTF-8', - 'X-Access-Token': logoutToken - } - }) -} - -/** - * 第三方登录 - * @param token - * @param thirdType - * @returns {*} - */ -export function thirdLogin(token,thirdType) { - return axios({ - url: `/sys/thirdLogin/getLoginUser/${token}/${thirdType}`, - method: 'get', - headers: { - 'Content-Type': 'application/json;charset=UTF-8' - } - }) -} - -/** - * 强退其他账号 - * @param token - * @returns {*} - */ -export function forceLogout(parameter) { - return axios({ - url: '/sys/online/forceLogout', - method: 'post', - data: parameter - }) -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/api/manage.js b/ant-design-vue-jeecg/src/api/manage.js deleted file mode 100644 index 45153ed8..00000000 --- a/ant-design-vue-jeecg/src/api/manage.js +++ /dev/null @@ -1,213 +0,0 @@ -import Vue from 'vue' -import { axios } from '@/utils/request' -import signMd5Utils from '@/utils/encryption/signMd5Utils' - -const api = { - user: '/mock/api/user', - role: '/mock/api/role', - service: '/mock/api/service', - permission: '/mock/api/permission', - permissionNoPager: '/mock/api/permission/no-pager' -} - -export default api - -//post -export function postAction(url,parameter) { - let sign = signMd5Utils.getSign(url, parameter); - //将签名和时间戳,添加在请求接口 Header - // update-begin--author:taoyan---date:20220421--for: VUEN-410【签名改造】 X-TIMESTAMP牵扯 - let signHeader = {"X-Sign": sign,"X-TIMESTAMP": signMd5Utils.getTimestamp()}; - // update-end--author:taoyan---date:20220421--for: VUEN-410【签名改造】 X-TIMESTAMP牵扯 - - return axios({ - url: url, - method:'post' , - data: parameter, - headers: signHeader - }) -} - -//post method= {post | put} -export function httpAction(url,parameter,method) { - let sign = signMd5Utils.getSign(url, parameter); - //将签名和时间戳,添加在请求接口 Header - // update-begin--author:taoyan---date:20220421--for: VUEN-410【签名改造】 X-TIMESTAMP牵扯 - let signHeader = {"X-Sign": sign,"X-TIMESTAMP": signMd5Utils.getTimestamp()}; - // update-end--author:taoyan---date:20220421--for: VUEN-410【签名改造】 X-TIMESTAMP牵扯 - - return axios({ - url: url, - method:method , - data: parameter, - headers: signHeader - }) -} - -//put -export function putAction(url,parameter) { - return axios({ - url: url, - method:'put', - data: parameter - }) -} - -//get -export function getAction(url,parameter) { - let sign = signMd5Utils.getSign(url, parameter); - //将签名和时间戳,添加在请求接口 Header - // update-begin--author:taoyan---date:20220421--for: VUEN-410【签名改造】 X-TIMESTAMP牵扯 - let signHeader = {"X-Sign": sign,"X-TIMESTAMP": signMd5Utils.getTimestamp()}; - // update-end--author:taoyan---date:20220421--for: VUEN-410【签名改造】 X-TIMESTAMP牵扯 - - return axios({ - url: url, - method: 'get', - params: parameter, - headers: signHeader - }) -} - -//deleteAction -export function deleteAction(url,parameter) { - return axios({ - url: url, - method: 'delete', - params: parameter - }) -} - -export function getUserList(parameter) { - return axios({ - url: api.user, - method: 'get', - params: parameter - }) -} - -export function getRoleList(parameter) { - return axios({ - url: api.role, - method: 'get', - params: parameter - }) -} - -export function getServiceList(parameter) { - return axios({ - url: api.service, - method: 'get', - params: parameter - }) -} - -export function getPermissions(parameter) { - return axios({ - url: api.permissionNoPager, - method: 'get', - params: parameter - }) -} - -// id == 0 add post -// id != 0 update put -export function saveService(parameter) { - return axios({ - url: api.service, - method: parameter.id == 0 ? 'post' : 'put', - data: parameter - }) -} - -/** - * 下载文件 用于excel导出 - * @param url - * @param parameter - * @returns {*} - */ -export function downFile(url,parameter, method='get'){ - if(method=='get'){ - return axios({ - url: url, - params: parameter, - method: method , - responseType: 'blob' - }) - }else{ - return axios({ - url: url, - method: method, - data: parameter, - responseType: 'blob' - }) - } - -} - -/** - * 下载文件 - * @param url 文件路径 - * @param fileName 文件名 - * @param parameter - * @returns {*} - */ -export function downloadFile(url, fileName, parameter) { - return downFile(url, parameter).then((data) => { - if (!data || data.size === 0) { - Vue.prototype['$message'].warning('文件下载失败') - return - } - if (typeof window.navigator.msSaveBlob !== 'undefined') { - window.navigator.msSaveBlob(new Blob([data]), fileName) - } else { - let url = window.URL.createObjectURL(new Blob([data])) - let link = document.createElement('a') - link.style.display = 'none' - link.href = url - link.setAttribute('download', fileName) - document.body.appendChild(link) - link.click() - document.body.removeChild(link) //下载完成移除元素 - window.URL.revokeObjectURL(url) //释放掉blob对象 - } - }) -} - -/** - * 文件上传 用于富文本上传图片 - * @param url - * @param parameter - * @returns {*} - */ -export function uploadAction(url,parameter){ - return axios({ - url: url, - data: parameter, - method:'post' , - headers: { - 'Content-Type': 'multipart/form-data', // 文件上传 - }, - }) -} - -/** - * 获取文件服务访问路径 - * @param avatar - * @param subStr - * @returns {*} - */ -export function getFileAccessHttpUrl(avatar,subStr) { - if(!subStr) subStr = 'http' - try { - if(avatar && avatar.startsWith(subStr)){ - return avatar; - }else{ - if(avatar && avatar.length>0 && avatar.indexOf('[')==-1){ - return window._CONFIG['staticDomainURL'] + "/" + avatar; - } - } - }catch(err){ - return; - } -} diff --git a/ant-design-vue-jeecg/src/assets/background.svg b/ant-design-vue-jeecg/src/assets/background.svg deleted file mode 100644 index 89c25976..00000000 --- a/ant-design-vue-jeecg/src/assets/background.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - Group 21 - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/assets/checkcode.png b/ant-design-vue-jeecg/src/assets/checkcode.png deleted file mode 100644 index 844fa70c56861efed68553088cfa059cd2a3a612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2236 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
    ^vqb!!kKGX(sK#D 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 N002ovPDHLkV1l?AYCr%0 diff --git a/ant-design-vue-jeecg/src/assets/less/AppIcon.less b/ant-design-vue-jeecg/src/assets/less/AppIcon.less deleted file mode 100644 index 54128e75..00000000 --- a/ant-design-vue-jeecg/src/assets/less/AppIcon.less +++ /dev/null @@ -1,33 +0,0 @@ -@active-color: #11da75; -ul { - max-height: 700px; - overflow-y: auto; - padding-left: .5rem; - img { - width:64px; - height:64px; - padding: .2rem; - margin: .3rem; - cursor: pointer; - &.active, &:hover { - border: 1px solid @active-color; - border-radius: 2px; - color: #fff; - transition: all .3s; - } - } - li { - list-style: none; - float: left; - text-align: center; - cursor: pointer; - color: #555; - transition: color .3s ease-in-out,background-color .3s ease-in-out; - position: relative; - margin: 3px 0; - border-radius: 4px; - background-color: #fff; - overflow: hidden; - padding: 10px 0 0; - } -} diff --git a/ant-design-vue-jeecg/src/assets/less/JAreaLinkage.less b/ant-design-vue-jeecg/src/assets/less/JAreaLinkage.less deleted file mode 100644 index d367073b..00000000 --- a/ant-design-vue-jeecg/src/assets/less/JAreaLinkage.less +++ /dev/null @@ -1,259 +0,0 @@ -.area-zoom-in-top-enter-active, -.area-zoom-in-top-leave-active { - opacity: 1; - transform: scaleY(1); -} - -.area-zoom-in-top-enter, -.area-zoom-in-top-leave-active { - opacity: 0; - transform: scaleY(0); -} - -.area-select { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.65); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - outline: 0; - display: block; - background-color: #fff; - border: 1px solid #d9d9d9; - border-top-width: 1.02px; - border-radius: 4px; - outline: none; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.area-select-wrap .area-select { - display: inline-block; -} - -.area-select * { - box-sizing: border-box; -} - -.area-select:hover { - border-color: #40a9ff; - border-right-width: 1px !important; - outline: 0; -} - - -.area-select:active { - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); -} - -.area-select.small { - width: 126px; -} - -.area-select.medium { - width: 160px; -} - -.area-select.large { - width: 194px; -} - -.area-select.is-disabled { - background: #eceff5; - cursor: not-allowed; -} - -.area-select.is-disabled:hover { - border-color: #e1e2e6; -} - -.area-select.is-disabled .area-selected-trigger { - cursor: not-allowed; -} - -.area-select .area-selected-trigger { - position: relative; - display: block; - font-size: 14px; - cursor: pointer; - margin: 0; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - height: 100%; - padding: 8px 20px 7px 12px; -} - -.area-select .area-select-icon { - position: absolute; - top: 50%; - margin-top: -2px; - right: 6px; - content: ""; - width: 0; - height: 0; - border: 6px solid transparent; - border-top-color: rgba(0, 0, 0, 0.25); - transition: all .3s linear; - transform-origin: center; -} - -.area-select .area-select-icon.active { - margin-top: -8px; - transform: rotate(180deg); -} - -.area-selectable-list-wrap { - position: absolute; - width: 100%; - max-height: 275px; - z-index: 15000; - background-color: #fff; - box-sizing: border-box; - overflow-x: auto; - margin: 2px 0; - border-radius: 4px; - outline: none; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); - - transition: opacity 0.15s, transform 0.3s !important; - transform-origin: center top !important; -} - -.area-selectable-list { - position: relative; - margin: 0; - padding: 6px 0; - width: 100%; - font-size: 14px; - color: #565656; - list-style: none; -} - -.area-selectable-list .area-select-option { - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - cursor: pointer; - padding: 0 15px 0 10px; - height: 32px; - line-height: 32px; -} - -.area-selectable-list .area-select-option.hover { - background-color: #e6f7ff; -} - -.area-selectable-list .area-select-option.selected { - color: rgba(0, 0, 0, 0.65); - font-weight: 600; - background-color: #efefef; -} - -.cascader-menu-list-wrap { - position: absolute; - white-space: nowrap; - z-index: 15000; - background-color: #fff; - box-sizing: border-box; - overflow: hidden; - font-size: 0; - margin: 2px 0; - border-radius: 4px; - outline: none; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); - - transition: opacity 0.15s, transform 0.3s !important; - transform-origin: center top !important; -} - -.cascader-menu-list { - position: relative; - margin: 0; - font-size: 14px; - color: #565656; - padding: 6px 0; - list-style: none; - display: inline-block; - height: 204px; - overflow-x: hidden; - overflow-y: auto; - min-width: 160px; - vertical-align: top; - background-color: #fff; - border-right: 1px solid #e4e7ed; -} - -.cascader-menu-list:last-child { - border-right: none; -} - -.cascader-menu-list .cascader-menu-option { - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - cursor: pointer; - padding: 0 15px 0 10px; - height: 32px; - line-height: 32px; -} - -.cascader-menu-list .cascader-menu-option.hover, -.cascader-menu-list .cascader-menu-option:hover { - background-color: #e6f7ff; -} - -.cascader-menu-list .cascader-menu-option.selected { - color: rgba(0, 0, 0, 0.65); - font-weight: 600; - background-color: #efefef; -} - -.cascader-menu-list .cascader-menu-option.cascader-menu-extensible:after { - position: absolute; - top: 50%; - margin-top: -4px; - right: 5px; - content: ""; - width: 0; - height: 0; - border: 4px solid transparent; - border-left-color: #a1a4ad; -} - -.cascader-menu-list::-webkit-scrollbar, -.area-selectable-list-wrap::-webkit-scrollbar { - width: 8px; - background: transparent; -} - -.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:decremen, -.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:end:decrement, -.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:increment, -.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:start:increment, -.cascader-menu-list::-webkit-scrollbar-button:vertical:decremen, -.cascader-menu-list::-webkit-scrollbar-button:vertical:end:decrement, -.cascader-menu-list::-webkit-scrollbar-button:vertical:increment, -.cascader-menu-list::-webkit-scrollbar-button:vertical:start:increment { - display: none; -} - -.cascader-menu-list::-webkit-scrollbar-thumb:vertical, -.area-selectable-list-wrap::-webkit-scrollbar-thumb:vertical { - background-color: #b8b8b8; - border-radius: 4px; -} - -.cascader-menu-list::-webkit-scrollbar-thumb:vertical:hover, -.area-selectable-list-wrap::-webkit-scrollbar-thumb:vertical:hover { - background-color: #777; -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/assets/less/TableExpand.less b/ant-design-vue-jeecg/src/assets/less/TableExpand.less deleted file mode 100644 index 5616c983..00000000 --- a/ant-design-vue-jeecg/src/assets/less/TableExpand.less +++ /dev/null @@ -1,15 +0,0 @@ -/** [表格主题样式一] 表格强制列不换行 */ -.j-table-force-nowrap { - td, th { - white-space: nowrap; - } - - .ant-table-selection-column { - padding: 12px 22px !important; - } - - /** 列自适应,弊端会导致列宽失效 */ - &.ant-table-wrapper .ant-table-content { - overflow-x: auto; - } -} diff --git a/ant-design-vue-jeecg/src/assets/less/codemirror_idea.css b/ant-design-vue-jeecg/src/assets/less/codemirror_idea.css deleted file mode 100644 index a0898153..00000000 --- a/ant-design-vue-jeecg/src/assets/less/codemirror_idea.css +++ /dev/null @@ -1 +0,0 @@ -.cm-s-idea span.cm-meta{color:olive}.cm-s-idea span.cm-number{color:#00f}.cm-s-idea span.cm-keyword{line-height:1em;font-weight:700;color:navy}.cm-s-idea span.cm-atom{font-weight:700;color:navy}.cm-s-idea span.cm-def{color:#000}.cm-s-idea span.cm-variable{color:#000}.cm-s-idea span.cm-variable-2{color:#000}.cm-s-idea span.cm-type,.cm-s-idea span.cm-variable-3{color:#000}.cm-s-idea span.cm-property{color:#000}.cm-s-idea span.cm-operator{color:#000}.cm-s-idea span.cm-comment{color:grey}.cm-s-idea span.cm-string{color:green}.cm-s-idea span.cm-string-2{color:green}.cm-s-idea span.cm-qualifier{color:#555}.cm-s-idea span.cm-error{color:red}.cm-s-idea span.cm-attribute{color:#00f}.cm-s-idea span.cm-tag{color:navy}.cm-s-idea span.cm-link{color:#00f}.cm-s-idea .CodeMirror-activeline-background{background:#fffae3}.cm-s-idea span.cm-builtin{color:#30a}.cm-s-idea span.cm-bracket{color:#cc7}.cm-s-idea{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif}.cm-s-idea .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important}.CodeMirror-hints.idea{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;color:#616569;background-color:#ebf3fd!important}.CodeMirror-hints.idea .CodeMirror-hint-active{background-color:#a2b8c9!important;color:#5c6065!important} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/assets/less/common.less b/ant-design-vue-jeecg/src/assets/less/common.less deleted file mode 100644 index b27871b0..00000000 --- a/ant-design-vue-jeecg/src/assets/less/common.less +++ /dev/null @@ -1,61 +0,0 @@ - -/*列表上方操作按钮区域*/ -.ant-card-body .table-operator { - margin-bottom: 8px; -} -/** Button按钮间距 */ -.table-operator .ant-btn { - margin: 0 8px 8px 0; -} -.table-operator .ant-btn-group .ant-btn { - margin: 0; -} - -.table-operator .ant-btn-group .ant-btn:last-child { - margin: 0 8px 8px 0; -} -/*列表td的padding设置 可以控制列表大小*/ -.ant-table-tbody .ant-table-row td { - padding-top: 15px; - padding-bottom: 15px; -} - -/*列表页面弹出modal*/ -.ant-modal-cust-warp { - height: 100% -} - -/*弹出modal Y轴滚动条*/ -.ant-modal-cust-warp .ant-modal-body { - height: calc(100% - 110px) !important; - overflow-y: auto -} - -/*弹出modal 先有content后有body 故滚动条控制在body上*/ -.ant-modal-cust-warp .ant-modal-content { - height: 90% !important; - overflow-y: hidden -} -/*列表中有图片的加这个样式 参考用户管理*/ -.anty-img-wrap { - height: 25px; - position: relative; -} -.anty-img-wrap > img { - max-height: 100%; -} -/*列表中范围查询样式*/ -.query-group-cust{width: calc(50% - 10px)} -.query-group-split-cust:before{content:"~";width: 20px;display: inline-block;text-align: center} - - -/*erp风格子表外框padding设置*/ -.ant-card-wider-padding.cust-erp-sub-tab>.ant-card-body{padding:5px 12px} - -/* 内嵌子表背景颜色 */ -.j-inner-table-wrapper /deep/ .ant-table-expanded-row .ant-table-wrapper .ant-table-tbody .ant-table-row { - background-color: #FFFFFF; -} - -/**隐藏样式-modal确定按钮 */ -.jee-hidden{display: none} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/assets/less/index.less b/ant-design-vue-jeecg/src/assets/less/index.less deleted file mode 100644 index f086f5fe..00000000 --- a/ant-design-vue-jeecg/src/assets/less/index.less +++ /dev/null @@ -1,28 +0,0 @@ -/** - * 列表查询通用样式,移动端自适应 - */ -.search{ - margin-bottom: 54px; -} -.fold{ - width: calc(100% - 216px); - display: inline-block -} -.operator{ - margin-bottom: 18px; -} -@media screen and (max-width: 900px) { - .fold { - width: 100%; - } -} -.operator button { - margin-right: 5px; -} -i { - cursor: pointer; -} -.trcolor{ - background-color: rgba(255, 192, 203, 0.31); - color:red; -} diff --git a/ant-design-vue-jeecg/src/assets/logo-white.png b/ant-design-vue-jeecg/src/assets/logo-white.png deleted file mode 100644 index 6d5f2e84716e0a3a90b5e4d1b06044c39ab84b28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20703 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

    x&FtTGNII*Ae4BsNSS>&#thQtwKz7A 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 diff --git a/ant-design-vue-jeecg/src/assets/logo.svg b/ant-design-vue-jeecg/src/assets/logo.svg deleted file mode 100644 index 676115dc..00000000 --- a/ant-design-vue-jeecg/src/assets/logo.svg +++ /dev/null @@ -1,172 +0,0 @@ - - - - diff --git a/ant-design-vue-jeecg/src/assets/nodata.png b/ant-design-vue-jeecg/src/assets/nodata.png deleted file mode 100644 index 2cebdb380f5c1aba7e0acab147563d2352e0917c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101556 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 z�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 diff --git a/ant-design-vue-jeecg/src/assets/pdf4.jpg b/ant-design-vue-jeecg/src/assets/pdf4.jpg deleted file mode 100644 index 10166e09eb8fd10c134e9d708fb91017baf0d406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50960 zcmXtg1z6MX_x1-AQBY92L1_V{l@bhMbO}{=AF>r3S{H zd#0uS03wop=Cl?kfPcB*sbS^=LDcl5Ut~~P1`C)D!5-W-4xHJ-2c%d|`K^Z#4`501 zlw28`|4Odj^WIR%B?b-@x)PB7Uh5E&sAI>FZG$6ajAC86Ec)K8d*QIko1nW zg?Ss}rxWsw8C1=L`&FZA4H)WSn{VIS9rBu(!b15I0G5YD$^ZphLCYJv;QGE z`N8h{$5H}IeRLnYO?R{%V|3!J?!;(`HVFag_?!8EFxiiP_26*=U*9T(m)f}6tgo4y zIG1WW$JETB<7<{Y<{9qE5txvM-!0U0JxfMRlE5VJXJv zI?|u4qsgt-dy0M8O}5+Y2J6l352VS^U&-#<4GC#>3Z-UQ^3@1?#J8MUrHh)e6sx%* z`5zV80;2avyeYza1Kr}BLX2!P6!=0C_)Lz-NOPCPv+P1l%^Ly=m+Rrzqy7`j|9CR? zQSrn^wea5D=)~4T*|Ce^v|(Y{Hnxhah3{81HMQadh3V4{#ByP+rnMe%otny|br!vo z@_XAY?*7FX6cVr4RK!bMXG@KW?pG`NSFd;TW)J5|p>rB}2c>fRa9pB{p_-bTngD%Y z7FXIqfO>amyX{&xCogH8oQJCF42bsY@IUDSWf=()LA*vEMmMIy^5vo+9RuiJ#{#x4 z+918apVv*tA~;_T_eizQ5;c>KKl8WR}p6a~qdzlA3@^LnO7Mph)*JT;r4kaHPr;%&a*i(D~OJV6Hx7*{#=>sfD8$p&Gtf~Zf{YxKfaVoWTRCq-AYhma!#^)0!tC`wPw84;f zQTvxiKe=J{c5^kSkK^f-$0=}~n9G^*$-+=B{yFTIDLgcYCBU|Z8T$Em+DcajeJe{l zv9?0H8tY4-WIYazuV`A}Io(Y_DDl7QnJ<61g|BBM86%9N`G_tOOytkRpwD)q2m_31~Q=#z*yMQ$ISfkkNaix?icv|rJ?!qdQb&`2E4 zL=+$yR-;#kybVL)¬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 u+I65RmF~U(2CCoxh`{0bz9yu)>;C~>1+!{RRN { - if (process.env.VUE_APP_SSO == 'true') { - console.log("-------单点登录开始-------"); - let token = Vue.ls.get(ACCESS_TOKEN); - let st = getUrlParam("ticket"); - let sevice = "http://" + window.location.host + "/"; - if (token) { - loginSuccess(callback); - } else { - if (st) { - validateSt(st, sevice, callback); - } else { - let serviceUrl = encodeURIComponent(sevice); - window.location.href = window._CONFIG['casPrefixUrl'] + "/login?service=" + serviceUrl; - } - } - console.log("-------单点登录结束-------"); - }else{ - callback && callback() - } -}; -const SSO = { - init: init -}; - -function getUrlParam(paraName) { - let url = document.location.toString(); - let arrObj = url.split("?"); - - if (arrObj.length > 1) { - let arrPara = arrObj[1].split("&"); - let arr; - - for (let i = 0; i < arrPara.length; i++) { - arr = arrPara[i].split("="); - - if (arr != null && arr[0] == paraName) { - return arr[1]; - } - } - return ""; - } - else { - return ""; - } -} - -function validateSt(ticket,service,callback){ - let params = { - ticket: ticket, - service:service - }; - store.dispatch('ValidateLogin',params).then(res => { - //this.departConfirm(res) - if(res.success){ - loginSuccess(callback); - }else{ - let sevice = "http://"+window.location.host+"/"; - let serviceUrl = encodeURIComponent(sevice); - window.location.href = window._CONFIG['casPrefixUrl']+"/login?service="+serviceUrl; - } - }).catch((err) => { - console.log(err); - //that.requestFailed(err); - }); -} - -function loginSuccess (callback) { - callback(); -} -export default SSO; \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/AvatarList/Item.vue b/ant-design-vue-jeecg/src/components/AvatarList/Item.vue deleted file mode 100644 index f7942950..00000000 --- a/ant-design-vue-jeecg/src/components/AvatarList/Item.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/AvatarList/List.vue b/ant-design-vue-jeecg/src/components/AvatarList/List.vue deleted file mode 100644 index fb3412c8..00000000 --- a/ant-design-vue-jeecg/src/components/AvatarList/List.vue +++ /dev/null @@ -1,100 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/AvatarList/index.js b/ant-design-vue-jeecg/src/components/AvatarList/index.js deleted file mode 100644 index 9621de65..00000000 --- a/ant-design-vue-jeecg/src/components/AvatarList/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import AvatarList from './List' -import "./index.less" - -export default AvatarList \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/AvatarList/index.less b/ant-design-vue-jeecg/src/components/AvatarList/index.less deleted file mode 100644 index 9ce073fd..00000000 --- a/ant-design-vue-jeecg/src/components/AvatarList/index.less +++ /dev/null @@ -1,60 +0,0 @@ -@import "../index"; - -@avatar-list-prefix-cls: ~"@{ant-pro-prefix}-avatar-list"; -@avatar-list-item-prefix-cls: ~"@{ant-pro-prefix}-avatar-list-item"; - -.@{avatar-list-prefix-cls} { - display: inline-block; - - ul { - list-style: none; - display: inline-block; - padding: 0; - margin: 0 0 0 8px; - font-size: 0; - } -} - -.@{avatar-list-item-prefix-cls} { - display: inline-block; - font-size: @font-size-base; - margin-left: -8px; - width: @avatar-size-base; - height: @avatar-size-base; - - :global { - .ant-avatar { - border: 1px solid #fff; - cursor: pointer; - } - } - - &.large { - width: @avatar-size-lg; - height: @avatar-size-lg; - } - - &.small { - width: @avatar-size-sm; - height: @avatar-size-sm; - } - - &.mini { - width: 20px; - height: 20px; - - :global { - .ant-avatar { - width: 20px; - height: 20px; - line-height: 20px; - - .ant-avatar-string { - font-size: 12px; - line-height: 18px; - } - } - } - } -} - diff --git a/ant-design-vue-jeecg/src/components/ChartCard.vue b/ant-design-vue-jeecg/src/components/ChartCard.vue deleted file mode 100644 index a03b31d5..00000000 --- a/ant-design-vue-jeecg/src/components/ChartCard.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/CountDown/CountDown.vue b/ant-design-vue-jeecg/src/components/CountDown/CountDown.vue deleted file mode 100644 index 91cf47e1..00000000 --- a/ant-design-vue-jeecg/src/components/CountDown/CountDown.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/CountDown/index.js b/ant-design-vue-jeecg/src/components/CountDown/index.js deleted file mode 100644 index 3015cc5b..00000000 --- a/ant-design-vue-jeecg/src/components/CountDown/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import CountDown from './CountDown' - -export default CountDown \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/Ellipsis/Ellipsis.vue b/ant-design-vue-jeecg/src/components/Ellipsis/Ellipsis.vue deleted file mode 100644 index 0001a3b2..00000000 --- a/ant-design-vue-jeecg/src/components/Ellipsis/Ellipsis.vue +++ /dev/null @@ -1,49 +0,0 @@ - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/Ellipsis/index.js b/ant-design-vue-jeecg/src/components/Ellipsis/index.js deleted file mode 100644 index d257156b..00000000 --- a/ant-design-vue-jeecg/src/components/Ellipsis/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import Ellipsis from './Ellipsis' - -export default Ellipsis \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/JVxeCells/JVxeFileCell.vue b/ant-design-vue-jeecg/src/components/JVxeCells/JVxeFileCell.vue deleted file mode 100644 index 273291c9..00000000 --- a/ant-design-vue-jeecg/src/components/JVxeCells/JVxeFileCell.vue +++ /dev/null @@ -1,228 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/JVxeCells/JVxeImageCell.vue b/ant-design-vue-jeecg/src/components/JVxeCells/JVxeImageCell.vue deleted file mode 100644 index 40da9b12..00000000 --- a/ant-design-vue-jeecg/src/components/JVxeCells/JVxeImageCell.vue +++ /dev/null @@ -1,242 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/JVxeCells/JVxePopupCell.vue b/ant-design-vue-jeecg/src/components/JVxeCells/JVxePopupCell.vue deleted file mode 100644 index 885933d3..00000000 --- a/ant-design-vue-jeecg/src/components/JVxeCells/JVxePopupCell.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/JVxeCells/JVxeRadioCell.vue b/ant-design-vue-jeecg/src/components/JVxeCells/JVxeRadioCell.vue deleted file mode 100644 index b39381e9..00000000 --- a/ant-design-vue-jeecg/src/components/JVxeCells/JVxeRadioCell.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/JVxeCells/JVxeSelectDictSearchCell.js b/ant-design-vue-jeecg/src/components/JVxeCells/JVxeSelectDictSearchCell.js deleted file mode 100644 index 36204928..00000000 --- a/ant-design-vue-jeecg/src/components/JVxeCells/JVxeSelectDictSearchCell.js +++ /dev/null @@ -1,262 +0,0 @@ -import debounce from 'lodash/debounce' -import { getAction } from '@/api/manage' -import { cloneObject } from '@/utils/util' -import { filterDictText } from '@/components/dict/JDictSelectUtil' -import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api' -import JVxeCellMixins, { dispatchEvent } from '@/components/jeecg/JVxeTable/mixins/JVxeCellMixins' - -/** 公共资源 */ -const common = { - /** value - label map,防止重复查询(刷新清空缓存) */ - labelMap: new Map(), - - /** 公共data */ - data() { - return { - loading: false, - innerSelectValue: null, - innerOptions: [], - } - }, - /** 公共计算属性 */ - computed: { - dict() { - return this.originColumn.dict - }, - options() { - if (this.isAsync) { - return this.innerOptions - } else { - return this.originColumn.options || [] - } - }, - // 是否是异步模式 - isAsync() { - let isAsync = this.originColumn.async - return (isAsync != null && isAsync !== '') ? !!isAsync : true - }, - }, - /** 公共属性监听 */ - watch: { - innerValue: { - immediate: true, - handler(value) { - if (value == null || value === '') { - this.innerSelectValue = null - } else { - this.loadDataByValue(value) - } - } - }, - dict() { - this.loadDataByDict() - } - }, - /** 公共方法 */ - methods: { - - // 根据 value 查询数据,用于回显 - async loadDataByValue(value) { - if (this.isAsync) { - if (this.innerSelectValue !== value) { - if (common.labelMap.has(value)) { - this.innerOptions = cloneObject(common.labelMap.get(value)) - } else { - let {success, result} = await getAction(`/sys/dict/loadDictItem/${this.dict}`, {key: value}) - if (success && result && result.length > 0) { - this.innerOptions = [{value: value, text: result[0]}] - common.labelMap.set(value, cloneObject(this.innerOptions)) - } - } - } - } - this.innerSelectValue = (value || '').toString() - }, - - // 初始化字典 - async loadDataByDict() { - if (!this.isAsync) { - // 如果字典项集合有数据 - if (!this.originColumn.options || this.originColumn.options.length === 0) { - // 根据字典Code, 初始化字典数组 - let dictStr = '' - if (this.dict) { - let arr = this.dict.split(',') - if (arr[0].indexOf('where') > 0) { - let tbInfo = arr[0].split('where') - dictStr = tbInfo[0].trim() + ',' + arr[1] + ',' + arr[2] + ',' + encodeURIComponent(tbInfo[1]) - } else { - dictStr = this.dict - } - if (this.dict.indexOf(',') === -1) { - //优先从缓存中读取字典配置 - let cache = getDictItemsFromCache(this.dict) - if (cache) { - this.innerOptions = cache - return - } - } - let {success, result} = await ajaxGetDictItems(dictStr, null) - if (success) { - this.innerOptions = result - } - } - } - } - }, - - }, - -} - -// 显示组件,自带翻译 -export const DictSearchSpanCell = { - name: 'JVxeSelectSearchSpanCell', - mixins: [JVxeCellMixins], - data() { - return { - ...common.data.apply(this), - } - }, - computed: { - ...common.computed, - }, - watch: { - ...common.watch, - }, - methods: { - ...common.methods, - }, - render(h) { - return h('span', {}, [ - filterDictText(this.innerOptions, this.innerSelectValue || this.innerValue) - ]) - }, -} - -// 请求id -let requestId = 0 - -// 输入选择组件 -export const DictSearchInputCell = { - name: 'JVxeSelectSearchInputCell', - mixins: [JVxeCellMixins], - data() { - return { - ...common.data.apply(this), - - hasRequest: false, - scopedSlots: { - notFoundContent: () => { - if (this.loading) { - return - } else if (this.hasRequest) { - return

    没有查询到任何数据
    - } else { - return
    {this.tipsContent}
    - } - } - } - } - }, - computed: { - ...common.computed, - tipsContent() { - return this.originColumn.tipsContent || '请输入搜索内容' - }, - filterOption() { - if (this.isAsync) { - return null - } - return (input, option) => option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 - }, - }, - watch: { - ...common.watch, - }, - created() { - this.loadData = debounce(this.loadData, 300)//消抖 - }, - methods: { - ...common.methods, - - loadData(value) { - const currentRequestId = ++requestId - this.loading = true - this.innerOptions = [] - if (value == null || value.trim() === '') { - this.loading = false - this.hasRequest = false - return - } - // 字典code格式:table,text,code - this.hasRequest = true - getAction(`/sys/dict/loadDict/${this.dict}`, {keyword: value}).then(res => { - if (currentRequestId !== requestId) { - return - } - let {success, result, message} = res - if (success) { - this.innerOptions = result - result.forEach((item) => { - common.labelMap.set(item.value, [item]) - }) - } else { - this.$message.warning(message) - } - }).finally(() => { - this.loading = false - }) - }, - - handleChange(selectedValue) { - this.innerSelectValue = selectedValue - this.handleChangeCommon(this.innerSelectValue) - }, - handleSearch(value) { - if (this.isAsync) { - // 在输入时也应该开启加载,因为loadData加了消抖,所以会有800ms的用户主观上认为的卡顿时间 - this.loading = true - if (this.innerOptions.length > 0) { - this.innerOptions = [] - } - this.loadData(value) - } - }, - - renderOptionItem() { - let options = [] - this.options.forEach(({value, text, label, title, disabled}) => { - options.push( - {text || label || title} - ) - }) - return options - }, - }, - render() { - return ( - - {this.renderOptionItem()} - - ) - }, - // 【组件增强】注释详见:JVxeCellMixins.js - enhanced: { - aopEvents: { - editActived(event) { - dispatchEvent.call(this, event, 'ant-select') - }, - }, - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/JVxeCells/install.js b/ant-design-vue-jeecg/src/components/JVxeCells/install.js deleted file mode 100644 index 36317370..00000000 --- a/ant-design-vue-jeecg/src/components/JVxeCells/install.js +++ /dev/null @@ -1,36 +0,0 @@ -import { installCell, JVXETypes } from '@/components/jeecg/JVxeTable' -import JVxePopupCell from './JVxePopupCell' -import { DictSearchInputCell, DictSearchSpanCell } from './JVxeSelectDictSearchCell' -import JVxeFileCell from './JVxeFileCell' -import JVxeImageCell from './JVxeImageCell' -import JVxeRadioCell from './JVxeRadioCell' -import JVxeSelectCell from '@comp/jeecg/JVxeTable/components/cells/JVxeSelectCell' -import JVxeTextareaCell from '@comp/jeecg/JVxeTable/components/cells/JVxeTextareaCell' - -// 注册online组件 -JVXETypes.input_pop = 'input_pop' -JVXETypes.list_multi = 'list_multi' -JVXETypes.sel_search = 'sel_search' -installCell(JVXETypes.input_pop, JVxeTextareaCell) -installCell(JVXETypes.list_multi, JVxeSelectCell) -installCell(JVXETypes.sel_search, JVxeSelectCell) - -// 注册【popup】组件(普通封装方式) -JVXETypes.popup = 'popup' -installCell(JVXETypes.popup, JVxePopupCell) - -// 注册【字典搜索下拉】组件(高级封装方式) -JVXETypes.selectDictSearch = 'select-dict-search' -installCell(JVXETypes.selectDictSearch, DictSearchInputCell, DictSearchSpanCell) - -// 注册【文件上传】组件 -JVXETypes.file = 'file' -installCell(JVXETypes.file, JVxeFileCell) - -// 注册【图片上传】组件 -JVXETypes.image = 'image' -installCell(JVXETypes.image, JVxeImageCell) - -// 注册【单选框】组件 -JVXETypes.radio = 'radio' -installCell(JVXETypes.radio, JVxeRadioCell) diff --git a/ant-design-vue-jeecg/src/components/NumberInfo/NumberInfo.vue b/ant-design-vue-jeecg/src/components/NumberInfo/NumberInfo.vue deleted file mode 100644 index 81508780..00000000 --- a/ant-design-vue-jeecg/src/components/NumberInfo/NumberInfo.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/NumberInfo/index.js b/ant-design-vue-jeecg/src/components/NumberInfo/index.js deleted file mode 100644 index a471501a..00000000 --- a/ant-design-vue-jeecg/src/components/NumberInfo/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import NumberInfo from './NumberInfo' - -export default NumberInfo \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/NumberInfo/index.less b/ant-design-vue-jeecg/src/components/NumberInfo/index.less deleted file mode 100644 index 719113da..00000000 --- a/ant-design-vue-jeecg/src/components/NumberInfo/index.less +++ /dev/null @@ -1,55 +0,0 @@ -@import "../index"; - -@numberInfo-prefix-cls: ~"@{ant-pro-prefix}-number-info"; - -.@{numberInfo-prefix-cls} { - - .ant-pro-number-info-subtitle { - color: @text-color-secondary; - font-size: @font-size-base; - height: 22px; - line-height: 22px; - overflow: hidden; - text-overflow: ellipsis; - word-break: break-all; - white-space: nowrap; - } - - .number-info-value { - margin-top: 4px; - font-size: 0; - overflow: hidden; - text-overflow: ellipsis; - word-break: break-all; - white-space: nowrap; - - & > span { - color: @heading-color; - display: inline-block; - line-height: 32px; - height: 32px; - font-size: 24px; - margin-right: 32px; - } - - .sub-total { - color: @text-color-secondary; - font-size: @font-size-lg; - vertical-align: top; - margin-right: 0; - i { - font-size: 12px; - transform: scale(0.82); - margin-left: 4px; - } - :global { - .anticon-caret-up { - color: @red-6; - } - .anticon-caret-down { - color: @green-6; - } - } - } - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/README.md b/ant-design-vue-jeecg/src/components/README.md deleted file mode 100644 index 6dde8d2c..00000000 --- a/ant-design-vue-jeecg/src/components/README.md +++ /dev/null @@ -1,43 +0,0 @@ -####1._util包:存放自定义函数 详细见代码注释 -####2.AvatarList:显示头像群并支持tip,用法参考src\views\Home.vue(如下图) -![输入图片说明](https://static.oschina.net/uploads/img/201904/12181253_O0Xi.png "在这里输入图片标题") -####3.chart包:存放各种图表相关的组件,条形图柱形图折线图等等 具体用法参考首页 -####4.countDown包:一个倒计时组件,用法参考home页,简单描述,该组件有3个属性, -target(时间/毫秒数)必填, -format(function,该方法接收一个毫秒数的参数,用于格式化显示当前倒计时时间)非必填, -onEnd倒计时结束触发函数 -![输入图片说明](https://static.oschina.net/uploads/img/201904/12182046_mwqJ.png "在这里输入图片标题") -####5.dict包:数据字典专用,用法参考文件夹下readme文件 -####6.Ellipsis包:字符串截取组件,可以指定字符串的显示长度,并将全部内容显示到tip中,简单使用参考src\views\system\PermissionList.vue -####7.jeecg包:该包下自定义了很多列表/表单中用到的组件 参考包下readme文件 -####8.jeecgbiz包:该包下定义了一些业务相关的组件,比如选择用户弹框,根据部门选择用户等等 -####9.layouts+page包:系统页面布局相关组件,比如登陆进去之后页面顶部显示什么,底部显示什么,菜单点击触发多个tab的布局等等 一般情况不需要修改 -####10.menun包:菜单组件,俩个,一个折叠菜单一个正常显示的菜单 -####11.NumberInfo:数字信息显示组件 如下图 -![输入图片说明](https://static.oschina.net/uploads/img/201904/12185858_uvJ5.png "在这里输入图片标题") -####12.online包:该包下封装了online表单的相关组件,用于展示表单各种控件,验证表单等等,相关用法参考readme -####13.setting包:该包下封装了首页风格切换等功能如下图 -![输入图片说明](https://static.oschina.net/uploads/img/201904/12190520_jySG.png "在这里输入图片标题") -####14.table包:一个二次封装的table组件,用于展示列表,参考readme -####15.tools包: -Breadcrumb.vue:面包屑二次封装,支持路由跳转 -DetailList.vue:详情展示用法参考src\views\profile\advanced\Advanced.vue(效果如下图) -![输入图片说明](https://static.oschina.net/uploads/img/201904/12193954_Uar6.png "在这里输入图片标题") -```` -个人认为该页面代码有两点值得学习: -1.vue provide/inject的使用 -2.该页面css定义方式,只定义一个顶层class,其余样式都定义在其下,这样只要顶层class不和别的页面冲突,整个页面的样式都是唯一生效的 -```` -FooterToolBar.vue:fixed定位的底部,通过是否定义内部控件的属性slot="extra"决定是左浮动或是右浮动 -HeaderNotice.vue:首页通知(如下图) -![输入图片说明](https://static.oschina.net/uploads/img/201904/12195340_fPe0.png "在这里输入图片标题") -HeaderInfo.vue:上下文字布局(如下图) -![输入图片说明](https://static.oschina.net/uploads/img/201904/12195638_dG5o.png "在这里输入图片标题") -Logo.vue:首页左上侧的log图 -![输入图片说明](https://static.oschina.net/uploads/img/201904/12200908_ihv3.png "在这里输入图片标题") -UserMenu.vue:首页右上侧的内容 -![输入图片说明](https://static.oschina.net/uploads/img/201904/12201226_laQK.png "在这里输入图片标题") -####16.trend包 趋势显示组件(如下图) -![输入图片说明](https://static.oschina.net/uploads/img/201904/12201600_Wo8K.png "在这里输入图片标题") -![cron表达式](https://oscimg.oschina.net/oscnet/661f9ac09016395f9f49286143af3241623.jpg) -![cron控件添加清除按钮](https://oscimg.oschina.net/oscnet/15096e49f2e29bd829e304d56770025d03c.jpg) \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/Trend/Trend.vue b/ant-design-vue-jeecg/src/components/Trend/Trend.vue deleted file mode 100644 index 4cc88538..00000000 --- a/ant-design-vue-jeecg/src/components/Trend/Trend.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/Trend/index.js b/ant-design-vue-jeecg/src/components/Trend/index.js deleted file mode 100644 index 761366d5..00000000 --- a/ant-design-vue-jeecg/src/components/Trend/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import Trend from './Trend.vue' - -export default Trend \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/Trend/index.less b/ant-design-vue-jeecg/src/components/Trend/index.less deleted file mode 100644 index 8a3d24cf..00000000 --- a/ant-design-vue-jeecg/src/components/Trend/index.less +++ /dev/null @@ -1,42 +0,0 @@ -@import "../index"; - -@trend-prefix-cls: ~"@{ant-pro-prefix}-trend"; - -.@{trend-prefix-cls} { - display: inline-block; - font-size: @font-size-base; - line-height: 22px; - - .up, - .down { - margin-left: 4px; - position: relative; - top: 1px; - - i { - font-size: 12px; - transform: scale(0.83); - } - } - - .item-text { - display: inline-block; - margin-left: 8px; - color: rgba(0,0,0,.85); - } - - .up { - color: @red-6; - } - .down { - color: @green-6; - top: -1px; - } - - &.reverse-color .up { - color: @green-6; - } - &.reverse-color .down { - color: @red-6; - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/_util/Area.js b/ant-design-vue-jeecg/src/components/_util/Area.js deleted file mode 100644 index a68675e6..00000000 --- a/ant-design-vue-jeecg/src/components/_util/Area.js +++ /dev/null @@ -1,85 +0,0 @@ -import Vue from 'vue' -/** - * 省市区 - */ -export default class Area { - /** - * 构造器 - * @param express - */ - constructor(pcaa) { - if(!pcaa){ - pcaa = Vue.prototype.$Jpcaa; - } - let arr = [] - const province = pcaa['86'] - Object.keys(province).map(key=>{ - arr.push({id:key, text:province[key], pid:'86', index:1}); - const city = pcaa[key]; - Object.keys(city).map(key2=>{ - arr.push({id:key2, text:city[key2], pid:key, index:2}); - const qu = pcaa[key2]; - if(qu){ - Object.keys(qu).map(key3=>{ - arr.push({id:key3, text:qu[key3], pid:key2, index:3}); - }) - } - }) - }) - this.all = arr; - } - - get pca(){ - return this.all; - } - - getCode(text){ - if(!text || text.length==0){ - return '' - } - for(let item of this.all){ - if(item.text === text){ - return item.id; - } - } - } - - getText(code){ - if(!code || code.length==0){ - return '' - } - let arr = [] - this.getAreaBycode(code, arr, 3); - return arr.join('/') - } - - getRealCode(code){ - let arr = [] - this.getPcode(code, arr, 3) - return arr; - } - - getPcode(id, arr, index){ - for(let item of this.all){ - if(item.id === id && item.index == index){ - arr.unshift(id) - if(item.pid != '86'){ - this.getPcode(item.pid, arr, --index) - } - } - } - } - - getAreaBycode(code, arr, index){ - for(let item of this.all){ - if(item.id === code && item.index == index){ - arr.unshift(item.text); - if(item.pid != '86'){ - this.getAreaBycode(item.pid, arr, --index) - } - - } - } - } - -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/_util/StringUtil.js b/ant-design-vue-jeecg/src/components/_util/StringUtil.js deleted file mode 100644 index 3977832b..00000000 --- a/ant-design-vue-jeecg/src/components/_util/StringUtil.js +++ /dev/null @@ -1,46 +0,0 @@ -/** - * 获取字符串的长度ascii长度为1 中文长度为2 - * @param str - * @returns {number} - */ -export const getStrFullLength = (str = '') => - str.split('').reduce((pre, cur) => { - const charCode = cur.charCodeAt(0) - if (charCode >= 0 && charCode <= 128) { - return pre + 1 - } - return pre + 2 - }, 0) - -/** - * 给定一个字符串和一个长度,将此字符串按指定长度截取 - * @param str - * @param maxLength - * @returns {string} - */ -export const cutStrByFullLength = (str = '', maxLength) => { - let showLength = 0 - return str.split('').reduce((pre, cur) => { - const charCode = cur.charCodeAt(0) - if (charCode >= 0 && charCode <= 128) { - showLength += 1 - } else { - showLength += 2 - } - if (showLength <= maxLength) { - return pre + cur - } - return pre - }, '') -} - -// 下划线转换驼峰 -export function underLinetoHump(name) { - return name.replace(/\_(\w)/g, function(all, letter){ - return letter.toUpperCase(); - }); -} -// 驼峰转换下划线 -export function humptoUnderLine(name) { - return name.replace(/([A-Z])/g,"_$1").toLowerCase(); -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/_util/util.js b/ant-design-vue-jeecg/src/components/_util/util.js deleted file mode 100644 index 98752a94..00000000 --- a/ant-design-vue-jeecg/src/components/_util/util.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * components util - */ - -/** - * 清理空值,对象 - * @param children - * @returns {*[]} - */ -export function filterEmpty (children = []) { - return children.filter(c => c.tag || (c.text && c.text.trim() !== '')) -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/AreaChartTy.vue b/ant-design-vue-jeecg/src/components/chart/AreaChartTy.vue deleted file mode 100644 index 3d201e79..00000000 --- a/ant-design-vue-jeecg/src/components/chart/AreaChartTy.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/Bar.vue b/ant-design-vue-jeecg/src/components/chart/Bar.vue deleted file mode 100644 index 52832d4f..00000000 --- a/ant-design-vue-jeecg/src/components/chart/Bar.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/BarAndLine.vue b/ant-design-vue-jeecg/src/components/chart/BarAndLine.vue deleted file mode 100644 index 549a31c4..00000000 --- a/ant-design-vue-jeecg/src/components/chart/BarAndLine.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/BarMultid.vue b/ant-design-vue-jeecg/src/components/chart/BarMultid.vue deleted file mode 100644 index 3e21e940..00000000 --- a/ant-design-vue-jeecg/src/components/chart/BarMultid.vue +++ /dev/null @@ -1,96 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/DashChartDemo.vue b/ant-design-vue-jeecg/src/components/chart/DashChartDemo.vue deleted file mode 100644 index c2ebf084..00000000 --- a/ant-design-vue-jeecg/src/components/chart/DashChartDemo.vue +++ /dev/null @@ -1,187 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/components/chart/IndexBar.vue b/ant-design-vue-jeecg/src/components/chart/IndexBar.vue deleted file mode 100644 index 2e44d96a..00000000 --- a/ant-design-vue-jeecg/src/components/chart/IndexBar.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/LineChartMultid.vue b/ant-design-vue-jeecg/src/components/chart/LineChartMultid.vue deleted file mode 100644 index 68a85345..00000000 --- a/ant-design-vue-jeecg/src/components/chart/LineChartMultid.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/Liquid.vue b/ant-design-vue-jeecg/src/components/chart/Liquid.vue deleted file mode 100644 index 85e5b617..00000000 --- a/ant-design-vue-jeecg/src/components/chart/Liquid.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/MiniArea.vue b/ant-design-vue-jeecg/src/components/chart/MiniArea.vue deleted file mode 100644 index 97c8ff70..00000000 --- a/ant-design-vue-jeecg/src/components/chart/MiniArea.vue +++ /dev/null @@ -1,69 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/MiniBar.vue b/ant-design-vue-jeecg/src/components/chart/MiniBar.vue deleted file mode 100644 index 9dd6bca7..00000000 --- a/ant-design-vue-jeecg/src/components/chart/MiniBar.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/MiniProgress.vue b/ant-design-vue-jeecg/src/components/chart/MiniProgress.vue deleted file mode 100644 index e6668288..00000000 --- a/ant-design-vue-jeecg/src/components/chart/MiniProgress.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/Pie.vue b/ant-design-vue-jeecg/src/components/chart/Pie.vue deleted file mode 100644 index 750e2030..00000000 --- a/ant-design-vue-jeecg/src/components/chart/Pie.vue +++ /dev/null @@ -1,70 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/README.md b/ant-design-vue-jeecg/src/components/chart/README.md deleted file mode 100644 index d2789c81..00000000 --- a/ant-design-vue-jeecg/src/components/chart/README.md +++ /dev/null @@ -1,367 +0,0 @@ -# 报表组件文档 - -## 柱状图 - -##### 引用方式 - -```js -import Bar from '@/components/chart/Bar' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|------------|--------|----|------------| -| title | string | | 报表标题 | -| dataSource | array | ✔️ | 报表数据源 | -| height | number | | 报表高度,默认254 | - -##### dataSource 示例 - -```json -[ - { - "x": "1月", - "y": 320 - }, - { - "x": "2月", - "y": 457 - }, - { - "x": "3月", - "y": 182 - } -] -``` - -##### 代码示例 - -```html - - - - - -``` - -## 多列柱状图 - -##### 引用方式 - -```js -import BarMultid from '@/components/chart/BarMultid' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|------------|--------|----|------------| -| title | string | | 报表标题 | -| fields | array | | 主列字段列表 | -| dataSource | array | | 报表数据源 | -| height | number | | 报表高度,默认254 | - -##### fields 示例 - -```json -["Jan.", "Feb.", "Mar.", "Apr.", "May", "Jun.", "Jul.", "Aug."] -``` - -##### dataSource 示例 - -```json -[ - { - "type": "Jeecg", // 列名 - "Jan.": 18.9, - "Feb.": 28.8, - "Mar.": 39.3, - "Apr.": 81.4, - "May": 47, - "Jun.": 20.3, - "Jul.": 24, - "Aug.": 35.6 - }, - { - "type": "Jeebt", - "Jan.": 12.4, - "Feb.": 23.2, - "Mar.": 34.5, - "Apr.": 99.7, - "May": 52.6, - "Jun.": 35.5, - "Jul.": 37.4, - "Aug.": 42.4 - } -] -``` - -## 迷你柱状图 - -不带标题和数据轴的柱状图 - -##### 引用方式 - -```js -import MiniBar from '@/components/chart/MiniBar' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|------------|--------|----|---------------| -| width | number | | 报表宽度度,默认自适应宽度 | -| height | number | | 报表高度,默认200 | -| dataSource | array | | 报表数据源 | - -##### dataSource 示例 - -```json -[ - { - "x": "1月", - "y": 320 - }, - { - "x": "2月", - "y": 457 - }, - { - "x": "3月", - "y": 182 - } -] -``` - -## 面积图 - -##### 引用方式 - -```js -import AreaChartTy from '@/components/chart/AreaChartTy' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|------------|--------|----|------------| -| title | string | | 报表标题 | -| dataSource | array | ✔️ | 报表数据源 | -| height | number | | 报表高度,默认254 | -| lineSize | number | | 线的粗细,默认2 | - -##### dataSource 示例 - -```json -[ - { - "x": "1月", - "y": 320 - }, - { - "x": "2月", - "y": 457 - }, - { - "x": "3月", - "y": 182 - } -] -``` - -## 多行折线图 - -##### 引用方式 - -```js -import LineChartMultid from '@/components/chart/LineChartMultid' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|------------|--------|----|------------| -| title | string | | 报表标题 | -| fields | array | | 主列字段列表 | -| dataSource | array | | 报表数据源 | -| height | number | | 报表高度,默认254 | - -##### fields 示例 - -```json -["jeecg", "jeebt"] -``` - -##### dataSource 示例 - -```json -[ - { - "type": "Jan", // 列名 - "jeecg": 7, - "jeebt": 3.9 - }, - { "type": "Feb", "jeecg": 6.9, "jeebt": 4.2 }, - { "type": "Mar", "jeecg": 9.5, "jeebt": 5.7 }, - { "type": "Apr", "jeecg": 14.5, "jeebt": 8.5 }, - { "type": "May", "jeecg": 18.4, "jeebt": 11.9 }, - { "type": "Jun", "jeecg": 21.5, "jeebt": 15.2 }, - { "type": "Jul", "jeecg": 25.2, "jeebt": 17 }, - { "type": "Aug", "jeecg": 26.5, "jeebt": 16.6 }, - { "type": "Sep", "jeecg": 23.3, "jeebt": 14.2 }, - { "type": "Oct", "jeecg": 18.3, "jeebt": 10.3 }, - { "type": "Nov", "jeecg": 13.9, "jeebt": 6.6 }, - { "type": "Dec", "jeecg": 9.6, "jeebt": 4.8 } -] -``` - -## 饼状图 - -##### 引用方式 - -```js -import Pie from '@/components/chart/Pie' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|------------|--------|----|------------| -| dataSource | array | | 报表数据源 | -| height | number | | 报表高度,默认254 | - -##### dataSource 示例 - -```json -[ - // 所有的 percent 相加等于 100 - { "item": "一月", "percent": 40 }, - { "item": "二月", "percent": 21 }, - { "item": "三月", "percent": 17 }, - { "item": "四月", "percent": 13 }, - { "item": "五月", "percent": 9 } -] -``` - -## 雷达图 - -##### 引用方式 - -```js -import Radar from '@/components/chart/Radar' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|------------|--------|----|------------| -| dataSource | array | | 报表数据源 | -| height | number | | 报表高度,默认254 | - -##### dataSource 示例 - -```json -[ - // score 最小值为 0,最大值为 100 - { "item": "一月", "score": 40 }, - { "item": "二月", "score": 20 }, - { "item": "三月", "score": 67 }, - { "item": "四月", "score": 43 }, - { "item": "五月", "score": 90 } -] -``` - -## 进度条 - -##### 引用方式 - -```js -import MiniProgress from '@/components/chart/MiniProgress' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|------------|--------|----|-------------------| -| percentage | number | | 当前进度百分比,默认0,最高100 | -| target | number | | 目标值,默认10 | -| height | number | | 进度条高度,默认10 | -| color | string | | 进度条颜色,默认 #13C2C2 | - -## 仪表盘 - -##### 引用方式 - -```js -import DashChartDemo from '@/components/chart/DashChartDemo' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|--------|--------|----|----------------| -| title | string | | 报表标题 | -| value | number | | 当前值,默认6.7,最大为9 | -| height | number | | 报表高度,默认254 | - -## 排名列表 - -##### 引用方式 - -```js -import RankList from '@/components/chart/RankList' -``` - -##### 参数列表 - -| 参数名 | 类型 | 必填 | 说明 | -|--------|--------|----|--------------| -| title | string | | 报表标题 | -| list | array | | 排名列表数据 | -| height | number | | 报表高度,默认自适应高度 | - -##### list 示例 - -```json -[ - { - "name": "北京朝阳 1 号店", - "total": 1981 - }, - { "name": "北京朝阳 2 号店", "total": 1359 }, - { "name": "北京朝阳 3 号店", "total": 1354 }, - { "name": "北京朝阳 4 号店", "total": 263 }, - { "name": "北京朝阳 5 号店", "total": 446 }, - { "name": "北京朝阳 6 号店", "total": 796 } -] -``` \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/Radar.vue b/ant-design-vue-jeecg/src/components/chart/Radar.vue deleted file mode 100644 index b7b30b05..00000000 --- a/ant-design-vue-jeecg/src/components/chart/Radar.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/RankList.vue b/ant-design-vue-jeecg/src/components/chart/RankList.vue deleted file mode 100644 index f5d68fea..00000000 --- a/ant-design-vue-jeecg/src/components/chart/RankList.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/StackBar.vue b/ant-design-vue-jeecg/src/components/chart/StackBar.vue deleted file mode 100644 index 01b566f5..00000000 --- a/ant-design-vue-jeecg/src/components/chart/StackBar.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/TransferBar.vue b/ant-design-vue-jeecg/src/components/chart/TransferBar.vue deleted file mode 100644 index bb953e9f..00000000 --- a/ant-design-vue-jeecg/src/components/chart/TransferBar.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/Trend.vue b/ant-design-vue-jeecg/src/components/chart/Trend.vue deleted file mode 100644 index 1ca1deb8..00000000 --- a/ant-design-vue-jeecg/src/components/chart/Trend.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/chart.less b/ant-design-vue-jeecg/src/components/chart/chart.less deleted file mode 100644 index e04fa095..00000000 --- a/ant-design-vue-jeecg/src/components/chart/chart.less +++ /dev/null @@ -1,13 +0,0 @@ -.antv-chart-mini { - position: relative; - width: 100%; - - .chart-wrapper { - position: absolute; - bottom: -28px; - width: 100%; - -/* margin: 0 -5px; - overflow: hidden;*/ - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/chart/mixins/ChartMixins.js b/ant-design-vue-jeecg/src/components/chart/mixins/ChartMixins.js deleted file mode 100644 index f99c0bd3..00000000 --- a/ant-design-vue-jeecg/src/components/chart/mixins/ChartMixins.js +++ /dev/null @@ -1,10 +0,0 @@ -export const ChartEventMixins = { - methods: { - handleClick(event, chart) { - this.handleEvent('click', event, chart) - }, - handleEvent(eventName, event, chart) { - this.$emit(eventName, event, chart) - }, - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/dict/JDictSelectTag.vue b/ant-design-vue-jeecg/src/components/dict/JDictSelectTag.vue deleted file mode 100644 index 947ef954..00000000 --- a/ant-design-vue-jeecg/src/components/dict/JDictSelectTag.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/dict/JDictSelectUtil.js b/ant-design-vue-jeecg/src/components/dict/JDictSelectUtil.js deleted file mode 100644 index a735f3fb..00000000 --- a/ant-design-vue-jeecg/src/components/dict/JDictSelectUtil.js +++ /dev/null @@ -1,147 +0,0 @@ -/** - * 字典 util - * author: scott - * date: 20190109 - */ - -import {ajaxGetDictItems,getDictItemsFromCache} from '@/api/api' -import {getAction} from '@/api/manage' - -/** - * 获取字典数组 - * @param dictCode 字典Code - * @return List - */ -export async function initDictOptions(dictCode) { - if (!dictCode) { - return '字典Code不能为空!'; - } - //优先从缓存中读取字典配置 - if(getDictItemsFromCache(dictCode)){ - let res = {} - res.result = getDictItemsFromCache(dictCode); - res.success = true; - return res; - } - //获取字典数组 - let res = await ajaxGetDictItems(dictCode); - return res; -} - -/** - * 字典值替换文本通用方法 - * @param dictOptions 字典数组 - * @param text 字典值 - * @return String - */ -export function filterDictText(dictOptions, text) { - // --update-begin----author:sunjianlei---date:20200323------for: 字典翻译 text 允许逗号分隔 --- - if (text != null && Array.isArray(dictOptions)) { - let result = [] - // 允许多个逗号分隔,允许传数组对象 - let splitText - if (Array.isArray(text)) { - splitText = text - } else { - splitText = text.toString().trim().split(',') - } - for (let txt of splitText) { - let dictText = txt - for (let dictItem of dictOptions) { - if (txt.toString() === dictItem.value.toString()) { - dictText = (dictItem.text || dictItem.title || dictItem.label) - break - } - } - result.push(dictText) - } - return result.join(',') - } - return text - // --update-end----author:sunjianlei---date:20200323------for: 字典翻译 text 允许逗号分隔 --- -} - -/** - * 字典值替换文本通用方法(多选) - * @param dictOptions 字典数组 - * @param text 字典值 - * @return String - */ -export function filterMultiDictText(dictOptions, text) { - //js “!text” 认为0为空,所以做提前处理 - if(text === 0 || text === '0'){ - if(dictOptions){ - for (let dictItem of dictOptions) { - if (text == dictItem.value) { - return dictItem.text - } - } - } - } - - if(!text || text=='null' || !dictOptions || dictOptions.length==0){ - return "" - } - let re = ""; - text = text.toString() - let arr = text.split(",") - dictOptions.forEach(function (option) { - if(option){ - for(let i=0;i t["value"] == key) - if(item && item.length>0){ - return item[0]["text"] - } - } -} - -/** 通过code获取字典数组 */ -export async function getDictItems(dictCode, params) { - //优先从缓存中读取字典配置 - if(getDictItemsFromCache(dictCode)){ - let desformDictItems = getDictItemsFromCache(dictCode).map(item => ({...item, label: item.text})) - return desformDictItems; - } - - //缓存中没有,就请求后台 - return await ajaxGetDictItems(dictCode, params).then(({success, result}) => { - if (success) { - let res = result.map(item => ({...item, label: item.text})) - console.log('------- 从DB中获取到了字典-------dictCode : ', dictCode, res) - return Promise.resolve(res) - } else { - console.error('getDictItems error: : ', res) - return Promise.resolve([]) - } - }).catch((res) => { - console.error('getDictItems error: ', res) - return Promise.resolve([]) - }) -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/dict/JMultiSelectTag.vue b/ant-design-vue-jeecg/src/components/dict/JMultiSelectTag.vue deleted file mode 100644 index 66f9ba9d..00000000 --- a/ant-design-vue-jeecg/src/components/dict/JMultiSelectTag.vue +++ /dev/null @@ -1,132 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/components/dict/JSearchSelectTag.vue b/ant-design-vue-jeecg/src/components/dict/JSearchSelectTag.vue deleted file mode 100644 index 28695f51..00000000 --- a/ant-design-vue-jeecg/src/components/dict/JSearchSelectTag.vue +++ /dev/null @@ -1,270 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/dict/README.md b/ant-design-vue-jeecg/src/components/dict/README.md deleted file mode 100644 index 4106df04..00000000 --- a/ant-design-vue-jeecg/src/components/dict/README.md +++ /dev/null @@ -1,181 +0,0 @@ -# JDictSelectTag 组件用法 ----- -- 从字典表获取数据,dictCode格式说明: 字典code -```html - -``` - -v-decorator用法: -```html - -``` - -- 从数据库表获取字典数据,dictCode格式说明: 表名,文本字段,取值字段 -```html - -``` - - - -# JDictSelectUtil.js 列表字典函数用法 ----- - -- 第一步: 引入依赖方法 -```html - import {initDictOptions, filterDictText} from '@/components/dict/JDictSelectUtil' -``` - -- 第二步: 在created()初始化方法执行字典配置方法 -```html - //初始化字典配置 - this.initDictConfig(); -``` - -- 第三步: 实现initDictConfig方法,加载列表所需要的字典(列表上有多个字典项,就执行多次initDictOptions方法) - -```html - initDictConfig() { - //初始化字典 - 性别 - initDictOptions('sex').then((res) => { - if (res.success) { - this.sexDictOptions = res.result; - } - }); - }, -``` - -- 第四步: 实现字段的customRender方法 -```html - customRender: (text, record, index) => { - //字典值替换通用方法 - return filterDictText(this.sexDictOptions, text); - } -``` - - -# JMultiSelectTag 多选组件 -下拉/checkbox - -## 参数配置 -| 参数 | 类型 | 必填 |说明| -|--------------|---------|----|---------| -| placeholder |string | | placeholder | -| disabled |Boolean | | 是否禁用 | -| type |string | | 多选类型 select/checkbox 默认是select | -| dictCode |string | | 数据字典编码或者表名,显示字段名,存储字段名拼接而成的字符串,如果提供了options参数 则此参数可不填| -| options |Array | | 多选项,如果dictCode参数未提供,可以设置此参数加载多选项 | - -使用示例 ----- -```vue - - - -``` - -# JSearchSelectTag 字典表的搜索组件 -下拉搜索组件,支持异步加载,异步加载用于大数据量的字典表 - -## 参数配置 -| 参数 | 类型 | 必填 |说明| -|--------------|---------|----|---------| -| placeholder |string | | placeholder | -| disabled |Boolean | | 是否禁用 | -| dict |string | | 表名,显示字段名,存储字段名拼接而成的字符串,如果提供了dictOptions参数 则此参数可不填| -| dictOptions |Array | | 多选项,如果dict参数未提供,可以设置此参数加载多选项 | -| async |Boolean | | 是否支持异步加载,设置成true,则通过输入的内容加载远程数据,否则在本地过滤数据,默认false| - -使用示例 ----- -```vue - - - -``` - diff --git a/ant-design-vue-jeecg/src/components/dict/index.js b/ant-design-vue-jeecg/src/components/dict/index.js deleted file mode 100644 index 23400a72..00000000 --- a/ant-design-vue-jeecg/src/components/dict/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import JDictSelectTag from './JDictSelectTag.vue' -import JMultiSelectTag from './JMultiSelectTag.vue' -import JSearchSelectTag from './JSearchSelectTag.vue' -import { filterMultiDictText,filterDictText,initDictOptions,filterDictTextByCache } from './JDictSelectUtil' - -export default { - install: function (Vue) { - Vue.component('JDictSelectTag',JDictSelectTag); - Vue.component('JMultiSelectTag',JMultiSelectTag); - Vue.component('JSearchSelectTag',JSearchSelectTag); - Vue.prototype.$initDictOptions = (dictCode) => initDictOptions(dictCode) - Vue.prototype.$filterMultiDictText = (dictOptions, text) => filterMultiDictText(dictOptions, text) - Vue.prototype.$filterDictText = (dictOptions, text) => filterDictText(dictOptions, text) - Vue.prototype.$filterDictTextByCache = (...param) => filterDictTextByCache(...param) - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/index.less b/ant-design-vue-jeecg/src/components/index.less deleted file mode 100644 index d8c97bbd..00000000 --- a/ant-design-vue-jeecg/src/components/index.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "~ant-design-vue/lib/style/index"; - -// The prefix to use on all css classes from ant-pro. -@ant-pro-prefix : ant-pro; \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JAreaLinkage.vue b/ant-design-vue-jeecg/src/components/jeecg/JAreaLinkage.vue deleted file mode 100644 index 4cf8291f..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JAreaLinkage.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JCategorySelect.vue b/ant-design-vue-jeecg/src/components/jeecg/JCategorySelect.vue deleted file mode 100644 index 24ee6220..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JCategorySelect.vue +++ /dev/null @@ -1,243 +0,0 @@ - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JCheckbox.vue b/ant-design-vue-jeecg/src/components/jeecg/JCheckbox.vue deleted file mode 100644 index a3c70f6a..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JCheckbox.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JCodeEditor.vue b/ant-design-vue-jeecg/src/components/jeecg/JCodeEditor.vue deleted file mode 100644 index 9064df1a..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JCodeEditor.vue +++ /dev/null @@ -1,483 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JCron.vue b/ant-design-vue-jeecg/src/components/jeecg/JCron.vue deleted file mode 100644 index f873bdba..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JCron.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JDate.vue b/ant-design-vue-jeecg/src/components/jeecg/JDate.vue deleted file mode 100644 index 4679c361..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JDate.vue +++ /dev/null @@ -1,86 +0,0 @@ - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/EasyCron.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/EasyCron.vue deleted file mode 100644 index 26a14331..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/EasyCron.vue +++ /dev/null @@ -1,317 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/InputCron.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/InputCron.vue deleted file mode 100644 index 868d4b35..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/InputCron.vue +++ /dev/null @@ -1,99 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/format-date.js b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/format-date.js deleted file mode 100644 index 8a55974f..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/format-date.js +++ /dev/null @@ -1,37 +0,0 @@ -const dateFormat = (date, block) => { - if (!date) { - return '' - } - - let format = block || 'yyyy-MM-dd' - - date = new Date(date) - - const map = { - M: date.getMonth() + 1, // 月份 - d: date.getDate(), // 日 - h: date.getHours(), // 小时 - m: date.getMinutes(), // 分 - s: date.getSeconds(), // 秒 - q: Math.floor((date.getMonth() + 3) / 3), // 季度 - S: date.getMilliseconds() // 毫秒 - } - - format = format.replace(/([yMdhmsqS])+/g, (all, t) => { - let v = map[t] - if (v !== undefined) { - if (all.length > 1) { - v = `0${v}` - v = v.substr(v.length - 2) - } - return v - } else if (t === 'y') { - return (date.getFullYear().toString()).substr(4 - all.length) - } - return all - }) - - return format -} - -export default dateFormat diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/index.js b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/index.js deleted file mode 100644 index f7f46244..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/index.js +++ /dev/null @@ -1,6 +0,0 @@ -// 原开源项目地址:https://gitee.com/toktok/easy-cron - -import InputCron from './InputCron.vue' - -InputCron.name = 'JEasyCron' -export default InputCron \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/const.js b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/const.js deleted file mode 100644 index 67cfa75a..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/const.js +++ /dev/null @@ -1,21 +0,0 @@ -export const WEEK_MAP_EN = { - 'SUN': '1', - 'MON': '2', - 'TUE': '3', - 'WED': '4', - 'THU': '5', - 'FRI': '6', - 'SAT': '7' -} - -export const replaceWeekName = (c) => { - // console.info('after: ' + c) - if (c) { - Object.keys(WEEK_MAP_EN).forEach(k => { - c = c.replace(new RegExp(k, 'g'), WEEK_MAP_EN[k]) - }) - // c = c.replace(new RegExp('7', 'g'), '0') - } - // console.info('after: ' + c) - return c -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/day.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/day.vue deleted file mode 100644 index 4d46ff26..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/day.vue +++ /dev/null @@ -1,101 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/hour.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/hour.vue deleted file mode 100644 index f869b31d..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/hour.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/minute.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/minute.vue deleted file mode 100644 index 0dc58b7a..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/minute.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/mixin.js b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/mixin.js deleted file mode 100644 index add41b69..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/mixin.js +++ /dev/null @@ -1,162 +0,0 @@ -// 主要用于日和星期的互斥使用 -const TYPE_NOT_SET = 'TYPE_NOT_SET' -const TYPE_EVERY = 'TYPE_EVERY' -const TYPE_RANGE = 'TYPE_RANGE' -const TYPE_LOOP = 'TYPE_LOOP' -const TYPE_WORK = 'TYPE_WORK' -const TYPE_LAST = 'TYPE_LAST' -const TYPE_SPECIFY = 'TYPE_SPECIFY' - -const DEFAULT_VALUE = '?' - -export default { - model: { - prop: 'prop', - event: 'change' - }, - props: { - prop: { - type: String, - default: DEFAULT_VALUE - }, - disabled: { - type: Boolean, - default: false - } - }, - data () { - const type = TYPE_EVERY - return { - DEFAULT_VALUE, - // 类型 - type, - // 启用日或者星期互斥用 - TYPE_NOT_SET, - TYPE_EVERY, - TYPE_RANGE, - TYPE_LOOP, - TYPE_WORK, - TYPE_LAST, - TYPE_SPECIFY, - // 对于不同的类型,所定义的值也有所不同 - valueRange: { - start: 0, - end: 0 - }, - valueLoop: { - start: 0, - interval: 1 - }, - valueWeek: { - start: 0, - end: 0 - }, - valueList: [], - valueWork: 1, - maxValue: 0, - minValue: 0 - } - }, - watch: { - prop (newVal, oldVal) { - if (newVal === this.value_c) { - // console.info('skip ' + newVal) - return - } - this.parseProp(newVal) - } - }, - computed: { - value_c () { - let result = [] - switch (this.type) { - case TYPE_NOT_SET: - result.push('?') - break - case TYPE_EVERY: - result.push('*') - break - case TYPE_RANGE: - result.push(`${this.valueRange.start}-${this.valueRange.end}`) - break - case TYPE_LOOP: - result.push(`${this.valueLoop.start}/${this.valueLoop.interval}`) - break - case TYPE_WORK: - result.push(`${this.valueWork}W`) - break - case TYPE_LAST: - result.push('L') - break - case TYPE_SPECIFY: - if (this.valueList.length === 0) { - this.valueList.push(this.minValue) - } - result.push(this.valueList.join(',')) - break - default: - result.push(this.DEFAULT_VALUE) - break - } - return result.length > 0 ? result.join('') : this.DEFAULT_VALUE - }, - // 指定值范围区间,介于最小值和最大值之间 - specifyRange() { - let range = [] - for (let i = this.minValue; i <= this.maxValue; i++) { - range.push(i) - } - return range - }, - }, - methods: { - parseProp (value) { - if (value === this.value_c) { - // console.info('same ' + value) - return - } - if (typeof (this.preProcessProp) === 'function') { - value = this.preProcessProp(value) - } - try { - if (!value || value === this.DEFAULT_VALUE) { - this.type = TYPE_EVERY - } else if (value.indexOf('?') >= 0) { - this.type = TYPE_NOT_SET - } else if (value.indexOf('-') >= 0) { - this.type = TYPE_RANGE - const values = value.split('-') - if (values.length >= 2) { - this.valueRange.start = parseInt(values[0]) - this.valueRange.end = parseInt(values[1]) - } - } else if (value.indexOf('/') >= 0) { - this.type = TYPE_LOOP - const values = value.split('/') - if (values.length >= 2) { - this.valueLoop.start = value[0] === '*' ? 0 : parseInt(values[0]) - this.valueLoop.interval = parseInt(values[1]) - } - } else if (value.indexOf('W') >= 0) { - this.type = TYPE_WORK - const values = value.split('W') - if (!values[0] && !isNaN(values[0])) { - this.valueWork = parseInt(values[0]) - } - } else if (value.indexOf('L') >= 0) { - this.type = TYPE_LAST - const values = value.split('L') - this.valueLast = parseInt(values[0]) - } else if (value.indexOf(',') >= 0 || !isNaN(value)) { - this.type = TYPE_SPECIFY - this.valueList = value.split(',').map(item => parseInt(item)) - } else { - this.type = TYPE_EVERY - } - } catch (e) { - // console.info(e) - this.type = TYPE_EVERY - } - } - } -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/mixin.less b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/mixin.less deleted file mode 100644 index 8f0d36e6..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/mixin.less +++ /dev/null @@ -1,42 +0,0 @@ - -.config-list { - text-align: left; - margin: 0 10px 10px 10px; -} - -.item { - margin-top: 5px; -} - -.choice { - padding: 5px 8px; -} - - -.w60 { - width: 60px; -} -.w80 { - width: 80px; -} - -.list { - margin: 0 20px; -} - -.list-check-item { - padding: 1px 3px; - width: 4em; -} - -.week { - .list-check-item { - width: 5em; - text-align: left; - } -} - -.tip-info { - color: #999 -} - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/month.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/month.vue deleted file mode 100644 index 99a9a62e..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/month.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/second.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/second.vue deleted file mode 100644 index c3fb4d63..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/second.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/week.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/week.vue deleted file mode 100644 index 0711c25c..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/week.vue +++ /dev/null @@ -1,118 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/year.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/year.vue deleted file mode 100644 index 7d4bbdb4..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/year.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/validator.js b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/validator.js deleted file mode 100644 index f38daca7..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/validator.js +++ /dev/null @@ -1,51 +0,0 @@ -import CronParser from 'cron-parser' -import { replaceWeekName } from './tabs/const' - -export default (rule, value, callback) => { - // 没填写就不校验 - if (!value) { - callback() - return true - } - const values = value.split(' ').filter(item => !!item) - if (values.length > 7) { - callback(new Error('Cron表达式最多7项!')) - return false - } - // 检查第7项 - let e = value - if (values.length === 7) { - const year = replaceWeekName(values[6]) - if (year !== '*' && year !== '?') { - let yearValues = [] - if (year.indexOf('-') >= 0) { - yearValues = year.split('-') - } else if (year.indexOf('/')) { - yearValues = year.split('/') - } else { - yearValues = [year] - } - // console.info(yearValues) - // 判断是否都是数字 - const checkYear = yearValues.some(item => isNaN(item)) - if (checkYear) { - callback(new Error('Cron表达式参数[年]错误:' + year)) - return false - } - } - // 取其中的前六项 - e = values.slice(0, 6).join(' ') - } - // 6位 没有年 - // 5位没有秒、年 - let result = true - try { - const iter = CronParser.parseExpression(e) - iter.next() - callback() - } catch (e) { - callback(new Error('Cron表达式错误:' + e)) - result = false - } - return result -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEditableTable.vue b/ant-design-vue-jeecg/src/components/jeecg/JEditableTable.vue deleted file mode 100644 index cb378f35..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEditableTable.vue +++ /dev/null @@ -1,3483 +0,0 @@ - - - - - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEditor.vue b/ant-design-vue-jeecg/src/components/jeecg/JEditor.vue deleted file mode 100644 index 91780351..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEditor.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEllipsis.vue b/ant-design-vue-jeecg/src/components/jeecg/JEllipsis.vue deleted file mode 100644 index 627113f4..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JEllipsis.vue +++ /dev/null @@ -1,29 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JFormContainer.vue b/ant-design-vue-jeecg/src/components/jeecg/JFormContainer.vue deleted file mode 100644 index 0aa2c325..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JFormContainer.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JImageUpload.vue b/ant-design-vue-jeecg/src/components/jeecg/JImageUpload.vue deleted file mode 100644 index 4665b412..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JImageUpload.vue +++ /dev/null @@ -1,239 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JImportModal.vue b/ant-design-vue-jeecg/src/components/jeecg/JImportModal.vue deleted file mode 100644 index d231ab1e..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JImportModal.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JInput.vue b/ant-design-vue-jeecg/src/components/jeecg/JInput.vue deleted file mode 100644 index 998978ca..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JInput.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JMarkdownEditor/default-options.js b/ant-design-vue-jeecg/src/components/jeecg/JMarkdownEditor/default-options.js deleted file mode 100644 index 6c7394c3..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JMarkdownEditor/default-options.js +++ /dev/null @@ -1,29 +0,0 @@ -export default { - minHeight: '200px', - previewStyle: 'vertical', - useCommandShortcut: true, - useDefaultHTMLSanitizer: true, - usageStatistics: false, - hideModeSwitch: false, - toolbarItems: [ - 'heading', - 'bold', - 'italic', - 'strike', - 'divider', - 'hr', - 'quote', - 'divider', - 'ul', - 'ol', - 'task', - 'indent', - 'outdent', - 'divider', - 'table', - 'link', - 'divider', - 'code', - 'codeblock' - ] -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JMarkdownEditor/index.vue b/ant-design-vue-jeecg/src/components/jeecg/JMarkdownEditor/index.vue deleted file mode 100644 index bd6da460..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JMarkdownEditor/index.vue +++ /dev/null @@ -1,255 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JModal/JModal.vue b/ant-design-vue-jeecg/src/components/jeecg/JModal/JModal.vue deleted file mode 100644 index e282765e..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JModal/JModal.vue +++ /dev/null @@ -1,261 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JModal/JPrompt.vue b/ant-design-vue-jeecg/src/components/jeecg/JModal/JPrompt.vue deleted file mode 100644 index 9d7f8556..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JModal/JPrompt.vue +++ /dev/null @@ -1,124 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JModal/ModalDragMixins.js b/ant-design-vue-jeecg/src/components/jeecg/JModal/ModalDragMixins.js deleted file mode 100644 index cfd1c33d..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JModal/ModalDragMixins.js +++ /dev/null @@ -1,152 +0,0 @@ -import {getRefPromise} from '@/utils/util' - -/** JModal 的拖拽混入 */ -export default { - data() { - return { - // 拖动配置 - dragSettings: { - // 上次拖动top记录 - top: null, - // 上次拖动left记录 - left: null, - wrapEl: null, - dragEl: null, - headerEl: null, - }, - } - }, - watch: { - visible() { - if (!this.visible || !this.draggable) { - return - } - this.handleDrag() - }, - draggable() { - if (!this.visible || !this.draggable) { - return - } - this.handleDrag() - }, - }, - methods: { - async handleDrag() { - let modalRef = await getRefPromise(this, 'modal') - const dragWraps = modalRef.$el.querySelectorAll('.ant-modal-wrap') - let wrapEl = dragWraps[0] - if (!wrapEl) return - this.dragSettings.wrapEl = wrapEl - this.dragSettings.dragEl = wrapEl.querySelector('.ant-modal') - this.dragSettings.headerEl = wrapEl.querySelector('.ant-modal-header') - const display = getStyle(wrapEl, 'display') - const draggable = wrapEl.getAttribute('data-drag') - if (display !== 'none') { - // 拖拽位置 - if (draggable === null || this.destroyOnClose) { - this.enableDrag(wrapEl) - } - } - }, - /** 启用拖拽 */ - enableDrag() { - let {wrapEl, dragEl, headerEl} = this.dragSettings - if (!wrapEl) return - wrapEl.setAttribute('data-drag', this.draggable) - if (!headerEl || !dragEl || !this.draggable) return - - // 还原上一次移动的位置 - this.resetModalPosition() - - headerEl.style.cursor = 'move' - headerEl.onmousedown = (e) => { - if (!e) return - // 鼠标按下,计算当前元素距离可视区的距离 - const disX = e.clientX - const disY = e.clientY - const screenWidth = document.body.clientWidth // body当前宽度 - const screenHeight = document.documentElement.clientHeight // 可见区域高度(应为body高度,可某些环境下无法获取) - - const dragElWidth = dragEl.offsetWidth // 对话框宽度 - const dragElHeight = dragEl.offsetHeight // 对话框高度 - - const minDragElLeft = dragEl.offsetLeft - - const maxDragElLeft = screenWidth - dragEl.offsetLeft - dragElWidth - const minDragElTop = dragEl.offsetTop - const maxDragElTop = screenHeight - dragEl.offsetTop - dragElHeight - // 获取到的值带px 正则匹配替换 - const domLeft = getStyle(dragEl, 'left') - const domTop = getStyle(dragEl, 'top') - let styL = +domLeft - let styT = +domTop - - // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px - if (domLeft.includes('%')) { - styL = +document.body.clientWidth * (+domLeft.replace(/%/g, '') / 100) - styT = +document.body.clientHeight * (+domTop.replace(/%/g, '') / 100) - } else { - styL = +domLeft.replace(/px/g, '') - styT = +domTop.replace(/px/g, '') - } - - document.onmousemove = (e) => { - // 全屏时不触发移动方法 - if (this.innerFullscreen) { - return - } - // 通过事件委托,计算移动的距离 - let left = e.clientX - disX - let top = e.clientY - disY - - // 边界处理 - if (-left > minDragElLeft) { - left = -minDragElLeft - } else if (left > maxDragElLeft) { - left = maxDragElLeft - } - - if (-top > minDragElTop) { - top = -minDragElTop - } else if (top > maxDragElTop) { - top = maxDragElTop - } - - this.setModalPosition(top + styT, left + styL) - } - - document.onmouseup = () => { - document.onmousemove = null - document.onmouseup = null - } - } - }, - - /** - * 移动弹窗位置 - * @param top 顶部位置 - * @param left 左侧位置 - * @param remember 是否记录位置,默认 true - */ - setModalPosition(top, left, remember = true) { - // 记录移动位置 - if (remember) { - this.dragSettings.top = top - this.dragSettings.left = left - } - // 移动当前元素 - this.dragSettings.dragEl.style.cssText += `;left:${left}px;top:${top}px;` - }, - /** - * 将弹窗移动到上次记录的位置 - */ - resetModalPosition() { - this.setModalPosition(this.dragSettings.top, this.dragSettings.left, false) - }, - - }, -} - -function getStyle(dom, attr) { - return getComputedStyle(dom)[attr] -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JModal/index.js b/ant-design-vue-jeecg/src/components/jeecg/JModal/index.js deleted file mode 100644 index 638538ea..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JModal/index.js +++ /dev/null @@ -1,18 +0,0 @@ -import JModal from './JModal' -import JPrompt from './JPrompt' - -export default { - install(Vue) { - Vue.component(JModal.name, JModal) - - const JPromptExtend = Vue.extend(JPrompt) - Vue.prototype.$JPrompt = function (options = {}) { - // 创建prompt实例 - const vm = new JPromptExtend().$mount() - vm.show(options) - // 关闭后销毁 - vm.$on('after-close', () => vm.$destroy()) - return vm - } - }, -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JPopup.vue b/ant-design-vue-jeecg/src/components/jeecg/JPopup.vue deleted file mode 100644 index c7f0ad6c..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JPopup.vue +++ /dev/null @@ -1,233 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JSelectMultiple.vue b/ant-design-vue-jeecg/src/components/jeecg/JSelectMultiple.vue deleted file mode 100644 index 14dc837c..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JSelectMultiple.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JSlider.vue b/ant-design-vue-jeecg/src/components/jeecg/JSlider.vue deleted file mode 100644 index 18fda687..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JSlider.vue +++ /dev/null @@ -1,116 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JSuperQuery.vue b/ant-design-vue-jeecg/src/components/jeecg/JSuperQuery.vue deleted file mode 100644 index 52feb8d2..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JSuperQuery.vue +++ /dev/null @@ -1,701 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JSwitch.vue b/ant-design-vue-jeecg/src/components/jeecg/JSwitch.vue deleted file mode 100644 index 17b41397..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JSwitch.vue +++ /dev/null @@ -1,83 +0,0 @@ - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JTime.vue b/ant-design-vue-jeecg/src/components/jeecg/JTime.vue deleted file mode 100644 index 6af6f0e6..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JTime.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JTreeDict.vue b/ant-design-vue-jeecg/src/components/jeecg/JTreeDict.vue deleted file mode 100644 index 61138ef4..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JTreeDict.vue +++ /dev/null @@ -1,198 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JTreeSelect.vue b/ant-design-vue-jeecg/src/components/jeecg/JTreeSelect.vue deleted file mode 100644 index c681c38b..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JTreeSelect.vue +++ /dev/null @@ -1,259 +0,0 @@ - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JTreeTable.vue b/ant-design-vue-jeecg/src/components/jeecg/JTreeTable.vue deleted file mode 100644 index bf14b81e..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JTreeTable.vue +++ /dev/null @@ -1,180 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JUpload.vue b/ant-design-vue-jeecg/src/components/jeecg/JUpload.vue deleted file mode 100644 index c771a5ca..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JUpload.vue +++ /dev/null @@ -1,459 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeDetailsModal.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeDetailsModal.vue deleted file mode 100644 index 792e0613..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeDetailsModal.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxePagination.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxePagination.vue deleted file mode 100644 index b57dcf4b..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxePagination.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeSubPopover.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeSubPopover.vue deleted file mode 100644 index 4e65df34..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeSubPopover.vue +++ /dev/null @@ -1,188 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeTable.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeTable.js deleted file mode 100644 index bf9b1344..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeTable.js +++ /dev/null @@ -1,1456 +0,0 @@ -import XEUtils from 'xe-utils' -import PropTypes from 'ant-design-vue/es/_util/vue-types' -import { JVXETypes } from '@/components/jeecg/JVxeTable/jvxeTypes' -import VxeWebSocketMixins from '../mixins/vxe.web.socket.mixins' -import { initDictOptions } from '@/components/dict/JDictSelectUtil' - -import { getRefPromise } from '../utils/vxeUtils' -import { getEnhancedMixins, replaceProps } from '../utils/cellUtils' - -import JVxeToolbar from './JVxeToolbar' -import JVxeSubPopover from './JVxeSubPopover' -import JVxeDetailsModal from './JVxeDetailsModal' -import JVxePagination from './JVxePagination' -import { cloneObject, getVmParentByName, pushIfNotExist, randomString, simpleDebounce } from '@/utils/util' -import { UtilTools } from 'vxe-table/packages/tools/src/utils' -import { getNoAuthCols } from '@/utils/authFilter' - -export default { - name: 'JVxeTable', - provide() { - return { - superTrigger: (name, event) => this.trigger(name, event) - } - }, - mixins: [VxeWebSocketMixins], - components: {JVxeToolbar, JVxeSubPopover, JVxeDetailsModal, JVxePagination}, - props: { - rowKey: PropTypes.string.def('id'), - // 列信息 - columns: { - type: Array, - required: true - }, - // 数据源 - dataSource: { - type: Array, - required: true - }, - authPre: { - type: String, - required: false, - default: '' - }, - // 是否显示工具栏 - toolbar: PropTypes.bool.def(false), - // 工具栏配置 - toolbarConfig: PropTypes.object.def(() => ({ - // prefix 前缀;suffix 后缀; - slots: ['prefix', 'suffix'], - // add 新增按钮;remove 删除按钮;clearSelection 清空选择按钮;collapse 展开收起 - btns: ['add', 'remove', 'clearSelection'], - })), - // 是否显示行号 - rowNumber: PropTypes.bool.def(false), - // 是否可选择行 - rowSelection: PropTypes.bool.def(false), - // 选择行类型 - rowSelectionType: PropTypes.oneOf(['checkbox', 'radio']).def('checkbox'), - // 是否可展开行 - rowExpand: PropTypes.bool.def(false), - // 展开行配置 - expandConfig: PropTypes.object.def(() => ({})), - // 页面是否在加载中 - loading: PropTypes.bool.def(false), - height: PropTypes.instanceOf([Number, String]).def('auto'), - // 最大高度 - maxHeight: { - type: Number, - default: () => null, - }, - // 要禁用的行 TODO 未实现 - disabledRows: PropTypes.object.def(() => ({})), - // 是否禁用全部组件 - disabled: PropTypes.bool.def(false), - // 是否可拖拽排序 TODO 仅实现上下排序,未实现拖拽排序(可能无法实现或较为困难) - dragSort: PropTypes.bool.def(false), - // 排序字段保存的Key - dragSortKey: PropTypes.string.def('orderNum'), - // 大小,可选值有:medium(中)、small(小)、mini(微)、tiny(非常小) - size: PropTypes.oneOf(['medium', 'small', 'mini', 'tiny']).def('medium'), - // 是否显示边框线 - bordered: PropTypes.bool.def(false), - // 分页器参数,设置了即可显示分页器 - pagination: PropTypes.object.def(() => ({})), - // 点击行时是否显示子表单 - clickRowShowSubForm: PropTypes.bool.def(false), - // 点击行时是否显示主表单 - clickRowShowMainForm: PropTypes.bool.def(false), - // 是否点击选中行,优先级最低 - clickSelectRow: PropTypes.bool.def(false), - // 是否开启 reload 数据效果 - reloadEffect: PropTypes.bool.def(false), - // 校验规则 - editRules: PropTypes.object.def(() => ({})), - // 是否异步删除行,如果你要实现异步删除,那么需要把这个选项开启, - // 在remove事件里调用confirmRemove方法才会真正删除(除非删除的全是新增的行) - asyncRemove: PropTypes.bool.def(false), - // 是否一直显示组件,如果为false则只有点击的时候才出现组件 - // 注:该参数不能动态修改;如果行、列字段多的情况下,会根据机器性能造成不同程度的卡顿。 - alwaysEdit: PropTypes.bool.def(false), - // 联动配置,数组,详情配置见文档 - linkageConfig: PropTypes.array.def(() => []), - }, - data() { - return { - isJVXETable: true, - // caseId,表格唯一标识 - caseId: `_j-vxe-${randomString(8)}_`, - // 内置columns - _innerColumns: [], - // 内置 EditRules - _innerEditRules: [], - // 记录滚动条位置 - scroll: {top: 0, left: 0}, - // 当前是否正在滚动 - scrolling: false, - // vxe 默认配置 - defaultVxeProps: { - 'row-id': this.rowKey, - // 高亮hover的行 - 'highlight-hover-row': true, - // 溢出隐藏并显示tooltip - 'show-overflow': true, - // 表头溢出隐藏并显示tooltip - 'show-header-overflow': true, - 'show-footer-overflow': true, - // 可编辑配置 - 'edit-config': {trigger: 'click', mode: 'cell', showStatus: true}, - 'expand-config': { - iconClose: 'ant-table-row-expand-icon ant-table-row-collapsed', - iconOpen: 'ant-table-row-expand-icon ant-table-row-expanded' - }, - // 虚拟滚动配置,y轴大于30条数据时启用虚拟滚动 - // 'scroll-y': { - // gt: 30 - // }, - // 'scroll-x': { - // gt: 15 - // }, - 'radio-config': {highlight: true}, - 'checkbox-config': {highlight: true}, - }, - // 绑定左侧选择框 - selectedRows: [], - // 绑定左侧选择框已选择的id - selectedRowIds: [], - // 统计列配置 - statistics: { - has: false, - sum: [], - average: [], - }, - // 允许执行刷新特效的行ID - reloadEffectRowKeysMap: {}, - //配置了但是没有授权的按钮和列 集合 - excludeCode:[], - // 联动下拉选项(用于隔离不同的下拉选项) - // 内部联动配置,map - _innerLinkageConfig: null, - } - }, - computed: { - - // vxe 最终 columns - vxeColumns() { - this._innerColumns.forEach(column => { - let renderOptions = { - caseId: this.caseId, - bordered: this.bordered, - disabled: this.disabled, - scrolling: this.scrolling, - reloadEffect: this.reloadEffect, - reloadEffectRowKeysMap: this.reloadEffectRowKeysMap, - listeners: this.cellListeners, - } - if (column.$type === JVXETypes.rowDragSort) { - renderOptions.dragSortKey = this.dragSortKey - } - // slot 组件特殊处理 - if (column.$type === JVXETypes.slot) { - if (this.$scopedSlots.hasOwnProperty(column.slotName)) { - renderOptions.slot = this.$scopedSlots[column.slotName] - renderOptions.target = this - } - } - // 处理联动列,联动列只能作用于 select 组件 - if (column.$type === JVXETypes.select && this._innerLinkageConfig != null) { - // 判断当前列是否是联动列 - if (this._innerLinkageConfig.has(column.key)) { - renderOptions.linkage = { - config: this._innerLinkageConfig.get(column.key), - getLinkageOptionsSibling: this.getLinkageOptionsSibling, - getLinkageOptionsAsync: this.getLinkageOptionsAsync, - linkageSelectChange: this.linkageSelectChange, - } - } - } - if (column.editRender) { - Object.assign(column.editRender, renderOptions) - } - if (column.cellRender) { - Object.assign(column.cellRender, renderOptions) - } - // update--begin--autor:lvdandan-----date:20201019------for:LOWCOD-882 【新行编辑】列表上带按钮的遮挡问题 - if (column.$type === JVXETypes.file || column.$type === JVXETypes.image) { - if (column.width && column.width.endsWith('px')) { - column.width = Number.parseInt(column.width.substr(0,column.width.length-2))+Number.parseInt(1)+'px'; - } - } - // update--begin--autor:lvdandan-----date:20201019------for:LOWCOD-882 【新行编辑】列表上带按钮的遮挡问题 - - // update--begin--autor:lvdandan-----date:20201211------for:JT-118 【online】 日期、时间控件长度较小 - if (column.$type === JVXETypes.datetime || column.$type === JVXETypes.userSelect || column.$type === JVXETypes.departSelect) { - let width = column.width && column.width.endsWith('px')?Number.parseInt(column.width.substr(0,column.width.length-2)):0; - if(width <= 190){ - column.width = '190px' - } - } - if (column.$type === JVXETypes.date) { - let width = column.width && column.width.endsWith('px')?Number.parseInt(column.width.substr(0,column.width.length-2)):0; - if(width <= 135){ - column.width = '135px' - } - } - // update--end--autor:lvdandan-----date:20201211------for:JT-118 【online】 日期、时间控件长度较小 - }) - return this._innerColumns - }, - // vxe 最终 editRules - vxeEditRules() { - return Object.assign({}, this.editRules, this._innerEditRules) - }, - // vxe 最终 props - vxeProps() { - let expandConfig = Object.assign({}, this.defaultVxeProps['expand-config'], this.expandConfig) - - return Object.assign({}, this.defaultVxeProps, { - showFooter: this.statistics.has, - }, this.$attrs, { - loading: this.loading, - columns: this.vxeColumns, - editRules: this.vxeEditRules, - // data: this.dataSource, - height: this.height === 'auto' ? null : this.height, - maxHeight: this.maxHeight, - border: this.bordered, - expandConfig: expandConfig, - footerMethod: this.handleFooterMethod, - // footerSpanMethod: this.handleFooterSpanMethod, - }) - }, - // vxe 最终 events - vxeEvents() { - // 内置事件 - let events = { - 'scroll': this.handleVxeScroll, - 'cell-click': this.handleCellClick, - 'edit-closed': this.handleEditClosed, - 'edit-actived': this.handleEditActived, - 'radio-change': this.handleVxeRadioChange, - 'checkbox-all': this.handleVxeCheckboxAll, - 'checkbox-change': this.handleVxeCheckboxChange, - } - // 用户传递的事件,进行合并操作 - Object.keys(this.$listeners).forEach(key => { - let listen = this.$listeners[key] - if (events.hasOwnProperty(key)) { - if (Array.isArray(listen)) { - listen.push(events[key]) - } else { - listen = [events[key], listen] - } - } - events[key] = listen - }) - return events - }, - // 组件监听事件 - cellListeners() { - return { - trigger: (name, event) => this.trigger(name, event), - valueChange: event => this.trigger('valueChange', event), - /** 当前行向上移一位 */ - rowMoveUp: rowIndex => this.rowResort(rowIndex, rowIndex - 1), - /** 当前行向下移一位 */ - rowMoveDown: rowIndex => this.rowResort(rowIndex, rowIndex + 1), - /** 在当前行下面插入一行 */ - rowInsertDown: rowIndex => this.insertRows({}, rowIndex + 1), - } - }, - }, - watch: { - dataSource: { - // deep: true, - immediate: true, - async handler() { - let vxe = await getRefPromise(this, 'vxe') - - this.dataSource.forEach((data, idx) => { - // 开启了排序就自动计算排序值 - if (this.dragSort) { - this.$set(data, this.dragSortKey, idx + 1) - } - // 处理联动回显数据 - if (this._innerLinkageConfig != null) { - for (let configItem of this._innerLinkageConfig.values()) { - this.autoSetLinkageOptionsByData(data, '', configItem, 0) - } - } - }) - - // 阻断vue监听大数据,提高性能 - vxe.loadData(this.dataSource) - - // TODO 解析disabledRows - // let disabled = false - // - // let disabledRowIds = (this.disabledRowIds || []) - // // 解析disabledRows - // Object.keys(this.disabledRows).forEach(disabledColKey => { - // // 判断是否有该属性 - // if (data.hasOwnProperty(disabledColKey)) { - // if (disabled !== true) { - // let temp = this.disabledRows[disabledColKey] - // // 禁用规则可以是一个数组 - // if (Array.isArray(temp)) { - // disabled = temp.includes(data[disabledColKey]) - // } else { - // disabled = (temp === data[disabledColKey]) - // } - // if (disabled) { - // disabledRowIds.push(row.id) - // } - // } - // } - // }) - }, - }, - columns: { - immediate: true, - handler(columns) { - //获取不需要显示列 - this.loadExcludeCode() - let _innerColumns = [] - let _innerEditRules = {} - let {rowNumber, rowSelection, rowExpand, dragSort} = this - let expandColumn, seqColumn, checkboxColumn, radioColumn, dragSortColumn - if (Array.isArray(columns)) { - this.statistics.has = false - this.statistics.sum = [] - this.statistics.average = [] - - // 处理成vxe可识别的columns - columns.forEach(column => { - if(this.excludeCode.indexOf(column.key)>=0){ - return false - } - let col = {...column} - let {type} = col - const enhanced = getEnhancedMixins(type) - if (type === JVXETypes.rowNumber) { - seqColumn = col - } else if (type === JVXETypes.rowCheckbox) { - checkboxColumn = col - } else if (type === JVXETypes.rowRadio) { - radioColumn = col - } else if (type === JVXETypes.rowExpand) { - expandColumn = col - } else if (type === JVXETypes.rowDragSort) { - dragSortColumn = col - } else { - col.field = col.key - // 防止和vxeTable自带的type起冲突 - col.$type = col.type - delete col.type - let renderName = 'cellRender', renderOptions = {name: JVXETypes._prefix + type} - if (type) { - // hidden 是特殊的组件 - if (type === JVXETypes.hidden) { - col.visible = false - } else if (enhanced.switches.editRender) { - renderName = 'editRender' - renderOptions.type = (enhanced.switches.visible || this.alwaysEdit) ? 'visible' : 'default' - } - } else { - renderOptions.name = JVXETypes._prefix + JVXETypes.normal - } - col[renderName] = renderOptions - // 处理字典 - if (col.dictCode) { - this._loadDictConcatToOptions(col) - } - // 处理校验 - if (col.validateRules) { - let rules = [] - if (Array.isArray(col.validateRules)) { - for (let rule of col.validateRules) { - let replace = { - message: replaceProps(col, rule.message) - } - if (rule.unique || rule.pattern === 'only') { - // 唯一校验器 - rule.validator = uniqueValidator.bind(this) - } else if (rule.pattern) { - // 非空 - if (rule.pattern === fooPatterns[0].value) { - rule.required = true - delete rule.pattern - } else { - // 兼容Online表单的特殊规则 - for (let foo of fooPatterns) { - if (foo.value === rule.pattern) { - rule.pattern = foo.pattern - break - } - } - } - } else if (typeof rule.handler === 'function') { - // 自定义函数校验 - rule.validator = handlerConvertToValidator.bind(this) - } - rules.push(Object.assign({}, rule, replace)) - } - } - _innerEditRules[col.key] = rules - } - // 处理统计列 - // sum = 求和、average = 平均值 - if (Array.isArray(col.statistics)) { - this.statistics.has = true - col.statistics.forEach(item => { - let arr = this.statistics[item.toLowerCase()] - if (Array.isArray(arr)) { - pushIfNotExist(arr, col.key) - } - }) - } - _innerColumns.push(col) - } - }) - } - // 判断是否开启了序号 - if (rowNumber) { - let col = {type: 'seq', title: '#', width: 60, fixed: 'left', align: 'center'} - if (seqColumn) { - col = Object.assign(col, seqColumn, {type: 'seq'}) - } - _innerColumns.unshift(col) - } - // 判断是否开启了可选择行 - if (rowSelection) { - let width = 40 - if (this.statistics.has && !rowExpand && !dragSort) { - width = 60 - } - let col = {type: this.rowSelectionType, width, fixed: 'left', align: 'center'} - // radio - if (this.rowSelectionType === 'radio' && radioColumn) { - col = Object.assign(col, radioColumn, {type: 'radio'}) - } - // checkbox - if (this.rowSelectionType === 'checkbox' && checkboxColumn) { - col = Object.assign(col, checkboxColumn, {type: 'checkbox'}) - } - _innerColumns.unshift(col) - } - // 是否可展开行 - if (rowExpand) { - let width = 40 - if (this.statistics.has && !dragSort) { - width = 60 - } - let col = {type: 'expand', title: '', width, fixed: 'left', align: 'center', slots: {content: 'expandContent'}} - if (expandColumn) { - col = Object.assign(col, expandColumn, {type: 'expand'}) - } - _innerColumns.unshift(col) - } - // 是否可拖动排序 - if (dragSort) { - let width = 40 - if (this.statistics.has) { - width = 60 - } - let col = {type: JVXETypes.rowDragSort, title: '', width, fixed: 'left', align: 'center', cellRender: {name: JVXETypes._prefix + JVXETypes.rowDragSort}} - if (dragSortColumn) { - col = Object.assign(col, dragSortColumn, {type: JVXETypes.rowDragSort}) - } - _innerColumns.unshift(col) - } - - this._innerColumns = _innerColumns - this._innerEditRules = _innerEditRules - } - }, - // watch linkageConfig - // 整理多级联动配置 - linkageConfig: { - immediate: true, - handler() { - if (Array.isArray(this.linkageConfig) && this.linkageConfig.length > 0) { - // 获取联动的key顺序 - let getLcKeys = (key, arr) => { - let col = this._innerColumns.find(col => col.key === key) - if (col) { - arr.push(col.key) - if (col.linkageKey) { - return getLcKeys(col.linkageKey, arr) - } - } - return arr - } - let configMap = new Map() - this.linkageConfig.forEach(lc => { - let keys = getLcKeys(lc.key, []) - // 多个key共享一个,引用地址 - let configItem = { - ...lc, keys, - optionsMap: new Map() - } - keys.forEach(k => configMap.set(k, configItem)) - }) - this._innerLinkageConfig = configMap - } else { - this._innerLinkageConfig = null - } - } - }, - }, - created() { - }, - mounted() { - this.handleTabsChange() - }, - methods: { - - /** - * 自动判断父级是否是 组件,然后添加事件监听,自动重置表格 - */ - handleTabsChange() { - // 获取父级 - const tabs = getVmParentByName(this, 'ATabs') - const tabPane = getVmParentByName(this, 'ATabPane') - if (tabs && tabPane) { - // 用户自定义的 key - const currentKey = tabPane.$vnode.key - // 添加 activeKey 监听 - const unwatch = tabs.$children[0].$watch('$data._activeKey', async (key) => { - // 切换到自己时重新计算 - if (currentKey === key) { - await this.$nextTick() - await this.refreshScroll() - await this.recalculate() - } - }) - // 当前实例销毁时取消监听 - this.$on('beforeDestroy', () => unwatch()) - } - }, - - handleVxeScroll(event) { - let {$refs, scroll} = this - - // 记录滚动条的位置 - scroll.top = event.scrollTop - scroll.left = event.scrollLeft - - $refs.subPopover ? $refs.subPopover.close() : null - this.scrolling = true - this.closeScrolling() - }, - // 当手动勾选单选时触发的事件 - handleVxeRadioChange(event) { - let row = event.$table.getRadioRecord() - this.selectedRows = row ? [row] : [] - this.handleSelectChange('radio', this.selectedRows, event) - }, - // 当手动勾选全选时触发的事件 - handleVxeCheckboxAll(event) { - this.selectedRows = event.$table.getCheckboxRecords() - this.handleSelectChange('checkbox-all', this.selectedRows, event) - }, - // 当手动勾选并且值发生改变时触发的事件 - handleVxeCheckboxChange(event) { - this.selectedRows = event.$table.getCheckboxRecords() - this.handleSelectChange('checkbox', this.selectedRows, event) - }, - // 行选择change事件 - handleSelectChange(type, selectedRows, $event) { - let action - if (type === 'radio') { - action = 'selected' - } else if (type === 'checkbox') { - action = selectedRows.includes($event.row) ? 'selected' : 'unselected' - } else { - action = 'selected-all' - } - - this.selectedRowIds = selectedRows.map(row => row.id) - this.trigger('selectRowChange', { - type: type, - action: action, - $event: $event, - row: $event.row, - selectedRows: this.selectedRows, - selectedRowIds: this.selectedRowIds - }) - }, - - // 点击单元格时触发的事件 - handleCellClick(event) { - let {row, column, $event, $table} = event - let {$refs} = this - - // 点击了可编辑的 - if (column.editRender) { - $refs.subPopover ? $refs.subPopover.close() : null - return - } - - // 显示详细信息 - if (column.own.showDetails) { - // 两个如果同时存在的话会出现死循环 - $refs.subPopover ? $refs.subPopover.close() : null - $refs.detailsModal ? $refs.detailsModal.open(event) : null - } else if ($refs.subPopover) { - $refs.subPopover.toggle(event) - } else if (this.clickSelectRow) { - let className = $event.target.className || '' - className = typeof className === 'string' ? className : className.toString() - // 点击的是expand,不做处理 - if (className.includes('vxe-table--expand-btn')) { - return - } - // 点击的是checkbox,不做处理 - if (className.includes('vxe-checkbox--icon') || className.includes('vxe-cell--checkbox')) { - return - } - // 点击的是radio,不做处理 - if (className.includes('vxe-radio--icon') || className.includes('vxe-cell--radio')) { - return - } - if (this.rowSelectionType === 'radio') { - $table.setRadioRow(row) - this.handleVxeRadioChange(event) - } else { - $table.toggleCheckboxRow(row) - this.handleVxeCheckboxChange(event) - } - } - }, - - // 单元格编辑状态下被关闭时会触发该事件 - handleEditClosed({column}) { - // 执行增强 - getEnhancedMixins(column.own.$type, 'aopEvents').editClosed.apply(this, arguments) - }, - - // 单元格被激活编辑时会触发该事件 - handleEditActived({column}) { - // 执行增强 - getEnhancedMixins(column.own.$type, 'aopEvents').editActived.apply(this, arguments) - }, - - /** 表尾数据处理方法,用于显示统计信息 */ - handleFooterMethod({columns, data}) { - const {statistics} = this - let footers = [] - if (statistics.has) { - if (statistics.sum.length > 0) { - footers.push(this.getFooterStatisticsMap({ - columns: columns, - title: '合计', - checks: statistics.sum, - method: (column) => XEUtils.sum(data, column.property) - })) - } - if (statistics.average.length > 0) { - footers.push(this.getFooterStatisticsMap({ - columns: columns, - title: '平均', - checks: statistics.average, - method: (column) => XEUtils.mean(data, column.property) - })) - } - } - return footers - }, - - getFooterStatisticsMap({columns, title, checks, method}) { - return columns.map((column, columnIndex) => { - if (columnIndex === 0) { - return title - } - if (checks.includes(column.property)) { - return method(column, columnIndex) - } - return null - }) - }, - - /** 表尾单元格合并方法 */ - handleFooterSpanMethod(event) { - if (event.columnIndex === 0) { - return {colspan: 2} - } - }, - - /*--- 外部可调用接口方法 ---*/ - - /** - * 重置滚动条Top位置 - * @param top 新top位置,留空则滚动到上次记录的位置,用于解决切换tab选项卡时导致白屏以及自动将滚动条滚动到顶部的问题 - */ - resetScrollTop(top) { - this.scrollTo(null, (top == null || top === '') ? this.scroll.top : top) - }, - - /** - * 加载新数据,和 loadData 不同的是,用该方法加载的数据都是相当于点新增按钮新增的数据。 - * 适用于不是数据库里查出来的没有id的临时数据 - * @param dataSource - */ - async loadNewData(dataSource) { - if (Array.isArray(dataSource)) { - let {xTable} = this.$refs.vxe.$refs - // issues/2784 - // 先清空所有数据 - xTable.loadData([]) - - dataSource.forEach((data, idx) => { - // 开启了排序就自动计算排序值 - if (this.dragSort) { - this.$set(data, this.dragSortKey, idx + 1) - } - // 处理联动回显数据 - if (this._innerLinkageConfig != null) { - for (let configItem of this._innerLinkageConfig.values()) { - this.autoSetLinkageOptionsByData(data, '', configItem, 0) - } - } - }) - // 再新增 - return xTable.insertAt(dataSource) - } - return [] - }, - - // 校验table,失败返回errMap,成功返回null - async validateTable() { - const errMap = await this.validate().catch(errMap => errMap) - return errMap ? errMap : null - }, - // 完整校验 - async fullValidateTable() { - const errMap = await this.fullValidate().catch(errMap => errMap) - return errMap ? errMap : null - }, - - /** 设置某行某列的值 */ - setValues(values) { - if (!Array.isArray(values)) { - console.warn(`JVxeTable.setValues:必须传递数组`) - return - } - // 是否更新了数据 - let updated = false - values.forEach((item, idx) => { - let {rowKey, values: record} = item - let {row} = this.getIfRowById(rowKey) - if (!row) { - return - } - Object.keys(record).forEach(colKey => { - let column = this.getColumnByKey(colKey) - if (column) { - let oldValue = row[colKey] - let newValue = record[colKey] - if (newValue !== oldValue) { - updated = true - this.$set(row, colKey, newValue) - // 触发 valueChange 事件 - this.trigger('valueChange', { - type: column.own.$type, - value: newValue, - oldValue: oldValue, - col: column.own, - column: column, - isSetValues: true, - }) - } - } else { - console.warn(`JVxeTable.setValues:没有找到key为"${colKey}"的列`) - } - }) - }) - // 【issues/3828】数据更新后,重新计算统计列 - if (updated && this.statistics.has) { - this.$nextTick(async () => { - let {xTable} = this.$refs.vxe.$refs; - await xTable.updateCache(true); - await xTable.updateData(); - }); - } - }, - - /** 获取所有的数据,包括values、deleteIds */ - getAll() { - return { - tableData: this.getTableData(), - deleteData: this.getDeleteData() - } - }, - /** 获取表格表单里的值 */ - getValues(callback, rowIds) { - let tableData = this.getTableData({rowIds: rowIds}) - callback('', tableData) - }, - /** 获取表格数据 */ - getTableData(options = {}) { - let {rowIds} = options - let tableData - // 仅查询指定id的行 - if (Array.isArray(rowIds) && rowIds.length > 0) { - tableData = [] - rowIds.forEach(rowId => { - let {row} = this.getIfRowById(rowId) - if (row) { - tableData.push(row) - } - }) - } else { - // 查询所有行 - tableData = this.$refs.vxe.getTableData().fullData - } - return this.filterNewRows(tableData, false) - }, - /** 仅获取新增的数据 */ - getNewData() { - let newData = cloneObject(this.$refs.vxe.getInsertRecords()) - newData.forEach(row => delete row.id) - return newData - }, - /** 仅获取新增的数据,带有id */ - getNewDataWithId() { - let newData = cloneObject(this.$refs.vxe.getInsertRecords()) - return newData - }, - /** 根据ID获取行,新增的行也能查出来 */ - getIfRowById(id) { - let row = this.getRowById(id), isNew = false - if (!row) { - row = this.getNewRowById(id) - if (!row) { - console.warn(`JVxeTable.getIfRowById:没有找到id为"${id}"的行`) - return {row: null} - } - isNew = true - } - return {row, isNew} - }, - /** 通过临时ID获取新增的行 */ - getNewRowById(id) { - let records = this.getInsertRecords() - for (let record of records) { - if (record.id === id) { - return record - } - } - return null - }, - /** 仅获取被删除的数据(新增又被删除的数据不会被获取到) */ - getDeleteData() { - return cloneObject(this.$refs.vxe.getRemoveRecords()) - }, - /** - * 添加一行或多行 - * - * @param rows - * @param isOnlJs 是否是onlineJS增强触发的 - * @return - */ - async addRows(rows = {}, isOnlJs) { - return this._addOrInsert(rows, -1, 'added', isOnlJs) - }, - - /** - * 添加一行或多行 - * - * @param rows - * @param index 添加下标,数字,必填 - * @return - */ - async insertRows(rows, index) { - if (typeof index !== 'number' || index < 0) { - console.warn(`【JVXETable】insertRows:index必须传递数字,且大于-1`) - return - } - return this._addOrInsert(rows, index, 'inserted') - }, - /** - * 添加一行或多行临时数据,不会填充默认值,传什么就添加进去什么 - * @param rows - * @param options 选项 - * @param options.setActive 是否激活最后一行的编辑模式 - */ - async pushRows(rows = {}, options = {}) { - let {xTable} = this.$refs.vxe.$refs - let {setActive, index} = options - setActive = setActive == null ? false : !!setActive - index = index == null ? -1 : index - index = index === -1 ? index : xTable.tableFullData[index] - // 插入行 - let result = await xTable.insertAt(rows, index) - if (setActive) { - // 激活最后一行的编辑模式 - xTable.setActiveRow(result.rows[result.rows.length - 1]) - } - await this._recalcSortNumber() - return result - }, - - /** 清空选择行 */ - clearSelection() { - let event = {$table: this.$refs.vxe, target: this} - if (this.rowSelectionType === JVXETypes.rowRadio) { - this.$refs.vxe.clearRadioRow() - this.handleVxeRadioChange(event) - } else { - this.$refs.vxe.clearCheckboxRow() - this.handleVxeCheckboxChange(event) - } - }, - - /** 删除一行或多行数据 */ - async removeRows(rows) { - const res = await this._remove(rows) - await this._recalcSortNumber() - return res - }, - - /** 根据id删除一行或多行 */ - removeRowsById(rowId) { - let rowIds - if (Array.isArray(rowId)) { - rowIds = rowId - } else { - rowIds = [rowId] - } - let rows = rowIds.map((id) => { - let {row} = this.getIfRowById(id) - if (!row) { - return - } - if (row) { - return row - } else { - console.warn(`【JVXETable】removeRowsById:${id}不存在`) - return null - } - }).filter((row) => row != null) - return this.removeRows(rows) - }, - - getColumnByKey() { - return this.$refs.vxe.getColumnByField.apply(this.$refs.vxe, arguments) - }, - - /* --- 辅助方法 ---*/ - - // 触发事件 - trigger(name, event = {}) { - event.$target = this - event.$table = this.$refs.vxe - //online增强参数兼容 - event.target = this - this.$emit(name, event) - }, - - /** 【多级联动】获取同级联动下拉选项 */ - getLinkageOptionsSibling(row, col, config, request) { - // 如果当前列不是顶级列 - let key = '' - if (col.key !== config.key) { - // 就找出联动上级列 - let idx = config.keys.findIndex(k => col.key === k) - let parentKey = config.keys[idx - 1] - key = row[parentKey] - // 如果联动上级列没有选择数据,就直接返回空数组 - if (key === '' || key == null) { - return [] - } - } else { - key = 'root' - } - let options = config.optionsMap.get(key) - if (!Array.isArray(options)) { - if (request) { - let parent = key === 'root' ? '' : key - return this.getLinkageOptionsAsync(config, parent) - } else { - options = [] - } - } - return options - }, - /** 【多级联动】获取联动下拉选项(异步) */ - getLinkageOptionsAsync(config, parent) { - return new Promise(resolve => { - let key = parent ? parent : 'root' - let options - if (config.optionsMap.has(key)) { - options = config.optionsMap.get(key) - if (options instanceof Promise) { - options.then(opt => { - config.optionsMap.set(key, opt) - resolve(opt) - }) - } else { - resolve(options) - } - } else if (typeof config.requestData === 'function') { - // 调用requestData方法,通过传入parent来获取子级 - let promise = config.requestData(parent) - config.optionsMap.set(key, promise) - promise.then(opt => { - config.optionsMap.set(key, opt) - resolve(opt) - }) - } else { - resolve([]) - } - }) - }, - // 【多级联动】 用于回显数据,自动填充 optionsMap - autoSetLinkageOptionsByData(data, parent, config, level) { - if (level === 0) { - this.getLinkageOptionsAsync(config, '') - } else { - this.getLinkageOptionsAsync(config, parent) - } - if (config.keys.length - 1 > level) { - let value = data[config.keys[level]] - if (value) { - this.autoSetLinkageOptionsByData(data, value, config, level + 1) - } - } - }, - // 【多级联动】联动组件change时,清空下级组件 - linkageSelectChange(row, col, config, value) { - if (col.linkageKey) { - this.getLinkageOptionsAsync(config, value) - let idx = config.keys.findIndex(k => k === col.key) - let values = {} - for (let i = idx; i < config.keys.length; i++) { - values[config.keys[i]] = '' - } - // 清空后几列的数据 - this.setValues([{rowKey: row.id, values}]) - } - }, - - /** 加载数据字典并合并到 options */ - _loadDictConcatToOptions(column) { - initDictOptions(column.dictCode).then((res) => { - if (res.success) { - let newOptions = (column.options || [])// .concat(res.result) - res.result.forEach(item => { - // 过滤重复数据 - for (let option of newOptions) if (option.value === item.value) return - newOptions.push(item) - }) - this.$set(column, 'options', newOptions) - } else { - console.group(`JVxeTable 查询字典(${column.dictCode})发生异常`) - console.warn(res.message) - console.groupEnd() - } - }) - }, - //options自定义赋值 刷新 - virtualRefresh(){ - this.scrolling = true - this.closeScrolling() - }, - // 设置 this.scrolling 防抖模式 - closeScrolling: simpleDebounce(function () { - this.scrolling = false - }, 100), - - /** - * 过滤添加的行 - * @param rows 要筛选的行数据 - * @param remove true = 删除新增,false=只删除id - * @param handler function - */ - filterNewRows(rows, remove = true, handler) { - let insertRecords = this.$refs.vxe.getInsertRecords() - let records = [] - for (let row of rows) { - let item = cloneObject(row) - if (insertRecords.includes(row)) { - handler ? handler({item, row, insertRecords}) : null - - if (remove) { - continue - } - delete item.id - } - records.push(item) - } - return records - }, - - // 删除选中的数据 - async removeSelection() { - let res = await this._remove(this.selectedRows) - this.clearSelection() - await this._recalcSortNumber() - return res - }, - - /** - * 【删除指定行数据】(重写vxeTable的内部方法,添加了从keepSource中删除) - * 如果传 row 则删除一行 - * 如果传 rows 则删除多行 - * 如果为空则删除所有 - */ - _remove(rows) { - const xTable = this.$refs.vxe.$refs.xTable - - const {afterFullData, tableFullData, tableSourceData, editStore, treeConfig, checkboxOpts, selection, isInsertByRow, scrollYLoad} = xTable - const {actived, removeList, insertList} = editStore - const {checkField: property} = checkboxOpts - let rest = [] - const nowData = afterFullData - if (treeConfig) { - throw new Error(UtilTools.getLog('vxe.error.noTree', ['remove'])) - } - if (!rows) { - rows = tableFullData - } else if (!XEUtils.isArray(rows)) { - rows = [rows] - } - // 如果是新增,则保存记录 - rows.forEach(row => { - if (!isInsertByRow(row)) { - removeList.push(row) - } - }) - // 如果绑定了多选属性,则更新状态 - if (!property) { - XEUtils.remove(selection, row => rows.indexOf(row) > -1) - } - // 从数据源中移除 - if (tableFullData === rows) { - rows = rest = tableFullData.slice(0) - tableFullData.length = 0 - nowData.length = 0 - } else { - rest = XEUtils.remove(tableFullData, row => rows.indexOf(row) > -1) - XEUtils.remove(nowData, row => rows.indexOf(row) > -1) - } - // 【从keepSource中删除】 - if (xTable.keepSource) { - let rowIdSet = new Set(rows.map(row => row.id)) - XEUtils.remove(tableSourceData, row => rowIdSet.has(row.id)) - } - - // 如果当前行被激活编辑,则清除激活状态 - if (actived.row && rows.indexOf(actived.row) > -1) { - xTable.clearActived() - } - // 从新增中移除已删除的数据 - XEUtils.remove(insertList, row => rows.indexOf(row) > -1) - xTable.handleTableData() - xTable.updateFooter() - xTable.updateCache() - xTable.checkSelectionStatus() - if (scrollYLoad) { - xTable.updateScrollYSpace() - } - return xTable.$nextTick().then(() => { - xTable.recalculate() - return {row: rest.length ? rest[rest.length - 1] : null, rows: rest} - }) - }, - - /** 行重新排序 */ - async rowResort(oldIndex, newIndex) { - const xTable = this.$refs.vxe.$refs.xTable - window.xTable = xTable - const sort = (array) => { - // 存储旧数据,并删除旧项目 - let row = array.splice(oldIndex, 1)[0] - // 向新项目里添加旧数据 - array.splice(newIndex, 0, row) - } - sort(xTable.tableFullData) - if (xTable.keepSource) { - sort(xTable.tableSourceData) - } - await this.$nextTick() - await this._recalcSortNumber() - }, - - /** 重新计算排序字段的数值 */ - async _recalcSortNumber() { - const xTable = this.$refs.vxe.$refs.xTable - if (this.dragSort) { - xTable.tableFullData.forEach((data, idx) => data[this.dragSortKey] = (idx + 1)) - } - await xTable.updateCache(true) - return await xTable.updateData() - }, - - async _addOrInsert(rows = {}, index, triggerName, isOnlJs) { - let {xTable} = this.$refs.vxe.$refs - let records - if (Array.isArray(rows)) { - records = rows - } else { - records = [rows] - } - // 遍历添加默认值 - records.forEach(record => this._createRow(record)) - let result = await this.pushRows(records, {index: index, setActive: true}) - // 遍历插入的行 - // update--begin--autor:lvdandan-----date:20201117------for:LOWCOD-987 【新行编辑】js增强附表内置方法调用问题 #1819 - // online js增强时以传过来值为准,不再赋默认值 - if (isOnlJs != true) { - for (let i = 0; i < result.rows.length; i++) { - let row = result.rows[i] - this.trigger(triggerName, { - row: row, - $table: xTable, - target: this, - }) - } - } - // update--end--autor:lvdandan-----date:20201117------for:LOWCOD-987 【新行编辑】js增强附表内置方法调用问题 #1819 - return result - }, - // 创建新行,自动添加默认值 - _createRow(record = {}) { - let {xTable} = this.$refs.vxe.$refs - // 添加默认值 - xTable.tableFullColumn.forEach(column => { - let col = column.own - if (col.key && (record[col.key] == null || record[col.key] === '')) { - // 设置默认值 - let createValue = getEnhancedMixins(col.$type || col.type, 'createValue') - record[col.key] = createValue({row: record, column, $table: xTable}) - } - // update-begin--author:sunjianlei---date:20210819------for: 处理联动列,联动列只能作用于 select 组件 - if (col.$type === JVXETypes.select && this._innerLinkageConfig != null) { - // 判断当前列是否是联动列 - if (this._innerLinkageConfig.has(col.key)) { - let configItem = this._innerLinkageConfig.get(col.key) - this.getLinkageOptionsAsync(configItem, '') - } - } - // update-end--author:sunjianlei---date:20210819------for: 处理联动列,联动列只能作用于 select 组件 - }) - return record - }, - - /*--- 渲染函数 ---*/ - - // 渲染 vxe - renderVxeGrid(h) { - return h('vxe-grid', { - ref: 'vxe', - class: ['j-vxe-table'], - props: this.vxeProps, - on: this.vxeEvents, - // 作用域插槽的格式为 - scopedSlots: this.$scopedSlots, - }) - }, - // 渲染工具栏 - renderToolbar(h) { - if (this.toolbar) { - return h('j-vxe-toolbar', { - props: { - toolbarConfig: this.toolbarConfig, - excludeCode: this.excludeCode, - size: this.size, - disabled: this.disabled, - disabledRows: this.disabledRows, - selectedRowIds: this.selectedRowIds, - }, - on: { - // 新增事件 - add: () => this.addRows(), - // 保存事件 - save: () => this.trigger('save', { - $table: this.$refs.vxe, - target: this, - }), - // 删除事件 - remove: () => { - let $table = this.$refs.vxe - let deleteRows = this.filterNewRows(this.selectedRows) - // 触发删除事件 - if (deleteRows.length > 0) { - let removeEvent = {deleteRows, $table, target: this} - if (this.asyncRemove) { - // 确认删除,只有调用这个方法才会真删除 - removeEvent.confirmRemove = () => this.removeSelection() - } else { - this.removeSelection() - } - this.trigger('remove', removeEvent) - } else { - this.removeSelection() - } - }, - // 清除选择事件 - clearSelection: this.clearSelection - }, - scopedSlots: { - toolbarPrefix: this.$scopedSlots.toolbarPrefix, - toolbarSuffix: this.$scopedSlots.toolbarSuffix, - }, - }) - } - return null - }, - // 渲染 toolbarAfter 插槽 - renderToolbarAfterSlot() { - if (this.$scopedSlots['toolbarAfter']) { - return this.$scopedSlots['toolbarAfter']() - } - return null - }, - // 渲染点击时弹出的子表 - renderSubPopover(h) { - if (this.clickRowShowSubForm && this.$scopedSlots.subForm) { - return h('j-vxe-sub-popover', { - ref: 'subPopover', - scopedSlots: { - subForm: this.$scopedSlots.subForm, - } - }) - } - return null - }, - // 渲染点击时弹出的详细信息 - renderDetailsModal(h) { - if (this.clickRowShowMainForm && this.$scopedSlots.mainForm) { - return h('j-vxe-details-modal', { - ref: 'detailsModal', - scopedSlots: { - subForm: this.clickRowShowSubForm ? this.$scopedSlots.subForm : null, - mainForm: this.$scopedSlots.mainForm - } - }) - } - }, - // 渲染分页器 - renderPagination(h) { - if (this.pagination && Object.keys(this.pagination).length > 0) { - return h('j-vxe-pagination', { - props: { - size: this.size, - disabled: this.disabled, - pagination: this.pagination - }, - on: { - change: (e) => this.trigger('pageChange', e) - }, - }) - } - return null - }, - loadExcludeCode(){ - if(!this.authPre || this.authPre.length==0){ - this.excludeCode = [] - }else{ - let pre = this.authPre - if(!pre.endsWith(':')){ - pre += ':' - } - this.excludeCode = getNoAuthCols(pre) - } - } - - }, - render(h) { - return h('div', { - class: ['j-vxe-table-box', `size--${this.size}`] - }, [ - this.renderSubPopover(h), - this.renderDetailsModal(h), - this.renderToolbar(h), - this.renderToolbarAfterSlot(), - this.renderVxeGrid(h), - this.renderPagination(h), - ]) - }, - beforeDestroy() { - this.$emit('beforeDestroy') - } -} - -// 兼容 online 的规则 -const fooPatterns = [ - {title: '非空', value: '*', pattern: /^.+$/}, - {title: '6到16位数字', value: 'n6-16', pattern: /^\d{6,16}$/}, - {title: '6到16位任意字符', value: '*6-16', pattern: /^.{6,16}$/}, - {title: '6到18位字母', value: 's6-18', pattern: /^[a-z|A-Z]{6,18}$/}, - {title: '网址', value: 'url', pattern: /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/}, - {title: '电子邮件', value: 'e', pattern: /^([\w]+\.*)([\w]+)@[\w]+\.\w{3}(\.\w{2}|)$/}, - {title: '手机号码', value: 'm', pattern: /^1[3456789]\d{9}$/}, - {title: '邮政编码', value: 'p', pattern: /^[0-9]{6}$/}, - {title: '字母', value: 's', pattern: /^[A-Z|a-z]+$/}, - {title: '数字', value: 'n', pattern: /^-?\d+(\.?\d+|\d?)$/}, - {title: '整数', value: 'z', pattern: /^-?\d+$/}, - {title: '金额', value: 'money', pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,5}))$/}, -] - -/** 旧版handler转为新版Validator */ -function handlerConvertToValidator(event) { - const {column, rule} = event - return new Promise((resolve, reject) => { - rule.handler(event, (flag, msg) => { - let message = rule.message - if (typeof msg === 'string') { - message = replaceProps(column.own, msg) - } - if (flag == null) { - resolve(message) - } else if (!!flag) { - resolve(message) - } else { - reject(new Error(message)) - } - }, this, event) - }) -} - -/** 唯一校验器 */ -function uniqueValidator(event) { - const {cellValue, column, rule} = event - let tableData = this.getTableData() - let findCount = 0 - for (let rowData of tableData) { - if (rowData[column.own.key] === cellValue) { - if (++findCount >= 2) { - return Promise.reject(new Error(rule.message)) - } - } - } - return Promise.resolve() -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeToolbar.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeToolbar.vue deleted file mode 100644 index 6f60eda2..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/JVxeToolbar.vue +++ /dev/null @@ -1,128 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeCheckboxCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeCheckboxCell.vue deleted file mode 100644 index 32765bc0..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeCheckboxCell.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDateCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDateCell.vue deleted file mode 100644 index 7a6e56dc..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDateCell.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDepartSelectCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDepartSelectCell.vue deleted file mode 100644 index d73367ee..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDepartSelectCell.vue +++ /dev/null @@ -1,174 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDragSortCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDragSortCell.vue deleted file mode 100644 index 1e6f7caf..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeDragSortCell.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeInputCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeInputCell.vue deleted file mode 100644 index 03d71b35..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeInputCell.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeNormalCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeNormalCell.vue deleted file mode 100644 index f7cd0540..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeNormalCell.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeProgressCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeProgressCell.vue deleted file mode 100644 index 4e5df1e3..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeProgressCell.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeSelectCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeSelectCell.vue deleted file mode 100644 index e84a19e9..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeSelectCell.vue +++ /dev/null @@ -1,221 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeSlotCell.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeSlotCell.js deleted file mode 100644 index 5d7b4518..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeSlotCell.js +++ /dev/null @@ -1,46 +0,0 @@ -import JVxeCellMixins from '@/components/jeecg/JVxeTable/mixins/JVxeCellMixins' - -// 插槽 -export default { - name: 'JVxeSlotCell', - mixins: [JVxeCellMixins], - computed: { - slotProps() { - return { - value: this.innerValue, - row: this.row, - column: this.originColumn, - - params: this.params, - $table: this.params.$table, - rowId: this.params.rowid, - index: this.params.rowIndex, - rowIndex: this.params.rowIndex, - columnIndex: this.params.columnIndex, - - target: this.renderOptions.target, - caseId: this.renderOptions.target.caseId, - scrolling: this.renderOptions.scrolling, - reloadEffect: this.renderOptions.reloadEffect, - - triggerChange: (v) => this.handleChangeCommon(v), - } - }, - }, - render(h) { - let {slot} = this.renderOptions - if (slot) { - return h('div', {}, slot(this.slotProps)) - } else { - return h('div') - } - }, - // 【组件增强】注释详见:JVxeCellMixins.js - enhanced: { - switches: { - editRender: false - }, - } -} - -// :isNotPass="notPassedIds.includes(col.key+row.id)" diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTagsCell.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTagsCell.js deleted file mode 100644 index 90a4f37d..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTagsCell.js +++ /dev/null @@ -1,145 +0,0 @@ -import JVxeCellMixins from '@/components/jeecg/JVxeTable/mixins/JVxeCellMixins' - -// tags 组件的显示组件 -export const TagsSpanCell = { - name: 'JVxeTagsCell', - mixins: [JVxeCellMixins], - data() { - return { - innerTags: [], - } - }, - watch: { - innerValue: { - immediate: true, - handler(value) { - if (value !== this.innerTags.join(';')) { - let rv = replaceValue(value) - this.innerTags = rv.split(';') - this.handleChangeCommon(rv) - } - }, - }, - }, - methods: { - renderTags(h) { - let tags = [] - for (let tag of this.innerTags) { - if (tag) { - let tagProps = {} - let tagStyle = {} - let setTagColor = this.originColumn.setTagColor - if (typeof setTagColor === 'function') { - /** - * 设置 tag 颜色 - * - * @param event 包含的字段: - * event.tagValue 当前tag的值 - * event.value 当前原始值 - * event.row 当前行的所有值 - * event.column 当前列的配置 - * event.column.own 当前列的原始配置 - * @return Array | String 可以返回一个数组,数据第一项是tag背景颜色,第二项是字体颜色。也可以返回一个字符串,即tag背景颜色 - */ - let color = setTagColor({ - tagValue: tag, - value: this.innerValue, - row: this.row, - column: this.column, - }) - if (Array.isArray(color)) { - tagProps.color = color[0] - tagStyle.color = color[1] - } else if (color && typeof color === 'string') { - tagProps.color = color - } - } - tags.push(h('a-tag', { - props: tagProps, - style: tagStyle, - }, [tag])) - } - } - return tags - }, - }, - render(h) { - return h('div', {}, [ - this.renderTags(h) - ]) - }, -} - -// tags 组件的输入框 -export const TagsInputCell = { - name: 'JVxeTagsInputCell', - mixins: [JVxeCellMixins], - data() { - return { - innerTagValue: '', - } - }, - watch: { - innerValue: { - immediate: true, - handler(value) { - if (value !== this.innerTagValue) { - this.handleInputChange(value) - } - }, - }, - }, - methods: { - - handleInputChange(value, event) { - this.innerTagValue = replaceValue(value, event) - this.handleChangeCommon(this.innerTagValue) - return this.innerTagValue - }, - - }, - render(h) { - return h('a-input', { - props: { - value: this.innerValue, - ...this.cellProps - }, - on: { - change: (event) => { - let {target, target: {value}} = event - let newValue = this.handleInputChange(value, event) - if (newValue !== value) { - target.value = newValue - } - } - }, - }) - }, -} - -// 将值每隔两位加上一个分号 -function replaceValue(value, event) { - if (value) { - // 首先去掉现有的分号 - value = value.replace(/;/g, '') - // 然后再遍历添加分号 - let rv = '' - let splitArr = value.split('') - let count = 0 - splitArr.forEach((val, index) => { - rv += val - let position = index + 1 - if (position % 2 === 0 && position < splitArr.length) { - count++ - rv += ';' - } - }) - if (event && count > 0) { - let {target, target: {selectionStart}} = event - target.selectionStart = selectionStart + count - target.selectionEnd = selectionStart + count - } - return rv - } - return '' -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTextareaCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTextareaCell.vue deleted file mode 100644 index d2a9e548..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTextareaCell.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTimeCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTimeCell.vue deleted file mode 100644 index a1f435e3..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeTimeCell.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeUploadCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeUploadCell.vue deleted file mode 100644 index cce749f4..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeUploadCell.vue +++ /dev/null @@ -1,191 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeUserSelectCell.vue b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeUserSelectCell.vue deleted file mode 100644 index 7e6f237d..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/JVxeUserSelectCell.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/ReloadEffect.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/ReloadEffect.js deleted file mode 100644 index 02a5e27e..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/components/cells/ReloadEffect.js +++ /dev/null @@ -1,84 +0,0 @@ -import '../../less/reload-effect.less' -import { randomString } from '@/utils/util' - -// 修改数据特效 -export default { - props: { - vNode: null, - // 是否启用特效 - effect: Boolean, - }, - data() { - return { - // vNode: null, - innerEffect: false, - // 应付同时多个特效 - effectIdx: 0, - effectList: [], - } - }, - watch: { - vNode: { - deep: true, - immediate: true, - handler(vNode, old) { - this.innerEffect = this.effect - if (this.innerEffect && old != null) { - let topLayer = this.renderSpan(old, 'top') - this.effectList.push(topLayer) - } - }, - }, - }, - methods: { - - // 条件渲染内容 span - renderVNode() { - if (this.vNode == null) { - return null - } - let bottom = this.renderSpan(this.vNode, 'bottom') - // 启用了特效,并且有旧数据,就渲染特效顶层 - if (this.innerEffect && this.effectList.length > 0) { - this.$emit('effect-begin') - // 1.4s 以后关闭特效 - window.setTimeout(() => { - let item = this.effectList[this.effectIdx] - if (item && item.elm) { - // 特效结束后,展示先把 display 设为 none,而不是直接删掉该元素, - // 目的是为了防止页面重新渲染,导致动画重置 - item.elm.style.display = 'none' - } - // 当所有的层级动画都结束时,再删掉所有元素 - if (++this.effectIdx === this.effectList.length) { - this.innerEffect = false - this.effectIdx = 0 - this.effectList = [] - this.$emit('effect-end') - } - }, 1400) - return [this.effectList, bottom] - } else { - return bottom - } - }, - // 渲染内容 span - renderSpan(vNode, layer) { - let options = { - key: layer + this.effectIdx + randomString(6), - class: ['j-vxe-reload-effect-span', `layer-${layer}`], - style: {}, - } - if (layer === 'top') { - // 最新渲染的在下面 - options.style['z-index'] = (9999 - this.effectIdx) - } - return this.$createElement('span', options, [vNode]) - }, - }, - render(h) { - return h('div', { - class: ['j-vxe-reload-effect-box'], - }, [this.renderVNode()]) - }, -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/index.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/index.js deleted file mode 100644 index 4dd34fbe..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/index.js +++ /dev/null @@ -1,53 +0,0 @@ -import * as jvxeTypes from './jvxeTypes' -import { installCell, mapCell } from './install' -import JVxeTable from './components/JVxeTable' - -import JVxeSlotCell from './components/cells/JVxeSlotCell' -import JVxeNormalCell from './components/cells/JVxeNormalCell' -import JVxeInputCell from './components/cells/JVxeInputCell' -import JVxeDateCell from './components/cells/JVxeDateCell' -import JVxeTimeCell from './components/cells/JVxeTimeCell' -import JVxeSelectCell from './components/cells/JVxeSelectCell' -import JVxeCheckboxCell from './components/cells/JVxeCheckboxCell' -import JVxeUploadCell from './components/cells/JVxeUploadCell' -import { TagsInputCell, TagsSpanCell } from './components/cells/JVxeTagsCell' -import JVxeProgressCell from './components/cells/JVxeProgressCell' -import JVxeTextareaCell from './components/cells/JVxeTextareaCell' -import JVxeDragSortCell from './components/cells/JVxeDragSortCell' -import JVxeDepartSelectCell from './components/cells/JVxeDepartSelectCell' -import JVxeUserSelectCell from './components/cells/JVxeUserSelectCell' - -//update--begin--autor:lvdandan-----date:20201216------for:JVxeTable--JVXETypes 【online】代码结构调整,便于online打包 -// 组件类型 -export const JVXETypes = jvxeTypes.JVXETypes -//update--end--autor:lvdandan-----date:20201216------for:JVxeTable--JVXETypes 【online】代码结构调整,便于online打包 - -// 注册自定义组件 -export const AllCells = { - ...mapCell(JVXETypes.normal, JVxeNormalCell), - ...mapCell(JVXETypes.input, JVxeInputCell), - ...mapCell(JVXETypes.inputNumber, JVxeInputCell), - ...mapCell(JVXETypes.checkbox, JVxeCheckboxCell), - ...mapCell(JVXETypes.select, JVxeSelectCell), - ...mapCell(JVXETypes.selectSearch, JVxeSelectCell), // 下拉搜索 - ...mapCell(JVXETypes.selectMultiple, JVxeSelectCell), // 下拉多选 - ...mapCell(JVXETypes.date, JVxeDateCell), - ...mapCell(JVXETypes.datetime, JVxeDateCell), - ...mapCell(JVXETypes.time, JVxeTimeCell), - ...mapCell(JVXETypes.upload, JVxeUploadCell), - ...mapCell(JVXETypes.textarea, JVxeTextareaCell), - - ...mapCell(JVXETypes.tags, TagsInputCell, TagsSpanCell), - ...mapCell(JVXETypes.progress, JVxeProgressCell), - - ...mapCell(JVXETypes.rowDragSort, JVxeDragSortCell), - ...mapCell(JVXETypes.slot, JVxeSlotCell), - ...mapCell(JVXETypes.departSelect, JVxeDepartSelectCell), - ...mapCell(JVXETypes.userSelect, JVxeUserSelectCell) - - /* hidden 是特殊的组件,不在这里注册 */ -} - -export { installCell, mapCell } - -export default JVxeTable \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/install.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/install.js deleted file mode 100644 index 263cd236..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/install.js +++ /dev/null @@ -1,105 +0,0 @@ -import Vue from 'vue' -import { getEventPath } from '@/utils/util' -import JVxeTable, { AllCells, JVXETypes } from './index' -import './less/j-vxe-table.less' -// 引入 vxe-table -import 'xe-utils' -import VXETable, { Grid } from 'vxe-table' -import VXETablePluginAntd from 'vxe-table-plugin-antd' -import 'vxe-table/lib/index.css' -import 'vxe-table-plugin-antd/dist/style.css' -import { getEnhancedMixins, installAllCell, installOneCell } from '@/components/jeecg/JVxeTable/utils/cellUtils' - -// VxeGrid所有的方法映射 -const VxeGridMethodsMap = {} -Object.keys(Grid.methods).forEach(key => { - // 使用eval可以避免闭包(但是要注意不要写es6的代码) - VxeGridMethodsMap[key] = eval(`(function(){return this.$refs.vxe.${key}.apply(this.$refs.vxe,arguments)})`) -}) -// 将Grid所有的方法都映射(继承)到JVxeTable上 -JVxeTable.methods = Object.assign({}, VxeGridMethodsMap, JVxeTable.methods) - -// VXETable 全局配置 -const VXETableSettings = { - // z-index 起始值 - zIndex: 1000, - table: { - validConfig: { - // 校验提示方式:强制使用tooltip - message: 'tooltip' - } - } -} - -// 执行注册方法 -Vue.use(VXETable, VXETableSettings) -VXETable.use(VXETablePluginAntd) -Vue.component(JVxeTable.name, JVxeTable) - -// 注册自定义组件 -installAllCell(VXETable) - -// 添加事件拦截器 event.clearActived -// 比如点击了某个组件的弹出层面板之后,此时被激活单元格不应该被自动关闭,通过返回 false 可以阻止默认的行为。 -VXETable.interceptor.add('event.clearActived', function (params, event, target) { - // 获取组件增强 - let col = params.column.own - const interceptor = getEnhancedMixins(col.$type, 'interceptor') - // 执行增强 - let flag = interceptor['event.clearActived'].apply(this, arguments) - if (flag === false) { - return false - } - - let path = getEventPath(event) - for (let p of path) { - let className = p.className || '' - className = typeof className === 'string' ? className : className.toString() - - /* --- 特殊处理以下组件,点击以下标签时不清空编辑状态 --- */ - - // 点击的标签是JInputPop - if (className.includes('j-input-pop')) { - return false - } - // 点击的标签是JPopup的弹出层、部门选择、用户选择 - if (className.includes('j-popup-modal') || className.includes('j-depart-select-modal') || className.includes('j-user-select-modal')) { - return false - } - // 执行增强 - let flag = interceptor['event.clearActived.className'].apply(this, [className, ...arguments]) - if (flag === false) { - return false - } - } -}) - -/** - * 注册map - * @param type 类型 - * @param cell 输入组件 - * @param span 显示组件,可空,默认为 JVxeNormalCell 组件 - */ -export function mapCell(type, cell, span) { - let cells = {[type]: cell} - if (span) { - cells[type + ':span'] = span - } - return cells -} - -/** - * 注册自定义组件 - * - * @param type 类型 - * @param cell 输入组件 - * @param span 显示组件,可空,默认为 JVxeNormalCell 组件 - */ -export function installCell(type, cell, span) { - let exclude = [JVXETypes.rowNumber, JVXETypes.rowCheckbox, JVXETypes.rowRadio, JVXETypes.rowExpand, JVXETypes.rowDragSort] - if (exclude.includes(type)) { - throw new Error(`【installCell】不能使用"${type}"作为组件的type,因为这是关键字。`) - } - Object.assign(AllCells, mapCell(type, cell, span)) - installOneCell(VXETable, type) -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/jvxeTypes.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/jvxeTypes.js deleted file mode 100644 index 9929b066..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/jvxeTypes.js +++ /dev/null @@ -1,45 +0,0 @@ -// 组件类型 -export default JVXETypes -export const JVXETypes = { - // 为了防止和 vxe 内置的类型冲突,所以加上一个前缀 - // 前缀是自动加的,代码中直接用就行(JVXETypes.input) - _prefix: 'j-', - - // 行号列 - rowNumber: 'row-number', - // 选择列 - rowCheckbox: 'row-checkbox', - // 单选列 - rowRadio: 'row-radio', - // 展开列 - rowExpand: 'row-expand', - // 上下排序 - rowDragSort: 'row-drag-sort', - - input: 'input', - inputNumber: 'inputNumber', - textarea: 'textarea', - select: 'select', - date: 'date', - datetime: 'datetime', - time: 'time', - checkbox: 'checkbox', - upload: 'upload', - // 下拉搜索 - selectSearch: 'select-search', - // 下拉多选 - selectMultiple: 'select-multiple', - // 进度条 - progress: 'progress', - //部门选择 - departSelect: 'sel_depart', - //用户选择 - userSelect: 'sel_user', - - // 拖轮Tags(暂无用) - tags: 'tags', - - slot: 'slot', - normal: 'normal', - hidden: 'hidden', -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/j-vxe-table.less b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/j-vxe-table.less deleted file mode 100644 index 7b834784..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/j-vxe-table.less +++ /dev/null @@ -1,59 +0,0 @@ -@import "size/tiny"; - -.j-vxe-table-box { - - // 工具栏 - .j-vxe-toolbar { - margin-bottom: 8px; - } - - // 分页器 - .j-vxe-pagination { - margin-top: 8px; - text-align: right; - - .ant-pagination-options-size-changer.ant-select { - margin-right: 0; - } - - &.show-quick-jumper { - .ant-pagination-options-size-changer.ant-select { - margin-right: 8px; - } - } - } - - // 更改 header 底色 - .vxe-table.border--default .vxe-table--header-wrapper, - .vxe-table.border--full .vxe-table--header-wrapper, - .vxe-table.border--outer .vxe-table--header-wrapper { - background-color: #FFFFFF; - } - -} - -// 更改 tooltip 校验失败的颜色 -.vxe-table--tooltip-wrapper.vxe-table--valid-error { - background-color: #f5222d !important; -} - -// 更改 输入框 校验失败的颜色 -.col--valid-error > .vxe-cell > .ant-input, -.col--valid-error > .vxe-cell > .ant-select .ant-input, -.col--valid-error > .vxe-cell > .ant-select .ant-select-selection, -.col--valid-error > .vxe-cell > .ant-input-number, -.col--valid-error > .vxe-cell > .ant-cascader-picker .ant-cascader-input, -.col--valid-error > .vxe-cell > .ant-calendar-picker .ant-calendar-picker-input, -.col--valid-error > .vxe-tree-cell > .ant-input, -.col--valid-error > .vxe-tree-cell > .ant-select .ant-input, -.col--valid-error > .vxe-tree-cell > .ant-select .ant-select-selection, -.col--valid-error > .vxe-tree-cell > .ant-input-number, -.col--valid-error > .vxe-tree-cell > .ant-cascader-picker .ant-cascader-input, -.col--valid-error > .vxe-tree-cell > .ant-calendar-picker .ant-calendar-picker-input { - border-color: #f5222d !important; -} - -// 拖拽排序列样式 -.vxe-table .col--row-drag-sort .vxe-cell { - height: 100%; -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/reload-effect.less b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/reload-effect.less deleted file mode 100644 index c794ea7b..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/reload-effect.less +++ /dev/null @@ -1,46 +0,0 @@ -.j-vxe-reload-effect-box { - - &, - .j-vxe-reload-effect-span { - display: inline; - height: 100%; - position: relative; - } - - .j-vxe-reload-effect-span { - - &.layer-top { - display: inline-block; - width: 100%; - - position: absolute; - z-index: 2; - background-color: white; - - transform-origin: 0 0; - animation: reload-effect 1.5s forwards; - } - - &.layer-bottom { - z-index: 1; - } - } - - // 定义动画 - @keyframes reload-effect { - 0% { - opacity: 1; - transform: rotateX(0); - } - 10% { - opacity: 1; - } - 90% { - opacity: 0; - } - 100% { - opacity: 0; - transform: rotateX(180deg); - } - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/size/tiny.less b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/size/tiny.less deleted file mode 100644 index 5682f2af..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/less/size/tiny.less +++ /dev/null @@ -1,332 +0,0 @@ -.j-vxe-table-box { - - @height: 24px; - @lineHeight: 1.5; - @spacing: 4px; - @fontSize: 14px; - @borderRadius: 2px; - - &.size--tiny { - - .vxe-table--header .vxe-cell--checkbox { - position: relative; - top: 2px; - right: 1px; - } - - .vxe-table--body .vxe-cell--checkbox { - line-height: 2; - } - - .vxe-cell { - padding: 0 5px; - font-size: @fontSize; - line-height: @lineHeight; - } - - .vxe-table .vxe-header--column .vxe-cell { - font-size: 12px; - } - - .vxe-body--column.col--actived { - padding: 0; - - .vxe-cell { - padding: 0; - } - - } - - // ant输入框 - .ant-input, - // ant下拉框 - .ant-select-selection { - padding: 2px @spacing; - height: @height; - font-size: @fontSize; - border-radius: @borderRadius; - line-height: @lineHeight; - } - - // 输入框图标对齐 - .ant-input-affix-wrapper { - & .ant-input-prefix { - left: 4px; - } - - & .ant-input:not(:first-child) { - padding-left: 20px; - } - } - - // 按钮 addon - .ant-input-group-addon { - border-color: transparent; - border-radius: @borderRadius; - } - - - // ant下拉多选框 - .ant-select-selection--multiple { - min-height: @height; - - & .ant-select-selection__rendered > ul > li { - height: calc(@height - 6px); - font-size: calc(@fontSize - 2px); - margin-top: 0; - line-height: @lineHeight; - padding: 0 18px 0 4px; - - } - - & .ant-select-selection__clear, - & .ant-select-arrow { - top: 12px; - } - } - - - // ant按钮 - .ant-upload { - width: 100%; - - .ant-btn { - width: 100%; - height: @height; - padding: 0 8px; - font-size: @fontSize; - border-color: transparent; - background-color: transparent; - border-radius: @borderRadius; - - &:hover { - background-color: rgba(255, 255, 255, 0.3); - } - } - } - - .ant-select-selection__rendered { - line-height: @lineHeight; - margin-left: 0; - } - - - // 工具栏 - .j-vxe-toolbar { - margin-bottom: 4px; - - .ant-form-item-label, - .ant-form-item-control { - line-height: 22px; - } - - .ant-form-inline .ant-form-item { - margin-right: 4px; - } - - } - } - - /** 内置属性 */ - - .vxe-table.size--tiny { - & .vxe-table--expanded { - padding-right: 0; - } - - & .vxe-body--expanded-cell { - padding: 8px; - } - } - - .size--tiny .vxe-loading .vxe-loading--spinner { - width: 38px; - height: 38px - } - - .vxe-table.size--tiny .vxe-body--column.col--ellipsis, - .vxe-table.size--tiny .vxe-footer--column.col--ellipsis, - .vxe-table.size--tiny .vxe-header--column.col--ellipsis, - .vxe-table.vxe-editable.size--tiny .vxe-body--column { - height: @height; - } - - .vxe-table.size--tiny { - font-size: 12px - } - - .vxe-table.size--tiny .vxe-table--empty-block, - .vxe-table.size--tiny .vxe-table--empty-placeholder { - min-height: @height; - } - - .vxe-table.size--tiny .vxe-body--column:not(.col--ellipsis), - .vxe-table.size--tiny .vxe-footer--column:not(.col--ellipsis), - .vxe-table.size--tiny .vxe-header--column:not(.col--ellipsis) { - padding: 4px 0 - } - - .vxe-table.size--tiny .vxe-cell .vxe-default-input, - .vxe-table.size--tiny .vxe-cell .vxe-default-select, - .vxe-table.size--tiny .vxe-cell .vxe-default-textarea { - height: @height; - } - - .vxe-table.size--tiny .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button { - margin-top: 1px - } - - .vxe-table.size--tiny.virtual--x .col--ellipsis .vxe-cell, - .vxe-table.size--tiny.virtual--y .col--ellipsis .vxe-cell, - .vxe-table.size--tiny .vxe-body--column.col--ellipsis .vxe-cell, - .vxe-table.size--tiny .vxe-footer--column.col--ellipsis .vxe-cell, - .vxe-table.size--tiny .vxe-header--column.col--ellipsis .vxe-cell { - max-height: @height; - } - - .vxe-table.size--tiny .vxe-cell--checkbox .vxe-checkbox--icon, - .vxe-table.size--tiny .vxe-cell--radio .vxe-radio--icon { - font-size: 14px - } - - - .vxe-table.size--tiny .vxe-table--filter-option > .vxe-checkbox--icon, - .vxe-table.size--small .vxe-table--filter-option > .vxe-checkbox--icon { - font-size: 14px - } - - .vxe-modal--wrapper.size--tiny .vxe-export--panel-column-option > .vxe-checkbox--icon, - .vxe-modal--wrapper.size--small .vxe-export--panel-column-option > .vxe-checkbox--icon { - font-size: 14px - } - - .vxe-grid.size--tiny { - font-size: 12px - } - - .vxe-toolbar.size--tiny { - font-size: 12px; - height: 46px - } - - .vxe-toolbar.size--tiny .vxe-custom--option > .vxe-checkbox--icon { - font-size: 14px - } - - .vxe-pager.size--tiny { - font-size: 12px; - height: @height; - } - - .vxe-checkbox.size--tiny { - font-size: 12px - } - - .vxe-checkbox.size--tiny .vxe-checkbox--icon { - font-size: 14px - } - - .vxe-radio-button.size--tiny .vxe-radio--label { - line-height: 26px - } - - .vxe-radio.size--tiny { - font-size: 12px - } - - .vxe-radio.size--tiny .vxe-radio--icon { - font-size: 14px - } - - .vxe-input.size--tiny { - font-size: 12px; - height: @height; - } - - .vxe-input.size--tiny .vxe-input--inner[type=date]::-webkit-inner-spin-button, - .vxe-input.size--tiny .vxe-input--inner[type=month]::-webkit-inner-spin-button, - .vxe-input.size--tiny .vxe-input--inner[type=week]::-webkit-inner-spin-button { - margin-top: 0 - } - - .vxe-dropdown--panel.size--tiny { - font-size: 12px - } - - .vxe-textarea--autosize.size--tiny, - .vxe-textarea.size--tiny { - font-size: 12px - } - - .vxe-textarea.size--tiny:not(.is--autosize) { - min-height: @height; - } - - .vxe-button.size--tiny { - font-size: 12px - } - - .vxe-button.size--tiny.type--button { - height: @height; - } - - .vxe-button.size--tiny.type--button.is--circle { - min-width: @height; - } - - .vxe-button.size--tiny.type--button.is--round { - border-radius: 14px - } - - .vxe-button.size--tiny .vxe-button--icon, - .vxe-button.size--tiny .vxe-button--loading-icon { - min-width: 12px - } - - .vxe-modal--wrapper.size--tiny { - font-size: 12px - } - - .vxe-form.size--tiny { - font-size: 12px - } - - .vxe-form.size--tiny .vxe-form--item-inner { - min-height: 30px - } - - .vxe-form.size--tiny .vxe-default-input[type=reset], - .vxe-form.size--tiny .vxe-default-input[type=submit] { - line-height: 26px - } - - .vxe-form.size--tiny .vxe-default-input, - .vxe-form.size--tiny .vxe-default-select { - height: @height; - } - - .vxe-select--panel.size--tiny, - .vxe-select.size--tiny { - font-size: 12px - } - - .vxe-select--panel.size--tiny .vxe-optgroup--title, - .vxe-select--panel.size--tiny .vxe-select-option { - height: 24px; - line-height: 24px - } - - .vxe-switch.size--tiny { - font-size: 12px - } - - - .vxe-pulldown--panel.size--tiny, - .vxe-pulldown.size--tiny { - font-size: 12px - } - - -} - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/mixins/JVxeCellMixins.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/mixins/JVxeCellMixins.js deleted file mode 100644 index 4f77ddfb..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/mixins/JVxeCellMixins.js +++ /dev/null @@ -1,330 +0,0 @@ -import PropTypes from 'ant-design-vue/es/_util/vue-types' -import { filterDictText } from '@/components/dict/JDictSelectUtil' -import { getEnhancedMixins, JVXERenderType, replaceProps } from '@/components/jeecg/JVxeTable/utils/cellUtils' - -// noinspection JSUnusedLocalSymbols -export default { - inject: { - getParentContainer: {default: () => ((node) => node.parentNode)}, - }, - props: { - value: PropTypes.any, - row: PropTypes.object, - column: PropTypes.object, - // 组件参数 - params: PropTypes.object, - // 渲染选项 - renderOptions: PropTypes.object, - // 渲染类型 - renderType: PropTypes.string.def('default'), - }, - data() { - return { - innerValue: null, - } - }, - computed: { - caseId() { - return this.renderOptions.caseId - }, - originColumn() { - return this.column.own - }, - $type() { - return this.originColumn.$type - }, - rows() { - return this.params.data - }, - fullDataLength() { - return this.params.$table.tableFullData.length - }, - rowIndex() { - return this.params.rowIndex - }, - columnIndex() { - return this.params.columnIndex - }, - cellProps() { - let {originColumn: col, renderOptions} = this - - let props = {} - - // 输入占位符 - props['placeholder'] = replaceProps(col, col.placeholder) - - // 解析props - if (typeof col.props === 'object') { - Object.keys(col.props).forEach(key => { - props[key] = replaceProps(col, col.props[key]) - }) - } - - // 判断是否是禁用的列 - props['disabled'] = (typeof col['disabled'] === 'boolean' ? col['disabled'] : props['disabled']) - - // TODO 判断是否是禁用的行 - // if (props['disabled'] !== true) { - // props['disabled'] = ((this.disabledRowIds || []).indexOf(row.id) !== -1) - // } - - // 判断是否禁用所有组件 - if (renderOptions.disabled === true) { - props['disabled'] = true - } - - // update-begin-author:taoyan date:20211011 for: online表单,附表用户选择器{"multiSelect":false}不生效,单表可以生效 #3036 - let jsonStr = col['fieldExtendJson'] - if(jsonStr){ - let fieldExtendJson = JSON.parse(jsonStr) - if(fieldExtendJson && fieldExtendJson['multiSelect']==false){ - props['multi'] = false - } - } - // update-end-author:taoyan date:20211011 for: online表单,附表用户选择器{"multiSelect":false}不生效,单表可以生效 #3036 - - return props - }, - }, - watch: { - $type: { - immediate: true, - handler($type) { - this.enhanced = getEnhancedMixins($type) - this.listeners = getListeners.call(this) - }, - }, - value: { - immediate: true, - handler(val) { - let value = val - - // 验证值格式 - let originValue = this.row[this.column.property] - let getValue = this.enhanced.getValue.call(this, originValue) - if (originValue !== getValue) { - // 值格式不正确,重新赋值 - value = getValue - vModel.call(this, value) - } - - this.innerValue = this.enhanced.setValue.call(this, value) - - // 判断是否启用翻译 - if (this.renderType === JVXERenderType.spaner && this.enhanced.translate.enabled) { - let res = this.enhanced.translate.handler.call(this, value) - // 异步翻译,目前仅【多级联动】使用 - if (res instanceof Promise) { - res.then(value => this.innerValue = value) - } else { - this.innerValue = res - } - } - }, - }, - }, - created() { - }, - methods: { - - /** 通用处理change事件 */ - handleChangeCommon(value) { - let handle = this.enhanced.getValue.call(this, value) - this.trigger('change', {value: handle}) - // 触发valueChange事件 - this.parentTrigger('valueChange', { - type: this.$type, - value: handle, - oldValue: this.value, - col: this.originColumn, - rowIndex: this.params.rowIndex, - columnIndex: this.params.columnIndex, - }) - }, - /** 通用处理blur事件 */ - handleBlurCommon(value) { - this.trigger('blur', {value}) - }, - - /** - * 如果事件存在的话,就触发 - * @param name 事件名 - * @param event 事件参数 - * @param args 其他附带参数 - */ - trigger(name, event, args = []) { - let listener = this.listeners[name] - if (typeof listener === 'function') { - if (typeof event === 'object') { - event = this.packageEvent(name, event) - } - listener(event, ...args) - } - }, - parentTrigger(name, event, args = []) { - args.unshift(this.packageEvent(name, event)) - this.trigger('trigger', name, args) - }, - packageEvent(name, event = {}) { - event.row = this.row - event.column = this.column - //online增强参数兼容 - event.column['key'] = this.column['property'] - event.cellTarget = this - if (!event.type) { - event.type = name - } - if (!event.cellType) { - event.cellType = this.$type - } - // 是否校验表单,默认为true - if (typeof event.validate !== 'boolean') { - event.validate = true - } - return event - }, - - }, - model: { - prop: 'value', - event: 'change' - }, - /** - * 【自定义增强】用于实现一些增强事件 - * 【注】这里只是定义接口,具体功能需要到各个组件内实现(也有部分功能实现) - * 【注】该属性不是Vue官方属性,是JVxeTable组件自定义的 - * 所以方法内的 this 指向并不是当前组件,而是方法自身, - * 也就是说并不能 this 打点调实例里的任何方法 - */ - enhanced: { - // 注册参数(详见:https://xuliangzhan_admin.gitee.io/vxe-table/#/table/renderer/edit) - installOptions: { - // 自动聚焦的 class 类名 - autofocus: '', - }, - // 事件拦截器(用于兼容) - interceptor: { - // 已实现:event.clearActived - // 说明:比如点击了某个组件的弹出层面板之后,此时被激活单元格不应该被自动关闭,通过返回 false 可以阻止默认的行为。 - ['event.clearActived'](params, event, target) { - return true - }, - // 自定义:event.clearActived.className - // 说明:比原生的多了一个参数:className,用于判断点击的元素的样式名(递归到顶层) - ['event.clearActived.className'](params, event, target) { - return true - }, - }, - // 【功能开关】 - switches: { - // 是否使用 editRender 模式(仅当前组件,并非全局) - // 如果设为true,则表头上方会出现一个可编辑的图标 - editRender: true, - // false = 组件触发后可视);true = 组件一直可视 - visible: false, - }, - // 【切面增强】切面事件处理,一般在某些方法执行后同步执行 - aopEvents: { - // 单元格被激活编辑时会触发该事件 - editActived() { - }, - // 单元格编辑状态下被关闭时会触发该事件 - editClosed() { - }, - }, - // 【翻译增强】可以实现例如select组件保存的value,但是span模式下需要显示成text - translate: { - // 是否启用翻译 - enabled: false, - /** - * 【翻译处理方法】如果handler留空,则使用默认的翻译方法 - * (this指向当前组件) - * - * @param value 需要翻译的值 - * @returns{*} 返回翻译后的数据 - */ - handler(value,) { - // 默认翻译方法 - return filterDictText(this.column.own.options, value) - }, - }, - /** - * 【获取值增强】组件抛出的值 - * (this指向当前组件) - * - * @param value 保存到数据库里的值 - * @returns{*} 返回处理后的值 - */ - getValue(value) { - return value - }, - /** - * 【设置值增强】设置给组件的值 - * (this指向当前组件) - * - * @param value 组件触发的值 - * @returns{*} 返回处理后的值 - */ - setValue(value) { - return value - }, - /** - * 【新增行增强】在用户点击新增时触发的事件,返回新行的默认值 - * - * @param row 行数据 - * @param column 列配置,.own 是用户配置的参数 - * @param $table vxe 实例 - * @param renderOptions 渲染选项 - * @param params 可以在这里获取 $table - * - * @returns 返回新值 - */ - createValue({row, column, $table, renderOptions, params}) { - return column.own.defaultValue - }, - } -} - -function getListeners() { - let listeners = Object.assign({}, (this.renderOptions.listeners || {})) - if (!listeners.change) { - listeners.change = async (event) => { - vModel.call(this, event.value) - await this.$nextTick() - // 处理 change 事件相关逻辑(例如校验) - this.params.$table.updateStatus(this.params) - } - } - return listeners -} - -export function vModel(value, row, property) { - if (!row) { - row = this.row - } - if (!property) { - property = this.column.property - } - this.$set(row, property, value) -} - -/** 模拟触发事件 */ -export function dispatchEvent({cell, $event}, className, handler) { - // alwaysEdit 下不模拟触发事件,否者会导致触发两次 - if (this && this.alwaysEdit) { - return - } - window.setTimeout(() => { - let element = cell.getElementsByClassName(className) - if (element && element.length > 0) { - if (typeof handler === 'function') { - handler(element[0]) - } else { - // 模拟触发点击事件 - if($event){ - element[0].dispatchEvent($event) - } - } - } - }, 10) -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/mixins/vxe.web.socket.mixins.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/mixins/vxe.web.socket.mixins.js deleted file mode 100644 index 3d0ea79e..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/mixins/vxe.web.socket.mixins.js +++ /dev/null @@ -1,270 +0,0 @@ -import store from '@/store/' -import { randomUUID } from '@/utils/util' -import Vue from 'vue' -import { ACCESS_TOKEN } from '@/store/mutation-types' - -// vxe socket -const vs = { - // 页面唯一 id,用于标识同一用户,不同页面的websocket - pageId: randomUUID(), - // webSocket 对象 - ws: null, - // 一些常量 - constants: { - // 消息类型 - TYPE: 'type', - // 消息数据 - DATA: 'data', - // 消息类型:心跳检测 - TYPE_HB: 'heart_beat', - // 消息类型:通用数据传递 - TYPE_CSD: 'common_send_date', - // 消息类型:更新vxe table数据 - TYPE_UVT: 'update_vxe_table', - }, - // 心跳检测 - heartCheck: { - // 间隔时间,间隔多久发送一次心跳消息 - interval: 10000, - // 心跳消息超时时间,心跳消息多久没有回复后重连 - timeout: 6000, - timeoutTimer: null, - clear() { - clearTimeout(this.timeoutTimer) - return this - }, - start() { - vs.sendMessage(vs.constants.TYPE_HB, '') - // 如果超过一定时间还没重置,说明后端主动断开了 - this.timeoutTimer = window.setTimeout(() => { - vs.reconnect() - }, this.timeout) - return this - }, - // 心跳消息返回 - back() { - this.clear() - window.setTimeout(() => this.start(), this.interval) - }, - }, - - /** 初始化 WebSocket */ - initialWebSocket() { - if (this.ws === null) { - const userId = store.getters.userInfo.id - const domain = window._CONFIG['domianURL'].replace('https://', 'wss://').replace('http://', 'ws://') - const url = `${domain}/vxeSocket/${userId}/${this.pageId}` - - //update-begin-author:taoyan date:2022-4-22 for: v2.4.6 的 websocket 服务端,存在性能和安全问题。 #3278 - let token = Vue.ls.get(ACCESS_TOKEN) - this.ws = new WebSocket(url, [token]) - //update-end-author:taoyan date:2022-4-22 for: v2.4.6 的 websocket 服务端,存在性能和安全问题。 #3278 - this.ws.onopen = this.on.open.bind(this) - this.ws.onerror = this.on.error.bind(this) - this.ws.onmessage = this.on.message.bind(this) - this.ws.onclose = this.on.close.bind(this) - - console.log('this.ws: ', this.ws) - } - }, - - // 发送消息 - sendMessage(type, message) { - try { - let ws = this.ws - if (ws != null && ws.readyState === ws.OPEN) { - ws.send(JSON.stringify({ - type: type, - data: message - })) - } - } catch (err) { - console.warn('【VXEWebSocket】发送消息失败:(' + err.code + ')') - } - }, - - /** 绑定全局VXE表格 */ - tableMap: new Map(), - CSDMap: new Map(), - /** 添加绑定 */ - addBind(map, key, value) { - let binds = map.get(key) - if (Array.isArray(binds)) { - binds.push(value) - } else { - map.set(key, [value]) - } - }, - /** 移除绑定 */ - removeBind(map, key, value) { - let binds = map.get(key) - if (Array.isArray(binds)) { - for (let i = 0; i < binds.length; i++) { - let bind = binds[i] - if (bind === value) { - binds.splice(i, 1) - break - } - } - if (binds.length === 0) { - map.delete(key) - } - } else { - map.delete(key) - } - }, - // 呼叫绑定的表单 - callBind(map, key, callback) { - let binds = map.get(key) - if (Array.isArray(binds)) { - binds.forEach(callback) - } - }, - - lockReconnect: false, - /** 尝试重连 */ - reconnect() { - if (this.lockReconnect) return - this.lockReconnect = true - setTimeout(() => { - if (this.ws && this.ws.close) { - this.ws.close() - } - this.ws = null - console.info('【VXEWebSocket】尝试重连...') - this.initialWebSocket() - this.lockReconnect = false - }, 5000) - }, - - on: { - open() { - console.log('【VXEWebSocket】连接成功') - this.heartCheck.start() - }, - error(e) { - console.warn('【VXEWebSocket】连接发生错误:', e) - this.reconnect() - }, - message(e) { - // 解析消息 - let json - try { - json = JSON.parse(e.data) - } catch (e) { - console.warn('【VXEWebSocket】收到无法解析的消息:', e.data) - return - } - let type = json[this.constants.TYPE] - let data = json[this.constants.DATA] - switch (type) { - // 心跳检测 - case this.constants.TYPE_HB: - this.heartCheck.back() - break - // 通用数据传递 - case this.constants.TYPE_CSD: - this.callBind(this.CSDMap, data.key, (fn) => fn.apply(this, data.args)) - break - // 更新form数据 - case this.constants.TYPE_UVT: - this.callBind(this.tableMap, data.socketKey, (vm) => this.onVM['onUpdateTable'].apply(vm, data.args)) - break - default: - console.warn('【VXEWebSocket】收到不识别的消息类型:' + type) - break - } - }, - close(e) { - console.log('【VXEWebSocket】连接被关闭:', e) - this.reconnect() - }, - }, - - onVM: { - /** 收到更新表格的消息 */ - onUpdateTable(row, caseId) { - // 判断是不是自己发的消息 - if (this.caseId !== caseId) { - const tableRow = this.getIfRowById(row.id).row - // 局部保更新数据 - if (tableRow) { - // 特殊处理拖轮状态 - if (row['tug_status'] && tableRow['tug_status']) { - row['tug_status'] = Object.assign({}, tableRow['tug_status'], row['tug_status']) - } - // 判断是否启用重载特效 - if (this.reloadEffect) { - this.$set(this.reloadEffectRowKeysMap, row.id, true) - } - Object.keys(row).forEach(key => { - if (key !== 'id') { - this.$set(tableRow, key, row[key]) - } - }) - this.$refs.vxe.reloadRow(tableRow) - } - } - }, - }, - -} - -export default { - props: { - // 是否开启使用 webSocket 无痕刷新 - socketReload: { - type: Boolean, - default: false - }, - socketKey: { - type: String, - default: 'vxe-default' - }, - }, - data() { - return {} - }, - mounted() { - if (this.socketReload) { - vs.initialWebSocket() - vs.addBind(vs.tableMap, this.socketKey, this) - } - }, - methods: { - - /** 发送socket消息更新行 */ - socketSendUpdateRow(row) { - vs.sendMessage(vs.constants.TYPE_UVT, { - socketKey: this.socketKey, - args: [row, this.caseId], - }) - }, - - }, - beforeDestroy() { - vs.removeBind(vs.tableMap, this.socketKey, this) - }, -} - -/** - * 添加WebSocket通用数据传递绑定,相同的key可以添加多个方法绑定 - * @param key 唯一key - * @param fn 当消息来的时候触发的回调方法 - */ -export function addBindSocketCSD(key, fn) { - if (typeof fn === 'function') { - vs.addBind(vs.CSDMap, key, fn) - } -} - -/** - * 移除WebSocket通用数据传递绑定 - * @param key 唯一key - * @param fn 要移除的方法,必须和添加时的方法内存层面上保持一致才可以正确移除 - */ -export function removeBindSocketCSD(key, fn) { - if (typeof fn === 'function') { - vs.removeBind(vs.CSDMap, key, fn) - } -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/utils/cellUtils.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/utils/cellUtils.js deleted file mode 100644 index 73dd8fdb..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/utils/cellUtils.js +++ /dev/null @@ -1,129 +0,0 @@ -import { AllCells, JVXETypes } from '@/components/jeecg/JVxeTable' -import JVxeCellMixins from '../mixins/JVxeCellMixins' - -export const JVXERenderType = { - editer: 'editer', - spaner: 'spaner', - default: 'default', -} - -/** 安装所有vxe组件 */ -export function installAllCell(VXETable) { - // 遍历所有组件批量注册 - Object.keys(AllCells).forEach(type => installOneCell(VXETable, type)) -} - -/** 安装单个vxe组件 */ -export function installOneCell(VXETable, type) { - const switches = getEnhancedMixins(type, 'switches') - if (switches.editRender === false) { - installCellRender(VXETable, type, AllCells[type]) - } else { - installEditRender(VXETable, type, AllCells[type]) - } -} - -/** 注册可编辑组件 */ -export function installEditRender(VXETable, type, comp, spanComp) { - // 获取当前组件的增强 - const enhanced = getEnhancedMixins(type) - // span 组件 - if (!spanComp && AllCells[type + ':span']) { - spanComp = AllCells[type + ':span'] - } else { - spanComp = AllCells[JVXETypes.normal] - } - // 添加渲染 - VXETable.renderer.add(JVXETypes._prefix + type, { - // 可编辑模板 - renderEdit: createRender(comp, enhanced, JVXERenderType.editer), - // 显示模板 - renderCell: createRender(spanComp, enhanced, JVXERenderType.spaner), - // 增强注册 - ...enhanced.installOptions, - }) -} - -/** 注册普通组件 */ -export function installCellRender(VXETable, type, comp = AllCells[JVXETypes.normal]) { - // 获取当前组件的增强 - const enhanced = getEnhancedMixins(type) - VXETable.renderer.add(JVXETypes._prefix + type, { - // 默认显示模板 - renderDefault: createRender(comp, enhanced, JVXERenderType.default), - // 增强注册 - ...enhanced.installOptions, - }) -} - -function createRender(comp, enhanced, renderType) { - return function (h, renderOptions, params) { - return [h(comp, { - props: { - value: params.row[params.column.property], - row: params.row, - column: params.column, - params: params, - renderOptions: renderOptions, - renderType: renderType, - } - })] - } -} - -// 已混入的组件增强 -const AllCellsMixins = new Map() - -/** 获取某个组件的增强 */ -export function getEnhanced(type) { - let cell = AllCells[type] - if (cell && cell.enhanced) { - return cell.enhanced - } - return null -} - -/** - * 获取某个组件的增强(混入默认值) - * - * @param type JVXETypes - * @param name 可空,增强名称,留空返回所有增强 - */ -export function getEnhancedMixins(type, name) { - const getByName = (e) => name ? e[name] : e - if (AllCellsMixins.has(type)) { - return getByName(AllCellsMixins.get(type)) - } - let defEnhanced = JVxeCellMixins.enhanced - let enhanced = getEnhanced(type) - if (enhanced) { - Object.keys(defEnhanced).forEach(key => { - let def = defEnhanced[key] - if (enhanced.hasOwnProperty(key)) { - // 方法如果存在就不覆盖 - if (typeof def !== 'function' && typeof def !== 'string') { - enhanced[key] = Object.assign({}, def, enhanced[key]) - } - } else { - enhanced[key] = def - } - }) - AllCellsMixins.set(type, enhanced) - return getByName(enhanced) - } - AllCellsMixins.set(type, defEnhanced) - return getByName(defEnhanced) -} - - -/** 辅助方法:替换${...}变量 */ -export function replaceProps(col, value) { - if (value && typeof value === 'string') { - let text = value - text = text.replace(/\${title}/g, col.title) - text = text.replace(/\${key}/g, col.key) - text = text.replace(/\${defaultValue}/g, col.defaultValue) - return text - } - return value -} diff --git a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/utils/vxeUtils.js b/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/utils/vxeUtils.js deleted file mode 100644 index 11f9994c..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/JVxeTable/utils/vxeUtils.js +++ /dev/null @@ -1,217 +0,0 @@ -import { getVmParentByName } from '@/utils/util' -import { JVXETypes } from '@comp/jeecg/JVxeTable/index' - -export const VALIDATE_FAILED = Symbol() - -/** - * 获取指定的 $refs 对象 - * 有时候可能会遇到组件未挂载到页面中的情况,导致无法获取 $refs 中的某个对象 - * 这个方法可以等待挂载完成之后再返回 $refs 的对象,避免报错 - * @author sunjianlei - **/ -export function getRefPromise(vm, name) { - return new Promise((resolve) => { - (function next() { - let ref = vm.$refs[name] - if (ref) { - resolve(ref) - } else { - setTimeout(() => { - next() - }, 10) - } - })() - }) -} - -/** 获取某一数字输入框列中的最大的值 */ -export function getInputNumberMaxValue(col, rowsValues) { - let maxNum = 0 - Object.values(rowsValues).forEach((rowValue, index) => { - let val = rowValue[col.key], num - try { - num = Number.parseFloat(val) - } catch { - num = 0 - } - // 把首次循环的结果当成最大值 - if (index === 0) { - maxNum = num - } else { - maxNum = (num > maxNum) ? num : maxNum - } - }) - return maxNum -} - -/** - * - * 根据 tagName 获取父级节点 - * - * @param dom 一级dom节点 - * @param tagName 标签名,不区分大小写 - * @return {HTMLElement | NULL} - */ -export function getParentNodeByTagName(dom, tagName = 'body') { - if (tagName === 'body') { - return document.body - } - if (dom.parentNode) { - if (dom.parentNode.tagName.toLowerCase() === tagName.trim().toLowerCase()) { - return dom.parentNode - } else { - return getParentNodeByTagName(dom.parentNode, tagName) - } - } else { - return null - } -} - -/** - * vxe columns 封装成高级查询可识别的选项 - * @param columns - * @param handler 单独处理方法 - */ -export function vxePackageToSuperQuery(columns, handler) { - if (Array.isArray(columns)) { - // 高级查询所需要的参数 - let fieldList = [] - // 遍历列 - for (let i = 0; i < columns.length; i++) { - let col = columns[i] - if (col.type === JVXETypes.rowCheckbox || - col.type === JVXETypes.rowRadio || - col.type === JVXETypes.rowExpand || - col.type === JVXETypes.rowNumber - ) { - continue - } - let field = { - type: 'string', - value: col.key, - text: col.title, - dictCode: col.dictCode || col.dict, - } - if (col.type === JVXETypes.date || col.type === JVXETypes.datetime) { - field.type = col.type - field.format = col.format - } - if (col.type === JVXETypes.inputNumber) { - field.type = 'int' - } - if (Array.isArray(col.options)) { - field.options = col.options - } - if (typeof handler === 'function') { - Object.assign(field, handler(col, idx)) - } - fieldList.push(field) - } - return fieldList - } else { - console.error('columns必须是一个数组') - } - return null -} - -/** - * 一次性验证主表单和所有的次表单 - * @param form 主表单 form 对象 - * @param cases 接收一个数组,每项都是一个JVxeTable实例 - * @param autoJumpTab - * @returns {Promise} - * @author sunjianlei - */ -export async function validateFormAndTables(form, cases, autoJumpTab) { - if (!(form && typeof form.validateFields === 'function')) { - throw `form 参数需要的是一个form对象,而传入的却是${typeof form}` - } - let dataMap = {} - let values = await new Promise((resolve, reject) => { - // 验证主表表单 - form.validateFields((err, values) => { - err ? reject({error: VALIDATE_FAILED, originError: err}) : resolve(values) - }) - }) - Object.assign(dataMap, {formValue: values}) - // 验证所有子表的表单 - let subData = await validateTables(cases, autoJumpTab) - // 合并最终数据 - dataMap = Object.assign(dataMap, {tablesValue: subData}) - return dataMap -} - -/** - * 一次性验证主表单和所有的次表单 - * @param form 主表单 form 对象 - * @param cases 接收一个数组,每项都是一个JVxeTable实例 - * @param autoJumpTab - * @returns {Promise} - * @author sunjianlei - */ -export async function validateFormModelAndTables(form,formData, cases, autoJumpTab) { - if (!(form && typeof form.validate === 'function')) { - throw `form 参数需要的是一个form对象,而传入的却是${typeof form}` - } - let dataMap = {} - let values = await new Promise((resolve, reject) => { - // 验证主表表单 - form.validate((valid,obj) => { - valid ?resolve(formData): reject({error: VALIDATE_FAILED, originError: valid}) - }) - }) - Object.assign(dataMap, {formValue: values}) - // 验证所有子表的表单 - let subData = await validateTables(cases, autoJumpTab) - // 合并最终数据 - dataMap = Object.assign(dataMap, {tablesValue: subData}) - return dataMap -} - -/** - * 验证并获取一个或多个表格的所有值 - * - * @param cases 接收一个数组,每项都是一个JVxeTable实例 - * @param autoJumpTab 校验失败后,是否自动跳转tab选项 - */ -export function validateTables(cases, autoJumpTab = true) { - if (!Array.isArray(cases)) { - throw `'validateTables'函数的'cases'参数需要的是一个数组,而传入的却是${typeof cases}` - } - return new Promise((resolve, reject) => { - let tablesData = [] - let index = 0 - if (!cases || cases.length === 0) { - resolve() - } - (function next() { - let vm = cases[index] - vm.validateTable().then(errMap => { - // 校验通过 - if (!errMap) { - tablesData[index] = vm.getAll() - // 判断校验是否全部完成,完成返回成功,否则继续进行下一步校验 - if (++index === cases.length) { - resolve(tablesData) - } else ( - next() - ) - } else { - // 尝试获取tabKey,如果在ATab组件内即可获取 - let paneKey - let tabPane = getVmParentByName(vm, 'ATabPane') - if (tabPane) { - paneKey = tabPane.$vnode.key - // 自动跳转到该表格 - if (autoJumpTab) { - let tabs = getVmParentByName(tabPane, 'Tabs') - tabs && tabs.setActiveKey && tabs.setActiveKey(paneKey) - } - } - // 出现未验证通过的表单,不再进行下一步校验,直接返回失败 - reject({error: VALIDATE_FAILED, index, paneKey, errMap}) - } - }) - })() - }) -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/README.md b/ant-design-vue-jeecg/src/components/jeecg/README.md deleted file mode 100644 index d8e48d16..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/README.md +++ /dev/null @@ -1,512 +0,0 @@ -# JDate 日期组件 使用文档 - -###### 说明: antd-vue日期组件需要用moment中转一下,用起来不是很方便,特二次封装,使用时只需要传字符串即可 -## 参数配置 -| 参数 | 类型 | 必填 |说明| -|--------------|---------|----|---------| -| placeholder |string | | placeholder | -| readOnly | boolean | | true/false 默认false | -| value | string | | 绑定v-model或是v-decorator后不需要设置 | -| showTime | boolean | | 是否展示时间true/false 默认false | -| dateFormat | string | |日期格式 默认'YYYY-MM-DD' 若showTime设置为true则需要将其设置成对应的时间格式(如:YYYY-MM-DD HH:mm:ss) | -| triggerChange | string | |触发组件值改变的事件是否是change,当使用v-decorator时且没有设置decorator的option.trigger为input需要设置该值为true | -使用示例 ----- -1.组件带有v-model的使用方法 -```vue - -``` - -2.组件带有v-decorator的使用方法 - a).设置trigger-change属性为true - ```vue - - ``` - - b).设置decorator的option.trigger为input - ```vue - - ``` - -3.其他使用 -添加style -```vue - -``` -添加placeholder -```vue - -``` -添加readOnly -```vue - -``` - -备注: -script内需引入jdate -```vue - -``` - - - --- - - -# JSuperQuery 高级查询 使用文档 -## 参数配置 -| 参数 | 类型 | 必填 | 说明 | -|--------------|---------|----|----------------------| -| fieldList | array |✔| 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number | -| callback | array | | 回调函数名称(非必须)默认handleSuperQuery | - -fieldList结构示例: -```vue - const superQueryFieldList=[{ - type:"date", - value:"birthday", - text:"生日" - },{ - type:"string", - value:"name", - text:"用户名" - },{ - type:"int", - value:"age", - text:"年龄" - }] -``` -页面代码概述: ----- -1.import之后再components之内声明 -```vue -import JSuperQuery from '@/components/jeecg/JSuperQuery.vue'; - export default { - name: "JeecgDemoList", - components: { - JSuperQuery - }, - -``` -2.页面引用 -```vue - - -``` -3.list页面data中需要定义三个属性: -```vue - fieldList:superQueryFieldList, - superQueryFlag:false, - superQueryParams:"" -``` -4.list页面声明回调事件handleSuperQuery(与组件的callback对应即可) -```vue -//高级查询方法 -handleSuperQuery(arg) { - if(!arg){ - this.superQueryParams='' - this.superQueryFlag = false - }else{ - this.superQueryFlag = true - this.superQueryParams=JSON.stringify(arg) - } - this.loadData() -}, -``` -5.改造list页面方法 -```vue - // 获取查询条件 - getQueryParams() { - let sqp = {} - if(this.superQueryParams){ - sqp['superQueryParams']=encodeURI(this.superQueryParams) - } - var param = Object.assign(sqp, this.queryParam, this.isorter); - param.field = this.getQueryField(); - param.pageNo = this.ipagination.current; - param.pageSize = this.ipagination.pageSize; - return filterObj(param); - }, -``` -6.打开弹框调用show方法: -```vue -this.$refs.superQueryModal.show(); -``` - -# JEllipsis 字符串超长截取省略号显示 - -###### 说明: 遇到超长文本展示,通过此标签可以截取省略号显示,鼠标放置会提示全文本 -## 参数配置 -| 参数 | 类型 | 必填 | 说明 | -|--------|---------|----|----------------| -| value |string | 必填 | 字符串文本| -| length | number | 非必填 | 默认25 | -使用示例 ----- -1.组件带有v-model的使用方法 -```vue - - - -# Modal弹框实现最大化功能 - -1.定义modal的宽度: -```vue - -``` -2.自定义modal的title,居右显示切换图标 -```vue - -``` -3.定义toggleScreen事件,用于切换modal宽度 -```vue - toggleScreen(){ - if(this.modaltoggleFlag){ - this.modalWidth = window.innerWidth; - }else{ - this.modalWidth = 800; - } - this.modaltoggleFlag = !this.modaltoggleFlag; - }, -``` -4.data中声明上述用到的属性 -```vue - data () { - return { - modalWidth:800, - modaltoggleFlag:true, -``` - -# 下拉选项滚动错位的解决方法 - -## 问题描述 - -当使用了 `a-modal` 或其他带有滚动条的组件时,使用`a-select`组件并打开下拉框时滚动滚动条,就会导致错位的问题产生。 - -## 解决方法 - -大多数情况下,在 `a-select` 上添加一个 `getPopupContainer` 属性,值为`node => node.parentNode`即可解决。 -但是如果遇到 `a-select` 标签层级过深的情况,可能仍然会显示异常,只需要多加几个`.parentNode` (例:node => node.parentNode.parentNode.parentNode)多尝试几次直到解决问题即可。 - -### 代码示例 - -```html - -``` - -# JAsyncTreeList 异步数列表组件使用说明 - -## 引入组件 - -```js -import JTreeTable from '@/components/jeecg/JTreeTable' -export default { - components: { JTreeTable } -} -``` - -## 所需参数 - -| 参数 | 类型 | 必填 | 说明 | -|-------------|--------|--------|--------------------------------------------------------------| -| rowKey | String | 非必填 | 表格行 key 的取值,默认为"id" | -| columns | Array | 必填 | 表格列的配置描述,具体见Antd官方文档 | -| url | String | 必填 | 数据查询url | -| childrenUrl | String | 非必填 | 查询子级时的url,若不填则使用url参数查询子级 | -| queryKey | String | 非必填 | 根据某个字段查询,如果传递 id 就根据 id 查询,默认为parentId | -| queryParams | Object | 非必填 | 查询参数,当查询参数改变的时候会自动重新查询,默认为{} | -| topValue | String | 非必填 | 查询顶级时的值,如果顶级为0,则传0,默认为null | -| tableProps | Object | 非必填 | 自定义给内部table绑定的props | - -## 代码示例 - -```html - - - -``` - -# JCheckbox 使用文档 - -###### 说明: antd-vue checkbox组件处理的是数组,用起来不是很方便,特二次封装,使用时只需处理字符串即可 -## 参数配置 -| 参数 | 类型 | 必填 |说明| -|--------------|---------|----|---------| -| options |array |✔| checkbox需要配置的项,是个数组,数组中每个对象包含两个属性:label(用于显示)和value(用于存储) | - -使用示例 ----- -```vue - - - -``` - -# JCodeEditor 使用文档 - -###### 说明: 一个简易版的代码编辑器,支持语法高亮 -## 参数配置 -| 参数 | 类型 | 必填 |说明| -|--------------|---------|----|---------| -| language |string | | 表示当前编写代码的类型 javascript/html/css/sql | -| placeholder |string | | placeholder | -| lineNumbers |Boolean | | 是否显示行号 | -| fullScreen |Boolean | | 是否显示全屏按钮 | -| zIndex |string | | 全屏以后的z-index | - -使用示例 ----- -```vue - - - -``` - -# JFormContainer 使用文档 - -###### 说明: 暂用于表单禁用 - -使用示例 ----- -```vue - - - - - - -``` - -# JImportModal 使用文档 - -###### 说明: 用于列表页面导入excel功能 - -使用示例 ----- -```vue - - - - -``` - -# JSelectMultiple 多选下拉组件 -online用 实际开发请使用components/dict/JMultiSelectTag - -# JSlider 滑块验证码 - -使用示例 ----- -```vue - - - -``` - - -# JTreeSelect 树形下拉组件 -异步加载的树形下拉组件 - -## 参数配置 -| 参数 | 类型 | 必填 |说明| -|--------------|---------|----|---------| -| placeholder |string | | placeholder | -| dict |string | ✔| 表名,显示字段名,存储字段名拼接的字符串 | -| pidField |string | ✔| 父ID的字段名 | -| pidValue |string | | 根节点父ID的值 默认'0' 不可以设置为空,如果想使用此组件,而数据库根节点父ID为空,请修改之 | -| multiple |boolean | |是否支持多选 | - -使用示例 ----- -```vue - - - -``` - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/README_JEditableTable.md b/ant-design-vue-jeecg/src/components/jeecg/README_JEditableTable.md deleted file mode 100644 index 981422c5..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/README_JEditableTable.md +++ /dev/null @@ -1,577 +0,0 @@ -# JEditableTable 帮助文档 - -## 参数配置 - -| 参数 | 类型 | 必填 | 说明 | -|--------------|---------|------|---------------------------------------------------------------------------------| -| columns | array | ✔️ | 表格列的配置描述,具体项见下表 | -| dataSource | array | ✔️ | 表格数据 | -| loading | boolean | | 是否正在加载,加载中不会显示任何行,默认false | -| actionButton | boolean | | 是否显示操作按钮,包括"新增"、"删除",默认false | -| rowNumber | boolean | | 是否显示行号,默认false | -| rowSelection | boolean | | 是否可选择行,默认false | -| dragSort | boolean | | 是否可拖动排序,默认false | -| dragSortKey | string | | 拖动排序存储的Key,无需定义在columns内也能在getValues()时获取到值,默认orderNum | -| maxHeight | number | | 设定最大高度(px),默认400 | -| disabledRows | object | | 设定禁用的行,被禁用的行无法被选择和编辑,配置方法可以查看示例 | -| disabled | boolean | | 是否禁用所有行,默认false | - -### columns 参数详解 - -| 参数 | 类型 | 必填 | 说明 | -|---------------|---------|------|--------------------------------------------------------------------------------------------------------------------------------------------------------| -| title | string | ✔️ | 表格列头显示的问题 | -| key | string | ✔️ | 列数据在数据项中对应的 key,必须是唯一的 | -| type | string | ✔️ | 表单的类型,可以通过`JEditableTableUtil.FormTypes`赋值 | -| width | string | | 列的宽度,可以是百分比,也可以是`px`或其他单位,建议设置为百分比,且每一列的宽度加起来不应超过100%,否则可能会不能达到预期的效果。留空会自动计算百分比 | -| placeholder | string | | 表单预期值的提示信息,可以使用`${...}`变量替换文本(详见`${...} 变量使用方式`) | -| defaultValue | string | | 默认值,在新增一行时生效 | -| validateRules | array | | 表单验证规则,配置方式见[validateRules 配置规则](#validaterules-配置规则) | -| props | object | | 设置添加给表单元素的自定义属性,例如:`props:{title: 'show title'}` | -| disabled | boolean | | 是否禁用当前列,默认false | - -#### 当 type=checkbox 时所需的参数 - -| 参数 | 类型 | 必填 | 说明 | -|----------------|---------|------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| defaultChecked | boolean | | 默认值是否选中 | -| customValue | array | | 自定义值,checkbox需要的是boolean值,如果数据是其他值(例如`'Y' or 'N'`)时,就会导致错误,所以提供了该属性进行转换,例:`customValue: ['Y','N']`,会将`true`转换为`'Y'`,`false`转换为`'N'`,反之亦然 | - -#### 当 type=select 时所需的参数 - -| 参数 | 类型 | 必填 | 说明 | -|------------|---------|------|----------------------------------------------------| -| options | array | ✔️ | 下拉选项列表,详见下表 | -| allowInput | boolean | | 是否允许用户输入内容,并创建新的内容 | -| dictCode | String | | 数据字典Code,若options也有值,则拼接在options后面 | - -##### options 所需参数 - -| 参数 | 类型 | 必填 | 说明 | -|-----------|------------|------|----------------------------------------------------------------------| -| text | string | ✔️ | 显示标题 | -| value | string | ✔️ | 真实值 | -| ~~title~~ | ~~string~~ | | ~~显示标题(已废弃,若同时填写了 title 和 text 那么优先使用 text)~~ | - -#### 当 type=upload 时所需的参数 - -| 参数 | 类型 | 必填 | 说明 | -|--------------|---------|------|--------------------------------------------------------------------------------------| -| action | string | ✔️ | 上传文件路径 | -| token | boolean | | 上传的时候是否传递token | -| responseName | string | ✔️ | 若要从上传成功后从response中取出返回的文件名,那么这里填后台返回的包含文件名的字段名 | - -#### 当 type=slot 时所需的参数 - -| 参数 | 类型 | 必填 | 说明 | -|----------|--------|------|------------| -| slotName | string | ✔️ | slot的名称 | - -### validateRules 配置规则 - -`validateRules` 需要的是一个数组,数组里每项都是一个规则,规则是object类型,规则的各个参数如下 - -- `required` 是否必填,可选值为`true`or`false` -- `pattern` 正则表达式验证,只有成功匹配该正则的值才能成功通过验证 -- `handler` 自定义函数校验,使用方法请见[示例五](#示例五) -- `message` 当验证未通过时显示的提示文本,可以使用`${...}`变量替换文本(详见`${...} 变量使用方式`) -- 配置示例请看[示例二](#示例二) - -## 事件 - -| 事件名 | 触发时机 | 参数 | -|-----------------|----------------------------------------------------|--------------------------------------------------| -| added | 当添加行操作完成后触发 | | -| deleted | 当删除行操作完成后触发(批量删除操作只会触发一次) | `deleteIds` 被逻辑删除的id | -| selectRowChange | 当行被选中或取消选中时触发 | `selectedRowIds` 被选中行的id | -| valueChange | 当数据发生改变的时候触发的事件 | `{ type, row, column, value, target }` Event对象 | - -## 方法 - -关于方法的如何调用的问题,请在**FAQ**中查看[方法如何调用](#方法如何调用) - -### initialize - -用于初始化表格(清空表格) - -- `参数:` 无 -- `返回值:` 无 - -### resetScrollTop - -重置滚动条Top位置 - -- `参数:` - -| 参数名 | 类型 | 必填 | 说明 | -|--------|--------|------|--------------------------------------------------------------------------------------------------------| -| top | number | | 新top位置,留空则滚动到上次记录的位置,用于解决切换tab选项卡时导致白屏以及自动将滚动条滚动到顶部的问题 | - -- `返回值:` 无 - -### add - -主动添加行,默认情况下,当用户的滚动条已经在底部的时候,会将滚动条固定在底部,即添加后无需用户手动滚动,而会自动滚动到底部 - -- `参数:` - -| 参数名 | 类型 | 必填 | 说明 | -|---------------------|---------|------|---------------------------------------------------------------------| -| num | number | | 添加几行,默认为1 | -| forceScrollToBottom | boolean | | 是否在添加后无论用户的滚动条在什么位置都强制滚动到底部,默认为false | - -- `返回值:` 无 - -### removeRows - -主动删除一行或多行 - -- `参数:` - -| 参数名 | 类型 | 必填 | 说明 | -|--------|-----------------|------|--------------------------------------------------------------------------------------------| -| id | string 或 array | ✔️ | 被删除行的id。如果要删除一个,可以直接传id,如果要删除多个,需要将多个id封装成一个数组传入 | - -- `返回值:` 无 - -### removeSelectedRows - -主动删除被选中的行 - -- `参数:` 无 -- `返回值:` 无 - -### getValues - -用于获取表格里所有表单的值,可进行表单验证 - -- `参数:` - -| 参数名 | 类型 | 必填 | 说明 | -|----------|----------|------|-----------------------------------------------------------------------------------------------------------------------------------------------------------| -| callback | function | ✔️ | 获取值的回调方法,会传入`error`和`values`两个参数。`error`:未通过验证的数量,当等于`0`时代表验证通过;`values`:获取的值(即使未通过验证该字段也有数据) | -| validate | boolean | | 是否进行表单验证,默认为`true`,设为`false`则代表忽略表单验证 | -| rowIds | array | | 默认返回所有行的数据,如果传入了`rowIds`,那么就会只返回与该`rowIds`相匹配的数据,如果没有匹配的数据,就会返回空数组 | - -- `返回值:` 无 - - -### getValuesSync - -`getValues`的同步版,会直接将获取到的数据返回 - -- `参数:` - -| 参数名 | 类型 | 必填 | 说明 | -|---------|--------|------|------------------------| -| options | object | | 选项,详见下方所需参数 | - -- - `options` 所需参数 - -| 参数名 | 类型 | 必填 | 说明 | -|----------|---------|------|----------------------------------------------------------------------------------------------------------------------| -| validate | boolean | | 是否进行表单验证,默认为`true`,设为`false`则代表忽略表单验证 | -| rowIds | array | | 默认返回所有行的数据,如果传入了`rowIds`,那么就会只返回与该`rowIds`相匹配的数据,如果没有匹配的数据,就会返回空数组 | - -- `返回值:` object - - `error` 未通过验证的数量,当等于`0`时代表验证通过 - - `values` 获取的值(即使未通过验证该字段也有数据) - -- `使用示例` - -```js -let { error, values } = this.$refs.editableTable.getValuesSync({ validate: true, rowIds: ['rowId1', 'rowId2'] }) -if (error === 0) { - console.log('表单验证通过,数据:', values); -} else { - console.log('未通过表单验证,数据:', values); -} -``` - -### getValuesPromise - -`getValues`的promise版,会在`resolve`中传入获取到的值,会在`reject`中传入失败原因,例如`VALIDATE_NO_PASSED` - -- `参数:` - -| 参数名 | 类型 | 必填 | 说明 | -|----------|---------|------|----------------------------------------------------------------------------------------------------------------------| -| validate | boolean | | 同`getValues`的`validate`参数 | -| rowIds | array | | 默认返回所有行的数据,如果传入了`rowIds`,那么就会只返回与该`rowIds`相匹配的数据,如果没有匹配的数据,就会返回空数组 | - -- `返回值:` Promise - -### getDeleteIds - -用于获取被逻辑删除的行的id,返回一个数组,用户可将该数组传入后台,并进行批量删除 - -- `参数:` 无 -- `返回值:` array - -### getAll - -获取所有的数据,包括values、deleteIds -会在`resolve`中传入获取到的值:`{values, deleteIds}` -会在`reject`中传入失败原因,例如`VALIDATE_NO_PASSED` - -- `参数:` - -| 参数名 | 类型 | 必填 | 说明 | -|----------|---------|------|-------------------------------| -| validate | boolean | | 同`getValues`的`validate`参数 | - -- `返回值:` Promise - -### setValues - -主动设置表格中某行某列的值 - -- `参数:` - -| 参数名 | 类型 | 必填 | 说明 | -|--------|-------|------|------------------------------------------------------------| -| values | array | | 传入一个数组,数组中的每项都是一行的新值,具体见下面的示例 | - -- `返回值:` 无 -- `示例:` - -```js -setValues([ - { - rowKey: id1, // 行的id - values: { // 在这里 values 中的 name 是你 columns 中配置的 key - 'name': 'zhangsan', - 'age': '20' - } - }, - { - rowKey: id2, - values: { - 'name': 'lisi', - 'age': '23' - } - } -]) -``` -### clearSelection - -主动清空选择的行 - -- `参数:` 无 -- `返回值:` 无 - -## 内置插槽 - -| 插槽名 | 说明 | -|--------------|------------------------------------------------------| -| buttonBefore | 在操作按钮的**前面**插入插槽,不受`actionButton`属性的影响 | -| buttonAfter | 在操作按钮的**后面**插入插槽,不受`actionButton`属性的影响 | - -## ${...} 变量使用方式 - -在`placeholder`和`message`这两个属性中可以使用`${...}`变量来替换文本 -在[示例二](#示例二)中,配置了`title`为`名称`的一列,而`placeholder`配置成了`请输入${title}`,那么最终显示效果为`请输入名称` -这就是`${...}`变量的使用方式,在`${}`中可以使用的变量有`title`、`key`、`defaultValue`这三个属性的值 - -## JEditableTableUtil 使用说明 - -在之前配置`columns`时提到过`JEditableTableUtil`这个工具类,那么如果想要知道详细的使用说明就请看这里 - -### export 的常量 - -#### FormTypes - -这是配置`columns.type`时用到的常量值,其中包括 - -- `normal` 默认,直接显示值,不渲染表单 -- `input` 显示输入框 -- `inputNumber` 显示数字输入框 -- `checkbox` 显示多选框 -- `select` 显示选择器(下拉框) -- `date` 日期选择器 -- `datetime` 日期时间选择器 -- `upload` 上传组件(文件域) -- `slot` 自定义插槽 - -### VALIDATE_NO_PASSED - -在判断表单验证是否通过时使用,如果 reject 的值 === VALIDATE_NO_PASSED 则代表表单验证未通过,你可以做相应的其他处理,反之则可能是发生了报错,可以使用 `console.error` 输出 - -### 封装的方法 - -#### validateTables - -当你的页面中存在多个JEditableTable实例的时候,如果要获取每个实例的值、判断表单验证是否通过,就会让代码变得极其冗余、繁琐,于是我们就将该操作封装成了一个函数供你调用,它可以同时获取并验证多个JEditableTable实例的值,只有当所有实例的表单验证都通过后才会返回值,否则将会告诉你具体哪个实例没有通过验证。具体使用方法请看下面的示例 - -- `参数:` - -| 参数名 | 类型 | 必填 | 说明 | -|--------|-------|------|--------------------------------------------------------| -| cases | array | | 传入一个数组,数组中的每项都是一个JEditableTable的实例 | - -- `返回值:` Promise -- `示例:` - -```js -import { validateTables, VALIDATE_NO_PASSED } from '@/utils/JEditableTableUtil' -// 封装cases -let cases = [] -cases.push(this.$refs.editableTable1) -cases.push(this.$refs.editableTable2) -cases.push(this.$refs.editableTable3) -cases.push(this.$refs.editableTable4) -cases.push(this.$refs.editableTable5) -// 同时验证并获取多个实例的值 -validateTables(cases).then((all) => { - // all 是一个数组,每项都对应传入cases的下标,包含values和deleteIds - console.log('所有实例的值:', all) -}).catch((e = {}) => { - // 判断表单验证是否未通过 - if (e.error === VALIDATE_NO_PASSED) { - console.log('未通过验证的实例下标:', e.index) - } else { - console.error('发生异常:', e) - } -}) -``` - -## FAQ - -### 方法如何调用? - -在[示例一](#示例一)中,设定了一个 `ref="editableTable"` 的属性,那么在vue中就可以使用`this.$refs.editableTable`获取到该表格的实例,并调取其中的方法。 -假如我要调取`initialize`方法,就可以这么写:`this.$refs.editableTable.initialize()` - -### 如何获取表单的值? - -使用`getValue`方法进行获取,详见[示例三](#示例三) - -### 如何进行表单验证? - -在获取值的时候默认会进行表单验证操作,用户在输入的时候也会对正在输入的表单进行验证,只要配置好规则就可以了 - -### 如何添加或删除一行? - -该功能已封装到组件中,你只需要将 `actionButton` 设置为 `true` 即可,当然你也可以在代码中主动调用新增方法或修改,具体见上方的方法介绍。 - -### 为什么使用了ATab组件后,切换选项卡会导致白屏或滚动条位置会归零? - -在ATab组件中确实会导致滚动条位置归零,且不会触发`onscroll`方法,所以无法动态加载行,导致白屏的问题出现。 -解决方法是在ATab组件的`onChange`事件触发时执行实例提供的`resetScrollTop()`方法即可,但是需要注意的是:代码主动改变ATab的`activeKey`不会触发`onChange`事件,还需要你手动调用下。 - -- `示例` - -```html - -``` - -```js -/*--- 忽略部分代码片段 ---*/ -methods: { - - /** 切换tab选项卡的时候重置editableTable的滚动条状态 */ - handleChangeTab(key) { - this.$refs[`editableTable${key}`].resetScrollTop() - } - -} -/*--- 忽略部分代码片段 ---*/ -``` - -### slot(自定义插槽)如何使用? - -代码示例请看:[示例四(slot)](#示例四(slot)) - ----------------------------------------------------------------------------------------- - -## 示例一 - -```html - -``` - -## 示例二 - -```js - -import { FormTypes } from '@/utils/JEditableTableUtil' - -/*--- 忽略部分代码片断 ---*/ -columns: [ - { - title: '名称', - key: 'name', - type: FormTypes.input, - placeholder: '请输入${title}', - defaultValue: '称名', - // 表单验证规则 - validateRules: [ - { - required: true, // 必填 - message: '${title}不能为空' // 提示的文本 - }, - { - pattern: /^[a-z|A-Z][a-z|A-Z\d_-]{0,}$/, // 正则 - message: '${title}必须以字母开头,可包含数字、下划线、横杠' - } - ] - }, - { - title: '年龄', - key: 'age', - type: FormTypes.inputNumber, - placeholder: '请输入${title}', - defaultValue: 18, - validateRules: [{required: true, message: '${title}不能为空'}] - } -] -/*--- 忽略部分代码片断 ---*/ -``` - -## 示例三 - -```js -// 获取被逻辑删除的字段id -let deleteIds = this.$refs.editableTable.getDeleteIds(); -// 获取所有表单的值,并进行验证 -this.$refs.editableTable.getValues((error, values) => { - // 错误数 = 0 则代表验证通过 - if (error === 0) { - this.$message.success('验证通过') - // 将通过后的数组提交到后台或自行进行其他处理 - console.log(deleteIds, values) - } else { - this.$message.error('验证未通过') - } -}) -``` - -## 示例四(slot) - -```html - - -``` - -## 示例五 - -```js -// 该示例是自定义函数校验 -columns: [ - { - title: '字段名称', - key: 'dbFieldName', - type: FormTypes.input, - defaultValue: '', - validateRules: [ - { - // 自定义函数校验 handler - handler(type, value, row, column, callback, target) { - // type 触发校验的类型(input、change、blur) - // value 当前校验的值 - // callback(flag, message) 方法必须执行且只能执行一次 - // flag = 是否通过了校验,不填写或者填写 null 代表不进行任何操作 - // message = 提示的类型,默认使用配置的 message - // target 行编辑的实例对象 - - if (type === 'blur') { - - if (value === 'abc') { - callback(false, '${title}不能是abc') // false = 未通过,可以跟自定义提示 - return - } - - let { values } = target.getValuesSync({ validate: false }) - let count = 0 - for (let val of values) { - if (val['dbFieldName'] === value) { - if (++count >= 2) { - callback(false, '${title}不能重复') - return - } - } - } - callback(true) // true = 通过验证 - } else { - callback() // 不填写或者填写 null 代表不进行任何操作 - } - }, - message: '${title}默认提示' - } - ] - }, -] -``` \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/README_JPopup.md b/ant-design-vue-jeecg/src/components/jeecg/README_JPopup.md deleted file mode 100644 index 0b454a62..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/README_JPopup.md +++ /dev/null @@ -1,65 +0,0 @@ -# JPopup 弹窗选择组件 - -## 参数配置 -| 参数 | 类型 | 必填 |说明| -|--------------|---------|----|---------| -| placeholder |string | | placeholder | -| code |string | | online报表编码 | -| orgFields |string | | online报表中显示的列,多个以逗号隔开 | -| destFields |string | | 回调对象的属性,多个以逗号隔开,其顺序和orgFields一一对应 | -| field |string | | v-model模式专用,表示从destFields中选择一个属性的值返回给当前组件 | -| triggerChange |Boolean | | v-decorator模式下需设置成true | -| callback(事件) |function | | 回调事件,v-decorator模式下用到,用于设置form控件的值 | - -使用示例 ----- -```vue - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/index.js b/ant-design-vue-jeecg/src/components/jeecg/index.js deleted file mode 100644 index 756e9878..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/index.js +++ /dev/null @@ -1,91 +0,0 @@ -import JModal from './JModal' -import JFormContainer from './JFormContainer.vue' -import JPopup from './JPopup.vue' -import JMarkdownEditor from './JMarkdownEditor' -import JCodeEditor from './JCodeEditor.vue' -import JEditor from './JEditor.vue' -import JEditableTable from './JEditableTable.vue' -import JAreaLinkage from './JAreaLinkage.vue' -import JSuperQuery from './JSuperQuery.vue' -import JUpload from './JUpload.vue' -import JTreeSelect from './JTreeSelect.vue' -import JCategorySelect from './JCategorySelect.vue' -import JImageUpload from './JImageUpload.vue' -import JImportModal from './JImportModal.vue' -import JTreeDict from './JTreeDict.vue' -import JCheckbox from './JCheckbox.vue' -import JCron from './JCron.vue' -import JDate from './JDate.vue' -import JEllipsis from './JEllipsis.vue' -import JInput from './JInput.vue' -import JPopupOnlReport from './modal/JPopupOnlReport.vue' -import JFilePop from './minipop/JFilePop.vue' -import JInputPop from './minipop/JInputPop.vue' -import JSelectMultiple from './JSelectMultiple.vue' -import JSlider from './JSlider.vue' -import JSwitch from './JSwitch.vue' -import JTime from './JTime.vue' -import JTreeTable from './JTreeTable.vue' -import JEasyCron from '@/components/jeecg/JEasyCron' -//jeecgbiz -import JSelectDepart from '../jeecgbiz/JSelectDepart.vue' -import JSelectMultiUser from '../jeecgbiz/JSelectMultiUser.vue' -import JSelectPosition from '../jeecgbiz/JSelectPosition.vue' -import JSelectRole from '../jeecgbiz/JSelectRole.vue' -import JSelectUserByDep from '../jeecgbiz/JSelectUserByDep.vue' -//引入需要全局注册的js函数和变量 -import { Modal, notification,message } from 'ant-design-vue' -import lodash_object from 'lodash' -import debounce from 'lodash/debounce' -import pick from 'lodash.pick' -import data from 'china-area-data' - -export default { - install(Vue) { - Vue.use(JModal) - Vue.component('JMarkdownEditor', JMarkdownEditor) - Vue.component('JPopupOnlReport', JPopupOnlReport) - Vue.component('JFilePop', JFilePop) - Vue.component('JInputPop', JInputPop) - Vue.component('JAreaLinkage', JAreaLinkage) - Vue.component('JCategorySelect', JCategorySelect) - Vue.component('JCheckbox', JCheckbox) - Vue.component('JCodeEditor', JCodeEditor) - Vue.component('JCron', JCron) - Vue.component('JDate', JDate) - Vue.component('JEditableTable', JEditableTable) - Vue.component('JEditor', JEditor) - Vue.component('JEllipsis', JEllipsis) - Vue.component('JFormContainer', JFormContainer) - Vue.component('JImageUpload', JImageUpload) - Vue.component('JImportModal', JImportModal) - Vue.component('JInput', JInput) - Vue.component('JPopup', JPopup) - Vue.component('JSelectMultiple', JSelectMultiple) - Vue.component('JSlider', JSlider) - Vue.component('JSuperQuery', JSuperQuery) - Vue.component('JSwitch', JSwitch) - Vue.component('JTime', JTime) - Vue.component('JTreeDict', JTreeDict) - Vue.component('JTreeSelect', JTreeSelect) - Vue.component('JTreeTable', JTreeTable) - Vue.component('JUpload', JUpload) - - //jeecgbiz - Vue.component('JSelectDepart', JSelectDepart) - Vue.component('JSelectMultiUser', JSelectMultiUser) - Vue.component('JSelectPosition', JSelectPosition) - Vue.component('JSelectRole', JSelectRole) - Vue.component('JSelectUserByDep', JSelectUserByDep) - Vue.component(JEasyCron.name, JEasyCron) - - //注册全局js函数和变量 - Vue.prototype.$Jnotification = notification - Vue.prototype.$Jmodal = Modal - Vue.prototype.$Jmessage = message - Vue.prototype.$Jlodash = lodash_object - Vue.prototype.$Jdebounce= debounce - Vue.prototype.$Jpick = pick - Vue.prototype.$Jpcaa = data - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/minipop/JFilePop.vue b/ant-design-vue-jeecg/src/components/jeecg/minipop/JFilePop.vue deleted file mode 100644 index 0f5350ff..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/minipop/JFilePop.vue +++ /dev/null @@ -1,117 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/minipop/JInputPop.vue b/ant-design-vue-jeecg/src/components/jeecg/minipop/JInputPop.vue deleted file mode 100644 index fd733a0f..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/minipop/JInputPop.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecg/modal/JCronModal.vue b/ant-design-vue-jeecg/src/components/jeecg/modal/JCronModal.vue deleted file mode 100644 index 2727495b..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/modal/JCronModal.vue +++ /dev/null @@ -1,928 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecg/modal/JPopupOnlReport.vue b/ant-design-vue-jeecg/src/components/jeecg/modal/JPopupOnlReport.vue deleted file mode 100644 index bf103576..00000000 --- a/ant-design-vue-jeecg/src/components/jeecg/modal/JPopupOnlReport.vue +++ /dev/null @@ -1,460 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/JSelectBizComponentModal.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/JSelectBizComponentModal.vue deleted file mode 100644 index f99ff94f..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/JSelectBizComponentModal.vue +++ /dev/null @@ -1,386 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/JSelectBizQueryItem.js b/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/JSelectBizQueryItem.js deleted file mode 100644 index c47df3ae..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/JSelectBizQueryItem.js +++ /dev/null @@ -1,48 +0,0 @@ -export default { - name: 'JSelectBizQueryItem', - props: { - queryParam: Object, - queryConfig: Array, - }, - data() { - return {} - }, - methods: { - renderQueryItem() { - return this.queryConfig.map(queryItem => { - const {key, label, placeholder, dictCode, props, customRender} = queryItem - const options = { - props: {}, - on: { - pressEnter: () => this.$emit('pressEnter'), - } - } - if (props != null) { - Object.assign(options.props, props) - } - if (placeholder === undefined) { - if (dictCode) { - options.props['placeholder'] = `请选择${label}` - } else { - options.props['placeholder'] = `请输入${label}` - } - } else { - options.props['placeholder'] = placeholder - } - - let input - if (typeof customRender === 'function') { - input = customRender.call(this, {key, options, queryParam: this.queryParam}) - } else if (dictCode) { - input = - } else { - input = - } - return {input} - }) - }, - }, - render() { - return {this.renderQueryItem()} - }, -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/README.md b/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/README.md deleted file mode 100644 index db53e225..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# JSelectBizComponent - -Jeecg 选择组件的公共可复用组件 - -## 引用方式 - -```js -import JSelectBizComponent from '@/src/components/jeecgbiz/JSelectBizComponent' - -export default { - components: { JSelectBizComponent } -} -``` - -## 参数 - -### 配置参数 - -| 参数名 | 类型 | 必填 | 默认值 | 备注 | -|-----------------------|---------|------|--------------|--------------------------------------------------------------------------------------| -| rowKey | String | | "id" | 唯一标识的字段名 | -| value(v-model) | String | | "" | 默认选择的数据,多个用半角逗号分割 | -| name | String | | "" | 显示名字,例如选择用户就填写"用户" | -| listUrl | String | 是 | | 数据请求地址,必须是封装了分页的地址 | -| valueUrl | String | | "" | 获取显示文本的地址,例如存的是 username,可以通过该地址获取到 realname | -| displayKey | String | | null | 显示在标签上的字段 key ,不传则直接显示数据 | -| returnKeys | Array | | ['id', 'id'] | v-model 绑定的 keys,是个数组,默认使用第二项,当配置了 `returnId=true` 就返回第一项 | -| returnId | Boolean | | false | 返回ID,设为true后将返回配置的 `returnKeys` 中的第一项 | -| selectButtonText | String | | "选择" | 选择按钮的文字 | -| queryParamText | String | | null | 查询条件显示文字,不传则使用 `name` | -| columns | Array | 是 | | 列配置项,与antd的table的配置完全一致。列的第一项会被配置成右侧已选择的列表上 | -| columns[0].widthRight | String | | null | 仅列的第一项可以应用此配置,表示右侧已选择列表的宽度,建议 `70%`,不传则应用`width` | -| placeholder | String | | "请选择" | 占位符 | -| disabled | Boolean | | false | 是否禁用 | -| multiple | Boolean | | false | 是否可多选 | -| buttons | Boolean | | true | 是否显示"选择"按钮,如果不显示,可以直接点击文本框打开选择界面 | diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/index.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/index.vue deleted file mode 100644 index bad850aa..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectBizComponent/index.vue +++ /dev/null @@ -1,167 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectDepart.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectDepart.vue deleted file mode 100644 index 4e33100a..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectDepart.vue +++ /dev/null @@ -1,182 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectMultiUser.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectMultiUser.vue deleted file mode 100644 index f8609f97..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectMultiUser.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectPosition.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectPosition.vue deleted file mode 100644 index f863f8e3..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectPosition.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectRole.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectRole.vue deleted file mode 100644 index 90b3d11e..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectRole.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectUserByDep.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectUserByDep.vue deleted file mode 100644 index 29c97497..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/JSelectUserByDep.vue +++ /dev/null @@ -1,145 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/README.md b/ant-design-vue-jeecg/src/components/jeecgbiz/README.md deleted file mode 100644 index be30730d..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/README.md +++ /dev/null @@ -1,137 +0,0 @@ -# JSelectDepart 部门选择组件 -选择部门组件,存储部门ID,显示部门名称 - -## 参数配置 -| 参数 | 类型 | 必填 |说明| -|--------------|---------|----|---------| -| modalWidth |Number | | 弹框宽度 默认500 | -| multi |Boolean | | 是否多选 默认false | -| rootOpened |Boolean | | 是否展开根节点 默认true | -| disabled |Boolean | | 是否禁用 默认false| - -使用示例 ----- -```vue - - - -``` -# JSelectMultiUser 用户多选组件 - -使用示例 ----- -```vue - - - -``` - -# JSelectUserByDep 根据部门选择用户 - -## 参数配置 -| 参数 | 类型 | 必填 |说明| -|--------------|---------|----|---------| -| modalWidth |Number | | 弹框宽度 默认1250 | -| disabled |Boolean | | 是否禁用 | - -使用示例 ----- -```vue - - - -``` - diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/modal/JSelectDepartModal.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/modal/JSelectDepartModal.vue deleted file mode 100644 index 87c1c7f2..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/modal/JSelectDepartModal.vue +++ /dev/null @@ -1,300 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/modal/JSelectUserByDepModal.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/modal/JSelectUserByDepModal.vue deleted file mode 100644 index dab1a60d..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/modal/JSelectUserByDepModal.vue +++ /dev/null @@ -1,366 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/modal/SelectUserListModal.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/modal/SelectUserListModal.vue deleted file mode 100644 index 1da01481..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/modal/SelectUserListModal.vue +++ /dev/null @@ -1,122 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/thirdApp/JThirdAppButton.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/thirdApp/JThirdAppButton.vue deleted file mode 100644 index bdaf249b..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/thirdApp/JThirdAppButton.vue +++ /dev/null @@ -1,214 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/jeecgbiz/thirdApp/JThirdAppDropdown.vue b/ant-design-vue-jeecg/src/components/jeecgbiz/thirdApp/JThirdAppDropdown.vue deleted file mode 100644 index 22510ffe..00000000 --- a/ant-design-vue-jeecg/src/components/jeecgbiz/thirdApp/JThirdAppDropdown.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/layouts/BasicLayout.vue b/ant-design-vue-jeecg/src/components/layouts/BasicLayout.vue deleted file mode 100644 index 65b40cd6..00000000 --- a/ant-design-vue-jeecg/src/components/layouts/BasicLayout.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/layouts/BlankLayout.vue b/ant-design-vue-jeecg/src/components/layouts/BlankLayout.vue deleted file mode 100644 index 90c03998..00000000 --- a/ant-design-vue-jeecg/src/components/layouts/BlankLayout.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/layouts/IframeFReportView.vue b/ant-design-vue-jeecg/src/components/layouts/IframeFReportView.vue deleted file mode 100644 index c51e5b1e..00000000 --- a/ant-design-vue-jeecg/src/components/layouts/IframeFReportView.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/layouts/IframePageView.vue b/ant-design-vue-jeecg/src/components/layouts/IframePageView.vue deleted file mode 100644 index e9475445..00000000 --- a/ant-design-vue-jeecg/src/components/layouts/IframePageView.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/layouts/PageView.vue b/ant-design-vue-jeecg/src/components/layouts/PageView.vue deleted file mode 100644 index fc330a0a..00000000 --- a/ant-design-vue-jeecg/src/components/layouts/PageView.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/layouts/RouteView.vue b/ant-design-vue-jeecg/src/components/layouts/RouteView.vue deleted file mode 100644 index 63f4e66a..00000000 --- a/ant-design-vue-jeecg/src/components/layouts/RouteView.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/layouts/TabLayout.vue b/ant-design-vue-jeecg/src/components/layouts/TabLayout.vue deleted file mode 100644 index 4249c190..00000000 --- a/ant-design-vue-jeecg/src/components/layouts/TabLayout.vue +++ /dev/null @@ -1,461 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/layouts/UserLayout.vue b/ant-design-vue-jeecg/src/components/layouts/UserLayout.vue deleted file mode 100644 index ca3de555..00000000 --- a/ant-design-vue-jeecg/src/components/layouts/UserLayout.vue +++ /dev/null @@ -1,150 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/layouts/index.js b/ant-design-vue-jeecg/src/components/layouts/index.js deleted file mode 100644 index 7cf0f77e..00000000 --- a/ant-design-vue-jeecg/src/components/layouts/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import UserLayout from '@/components/layouts/UserLayout' -import BlankLayout from '@/components/layouts/BlankLayout' -import BasicLayout from '@/components/layouts/BasicLayout' -import RouteView from '@/components/layouts/RouteView' -import PageView from '@/components/layouts/PageView' -import TabLayout from '@/components/layouts/TabLayout' - -export { UserLayout, BasicLayout, BlankLayout, RouteView, PageView, TabLayout } \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/lazy_antd.js b/ant-design-vue-jeecg/src/components/lazy_antd.js deleted file mode 100644 index f2d0641d..00000000 --- a/ant-design-vue-jeecg/src/components/lazy_antd.js +++ /dev/null @@ -1,126 +0,0 @@ -/** - * 按需加载antd组件 - */ -import Vue from 'vue' - -// base library -import { - ConfigProvider, - Layout, - Input, - InputNumber, - Button, - Switch, - Radio, - Checkbox, - Select, - Card, - Form, - Row, - Col, - Modal, - Table, - Tabs, - Icon, - Badge, - Popover, - Dropdown, - List, - Avatar, - Breadcrumb, - Steps, - Spin, - Menu, - Drawer, - Tooltip, - Alert, - Tag, - Divider, - DatePicker, - TimePicker, - Upload, - Progress, - Skeleton, - Popconfirm, - PageHeader, - Result, - Statistic, - Descriptions, - message, - notification, - Empty, - Tree, - TreeSelect, - Carousel, - Pagination, - FormModel, - Cascader, - Slider, - Transfer, - Rate, - Collapse, -} from 'ant-design-vue' -import Viser from 'viser-vue' - -Vue.use(ConfigProvider) -Vue.use(Layout) -Vue.use(Input) -Vue.use(InputNumber) -Vue.use(Button) -Vue.use(Switch) -Vue.use(Radio) -Vue.use(Checkbox) -Vue.use(Select) -Vue.use(Card) -Vue.use(Form) -Vue.use(Row) -Vue.use(Col) -Vue.use(Modal) -Vue.use(Table) -Vue.use(Tabs) -Vue.use(Icon) -Vue.use(Badge) -Vue.use(Popover) -Vue.use(Dropdown) -Vue.use(List) -Vue.use(Avatar) -Vue.use(Breadcrumb) -Vue.use(Steps) -Vue.use(Spin) -Vue.use(Menu) -Vue.use(Drawer) -Vue.use(Tooltip) -Vue.use(Alert) -Vue.use(Tag) -Vue.use(Divider) -Vue.use(DatePicker) -Vue.use(TimePicker) -Vue.use(Upload) -Vue.use(Progress) -Vue.use(Skeleton) -Vue.use(Popconfirm) -Vue.use(PageHeader) -Vue.use(Result) -Vue.use(Statistic) -Vue.use(Descriptions) -Vue.use(Empty) -Vue.use(Tree) -Vue.use(TreeSelect) -Vue.use(Carousel) -Vue.use(Pagination) -Vue.use(FormModel) -Vue.use(Cascader) -Vue.use(Slider) -Vue.use(Transfer) -Vue.use(Rate) -Vue.use(Collapse) - -Vue.prototype.$confirm = Modal.confirm -Vue.prototype.$message = message -Vue.prototype.$notification = notification -Vue.prototype.$info = Modal.info -Vue.prototype.$success = Modal.success -Vue.prototype.$error = Modal.error -Vue.prototype.$warning = Modal.warning - -process.env.NODE_ENV !== 'production' && console.warn('[jeecg-boot-vue] NOTICE: Antd use lazy-load.') \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/menu/Contextmenu.vue b/ant-design-vue-jeecg/src/components/menu/Contextmenu.vue deleted file mode 100644 index f88f7b45..00000000 --- a/ant-design-vue-jeecg/src/components/menu/Contextmenu.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/menu/SideMenu.vue b/ant-design-vue-jeecg/src/components/menu/SideMenu.vue deleted file mode 100644 index e01c8ff5..00000000 --- a/ant-design-vue-jeecg/src/components/menu/SideMenu.vue +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - diff --git a/ant-design-vue-jeecg/src/components/menu/index.js b/ant-design-vue-jeecg/src/components/menu/index.js deleted file mode 100644 index fc2124d9..00000000 --- a/ant-design-vue-jeecg/src/components/menu/index.js +++ /dev/null @@ -1,219 +0,0 @@ -import Menu from 'ant-design-vue/es/menu' -import Icon from 'ant-design-vue/es/icon' - -const { Item, SubMenu } = Menu - -export default { - name: 'SMenu', - props: { - menu: { - type: Array, - required: true - }, - theme: { - type: String, - required: false, - default: 'dark' - }, - mode: { - type: String, - required: false, - default: 'inline' - }, - collapsed: { - type: Boolean, - required: false, - default: false - } - }, - data () { - return { - openKeys: [], - selectedKeys: [], - cachedOpenKeys: [] - } - }, - computed: { - rootSubmenuKeys: vm => { - const keys = [] - vm.menu.forEach(item => keys.push(item.path)) - return keys - } - }, - mounted () { - this.updateMenu() - }, - watch: { - collapsed (val) { - if (val) { - this.cachedOpenKeys = this.openKeys.concat() - this.openKeys = [] - } else { - this.openKeys = this.cachedOpenKeys - } - }, - $route: function () { - this.updateMenu() - } - }, - methods: { - // select menu item - onOpenChange (openKeys) { - - // 在水平模式下时执行,并且不再执行后续 - if (this.mode === 'horizontal') { - this.openKeys = openKeys - return - } - // 非水平模式时 - const latestOpenKey = openKeys.find(key => !this.openKeys.includes(key)) - if (!this.rootSubmenuKeys.includes(latestOpenKey)) { - this.openKeys = openKeys - } else { - this.openKeys = latestOpenKey ? [latestOpenKey] : [] - } - }, - updateMenu () { - const routes = this.$route.matched.concat() - const { hidden } = this.$route.meta - if (routes.length >= 3 && hidden) { - routes.pop() - this.selectedKeys = [routes[routes.length - 1].path] - } else { - this.selectedKeys = [routes.pop().path] - } - let openKeys = [] - if (this.mode === 'inline') { - routes.forEach(item => { - openKeys.push(item.path) - }) - } - - // update-begin-author:sunjianlei date:20210409 for: 修复动态功能测试菜单、带参数菜单标题错误、展开错误的问题 - // 包含冒号的是动态菜单 - if (this.selectedKeys[0].includes(':')) { - let selectedKey = this.$route.fullPath - this.selectedKeys = [selectedKey] - let newOpenKeys = [] - this.fullOpenKeys(this.menu, selectedKey, newOpenKeys) - if (newOpenKeys.length > 0) { - openKeys = newOpenKeys.reverse() - } - } - // update-end-author:sunjianlei date:20210409 for: 修复动态功能测试菜单、带参数菜单标题错误、展开错误的问题 - - //update-begin-author:taoyan date:20190510 for:online表单菜单点击展开的一级目录不对 - if(!this.selectedKeys || this.selectedKeys[0].indexOf(":")<0){ - this.collapsed ? (this.cachedOpenKeys = openKeys) : (this.openKeys = openKeys) - } - //update-end-author:taoyan date:20190510 for:online表单菜单点击展开的一级目录不对 - }, - // update-begin-author:sunjianlei date:20210409 for: 修复动态功能测试菜单、带参数菜单标题错误、展开错误的问题 - // 递归查找当前选中的菜单和父级菜单,填充openKeys - fullOpenKeys(menus, selectedKey, openKeys) { - for (let item of menus) { - if (item.path === selectedKey) { - openKeys.push(item.path) - this.$emit('updateMenuTitle', item) - return true - } else if (Array.isArray(item.children)) { - if (this.fullOpenKeys(item.children, selectedKey, openKeys)) { - openKeys.push(item.path) - return true - } - } - } - }, - // update-end-author:sunjianlei date:20210409 for: 修复动态功能测试菜单、带参数菜单标题错误、展开错误的问题 - - // render - renderItem (menu) { - if (!menu.hidden) { - return menu.children && !menu.alwaysShow ? this.renderSubMenu(menu) : this.renderMenuItem(menu) - } - return null - }, - renderMenuItem (menu) { - const target = menu.meta.target || null - const tag = target && 'a' || 'router-link' - let props = { to: { name: menu.name } } - if(menu.route && menu.route === '0'){ - props = { to: { path: menu.path } } - } - - const attrs = { href: menu.path, target: menu.meta.target } - - if (menu.children && menu.alwaysShow) { - // 把有子菜单的 并且 父菜单是要隐藏子菜单的 - // 都给子菜单增加一个 hidden 属性 - // 用来给刷新页面时, selectedKeys 做控制用 - menu.children.forEach(item => { - item.meta = Object.assign(item.meta, { hidden: true }) - }) - } - - return ( - - - {this.renderIcon(menu.meta.icon)} - {menu.meta.title} - - - ) - }, - renderSubMenu (menu) { - const itemArr = [] - if (!menu.alwaysShow) { - menu.children.forEach(item => itemArr.push(this.renderItem(item))) - } - return ( - - - {this.renderIcon(menu.meta.icon)} - {menu.meta.title} - - {itemArr} - - ) - }, - renderIcon (icon) { - if (icon === 'none' || icon === undefined) { - return null - } - const props = {} - typeof (icon) === 'object' ? props.component = icon : props.type = icon - return ( - - ) - } - }, - - render () { - const { mode, theme, menu } = this - const props = { - mode: mode, - theme: theme, - openKeys: this.openKeys - } - const on = { - select: obj => { - this.selectedKeys = obj.selectedKeys - this.$emit('select', obj) - }, - openChange: this.onOpenChange - } - - const menuTree = menu.map(item => { - if (item.hidden) { - return null - } - return this.renderItem(item) - }) - // {...{ props, on: on }} - return ( - - {menuTree} - - ) - } -} diff --git a/ant-design-vue-jeecg/src/components/page/GlobalFooter.vue b/ant-design-vue-jeecg/src/components/page/GlobalFooter.vue deleted file mode 100644 index 8f4d09e6..00000000 --- a/ant-design-vue-jeecg/src/components/page/GlobalFooter.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/page/GlobalHeader.vue b/ant-design-vue-jeecg/src/components/page/GlobalHeader.vue deleted file mode 100644 index 44639128..00000000 --- a/ant-design-vue-jeecg/src/components/page/GlobalHeader.vue +++ /dev/null @@ -1,227 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/page/GlobalLayout.vue b/ant-design-vue-jeecg/src/components/page/GlobalLayout.vue deleted file mode 100644 index 1d78e124..00000000 --- a/ant-design-vue-jeecg/src/components/page/GlobalLayout.vue +++ /dev/null @@ -1,698 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/page/PageHeader.vue b/ant-design-vue-jeecg/src/components/page/PageHeader.vue deleted file mode 100644 index f7e86b57..00000000 --- a/ant-design-vue-jeecg/src/components/page/PageHeader.vue +++ /dev/null @@ -1,238 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/page/PageLayout.vue b/ant-design-vue-jeecg/src/components/page/PageLayout.vue deleted file mode 100644 index 191fd8a4..00000000 --- a/ant-design-vue-jeecg/src/components/page/PageLayout.vue +++ /dev/null @@ -1,127 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/page/SHeaderNotice.vue b/ant-design-vue-jeecg/src/components/page/SHeaderNotice.vue deleted file mode 100644 index 5e874e8c..00000000 --- a/ant-design-vue-jeecg/src/components/page/SHeaderNotice.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/setting/SettingDrawer.vue b/ant-design-vue-jeecg/src/components/setting/SettingDrawer.vue deleted file mode 100644 index 79f5e9e9..00000000 --- a/ant-design-vue-jeecg/src/components/setting/SettingDrawer.vue +++ /dev/null @@ -1,323 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/components/setting/SettingItem.vue b/ant-design-vue-jeecg/src/components/setting/SettingItem.vue deleted file mode 100644 index de0cbe0c..00000000 --- a/ant-design-vue-jeecg/src/components/setting/SettingItem.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/table/README.md b/ant-design-vue-jeecg/src/components/table/README.md deleted file mode 100644 index ad5f6413..00000000 --- a/ant-design-vue-jeecg/src/components/table/README.md +++ /dev/null @@ -1,292 +0,0 @@ -Table 重封装组件说明 -==== - - -封装说明 ----- - -> 基础的使用方式与 API 与 [官方版(Table)](https://vuecomponent.github.io/ant-design-vue/components/table-cn/) 本一致,在其基础上,封装了加载数据的方法。 -> -> 你无需在你是用表格的页面进行分页逻辑处理,仅需向 Table 组件传递绑定 `:data="Promise"` 对象即可 - - - -例子1 ----- -(基础使用) - -```vue - - - - - -``` - - - -例子2 ----- - -(简单的表格,最后一列是各种操作) - -```vue - - - -``` - - - -内置方法 ----- - -通过 `this.$refs.table` 调用 - -`this.$refs.table.refresh()` 刷新列表 (用户新增/修改数据后,重载列表数据) - -> 注意:要调用 `refresh()` 需要给表格组件设定 `ref` 值 - - - -注意事项 ----- - -> 你可能需要为了与后端提供的接口返回结果一致而去修改以下代码: -(需要注意的是,这里的修改是全局性的,意味着整个项目所有使用该 table 组件都需要遵守这个返回结果定义的字段。) - -修改 `@/components/table/index.js` 第 106 行起 - - - -```javascript -result.then(r => { - this.localPagination = Object.assign({}, this.localPagination, { - current: r.pageNo, // 返回结果中的当前分页数 - total: r.totalCount, // 返回结果中的总记录数 - showSizeChanger: this.showSizeChanger, - pageSize: (pagination && pagination.pageSize) || - this.localPagination.pageSize - }); - - !r.totalCount && ['auto', false].includes(this.showPagination) && (this.localPagination = false) - this.localDataSource = r.data; // 返回结果中的数组数据 - this.localLoading = false -}); -``` -返回 JSON 例子: -```json -{ - "message": "", - "result": { - "data": [{ - id: 1, - cover: 'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png', - title: 'Alipay', - description: '那是一种内在的东西, 他们到达不了,也无法触及的', - status: 1, - updatedAt: '2018-07-26 00:00:00' - }, - { - id: 2, - cover: 'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png', - title: 'Angular', - description: '希望是一个好东西,也许是最好的,好东西是不会消亡的', - status: 1, - updatedAt: '2018-07-26 00:00:00' - }, - { - id: 3, - cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png', - title: 'Ant Design', - description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', - status: 1, - updatedAt: '2018-07-26 00:00:00' - }, - { - id: 4, - cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png', - title: 'Ant Design Pro', - description: '那时候我只会想自己想要什么,从不想自己拥有什么', - status: 1, - updatedAt: '2018-07-26 00:00:00' - }, - { - id: 5, - cover: 'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png', - title: 'Bootstrap', - description: '凛冬将至', - status: 1, - updatedAt: '2018-07-26 00:00:00' - }, - { - id: 6, - cover: 'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png', - title: 'Vue', - description: '生命就像一盒巧克力,结果往往出人意料', - status: 1, - updatedAt: '2018-07-26 00:00:00' - } - ], - "pageSize": 10, - "pageNo": 0, - "totalPage": 6, - "totalCount": 57 - }, - "status": 200, - "timestamp": 1534955098193 -} -``` - - - -更新时间 ----- - -该文档最后更新于: 2018-10-31 PM 08:15 \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/table/StandardTable.vue b/ant-design-vue-jeecg/src/components/table/StandardTable.vue deleted file mode 100644 index bc6044ac..00000000 --- a/ant-design-vue-jeecg/src/components/table/StandardTable.vue +++ /dev/null @@ -1,252 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/table/index.js b/ant-design-vue-jeecg/src/components/table/index.js deleted file mode 100644 index ffb65110..00000000 --- a/ant-design-vue-jeecg/src/components/table/index.js +++ /dev/null @@ -1,269 +0,0 @@ -import T from "ant-design-vue/es/table/Table"; -import get from "lodash.get" -export default { - data() { - return { - needTotalList: [], - - selectedRows: [], - selectedRowKeys: [], - - localLoading: false, - localDataSource: [], - localPagination: Object.assign({}, T.props.pagination) - }; - }, - props: Object.assign({}, T.props, { - rowKey: { - type: [String, Function], - default: 'id' - }, - data: { - type: Function, - required: true - }, - pageNum: { - type: Number, - default: 1 - }, - pageSize: { - type: Number, - default: 10 - }, - showSizeChanger: { - type: Boolean, - default: true - }, - showAlertInfo: { - type: Boolean, - default: false - }, - showPagination: { - default: 'auto' - } - }), - watch: { - 'localPagination.current'(val) { - this.$router.push({ - name: this.$route.name, - params: Object.assign({}, this.$route.params, { - pageNo: val - }), - }); - }, - pageNum(val) { - Object.assign(this.localPagination, { - current: val - }); - }, - pageSize(val) { - console.log('pageSize:', val) - Object.assign(this.localPagination, { - pageSize: val - }); - }, - showSizeChanger(val) { - console.log('showSizeChanger', val) - Object.assign(this.localPagination, { - showSizeChanger: val - }); - } - }, - created() { - this.localPagination = ['auto', true].includes(this.showPagination) && Object.assign({}, this.localPagination, { - current: this.pageNum, - pageSize: this.pageSize, - showSizeChanger: this.showSizeChanger - }); - this.needTotalList = this.initTotalList(this.columns) - this.loadData(); - }, - methods: { - refresh() { - this.loadData(); - }, - loadData(pagination, filters, sorter) { - - this.localLoading = true - var result = this.data( - Object.assign({ - pageNo: (pagination && pagination.current) || - this.localPagination.current, - pageSize: (pagination && pagination.pageSize) || - this.localPagination.pageSize - }, - (sorter && sorter.field && { - sortField: sorter.field - }) || {}, - (sorter && sorter.order && { - sortOrder: sorter.order - }) || {}, { - ...filters - } - ) - ); - - if (result instanceof Promise) { - result.then(r => { - this.localPagination = Object.assign({}, this.localPagination, { - current: r.pageNo, // 返回结果中的当前分页数 - total: r.totalCount, // 返回结果中的总记录数 - showSizeChanger: this.showSizeChanger, - pageSize: (pagination && pagination.pageSize) || - this.localPagination.pageSize - }); - //update--begin--autor:wangshuai-----date:20200724------for:判断showPagination是否为false------ - (!this.showPagination || !r.totalCount && this.showPagination === 'auto') && (this.localPagination = false) - //update--end--autor:wangshuai-----date:20200724------for:判断showPagination是否为false----- - this.localDataSource = r.data; // 返回结果中的数组数据 - this.localLoading = false - }); - } - }, - initTotalList(columns) { - const totalList = [] - columns && columns instanceof Array && columns.forEach(column => { - if (column.needTotal) { - totalList.push({ ...column, - total: 0 - }) - } - }) - return totalList - }, - updateSelect(selectedRowKeys, selectedRows) { - this.selectedRowKeys = selectedRowKeys - this.selectedRows = selectedRows - let list = this.needTotalList - this.needTotalList = list.map(item => { - return { - ...item, - total: selectedRows.reduce((sum, val) => { - let total = sum + get(val, item.dataIndex) - return isNaN(total) ? 0 : total - }, 0) - } - }) - // this.$emit('change', selectedRowKeys, selectedRows) - }, - updateEdit() { - this.selectedRows = [] - }, - onClearSelected() { - // 【TESTA-262】页面清空后还能才做所选行,增加 this.$emit('clearAll') - this.selectedRowKeys = [] - this.selectedRows = [] - this.updateSelect([], []) - this.$emit('clearAll') - }, - renderMsg(h) { - const _vm = this - let d = [] - // 构建 已选择 - d.push( - h('span', { - style: { - marginRight: '12px' - } - }, ['已选择 ', h('a', { - style: { - fontWeight: 600 - } - }, this.selectedRows.length)]) - ); - - // 构建 列统计 - this.needTotalList.map(item => { - d.push(h('span', { - style: { - marginRight: '12px' - } - }, - [ - `${ item.title }总计 `, - h('a', { - style: { - fontWeight: 600 - } - }, `${ !item.customRender ? item.total : item.customRender(item.total) }`) - ])) - }); - - // 构建 清空选择 - d.push(h('a', { - style: { - marginLeft: '24px' - }, - on: { - click: _vm.onClearSelected - } - }, '清空')) - - return d - }, - renderAlert(h) { - return h('span', { - slot: 'message' - }, this.renderMsg(h)) - }, - }, - - render(h) { - const _vm = this - - let props = {}, - localKeys = Object.keys(this.$data); - - Object.keys(T.props).forEach(k => { - let localKey = `local${k.substring(0,1).toUpperCase()}${k.substring(1)}`; - if (localKeys.includes(localKey)) { - return props[k] = _vm[localKey]; - } - return props[k] = _vm[k]; - }) - - - // 显示信息提示 - if (this.showAlertInfo) { - - props.rowSelection = { - selectedRowKeys: this.selectedRowKeys, - onChange: (selectedRowKeys, selectedRows) => { - _vm.updateSelect(selectedRowKeys, selectedRows) - _vm.$emit('onSelect', { selectedRowKeys: selectedRowKeys, selectedRows: selectedRows }) - } - }; - - return h('div', {}, [ - h("a-alert", { - style: { - marginBottom: '16px' - }, - props: { - type: 'info', - showIcon: true - } - }, [_vm.renderAlert(h)]), - h("a-table", { - tag: "component", - attrs: props, - on: { - change: _vm.loadData - }, - scopedSlots: this.$scopedSlots - }, this.$slots.default) - ]); - - } - - return h("a-table", { - tag: "component", - attrs: props, - on: { - change: _vm.loadData - }, - scopedSlots: this.$scopedSlots - }, this.$slots.default); - - } -}; \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/Breadcrumb.vue b/ant-design-vue-jeecg/src/components/tools/Breadcrumb.vue deleted file mode 100644 index 3bd067fa..00000000 --- a/ant-design-vue-jeecg/src/components/tools/Breadcrumb.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/DepartSelect.vue b/ant-design-vue-jeecg/src/components/tools/DepartSelect.vue deleted file mode 100644 index 7a7e15ab..00000000 --- a/ant-design-vue-jeecg/src/components/tools/DepartSelect.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/DetailList.vue b/ant-design-vue-jeecg/src/components/tools/DetailList.vue deleted file mode 100644 index bd74971c..00000000 --- a/ant-design-vue-jeecg/src/components/tools/DetailList.vue +++ /dev/null @@ -1,147 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/DynamicNotice.vue b/ant-design-vue-jeecg/src/components/tools/DynamicNotice.vue deleted file mode 100644 index 02cb7fc6..00000000 --- a/ant-design-vue-jeecg/src/components/tools/DynamicNotice.vue +++ /dev/null @@ -1,36 +0,0 @@ - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/FooterToolBar.vue b/ant-design-vue-jeecg/src/components/tools/FooterToolBar.vue deleted file mode 100644 index 63b3c1bd..00000000 --- a/ant-design-vue-jeecg/src/components/tools/FooterToolBar.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/HeadInfo.vue b/ant-design-vue-jeecg/src/components/tools/HeadInfo.vue deleted file mode 100644 index f4f6bbca..00000000 --- a/ant-design-vue-jeecg/src/components/tools/HeadInfo.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/HeaderNotice.vue b/ant-design-vue-jeecg/src/components/tools/HeaderNotice.vue deleted file mode 100644 index 3bad73aa..00000000 --- a/ant-design-vue-jeecg/src/components/tools/HeaderNotice.vue +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/Logo.vue b/ant-design-vue-jeecg/src/components/tools/Logo.vue deleted file mode 100644 index 7808fba4..00000000 --- a/ant-design-vue-jeecg/src/components/tools/Logo.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/ShowAnnouncement.vue b/ant-design-vue-jeecg/src/components/tools/ShowAnnouncement.vue deleted file mode 100644 index 8be84882..00000000 --- a/ant-design-vue-jeecg/src/components/tools/ShowAnnouncement.vue +++ /dev/null @@ -1,156 +0,0 @@ -import xss from "xss" - - - - - - diff --git a/ant-design-vue-jeecg/src/components/tools/TwoStepCaptcha.vue b/ant-design-vue-jeecg/src/components/tools/TwoStepCaptcha.vue deleted file mode 100644 index 8b4c94de..00000000 --- a/ant-design-vue-jeecg/src/components/tools/TwoStepCaptcha.vue +++ /dev/null @@ -1,89 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/UserMenu.vue b/ant-design-vue-jeecg/src/components/tools/UserMenu.vue deleted file mode 100644 index 6efba615..00000000 --- a/ant-design-vue-jeecg/src/components/tools/UserMenu.vue +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/components/tools/UserPassword.vue b/ant-design-vue-jeecg/src/components/tools/UserPassword.vue deleted file mode 100644 index ff166480..00000000 --- a/ant-design-vue-jeecg/src/components/tools/UserPassword.vue +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - diff --git a/ant-design-vue-jeecg/src/components/tools/setting.js b/ant-design-vue-jeecg/src/components/tools/setting.js deleted file mode 100644 index fdfc3963..00000000 --- a/ant-design-vue-jeecg/src/components/tools/setting.js +++ /dev/null @@ -1,95 +0,0 @@ -import { message } from 'ant-design-vue/es'; -// import defaultSettings from '../defaultSettings'; - -let lessNodesAppended; - -const colorList = [ - { - key: '薄暮', color: '#F5222D', - }, - { - key: '火山', color: '#FA541C', - }, - { - key: '日暮', color: '#FAAD14', - }, - { - key: '明青', color: '#13C2C2', - }, - { - key: '极光绿', color: '#52C41A', - }, - { - key: '拂晓蓝(默认)', color: '#1890FF', - }, - { - key: '极客蓝', color: '#2F54EB', - }, - { - key: '酱紫', color: '#722ED1', - }, -]; - -const updateTheme = primaryColor => { - // Don't compile less in production! - /* if (process.env.NODE_ENV === 'production') { - return; - } */ - // Determine if the component is remounted - if (!primaryColor) { - return; - } - const hideMessage = message.loading('正在编译主题!', 0); - console.info(`正在编译主题!`) - function buildIt() { - // 正确的判定less是否已经加载less.modifyVars可用 - if (!window.less || !window.less.modifyVars) { - return; - } - // less.modifyVars可用 - window.less.modifyVars({ - '@primary-color': primaryColor, - }) - .then(() => { - hideMessage(); - }) - .catch(() => { - message.error('Failed to update theme'); - hideMessage(); - }); - } - if (!lessNodesAppended) { - // insert less.js and color.less - const lessStyleNode = document.createElement('link'); - const lessConfigNode = document.createElement('script'); - const lessScriptNode = document.createElement('script'); - lessStyleNode.setAttribute('rel', 'stylesheet/less'); - lessStyleNode.setAttribute('href', __webpack_public_path__ + 'color.less') - lessConfigNode.innerHTML = ` - window.less = { - async: true, - env: 'production', - javascriptEnabled: true - }; - `; - lessScriptNode.src = 'https://gw.alipayobjects.com/os/lib/less.js/3.8.1/less.min.js'; - lessScriptNode.async = true; - lessScriptNode.onload = () => { - buildIt(); - lessScriptNode.onload = null; - }; - document.body.appendChild(lessStyleNode); - document.body.appendChild(lessConfigNode); - document.body.appendChild(lessScriptNode); - lessNodesAppended = true; - } else { - buildIt(); - } -}; - -const updateColorWeak = colorWeak => { - // document.body.className = colorWeak ? 'colorWeak' : ''; - colorWeak ? document.body.classList.add('colorWeak') : document.body.classList.remove('colorWeak') -}; - -export { updateTheme, colorList, updateColorWeak } \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/config/index.js b/ant-design-vue-jeecg/src/config/index.js deleted file mode 100644 index 1843b2ac..00000000 --- a/ant-design-vue-jeecg/src/config/index.js +++ /dev/null @@ -1,10 +0,0 @@ -/** init domain config */ -import Vue from 'vue' -//设置全局API_BASE_URL -Vue.prototype.API_BASE_URL = window._CONFIG.VUE_APP_API_BASE_URL?window._CONFIG.VUE_APP_API_BASE_URL:process.env.VUE_APP_API_BASE_URL -window._CONFIG['domianURL'] = Vue.prototype.API_BASE_URL -//单点登录地址 -window._CONFIG['casPrefixUrl'] = window._CONFIG.VUE_APP_CAS_BASE_URL?window._CONFIG.VUE_APP_CAS_BASE_URL:process.env.VUE_APP_CAS_BASE_URL -window._CONFIG['onlinePreviewDomainURL'] = window._CONFIG.VUE_APP_ONLINE_BASE_URL?window._CONFIG.VUE_APP_ONLINE_BASE_URL:process.env.VUE_APP_ONLINE_BASE_URL -window._CONFIG['staticDomainURL'] = Vue.prototype.API_BASE_URL + '/sys/common/static' -window._CONFIG['pdfDomainURL'] = Vue.prototype.API_BASE_URL+ '/sys/common/pdf/pdfPreviewIframe' \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/config/router.config.js b/ant-design-vue-jeecg/src/config/router.config.js deleted file mode 100644 index 13890e13..00000000 --- a/ant-design-vue-jeecg/src/config/router.config.js +++ /dev/null @@ -1,382 +0,0 @@ -import { UserLayout, TabLayout, RouteView, BlankLayout, PageView } from '@/components/layouts' - -/** - * 走菜单,走权限控制 - * @type {[null,null]} - */ -export const asyncRouterMap = [ - - { - path: '/', - name: 'dashboard', - component: TabLayout, - meta: { title: '首页' }, - redirect: '/dashboard/analysis', - children: [ - - // // dashboard - // { - // path: '/dashboard', - // name: 'dashboard', - // redirect: '/dashboard/workplace', - // component: RouteView, - // meta: { title: '仪表盘', icon: 'dashboard', permission: [ 'dashboard' ] }, - // children: [ - // { - // path: '/dashboard/analysis', - // name: 'Analysis', - // component: () => import('@/views/dashboard/Analysis'), - // meta: { title: '分析页', permission: [ 'dashboard' ] } - // }, - // { - // path: '/dashboard/monitor', - // name: 'Monitor', - // hidden: true, - // component: () => import('@/views/dashboard/Monitor'), - // meta: { title: '监控页', permission: [ 'dashboard' ] } - // }, - // { - // path: '/dashboard/workplace', - // name: 'Workplace', - // component: () => import('@/views/dashboard/Workplace'), - // meta: { title: '工作台', permission: [ 'dashboard' ] } - // } - // ] - // }, - // - // // forms - // { - // path: '/form', - // redirect: '/form/basic-form', - // component: PageView, - // meta: { title: '表单页', icon: 'form', permission: [ 'form' ] }, - // children: [ - // { - // path: '/form/base-form', - // name: 'BaseForm', - // component: () => import('@/views/form/BasicForm'), - // meta: { title: '基础表单', permission: [ 'form' ] } - // }, - // { - // path: '/form/step-form', - // name: 'StepForm', - // component: () => import('@/views/form/stepForm/StepForm'), - // meta: { title: '分步表单', permission: [ 'form' ] } - // }, - // { - // path: '/form/advanced-form', - // name: 'AdvanceForm', - // component: () => import('@/views/form/advancedForm/AdvancedForm'), - // meta: { title: '高级表单', permission: [ 'form' ] } - // } - // ] - // }, - // - // // list - // { - // path: '/list', - // name: 'list', - // component: PageView, - // redirect: '/list/query-list', - // meta: { title: '列表页', icon: 'table', permission: [ 'table' ] }, - // children: [ - // { - // path: '/list/query-list', - // name: 'QueryList', - // component: () => import('@/views/list/TableList'), - // meta: { title: '查询表格', permission: [ 'table' ] } - // }, - // { - // path: '/list/edit-table', - // name: 'EditList', - // component: () => import('@/views/list/TableInnerEditList'), - // meta: { title: '内联编辑表格', permission: [ 'table' ] } - // }, - // { - // path: '/list/user-list', - // name: 'UserList', - // component: () => import('@/views/list/UserList'), - // meta: { title: '用户列表', permission: [ 'table' ] } - // }, - // { - // path: '/list/role-list', - // name: 'RoleList', - // component: () => import('@/views/list/RoleList'), - // meta: { title: '角色列表', permission: [ 'table' ] } - // }, - // { - // path: '/list/permission-list', - // name: 'PermissionList', - // component: () => import('@/views/list/PermissionList'), - // meta: { title: '权限列表', permission: [ 'table' ] } - // }, - // { - // path: '/list/basic-list', - // name: 'BasicList', - // component: () => import('@/views/list/StandardList'), - // meta: { title: '标准列表', permission: [ 'table' ] } - // }, - // { - // path: '/list/card', - // name: 'CardList', - // component: () => import('@/views/list/CardList'), - // meta: { title: '卡片列表', permission: [ 'table' ] } - // }, - // { - // path: '/list/search', - // name: 'SearchList', - // component: () => import('@/views/list/search/SearchLayout'), - // redirect: '/list/search/article', - // meta: { title: '搜索列表', permission: [ 'table' ] }, - // children: [ - // { - // path: '/list/search/article', - // name: 'SearchArticles', - // component: () => import('../views/list/TableList'), - // meta: { title: '搜索列表(文章)', permission: [ 'table' ] } - // }, - // { - // path: '/list/search/project', - // name: 'SearchProjects', - // component: () => import('../views/list/TableList'), - // meta: { title: '搜索列表(项目)', permission: [ 'table' ] } - // }, - // { - // path: '/list/search/application', - // name: 'SearchApplications', - // component: () => import('../views/list/TableList'), - // meta: { title: '搜索列表(应用)', permission: [ 'table' ] } - // }, - // ] - // }, - // ] - // }, - // - // // profile - // { - // path: '/profile', - // name: 'profile', - // component: RouteView, - // redirect: '/profile/basic', - // meta: { title: '详情页', icon: 'profile', permission: [ 'profile' ] }, - // children: [ - // { - // path: '/profile/basic', - // name: 'ProfileBasic', - // component: () => import('@/views/profile/basic/Index'), - // meta: { title: '基础详情页', permission: [ 'profile' ] } - // }, - // { - // path: '/profile/advanced', - // name: 'ProfileAdvanced', - // component: () => import('@/views/profile/advanced/Advanced'), - // meta: { title: '高级详情页', permission: [ 'profile' ] } - // } - // ] - // }, - // - // // result - // { - // path: '/result', - // name: 'result', - // component: PageView, - // redirect: '/result/success', - // meta: { title: '结果页', icon: 'check-circle-o', permission: [ 'result' ] }, - // children: [ - // { - // path: '/result/success', - // name: 'ResultSuccess', - // component: () => import(/* webpackChunkName: "result" */ '@/views/result/Success'), - // meta: { title: '成功', hiddenHeaderContent: true, permission: [ 'result' ] } - // }, - // { - // path: '/result/fail', - // name: 'ResultFail', - // component: () => import(/* webpackChunkName: "result" */ '@/views/result/Error'), - // meta: { title: '失败', hiddenHeaderContent: true, permission: [ 'result' ] } - // } - // ] - // }, - // - // // Exception - // { - // path: '/exception', - // name: 'exception', - // component: RouteView, - // redirect: '/exception/403', - // meta: { title: '异常页', icon: 'warning', permission: [ 'exception' ] }, - // children: [ - // { - // path: '/exception/403', - // name: 'Exception403', - // component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/403'), - // meta: { title: '403', permission: [ 'exception' ] } - // }, - // { - // path: '/exception/404', - // name: 'Exception404', - // component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404'), - // meta: { title: '404', permission: [ 'exception' ] } - // }, - // { - // path: '/exception/500', - // name: 'Exception500', - // component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/500'), - // meta: { title: '500', permission: [ 'exception' ] } - // } - // ] - // }, - // - // // account - // { - // path: '/account', - // component: RouteView, - // name: 'account', - // meta: { title: '个人页', icon: 'user', keepAlive: true, permission: [ 'user' ] }, - // children: [ - // { - // path: '/account/center', - // name: 'center', - // component: () => import('@/views/account/center/Index'), - // meta: { title: '个人中心', keepAlive: true, permission: [ 'user' ] } - // }, - // { - // path: '/account/settings', - // name: 'settings', - // component: () => import('@/views/account/settings/Index'), - // meta: { title: '个人设置', hideHeader: true, keepAlive: true, permission: [ 'user' ] }, - // redirect: '/account/settings/base', - // alwaysShow: true, - // children: [ - // { - // path: '/account/settings/base', - // name: 'BaseSettings', - // component: () => import('@/views/account/settings/BaseSetting'), - // meta: { title: '基本设置', hidden: true, keepAlive: true, permission: [ 'user' ] } - // }, - // { - // path: '/account/settings/security', - // name: 'SecuritySettings', - // component: () => import('@/views/account/settings/Security'), - // meta: { title: '安全设置', hidden: true, keepAlive: true, permission: [ 'user' ] } - // }, - // { - // path: '/account/settings/custom', - // name: 'CustomSettings', - // component: () => import('@/views/account/settings/Custom'), - // meta: { title: '个性化设置', hidden: true, keepAlive: true, permission: [ 'user' ] } - // }, - // { - // path: '/account/settings/binding', - // name: 'BindingSettings', - // component: () => import('@/views/account/settings/Binding'), - // meta: { title: '账户绑定', hidden: true, keepAlive: true, permission: [ 'user' ] } - // }, - // { - // path: '/account/settings/notification', - // name: 'NotificationSettings', - // component: () => import('@/views/account/settings/Notification'), - // meta: { title: '新消息通知', hidden: true, keepAlive: true, permission: [ 'user' ] } - // }, - // ] - // }, - // ] - // } - ] - }, - { - path: '*', redirect: '/404', hidden: true - } -] - -/** - * 基础路由 - * @type { *[] } - */ -export const constantRouterMap = [ - { - path: '/user', - component: UserLayout, - redirect: '/user/login', - hidden: true, - children: [ - { - path: 'login', - name: 'login', - component: () => import(/* webpackChunkName: "user" */ '@/views/user/Login') - }, - { - path: 'register', - name: 'register', - component: () => import(/* webpackChunkName: "user" */ '@/views/user/register/Register') - }, - { - path: 'register-result', - name: 'registerResult', - component: () => import(/* webpackChunkName: "user" */ '@/views/user/register/RegisterResult') - }, - { - path: 'alteration', - name: 'alteration', - component: () => import(/* webpackChunkName: "user" */ '@/views/user/alteration/Alteration') - }, - ] - }, - - // { - // path: '/', - // name: 'index', - // component: TabLayout, - // meta: {title: '首页'}, - // redirect: '/dashboard/workplace', - // children: [ - // { - // path: '/online', - // name: 'online', - // redirect: '/online', - // component: RouteView, - // meta: {title: '在线开发', icon: 'dashboard', permission: ['dashboard']}, - // children: [ - // { - // path: '/online/auto/:code', - // name: 'report', - // component: () => import('@/views/modules/online/cgreport/OnlCgreportAutoList') - // }, - // ] - // }, - // ] - // }, - - { - // OAuth2 APP页面路由 - path: '/oauth2-app', - component: BlankLayout, - redirect: '/oauth2-app/login', - children: [ - { - // OAuth2 登录路由 - path: 'login', - name: 'oauth2-app-login', - component: () => import(/* webpackChunkName: "oauth2-app.login" */ '@/views/user/oauth2/OAuth2Login') - }, - ] - }, - - { - path: '/test', - component: BlankLayout, - redirect: '/test/home', - children: [ - { - path: 'home', - name: 'TestHome', - component: () => import('@/views/Home') - } - ] - }, - { - path: '/404', - component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404') - }, - -] diff --git a/ant-design-vue-jeecg/src/defaultSettings.js b/ant-design-vue-jeecg/src/defaultSettings.js deleted file mode 100644 index 832264fe..00000000 --- a/ant-design-vue-jeecg/src/defaultSettings.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * 项目默认配置项 - * primaryColor - 默认主题色 - * navTheme - sidebar theme ['dark', 'light'] 两种主题 - * colorWeak - 色盲模式 - * layout - 整体布局方式 ['sidemenu', 'topmenu'] 两种布局 - * fixedHeader - 固定 Header : boolean - * fixSiderbar - 固定左侧菜单栏 : boolean - * autoHideHeader - 向下滚动时,隐藏 Header : boolean - * contentWidth - 内容区布局: 流式 | 固定 - * - * storageOptions: {} - Vue-ls 插件配置项 (localStorage/sessionStorage) - * - */ - -export default { - primaryColor: '#1890FF', // primary color of ant design - navTheme: 'light', // theme for nav menu - layout: 'sidemenu', // nav menu position: sidemenu or topmenu - contentWidth: 'Fixed', // layout of content: Fluid or Fixed, only works when layout is topmenu - fixedHeader: false, // sticky header - fixSiderbar: false, // sticky siderbar - autoHideHeader: false, // auto hide header - colorWeak: false, - multipage: true, //默认多页签模式 - // vue-ls options - storageOptions: { - namespace: 'pro__', // key prefix - name: 'ls', // name variable Vue.[ls] or this.[$ls], - storage: 'local', // storage name session, local, memory - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/icons.js b/ant-design-vue-jeecg/src/icons.js deleted file mode 100644 index 7c62954e..00000000 --- a/ant-design-vue-jeecg/src/icons.js +++ /dev/null @@ -1,15 +0,0 @@ -// src/icons.js - -// export what you need -export { - default as SmileOutline -} from '@ant-design/icons/lib/outline/SmileOutline'; -export { - default as MehOutline -} from '@ant-design/icons/lib/outline/MehOutline'; - -// export what antd other components need -export { - default as CloseOutline -} from '@ant-design/icons/lib/outline/CloseOutline'; -// and other icons... \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/main.js b/ant-design-vue-jeecg/src/main.js deleted file mode 100644 index 0809df2d..00000000 --- a/ant-design-vue-jeecg/src/main.js +++ /dev/null @@ -1,88 +0,0 @@ -/** init domain config */ -import './config' - -import Vue from 'vue' -import App from './App.vue' -import Storage from 'vue-ls' -import router from './router' -import store from './store/' -import { VueAxios } from "@/utils/request" - -require('@jeecg/antd-online-mini') -require('@jeecg/antd-online-mini/dist/OnlineForm.css') - -import Antd, { version } from 'ant-design-vue' -console.log('ant-design-vue version:', version) - -import Viser from 'viser-vue' -import 'ant-design-vue/dist/antd.less'; // or 'ant-design-vue/dist/antd.less' - -import '@/permission' // permission control -import '@/utils/filter' // base filter -import Print from 'vue-print-nb-jeecg' -/*import '@babel/polyfill'*/ -import preview from 'vue-photo-preview' -import 'vue-photo-preview/dist/skin.css' -import SSO from '@/cas/sso.js' -import { - ACCESS_TOKEN, - DEFAULT_COLOR, - DEFAULT_THEME, - DEFAULT_LAYOUT_MODE, - DEFAULT_COLOR_WEAK, - SIDEBAR_TYPE, - DEFAULT_FIXED_HEADER, - DEFAULT_FIXED_HEADER_HIDDEN, - DEFAULT_FIXED_SIDEMENU, - DEFAULT_CONTENT_WIDTH_TYPE, - DEFAULT_MULTI_PAGE -} from "@/store/mutation-types" -import config from '@/defaultSettings' - -import JDictSelectTag from './components/dict/index.js' -import hasPermission from '@/utils/hasPermission' -import vueBus from '@/utils/vueBus'; -import JeecgComponents from '@/components/jeecg/index' -import '@/assets/less/JAreaLinkage.less' -import VueAreaLinkage from 'vue-area-linkage' -import '@/components/jeecg/JVxeTable/install' -import '@/components/JVxeCells/install' -//表单验证 -import { rules } from '@/utils/rules' -Vue.prototype.rules = rules -Vue.config.productionTip = false -Vue.use(Storage, config.storageOptions) -Vue.use(Antd) -Vue.use(VueAxios, router) -Vue.use(Viser) -Vue.use(hasPermission) -Vue.use(JDictSelectTag) -Vue.use(Print) -Vue.use(preview) -Vue.use(vueBus); -Vue.use(JeecgComponents); -Vue.use(VueAreaLinkage); - -SSO.init(() => { - main() -}) -function main() { - new Vue({ - router, - store, - mounted () { - store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true)) - store.commit('TOGGLE_THEME', Vue.ls.get(DEFAULT_THEME, config.navTheme)) - store.commit('TOGGLE_LAYOUT_MODE', Vue.ls.get(DEFAULT_LAYOUT_MODE, config.layout)) - store.commit('TOGGLE_FIXED_HEADER', Vue.ls.get(DEFAULT_FIXED_HEADER, config.fixedHeader)) - store.commit('TOGGLE_FIXED_SIDERBAR', Vue.ls.get(DEFAULT_FIXED_SIDEMENU, config.fixSiderbar)) - store.commit('TOGGLE_CONTENT_WIDTH', Vue.ls.get(DEFAULT_CONTENT_WIDTH_TYPE, config.contentWidth)) - store.commit('TOGGLE_FIXED_HEADER_HIDDEN', Vue.ls.get(DEFAULT_FIXED_HEADER_HIDDEN, config.autoHideHeader)) - store.commit('TOGGLE_WEAK', Vue.ls.get(DEFAULT_COLOR_WEAK, config.colorWeak)) - store.commit('TOGGLE_COLOR', Vue.ls.get(DEFAULT_COLOR, config.primaryColor)) - store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN)) - store.commit('SET_MULTI_PAGE',Vue.ls.get(DEFAULT_MULTI_PAGE,config.multipage)) - }, - render: h => h(App) - }).$mount('#app') -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/mixins/DisabledAuthFilterMixin.js b/ant-design-vue-jeecg/src/mixins/DisabledAuthFilterMixin.js deleted file mode 100644 index 26aca742..00000000 --- a/ant-design-vue-jeecg/src/mixins/DisabledAuthFilterMixin.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * - */ -import { disabledAuthFilter } from "@/utils/authFilter" - -export const DisabledAuthFilterMixin = { - props: ['formData'], - data(){ - return { - - } - }, - methods:{ - isDisabledAuth(code){ - return disabledAuthFilter(code,this.formData); - }, - } - -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/mixins/JEditableTableMixin.js b/ant-design-vue-jeecg/src/mixins/JEditableTableMixin.js deleted file mode 100644 index fa178278..00000000 --- a/ant-design-vue-jeecg/src/mixins/JEditableTableMixin.js +++ /dev/null @@ -1,183 +0,0 @@ -import JEditableTable from '@/components/jeecg/JEditableTable' -import { VALIDATE_NO_PASSED, getRefPromise, validateFormAndTables } from '@/utils/JEditableTableUtil' -import { httpAction, getAction } from '@/api/manage' - -export const JEditableTableMixin = { - components: { - JEditableTable - }, - data() { - return { - title: '操作', - visible: false, - form: this.$form.createForm(this), - confirmLoading: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 6 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 18 } - } - } - }, - methods: { - - /** 获取所有的editableTable实例 */ - getAllTable() { - if (!(this.refKeys instanceof Array)) { - throw this.throwNotArray('refKeys') - } - let values = this.refKeys.map(key => getRefPromise(this, key)) - return Promise.all(values) - }, - - /** 遍历所有的JEditableTable实例 */ - eachAllTable(callback) { - // 开始遍历 - this.getAllTable().then(tables => { - tables.forEach((item, index) => { - if (typeof callback === 'function') { - callback(item, index) - } - }) - }) - }, - - /** 当点击新增按钮时调用此方法 */ - add() { - //update-begin-author:lvdandan date:20201113 for:LOWCOD-1049 JEditaTable,子表默认添加一条数据,addDefaultRowNum设置无效 #1930 - return new Promise((resolve) => { - this.tableReset(); - resolve(); - }).then(() => { - if (typeof this.addBefore === 'function') this.addBefore() - // 默认新增空数据 - let rowNum = this.addDefaultRowNum - if (typeof rowNum !== 'number') { - rowNum = 1 - console.warn('由于你没有在 data 中定义 addDefaultRowNum 或 addDefaultRowNum 不是数字,所以默认添加一条空数据,如果不想默认添加空数据,请将定义 addDefaultRowNum 为 0') - } - this.eachAllTable((item) => { - item.add(rowNum) - }) - if (typeof this.addAfter === 'function') this.addAfter(this.model) - this.edit({}) - }) - //update-end-author:lvdandan date:20201113 for:LOWCOD-1049 JEditaTable,子表默认添加一条数据,addDefaultRowNum设置无效 #1930 - }, - /** 当点击了编辑(修改)按钮时调用此方法 */ - edit(record) { - if(record && '{}'!=JSON.stringify(record)){ - this.tableReset(); - } - if (typeof this.editBefore === 'function') this.editBefore(record) - this.visible = true - this.activeKey = this.refKeys[0] - this.form.resetFields() - this.model = Object.assign({}, record) - if (typeof this.editAfter === 'function') this.editAfter(this.model) - }, - /** 关闭弹窗,并将所有JEditableTable实例回归到初始状态 */ - close() { - this.visible = false - this.$emit('close') - }, - //清空子表table的数据 - tableReset(){ - this.eachAllTable((item) => { - item.clearRow() - }) - }, - /** 查询某个tab的数据 */ - requestSubTableData(url, params, tab, success) { - tab.loading = true - getAction(url, params).then(res => { - let { result } = res - let dataSource = [] - if (result) { - if (Array.isArray(result)) { - dataSource = result - } else if (Array.isArray(result.records)) { - dataSource = result.records - } - } - tab.dataSource = dataSource - typeof success === 'function' ? success(res) : '' - }).finally(() => { - tab.loading = false - }) - }, - /** 发起请求,自动判断是执行新增还是修改操作 */ - request(formData) { - let url = this.url.add, method = 'post' - if (this.model.id) { - url = this.url.edit - method = 'put' - } - this.confirmLoading = true - httpAction(url, formData, method).then((res) => { - if (res.success) { - this.$message.success(res.message) - this.$emit('ok') - this.close() - } else { - this.$message.warning(res.message) - } - }).finally(() => { - this.confirmLoading = false - }) - }, - - /* --- handle 事件 --- */ - - /** ATab 选项卡切换事件 */ - handleChangeTabs(key) { - // 自动重置scrollTop状态,防止出现白屏 - getRefPromise(this, key).then(editableTable => { - editableTable.resetScrollTop() - }) - }, - /** 关闭按钮点击事件 */ - handleCancel() { - this.close() - }, - /** 确定按钮点击事件 */ - handleOk() { - /** 触发表单验证 */ - this.getAllTable().then(tables => { - /** 一次性验证主表和所有的次表 */ - return validateFormAndTables(this.form, tables) - }).then(allValues => { - if (typeof this.classifyIntoFormData !== 'function') { - throw this.throwNotFunction('classifyIntoFormData') - } - let formData = this.classifyIntoFormData(allValues) - // 发起请求 - return this.request(formData) - }).catch(e => { - if (e.error === VALIDATE_NO_PASSED) { - // 如果有未通过表单验证的子表,就自动跳转到它所在的tab - this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index] - } else { - console.error(e) - } - }) - }, - - /* --- throw --- */ - - /** not a function */ - throwNotFunction(name) { - return `${name} 未定义或不是一个函数` - }, - - /** not a array */ - throwNotArray(name) { - return `${name} 未定义或不是一个数组` - } - - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/mixins/JEditableTableModelMixin.js b/ant-design-vue-jeecg/src/mixins/JEditableTableModelMixin.js deleted file mode 100644 index 2bad82d3..00000000 --- a/ant-design-vue-jeecg/src/mixins/JEditableTableModelMixin.js +++ /dev/null @@ -1,191 +0,0 @@ -import JEditableTable from '@/components/jeecg/JEditableTable' -import { VALIDATE_NO_PASSED, getRefPromise,validateFormModelAndTables} from '@/utils/JEditableTableUtil' -import { httpAction, getAction } from '@/api/manage' - -export const JEditableTableModelMixin = { - components: { - JEditableTable - }, - data() { - return { - title: '操作', - visible: false, - confirmLoading: false, - model:{}, - labelCol: { - xs: { span: 24 }, - sm: { span: 6 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 18 } - } - } - }, - methods: { - - /** 获取所有的editableTable实例 */ - getAllTable() { - if (!(this.refKeys instanceof Array)) { - throw this.throwNotArray('refKeys') - } - let values = this.refKeys.map(key => getRefPromise(this, key)) - return Promise.all(values) - }, - - /** 遍历所有的JEditableTable实例 */ - eachAllTable(callback) { - // 开始遍历 - this.getAllTable().then(tables => { - tables.forEach((item, index) => { - if (typeof callback === 'function') { - callback(item, index) - } - }) - }) - }, - /** 当点击新增按钮时调用此方法 */ - add() { - //update-begin-author:lvdandan date:20201113 for:LOWCOD-1049 JEditaTable,子表默认添加一条数据,addDefaultRowNum设置无效 #1930 - return new Promise((resolve) => { - this.tableReset(); - resolve(); - }).then(() => { - if (typeof this.addBefore === 'function') this.addBefore() - // 默认新增空数据 - let rowNum = this.addDefaultRowNum - if (typeof rowNum !== 'number') { - rowNum = 1 - console.warn('由于你没有在 data 中定义 addDefaultRowNum 或 addDefaultRowNum 不是数字,所以默认添加一条空数据,如果不想默认添加空数据,请将定义 addDefaultRowNum 为 0') - } - this.eachAllTable((item) => { - item.add(rowNum) - }) - if (typeof this.addAfter === 'function') this.addAfter(this.model) - this.edit(this.model) - }) - //update-end-author:lvdandan date:20201113 for:LOWCOD-1049 JEditaTable,子表默认添加一条数据,addDefaultRowNum设置无效 #1930 - }, - /** 当点击了编辑(修改)按钮时调用此方法 */ - edit(record) { - if(record && '{}'!=JSON.stringify(record)&&record.id){ - this.tableReset(); - } - if (typeof this.editBefore === 'function') this.editBefore(record) - this.visible = true - this.activeKey = this.refKeys[0] - this.$refs.form.resetFields() - this.model = Object.assign({}, record) - if (typeof this.editAfter === 'function') this.editAfter(this.model) - }, - /** 关闭弹窗,并将所有JEditableTable实例回归到初始状态 */ - close() { - this.visible = false - this.$emit('close') - }, - //清空子表table的数据 - tableReset(){ - this.eachAllTable((item) => { - item.clearRow() - }) - }, - /** 查询某个tab的数据 */ - requestSubTableData(url, params, tab, success) { - tab.loading = true - getAction(url, params).then(res => { - let { result } = res - let dataSource = [] - if (result) { - if (Array.isArray(result)) { - dataSource = result - } else if (Array.isArray(result.records)) { - dataSource = result.records - } - } - tab.dataSource = dataSource - typeof success === 'function' ? success(res) : '' - }).finally(() => { - tab.loading = false - }) - }, - /** 发起请求,自动判断是执行新增还是修改操作 */ - request(formData) { - let url = this.url.add, method = 'post' - if (this.model.id) { - url = this.url.edit - method = 'put' - } - this.confirmLoading = true - httpAction(url, formData, method).then((res) => { - if (res.success) { - this.$message.success(res.message) - this.$emit('ok') - this.close() - } else { - this.$message.warning(res.message) - } - }).finally(() => { - this.confirmLoading = false - }) - }, - - /* --- handle 事件 --- */ - - /** ATab 选项卡切换事件 */ - handleChangeTabs(key) { - // 自动重置scrollTop状态,防止出现白屏 - getRefPromise(this, key).then(editableTable => { - editableTable.resetScrollTop() - }) - }, - /** 关闭按钮点击事件 */ - handleCancel() { - this.close() - }, - /** 确定按钮点击事件 */ - handleOk() { - /** 触发表单验证 */ - this.getAllTable().then(tables => { - /** 一次性验证主表和所有的次表 */ - return validateFormModelAndTables(this.$refs.form,this.model, tables) - }).then(allValues => { - /** 一次性验证一对一的所有子表 */ - return this.validateSubForm(allValues) - }).then(allValues => { - if (typeof this.classifyIntoFormData !== 'function') { - throw this.throwNotFunction('classifyIntoFormData') - } - let formData = this.classifyIntoFormData(allValues) - // 发起请求 - return this.request(formData) - }).catch(e => { - if (e.error === VALIDATE_NO_PASSED) { - // 如果有未通过表单验证的子表,就自动跳转到它所在的tab - //update--begin--autor:liusq-----date:20210316------for:未通过表单验证跳转tab问题------ - this.activeKey = e.index == null ? this.activeKey : (e.paneKey?e.paneKey:this.refKeys[e.index]) - //update--end--autor:liusq-----date:20210316------for:未通过表单验证跳转tab问题------ - } else { - console.error(e) - } - }) - }, - //校验所有子表表单 - validateSubForm(allValues){ - return new Promise((resolve) => { - resolve(allValues) - }) - }, - /* --- throw --- */ - - /** not a function */ - throwNotFunction(name) { - return `${name} 未定义或不是一个函数` - }, - - /** not a array */ - throwNotArray(name) { - return `${name} 未定义或不是一个数组` - } - - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/mixins/JVxeTableMixin.js b/ant-design-vue-jeecg/src/mixins/JVxeTableMixin.js deleted file mode 100644 index 3d2bc31a..00000000 --- a/ant-design-vue-jeecg/src/mixins/JVxeTableMixin.js +++ /dev/null @@ -1,173 +0,0 @@ -import { VALIDATE_FAILED, getRefPromise, validateFormAndTables} from '@/components/jeecg/JVxeTable/utils/vxeUtils.js' -import { httpAction, getAction } from '@/api/manage' - -export const JVxeTableMixin = { - data() { - return { - title: '操作', - visible: false, - form: this.$form.createForm(this), - confirmLoading: false, - scrolling: true, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 6 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 18 } - } - } - }, - methods: { - - /** 获取所有的JVxeTable实例 */ - getAllTable() { - if (!(this.refKeys instanceof Array)) { - throw this.throwNotArray('refKeys') - } - let values = this.refKeys.map(key => getRefPromise(this, key)) - return Promise.all(values) - }, - - /** 遍历所有的JVxeTable实例 */ - eachAllTable(callback) { - // 开始遍历 - this.getAllTable().then(tables => { - tables.forEach((item, index) => { - if (typeof callback === 'function') { - callback(item, index) - } - }) - }) - }, - - /** 当点击新增按钮时调用此方法 */ - add() { - if (typeof this.addBefore === 'function') this.addBefore() - // 默认新增空数据 - let rowNum = this.addDefaultRowNum - if (typeof rowNum !== 'number') { - rowNum = 1 - console.warn('由于你没有在 data 中定义 addDefaultRowNum 或 addDefaultRowNum 不是数字,所以默认添加一条空数据,如果不想默认添加空数据,请将定义 addDefaultRowNum 为 0') - } - //update-begin-author:taoyan date:20210315 for: 一对多jvex 默认几行不好使了 LOWCOD-1349 - this.eachAllTable((item) => { - setTimeout(()=>{ - item.addRows() - }, 30) - }) - //update-end-author:taoyan date:20210315 for: 一对多jvex 默认几行不好使了 LOWCOD-1349 - if (typeof this.addAfter === 'function') this.addAfter(this.model) - this.edit({}) - }, - /** 当点击了编辑(修改)按钮时调用此方法 */ - edit(record) { - if (typeof this.editBefore === 'function') this.editBefore(record) - this.visible = true - this.activeKey = this.refKeys[0] - this.form.resetFields() - this.model = Object.assign({}, record) - if (typeof this.editAfter === 'function') this.editAfter(this.model) - }, - /** 关闭弹窗,并将所有JVxeTable实例回归到初始状态 */ - close() { - this.visible = false - this.eachAllTable((item) => { - item._remove() - }) - this.$emit('close') - }, - - /** 查询某个tab的数据 */ - requestSubTableData(url, params, tab, success) { - tab.loading = true - getAction(url, params).then(res => { - let { result } = res - let dataSource = [] - if (result) { - if (Array.isArray(result)) { - dataSource = result - } else if (Array.isArray(result.records)) { - dataSource = result.records - } - } - tab.dataSource = dataSource - typeof success === 'function' ? success(res) : '' - }).finally(() => { - tab.loading = false - }) - }, - /** 发起请求,自动判断是执行新增还是修改操作 */ - request(formData) { - let url = this.url.add, method = 'post' - if (this.model.id) { - url = this.url.edit - method = 'put' - } - this.confirmLoading = true - console.log("formData===>",formData); - httpAction(url, formData, method).then((res) => { - if (res.success) { - this.$message.success(res.message) - this.$emit('ok') - this.close() - } else { - this.$message.warning(res.message) - } - }).finally(() => { - this.confirmLoading = false - }) - }, - - /* --- handle 事件 --- */ - - /** ATab 选项卡切换事件 */ - handleChangeTabs(key) { - // 自动重置scrollTop状态,防止出现白屏 - getRefPromise(this, key).then(vxeTable => { - vxeTable.resetScrollTop() - }) - }, - /** 关闭按钮点击事件 */ - handleCancel() { - this.close() - }, - /** 确定按钮点击事件 */ - handleOk() { - /** 触发表单验证 */ - this.getAllTable().then(tables => { - /** 一次性验证主表和所有的次表 */ - return validateFormAndTables(this.form, tables) - }).then(allValues => { - if (typeof this.classifyIntoFormData !== 'function') { - throw this.throwNotFunction('classifyIntoFormData') - } - let formData = this.classifyIntoFormData(allValues) - // 发起请求 - return this.request(formData) - }).catch(e => { - if (e.error === VALIDATE_NO_PASSED) { - // 如果有未通过表单验证的子表,就自动跳转到它所在的tab - this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index] - } else { - console.error(e) - } - }) - }, - - /* --- throw --- */ - - /** not a function */ - throwNotFunction(name) { - return `${name} 未定义或不是一个函数` - }, - - /** not a array */ - throwNotArray(name) { - return `${name} 未定义或不是一个数组` - } - - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/mixins/JVxeTableModelMixin.js b/ant-design-vue-jeecg/src/mixins/JVxeTableModelMixin.js deleted file mode 100644 index 606eaa5c..00000000 --- a/ant-design-vue-jeecg/src/mixins/JVxeTableModelMixin.js +++ /dev/null @@ -1,181 +0,0 @@ -import { VALIDATE_FAILED, getRefPromise, validateFormAndTables,validateFormModelAndTables} from '@/components/jeecg/JVxeTable/utils/vxeUtils.js' -import { httpAction, getAction } from '@/api/manage' - -export const JVxeTableModelMixin = { - data() { - return { - title: '操作', - visible: false, - confirmLoading: false, - scrolling: true, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 6 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 18 } - } - } - }, - methods: { - - /** 获取所有的JVxeTable实例 */ - getAllTable() { - if (!(this.refKeys instanceof Array)) { - throw this.throwNotArray('refKeys') - } - let values = this.refKeys.map(key => getRefPromise(this, key)) - return Promise.all(values) - }, - - /** 遍历所有的JVxeTable实例 */ - eachAllTable(callback) { - // 开始遍历 - this.getAllTable().then(tables => { - console.log("tables",tables) - tables.forEach((item, index) => { - if (typeof callback === 'function') { - callback(item, index) - } - }) - }) - }, - - /** 当点击新增按钮时调用此方法 */ - add() { - if (typeof this.addBefore === 'function') this.addBefore() - // 默认新增空数据 - let rowNum = this.addDefaultRowNum - if (typeof rowNum !== 'number') { - rowNum = 1 - console.warn('由于你没有在 data 中定义 addDefaultRowNum 或 addDefaultRowNum 不是数字,所以默认添加一条空数据,如果不想默认添加空数据,请将定义 addDefaultRowNum 为 0') - } - this.eachAllTable((item) => { - //update-begin-author:taoyan date:20210315 for: 一对多jvex 默认几行不好使了 LOWCOD-1349 - setTimeout(()=>{ - item.addRows() - }, 30) - //update-end-author:taoyan date:20210315 for: 一对多jvex 默认几行不好使了 LOWCOD-1349 - }) - if (typeof this.addAfter === 'function') this.addAfter(this.model) - this.edit(this.model) - }, - /** 当点击了编辑(修改)按钮时调用此方法 */ - edit(record) { - if (typeof this.editBefore === 'function') this.editBefore(record) - this.visible = true - this.activeKey = this.refKeys[0] - this.$refs.form.resetFields() - this.model = Object.assign({}, record) - if (typeof this.editAfter === 'function') this.editAfter(this.model) - }, - /** 关闭弹窗,并将所有JVxeTable实例回归到初始状态 */ - close() { - this.visible = false - this.eachAllTable((item) => { - item._remove() - }) - this.$emit('close') - }, - - /** 查询某个tab的数据 */ - requestSubTableData(url, params, tab, success) { - tab.loading = true - getAction(url, params).then(res => { - let { result } = res - let dataSource = [] - if (result) { - if (Array.isArray(result)) { - dataSource = result - } else if (Array.isArray(result.records)) { - dataSource = result.records - } - } - tab.dataSource = dataSource - typeof success === 'function' ? success(res) : '' - }).finally(() => { - tab.loading = false - }) - }, - /** 发起请求,自动判断是执行新增还是修改操作 */ - request(formData) { - let url = this.url.add, method = 'post' - if (this.model.id) { - url = this.url.edit - method = 'put' - } - this.confirmLoading = true - console.log("formData===>",formData); - httpAction(url, formData, method).then((res) => { - if (res.success) { - this.$message.success(res.message) - this.$emit('ok') - this.close() - } else { - this.$message.warning(res.message) - } - }).finally(() => { - this.confirmLoading = false - }) - }, - - /* --- handle 事件 --- */ - - /** ATab 选项卡切换事件 */ - handleChangeTabs(key) { - // 自动重置scrollTop状态,防止出现白屏 - getRefPromise(this, key).then(vxeTable => { - vxeTable.resetScrollTop() - }) - }, - /** 关闭按钮点击事件 */ - handleCancel() { - this.close() - }, - /** 确定按钮点击事件 */ - handleOk() { - /** 触发表单验证 */ - this.getAllTable().then(tables => { - /** 一次性验证主表和所有的次表 */ - return validateFormModelAndTables(this.$refs.form,this.model, tables) - }).then(allValues => { - /** 一次性验证一对一的所有子表 */ - return this.validateSubForm(allValues) - }).then(allValues => { - if (typeof this.classifyIntoFormData !== 'function') { - throw this.throwNotFunction('classifyIntoFormData') - } - let formData = this.classifyIntoFormData(allValues) - // 发起请求 - return this.request(formData) - }).catch(e => { - if (e.error === VALIDATE_FAILED) { - // 如果有未通过表单验证的子表,就自动跳转到它所在的tab - this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index] - } else { - console.error(e) - } - }) - }, -//校验所有子表表单 - validateSubForm(allValues){ - return new Promise((resolve) => { - resolve(allValues) - }) - }, - /* --- throw --- */ - - /** not a function */ - throwNotFunction(name) { - return `${name} 未定义或不是一个函数` - }, - - /** not a array */ - throwNotArray(name) { - return `${name} 未定义或不是一个数组` - } - - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/mixins/JeecgListMixin.js b/ant-design-vue-jeecg/src/mixins/JeecgListMixin.js deleted file mode 100644 index 2a09ddf2..00000000 --- a/ant-design-vue-jeecg/src/mixins/JeecgListMixin.js +++ /dev/null @@ -1,374 +0,0 @@ -/** - * 新增修改完成调用 modalFormOk方法 编辑弹框组件ref定义为modalForm - * 高级查询按钮调用 superQuery方法 高级查询组件ref定义为superQueryModal - * data中url定义 list为查询列表 delete为删除单条记录 deleteBatch为批量删除 - */ -import { filterObj } from '@/utils/util'; -import { deleteAction, getAction,downFile,getFileAccessHttpUrl } from '@/api/manage' -import Vue from 'vue' -import { ACCESS_TOKEN, TENANT_ID } from "@/store/mutation-types" -import store from '@/store' - -export const JeecgListMixin = { - data(){ - return { - /* 查询条件-请不要在queryParam中声明非字符串值的属性 */ - queryParam: {}, - /* 数据源 */ - dataSource:[], - /* 分页参数 */ - ipagination:{ - current: 1, - pageSize: 10, - pageSizeOptions: ['10', '20', '30'], - showTotal: (total, range) => { - return range[0] + "-" + range[1] + " 共" + total + "条" - }, - showQuickJumper: true, - showSizeChanger: true, - total: 0 - }, - /* 排序参数 */ - isorter:{ - column: 'createTime', - order: 'desc', - }, - /* 筛选参数 */ - filters: {}, - /* table加载状态 */ - loading:false, - /* table选中keys*/ - selectedRowKeys: [], - /* table选中records*/ - selectionRows: [], - /* 查询折叠 */ - toggleSearchStatus:false, - /* 高级查询条件生效状态 */ - superQueryFlag:false, - /* 高级查询条件 */ - superQueryParams: '', - /** 高级查询拼接方式 */ - superQueryMatchType: 'and', - } - }, - created() { - if(!this.disableMixinCreated){ - console.log(' -- mixin created -- ') - this.loadData(); - //初始化字典配置 在自己页面定义 - this.initDictConfig(); - } - }, - computed: { - //token header - tokenHeader(){ - let head = {'X-Access-Token': Vue.ls.get(ACCESS_TOKEN)} - let tenantid = Vue.ls.get(TENANT_ID) - if(tenantid){ - head['tenant-id'] = tenantid - } - return head; - } - }, - methods:{ - loadData(arg) { - if(!this.url.list){ - this.$message.error("请设置url.list属性!") - return - } - //加载数据 若传入参数1则加载第一页的内容 - if (arg === 1) { - this.ipagination.current = 1; - } - var params = this.getQueryParams();//查询条件 - this.loading = true; - getAction(this.url.list, params).then((res) => { - if (res.success) { - //update-begin---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------ - this.dataSource = res.result.records||res.result; - if(res.result.total) - { - this.ipagination.total = res.result.total; - }else{ - this.ipagination.total = 0; - } - //update-end---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------ - }else{ - this.$message.warning(res.message) - } - }).finally(() => { - this.loading = false - }) - }, - initDictConfig(){ - console.log("--这是一个假的方法!") - }, - handleSuperQuery(params, matchType) { - //高级查询方法 - if(!params){ - this.superQueryParams='' - this.superQueryFlag = false - }else{ - this.superQueryFlag = true - this.superQueryParams=JSON.stringify(params) - this.superQueryMatchType = matchType - } - this.loadData(1) - }, - getQueryParams() { - //获取查询条件 - let sqp = {} - if(this.superQueryParams){ - sqp['superQueryParams']=encodeURI(this.superQueryParams) - sqp['superQueryMatchType'] = this.superQueryMatchType - } - var param = Object.assign(sqp, this.queryParam, this.isorter ,this.filters); - param.field = this.getQueryField(); - param.pageNo = this.ipagination.current; - param.pageSize = this.ipagination.pageSize; - return filterObj(param); - }, - getQueryField() { - //TODO 字段权限控制 - var str = "id,"; - this.columns.forEach(function (value) { - str += "," + value.dataIndex; - }); - return str; - }, - - onSelectChange(selectedRowKeys, selectionRows) { - this.selectedRowKeys = selectedRowKeys; - this.selectionRows = selectionRows; - }, - onClearSelected() { - this.selectedRowKeys = []; - this.selectionRows = []; - }, - searchQuery() { - this.loadData(1); - // 点击查询清空列表选中行 - // https://gitee.com/jeecg/jeecg-boot/issues/I4KTU1 - this.selectedRowKeys = [] - this.selectionRows = [] - }, - superQuery() { - this.$refs.superQueryModal.show(); - }, - searchReset() { - this.queryParam = {} - this.loadData(1); - }, - batchDel: function () { - if(!this.url.deleteBatch){ - this.$message.error("请设置url.deleteBatch属性!") - return - } - if (this.selectedRowKeys.length <= 0) { - this.$message.warning('请选择一条记录!'); - return; - } else { - var ids = ""; - for (var a = 0; a < this.selectedRowKeys.length; a++) { - ids += this.selectedRowKeys[a] + ","; - } - var that = this; - this.$confirm({ - title: "确认删除", - content: "是否删除选中数据?", - onOk: function () { - that.loading = true; - deleteAction(that.url.deleteBatch, {ids: ids}).then((res) => { - if (res.success) { - //重新计算分页问题 - that.reCalculatePage(that.selectedRowKeys.length) - that.$message.success(res.message); - that.loadData(); - that.onClearSelected(); - } else { - that.$message.warning(res.message); - } - }).finally(() => { - that.loading = false; - }); - } - }); - } - }, - handleDelete: function (id) { - if(!this.url.delete){ - this.$message.error("请设置url.delete属性!") - return - } - var that = this; - deleteAction(that.url.delete, {id: id}).then((res) => { - if (res.success) { - //重新计算分页问题 - that.reCalculatePage(1) - that.$message.success(res.message); - that.loadData(); - } else { - that.$message.warning(res.message); - } - }); - }, - reCalculatePage(count){ - //总数量-count - let total=this.ipagination.total-count; - //获取删除后的分页数 - let currentIndex=Math.ceil(total/this.ipagination.pageSize); - //删除后的分页数<所在当前页 - if(currentIndex 0) { - this.isorter.column = sorter.field; - this.isorter.order = "ascend" == sorter.order ? "asc" : "desc" - } - this.ipagination = pagination; - this.loadData(); - }, - handleToggleSearch(){ - this.toggleSearchStatus = !this.toggleSearchStatus; - }, - // 给popup查询使用(查询区域不支持回填多个字段,限制只返回一个字段) - getPopupField(fields){ - return fields.split(',')[0] - }, - modalFormOk() { - // 新增/修改 成功时,重载列表 - this.loadData(); - //清空列表选中 - this.onClearSelected() - }, - handleDetail:function(record){ - this.$refs.modalForm.edit(record); - this.$refs.modalForm.title="详情"; - this.$refs.modalForm.disableSubmit = true; - }, - /* 导出 */ - handleExportXls2(){ - let paramsStr = encodeURI(JSON.stringify(this.getQueryParams())); - let url = `${window._CONFIG['domianURL']}/${this.url.exportXlsUrl}?paramsStr=${paramsStr}`; - window.location.href = url; - }, - handleExportXls(fileName){ - if(!fileName || typeof fileName != "string"){ - fileName = "导出文件" - } - let param = this.getQueryParams(); - if(this.selectedRowKeys && this.selectedRowKeys.length>0){ - param['selections'] = this.selectedRowKeys.join(",") - } - console.log("导出参数",param) - downFile(this.url.exportXlsUrl,param).then((data)=>{ - if (!data) { - this.$message.warning("文件下载失败") - return - } - if (typeof window.navigator.msSaveBlob !== 'undefined') { - window.navigator.msSaveBlob(new Blob([data],{type: 'application/vnd.ms-excel'}), fileName+'.xls') - }else{ - let url = window.URL.createObjectURL(new Blob([data],{type: 'application/vnd.ms-excel'})) - let link = document.createElement('a') - link.style.display = 'none' - link.href = url - link.setAttribute('download', fileName+'.xls') - document.body.appendChild(link) - link.click() - document.body.removeChild(link); //下载完成移除元素 - window.URL.revokeObjectURL(url); //释放掉blob对象 - } - }) - }, - /* 导入 */ - handleImportExcel(info){ - this.loading = true; - if (info.file.status !== 'uploading') { - console.log(info.file, info.fileList); - } - if (info.file.status === 'done') { - this.loading = false; - if (info.file.response.success) { - // this.$message.success(`${info.file.name} 文件上传成功`); - if (info.file.response.code === 201) { - let { message, result: { msg, fileUrl, fileName } } = info.file.response - let href = window._CONFIG['domianURL'] + fileUrl - this.$warning({ - title: message, - content: ( - ) - }) - } else { - this.$message.success(info.file.response.message || `${info.file.name} 文件上传成功`) - } - this.loadData() - } else { - this.$message.error(`${info.file.name} ${info.file.response.message}.`); - } - } else if (info.file.status === 'error') { - this.loading = false; - if (info.file.response.status === 500) { - let data = info.file.response - const token = Vue.ls.get(ACCESS_TOKEN) - if (token && data.message.includes("Token失效")) { - this.$error({ - title: '登录已过期', - content: '很抱歉,登录已过期,请重新登录', - okText: '重新登录', - mask: false, - onOk: () => { - store.dispatch('Logout').then(() => { - Vue.ls.remove(ACCESS_TOKEN) - window.location.reload(); - }) - } - }) - } - } else { - this.$message.error(`文件上传失败: ${info.file.msg} `); - } - } - }, - /* 图片预览 */ - getImgView(text){ - if(text && text.indexOf(",")>0){ - text = text.substring(0,text.indexOf(",")) - } - return getFileAccessHttpUrl(text) - }, - /* 文件下载 */ - // update--autor:lvdandan-----date:20200630------for:修改下载文件方法名uploadFile改为downloadFile------ - downloadFile(text){ - if(!text){ - this.$message.warning("未知的文件") - return; - } - if(text.indexOf(",")>0){ - text = text.substring(0,text.indexOf(",")) - } - let url = getFileAccessHttpUrl(text) - window.open(url); - }, - } - -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/mixins/OnlineCommonUtil.js b/ant-design-vue-jeecg/src/mixins/OnlineCommonUtil.js deleted file mode 100644 index b48220a9..00000000 --- a/ant-design-vue-jeecg/src/mixins/OnlineCommonUtil.js +++ /dev/null @@ -1,28 +0,0 @@ -import { formatDate } from '@/utils/util' -import Area from '@/components/_util/Area' -import { postAction } from '@/api/manage' - -const onlUtil = { - data(){ - return { - mixin_pca:'', - flowCodePre: 'onl_' - } - }, - created(){ - this.mixin_pca = new Area() - }, - methods:{ - simpleDateFormat(millisecond, format){ - return formatDate(millisecond, format) - }, - getPcaText(code){ - return this.mixin_pca.getText(code); - }, - getPcaCode(text){ - return this.mixin_pca.getCode(text) - } - } -} - -export { onlUtil } \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/mixins/WebsocketMixin.js b/ant-design-vue-jeecg/src/mixins/WebsocketMixin.js deleted file mode 100644 index 6585f1de..00000000 --- a/ant-design-vue-jeecg/src/mixins/WebsocketMixin.js +++ /dev/null @@ -1,65 +0,0 @@ -import store from '@/store/' -import { ACCESS_TOKEN } from '@/store/mutation-types' -import Vue from 'vue' - -export const WebsocketMixin = { - mounted() { - this.initWebSocket(); - }, - destroyed: function () { - // 离开页面生命周期函数 - this.websocketOnclose(); - }, - methods:{ - initWebSocket: function () { - let token = Vue.ls.get(ACCESS_TOKEN) - console.log("------------WebSocket连接成功"); - // WebSocket与普通的请求所用协议有所不同,ws等同于http,wss等同于https - var userId = store.getters.userInfo.id; - if(!this.socketUrl.startsWith('/')){ - this.socketUrl = '/' + this.socketUrl - } - if(!this.socketUrl.endsWith('/')){ - this.socketUrl = this.socketUrl + '/' - } - var url = window._CONFIG['domianURL'].replace("https://","wss://").replace("http://","ws://") + this.socketUrl + userId + "/" + token; - //update-begin-author:taoyan date:2022-4-22 for: v2.4.6 的 websocket 服务端,存在性能和安全问题。 #3278 - this.websock = new WebSocket(url, [token]); - //update-end-author:taoyan date:2022-4-22 for: v2.4.6 的 websocket 服务端,存在性能和安全问题。 #3278 - this.websock.onopen = this.websocketOnopen; - this.websock.onerror = this.websocketOnerror; - this.websock.onmessage = this.websocketOnmessage; - this.websock.onclose = this.websocketOnclose; - }, - websocketOnopen: function () { - console.log("WebSocket连接成功"); - }, - websocketOnerror: function (e) { - console.log("WebSocket连接发生错误"); - this.reconnect(); - }, - websocketOnclose: function (e) { - this.reconnect(); - }, - websocketSend(text) { - // 数据发送 - try { - this.websock.send(text); - } catch (err) { - console.log("send failed (" + err.code + ")"); - } - }, - reconnect() { - var that = this; - if(that.lockReconnect) return; - that.lockReconnect = true; - //没连接上会一直重连,设置延迟避免请求过多 - setTimeout(function () { - console.info("尝试重连..."); - that.initWebSocket(); - that.lockReconnect = false; - }, 5000); - }, - } - -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/permission.js b/ant-design-vue-jeecg/src/permission.js deleted file mode 100644 index 4429d2ae..00000000 --- a/ant-design-vue-jeecg/src/permission.js +++ /dev/null @@ -1,82 +0,0 @@ -import Vue from 'vue' -import router from './router' -import store from './store' -import NProgress from 'nprogress' // progress bar -import 'nprogress/nprogress.css' // progress bar style -import notification from 'ant-design-vue/es/notification' -import { ACCESS_TOKEN,INDEX_MAIN_PAGE_PATH, OAUTH2_LOGIN_PAGE_PATH } from '@/store/mutation-types' -import { generateIndexRouter, isOAuth2AppEnv } from '@/utils/util' - -NProgress.configure({ showSpinner: false }) // NProgress Configuration - -const whiteList = ['/user/login', '/user/register', '/user/register-result','/user/alteration'] // no redirect whitelist -whiteList.push(OAUTH2_LOGIN_PAGE_PATH) - -router.beforeEach((to, from, next) => { - NProgress.start() // start progress bar - - if (Vue.ls.get(ACCESS_TOKEN)) { - /* has token */ - if (to.path === '/user/login' || to.path === OAUTH2_LOGIN_PAGE_PATH) { - next({ path: INDEX_MAIN_PAGE_PATH }) - NProgress.done() - } else { - if (store.getters.permissionList.length === 0) { - store.dispatch('GetPermissionList').then(res => { - const menuData = res.result.menu; - //console.log(res.message) - if (menuData === null || menuData === "" || menuData === undefined) { - return; - } - let constRoutes = []; - constRoutes = generateIndexRouter(menuData); - // 添加主界面路由 - store.dispatch('UpdateAppRouter', { constRoutes }).then(() => { - // 根据roles权限生成可访问的路由表 - // 动态添加可访问路由表 - router.addRoutes(store.getters.addRouters) - const redirect = decodeURIComponent(from.query.redirect || to.path) - if (to.path === redirect) { - // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record - next({ ...to, replace: true }) - } else { - // 跳转到目的路由 - next({ path: redirect }) - } - }) - }) - .catch(() => { - /* notification.error({ - message: '系统提示', - description: '请求用户信息失败,请重试!' - })*/ - store.dispatch('Logout').then(() => { - next({ path: '/user/login', query: { redirect: to.fullPath } }) - }) - }) - } else { - next() - } - } - } else { - if (whiteList.indexOf(to.path) !== -1) { - // 在免登录白名单,如果进入的页面是login页面并且当前是OAuth2app环境,就进入OAuth2登录页面 - if (to.path === '/user/login' && isOAuth2AppEnv()) { - next({path: OAUTH2_LOGIN_PAGE_PATH}) - } else { - // 在免登录白名单,直接进入 - next() - } - NProgress.done() - } else { - // 如果当前是在OAuth2APP环境,就跳转到OAuth2登录页面 - let path = isOAuth2AppEnv() ? OAUTH2_LOGIN_PAGE_PATH : '/user/login' - next({ path: path, query: { redirect: to.fullPath } }) - NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it - } - } -}) - -router.afterEach(() => { - NProgress.done() // finish progress bar -}) diff --git a/ant-design-vue-jeecg/src/qiankun/apps.js b/ant-design-vue-jeecg/src/qiankun/apps.js deleted file mode 100644 index 06e3763e..00000000 --- a/ant-design-vue-jeecg/src/qiankun/apps.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - *微应用apps - * @name: 微应用名称 - 具有唯一性 - * @entry: 微应用入口.必选 - 通过该地址加载微应用, - * @container: 微应用挂载节点 - 微应用加载完成后将挂载在该节点上 - * @activeRule: 微应用触发的路由规则 - 触发路由规则后将加载该微应用 - */ -//子应用列表 -const _apps = []; -for (const key in process.env) { - if (key.includes('VUE_APP_SUB_')) { - const name = key.split('VUE_APP_SUB_')[1]; - const obj = { - name, - entry: process.env[key], - container: '#content', - activeRule: name, - }; - _apps.push(obj) - } -} -export const apps = _apps; diff --git a/ant-design-vue-jeecg/src/qiankun/index.js b/ant-design-vue-jeecg/src/qiankun/index.js deleted file mode 100644 index 1b101084..00000000 --- a/ant-design-vue-jeecg/src/qiankun/index.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * qiankun配置 - */ -import {registerMicroApps, setDefaultMountApp, start, runAfterFirstMounted, addGlobalUncaughtErrorHandler} from 'qiankun'; -import {apps} from './apps'; -import {getProps, initGlState} from './state'; -/** - * 重构apps - */ -function filterApps() { - apps.forEach((item) => { - //主应用需要传递给微应用的数据。 - item.props = getProps(); - //微应用触发的路由规则 - item.activeRule = genActiveRule('/' + item.activeRule); - }); - return apps; -} - -/** - * 路由监听 - * @param {*} routerPrefix 前缀 - */ -function genActiveRule(routerPrefix) { - return location => location.pathname.startsWith(routerPrefix); -} - -/** - * 微应用注册 - */ -function registerApps() { - const _apps = filterApps(); - registerMicroApps(_apps, - { - beforeLoad: [ - loadApp => { - console.log('before load', loadApp); - } - ], - beforeMount: [ - mountApp => { - console.log('before mount', mountApp); - } - ], - afterMount: [ - mountApp => { - console.log('before mount', mountApp); - } - ], - afterUnmount: [ - unloadApp => { - console.log('after unload', unloadApp); - } - ] - }); - // 设置默认子应用,与 genActiveRule中的参数保持一致 - // setDefaultMountApp(); - // 第一个微应用 mount 后需要调用的方法,比如开启一些监控或者埋点脚本。 - runAfterFirstMounted(() => console.log('开启监控')); - // 添加全局的未捕获异常处理器。 - addGlobalUncaughtErrorHandler(event => console.log(event)); - // 定义全局状态 - initGlState(); - //启动qiankun - start({}); -} - -export default registerApps; diff --git a/ant-design-vue-jeecg/src/qiankun/state.js b/ant-design-vue-jeecg/src/qiankun/state.js deleted file mode 100644 index 44947d47..00000000 --- a/ant-design-vue-jeecg/src/qiankun/state.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - *公共数据 - */ -import {initGlobalState} from 'qiankun'; -import store from '@/store'; -import router from '@/router'; -import Vue from 'vue'; -import {ACCESS_TOKEN} from "@/store/mutation-types" - -//定义传入子应用的数据 -export function getProps() { - return { - data: { - publicPath: process.env.BASE_URL, - token: Vue.ls.get(ACCESS_TOKEN), - store, - router - } - } -} - -/** - * 定义全局状态,并返回通信方法,在主应用使用,微应用通过 props 获取通信方法。 - * @param state 主应用穿的公共数据 - */ -export function initGlState(info = {userName: 'admin'}) { - // 初始化state - const actions = initGlobalState(info); - // 设置新的值 - actions.setGlobalState(info); - // 注册 观察者 函数 - 响应 globalState 变化,在 globalState 发生改变时触发该 观察者 函数。 - actions.onGlobalStateChange((newState, prev) => { - // state: 变更后的状态; prev 变更前的状态 - console.info("newState", newState) - for (const key in newState) { - console.info("onGlobalStateChange", key) - } - }); - // 将action对象绑到Vue原型上,为了项目中其他地方使用方便 - Vue.prototype.$actions = actions; -} diff --git a/ant-design-vue-jeecg/src/router/README.md b/ant-design-vue-jeecg/src/router/README.md deleted file mode 100644 index 9e82538c..00000000 --- a/ant-design-vue-jeecg/src/router/README.md +++ /dev/null @@ -1,139 +0,0 @@ -路由/菜单说明 -==== - - - -配置文件路径 ----- - -`@/config/router.config.js` - - - -格式和说明 ----- - -```javascript -/** - * 路由配置说明: - * 建议:sider menu 请不要超过三级菜单,若超过三级菜单,则应该设计为顶部主菜单 配合左侧次级菜单 - * - **/ - { - redirect: noredirect, - name: 'router-name', - hidden: true, - meta: { - title: 'title', - icon: 'a-icon', - keepAlive: true, - hiddenHeaderContent: true, - } -} -``` - - - -`{ Route }` 对象 - -| 参数 | 说明 | 类型 | 默认值 | -| -------- | ----------------------------------------- | ------- | ------ | -| hidden | 控制路由是否显示在 sidebar | boolean | falase | -| redirect | 重定向地址, 访问这个路由时,自定进行重定向 | string | - | -| name | 路由名称, 建议设置,且不能重名 | string | - | -| meta | 路由元信息(路由附带扩展信息) | object | {} | - - - -`{ Meta }` 路由元信息对象 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------------- | ------------------------------------------------------------ | ------- | ------ | -| title | 路由标题, 用于显示面包屑, 页面标题 *推荐设置 | string | - | -| icon | 路由在 menu 上显示的图标 | string | - | -| keepAlive | 缓存该路由 | boolean | false | -| hiddenHeaderContent | *特殊 隐藏 [PageHeader](https://github.com/sendya/ant-design-pro-vue/blob/master/src/components/layout/PageHeader.vue#L14) 组件中的页面带的 面包屑和页面标题栏 | boolean | false | -| permission | 与项目提供的权限拦截匹配的权限,如果不匹配,则会被禁止访问该路由页面 | array | [] | - - - -路由例子 ----- - -```ecmascript 6 -const asyncRouterMap = [ - { - path: '/', - name: 'index', - component: BasicLayout, - meta: { title: '首页' }, - redirect: '/dashboard/analysis', - children: [ - { - path: '/dashboard', - component: Layout, - name: 'dashboard', - redirect: '/dashboard/workplace', - meta: {title: '仪表盘', icon: 'dashboard', permission: ['dashboard']}, - children: [ - { - path: '/dashboard/analysis', - name: 'Analysis', - component: () => import('@/views/dashboard/Analysis'), - meta: {title: '分析页', permission: ['dashboard']} - }, - { - path: '/dashboard/monitor', - name: 'Monitor', - hidden: true, - component: () => import('@/views/dashboard/Monitor'), - meta: {title: '监控页', permission: ['dashboard']} - }, - { - path: '/dashboard/workplace', - name: 'Workplace', - component: () => import('@/views/dashboard/Workplace'), - meta: {title: '工作台', permission: ['dashboard']} - } - ] - }, - - // result - { - path: '/result', - name: 'result', - component: PageView, - redirect: '/result/success', - meta: { title: '结果页', icon: 'check-circle-o', permission: [ 'result' ] }, - children: [ - { - path: '/result/success', - name: 'ResultSuccess', - component: () => import(/* webpackChunkName: "result" */ '@/views/result/Success'), - // 该页面隐藏面包屑和页面标题栏 - meta: { title: '成功', hiddenHeaderContent: true, permission: [ 'result' ] } - }, - { - path: '/result/fail', - name: 'ResultFail', - component: () => import(/* webpackChunkName: "result" */ '@/views/result/Error'), - // 该页面隐藏面包屑和页面标题栏 - meta: { title: '失败', hiddenHeaderContent: true, permission: [ 'result' ] } - } - ] - }, - ... - ] - }, -] -``` - -> 1. 请注意 `component: () => import('..') ` 方式引入路由的页面组件为 懒加载模式。具体可以看 [Vue 官方文档](https://router.vuejs.org/zh/guide/advanced/lazy-loading.html) -> 2. 增加新的路由应该增加在 '/' (index) 路由的 `children` 内 -> 3. `permission` 可以进行自定义修改,只需要对这个模块进行自定义修改即可 [src/store/modules/permission.js#L10](https://github.com/sendya/ant-design-pro-vue/blob/master/src/store/modules/permission.js#L10) - - - -附权限路由结构: - -![权限结构](https://static-2.loacg.com/open/static/github/permissions.png) \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/router/index.js b/ant-design-vue-jeecg/src/router/index.js deleted file mode 100644 index bdbe3740..00000000 --- a/ant-design-vue-jeecg/src/router/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import Vue from 'vue' -import Router from 'vue-router' -import { constantRouterMap } from '@/config/router.config' - -Vue.use(Router) - -export default new Router({ - mode: 'history', - base: process.env.BASE_URL, - scrollBehavior: () => ({ y: 0 }), - routes: constantRouterMap -}) \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/store/getters.js b/ant-design-vue-jeecg/src/store/getters.js deleted file mode 100644 index 645e1b47..00000000 --- a/ant-design-vue-jeecg/src/store/getters.js +++ /dev/null @@ -1,24 +0,0 @@ -import Vue from 'vue' -import { USER_INFO, ENHANCE_PRE } from "@/store/mutation-types" -const getters = { - device: state => state.app.device, - theme: state => state.app.theme, - color: state => state.app.color, - token: state => state.user.token, - avatar: state => {state.user.avatar = Vue.ls.get(USER_INFO).avatar; return state.user.avatar}, - username: state => state.user.info.username, - nickname: state => {state.user.info.realname = Vue.ls.get(USER_INFO).realname; return state.user.info.realname}, - welcome: state => state.user.welcome, - permissionList: state => state.user.permissionList, - userInfo: state => {state.user.info = Vue.ls.get(USER_INFO); return state.user.info}, - addRouters: state => state.permission.addRouters, - onlAuthFields: state => {return state.online.authFields }, - enhanceJs:(state) => (code) => { - state.enhance.enhanceJs[code] = Vue.ls.get(ENHANCE_PRE+code); - return state.enhance.enhanceJs[code] - }, - sysSafeMode: state => state.user.sysSafeMode, - -} - -export default getters diff --git a/ant-design-vue-jeecg/src/store/index.js b/ant-design-vue-jeecg/src/store/index.js deleted file mode 100644 index 5936c502..00000000 --- a/ant-design-vue-jeecg/src/store/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import Vue from 'vue' -import Vuex from 'vuex' - -import app from './modules/app' -import user from './modules/user' -import permission from './modules/permission' -import enhance from './modules/enhance' -import online from './modules/online' -import getters from './getters' - -Vue.use(Vuex) - -export default new Vuex.Store({ - modules: { - app, - user, - permission, - enhance, - online, - }, - state: { - - }, - mutations: { - - }, - actions: { - - }, - getters -}) diff --git a/ant-design-vue-jeecg/src/store/modules/app.js b/ant-design-vue-jeecg/src/store/modules/app.js deleted file mode 100644 index e7912e68..00000000 --- a/ant-design-vue-jeecg/src/store/modules/app.js +++ /dev/null @@ -1,126 +0,0 @@ -import Vue from 'vue' -import { - SIDEBAR_TYPE, - DEFAULT_THEME, - DEFAULT_LAYOUT_MODE, - DEFAULT_COLOR, - DEFAULT_COLOR_WEAK, - DEFAULT_FIXED_HEADER, - DEFAULT_FIXED_SIDEMENU, - DEFAULT_FIXED_HEADER_HIDDEN, - DEFAULT_CONTENT_WIDTH_TYPE, - DEFAULT_MULTI_PAGE -} from "@/store/mutation-types" - -const app = { - state: { - sidebar: { - opened: true, - withoutAnimation: false - }, - device: 'desktop', - theme: '', - layout: '', - contentWidth: '', - fixedHeader: false, - fixSiderbar: false, - autoHideHeader: false, - color: null, - weak: false, - multipage: true //默认多页签模式 - }, - mutations: { - SET_SIDEBAR_TYPE: (state, type) => { - state.sidebar.opened = type - Vue.ls.set(SIDEBAR_TYPE, type) - }, - CLOSE_SIDEBAR: (state, withoutAnimation) => { - Vue.ls.set(SIDEBAR_TYPE, true) - state.sidebar.opened = false - state.sidebar.withoutAnimation = withoutAnimation - }, - TOGGLE_DEVICE: (state, device) => { - state.device = device - }, - TOGGLE_THEME: (state, theme) => { - // setStore('_DEFAULT_THEME', theme) - Vue.ls.set(DEFAULT_THEME, theme) - state.theme = theme - }, - TOGGLE_LAYOUT_MODE: (state, layout) => { - Vue.ls.set(DEFAULT_LAYOUT_MODE, layout) - state.layout = layout - }, - TOGGLE_FIXED_HEADER: (state, fixed) => { - Vue.ls.set(DEFAULT_FIXED_HEADER, fixed) - state.fixedHeader = fixed - }, - TOGGLE_FIXED_SIDERBAR: (state, fixed) => { - Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed) - state.fixSiderbar = fixed - }, - TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => { - Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show) - state.autoHideHeader = show - }, - TOGGLE_CONTENT_WIDTH: (state, type) => { - Vue.ls.set(DEFAULT_CONTENT_WIDTH_TYPE, type) - state.contentWidth = type - }, - TOGGLE_COLOR: (state, color) => { - Vue.ls.set(DEFAULT_COLOR, color) - state.color = color - }, - TOGGLE_WEAK: (state, flag) => { - Vue.ls.set(DEFAULT_COLOR_WEAK, flag) - state.weak = flag - }, - SET_MULTI_PAGE (state, multipageFlag) { - Vue.ls.set(DEFAULT_MULTI_PAGE, multipageFlag) - state.multipage = multipageFlag - } - }, - actions: { - setSidebar: ({ commit }, type) => { - commit('SET_SIDEBAR_TYPE', type) - }, - CloseSidebar({ commit }, { withoutAnimation }) { - commit('CLOSE_SIDEBAR', withoutAnimation) - }, - ToggleDevice({ commit }, device) { - commit('TOGGLE_DEVICE', device) - }, - ToggleTheme({ commit }, theme) { - commit('TOGGLE_THEME', theme) - }, - ToggleLayoutMode({ commit }, mode) { - commit('TOGGLE_LAYOUT_MODE', mode) - }, - ToggleFixedHeader({ commit }, fixedHeader) { - if (!fixedHeader) { - commit('TOGGLE_FIXED_HEADER_HIDDEN', false) - } - commit('TOGGLE_FIXED_HEADER', fixedHeader) - }, - ToggleFixSiderbar({ commit }, fixSiderbar) { - commit( 'TOGGLE_FIXED_SIDERBAR', fixSiderbar) - }, - ToggleFixedHeaderHidden({ commit }, show) { - commit('TOGGLE_FIXED_HEADER_HIDDEN', show) - }, - ToggleContentWidth({ commit }, type) { - commit('TOGGLE_CONTENT_WIDTH', type) - }, - ToggleColor({ commit }, color) { - commit('TOGGLE_COLOR', color) - }, - ToggleWeak({ commit }, weakFlag) { - commit('TOGGLE_WEAK', weakFlag) - }, - ToggleMultipage({ commit }, multipageFlag) { - commit('SET_MULTI_PAGE', multipageFlag) - } - } -} - -export default app \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/store/modules/enhance.js b/ant-design-vue-jeecg/src/store/modules/enhance.js deleted file mode 100644 index e7c254d8..00000000 --- a/ant-design-vue-jeecg/src/store/modules/enhance.js +++ /dev/null @@ -1,37 +0,0 @@ -import Vue from 'vue' -const enhance = { - state: { - enhanceJs:{ - - } - }, - mutations: { - ADD_TABLE_ENHANCE: (state, record) => { - if(!state.enhanceJs){ - let obj = {} - let arr = [] - arr.push({...record}) - obj[record.code] = arr - state.enhanceJs = obj - }else{ - if(!state.enhanceJs[record.code]){ - let arr = [] - arr.push({...record}) - state.enhanceJs[record.code] = arr - } - state.enhanceJs[record.code].push({...record}) - } - let arr = state.enhanceJs[record.code] - while(arr.length>16){ - arr.shift() - } - Vue.ls.set('enhance_'+record['code'], arr) - } - }, - actions: { - addEhanceRecord({ commit }, record) { - commit('ADD_TABLE_ENHANCE', record) - } - } -} -export default enhance \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/store/modules/online.js b/ant-design-vue-jeecg/src/store/modules/online.js deleted file mode 100644 index de6b26ff..00000000 --- a/ant-design-vue-jeecg/src/store/modules/online.js +++ /dev/null @@ -1,25 +0,0 @@ -import Vue from 'vue' -import { ONL_AUTH_FIELDS } from "@/store/mutation-types" -import { getAction } from '@/api/manage' - - -const online = { - state: { - //存储对象属性 value,text - authFields: [], - }, - mutations: { - SET_AUTHFIELDS: (state, fields) => { - console.log('fields',fields) - Vue.set(state, 'authFields', fields) - } - }, - actions: { - // TODO 如果没找到可以尝试请求一下 - xxxxxx({ commit }, userInfo) { - } - - } -} - -export default online \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/store/modules/permission.js b/ant-design-vue-jeecg/src/store/modules/permission.js deleted file mode 100644 index 97976c87..00000000 --- a/ant-design-vue-jeecg/src/store/modules/permission.js +++ /dev/null @@ -1,90 +0,0 @@ -import { asyncRouterMap, constantRouterMap } from "@/config/router.config" - -/** - * 过滤账户是否拥有某一个权限,并将菜单从加载列表移除 - * - * @param permission - * @param route - * @returns {boolean} - */ -function hasPermission(permission, route) { - if (route.meta && route.meta.permission) { - let flag = -1 - for (let i = 0, len = permission.length; i < len; i++) { - flag = route.meta.permission.indexOf(permission[i]) - if (flag >= 0) { - return true - } - } - return false - } - return true -} - -/** - * 单账户多角色时,使用该方法可过滤角色不存在的菜单 - * - * @param roles - * @param route - * @returns {*} - */ -// eslint-disable-next-line -function hasRole(roles, route) { - if (route.meta && route.meta.roles) { - return route.meta.roles.indexOf(roles.id) - } else { - return true - } -} - -function filterAsyncRouter(routerMap, roles) { - const accessedRouters = routerMap.filter(route => { - if (hasPermission(roles.permissionList, route)) { - if (route.children && route.children.length) { - route.children = filterAsyncRouter(route.children, roles) - } - return true - } - return false - }) - return accessedRouters -} - - -const permission = { - state: { - routers: constantRouterMap, - addRouters: [] - }, - mutations: { - SET_ROUTERS: (state, data) => { - state.addRouters = data - state.routers = constantRouterMap.concat(data) - //console.log('-----mutations---SET_ROUTERS----', data) - } - }, - actions: { - GenerateRoutes({ commit }, data) { - return new Promise(resolve => { - const { roles } = data - console.log('-----mutations---data----', data) - let accessedRouters - accessedRouters = filterAsyncRouter(asyncRouterMap, roles) - console.log('-----mutations---accessedRouters----', accessedRouters) - commit('SET_ROUTERS', accessedRouters) - resolve() - }) - }, - // 动态添加主界面路由,需要缓存 - UpdateAppRouter({ commit }, routes) { - return new Promise(resolve => { - //const [ roles ] = routes.constRoutes - let routelist = routes.constRoutes; - commit('SET_ROUTERS', routelist) - resolve() - }) - } - } -} - -export default permission \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/store/modules/user.js b/ant-design-vue-jeecg/src/store/modules/user.js deleted file mode 100644 index c2147564..00000000 --- a/ant-design-vue-jeecg/src/store/modules/user.js +++ /dev/null @@ -1,219 +0,0 @@ -import Vue from 'vue' -import { login, logout, phoneLogin, thirdLogin } from "@/api/login" -import { ACCESS_TOKEN, USER_NAME,USER_INFO,USER_AUTH,SYS_BUTTON_AUTH,UI_CACHE_DB_DICT_DATA,TENANT_ID,CACHE_INCLUDED_ROUTES } from "@/store/mutation-types" -import { welcome } from "@/utils/util" -import { queryPermissionsByUser } from '@/api/api' -import { getAction } from '@/api/manage' - -const user = { - state: { - token: '', - username: '', - realname: '', - tenantid:'', - welcome: '', - avatar: '', - permissionList: [], - info: {}, - // 系统安全模式 - sysSafeMode: null, - }, - - mutations: { - SET_TOKEN: (state, token) => { - state.token = token - }, - SET_NAME: (state, { username, realname, welcome }) => { - state.username = username - state.realname = realname - state.welcome = welcome - }, - SET_AVATAR: (state, avatar) => { - state.avatar = avatar - }, - SET_PERMISSIONLIST: (state, permissionList) => { - state.permissionList = permissionList - }, - SET_INFO: (state, info) => { - state.info = info - }, - SET_TENANT: (state, id) => { - state.tenantid = id - }, - SET_SYS_SAFE_MODE: (state, sysSafeMode) => { - if (typeof sysSafeMode === 'boolean') { - state.sysSafeMode = sysSafeMode - } else { - state.sysSafeMode = false - } - }, - }, - - actions: { - // CAS验证登录 - ValidateLogin({ commit }, userInfo) { - return new Promise((resolve, reject) => { - getAction("/sys/cas/client/validateLogin",userInfo).then(response => { - console.log("----cas 登录--------",response); - if(response.success){ - const result = response.result - const userInfo = result.userInfo - Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) - commit('SET_TOKEN', result.token) - commit('SET_INFO', userInfo) - commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) - commit('SET_AVATAR', userInfo.avatar) - resolve(response) - }else{ - resolve(response) - } - }).catch(error => { - reject(error) - }) - }) - }, - // 登录 - Login({ commit }, userInfo) { - return new Promise((resolve, reject) => { - login(userInfo).then(response => { - if(response.code =='200'){ - const result = response.result - const userInfo = result.userInfo - Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) - commit('SET_TOKEN', result.token) - commit('SET_INFO', userInfo) - commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) - commit('SET_AVATAR', userInfo.avatar) - resolve(response) - }else{ - reject(response) - } - }).catch(error => { - reject(error) - }) - }) - }, - //手机号登录 - PhoneLogin({ commit }, userInfo) { - return new Promise((resolve, reject) => { - phoneLogin(userInfo).then(response => { - if(response.code =='200'){ - const result = response.result - const userInfo = result.userInfo - Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) - commit('SET_TOKEN', result.token) - commit('SET_INFO', userInfo) - commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) - commit('SET_AVATAR', userInfo.avatar) - resolve(response) - }else{ - reject(response) - } - }).catch(error => { - reject(error) - }) - }) - }, - // 获取用户信息 - GetPermissionList({ commit }) { - return new Promise((resolve, reject) => { - queryPermissionsByUser().then(response => { - const menuData = response.result.menu; - const authData = response.result.auth; - const allAuthData = response.result.allAuth; - //Vue.ls.set(USER_AUTH,authData); - sessionStorage.setItem(USER_AUTH,JSON.stringify(authData)); - sessionStorage.setItem(SYS_BUTTON_AUTH,JSON.stringify(allAuthData)); - if (menuData && menuData.length > 0) { - // //update--begin--autor:qinfeng-----date:20200109------for:JEECG-63 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------ - // menuData.forEach((item, index) => { - // if (item["children"]) { - // let hasChildrenMenu = item["children"].filter((i) => { - // return !i.hidden || i.hidden == false - // }) - // if (hasChildrenMenu == null || hasChildrenMenu.length == 0) { - // item["hidden"] = true - // } - // } - // }) - // //console.log(" menu show json ", menuData) - // //update--end--autor:qinfeng-----date:20200109------for:JEECG-63 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------ - commit('SET_PERMISSIONLIST', menuData) - // 设置系统安全模式 - commit('SET_SYS_SAFE_MODE', response.result.sysSafeMode) - } else { - reject('getPermissionList: permissions must be a non-null array !') - } - resolve(response) - }).catch(error => { - reject(error) - }) - }) - }, - - // 登出 - Logout({ commit, state }) { - return new Promise((resolve) => { - let logoutToken = state.token; - commit('SET_TOKEN', '') - commit('SET_PERMISSIONLIST', []) - Vue.ls.remove(ACCESS_TOKEN) - Vue.ls.remove(USER_INFO) - Vue.ls.remove(USER_NAME) - Vue.ls.remove(UI_CACHE_DB_DICT_DATA) - Vue.ls.remove(CACHE_INCLUDED_ROUTES) - Vue.ls.remove(TENANT_ID) - //console.log('logoutToken: '+ logoutToken) - logout(logoutToken).then(() => { - if (process.env.VUE_APP_SSO == 'true') { - let sevice = 'http://' + window.location.host + '/' - let serviceUrl = encodeURIComponent(sevice) - window.location.href = process.env.VUE_APP_CAS_BASE_URL + '/logout?service=' + serviceUrl - } - resolve() - }).catch(() => { - resolve() - }) - }) - }, - // 第三方登录 - ThirdLogin({ commit }, param) { - return new Promise((resolve, reject) => { - thirdLogin(param.token,param.thirdType).then(response => { - if(response.code =='200'){ - const result = response.result - const userInfo = result.userInfo - Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) - Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) - commit('SET_TOKEN', result.token) - commit('SET_INFO', userInfo) - commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) - commit('SET_AVATAR', userInfo.avatar) - resolve(response) - }else{ - reject(response) - } - }).catch(error => { - reject(error) - }) - }) - }, - saveTenant({ commit }, id){ - Vue.ls.set(TENANT_ID, id, 7 * 24 * 60 * 60 * 1000) - commit('SET_TENANT', id) - } - - - } -} - -export default user \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/store/mutation-types.js b/ant-design-vue-jeecg/src/store/mutation-types.js deleted file mode 100644 index fee0f7fa..00000000 --- a/ant-design-vue-jeecg/src/store/mutation-types.js +++ /dev/null @@ -1,28 +0,0 @@ -export const ACCESS_TOKEN = 'Access-Token' -export const SIDEBAR_TYPE = 'SIDEBAR_TYPE' -export const DEFAULT_THEME = 'DEFAULT_THEME' -export const DEFAULT_LAYOUT_MODE = 'DEFAULT_LAYOUT_MODE' -export const DEFAULT_COLOR = 'DEFAULT_COLOR' -export const DEFAULT_COLOR_WEAK = 'DEFAULT_COLOR_WEAK' -export const DEFAULT_FIXED_HEADER = 'DEFAULT_FIXED_HEADER' -export const DEFAULT_FIXED_SIDEMENU= 'DEFAULT_FIXED_SIDEMENU' -export const DEFAULT_FIXED_HEADER_HIDDEN = 'DEFAULT_FIXED_HEADER_HIDDEN' -export const DEFAULT_CONTENT_WIDTH_TYPE = 'DEFAULT_CONTENT_WIDTH_TYPE' -export const DEFAULT_MULTI_PAGE = 'DEFAULT_MULTI_PAGE' -export const USER_NAME = 'Login_Username' -export const USER_INFO = 'Login_Userinfo' -export const USER_AUTH = 'LOGIN_USER_BUTTON_AUTH' -export const SYS_BUTTON_AUTH = 'SYS_BUTTON_AUTH' -export const ENCRYPTED_STRING = 'ENCRYPTED_STRING' -export const ENHANCE_PRE = 'enhance_' -export const UI_CACHE_DB_DICT_DATA = 'UI_CACHE_DB_DICT_DATA' -export const INDEX_MAIN_PAGE_PATH = '/dashboard/analysis' -export const OAUTH2_LOGIN_PAGE_PATH = '/oauth2-app/login' -export const TENANT_ID = 'TENANT_ID' -export const ONL_AUTH_FIELDS = 'ONL_AUTH_FIELDS' -//路由缓存问题,关闭了tab页时再打开就不刷新 #842 -export const CACHE_INCLUDED_ROUTES = 'CACHE_INCLUDED_ROUTES' -export const CONTENT_WIDTH_TYPE = { - Fluid: 'Fluid', - Fixed: 'Fixed' -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/JEditableTableUtil.js b/ant-design-vue-jeecg/src/utils/JEditableTableUtil.js deleted file mode 100644 index 83faa9c3..00000000 --- a/ant-design-vue-jeecg/src/utils/JEditableTableUtil.js +++ /dev/null @@ -1,154 +0,0 @@ -import { getVmParentByName } from '@/utils/util' - -const FormTypes = { - normal: 'normal', - input: 'input', - inputNumber: 'inputNumber', - checkbox: 'checkbox', - select: 'select', - date: 'date', - datetime: 'datetime', - time: 'time', - upload: 'upload', - file: 'file', - image: 'image', - popup:'popup', - list_multi:"list_multi", - sel_search:"sel_search", - sel_search_async:"sel_search_async", - radio:'radio', - checkbox_meta:"checkbox_meta", - input_pop:'input_pop', - sel_depart: 'sel_depart', - sel_user: 'sel_user', - slot: 'slot', - hidden: 'hidden' -} -const VALIDATE_NO_PASSED = Symbol() -export { FormTypes, VALIDATE_NO_PASSED } - -/** - * 获取指定的 $refs 对象 - * 有时候可能会遇到组件未挂载到页面中的情况,导致无法获取 $refs 中的某个对象 - * 这个方法可以等待挂载完成之后再返回 $refs 的对象,避免报错 - * @author sunjianlei - **/ -export function getRefPromise(vm, name) { - return new Promise((resolve) => { - (function next() { - let ref = vm.$refs[name] - if (ref) { - resolve(ref) - } else { - setTimeout(() => { - next() - }, 10) - } - })() - }) -} - -/** - * 一次性验证主表单和所有的次表单 - * @param form 主表单 form 对象 - * @param cases 接收一个数组,每项都是一个JEditableTable实例 - * @returns {Promise} - * @author sunjianlei - */ -export function validateFormAndTables(form, cases) { - - if (!(form && typeof form.validateFields === 'function')) { - throw `form 参数需要的是一个form对象,而传入的却是${typeof form}` - } - - let options = {} - return new Promise((resolve, reject) => { - // 验证主表表单 - form.validateFields((err, values) => { - err ? reject({ error: VALIDATE_NO_PASSED }) : resolve(values) - }) - }).then(values => { - Object.assign(options, { formValue: values }) - // 验证所有子表的表单 - return validateTables(cases) - }).then(all => { - Object.assign(options, { tablesValue: all }) - return Promise.resolve(options) - }).catch(error => { - return Promise.reject(error) - }) - -} -/** - * 一次性验证主表单和所有的次表单(新版本) - * @param form 主表单 form 对象 - * @param cases 接收一个数组,每项都是一个JEditableTable实例 - * @returns {Promise} - * @author sunjianlei - */ -export function validateFormModelAndTables(form,values, cases) { - - if (!(form && typeof form.validate === 'function')) { - throw `form 参数需要的是一个form对象,而传入的却是${typeof form}` - } - let options = {} - return new Promise((resolve, reject) => { - // 验证主表表单 - form.validate((valid,obj) => { - valid ?resolve(values):reject({ error: VALIDATE_NO_PASSED }) - }) - }).then(values => { - Object.assign(options, { formValue: values }) - // 验证所有子表的表单 - return validateTables(cases) - }).then(all => { - Object.assign(options, { tablesValue: all }) - return Promise.resolve(options) - }).catch(error => { - return Promise.reject(error) - }) - -} - -/** - * 验证并获取一个或多个表格的所有值 - * @param cases 接收一个数组,每项都是一个JEditableTable实例 - * @param deleteTempId 是否删除临时ID,如果设为true,行编辑就不返回新增行的ID,ID需要后台生成 - * @author sunjianlei - */ -export function validateTables(cases, deleteTempId) { - if (!(cases instanceof Array)) { - throw `'validateTables'函数的'cases'参数需要的是一个数组,而传入的却是${typeof cases}` - } - return new Promise((resolve, reject) => { - let tables = [] - let index = 0; - if(!cases || cases.length === 0){ - resolve() - } - (function next() { - let vm = cases[index] - vm.getAll(true, deleteTempId).then(all => { - tables[index] = all - // 判断校验是否全部完成,完成返回成功,否则继续进行下一步校验 - if (++index === cases.length) { - resolve(tables) - } else ( - next() - ) - }, error => { - // 出现未验证通过的表单,不再进行下一步校验,直接返回失败并跳转到该表格 - if (error === VALIDATE_NO_PASSED) { - // 尝试获取tabKey,如果在ATab组件内即可获取 - let paneKey; - let tabPane = getVmParentByName(vm, 'ATabPane') - if (tabPane) { - paneKey = tabPane.$vnode.key - } - reject({error: VALIDATE_NO_PASSED, index, paneKey}) - } - reject(error) - }) - })() - }) -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/LunarFullCalendarUtil.js b/ant-design-vue-jeecg/src/utils/LunarFullCalendarUtil.js deleted file mode 100644 index e68eb633..00000000 --- a/ant-design-vue-jeecg/src/utils/LunarFullCalendarUtil.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * LunarFullCalendar 公共 js - * - * @version 1.0.0 - * @author sunjianlei - * - * */ - -import { getRefPromise } from '@/utils/JEditableTableUtil' - -/* 日历的视图类型 */ -const calendarViewType = { - month: 'month', // 月视图 - basicWeek: 'basicWeek', // 基础周视图 - basicDay: 'basicDay',// 基础天视图 - agendaWeek: 'agendaWeek', // 议程周视图 - agendaDay: 'agendaDay', // 议程天视图 -} - -/* 定义默认视图 */ -const defaultView = calendarViewType.month - -/* 定义日历默认配置 */ -const defaultSettings = { - locale: 'zh-cn', - // 按钮文字 - buttonText: { - today: '今天', - month: '月', - week: '周', - day: '日' - }, - // 头部排列方式 - header: { - left: 'prev,next, today', - center: 'title', - right: 'hide, custom, month,agendaWeek,agendaDay' - }, - //点击今天日列表图 - eventLimitClick: 'day', - // 隐藏超出的事件 - eventLimit: true, - // 设置每周开始日期为周日 - firstDay: 0, - // 默认显示视图 - defaultView, - timeFormat: 'H:mm', - axisFormat: 'H:mm', - // agenda视图下是否显示all-day - allDaySlot: true, - // agenda视图下all-day的显示文本 - allDayText: '全天', - // 时区默认本地的 - timezone: 'local', - // 周视图和日视同的左侧时间显示 - slotLabelFormat: 'HH:mm', - // 设置第二天阈值 - nextDayThreshold: '00:00:00', -} - -/** 提供了一些增强方法 */ -const CalendarMixins = { - data() { - return { - calenderCurrentViewType: defaultView - } - }, - methods: { - - getCalendarConfigEventHandler() { - return { - // 处理 view changed 事件 - viewRender: (view, element) => { - let { type } = view - - let lastViewType = this.calenderCurrentViewType - this.calenderCurrentViewType = type - - if (typeof this.handleViewRender === 'function') { - this.handleViewRender(type, view, element) - } - - if (lastViewType !== this.calenderCurrentViewType && typeof this.handleViewChanged === 'function') { - this.handleViewChanged(type, view, element) - } - - }, - } - }, - - /** 获取 LunarFullCalendar 实例,ref = baseCalendar */ - getCalendar(fn) { - return getRefPromise(this, 'baseCalendar').then(fn) - }, - - calendarEmit(name, data) { - this.getCalendar(ref => ref.$emit(name, data)) - }, - - /** 强制重新加载所有的事件(日程)*/ - calendarReloadEvents() { - this.calendarEmit('reload-events') - } - } -} - -export { defaultSettings, calendarViewType, CalendarMixins } \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/auth.js b/ant-design-vue-jeecg/src/utils/auth.js deleted file mode 100644 index 03ae469f..00000000 --- a/ant-design-vue-jeecg/src/utils/auth.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * 弃用 - */ -import { setStore, getStore, clearStore } from "@/utils/storage" - -export const TokenKey = 'Access-Token' - -export function getToken() { - return getStore(TokenKey) -} - -export function setToken(token) { - // key, token, timeout = 86400s - return setStore(TokenKey, token, 86400) -} - -export function removeToken() { - return clearStore(TokenKey) -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/authFilter.js b/ant-design-vue-jeecg/src/utils/authFilter.js deleted file mode 100644 index ed910bb0..00000000 --- a/ant-design-vue-jeecg/src/utils/authFilter.js +++ /dev/null @@ -1,277 +0,0 @@ -import { USER_AUTH,SYS_BUTTON_AUTH } from "@/store/mutation-types" - -export function disabledAuthFilter(code,formData) { - if(nodeDisabledAuth(code,formData)){ - return true; - }else{ - return globalDisabledAuth(code); - } -} - -function nodeDisabledAuth(code,formData){ - //console.log("页面权限禁用--NODE--开始"); - let permissionList = []; - try { - //console.log("页面权限禁用--NODE--开始",formData); - if (formData) { - let bpmList = formData.permissionList; - permissionList = bpmList.filter(item=>item.type=='2') - // for (let bpm of bpmList) { - // if(bpm.type == '2') { - // permissionList.push(bpm); - // } - // } - }else{ - return false; - } - } catch (e) { - //console.log("页面权限异常----", e); - } - if (permissionList.length == 0) { - return false; - } - - console.log("流程节点页面权限禁用--NODE--开始"); - let permissions = []; - for (let item of permissionList) { - if(item.type == '2') { - permissions.push(item.action); - } - } - //console.log("页面权限----"+code); - if (!permissions.includes(code)) { - return false; - }else{ - for (let item2 of permissionList) { - if(code === item2.action){ - console.log("流程节点页面权限禁用--NODE--生效"); - return true; - } - } - } - return false; -} - -function globalDisabledAuth(code){ - //console.log("全局页面禁用权限--Global--开始"); - - let permissionList = []; - let allPermissionList = []; - - //let authList = Vue.ls.get(USER_AUTH); - let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); - for (let auth of authList) { - if(auth.type == '2') { - permissionList.push(auth); - } - } - //console.log("页面禁用权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH)); - let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); - for (let gauth of allAuthList) { - if(gauth.type == '2') { - allPermissionList.push(gauth); - } - } - //设置全局配置是否有命中 - let gFlag = false;//禁用命中 - let invalidFlag = false;//无效命中 - if(allPermissionList != null && allPermissionList != "" && allPermissionList != undefined && allPermissionList.length > 0){ - for (let itemG of allPermissionList) { - if(code === itemG.action){ - if(itemG.status == '0'){ - invalidFlag = true; - break; - }else{ - gFlag = true; - break; - } - } - } - } - if(invalidFlag){ - return false; - } - if (permissionList === null || permissionList === "" || permissionList === undefined||permissionList.length<=0) { - return gFlag; - } - let permissions = []; - for (let item of permissionList) { - if(item.type == '2') { - permissions.push(item.action); - } - } - //console.log("页面禁用权限----"+code); - if (!permissions.includes(code)) { - return gFlag; - }else{ - for (let item2 of permissionList) { - if(code === item2.action){ - //console.log("全局页面权限解除禁用--Global--生效"); - gFlag = false; - } - } - return gFlag; - } -} - - - -export function colAuthFilter(columns,pre) { - let authList = getNoAuthCols(pre); - const cols = columns.filter(item => { - if (hasColoum(item,authList)) { - return true - } - return false - }) - return cols -} - -/** - * 【子表行编辑】实现两个功能: - * 1、隐藏JEditableTable无权限的字段 - * 2、禁用JEditableTable无权限的字段 - * @param columns - * @param pre - * @returns {*} - */ -export function colAuthFilterJEditableTable(columns,pre) { - let authList = getAllShowAndDisabledAuthCols(pre); - const cols = columns.filter(item => { - let oneAuth = authList.find(auth => { - return auth.action === pre + item.key; - }); - if(!oneAuth){ - return true - } - - //代码严谨处理,防止一个授权标识,配置多次 - if(oneAuth instanceof Array){ - oneAuth = oneAuth[0] - } - - //禁用逻辑 - if (oneAuth.type == '2' && !oneAuth.isAuth) { - item["disabled"] = true - return true - } - //隐藏逻辑逻辑 - if (oneAuth.type == '1' && !oneAuth.isAuth) { - return false - } - return true - }) - return cols -} - - -function hasColoum(item,authList){ - if (authList.includes(item.dataIndex)) { - return false - } - return true -} - -//权限无效时不做控制,有效时控制,只能控制 显示不显示 -//根据授权码前缀获取未授权的列信息 -export function getNoAuthCols(pre){ - if(!pre || pre.length==0){ - return [] - } - let permissionList = []; - let allPermissionList = []; - - //let authList = Vue.ls.get(USER_AUTH); - let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); - for (let auth of authList) { - //显示策略,有效状态 - if(auth.type == '1'&&startWith(auth.action,pre)) { - permissionList.push(substrPre(auth.action,pre)); - } - } - //console.log("页面禁用权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH)); - let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); - for (let gauth of allAuthList) { - //显示策略,有效状态 - if(gauth.type == '1'&&gauth.status == '1'&&startWith(gauth.action,pre)) { - allPermissionList.push(substrPre(gauth.action,pre)); - } - } - const cols = allPermissionList.filter(item => { - if (permissionList.includes(item)) { - return false; - } - return true; - }) - return cols; -} - -/** - * 将Online的行编辑按钮权限,添加至本地存储 - */ -export function addOnlineBtAuth2Storage(pre, authList){ - let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); - let newAuthList = allAuthList.filter(item=>{ - if(!item.action){ - return true - } - return item.action.indexOf(pre)<0 - }) - if(authList && authList.length>0){ - for(let item of authList){ - newAuthList.push({ - action: pre+item, - type:1, - status:1 - }) - } - let temp = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); - let newArr = temp.filter(item=>{ - if(!item.action){ - return true - } - return item.action.indexOf(pre)<0 || authList.indexOf(item.action.replace(pre, ''))<0 - }) - sessionStorage.setItem(USER_AUTH, JSON.stringify(newArr)) - } - sessionStorage.setItem(SYS_BUTTON_AUTH, JSON.stringify(newAuthList)) -} - - - -/** - * 额外增加方法【用于行编辑组件】 - * date: 2020-04-05 - * author: scott - * @param pre - * @returns {*[]} - */ -function getAllShowAndDisabledAuthCols(pre){ - //用户拥有的权限 - let userAuthList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); - //全部权限配置 - let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); - - let newAllAuthList = allAuthList.map(function (item, index) { - let hasAuthArray = userAuthList.filter(u => u.action===item.action ); - if (hasAuthArray && hasAuthArray.length>0) { - item["isAuth"] = true - } - return item; - }) - - return newAllAuthList; -} - -function startWith(str,pre) { - if (pre == null || pre == "" || str==null|| str==""|| str.length == 0 || pre.length > str.length) - return false; - if (str.substr(0, pre.length) == pre) - return true; - else - return false; -} - -function substrPre(str,pre) { - return str.substr(pre.length); -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/axios.js b/ant-design-vue-jeecg/src/utils/axios.js deleted file mode 100644 index de27d4ce..00000000 --- a/ant-design-vue-jeecg/src/utils/axios.js +++ /dev/null @@ -1,37 +0,0 @@ -const VueAxios = { - vm: {}, - // eslint-disable-next-line no-unused-vars - install(Vue, router = {}, instance) { - if (this.installed) { - return; - } - this.installed = true; - - if (!instance) { - // eslint-disable-next-line no-console - console.error('You have to install axios'); - return; - } - - Vue.axios = instance; - - Object.defineProperties(Vue.prototype, { - axios: { - get: function get() { - return instance; - } - }, - $http: { - get: function get() { - return instance; - } - } - }); - } -}; - -export { - VueAxios, - // eslint-disable-next-line no-undef - //instance as axios -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/browser.js b/ant-design-vue-jeecg/src/utils/browser.js deleted file mode 100644 index 97f232e3..00000000 --- a/ant-design-vue-jeecg/src/utils/browser.js +++ /dev/null @@ -1,38 +0,0 @@ -//判断是否IE<11浏览器 -export function isIE() { - return navigator.userAgent.indexOf('compatible') > -1 && navigator.userAgent.indexOf('MSIE') > -1 - -} - -export function isIE11() { - return navigator.userAgent.indexOf('Trident') > -1 && navigator.userAgent.indexOf('rv:11.0') > -1 -} - -//判断是否IE的Edge浏览器 -export function isEdge() { - return navigator.userAgent.indexOf('Edge') > -1 && !isIE() -} - -export function getIEVersion() { - let userAgent = navigator.userAgent //取得浏览器的userAgent字符串 - let isIE = isIE() - let isIE11 = isIE11() - let isEdge = isEdge() - - if (isIE) { - let reIE = new RegExp('MSIE (\\d+\\.\\d+);') - reIE.test(userAgent) - let fIEVersion = parseFloat(RegExp['$1']) - if (fIEVersion === 7 || fIEVersion === 8 || fIEVersion === 9 || fIEVersion === 10) { - return fIEVersion - } else { - return 6//IE版本<7 - } - } else if (isEdge) { - return 'edge' - } else if (isIE11) { - return 11 - } else { - return -1 - } -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/commonUploadFile.js b/ant-design-vue-jeecg/src/utils/commonUploadFile.js deleted file mode 100644 index eaa6dbb3..00000000 --- a/ant-design-vue-jeecg/src/utils/commonUploadFile.js +++ /dev/null @@ -1,52 +0,0 @@ -import { getFileAccessHttpUrl } from '@/api/manage' -const getFileName=(path)=>{ - if(path.lastIndexOf("\\")>=0){ - let reg=new RegExp("\\\\","g"); - path = path.replace(reg,"/"); - } - return path.substring(path.lastIndexOf("/")+1); -} - -const uidGenerator=()=>{ - return '-'+parseInt(Math.random()*10000+1,10); -} - -const getFilePaths=(uploadFiles)=>{ - let arr = []; - if(!uploadFiles){ - return "" - } - for(let a=0;a0){ - return arr.join(",") - } - return "" -} - -const getUploadFileList=(paths)=>{ - if(!paths){ - return []; - } - let fileList = []; - let arr = paths.split(",") - for(let a=0;a content(arg) + ' | 北京市'; // export 箭头函数也可以 -* -*/ - -/** 字段默认值官方示例:获取地址 */ -export function demoFieldDefVal_getAddress(arg) { - if (!arg) { - arg = '朝阳区' - } - return `北京市 ${arg}` -} - -/** 自定义JS函数示例 */ -export function sayHi(name) { - if (!name) { - name = '张三' - } - return `您好,我叫: ${name}` -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/device.js b/ant-design-vue-jeecg/src/utils/device.js deleted file mode 100644 index 6bf15fc0..00000000 --- a/ant-design-vue-jeecg/src/utils/device.js +++ /dev/null @@ -1,23 +0,0 @@ -import enquireJs from 'enquire.js' - -const enquireScreen = function (call) { - // tablet - const handler = { - match: function () { - call && call(0) - }, - unmatch: function () { - call && call(-1) - } - } - // mobile - const handler2 = { - match: () => { - call && call(1) - } - } - enquireJs.register('screen and (max-width: 1087.99px)', handler) - enquireJs.register('screen and (max-width: 767.99px)', handler2) -} - -export default enquireScreen \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/encryption/aesEncrypt.js b/ant-design-vue-jeecg/src/utils/encryption/aesEncrypt.js deleted file mode 100644 index 07638cf2..00000000 --- a/ant-design-vue-jeecg/src/utils/encryption/aesEncrypt.js +++ /dev/null @@ -1,6003 +0,0 @@ -import { getAction } from '@/api/manage' -import { ENCRYPTED_STRING } from "@/store/mutation-types" -import Vue from 'vue' - -/** - * 获取加密字符串,并对结果进行缓存 - */ -export function getEncryptedString() { - return getAction("/sys/getEncryptedString",{}).then((res)=>{ - let encryptedString = {}; - encryptedString.key = res.result.key; - encryptedString.iv = res.result.iv; - Vue.ls.set(ENCRYPTED_STRING, encryptedString, 7 * 24 * 60 * 60 * 1000); - return encryptedString; - }); -} - -/** - * AES加密 :字符串 key iv 返回base64 - */ -export function encryption(word, keyStr, ivStr) { - - let key = CryptoJS.enc.Utf8.parse(keyStr) - let iv = CryptoJS.enc.Utf8.parse(ivStr) - - let srcs = CryptoJS.enc.Utf8.parse(word); - var encrypted = CryptoJS.AES.encrypt(srcs, key, { - iv: iv, - mode: CryptoJS.mode.CBC, - padding: CryptoJS.pad.ZeroPadding - }); - // console.log("-=-=-=-", encrypted.ciphertext) - return CryptoJS.enc.Base64.stringify(encrypted.ciphertext); - -} - - -var CryptoJS = CryptoJS || (function (Math, undefined) { - /* - * Local polyfil of Object.create - */ - var create = Object.create || (function () { - function F() {}; - - return function (obj) { - var subtype; - - F.prototype = obj; - - subtype = new F(); - - F.prototype = null; - - return subtype; - }; - }()) - - /** - * CryptoJS namespace. - */ - var C = {}; - - /** - * Library namespace. - */ - var C_lib = C.lib = {}; - - /** - * Base object for prototypal inheritance. - */ - var Base = C_lib.Base = (function () { - - - return { - /** - * Creates a new object that inherits from this object. - * - * @param {Object} overrides Properties to copy into the new object. - * - * @return {Object} The new object. - * - * @static - * - * @example - * - * var MyType = CryptoJS.lib.Base.extend({ - * field: 'value', - * - * method: function () { - * } - * }); - */ - extend: function (overrides) { - // Spawn - var subtype = create(this); - - // Augment - if (overrides) { - subtype.mixIn(overrides); - } - - // Create default initializer - if (!subtype.hasOwnProperty('init') || this.init === subtype.init) { - subtype.init = function () { - subtype.$super.init.apply(this, arguments); - }; - } - - // Initializer's prototype is the subtype object - subtype.init.prototype = subtype; - - // Reference supertype - subtype.$super = this; - - return subtype; - }, - - /** - * Extends this object and runs the init method. - * Arguments to create() will be passed to init(). - * - * @return {Object} The new object. - * - * @static - * - * @example - * - * var instance = MyType.create(); - */ - create: function () { - var instance = this.extend(); - instance.init.apply(instance, arguments); - - return instance; - }, - - /** - * Initializes a newly created object. - * Override this method to add some logic when your objects are created. - * - * @example - * - * var MyType = CryptoJS.lib.Base.extend({ - * init: function () { - * // ... - * } - * }); - */ - init: function () { - }, - - /** - * Copies properties into this object. - * - * @param {Object} properties The properties to mix in. - * - * @example - * - * MyType.mixIn({ - * field: 'value' - * }); - */ - mixIn: function (properties) { - for (var propertyName in properties) { - if (properties.hasOwnProperty(propertyName)) { - this[propertyName] = properties[propertyName]; - } - } - - // IE won't copy toString using the loop above - if (properties.hasOwnProperty('toString')) { - this.toString = properties.toString; - } - }, - - /** - * Creates a copy of this object. - * - * @return {Object} The clone. - * - * @example - * - * var clone = instance.clone(); - */ - clone: function () { - return this.init.prototype.extend(this); - } - }; - }()); - - /** - * An array of 32-bit words. - * - * @property {Array} words The array of 32-bit words. - * @property {number} sigBytes The number of significant bytes in this word array. - */ - var WordArray = C_lib.WordArray = Base.extend({ - /** - * Initializes a newly created word array. - * - * @param {Array} words (Optional) An array of 32-bit words. - * @param {number} sigBytes (Optional) The number of significant bytes in the words. - * - * @example - * - * var wordArray = CryptoJS.lib.WordArray.create(); - * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]); - * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6); - */ - init: function (words, sigBytes) { - words = this.words = words || []; - - if (sigBytes != undefined) { - this.sigBytes = sigBytes; - } else { - this.sigBytes = words.length * 4; - } - }, - - /** - * Converts this word array to a string. - * - * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex - * - * @return {string} The stringified word array. - * - * @example - * - * var string = wordArray + ''; - * var string = wordArray.toString(); - * var string = wordArray.toString(CryptoJS.enc.Utf8); - */ - toString: function (encoder) { - return (encoder || Hex).stringify(this); - }, - - /** - * Concatenates a word array to this word array. - * - * @param {WordArray} wordArray The word array to append. - * - * @return {WordArray} This word array. - * - * @example - * - * wordArray1.concat(wordArray2); - */ - concat: function (wordArray) { - // Shortcuts - var thisWords = this.words; - var thatWords = wordArray.words; - var thisSigBytes = this.sigBytes; - var thatSigBytes = wordArray.sigBytes; - - // Clamp excess bits - this.clamp(); - - // Concat - if (thisSigBytes % 4) { - // Copy one byte at a time - for (var i = 0; i < thatSigBytes; i++) { - var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; - thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); - } - } else { - // Copy one word at a time - for (var i = 0; i < thatSigBytes; i += 4) { - thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2]; - } - } - this.sigBytes += thatSigBytes; - - // Chainable - return this; - }, - - /** - * Removes insignificant bits. - * - * @example - * - * wordArray.clamp(); - */ - clamp: function () { - // Shortcuts - var words = this.words; - var sigBytes = this.sigBytes; - - // Clamp - words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); - words.length = Math.ceil(sigBytes / 4); - }, - - /** - * Creates a copy of this word array. - * - * @return {WordArray} The clone. - * - * @example - * - * var clone = wordArray.clone(); - */ - clone: function () { - var clone = Base.clone.call(this); - clone.words = this.words.slice(0); - - return clone; - }, - - /** - * Creates a word array filled with random bytes. - * - * @param {number} nBytes The number of random bytes to generate. - * - * @return {WordArray} The random word array. - * - * @static - * - * @example - * - * var wordArray = CryptoJS.lib.WordArray.random(16); - */ - random: function (nBytes) { - var words = []; - - var r = (function (m_w) { - var m_w = m_w; - var m_z = 0x3ade68b1; - var mask = 0xffffffff; - - return function () { - m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask; - m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask; - var result = ((m_z << 0x10) + m_w) & mask; - result /= 0x100000000; - result += 0.5; - return result * (Math.random() > .5 ? 1 : -1); - } - }); - - for (var i = 0, rcache; i < nBytes; i += 4) { - var _r = r((rcache || Math.random()) * 0x100000000); - - rcache = _r() * 0x3ade67b7; - words.push((_r() * 0x100000000) | 0); - } - - return new WordArray.init(words, nBytes); - } - }); - - /** - * Encoder namespace. - */ - var C_enc = C.enc = {}; - - /** - * Hex encoding strategy. - */ - var Hex = C_enc.Hex = { - /** - * Converts a word array to a hex string. - * - * @param {WordArray} wordArray The word array. - * - * @return {string} The hex string. - * - * @static - * - * @example - * - * var hexString = CryptoJS.enc.Hex.stringify(wordArray); - */ - stringify: function (wordArray) { - // Shortcuts - var words = wordArray.words; - var sigBytes = wordArray.sigBytes; - - // Convert - var hexChars = []; - for (var i = 0; i < sigBytes; i++) { - var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; - hexChars.push((bite >>> 4).toString(16)); - hexChars.push((bite & 0x0f).toString(16)); - } - - return hexChars.join(''); - }, - - /** - * Converts a hex string to a word array. - * - * @param {string} hexStr The hex string. - * - * @return {WordArray} The word array. - * - * @static - * - * @example - * - * var wordArray = CryptoJS.enc.Hex.parse(hexString); - */ - parse: function (hexStr) { - // Shortcut - var hexStrLength = hexStr.length; - - // Convert - var words = []; - for (var i = 0; i < hexStrLength; i += 2) { - words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4); - } - - return new WordArray.init(words, hexStrLength / 2); - } - }; - - /** - * Latin1 encoding strategy. - */ - var Latin1 = C_enc.Latin1 = { - /** - * Converts a word array to a Latin1 string. - * - * @param {WordArray} wordArray The word array. - * - * @return {string} The Latin1 string. - * - * @static - * - * @example - * - * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); - */ - stringify: function (wordArray) { - // Shortcuts - var words = wordArray.words; - var sigBytes = wordArray.sigBytes; - - // Convert - var latin1Chars = []; - for (var i = 0; i < sigBytes; i++) { - var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; - latin1Chars.push(String.fromCharCode(bite)); - } - - return latin1Chars.join(''); - }, - - /** - * Converts a Latin1 string to a word array. - * - * @param {string} latin1Str The Latin1 string. - * - * @return {WordArray} The word array. - * - * @static - * - * @example - * - * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); - */ - parse: function (latin1Str) { - // Shortcut - var latin1StrLength = latin1Str.length; - - // Convert - var words = []; - for (var i = 0; i < latin1StrLength; i++) { - words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); - } - - return new WordArray.init(words, latin1StrLength); - } - }; - - /** - * UTF-8 encoding strategy. - */ - var Utf8 = C_enc.Utf8 = { - /** - * Converts a word array to a UTF-8 string. - * - * @param {WordArray} wordArray The word array. - * - * @return {string} The UTF-8 string. - * - * @static - * - * @example - * - * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); - */ - stringify: function (wordArray) { - try { - return decodeURIComponent(escape(Latin1.stringify(wordArray))); - } catch (e) { - throw new Error('Malformed UTF-8 data'); - } - }, - - /** - * Converts a UTF-8 string to a word array. - * - * @param {string} utf8Str The UTF-8 string. - * - * @return {WordArray} The word array. - * - * @static - * - * @example - * - * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); - */ - parse: function (utf8Str) { - return Latin1.parse(unescape(encodeURIComponent(utf8Str))); - } - }; - - /** - * Abstract buffered block algorithm template. - * - * The property blockSize must be implemented in a concrete subtype. - * - * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0 - */ - var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({ - /** - * Resets this block algorithm's data buffer to its initial state. - * - * @example - * - * bufferedBlockAlgorithm.reset(); - */ - reset: function () { - // Initial values - this._data = new WordArray.init(); - this._nDataBytes = 0; - }, - - /** - * Adds new data to this block algorithm's buffer. - * - * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8. - * - * @example - * - * bufferedBlockAlgorithm._append('data'); - * bufferedBlockAlgorithm._append(wordArray); - */ - _append: function (data) { - // Convert string to WordArray, else assume WordArray already - if (typeof data == 'string') { - data = Utf8.parse(data); - } - - // Append - this._data.concat(data); - this._nDataBytes += data.sigBytes; - }, - - /** - * Processes available data blocks. - * - * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype. - * - * @param {boolean} doFlush Whether all blocks and partial blocks should be processed. - * - * @return {WordArray} The processed data. - * - * @example - * - * var processedData = bufferedBlockAlgorithm._process(); - * var processedData = bufferedBlockAlgorithm._process(!!'flush'); - */ - _process: function (doFlush) { - // Shortcuts - var data = this._data; - var dataWords = data.words; - var dataSigBytes = data.sigBytes; - var blockSize = this.blockSize; - var blockSizeBytes = blockSize * 4; - - // Count blocks ready - var nBlocksReady = dataSigBytes / blockSizeBytes; - if (doFlush) { - // Round up to include partial blocks - nBlocksReady = Math.ceil(nBlocksReady); - } else { - // Round down to include only full blocks, - // less the number of blocks that must remain in the buffer - nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); - } - - // Count words ready - var nWordsReady = nBlocksReady * blockSize; - - // Count bytes ready - var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); - - // Process blocks - if (nWordsReady) { - for (var offset = 0; offset < nWordsReady; offset += blockSize) { - // Perform concrete-algorithm logic - this._doProcessBlock(dataWords, offset); - } - - // Remove processed words - var processedWords = dataWords.splice(0, nWordsReady); - data.sigBytes -= nBytesReady; - } - - // Return processed words - return new WordArray.init(processedWords, nBytesReady); - }, - - /** - * Creates a copy of this object. - * - * @return {Object} The clone. - * - * @example - * - * var clone = bufferedBlockAlgorithm.clone(); - */ - clone: function () { - var clone = Base.clone.call(this); - clone._data = this._data.clone(); - - return clone; - }, - - _minBufferSize: 0 - }); - - /** - * Abstract hasher template. - * - * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits) - */ - var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({ - /** - * Configuration options. - */ - cfg: Base.extend(), - - /** - * Initializes a newly created hasher. - * - * @param {Object} cfg (Optional) The configuration options to use for this hash computation. - * - * @example - * - * var hasher = CryptoJS.algo.SHA256.create(); - */ - init: function (cfg) { - // Apply config defaults - this.cfg = this.cfg.extend(cfg); - - // Set initial values - this.reset(); - }, - - /** - * Resets this hasher to its initial state. - * - * @example - * - * hasher.reset(); - */ - reset: function () { - // Reset data buffer - BufferedBlockAlgorithm.reset.call(this); - - // Perform concrete-hasher logic - this._doReset(); - }, - - /** - * Updates this hasher with a message. - * - * @param {WordArray|string} messageUpdate The message to append. - * - * @return {Hasher} This hasher. - * - * @example - * - * hasher.update('message'); - * hasher.update(wordArray); - */ - update: function (messageUpdate) { - // Append - this._append(messageUpdate); - - // Update the hash - this._process(); - - // Chainable - return this; - }, - - /** - * Finalizes the hash computation. - * Note that the finalize operation is effectively a destructive, read-once operation. - * - * @param {WordArray|string} messageUpdate (Optional) A final message update. - * - * @return {WordArray} The hash. - * - * @example - * - * var hash = hasher.finalize(); - * var hash = hasher.finalize('message'); - * var hash = hasher.finalize(wordArray); - */ - finalize: function (messageUpdate) { - // Final message update - if (messageUpdate) { - this._append(messageUpdate); - } - - // Perform concrete-hasher logic - var hash = this._doFinalize(); - - return hash; - }, - - blockSize: 512/32, - - /** - * Creates a shortcut function to a hasher's object interface. - * - * @param {Hasher} hasher The hasher to create a helper for. - * - * @return {Function} The shortcut function. - * - * @static - * - * @example - * - * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); - */ - _createHelper: function (hasher) { - return function (message, cfg) { - return new hasher.init(cfg).finalize(message); - }; - }, - - /** - * Creates a shortcut function to the HMAC's object interface. - * - * @param {Hasher} hasher The hasher to use in this HMAC helper. - * - * @return {Function} The shortcut function. - * - * @static - * - * @example - * - * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); - */ - _createHmacHelper: function (hasher) { - return function (message, key) { - return new C_algo.HMAC.init(hasher, key).finalize(message); - }; - } - }); - - /** - * Algorithm namespace. - */ - var C_algo = C.algo = {}; - - return C; -}(Math)); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - var C_enc = C.enc; - - /** - * Base64 encoding strategy. - */ - var Base64 = C_enc.Base64 = { - /** - * Converts a word array to a Base64 string. - * - * @param {WordArray} wordArray The word array. - * - * @return {string} The Base64 string. - * - * @static - * - * @example - * - * var base64String = CryptoJS.enc.Base64.stringify(wordArray); - */ - stringify: function (wordArray) { - // Shortcuts - var words = wordArray.words; - var sigBytes = wordArray.sigBytes; - var map = this._map; - - // Clamp excess bits - wordArray.clamp(); - - // Convert - var base64Chars = []; - for (var i = 0; i < sigBytes; i += 3) { - var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; - var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; - var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; - - var triplet = (byte1 << 16) | (byte2 << 8) | byte3; - - for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) { - base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); - } - } - - // Add padding - var paddingChar = map.charAt(64); - if (paddingChar) { - while (base64Chars.length % 4) { - base64Chars.push(paddingChar); - } - } - - return base64Chars.join(''); - }, - - /** - * Converts a Base64 string to a word array. - * - * @param {string} base64Str The Base64 string. - * - * @return {WordArray} The word array. - * - * @static - * - * @example - * - * var wordArray = CryptoJS.enc.Base64.parse(base64String); - */ - parse: function (base64Str) { - // Shortcuts - var base64StrLength = base64Str.length; - var map = this._map; - var reverseMap = this._reverseMap; - - if (!reverseMap) { - reverseMap = this._reverseMap = []; - for (var j = 0; j < map.length; j++) { - reverseMap[map.charCodeAt(j)] = j; - } - } - - // Ignore padding - var paddingChar = map.charAt(64); - if (paddingChar) { - var paddingIndex = base64Str.indexOf(paddingChar); - if (paddingIndex !== -1) { - base64StrLength = paddingIndex; - } - } - - // Convert - return parseLoop(base64Str, base64StrLength, reverseMap); - - }, - - _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' - }; - - function parseLoop(base64Str, base64StrLength, reverseMap) { - var words = []; - var nBytes = 0; - for (var i = 0; i < base64StrLength; i++) { - if (i % 4) { - var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2); - var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2); - words[nBytes >>> 2] |= (bits1 | bits2) << (24 - (nBytes % 4) * 8); - nBytes++; - } - } - return WordArray.create(words, nBytes); - } -}()); - - -(function (Math) { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - var Hasher = C_lib.Hasher; - var C_algo = C.algo; - - // Constants table - var T = []; - - // Compute constants - (function () { - for (var i = 0; i < 64; i++) { - T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0; - } - }()); - - /** - * MD5 hash algorithm. - */ - var MD5 = C_algo.MD5 = Hasher.extend({ - _doReset: function () { - this._hash = new WordArray.init([ - 0x67452301, 0xefcdab89, - 0x98badcfe, 0x10325476 - ]); - }, - - _doProcessBlock: function (M, offset) { - // Swap endian - for (var i = 0; i < 16; i++) { - // Shortcuts - var offset_i = offset + i; - var M_offset_i = M[offset_i]; - - M[offset_i] = ( - (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | - (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) - ); - } - - // Shortcuts - var H = this._hash.words; - - var M_offset_0 = M[offset + 0]; - var M_offset_1 = M[offset + 1]; - var M_offset_2 = M[offset + 2]; - var M_offset_3 = M[offset + 3]; - var M_offset_4 = M[offset + 4]; - var M_offset_5 = M[offset + 5]; - var M_offset_6 = M[offset + 6]; - var M_offset_7 = M[offset + 7]; - var M_offset_8 = M[offset + 8]; - var M_offset_9 = M[offset + 9]; - var M_offset_10 = M[offset + 10]; - var M_offset_11 = M[offset + 11]; - var M_offset_12 = M[offset + 12]; - var M_offset_13 = M[offset + 13]; - var M_offset_14 = M[offset + 14]; - var M_offset_15 = M[offset + 15]; - - // Working varialbes - var a = H[0]; - var b = H[1]; - var c = H[2]; - var d = H[3]; - - // Computation - a = FF(a, b, c, d, M_offset_0, 7, T[0]); - d = FF(d, a, b, c, M_offset_1, 12, T[1]); - c = FF(c, d, a, b, M_offset_2, 17, T[2]); - b = FF(b, c, d, a, M_offset_3, 22, T[3]); - a = FF(a, b, c, d, M_offset_4, 7, T[4]); - d = FF(d, a, b, c, M_offset_5, 12, T[5]); - c = FF(c, d, a, b, M_offset_6, 17, T[6]); - b = FF(b, c, d, a, M_offset_7, 22, T[7]); - a = FF(a, b, c, d, M_offset_8, 7, T[8]); - d = FF(d, a, b, c, M_offset_9, 12, T[9]); - c = FF(c, d, a, b, M_offset_10, 17, T[10]); - b = FF(b, c, d, a, M_offset_11, 22, T[11]); - a = FF(a, b, c, d, M_offset_12, 7, T[12]); - d = FF(d, a, b, c, M_offset_13, 12, T[13]); - c = FF(c, d, a, b, M_offset_14, 17, T[14]); - b = FF(b, c, d, a, M_offset_15, 22, T[15]); - - a = GG(a, b, c, d, M_offset_1, 5, T[16]); - d = GG(d, a, b, c, M_offset_6, 9, T[17]); - c = GG(c, d, a, b, M_offset_11, 14, T[18]); - b = GG(b, c, d, a, M_offset_0, 20, T[19]); - a = GG(a, b, c, d, M_offset_5, 5, T[20]); - d = GG(d, a, b, c, M_offset_10, 9, T[21]); - c = GG(c, d, a, b, M_offset_15, 14, T[22]); - b = GG(b, c, d, a, M_offset_4, 20, T[23]); - a = GG(a, b, c, d, M_offset_9, 5, T[24]); - d = GG(d, a, b, c, M_offset_14, 9, T[25]); - c = GG(c, d, a, b, M_offset_3, 14, T[26]); - b = GG(b, c, d, a, M_offset_8, 20, T[27]); - a = GG(a, b, c, d, M_offset_13, 5, T[28]); - d = GG(d, a, b, c, M_offset_2, 9, T[29]); - c = GG(c, d, a, b, M_offset_7, 14, T[30]); - b = GG(b, c, d, a, M_offset_12, 20, T[31]); - - a = HH(a, b, c, d, M_offset_5, 4, T[32]); - d = HH(d, a, b, c, M_offset_8, 11, T[33]); - c = HH(c, d, a, b, M_offset_11, 16, T[34]); - b = HH(b, c, d, a, M_offset_14, 23, T[35]); - a = HH(a, b, c, d, M_offset_1, 4, T[36]); - d = HH(d, a, b, c, M_offset_4, 11, T[37]); - c = HH(c, d, a, b, M_offset_7, 16, T[38]); - b = HH(b, c, d, a, M_offset_10, 23, T[39]); - a = HH(a, b, c, d, M_offset_13, 4, T[40]); - d = HH(d, a, b, c, M_offset_0, 11, T[41]); - c = HH(c, d, a, b, M_offset_3, 16, T[42]); - b = HH(b, c, d, a, M_offset_6, 23, T[43]); - a = HH(a, b, c, d, M_offset_9, 4, T[44]); - d = HH(d, a, b, c, M_offset_12, 11, T[45]); - c = HH(c, d, a, b, M_offset_15, 16, T[46]); - b = HH(b, c, d, a, M_offset_2, 23, T[47]); - - a = II(a, b, c, d, M_offset_0, 6, T[48]); - d = II(d, a, b, c, M_offset_7, 10, T[49]); - c = II(c, d, a, b, M_offset_14, 15, T[50]); - b = II(b, c, d, a, M_offset_5, 21, T[51]); - a = II(a, b, c, d, M_offset_12, 6, T[52]); - d = II(d, a, b, c, M_offset_3, 10, T[53]); - c = II(c, d, a, b, M_offset_10, 15, T[54]); - b = II(b, c, d, a, M_offset_1, 21, T[55]); - a = II(a, b, c, d, M_offset_8, 6, T[56]); - d = II(d, a, b, c, M_offset_15, 10, T[57]); - c = II(c, d, a, b, M_offset_6, 15, T[58]); - b = II(b, c, d, a, M_offset_13, 21, T[59]); - a = II(a, b, c, d, M_offset_4, 6, T[60]); - d = II(d, a, b, c, M_offset_11, 10, T[61]); - c = II(c, d, a, b, M_offset_2, 15, T[62]); - b = II(b, c, d, a, M_offset_9, 21, T[63]); - - // Intermediate hash value - H[0] = (H[0] + a) | 0; - H[1] = (H[1] + b) | 0; - H[2] = (H[2] + c) | 0; - H[3] = (H[3] + d) | 0; - }, - - _doFinalize: function () { - // Shortcuts - var data = this._data; - var dataWords = data.words; - - var nBitsTotal = this._nDataBytes * 8; - var nBitsLeft = data.sigBytes * 8; - - // Add padding - dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); - - var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000); - var nBitsTotalL = nBitsTotal; - dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = ( - (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) | - (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00) - ); - dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( - (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) | - (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00) - ); - - data.sigBytes = (dataWords.length + 1) * 4; - - // Hash final blocks - this._process(); - - // Shortcuts - var hash = this._hash; - var H = hash.words; - - // Swap endian - for (var i = 0; i < 4; i++) { - // Shortcut - var H_i = H[i]; - - H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | - (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); - } - - // Return final computed hash - return hash; - }, - - clone: function () { - var clone = Hasher.clone.call(this); - clone._hash = this._hash.clone(); - - return clone; - } - }); - - function FF(a, b, c, d, x, s, t) { - var n = a + ((b & c) | (~b & d)) + x + t; - return ((n << s) | (n >>> (32 - s))) + b; - } - - function GG(a, b, c, d, x, s, t) { - var n = a + ((b & d) | (c & ~d)) + x + t; - return ((n << s) | (n >>> (32 - s))) + b; - } - - function HH(a, b, c, d, x, s, t) { - var n = a + (b ^ c ^ d) + x + t; - return ((n << s) | (n >>> (32 - s))) + b; - } - - function II(a, b, c, d, x, s, t) { - var n = a + (c ^ (b | ~d)) + x + t; - return ((n << s) | (n >>> (32 - s))) + b; - } - - /** - * Shortcut function to the hasher's object interface. - * - * @param {WordArray|string} message The message to hash. - * - * @return {WordArray} The hash. - * - * @static - * - * @example - * - * var hash = CryptoJS.MD5('message'); - * var hash = CryptoJS.MD5(wordArray); - */ - C.MD5 = Hasher._createHelper(MD5); - - /** - * Shortcut function to the HMAC's object interface. - * - * @param {WordArray|string} message The message to hash. - * @param {WordArray|string} key The secret key. - * - * @return {WordArray} The HMAC. - * - * @static - * - * @example - * - * var hmac = CryptoJS.HmacMD5(message, key); - */ - C.HmacMD5 = Hasher._createHmacHelper(MD5); -}(Math)); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - var Hasher = C_lib.Hasher; - var C_algo = C.algo; - - // Reusable object - var W = []; - - /** - * SHA-1 hash algorithm. - */ - var SHA1 = C_algo.SHA1 = Hasher.extend({ - _doReset: function () { - this._hash = new WordArray.init([ - 0x67452301, 0xefcdab89, - 0x98badcfe, 0x10325476, - 0xc3d2e1f0 - ]); - }, - - _doProcessBlock: function (M, offset) { - // Shortcut - var H = this._hash.words; - - // Working variables - var a = H[0]; - var b = H[1]; - var c = H[2]; - var d = H[3]; - var e = H[4]; - - // Computation - for (var i = 0; i < 80; i++) { - if (i < 16) { - W[i] = M[offset + i] | 0; - } else { - var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; - W[i] = (n << 1) | (n >>> 31); - } - - var t = ((a << 5) | (a >>> 27)) + e + W[i]; - if (i < 20) { - t += ((b & c) | (~b & d)) + 0x5a827999; - } else if (i < 40) { - t += (b ^ c ^ d) + 0x6ed9eba1; - } else if (i < 60) { - t += ((b & c) | (b & d) | (c & d)) - 0x70e44324; - } else /* if (i < 80) */ { - t += (b ^ c ^ d) - 0x359d3e2a; - } - - e = d; - d = c; - c = (b << 30) | (b >>> 2); - b = a; - a = t; - } - - // Intermediate hash value - H[0] = (H[0] + a) | 0; - H[1] = (H[1] + b) | 0; - H[2] = (H[2] + c) | 0; - H[3] = (H[3] + d) | 0; - H[4] = (H[4] + e) | 0; - }, - - _doFinalize: function () { - // Shortcuts - var data = this._data; - var dataWords = data.words; - - var nBitsTotal = this._nDataBytes * 8; - var nBitsLeft = data.sigBytes * 8; - - // Add padding - dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); - dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); - dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; - data.sigBytes = dataWords.length * 4; - - // Hash final blocks - this._process(); - - // Return final computed hash - return this._hash; - }, - - clone: function () { - var clone = Hasher.clone.call(this); - clone._hash = this._hash.clone(); - - return clone; - } - }); - - /** - * Shortcut function to the hasher's object interface. - * - * @param {WordArray|string} message The message to hash. - * - * @return {WordArray} The hash. - * - * @static - * - * @example - * - * var hash = CryptoJS.SHA1('message'); - * var hash = CryptoJS.SHA1(wordArray); - */ - C.SHA1 = Hasher._createHelper(SHA1); - - /** - * Shortcut function to the HMAC's object interface. - * - * @param {WordArray|string} message The message to hash. - * @param {WordArray|string} key The secret key. - * - * @return {WordArray} The HMAC. - * - * @static - * - * @example - * - * var hmac = CryptoJS.HmacSHA1(message, key); - */ - C.HmacSHA1 = Hasher._createHmacHelper(SHA1); -}()); - - -(function (Math) { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - var Hasher = C_lib.Hasher; - var C_algo = C.algo; - - // Initialization and round constants tables - var H = []; - var K = []; - - // Compute constants - (function () { - function isPrime(n) { - var sqrtN = Math.sqrt(n); - for (var factor = 2; factor <= sqrtN; factor++) { - if (!(n % factor)) { - return false; - } - } - - return true; - } - - function getFractionalBits(n) { - return ((n - (n | 0)) * 0x100000000) | 0; - } - - var n = 2; - var nPrime = 0; - while (nPrime < 64) { - if (isPrime(n)) { - if (nPrime < 8) { - H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2)); - } - K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3)); - - nPrime++; - } - - n++; - } - }()); - - // Reusable object - var W = []; - - /** - * SHA-256 hash algorithm. - */ - var SHA256 = C_algo.SHA256 = Hasher.extend({ - _doReset: function () { - this._hash = new WordArray.init(H.slice(0)); - }, - - _doProcessBlock: function (M, offset) { - // Shortcut - var H = this._hash.words; - - // Working variables - var a = H[0]; - var b = H[1]; - var c = H[2]; - var d = H[3]; - var e = H[4]; - var f = H[5]; - var g = H[6]; - var h = H[7]; - - // Computation - for (var i = 0; i < 64; i++) { - if (i < 16) { - W[i] = M[offset + i] | 0; - } else { - var gamma0x = W[i - 15]; - var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^ - ((gamma0x << 14) | (gamma0x >>> 18)) ^ - (gamma0x >>> 3); - - var gamma1x = W[i - 2]; - var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^ - ((gamma1x << 13) | (gamma1x >>> 19)) ^ - (gamma1x >>> 10); - - W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; - } - - var ch = (e & f) ^ (~e & g); - var maj = (a & b) ^ (a & c) ^ (b & c); - - var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22)); - var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25)); - - var t1 = h + sigma1 + ch + K[i] + W[i]; - var t2 = sigma0 + maj; - - h = g; - g = f; - f = e; - e = (d + t1) | 0; - d = c; - c = b; - b = a; - a = (t1 + t2) | 0; - } - - // Intermediate hash value - H[0] = (H[0] + a) | 0; - H[1] = (H[1] + b) | 0; - H[2] = (H[2] + c) | 0; - H[3] = (H[3] + d) | 0; - H[4] = (H[4] + e) | 0; - H[5] = (H[5] + f) | 0; - H[6] = (H[6] + g) | 0; - H[7] = (H[7] + h) | 0; - }, - - _doFinalize: function () { - // Shortcuts - var data = this._data; - var dataWords = data.words; - - var nBitsTotal = this._nDataBytes * 8; - var nBitsLeft = data.sigBytes * 8; - - // Add padding - dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); - dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); - dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; - data.sigBytes = dataWords.length * 4; - - // Hash final blocks - this._process(); - - // Return final computed hash - return this._hash; - }, - - clone: function () { - var clone = Hasher.clone.call(this); - clone._hash = this._hash.clone(); - - return clone; - } - }); - - /** - * Shortcut function to the hasher's object interface. - * - * @param {WordArray|string} message The message to hash. - * - * @return {WordArray} The hash. - * - * @static - * - * @example - * - * var hash = CryptoJS.SHA256('message'); - * var hash = CryptoJS.SHA256(wordArray); - */ - C.SHA256 = Hasher._createHelper(SHA256); - - /** - * Shortcut function to the HMAC's object interface. - * - * @param {WordArray|string} message The message to hash. - * @param {WordArray|string} key The secret key. - * - * @return {WordArray} The HMAC. - * - * @static - * - * @example - * - * var hmac = CryptoJS.HmacSHA256(message, key); - */ - C.HmacSHA256 = Hasher._createHmacHelper(SHA256); -}(Math)); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - var C_enc = C.enc; - - /** - * UTF-16 BE encoding strategy. - */ - var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = { - /** - * Converts a word array to a UTF-16 BE string. - * - * @param {WordArray} wordArray The word array. - * - * @return {string} The UTF-16 BE string. - * - * @static - * - * @example - * - * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray); - */ - stringify: function (wordArray) { - // Shortcuts - var words = wordArray.words; - var sigBytes = wordArray.sigBytes; - - // Convert - var utf16Chars = []; - for (var i = 0; i < sigBytes; i += 2) { - var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff; - utf16Chars.push(String.fromCharCode(codePoint)); - } - - return utf16Chars.join(''); - }, - - /** - * Converts a UTF-16 BE string to a word array. - * - * @param {string} utf16Str The UTF-16 BE string. - * - * @return {WordArray} The word array. - * - * @static - * - * @example - * - * var wordArray = CryptoJS.enc.Utf16.parse(utf16String); - */ - parse: function (utf16Str) { - // Shortcut - var utf16StrLength = utf16Str.length; - - // Convert - var words = []; - for (var i = 0; i < utf16StrLength; i++) { - words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16); - } - - return WordArray.create(words, utf16StrLength * 2); - } - }; - - /** - * UTF-16 LE encoding strategy. - */ - C_enc.Utf16LE = { - /** - * Converts a word array to a UTF-16 LE string. - * - * @param {WordArray} wordArray The word array. - * - * @return {string} The UTF-16 LE string. - * - * @static - * - * @example - * - * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray); - */ - stringify: function (wordArray) { - // Shortcuts - var words = wordArray.words; - var sigBytes = wordArray.sigBytes; - - // Convert - var utf16Chars = []; - for (var i = 0; i < sigBytes; i += 2) { - var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff); - utf16Chars.push(String.fromCharCode(codePoint)); - } - - return utf16Chars.join(''); - }, - - /** - * Converts a UTF-16 LE string to a word array. - * - * @param {string} utf16Str The UTF-16 LE string. - * - * @return {WordArray} The word array. - * - * @static - * - * @example - * - * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str); - */ - parse: function (utf16Str) { - // Shortcut - var utf16StrLength = utf16Str.length; - - // Convert - var words = []; - for (var i = 0; i < utf16StrLength; i++) { - words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16)); - } - - return WordArray.create(words, utf16StrLength * 2); - } - }; - - function swapEndian(word) { - return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff); - } -}()); - - -(function () { - // Check if typed arrays are supported - if (typeof ArrayBuffer != 'function') { - return; - } - - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - - // Reference original init - var superInit = WordArray.init; - - // Augment WordArray.init to handle typed arrays - var subInit = WordArray.init = function (typedArray) { - // Convert buffers to uint8 - if (typedArray instanceof ArrayBuffer) { - typedArray = new Uint8Array(typedArray); - } - - // Convert other array views to uint8 - if ( - typedArray instanceof Int8Array || - (typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray) || - typedArray instanceof Int16Array || - typedArray instanceof Uint16Array || - typedArray instanceof Int32Array || - typedArray instanceof Uint32Array || - typedArray instanceof Float32Array || - typedArray instanceof Float64Array - ) { - typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); - } - - // Handle Uint8Array - if (typedArray instanceof Uint8Array) { - // Shortcut - var typedArrayByteLength = typedArray.byteLength; - - // Extract bytes - var words = []; - for (var i = 0; i < typedArrayByteLength; i++) { - words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8); - } - - // Initialize this word array - superInit.call(this, words, typedArrayByteLength); - } else { - // Else call normal init - superInit.apply(this, arguments); - } - }; - - subInit.prototype = WordArray; -}()); - - -/** @preserve - (c) 2012 by Cédric Mesnil. All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -(function (Math) { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - var Hasher = C_lib.Hasher; - var C_algo = C.algo; - - // Constants table - var _zl = WordArray.create([ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, - 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, - 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, - 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]); - var _zr = WordArray.create([ - 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, - 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, - 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, - 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, - 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]); - var _sl = WordArray.create([ - 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, - 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, - 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, - 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, - 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]); - var _sr = WordArray.create([ - 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, - 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, - 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, - 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, - 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]); - - var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]); - var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]); - - /** - * RIPEMD160 hash algorithm. - */ - var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({ - _doReset: function () { - this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]); - }, - - _doProcessBlock: function (M, offset) { - - // Swap endian - for (var i = 0; i < 16; i++) { - // Shortcuts - var offset_i = offset + i; - var M_offset_i = M[offset_i]; - - // Swap - M[offset_i] = ( - (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | - (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) - ); - } - // Shortcut - var H = this._hash.words; - var hl = _hl.words; - var hr = _hr.words; - var zl = _zl.words; - var zr = _zr.words; - var sl = _sl.words; - var sr = _sr.words; - - // Working variables - var al, bl, cl, dl, el; - var ar, br, cr, dr, er; - - ar = al = H[0]; - br = bl = H[1]; - cr = cl = H[2]; - dr = dl = H[3]; - er = el = H[4]; - // Computation - var t; - for (var i = 0; i < 80; i += 1) { - t = (al + M[offset+zl[i]])|0; - if (i<16){ - t += f1(bl,cl,dl) + hl[0]; - } else if (i<32) { - t += f2(bl,cl,dl) + hl[1]; - } else if (i<48) { - t += f3(bl,cl,dl) + hl[2]; - } else if (i<64) { - t += f4(bl,cl,dl) + hl[3]; - } else {// if (i<80) { - t += f5(bl,cl,dl) + hl[4]; - } - t = t|0; - t = rotl(t,sl[i]); - t = (t+el)|0; - al = el; - el = dl; - dl = rotl(cl, 10); - cl = bl; - bl = t; - - t = (ar + M[offset+zr[i]])|0; - if (i<16){ - t += f5(br,cr,dr) + hr[0]; - } else if (i<32) { - t += f4(br,cr,dr) + hr[1]; - } else if (i<48) { - t += f3(br,cr,dr) + hr[2]; - } else if (i<64) { - t += f2(br,cr,dr) + hr[3]; - } else {// if (i<80) { - t += f1(br,cr,dr) + hr[4]; - } - t = t|0; - t = rotl(t,sr[i]) ; - t = (t+er)|0; - ar = er; - er = dr; - dr = rotl(cr, 10); - cr = br; - br = t; - } - // Intermediate hash value - t = (H[1] + cl + dr)|0; - H[1] = (H[2] + dl + er)|0; - H[2] = (H[3] + el + ar)|0; - H[3] = (H[4] + al + br)|0; - H[4] = (H[0] + bl + cr)|0; - H[0] = t; - }, - - _doFinalize: function () { - // Shortcuts - var data = this._data; - var dataWords = data.words; - - var nBitsTotal = this._nDataBytes * 8; - var nBitsLeft = data.sigBytes * 8; - - // Add padding - dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); - dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( - (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) | - (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00) - ); - data.sigBytes = (dataWords.length + 1) * 4; - - // Hash final blocks - this._process(); - - // Shortcuts - var hash = this._hash; - var H = hash.words; - - // Swap endian - for (var i = 0; i < 5; i++) { - // Shortcut - var H_i = H[i]; - - // Swap - H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | - (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); - } - - // Return final computed hash - return hash; - }, - - clone: function () { - var clone = Hasher.clone.call(this); - clone._hash = this._hash.clone(); - - return clone; - } - }); - - - function f1(x, y, z) { - return ((x) ^ (y) ^ (z)); - - } - - function f2(x, y, z) { - return (((x)&(y)) | ((~x)&(z))); - } - - function f3(x, y, z) { - return (((x) | (~(y))) ^ (z)); - } - - function f4(x, y, z) { - return (((x) & (z)) | ((y)&(~(z)))); - } - - function f5(x, y, z) { - return ((x) ^ ((y) |(~(z)))); - - } - - function rotl(x,n) { - return (x<>>(32-n)); - } - - - /** - * Shortcut function to the hasher's object interface. - * - * @param {WordArray|string} message The message to hash. - * - * @return {WordArray} The hash. - * - * @static - * - * @example - * - * var hash = CryptoJS.RIPEMD160('message'); - * var hash = CryptoJS.RIPEMD160(wordArray); - */ - C.RIPEMD160 = Hasher._createHelper(RIPEMD160); - - /** - * Shortcut function to the HMAC's object interface. - * - * @param {WordArray|string} message The message to hash. - * @param {WordArray|string} key The secret key. - * - * @return {WordArray} The HMAC. - * - * @static - * - * @example - * - * var hmac = CryptoJS.HmacRIPEMD160(message, key); - */ - C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160); -}(Math)); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var Base = C_lib.Base; - var C_enc = C.enc; - var Utf8 = C_enc.Utf8; - var C_algo = C.algo; - - /** - * HMAC algorithm. - */ - var HMAC = C_algo.HMAC = Base.extend({ - /** - * Initializes a newly created HMAC. - * - * @param {Hasher} hasher The hash algorithm to use. - * @param {WordArray|string} key The secret key. - * - * @example - * - * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key); - */ - init: function (hasher, key) { - // Init hasher - hasher = this._hasher = new hasher.init(); - - // Convert string to WordArray, else assume WordArray already - if (typeof key == 'string') { - key = Utf8.parse(key); - } - - // Shortcuts - var hasherBlockSize = hasher.blockSize; - var hasherBlockSizeBytes = hasherBlockSize * 4; - - // Allow arbitrary length keys - if (key.sigBytes > hasherBlockSizeBytes) { - key = hasher.finalize(key); - } - - // Clamp excess bits - key.clamp(); - - // Clone key for inner and outer pads - var oKey = this._oKey = key.clone(); - var iKey = this._iKey = key.clone(); - - // Shortcuts - var oKeyWords = oKey.words; - var iKeyWords = iKey.words; - - // XOR keys with pad constants - for (var i = 0; i < hasherBlockSize; i++) { - oKeyWords[i] ^= 0x5c5c5c5c; - iKeyWords[i] ^= 0x36363636; - } - oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes; - - // Set initial values - this.reset(); - }, - - /** - * Resets this HMAC to its initial state. - * - * @example - * - * hmacHasher.reset(); - */ - reset: function () { - // Shortcut - var hasher = this._hasher; - - // Reset - hasher.reset(); - hasher.update(this._iKey); - }, - - /** - * Updates this HMAC with a message. - * - * @param {WordArray|string} messageUpdate The message to append. - * - * @return {HMAC} This HMAC instance. - * - * @example - * - * hmacHasher.update('message'); - * hmacHasher.update(wordArray); - */ - update: function (messageUpdate) { - this._hasher.update(messageUpdate); - - // Chainable - return this; - }, - - /** - * Finalizes the HMAC computation. - * Note that the finalize operation is effectively a destructive, read-once operation. - * - * @param {WordArray|string} messageUpdate (Optional) A final message update. - * - * @return {WordArray} The HMAC. - * - * @example - * - * var hmac = hmacHasher.finalize(); - * var hmac = hmacHasher.finalize('message'); - * var hmac = hmacHasher.finalize(wordArray); - */ - finalize: function (messageUpdate) { - // Shortcut - var hasher = this._hasher; - - // Compute HMAC - var innerHash = hasher.finalize(messageUpdate); - hasher.reset(); - var hmac = hasher.finalize(this._oKey.clone().concat(innerHash)); - - return hmac; - } - }); -}()); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var Base = C_lib.Base; - var WordArray = C_lib.WordArray; - var C_algo = C.algo; - var SHA1 = C_algo.SHA1; - var HMAC = C_algo.HMAC; - - /** - * Password-Based Key Derivation Function 2 algorithm. - */ - var PBKDF2 = C_algo.PBKDF2 = Base.extend({ - /** - * Configuration options. - * - * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) - * @property {Hasher} hasher The hasher to use. Default: SHA1 - * @property {number} iterations The number of iterations to perform. Default: 1 - */ - cfg: Base.extend({ - keySize: 128/32, - hasher: SHA1, - iterations: 1 - }), - - /** - * Initializes a newly created key derivation function. - * - * @param {Object} cfg (Optional) The configuration options to use for the derivation. - * - * @example - * - * var kdf = CryptoJS.algo.PBKDF2.create(); - * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 }); - * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 }); - */ - init: function (cfg) { - this.cfg = this.cfg.extend(cfg); - }, - - /** - * Computes the Password-Based Key Derivation Function 2. - * - * @param {WordArray|string} password The password. - * @param {WordArray|string} salt A salt. - * - * @return {WordArray} The derived key. - * - * @example - * - * var key = kdf.compute(password, salt); - */ - compute: function (password, salt) { - // Shortcut - var cfg = this.cfg; - - // Init HMAC - var hmac = HMAC.create(cfg.hasher, password); - - // Initial values - var derivedKey = WordArray.create(); - var blockIndex = WordArray.create([0x00000001]); - - // Shortcuts - var derivedKeyWords = derivedKey.words; - var blockIndexWords = blockIndex.words; - var keySize = cfg.keySize; - var iterations = cfg.iterations; - - // Generate key - while (derivedKeyWords.length < keySize) { - var block = hmac.update(salt).finalize(blockIndex); - hmac.reset(); - - // Shortcuts - var blockWords = block.words; - var blockWordsLength = blockWords.length; - - // Iterations - var intermediate = block; - for (var i = 1; i < iterations; i++) { - intermediate = hmac.finalize(intermediate); - hmac.reset(); - - // Shortcut - var intermediateWords = intermediate.words; - - // XOR intermediate with block - for (var j = 0; j < blockWordsLength; j++) { - blockWords[j] ^= intermediateWords[j]; - } - } - - derivedKey.concat(block); - blockIndexWords[0]++; - } - derivedKey.sigBytes = keySize * 4; - - return derivedKey; - } - }); - - /** - * Computes the Password-Based Key Derivation Function 2. - * - * @param {WordArray|string} password The password. - * @param {WordArray|string} salt A salt. - * @param {Object} cfg (Optional) The configuration options to use for this computation. - * - * @return {WordArray} The derived key. - * - * @static - * - * @example - * - * var key = CryptoJS.PBKDF2(password, salt); - * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 }); - * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 }); - */ - C.PBKDF2 = function (password, salt, cfg) { - return PBKDF2.create(cfg).compute(password, salt); - }; -}()); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var Base = C_lib.Base; - var WordArray = C_lib.WordArray; - var C_algo = C.algo; - var MD5 = C_algo.MD5; - - /** - * This key derivation function is meant to conform with EVP_BytesToKey. - * www.openssl.org/docs/crypto/EVP_BytesToKey.html - */ - var EvpKDF = C_algo.EvpKDF = Base.extend({ - /** - * Configuration options. - * - * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) - * @property {Hasher} hasher The hash algorithm to use. Default: MD5 - * @property {number} iterations The number of iterations to perform. Default: 1 - */ - cfg: Base.extend({ - keySize: 128/32, - hasher: MD5, - iterations: 1 - }), - - /** - * Initializes a newly created key derivation function. - * - * @param {Object} cfg (Optional) The configuration options to use for the derivation. - * - * @example - * - * var kdf = CryptoJS.algo.EvpKDF.create(); - * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 }); - * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 }); - */ - init: function (cfg) { - this.cfg = this.cfg.extend(cfg); - }, - - /** - * Derives a key from a password. - * - * @param {WordArray|string} password The password. - * @param {WordArray|string} salt A salt. - * - * @return {WordArray} The derived key. - * - * @example - * - * var key = kdf.compute(password, salt); - */ - compute: function (password, salt) { - // Shortcut - var cfg = this.cfg; - - // Init hasher - var hasher = cfg.hasher.create(); - - // Initial values - var derivedKey = WordArray.create(); - - // Shortcuts - var derivedKeyWords = derivedKey.words; - var keySize = cfg.keySize; - var iterations = cfg.iterations; - - // Generate key - while (derivedKeyWords.length < keySize) { - if (block) { - hasher.update(block); - } - var block = hasher.update(password).finalize(salt); - hasher.reset(); - - // Iterations - for (var i = 1; i < iterations; i++) { - block = hasher.finalize(block); - hasher.reset(); - } - - derivedKey.concat(block); - } - derivedKey.sigBytes = keySize * 4; - - return derivedKey; - } - }); - - /** - * Derives a key from a password. - * - * @param {WordArray|string} password The password. - * @param {WordArray|string} salt A salt. - * @param {Object} cfg (Optional) The configuration options to use for this computation. - * - * @return {WordArray} The derived key. - * - * @static - * - * @example - * - * var key = CryptoJS.EvpKDF(password, salt); - * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 }); - * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 }); - */ - C.EvpKDF = function (password, salt, cfg) { - return EvpKDF.create(cfg).compute(password, salt); - }; -}()); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - var C_algo = C.algo; - var SHA256 = C_algo.SHA256; - - /** - * SHA-224 hash algorithm. - */ - var SHA224 = C_algo.SHA224 = SHA256.extend({ - _doReset: function () { - this._hash = new WordArray.init([ - 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, - 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 - ]); - }, - - _doFinalize: function () { - var hash = SHA256._doFinalize.call(this); - - hash.sigBytes -= 4; - - return hash; - } - }); - - /** - * Shortcut function to the hasher's object interface. - * - * @param {WordArray|string} message The message to hash. - * - * @return {WordArray} The hash. - * - * @static - * - * @example - * - * var hash = CryptoJS.SHA224('message'); - * var hash = CryptoJS.SHA224(wordArray); - */ - C.SHA224 = SHA256._createHelper(SHA224); - - /** - * Shortcut function to the HMAC's object interface. - * - * @param {WordArray|string} message The message to hash. - * @param {WordArray|string} key The secret key. - * - * @return {WordArray} The HMAC. - * - * @static - * - * @example - * - * var hmac = CryptoJS.HmacSHA224(message, key); - */ - C.HmacSHA224 = SHA256._createHmacHelper(SHA224); -}()); - - -(function (undefined) { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var Base = C_lib.Base; - var X32WordArray = C_lib.WordArray; - - /** - * x64 namespace. - */ - var C_x64 = C.x64 = {}; - - /** - * A 64-bit word. - */ - var X64Word = C_x64.Word = Base.extend({ - /** - * Initializes a newly created 64-bit word. - * - * @param {number} high The high 32 bits. - * @param {number} low The low 32 bits. - * - * @example - * - * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607); - */ - init: function (high, low) { - this.high = high; - this.low = low; - } - - /** - * Bitwise NOTs this word. - * - * @return {X64Word} A new x64-Word object after negating. - * - * @example - * - * var negated = x64Word.not(); - */ - // not: function () { - // var high = ~this.high; - // var low = ~this.low; - - // return X64Word.create(high, low); - // }, - - /** - * Bitwise ANDs this word with the passed word. - * - * @param {X64Word} word The x64-Word to AND with this word. - * - * @return {X64Word} A new x64-Word object after ANDing. - * - * @example - * - * var anded = x64Word.and(anotherX64Word); - */ - // and: function (word) { - // var high = this.high & word.high; - // var low = this.low & word.low; - - // return X64Word.create(high, low); - // }, - - /** - * Bitwise ORs this word with the passed word. - * - * @param {X64Word} word The x64-Word to OR with this word. - * - * @return {X64Word} A new x64-Word object after ORing. - * - * @example - * - * var ored = x64Word.or(anotherX64Word); - */ - // or: function (word) { - // var high = this.high | word.high; - // var low = this.low | word.low; - - // return X64Word.create(high, low); - // }, - - /** - * Bitwise XORs this word with the passed word. - * - * @param {X64Word} word The x64-Word to XOR with this word. - * - * @return {X64Word} A new x64-Word object after XORing. - * - * @example - * - * var xored = x64Word.xor(anotherX64Word); - */ - // xor: function (word) { - // var high = this.high ^ word.high; - // var low = this.low ^ word.low; - - // return X64Word.create(high, low); - // }, - - /** - * Shifts this word n bits to the left. - * - * @param {number} n The number of bits to shift. - * - * @return {X64Word} A new x64-Word object after shifting. - * - * @example - * - * var shifted = x64Word.shiftL(25); - */ - // shiftL: function (n) { - // if (n < 32) { - // var high = (this.high << n) | (this.low >>> (32 - n)); - // var low = this.low << n; - // } else { - // var high = this.low << (n - 32); - // var low = 0; - // } - - // return X64Word.create(high, low); - // }, - - /** - * Shifts this word n bits to the right. - * - * @param {number} n The number of bits to shift. - * - * @return {X64Word} A new x64-Word object after shifting. - * - * @example - * - * var shifted = x64Word.shiftR(7); - */ - // shiftR: function (n) { - // if (n < 32) { - // var low = (this.low >>> n) | (this.high << (32 - n)); - // var high = this.high >>> n; - // } else { - // var low = this.high >>> (n - 32); - // var high = 0; - // } - - // return X64Word.create(high, low); - // }, - - /** - * Rotates this word n bits to the left. - * - * @param {number} n The number of bits to rotate. - * - * @return {X64Word} A new x64-Word object after rotating. - * - * @example - * - * var rotated = x64Word.rotL(25); - */ - // rotL: function (n) { - // return this.shiftL(n).or(this.shiftR(64 - n)); - // }, - - /** - * Rotates this word n bits to the right. - * - * @param {number} n The number of bits to rotate. - * - * @return {X64Word} A new x64-Word object after rotating. - * - * @example - * - * var rotated = x64Word.rotR(7); - */ - // rotR: function (n) { - // return this.shiftR(n).or(this.shiftL(64 - n)); - // }, - - /** - * Adds this word with the passed word. - * - * @param {X64Word} word The x64-Word to add with this word. - * - * @return {X64Word} A new x64-Word object after adding. - * - * @example - * - * var added = x64Word.add(anotherX64Word); - */ - // add: function (word) { - // var low = (this.low + word.low) | 0; - // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0; - // var high = (this.high + word.high + carry) | 0; - - // return X64Word.create(high, low); - // } - }); - - /** - * An array of 64-bit words. - * - * @property {Array} words The array of CryptoJS.x64.Word objects. - * @property {number} sigBytes The number of significant bytes in this word array. - */ - var X64WordArray = C_x64.WordArray = Base.extend({ - /** - * Initializes a newly created word array. - * - * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects. - * @param {number} sigBytes (Optional) The number of significant bytes in the words. - * - * @example - * - * var wordArray = CryptoJS.x64.WordArray.create(); - * - * var wordArray = CryptoJS.x64.WordArray.create([ - * CryptoJS.x64.Word.create(0x00010203, 0x04050607), - * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) - * ]); - * - * var wordArray = CryptoJS.x64.WordArray.create([ - * CryptoJS.x64.Word.create(0x00010203, 0x04050607), - * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) - * ], 10); - */ - init: function (words, sigBytes) { - words = this.words = words || []; - - if (sigBytes != undefined) { - this.sigBytes = sigBytes; - } else { - this.sigBytes = words.length * 8; - } - }, - - /** - * Converts this 64-bit word array to a 32-bit word array. - * - * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array. - * - * @example - * - * var x32WordArray = x64WordArray.toX32(); - */ - toX32: function () { - // Shortcuts - var x64Words = this.words; - var x64WordsLength = x64Words.length; - - // Convert - var x32Words = []; - for (var i = 0; i < x64WordsLength; i++) { - var x64Word = x64Words[i]; - x32Words.push(x64Word.high); - x32Words.push(x64Word.low); - } - - return X32WordArray.create(x32Words, this.sigBytes); - }, - - /** - * Creates a copy of this word array. - * - * @return {X64WordArray} The clone. - * - * @example - * - * var clone = x64WordArray.clone(); - */ - clone: function () { - var clone = Base.clone.call(this); - - // Clone "words" array - var words = clone.words = this.words.slice(0); - - // Clone each X64Word object - var wordsLength = words.length; - for (var i = 0; i < wordsLength; i++) { - words[i] = words[i].clone(); - } - - return clone; - } - }); -}()); - - -(function (Math) { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - var Hasher = C_lib.Hasher; - var C_x64 = C.x64; - var X64Word = C_x64.Word; - var C_algo = C.algo; - - // Constants tables - var RHO_OFFSETS = []; - var PI_INDEXES = []; - var ROUND_CONSTANTS = []; - - // Compute Constants - (function () { - // Compute rho offset constants - var x = 1, y = 0; - for (var t = 0; t < 24; t++) { - RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64; - - var newX = y % 5; - var newY = (2 * x + 3 * y) % 5; - x = newX; - y = newY; - } - - // Compute pi index constants - for (var x = 0; x < 5; x++) { - for (var y = 0; y < 5; y++) { - PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5; - } - } - - // Compute round constants - var LFSR = 0x01; - for (var i = 0; i < 24; i++) { - var roundConstantMsw = 0; - var roundConstantLsw = 0; - - for (var j = 0; j < 7; j++) { - if (LFSR & 0x01) { - var bitPosition = (1 << j) - 1; - if (bitPosition < 32) { - roundConstantLsw ^= 1 << bitPosition; - } else /* if (bitPosition >= 32) */ { - roundConstantMsw ^= 1 << (bitPosition - 32); - } - } - - // Compute next LFSR - if (LFSR & 0x80) { - // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1 - LFSR = (LFSR << 1) ^ 0x71; - } else { - LFSR <<= 1; - } - } - - ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw); - } - }()); - - // Reusable objects for temporary values - var T = []; - (function () { - for (var i = 0; i < 25; i++) { - T[i] = X64Word.create(); - } - }()); - - /** - * SHA-3 hash algorithm. - */ - var SHA3 = C_algo.SHA3 = Hasher.extend({ - /** - * Configuration options. - * - * @property {number} outputLength - * The desired number of bits in the output hash. - * Only values permitted are: 224, 256, 384, 512. - * Default: 512 - */ - cfg: Hasher.cfg.extend({ - outputLength: 512 - }), - - _doReset: function () { - var state = this._state = [] - for (var i = 0; i < 25; i++) { - state[i] = new X64Word.init(); - } - - this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32; - }, - - _doProcessBlock: function (M, offset) { - // Shortcuts - var state = this._state; - var nBlockSizeLanes = this.blockSize / 2; - - // Absorb - for (var i = 0; i < nBlockSizeLanes; i++) { - // Shortcuts - var M2i = M[offset + 2 * i]; - var M2i1 = M[offset + 2 * i + 1]; - - // Swap endian - M2i = ( - (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) | - (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00) - ); - M2i1 = ( - (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) | - (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00) - ); - - // Absorb message into state - var lane = state[i]; - lane.high ^= M2i1; - lane.low ^= M2i; - } - - // Rounds - for (var round = 0; round < 24; round++) { - // Theta - for (var x = 0; x < 5; x++) { - // Mix column lanes - var tMsw = 0, tLsw = 0; - for (var y = 0; y < 5; y++) { - var lane = state[x + 5 * y]; - tMsw ^= lane.high; - tLsw ^= lane.low; - } - - // Temporary values - var Tx = T[x]; - Tx.high = tMsw; - Tx.low = tLsw; - } - for (var x = 0; x < 5; x++) { - // Shortcuts - var Tx4 = T[(x + 4) % 5]; - var Tx1 = T[(x + 1) % 5]; - var Tx1Msw = Tx1.high; - var Tx1Lsw = Tx1.low; - - // Mix surrounding columns - var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31)); - var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31)); - for (var y = 0; y < 5; y++) { - var lane = state[x + 5 * y]; - lane.high ^= tMsw; - lane.low ^= tLsw; - } - } - - // Rho Pi - for (var laneIndex = 1; laneIndex < 25; laneIndex++) { - // Shortcuts - var lane = state[laneIndex]; - var laneMsw = lane.high; - var laneLsw = lane.low; - var rhoOffset = RHO_OFFSETS[laneIndex]; - - // Rotate lanes - if (rhoOffset < 32) { - var tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset)); - var tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset)); - } else /* if (rhoOffset >= 32) */ { - var tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset)); - var tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset)); - } - - // Transpose lanes - var TPiLane = T[PI_INDEXES[laneIndex]]; - TPiLane.high = tMsw; - TPiLane.low = tLsw; - } - - // Rho pi at x = y = 0 - var T0 = T[0]; - var state0 = state[0]; - T0.high = state0.high; - T0.low = state0.low; - - // Chi - for (var x = 0; x < 5; x++) { - for (var y = 0; y < 5; y++) { - // Shortcuts - var laneIndex = x + 5 * y; - var lane = state[laneIndex]; - var TLane = T[laneIndex]; - var Tx1Lane = T[((x + 1) % 5) + 5 * y]; - var Tx2Lane = T[((x + 2) % 5) + 5 * y]; - - // Mix rows - lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high); - lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low); - } - } - - // Iota - var lane = state[0]; - var roundConstant = ROUND_CONSTANTS[round]; - lane.high ^= roundConstant.high; - lane.low ^= roundConstant.low;; - } - }, - - _doFinalize: function () { - // Shortcuts - var data = this._data; - var dataWords = data.words; - var nBitsTotal = this._nDataBytes * 8; - var nBitsLeft = data.sigBytes * 8; - var blockSizeBits = this.blockSize * 32; - - // Add padding - dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32); - dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80; - data.sigBytes = dataWords.length * 4; - - // Hash final blocks - this._process(); - - // Shortcuts - var state = this._state; - var outputLengthBytes = this.cfg.outputLength / 8; - var outputLengthLanes = outputLengthBytes / 8; - - // Squeeze - var hashWords = []; - for (var i = 0; i < outputLengthLanes; i++) { - // Shortcuts - var lane = state[i]; - var laneMsw = lane.high; - var laneLsw = lane.low; - - // Swap endian - laneMsw = ( - (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) | - (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00) - ); - laneLsw = ( - (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) | - (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00) - ); - - // Squeeze state to retrieve hash - hashWords.push(laneLsw); - hashWords.push(laneMsw); - } - - // Return final computed hash - return new WordArray.init(hashWords, outputLengthBytes); - }, - - clone: function () { - var clone = Hasher.clone.call(this); - - var state = clone._state = this._state.slice(0); - for (var i = 0; i < 25; i++) { - state[i] = state[i].clone(); - } - - return clone; - } - }); - - /** - * Shortcut function to the hasher's object interface. - * - * @param {WordArray|string} message The message to hash. - * - * @return {WordArray} The hash. - * - * @static - * - * @example - * - * var hash = CryptoJS.SHA3('message'); - * var hash = CryptoJS.SHA3(wordArray); - */ - C.SHA3 = Hasher._createHelper(SHA3); - - /** - * Shortcut function to the HMAC's object interface. - * - * @param {WordArray|string} message The message to hash. - * @param {WordArray|string} key The secret key. - * - * @return {WordArray} The HMAC. - * - * @static - * - * @example - * - * var hmac = CryptoJS.HmacSHA3(message, key); - */ - C.HmacSHA3 = Hasher._createHmacHelper(SHA3); -}(Math)); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var Hasher = C_lib.Hasher; - var C_x64 = C.x64; - var X64Word = C_x64.Word; - var X64WordArray = C_x64.WordArray; - var C_algo = C.algo; - - function X64Word_create() { - return X64Word.create.apply(X64Word, arguments); - } - - // Constants - var K = [ - X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), - X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), - X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), - X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), - X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), - X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), - X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), - X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), - X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), - X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), - X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), - X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), - X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), - X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), - X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), - X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), - X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), - X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), - X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), - X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), - X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), - X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), - X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), - X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), - X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), - X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), - X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), - X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), - X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), - X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), - X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), - X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), - X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), - X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), - X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), - X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), - X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), - X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), - X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), - X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817) - ]; - - // Reusable objects - var W = []; - (function () { - for (var i = 0; i < 80; i++) { - W[i] = X64Word_create(); - } - }()); - - /** - * SHA-512 hash algorithm. - */ - var SHA512 = C_algo.SHA512 = Hasher.extend({ - _doReset: function () { - this._hash = new X64WordArray.init([ - new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), - new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), - new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), - new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179) - ]); - }, - - _doProcessBlock: function (M, offset) { - // Shortcuts - var H = this._hash.words; - - var H0 = H[0]; - var H1 = H[1]; - var H2 = H[2]; - var H3 = H[3]; - var H4 = H[4]; - var H5 = H[5]; - var H6 = H[6]; - var H7 = H[7]; - - var H0h = H0.high; - var H0l = H0.low; - var H1h = H1.high; - var H1l = H1.low; - var H2h = H2.high; - var H2l = H2.low; - var H3h = H3.high; - var H3l = H3.low; - var H4h = H4.high; - var H4l = H4.low; - var H5h = H5.high; - var H5l = H5.low; - var H6h = H6.high; - var H6l = H6.low; - var H7h = H7.high; - var H7l = H7.low; - - // Working variables - var ah = H0h; - var al = H0l; - var bh = H1h; - var bl = H1l; - var ch = H2h; - var cl = H2l; - var dh = H3h; - var dl = H3l; - var eh = H4h; - var el = H4l; - var fh = H5h; - var fl = H5l; - var gh = H6h; - var gl = H6l; - var hh = H7h; - var hl = H7l; - - // Rounds - for (var i = 0; i < 80; i++) { - // Shortcut - var Wi = W[i]; - - // Extend message - if (i < 16) { - var Wih = Wi.high = M[offset + i * 2] | 0; - var Wil = Wi.low = M[offset + i * 2 + 1] | 0; - } else { - // Gamma0 - var gamma0x = W[i - 15]; - var gamma0xh = gamma0x.high; - var gamma0xl = gamma0x.low; - var gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7); - var gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25)); - - // Gamma1 - var gamma1x = W[i - 2]; - var gamma1xh = gamma1x.high; - var gamma1xl = gamma1x.low; - var gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6); - var gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26)); - - // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] - var Wi7 = W[i - 7]; - var Wi7h = Wi7.high; - var Wi7l = Wi7.low; - - var Wi16 = W[i - 16]; - var Wi16h = Wi16.high; - var Wi16l = Wi16.low; - - var Wil = gamma0l + Wi7l; - var Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0); - var Wil = Wil + gamma1l; - var Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0); - var Wil = Wil + Wi16l; - var Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0); - - Wi.high = Wih; - Wi.low = Wil; - } - - var chh = (eh & fh) ^ (~eh & gh); - var chl = (el & fl) ^ (~el & gl); - var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch); - var majl = (al & bl) ^ (al & cl) ^ (bl & cl); - - var sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7)); - var sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7)); - var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9)); - var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)); - - // t1 = h + sigma1 + ch + K[i] + W[i] - var Ki = K[i]; - var Kih = Ki.high; - var Kil = Ki.low; - - var t1l = hl + sigma1l; - var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0); - var t1l = t1l + chl; - var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0); - var t1l = t1l + Kil; - var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0); - var t1l = t1l + Wil; - var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0); - - // t2 = sigma0 + maj - var t2l = sigma0l + majl; - var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0); - - // Update working variables - hh = gh; - hl = gl; - gh = fh; - gl = fl; - fh = eh; - fl = el; - el = (dl + t1l) | 0; - eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0; - dh = ch; - dl = cl; - ch = bh; - cl = bl; - bh = ah; - bl = al; - al = (t1l + t2l) | 0; - ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0; - } - - // Intermediate hash value - H0l = H0.low = (H0l + al); - H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0)); - H1l = H1.low = (H1l + bl); - H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0)); - H2l = H2.low = (H2l + cl); - H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0)); - H3l = H3.low = (H3l + dl); - H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0)); - H4l = H4.low = (H4l + el); - H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0)); - H5l = H5.low = (H5l + fl); - H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0)); - H6l = H6.low = (H6l + gl); - H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0)); - H7l = H7.low = (H7l + hl); - H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0)); - }, - - _doFinalize: function () { - // Shortcuts - var data = this._data; - var dataWords = data.words; - - var nBitsTotal = this._nDataBytes * 8; - var nBitsLeft = data.sigBytes * 8; - - // Add padding - dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); - dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000); - dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal; - data.sigBytes = dataWords.length * 4; - - // Hash final blocks - this._process(); - - // Convert hash to 32-bit word array before returning - var hash = this._hash.toX32(); - - // Return final computed hash - return hash; - }, - - clone: function () { - var clone = Hasher.clone.call(this); - clone._hash = this._hash.clone(); - - return clone; - }, - - blockSize: 1024/32 - }); - - /** - * Shortcut function to the hasher's object interface. - * - * @param {WordArray|string} message The message to hash. - * - * @return {WordArray} The hash. - * - * @static - * - * @example - * - * var hash = CryptoJS.SHA512('message'); - * var hash = CryptoJS.SHA512(wordArray); - */ - C.SHA512 = Hasher._createHelper(SHA512); - - /** - * Shortcut function to the HMAC's object interface. - * - * @param {WordArray|string} message The message to hash. - * @param {WordArray|string} key The secret key. - * - * @return {WordArray} The HMAC. - * - * @static - * - * @example - * - * var hmac = CryptoJS.HmacSHA512(message, key); - */ - C.HmacSHA512 = Hasher._createHmacHelper(SHA512); -}()); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_x64 = C.x64; - var X64Word = C_x64.Word; - var X64WordArray = C_x64.WordArray; - var C_algo = C.algo; - var SHA512 = C_algo.SHA512; - - /** - * SHA-384 hash algorithm. - */ - var SHA384 = C_algo.SHA384 = SHA512.extend({ - _doReset: function () { - this._hash = new X64WordArray.init([ - new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), - new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), - new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), - new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4) - ]); - }, - - _doFinalize: function () { - var hash = SHA512._doFinalize.call(this); - - hash.sigBytes -= 16; - - return hash; - } - }); - - /** - * Shortcut function to the hasher's object interface. - * - * @param {WordArray|string} message The message to hash. - * - * @return {WordArray} The hash. - * - * @static - * - * @example - * - * var hash = CryptoJS.SHA384('message'); - * var hash = CryptoJS.SHA384(wordArray); - */ - C.SHA384 = SHA512._createHelper(SHA384); - - /** - * Shortcut function to the HMAC's object interface. - * - * @param {WordArray|string} message The message to hash. - * @param {WordArray|string} key The secret key. - * - * @return {WordArray} The HMAC. - * - * @static - * - * @example - * - * var hmac = CryptoJS.HmacSHA384(message, key); - */ - C.HmacSHA384 = SHA512._createHmacHelper(SHA384); -}()); - - -/** - * Cipher core components. - */ -CryptoJS.lib.Cipher || (function (undefined) { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var Base = C_lib.Base; - var WordArray = C_lib.WordArray; - var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm; - var C_enc = C.enc; - var Utf8 = C_enc.Utf8; - var Base64 = C_enc.Base64; - var C_algo = C.algo; - var EvpKDF = C_algo.EvpKDF; - - /** - * Abstract base cipher template. - * - * @property {number} keySize This cipher's key size. Default: 4 (128 bits) - * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits) - * @property {number} _ENC_XFORM_MODE A constant representing encryption mode. - * @property {number} _DEC_XFORM_MODE A constant representing decryption mode. - */ - var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({ - /** - * Configuration options. - * - * @property {WordArray} iv The IV to use for this operation. - */ - cfg: Base.extend(), - - /** - * Creates this cipher in encryption mode. - * - * @param {WordArray} key The key. - * @param {Object} cfg (Optional) The configuration options to use for this operation. - * - * @return {Cipher} A cipher instance. - * - * @static - * - * @example - * - * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray }); - */ - createEncryptor: function (key, cfg) { - return this.create(this._ENC_XFORM_MODE, key, cfg); - }, - - /** - * Creates this cipher in decryption mode. - * - * @param {WordArray} key The key. - * @param {Object} cfg (Optional) The configuration options to use for this operation. - * - * @return {Cipher} A cipher instance. - * - * @static - * - * @example - * - * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray }); - */ - createDecryptor: function (key, cfg) { - return this.create(this._DEC_XFORM_MODE, key, cfg); - }, - - /** - * Initializes a newly created cipher. - * - * @param {number} xformMode Either the encryption or decryption transormation mode constant. - * @param {WordArray} key The key. - * @param {Object} cfg (Optional) The configuration options to use for this operation. - * - * @example - * - * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray }); - */ - init: function (xformMode, key, cfg) { - // Apply config defaults - this.cfg = this.cfg.extend(cfg); - - // Store transform mode and key - this._xformMode = xformMode; - this._key = key; - - // Set initial values - this.reset(); - }, - - /** - * Resets this cipher to its initial state. - * - * @example - * - * cipher.reset(); - */ - reset: function () { - // Reset data buffer - BufferedBlockAlgorithm.reset.call(this); - - // Perform concrete-cipher logic - this._doReset(); - }, - - /** - * Adds data to be encrypted or decrypted. - * - * @param {WordArray|string} dataUpdate The data to encrypt or decrypt. - * - * @return {WordArray} The data after processing. - * - * @example - * - * var encrypted = cipher.process('data'); - * var encrypted = cipher.process(wordArray); - */ - process: function (dataUpdate) { - // Append - this._append(dataUpdate); - - // Process available blocks - return this._process(); - }, - - /** - * Finalizes the encryption or decryption process. - * Note that the finalize operation is effectively a destructive, read-once operation. - * - * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt. - * - * @return {WordArray} The data after final processing. - * - * @example - * - * var encrypted = cipher.finalize(); - * var encrypted = cipher.finalize('data'); - * var encrypted = cipher.finalize(wordArray); - */ - finalize: function (dataUpdate) { - // Final data update - if (dataUpdate) { - this._append(dataUpdate); - } - - // Perform concrete-cipher logic - var finalProcessedData = this._doFinalize(); - - return finalProcessedData; - }, - - keySize: 128/32, - - ivSize: 128/32, - - _ENC_XFORM_MODE: 1, - - _DEC_XFORM_MODE: 2, - - /** - * Creates shortcut functions to a cipher's object interface. - * - * @param {Cipher} cipher The cipher to create a helper for. - * - * @return {Object} An object with encrypt and decrypt shortcut functions. - * - * @static - * - * @example - * - * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES); - */ - _createHelper: (function () { - function selectCipherStrategy(key) { - if (typeof key == 'string') { - return PasswordBasedCipher; - } else { - return SerializableCipher; - } - } - - return function (cipher) { - return { - encrypt: function (message, key, cfg) { - return selectCipherStrategy(key).encrypt(cipher, message, key, cfg); - }, - - decrypt: function (ciphertext, key, cfg) { - return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg); - } - }; - }; - }()) - }); - - /** - * Abstract base stream cipher template. - * - * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits) - */ - var StreamCipher = C_lib.StreamCipher = Cipher.extend({ - _doFinalize: function () { - // Process partial blocks - var finalProcessedBlocks = this._process(!!'flush'); - - return finalProcessedBlocks; - }, - - blockSize: 1 - }); - - /** - * Mode namespace. - */ - var C_mode = C.mode = {}; - - /** - * Abstract base block cipher mode template. - */ - var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({ - /** - * Creates this mode for encryption. - * - * @param {Cipher} cipher A block cipher instance. - * @param {Array} iv The IV words. - * - * @static - * - * @example - * - * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words); - */ - createEncryptor: function (cipher, iv) { - return this.Encryptor.create(cipher, iv); - }, - - /** - * Creates this mode for decryption. - * - * @param {Cipher} cipher A block cipher instance. - * @param {Array} iv The IV words. - * - * @static - * - * @example - * - * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words); - */ - createDecryptor: function (cipher, iv) { - return this.Decryptor.create(cipher, iv); - }, - - /** - * Initializes a newly created mode. - * - * @param {Cipher} cipher A block cipher instance. - * @param {Array} iv The IV words. - * - * @example - * - * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words); - */ - init: function (cipher, iv) { - this._cipher = cipher; - this._iv = iv; - } - }); - - /** - * Cipher Block Chaining mode. - */ - var CBC = C_mode.CBC = (function () { - /** - * Abstract base CBC mode. - */ - var CBC = BlockCipherMode.extend(); - - /** - * CBC encryptor. - */ - CBC.Encryptor = CBC.extend({ - /** - * Processes the data block at offset. - * - * @param {Array} words The data words to operate on. - * @param {number} offset The offset where the block starts. - * - * @example - * - * mode.processBlock(data.words, offset); - */ - processBlock: function (words, offset) { - // Shortcuts - var cipher = this._cipher; - var blockSize = cipher.blockSize; - - // XOR and encrypt - xorBlock.call(this, words, offset, blockSize); - cipher.encryptBlock(words, offset); - - // Remember this block to use with next block - this._prevBlock = words.slice(offset, offset + blockSize); - } - }); - - /** - * CBC decryptor. - */ - CBC.Decryptor = CBC.extend({ - /** - * Processes the data block at offset. - * - * @param {Array} words The data words to operate on. - * @param {number} offset The offset where the block starts. - * - * @example - * - * mode.processBlock(data.words, offset); - */ - processBlock: function (words, offset) { - // Shortcuts - var cipher = this._cipher; - var blockSize = cipher.blockSize; - - // Remember this block to use with next block - var thisBlock = words.slice(offset, offset + blockSize); - - // Decrypt and XOR - cipher.decryptBlock(words, offset); - xorBlock.call(this, words, offset, blockSize); - - // This block becomes the previous block - this._prevBlock = thisBlock; - } - }); - - function xorBlock(words, offset, blockSize) { - // Shortcut - var iv = this._iv; - - // Choose mixing block - if (iv) { - var block = iv; - - // Remove IV for subsequent blocks - this._iv = undefined; - } else { - var block = this._prevBlock; - } - - // XOR blocks - for (var i = 0; i < blockSize; i++) { - words[offset + i] ^= block[i]; - } - } - - return CBC; - }()); - - /** - * Padding namespace. - */ - var C_pad = C.pad = {}; - - /** - * PKCS #5/7 padding strategy. - */ - var Pkcs7 = C_pad.Pkcs7 = { - /** - * Pads data using the algorithm defined in PKCS #5/7. - * - * @param {WordArray} data The data to pad. - * @param {number} blockSize The multiple that the data should be padded to. - * - * @static - * - * @example - * - * CryptoJS.pad.Pkcs7.pad(wordArray, 4); - */ - pad: function (data, blockSize) { - // Shortcut - var blockSizeBytes = blockSize * 4; - - // Count padding bytes - var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; - - // Create padding word - var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes; - - // Create padding - var paddingWords = []; - for (var i = 0; i < nPaddingBytes; i += 4) { - paddingWords.push(paddingWord); - } - var padding = WordArray.create(paddingWords, nPaddingBytes); - - // Add padding - data.concat(padding); - }, - - /** - * Unpads data that had been padded using the algorithm defined in PKCS #5/7. - * - * @param {WordArray} data The data to unpad. - * - * @static - * - * @example - * - * CryptoJS.pad.Pkcs7.unpad(wordArray); - */ - unpad: function (data) { - // Get number of padding bytes from last byte - var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; - - // Remove padding - data.sigBytes -= nPaddingBytes; - } - }; - - /** - * Abstract base block cipher template. - * - * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits) - */ - var BlockCipher = C_lib.BlockCipher = Cipher.extend({ - /** - * Configuration options. - * - * @property {Mode} mode The block mode to use. Default: CBC - * @property {Padding} padding The padding strategy to use. Default: Pkcs7 - */ - cfg: Cipher.cfg.extend({ - mode: CBC, - padding: Pkcs7 - }), - - reset: function () { - // Reset cipher - Cipher.reset.call(this); - - // Shortcuts - var cfg = this.cfg; - var iv = cfg.iv; - var mode = cfg.mode; - - // Reset block mode - if (this._xformMode == this._ENC_XFORM_MODE) { - var modeCreator = mode.createEncryptor; - } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { - var modeCreator = mode.createDecryptor; - // Keep at least one block in the buffer for unpadding - this._minBufferSize = 1; - } - - if (this._mode && this._mode.__creator == modeCreator) { - this._mode.init(this, iv && iv.words); - } else { - this._mode = modeCreator.call(mode, this, iv && iv.words); - this._mode.__creator = modeCreator; - } - }, - - _doProcessBlock: function (words, offset) { - this._mode.processBlock(words, offset); - }, - - _doFinalize: function () { - // Shortcut - var padding = this.cfg.padding; - - // Finalize - if (this._xformMode == this._ENC_XFORM_MODE) { - // Pad data - padding.pad(this._data, this.blockSize); - - // Process final blocks - var finalProcessedBlocks = this._process(!!'flush'); - } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { - // Process final blocks - var finalProcessedBlocks = this._process(!!'flush'); - - // Unpad data - padding.unpad(finalProcessedBlocks); - } - - return finalProcessedBlocks; - }, - - blockSize: 128/32 - }); - - /** - * A collection of cipher parameters. - * - * @property {WordArray} ciphertext The raw ciphertext. - * @property {WordArray} key The key to this ciphertext. - * @property {WordArray} iv The IV used in the ciphering operation. - * @property {WordArray} salt The salt used with a key derivation function. - * @property {Cipher} algorithm The cipher algorithm. - * @property {Mode} mode The block mode used in the ciphering operation. - * @property {Padding} padding The padding scheme used in the ciphering operation. - * @property {number} blockSize The block size of the cipher. - * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string. - */ - var CipherParams = C_lib.CipherParams = Base.extend({ - /** - * Initializes a newly created cipher params object. - * - * @param {Object} cipherParams An object with any of the possible cipher parameters. - * - * @example - * - * var cipherParams = CryptoJS.lib.CipherParams.create({ - * ciphertext: ciphertextWordArray, - * key: keyWordArray, - * iv: ivWordArray, - * salt: saltWordArray, - * algorithm: CryptoJS.algo.AES, - * mode: CryptoJS.mode.CBC, - * padding: CryptoJS.pad.PKCS7, - * blockSize: 4, - * formatter: CryptoJS.format.OpenSSL - * }); - */ - init: function (cipherParams) { - this.mixIn(cipherParams); - }, - - /** - * Converts this cipher params object to a string. - * - * @param {Format} formatter (Optional) The formatting strategy to use. - * - * @return {string} The stringified cipher params. - * - * @throws Error If neither the formatter nor the default formatter is set. - * - * @example - * - * var string = cipherParams + ''; - * var string = cipherParams.toString(); - * var string = cipherParams.toString(CryptoJS.format.OpenSSL); - */ - toString: function (formatter) { - return (formatter || this.formatter).stringify(this); - } - }); - - /** - * Format namespace. - */ - var C_format = C.format = {}; - - /** - * OpenSSL formatting strategy. - */ - var OpenSSLFormatter = C_format.OpenSSL = { - /** - * Converts a cipher params object to an OpenSSL-compatible string. - * - * @param {CipherParams} cipherParams The cipher params object. - * - * @return {string} The OpenSSL-compatible string. - * - * @static - * - * @example - * - * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams); - */ - stringify: function (cipherParams) { - // Shortcuts - var ciphertext = cipherParams.ciphertext; - var salt = cipherParams.salt; - - // Format - if (salt) { - var wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext); - } else { - var wordArray = ciphertext; - } - - return wordArray.toString(Base64); - }, - - /** - * Converts an OpenSSL-compatible string to a cipher params object. - * - * @param {string} openSSLStr The OpenSSL-compatible string. - * - * @return {CipherParams} The cipher params object. - * - * @static - * - * @example - * - * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString); - */ - parse: function (openSSLStr) { - // Parse base64 - var ciphertext = Base64.parse(openSSLStr); - - // Shortcut - var ciphertextWords = ciphertext.words; - - // Test for salt - if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { - // Extract salt - var salt = WordArray.create(ciphertextWords.slice(2, 4)); - - // Remove salt from ciphertext - ciphertextWords.splice(0, 4); - ciphertext.sigBytes -= 16; - } - - return CipherParams.create({ ciphertext: ciphertext, salt: salt }); - } - }; - - /** - * A cipher wrapper that returns ciphertext as a serializable cipher params object. - */ - var SerializableCipher = C_lib.SerializableCipher = Base.extend({ - /** - * Configuration options. - * - * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL - */ - cfg: Base.extend({ - format: OpenSSLFormatter - }), - - /** - * Encrypts a message. - * - * @param {Cipher} cipher The cipher algorithm to use. - * @param {WordArray|string} message The message to encrypt. - * @param {WordArray} key The key. - * @param {Object} cfg (Optional) The configuration options to use for this operation. - * - * @return {CipherParams} A cipher params object. - * - * @static - * - * @example - * - * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key); - * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv }); - * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL }); - */ - encrypt: function (cipher, message, key, cfg) { - // Apply config defaults - cfg = this.cfg.extend(cfg); - - // Encrypt - var encryptor = cipher.createEncryptor(key, cfg); - var ciphertext = encryptor.finalize(message); - - // Shortcut - var cipherCfg = encryptor.cfg; - - // Create and return serializable cipher params - return CipherParams.create({ - ciphertext: ciphertext, - key: key, - iv: cipherCfg.iv, - algorithm: cipher, - mode: cipherCfg.mode, - padding: cipherCfg.padding, - blockSize: cipher.blockSize, - formatter: cfg.format - }); - }, - - /** - * Decrypts serialized ciphertext. - * - * @param {Cipher} cipher The cipher algorithm to use. - * @param {CipherParams|string} ciphertext The ciphertext to decrypt. - * @param {WordArray} key The key. - * @param {Object} cfg (Optional) The configuration options to use for this operation. - * - * @return {WordArray} The plaintext. - * - * @static - * - * @example - * - * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL }); - * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL }); - */ - decrypt: function (cipher, ciphertext, key, cfg) { - // Apply config defaults - cfg = this.cfg.extend(cfg); - - // Convert string to CipherParams - ciphertext = this._parse(ciphertext, cfg.format); - - // Decrypt - var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext); - - return plaintext; - }, - - /** - * Converts serialized ciphertext to CipherParams, - * else assumed CipherParams already and returns ciphertext unchanged. - * - * @param {CipherParams|string} ciphertext The ciphertext. - * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext. - * - * @return {CipherParams} The unserialized ciphertext. - * - * @static - * - * @example - * - * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format); - */ - _parse: function (ciphertext, format) { - if (typeof ciphertext == 'string') { - return format.parse(ciphertext, this); - } else { - return ciphertext; - } - } - }); - - /** - * Key derivation function namespace. - */ - var C_kdf = C.kdf = {}; - - /** - * OpenSSL key derivation function. - */ - var OpenSSLKdf = C_kdf.OpenSSL = { - /** - * Derives a key and IV from a password. - * - * @param {string} password The password to derive from. - * @param {number} keySize The size in words of the key to generate. - * @param {number} ivSize The size in words of the IV to generate. - * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly. - * - * @return {CipherParams} A cipher params object with the key, IV, and salt. - * - * @static - * - * @example - * - * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32); - * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt'); - */ - execute: function (password, keySize, ivSize, salt) { - // Generate random salt - if (!salt) { - salt = WordArray.random(64/8); - } - - // Derive key and IV - var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt); - - // Separate key and IV - var iv = WordArray.create(key.words.slice(keySize), ivSize * 4); - key.sigBytes = keySize * 4; - - // Return params - return CipherParams.create({ key: key, iv: iv, salt: salt }); - } - }; - - /** - * A serializable cipher wrapper that derives the key from a password, - * and returns ciphertext as a serializable cipher params object. - */ - var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({ - /** - * Configuration options. - * - * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL - */ - cfg: SerializableCipher.cfg.extend({ - kdf: OpenSSLKdf - }), - - /** - * Encrypts a message using a password. - * - * @param {Cipher} cipher The cipher algorithm to use. - * @param {WordArray|string} message The message to encrypt. - * @param {string} password The password. - * @param {Object} cfg (Optional) The configuration options to use for this operation. - * - * @return {CipherParams} A cipher params object. - * - * @static - * - * @example - * - * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password'); - * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL }); - */ - encrypt: function (cipher, message, password, cfg) { - // Apply config defaults - cfg = this.cfg.extend(cfg); - - // Derive key and other params - var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); - - // Add IV to config - cfg.iv = derivedParams.iv; - - // Encrypt - var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); - - // Mix in derived params - ciphertext.mixIn(derivedParams); - - return ciphertext; - }, - - /** - * Decrypts serialized ciphertext using a password. - * - * @param {Cipher} cipher The cipher algorithm to use. - * @param {CipherParams|string} ciphertext The ciphertext to decrypt. - * @param {string} password The password. - * @param {Object} cfg (Optional) The configuration options to use for this operation. - * - * @return {WordArray} The plaintext. - * - * @static - * - * @example - * - * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL }); - * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL }); - */ - decrypt: function (cipher, ciphertext, password, cfg) { - // Apply config defaults - cfg = this.cfg.extend(cfg); - - // Convert string to CipherParams - ciphertext = this._parse(ciphertext, cfg.format); - - // Derive key and other params - var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); - - // Add IV to config - cfg.iv = derivedParams.iv; - - // Decrypt - var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg); - - return plaintext; - } - }); -}()); - - -/** - * Cipher Feedback block mode. - */ -CryptoJS.mode.CFB = (function () { - var CFB = CryptoJS.lib.BlockCipherMode.extend(); - - CFB.Encryptor = CFB.extend({ - processBlock: function (words, offset) { - // Shortcuts - var cipher = this._cipher; - var blockSize = cipher.blockSize; - - generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); - - // Remember this block to use with next block - this._prevBlock = words.slice(offset, offset + blockSize); - } - }); - - CFB.Decryptor = CFB.extend({ - processBlock: function (words, offset) { - // Shortcuts - var cipher = this._cipher; - var blockSize = cipher.blockSize; - - // Remember this block to use with next block - var thisBlock = words.slice(offset, offset + blockSize); - - generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); - - // This block becomes the previous block - this._prevBlock = thisBlock; - } - }); - - function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { - // Shortcut - var iv = this._iv; - - // Generate keystream - if (iv) { - var keystream = iv.slice(0); - - // Remove IV for subsequent blocks - this._iv = undefined; - } else { - var keystream = this._prevBlock; - } - cipher.encryptBlock(keystream, 0); - - // Encrypt - for (var i = 0; i < blockSize; i++) { - words[offset + i] ^= keystream[i]; - } - } - - return CFB; -}()); - - -/** - * Electronic Codebook block mode. - */ -CryptoJS.mode.ECB = (function () { - var ECB = CryptoJS.lib.BlockCipherMode.extend(); - - ECB.Encryptor = ECB.extend({ - processBlock: function (words, offset) { - this._cipher.encryptBlock(words, offset); - } - }); - - ECB.Decryptor = ECB.extend({ - processBlock: function (words, offset) { - this._cipher.decryptBlock(words, offset); - } - }); - - return ECB; -}()); - - -/** - * ANSI X.923 padding strategy. - */ -CryptoJS.pad.AnsiX923 = { - pad: function (data, blockSize) { - // Shortcuts - var dataSigBytes = data.sigBytes; - var blockSizeBytes = blockSize * 4; - - // Count padding bytes - var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; - - // Compute last byte position - var lastBytePos = dataSigBytes + nPaddingBytes - 1; - - // Pad - data.clamp(); - data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); - data.sigBytes += nPaddingBytes; - }, - - unpad: function (data) { - // Get number of padding bytes from last byte - var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; - - // Remove padding - data.sigBytes -= nPaddingBytes; - } -}; - - -/** - * ISO 10126 padding strategy. - */ -CryptoJS.pad.Iso10126 = { - pad: function (data, blockSize) { - // Shortcut - var blockSizeBytes = blockSize * 4; - - // Count padding bytes - var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; - - // Pad - data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). - concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); - }, - - unpad: function (data) { - // Get number of padding bytes from last byte - var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; - - // Remove padding - data.sigBytes -= nPaddingBytes; - } -}; - - -/** - * ISO/IEC 9797-1 Padding Method 2. - */ -CryptoJS.pad.Iso97971 = { - pad: function (data, blockSize) { - // Add 0x80 byte - data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); - - // Zero pad the rest - CryptoJS.pad.ZeroPadding.pad(data, blockSize); - }, - - unpad: function (data) { - // Remove zero padding - CryptoJS.pad.ZeroPadding.unpad(data); - - // Remove one more byte -- the 0x80 byte - data.sigBytes--; - } -}; - - -/** - * Output Feedback block mode. - */ -CryptoJS.mode.OFB = (function () { - var OFB = CryptoJS.lib.BlockCipherMode.extend(); - - var Encryptor = OFB.Encryptor = OFB.extend({ - processBlock: function (words, offset) { - // Shortcuts - var cipher = this._cipher - var blockSize = cipher.blockSize; - var iv = this._iv; - var keystream = this._keystream; - - // Generate keystream - if (iv) { - keystream = this._keystream = iv.slice(0); - - // Remove IV for subsequent blocks - this._iv = undefined; - } - cipher.encryptBlock(keystream, 0); - - // Encrypt - for (var i = 0; i < blockSize; i++) { - words[offset + i] ^= keystream[i]; - } - } - }); - - OFB.Decryptor = Encryptor; - - return OFB; -}()); - - -/** - * A noop padding strategy. - */ -CryptoJS.pad.NoPadding = { - pad: function () { - }, - - unpad: function () { - } -}; - - -(function (undefined) { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var CipherParams = C_lib.CipherParams; - var C_enc = C.enc; - var Hex = C_enc.Hex; - var C_format = C.format; - - var HexFormatter = C_format.Hex = { - /** - * Converts the ciphertext of a cipher params object to a hexadecimally encoded string. - * - * @param {CipherParams} cipherParams The cipher params object. - * - * @return {string} The hexadecimally encoded string. - * - * @static - * - * @example - * - * var hexString = CryptoJS.format.Hex.stringify(cipherParams); - */ - stringify: function (cipherParams) { - return cipherParams.ciphertext.toString(Hex); - }, - - /** - * Converts a hexadecimally encoded ciphertext string to a cipher params object. - * - * @param {string} input The hexadecimally encoded string. - * - * @return {CipherParams} The cipher params object. - * - * @static - * - * @example - * - * var cipherParams = CryptoJS.format.Hex.parse(hexString); - */ - parse: function (input) { - var ciphertext = Hex.parse(input); - return CipherParams.create({ ciphertext: ciphertext }); - } - }; -}()); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var BlockCipher = C_lib.BlockCipher; - var C_algo = C.algo; - - // Lookup tables - var SBOX = []; - var INV_SBOX = []; - var SUB_MIX_0 = []; - var SUB_MIX_1 = []; - var SUB_MIX_2 = []; - var SUB_MIX_3 = []; - var INV_SUB_MIX_0 = []; - var INV_SUB_MIX_1 = []; - var INV_SUB_MIX_2 = []; - var INV_SUB_MIX_3 = []; - - // Compute lookup tables - (function () { - // Compute double table - var d = []; - for (var i = 0; i < 256; i++) { - if (i < 128) { - d[i] = i << 1; - } else { - d[i] = (i << 1) ^ 0x11b; - } - } - - // Walk GF(2^8) - var x = 0; - var xi = 0; - for (var i = 0; i < 256; i++) { - // Compute sbox - var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4); - sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63; - SBOX[x] = sx; - INV_SBOX[sx] = x; - - // Compute multiplication - var x2 = d[x]; - var x4 = d[x2]; - var x8 = d[x4]; - - // Compute sub bytes, mix columns tables - var t = (d[sx] * 0x101) ^ (sx * 0x1010100); - SUB_MIX_0[x] = (t << 24) | (t >>> 8); - SUB_MIX_1[x] = (t << 16) | (t >>> 16); - SUB_MIX_2[x] = (t << 8) | (t >>> 24); - SUB_MIX_3[x] = t; - - // Compute inv sub bytes, inv mix columns tables - var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); - INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8); - INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16); - INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24); - INV_SUB_MIX_3[sx] = t; - - // Compute next counter - if (!x) { - x = xi = 1; - } else { - x = x2 ^ d[d[d[x8 ^ x2]]]; - xi ^= d[d[xi]]; - } - } - }()); - - // Precomputed Rcon lookup - var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; - - /** - * AES block cipher algorithm. - */ - var AES = C_algo.AES = BlockCipher.extend({ - _doReset: function () { - // Skip reset of nRounds has been set before and key did not change - if (this._nRounds && this._keyPriorReset === this._key) { - return; - } - - // Shortcuts - var key = this._keyPriorReset = this._key; - var keyWords = key.words; - var keySize = key.sigBytes / 4; - - // Compute number of rounds - var nRounds = this._nRounds = keySize + 6; - - // Compute number of key schedule rows - var ksRows = (nRounds + 1) * 4; - - // Compute key schedule - var keySchedule = this._keySchedule = []; - for (var ksRow = 0; ksRow < ksRows; ksRow++) { - if (ksRow < keySize) { - keySchedule[ksRow] = keyWords[ksRow]; - } else { - var t = keySchedule[ksRow - 1]; - - if (!(ksRow % keySize)) { - // Rot word - t = (t << 8) | (t >>> 24); - - // Sub word - t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; - - // Mix Rcon - t ^= RCON[(ksRow / keySize) | 0] << 24; - } else if (keySize > 6 && ksRow % keySize == 4) { - // Sub word - t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; - } - - keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t; - } - } - - // Compute inv key schedule - var invKeySchedule = this._invKeySchedule = []; - for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) { - var ksRow = ksRows - invKsRow; - - if (invKsRow % 4) { - var t = keySchedule[ksRow]; - } else { - var t = keySchedule[ksRow - 4]; - } - - if (invKsRow < 4 || ksRow <= 4) { - invKeySchedule[invKsRow] = t; - } else { - invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^ - INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]]; - } - } - }, - - encryptBlock: function (M, offset) { - this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX); - }, - - decryptBlock: function (M, offset) { - // Swap 2nd and 4th rows - var t = M[offset + 1]; - M[offset + 1] = M[offset + 3]; - M[offset + 3] = t; - - this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX); - - // Inv swap 2nd and 4th rows - var t = M[offset + 1]; - M[offset + 1] = M[offset + 3]; - M[offset + 3] = t; - }, - - _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) { - // Shortcut - var nRounds = this._nRounds; - - // Get input, add round key - var s0 = M[offset] ^ keySchedule[0]; - var s1 = M[offset + 1] ^ keySchedule[1]; - var s2 = M[offset + 2] ^ keySchedule[2]; - var s3 = M[offset + 3] ^ keySchedule[3]; - - // Key schedule row counter - var ksRow = 4; - - // Rounds - for (var round = 1; round < nRounds; round++) { - // Shift rows, sub bytes, mix columns, add round key - var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++]; - var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++]; - var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++]; - var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++]; - - // Update state - s0 = t0; - s1 = t1; - s2 = t2; - s3 = t3; - } - - // Shift rows, sub bytes, add round key - var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]; - var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]; - var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]; - var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]; - - // Set output - M[offset] = t0; - M[offset + 1] = t1; - M[offset + 2] = t2; - M[offset + 3] = t3; - }, - - keySize: 256/32 - }); - - /** - * Shortcut functions to the cipher's object interface. - * - * @example - * - * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg); - * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg); - */ - C.AES = BlockCipher._createHelper(AES); -}()); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var WordArray = C_lib.WordArray; - var BlockCipher = C_lib.BlockCipher; - var C_algo = C.algo; - - // Permuted Choice 1 constants - var PC1 = [ - 57, 49, 41, 33, 25, 17, 9, 1, - 58, 50, 42, 34, 26, 18, 10, 2, - 59, 51, 43, 35, 27, 19, 11, 3, - 60, 52, 44, 36, 63, 55, 47, 39, - 31, 23, 15, 7, 62, 54, 46, 38, - 30, 22, 14, 6, 61, 53, 45, 37, - 29, 21, 13, 5, 28, 20, 12, 4 - ]; - - // Permuted Choice 2 constants - var PC2 = [ - 14, 17, 11, 24, 1, 5, - 3, 28, 15, 6, 21, 10, - 23, 19, 12, 4, 26, 8, - 16, 7, 27, 20, 13, 2, - 41, 52, 31, 37, 47, 55, - 30, 40, 51, 45, 33, 48, - 44, 49, 39, 56, 34, 53, - 46, 42, 50, 36, 29, 32 - ]; - - // Cumulative bit shift constants - var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; - - // SBOXes and round permutation constants - var SBOX_P = [ - { - 0x0: 0x808200, - 0x10000000: 0x8000, - 0x20000000: 0x808002, - 0x30000000: 0x2, - 0x40000000: 0x200, - 0x50000000: 0x808202, - 0x60000000: 0x800202, - 0x70000000: 0x800000, - 0x80000000: 0x202, - 0x90000000: 0x800200, - 0xa0000000: 0x8200, - 0xb0000000: 0x808000, - 0xc0000000: 0x8002, - 0xd0000000: 0x800002, - 0xe0000000: 0x0, - 0xf0000000: 0x8202, - 0x8000000: 0x0, - 0x18000000: 0x808202, - 0x28000000: 0x8202, - 0x38000000: 0x8000, - 0x48000000: 0x808200, - 0x58000000: 0x200, - 0x68000000: 0x808002, - 0x78000000: 0x2, - 0x88000000: 0x800200, - 0x98000000: 0x8200, - 0xa8000000: 0x808000, - 0xb8000000: 0x800202, - 0xc8000000: 0x800002, - 0xd8000000: 0x8002, - 0xe8000000: 0x202, - 0xf8000000: 0x800000, - 0x1: 0x8000, - 0x10000001: 0x2, - 0x20000001: 0x808200, - 0x30000001: 0x800000, - 0x40000001: 0x808002, - 0x50000001: 0x8200, - 0x60000001: 0x200, - 0x70000001: 0x800202, - 0x80000001: 0x808202, - 0x90000001: 0x808000, - 0xa0000001: 0x800002, - 0xb0000001: 0x8202, - 0xc0000001: 0x202, - 0xd0000001: 0x800200, - 0xe0000001: 0x8002, - 0xf0000001: 0x0, - 0x8000001: 0x808202, - 0x18000001: 0x808000, - 0x28000001: 0x800000, - 0x38000001: 0x200, - 0x48000001: 0x8000, - 0x58000001: 0x800002, - 0x68000001: 0x2, - 0x78000001: 0x8202, - 0x88000001: 0x8002, - 0x98000001: 0x800202, - 0xa8000001: 0x202, - 0xb8000001: 0x808200, - 0xc8000001: 0x800200, - 0xd8000001: 0x0, - 0xe8000001: 0x8200, - 0xf8000001: 0x808002 - }, - { - 0x0: 0x40084010, - 0x1000000: 0x4000, - 0x2000000: 0x80000, - 0x3000000: 0x40080010, - 0x4000000: 0x40000010, - 0x5000000: 0x40084000, - 0x6000000: 0x40004000, - 0x7000000: 0x10, - 0x8000000: 0x84000, - 0x9000000: 0x40004010, - 0xa000000: 0x40000000, - 0xb000000: 0x84010, - 0xc000000: 0x80010, - 0xd000000: 0x0, - 0xe000000: 0x4010, - 0xf000000: 0x40080000, - 0x800000: 0x40004000, - 0x1800000: 0x84010, - 0x2800000: 0x10, - 0x3800000: 0x40004010, - 0x4800000: 0x40084010, - 0x5800000: 0x40000000, - 0x6800000: 0x80000, - 0x7800000: 0x40080010, - 0x8800000: 0x80010, - 0x9800000: 0x0, - 0xa800000: 0x4000, - 0xb800000: 0x40080000, - 0xc800000: 0x40000010, - 0xd800000: 0x84000, - 0xe800000: 0x40084000, - 0xf800000: 0x4010, - 0x10000000: 0x0, - 0x11000000: 0x40080010, - 0x12000000: 0x40004010, - 0x13000000: 0x40084000, - 0x14000000: 0x40080000, - 0x15000000: 0x10, - 0x16000000: 0x84010, - 0x17000000: 0x4000, - 0x18000000: 0x4010, - 0x19000000: 0x80000, - 0x1a000000: 0x80010, - 0x1b000000: 0x40000010, - 0x1c000000: 0x84000, - 0x1d000000: 0x40004000, - 0x1e000000: 0x40000000, - 0x1f000000: 0x40084010, - 0x10800000: 0x84010, - 0x11800000: 0x80000, - 0x12800000: 0x40080000, - 0x13800000: 0x4000, - 0x14800000: 0x40004000, - 0x15800000: 0x40084010, - 0x16800000: 0x10, - 0x17800000: 0x40000000, - 0x18800000: 0x40084000, - 0x19800000: 0x40000010, - 0x1a800000: 0x40004010, - 0x1b800000: 0x80010, - 0x1c800000: 0x0, - 0x1d800000: 0x4010, - 0x1e800000: 0x40080010, - 0x1f800000: 0x84000 - }, - { - 0x0: 0x104, - 0x100000: 0x0, - 0x200000: 0x4000100, - 0x300000: 0x10104, - 0x400000: 0x10004, - 0x500000: 0x4000004, - 0x600000: 0x4010104, - 0x700000: 0x4010000, - 0x800000: 0x4000000, - 0x900000: 0x4010100, - 0xa00000: 0x10100, - 0xb00000: 0x4010004, - 0xc00000: 0x4000104, - 0xd00000: 0x10000, - 0xe00000: 0x4, - 0xf00000: 0x100, - 0x80000: 0x4010100, - 0x180000: 0x4010004, - 0x280000: 0x0, - 0x380000: 0x4000100, - 0x480000: 0x4000004, - 0x580000: 0x10000, - 0x680000: 0x10004, - 0x780000: 0x104, - 0x880000: 0x4, - 0x980000: 0x100, - 0xa80000: 0x4010000, - 0xb80000: 0x10104, - 0xc80000: 0x10100, - 0xd80000: 0x4000104, - 0xe80000: 0x4010104, - 0xf80000: 0x4000000, - 0x1000000: 0x4010100, - 0x1100000: 0x10004, - 0x1200000: 0x10000, - 0x1300000: 0x4000100, - 0x1400000: 0x100, - 0x1500000: 0x4010104, - 0x1600000: 0x4000004, - 0x1700000: 0x0, - 0x1800000: 0x4000104, - 0x1900000: 0x4000000, - 0x1a00000: 0x4, - 0x1b00000: 0x10100, - 0x1c00000: 0x4010000, - 0x1d00000: 0x104, - 0x1e00000: 0x10104, - 0x1f00000: 0x4010004, - 0x1080000: 0x4000000, - 0x1180000: 0x104, - 0x1280000: 0x4010100, - 0x1380000: 0x0, - 0x1480000: 0x10004, - 0x1580000: 0x4000100, - 0x1680000: 0x100, - 0x1780000: 0x4010004, - 0x1880000: 0x10000, - 0x1980000: 0x4010104, - 0x1a80000: 0x10104, - 0x1b80000: 0x4000004, - 0x1c80000: 0x4000104, - 0x1d80000: 0x4010000, - 0x1e80000: 0x4, - 0x1f80000: 0x10100 - }, - { - 0x0: 0x80401000, - 0x10000: 0x80001040, - 0x20000: 0x401040, - 0x30000: 0x80400000, - 0x40000: 0x0, - 0x50000: 0x401000, - 0x60000: 0x80000040, - 0x70000: 0x400040, - 0x80000: 0x80000000, - 0x90000: 0x400000, - 0xa0000: 0x40, - 0xb0000: 0x80001000, - 0xc0000: 0x80400040, - 0xd0000: 0x1040, - 0xe0000: 0x1000, - 0xf0000: 0x80401040, - 0x8000: 0x80001040, - 0x18000: 0x40, - 0x28000: 0x80400040, - 0x38000: 0x80001000, - 0x48000: 0x401000, - 0x58000: 0x80401040, - 0x68000: 0x0, - 0x78000: 0x80400000, - 0x88000: 0x1000, - 0x98000: 0x80401000, - 0xa8000: 0x400000, - 0xb8000: 0x1040, - 0xc8000: 0x80000000, - 0xd8000: 0x400040, - 0xe8000: 0x401040, - 0xf8000: 0x80000040, - 0x100000: 0x400040, - 0x110000: 0x401000, - 0x120000: 0x80000040, - 0x130000: 0x0, - 0x140000: 0x1040, - 0x150000: 0x80400040, - 0x160000: 0x80401000, - 0x170000: 0x80001040, - 0x180000: 0x80401040, - 0x190000: 0x80000000, - 0x1a0000: 0x80400000, - 0x1b0000: 0x401040, - 0x1c0000: 0x80001000, - 0x1d0000: 0x400000, - 0x1e0000: 0x40, - 0x1f0000: 0x1000, - 0x108000: 0x80400000, - 0x118000: 0x80401040, - 0x128000: 0x0, - 0x138000: 0x401000, - 0x148000: 0x400040, - 0x158000: 0x80000000, - 0x168000: 0x80001040, - 0x178000: 0x40, - 0x188000: 0x80000040, - 0x198000: 0x1000, - 0x1a8000: 0x80001000, - 0x1b8000: 0x80400040, - 0x1c8000: 0x1040, - 0x1d8000: 0x80401000, - 0x1e8000: 0x400000, - 0x1f8000: 0x401040 - }, - { - 0x0: 0x80, - 0x1000: 0x1040000, - 0x2000: 0x40000, - 0x3000: 0x20000000, - 0x4000: 0x20040080, - 0x5000: 0x1000080, - 0x6000: 0x21000080, - 0x7000: 0x40080, - 0x8000: 0x1000000, - 0x9000: 0x20040000, - 0xa000: 0x20000080, - 0xb000: 0x21040080, - 0xc000: 0x21040000, - 0xd000: 0x0, - 0xe000: 0x1040080, - 0xf000: 0x21000000, - 0x800: 0x1040080, - 0x1800: 0x21000080, - 0x2800: 0x80, - 0x3800: 0x1040000, - 0x4800: 0x40000, - 0x5800: 0x20040080, - 0x6800: 0x21040000, - 0x7800: 0x20000000, - 0x8800: 0x20040000, - 0x9800: 0x0, - 0xa800: 0x21040080, - 0xb800: 0x1000080, - 0xc800: 0x20000080, - 0xd800: 0x21000000, - 0xe800: 0x1000000, - 0xf800: 0x40080, - 0x10000: 0x40000, - 0x11000: 0x80, - 0x12000: 0x20000000, - 0x13000: 0x21000080, - 0x14000: 0x1000080, - 0x15000: 0x21040000, - 0x16000: 0x20040080, - 0x17000: 0x1000000, - 0x18000: 0x21040080, - 0x19000: 0x21000000, - 0x1a000: 0x1040000, - 0x1b000: 0x20040000, - 0x1c000: 0x40080, - 0x1d000: 0x20000080, - 0x1e000: 0x0, - 0x1f000: 0x1040080, - 0x10800: 0x21000080, - 0x11800: 0x1000000, - 0x12800: 0x1040000, - 0x13800: 0x20040080, - 0x14800: 0x20000000, - 0x15800: 0x1040080, - 0x16800: 0x80, - 0x17800: 0x21040000, - 0x18800: 0x40080, - 0x19800: 0x21040080, - 0x1a800: 0x0, - 0x1b800: 0x21000000, - 0x1c800: 0x1000080, - 0x1d800: 0x40000, - 0x1e800: 0x20040000, - 0x1f800: 0x20000080 - }, - { - 0x0: 0x10000008, - 0x100: 0x2000, - 0x200: 0x10200000, - 0x300: 0x10202008, - 0x400: 0x10002000, - 0x500: 0x200000, - 0x600: 0x200008, - 0x700: 0x10000000, - 0x800: 0x0, - 0x900: 0x10002008, - 0xa00: 0x202000, - 0xb00: 0x8, - 0xc00: 0x10200008, - 0xd00: 0x202008, - 0xe00: 0x2008, - 0xf00: 0x10202000, - 0x80: 0x10200000, - 0x180: 0x10202008, - 0x280: 0x8, - 0x380: 0x200000, - 0x480: 0x202008, - 0x580: 0x10000008, - 0x680: 0x10002000, - 0x780: 0x2008, - 0x880: 0x200008, - 0x980: 0x2000, - 0xa80: 0x10002008, - 0xb80: 0x10200008, - 0xc80: 0x0, - 0xd80: 0x10202000, - 0xe80: 0x202000, - 0xf80: 0x10000000, - 0x1000: 0x10002000, - 0x1100: 0x10200008, - 0x1200: 0x10202008, - 0x1300: 0x2008, - 0x1400: 0x200000, - 0x1500: 0x10000000, - 0x1600: 0x10000008, - 0x1700: 0x202000, - 0x1800: 0x202008, - 0x1900: 0x0, - 0x1a00: 0x8, - 0x1b00: 0x10200000, - 0x1c00: 0x2000, - 0x1d00: 0x10002008, - 0x1e00: 0x10202000, - 0x1f00: 0x200008, - 0x1080: 0x8, - 0x1180: 0x202000, - 0x1280: 0x200000, - 0x1380: 0x10000008, - 0x1480: 0x10002000, - 0x1580: 0x2008, - 0x1680: 0x10202008, - 0x1780: 0x10200000, - 0x1880: 0x10202000, - 0x1980: 0x10200008, - 0x1a80: 0x2000, - 0x1b80: 0x202008, - 0x1c80: 0x200008, - 0x1d80: 0x0, - 0x1e80: 0x10000000, - 0x1f80: 0x10002008 - }, - { - 0x0: 0x100000, - 0x10: 0x2000401, - 0x20: 0x400, - 0x30: 0x100401, - 0x40: 0x2100401, - 0x50: 0x0, - 0x60: 0x1, - 0x70: 0x2100001, - 0x80: 0x2000400, - 0x90: 0x100001, - 0xa0: 0x2000001, - 0xb0: 0x2100400, - 0xc0: 0x2100000, - 0xd0: 0x401, - 0xe0: 0x100400, - 0xf0: 0x2000000, - 0x8: 0x2100001, - 0x18: 0x0, - 0x28: 0x2000401, - 0x38: 0x2100400, - 0x48: 0x100000, - 0x58: 0x2000001, - 0x68: 0x2000000, - 0x78: 0x401, - 0x88: 0x100401, - 0x98: 0x2000400, - 0xa8: 0x2100000, - 0xb8: 0x100001, - 0xc8: 0x400, - 0xd8: 0x2100401, - 0xe8: 0x1, - 0xf8: 0x100400, - 0x100: 0x2000000, - 0x110: 0x100000, - 0x120: 0x2000401, - 0x130: 0x2100001, - 0x140: 0x100001, - 0x150: 0x2000400, - 0x160: 0x2100400, - 0x170: 0x100401, - 0x180: 0x401, - 0x190: 0x2100401, - 0x1a0: 0x100400, - 0x1b0: 0x1, - 0x1c0: 0x0, - 0x1d0: 0x2100000, - 0x1e0: 0x2000001, - 0x1f0: 0x400, - 0x108: 0x100400, - 0x118: 0x2000401, - 0x128: 0x2100001, - 0x138: 0x1, - 0x148: 0x2000000, - 0x158: 0x100000, - 0x168: 0x401, - 0x178: 0x2100400, - 0x188: 0x2000001, - 0x198: 0x2100000, - 0x1a8: 0x0, - 0x1b8: 0x2100401, - 0x1c8: 0x100401, - 0x1d8: 0x400, - 0x1e8: 0x2000400, - 0x1f8: 0x100001 - }, - { - 0x0: 0x8000820, - 0x1: 0x20000, - 0x2: 0x8000000, - 0x3: 0x20, - 0x4: 0x20020, - 0x5: 0x8020820, - 0x6: 0x8020800, - 0x7: 0x800, - 0x8: 0x8020000, - 0x9: 0x8000800, - 0xa: 0x20800, - 0xb: 0x8020020, - 0xc: 0x820, - 0xd: 0x0, - 0xe: 0x8000020, - 0xf: 0x20820, - 0x80000000: 0x800, - 0x80000001: 0x8020820, - 0x80000002: 0x8000820, - 0x80000003: 0x8000000, - 0x80000004: 0x8020000, - 0x80000005: 0x20800, - 0x80000006: 0x20820, - 0x80000007: 0x20, - 0x80000008: 0x8000020, - 0x80000009: 0x820, - 0x8000000a: 0x20020, - 0x8000000b: 0x8020800, - 0x8000000c: 0x0, - 0x8000000d: 0x8020020, - 0x8000000e: 0x8000800, - 0x8000000f: 0x20000, - 0x10: 0x20820, - 0x11: 0x8020800, - 0x12: 0x20, - 0x13: 0x800, - 0x14: 0x8000800, - 0x15: 0x8000020, - 0x16: 0x8020020, - 0x17: 0x20000, - 0x18: 0x0, - 0x19: 0x20020, - 0x1a: 0x8020000, - 0x1b: 0x8000820, - 0x1c: 0x8020820, - 0x1d: 0x20800, - 0x1e: 0x820, - 0x1f: 0x8000000, - 0x80000010: 0x20000, - 0x80000011: 0x800, - 0x80000012: 0x8020020, - 0x80000013: 0x20820, - 0x80000014: 0x20, - 0x80000015: 0x8020000, - 0x80000016: 0x8000000, - 0x80000017: 0x8000820, - 0x80000018: 0x8020820, - 0x80000019: 0x8000020, - 0x8000001a: 0x8000800, - 0x8000001b: 0x0, - 0x8000001c: 0x20800, - 0x8000001d: 0x820, - 0x8000001e: 0x20020, - 0x8000001f: 0x8020800 - } - ]; - - // Masks that select the SBOX input - var SBOX_MASK = [ - 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, - 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f - ]; - - /** - * DES block cipher algorithm. - */ - var DES = C_algo.DES = BlockCipher.extend({ - _doReset: function () { - // Shortcuts - var key = this._key; - var keyWords = key.words; - - // Select 56 bits according to PC1 - var keyBits = []; - for (var i = 0; i < 56; i++) { - var keyBitPos = PC1[i] - 1; - keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1; - } - - // Assemble 16 subkeys - var subKeys = this._subKeys = []; - for (var nSubKey = 0; nSubKey < 16; nSubKey++) { - // Create subkey - var subKey = subKeys[nSubKey] = []; - - // Shortcut - var bitShift = BIT_SHIFTS[nSubKey]; - - // Select 48 bits according to PC2 - for (var i = 0; i < 24; i++) { - // Select from the left 28 key bits - subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6); - - // Select from the right 28 key bits - subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6); - } - - // Since each subkey is applied to an expanded 32-bit input, - // the subkey can be broken into 8 values scaled to 32-bits, - // which allows the key to be used without expansion - subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31); - for (var i = 1; i < 7; i++) { - subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3); - } - subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27); - } - - // Compute inverse subkeys - var invSubKeys = this._invSubKeys = []; - for (var i = 0; i < 16; i++) { - invSubKeys[i] = subKeys[15 - i]; - } - }, - - encryptBlock: function (M, offset) { - this._doCryptBlock(M, offset, this._subKeys); - }, - - decryptBlock: function (M, offset) { - this._doCryptBlock(M, offset, this._invSubKeys); - }, - - _doCryptBlock: function (M, offset, subKeys) { - // Get input - this._lBlock = M[offset]; - this._rBlock = M[offset + 1]; - - // Initial permutation - exchangeLR.call(this, 4, 0x0f0f0f0f); - exchangeLR.call(this, 16, 0x0000ffff); - exchangeRL.call(this, 2, 0x33333333); - exchangeRL.call(this, 8, 0x00ff00ff); - exchangeLR.call(this, 1, 0x55555555); - - // Rounds - for (var round = 0; round < 16; round++) { - // Shortcuts - var subKey = subKeys[round]; - var lBlock = this._lBlock; - var rBlock = this._rBlock; - - // Feistel function - var f = 0; - for (var i = 0; i < 8; i++) { - f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0]; - } - this._lBlock = rBlock; - this._rBlock = lBlock ^ f; - } - - // Undo swap from last round - var t = this._lBlock; - this._lBlock = this._rBlock; - this._rBlock = t; - - // Final permutation - exchangeLR.call(this, 1, 0x55555555); - exchangeRL.call(this, 8, 0x00ff00ff); - exchangeRL.call(this, 2, 0x33333333); - exchangeLR.call(this, 16, 0x0000ffff); - exchangeLR.call(this, 4, 0x0f0f0f0f); - - // Set output - M[offset] = this._lBlock; - M[offset + 1] = this._rBlock; - }, - - keySize: 64/32, - - ivSize: 64/32, - - blockSize: 64/32 - }); - - // Swap bits across the left and right words - function exchangeLR(offset, mask) { - var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask; - this._rBlock ^= t; - this._lBlock ^= t << offset; - } - - function exchangeRL(offset, mask) { - var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask; - this._lBlock ^= t; - this._rBlock ^= t << offset; - } - - /** - * Shortcut functions to the cipher's object interface. - * - * @example - * - * var ciphertext = CryptoJS.DES.encrypt(message, key, cfg); - * var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg); - */ - C.DES = BlockCipher._createHelper(DES); - - /** - * Triple-DES block cipher algorithm. - */ - var TripleDES = C_algo.TripleDES = BlockCipher.extend({ - _doReset: function () { - // Shortcuts - var key = this._key; - var keyWords = key.words; - - // Create DES instances - this._des1 = DES.createEncryptor(WordArray.create(keyWords.slice(0, 2))); - this._des2 = DES.createEncryptor(WordArray.create(keyWords.slice(2, 4))); - this._des3 = DES.createEncryptor(WordArray.create(keyWords.slice(4, 6))); - }, - - encryptBlock: function (M, offset) { - this._des1.encryptBlock(M, offset); - this._des2.decryptBlock(M, offset); - this._des3.encryptBlock(M, offset); - }, - - decryptBlock: function (M, offset) { - this._des3.decryptBlock(M, offset); - this._des2.encryptBlock(M, offset); - this._des1.decryptBlock(M, offset); - }, - - keySize: 192/32, - - ivSize: 64/32, - - blockSize: 64/32 - }); - - /** - * Shortcut functions to the cipher's object interface. - * - * @example - * - * var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg); - * var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg); - */ - C.TripleDES = BlockCipher._createHelper(TripleDES); -}()); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var StreamCipher = C_lib.StreamCipher; - var C_algo = C.algo; - - /** - * RC4 stream cipher algorithm. - */ - var RC4 = C_algo.RC4 = StreamCipher.extend({ - _doReset: function () { - // Shortcuts - var key = this._key; - var keyWords = key.words; - var keySigBytes = key.sigBytes; - - // Init sbox - var S = this._S = []; - for (var i = 0; i < 256; i++) { - S[i] = i; - } - - // Key setup - for (var i = 0, j = 0; i < 256; i++) { - var keyByteIndex = i % keySigBytes; - var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff; - - j = (j + S[i] + keyByte) % 256; - - // Swap - var t = S[i]; - S[i] = S[j]; - S[j] = t; - } - - // Counters - this._i = this._j = 0; - }, - - _doProcessBlock: function (M, offset) { - M[offset] ^= generateKeystreamWord.call(this); - }, - - keySize: 256/32, - - ivSize: 0 - }); - - function generateKeystreamWord() { - // Shortcuts - var S = this._S; - var i = this._i; - var j = this._j; - - // Generate keystream word - var keystreamWord = 0; - for (var n = 0; n < 4; n++) { - i = (i + 1) % 256; - j = (j + S[i]) % 256; - - // Swap - var t = S[i]; - S[i] = S[j]; - S[j] = t; - - keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8); - } - - // Update counters - this._i = i; - this._j = j; - - return keystreamWord; - } - - /** - * Shortcut functions to the cipher's object interface. - * - * @example - * - * var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg); - * var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg); - */ - C.RC4 = StreamCipher._createHelper(RC4); - - /** - * Modified RC4 stream cipher algorithm. - */ - var RC4Drop = C_algo.RC4Drop = RC4.extend({ - /** - * Configuration options. - * - * @property {number} drop The number of keystream words to drop. Default 192 - */ - cfg: RC4.cfg.extend({ - drop: 192 - }), - - _doReset: function () { - RC4._doReset.call(this); - - // Drop - for (var i = this.cfg.drop; i > 0; i--) { - generateKeystreamWord.call(this); - } - } - }); - - /** - * Shortcut functions to the cipher's object interface. - * - * @example - * - * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg); - * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg); - */ - C.RC4Drop = StreamCipher._createHelper(RC4Drop); -}()); - - -/** @preserve - * Counter block mode compatible with Dr Brian Gladman fileenc.c - * derived from CryptoJS.mode.CTR - * Jan Hruby jhruby.web@gmail.com - */ -CryptoJS.mode.CTRGladman = (function () { - var CTRGladman = CryptoJS.lib.BlockCipherMode.extend(); - - function incWord(word) - { - if (((word >> 24) & 0xff) === 0xff) { //overflow - var b1 = (word >> 16)&0xff; - var b2 = (word >> 8)&0xff; - var b3 = word & 0xff; - - if (b1 === 0xff) // overflow b1 - { - b1 = 0; - if (b2 === 0xff) - { - b2 = 0; - if (b3 === 0xff) - { - b3 = 0; - } - else - { - ++b3; - } - } - else - { - ++b2; - } - } - else - { - ++b1; - } - - word = 0; - word += (b1 << 16); - word += (b2 << 8); - word += b3; - } - else - { - word += (0x01 << 24); - } - return word; - } - - function incCounter(counter) - { - if ((counter[0] = incWord(counter[0])) === 0) - { - // encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8 - counter[1] = incWord(counter[1]); - } - return counter; - } - - var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ - processBlock: function (words, offset) { - // Shortcuts - var cipher = this._cipher - var blockSize = cipher.blockSize; - var iv = this._iv; - var counter = this._counter; - - // Generate keystream - if (iv) { - counter = this._counter = iv.slice(0); - - // Remove IV for subsequent blocks - this._iv = undefined; - } - - incCounter(counter); - - var keystream = counter.slice(0); - cipher.encryptBlock(keystream, 0); - - // Encrypt - for (var i = 0; i < blockSize; i++) { - words[offset + i] ^= keystream[i]; - } - } - }); - - CTRGladman.Decryptor = Encryptor; - - return CTRGladman; -}()); - - - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var StreamCipher = C_lib.StreamCipher; - var C_algo = C.algo; - - // Reusable objects - var S = []; - var C_ = []; - var G = []; - - /** - * Rabbit stream cipher algorithm - */ - var Rabbit = C_algo.Rabbit = StreamCipher.extend({ - _doReset: function () { - // Shortcuts - var K = this._key.words; - var iv = this.cfg.iv; - - // Swap endian - for (var i = 0; i < 4; i++) { - K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) | - (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00); - } - - // Generate initial state values - var X = this._X = [ - K[0], (K[3] << 16) | (K[2] >>> 16), - K[1], (K[0] << 16) | (K[3] >>> 16), - K[2], (K[1] << 16) | (K[0] >>> 16), - K[3], (K[2] << 16) | (K[1] >>> 16) - ]; - - // Generate initial counter values - var C = this._C = [ - (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), - (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), - (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), - (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) - ]; - - // Carry bit - this._b = 0; - - // Iterate the system four times - for (var i = 0; i < 4; i++) { - nextState.call(this); - } - - // Modify the counters - for (var i = 0; i < 8; i++) { - C[i] ^= X[(i + 4) & 7]; - } - - // IV setup - if (iv) { - // Shortcuts - var IV = iv.words; - var IV_0 = IV[0]; - var IV_1 = IV[1]; - - // Generate four subvectors - var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); - var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); - var i1 = (i0 >>> 16) | (i2 & 0xffff0000); - var i3 = (i2 << 16) | (i0 & 0x0000ffff); - - // Modify counter values - C[0] ^= i0; - C[1] ^= i1; - C[2] ^= i2; - C[3] ^= i3; - C[4] ^= i0; - C[5] ^= i1; - C[6] ^= i2; - C[7] ^= i3; - - // Iterate the system four times - for (var i = 0; i < 4; i++) { - nextState.call(this); - } - } - }, - - _doProcessBlock: function (M, offset) { - // Shortcut - var X = this._X; - - // Iterate the system - nextState.call(this); - - // Generate four keystream words - S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); - S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); - S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); - S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); - - for (var i = 0; i < 4; i++) { - // Swap endian - S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | - (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); - - // Encrypt - M[offset + i] ^= S[i]; - } - }, - - blockSize: 128/32, - - ivSize: 64/32 - }); - - function nextState() { - // Shortcuts - var X = this._X; - var C = this._C; - - // Save old counter values - for (var i = 0; i < 8; i++) { - C_[i] = C[i]; - } - - // Calculate new counter values - C[0] = (C[0] + 0x4d34d34d + this._b) | 0; - C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; - C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; - C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; - C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; - C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; - C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; - C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; - this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; - - // Calculate the g-values - for (var i = 0; i < 8; i++) { - var gx = X[i] + C[i]; - - // Construct high and low argument for squaring - var ga = gx & 0xffff; - var gb = gx >>> 16; - - // Calculate high and low result of squaring - var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; - var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); - - // High XOR low - G[i] = gh ^ gl; - } - - // Calculate new state values - X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; - X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; - X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; - X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; - X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; - X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; - X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; - X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; - } - - /** - * Shortcut functions to the cipher's object interface. - * - * @example - * - * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg); - * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg); - */ - C.Rabbit = StreamCipher._createHelper(Rabbit); -}()); - - -/** - * Counter block mode. - */ -CryptoJS.mode.CTR = (function () { - var CTR = CryptoJS.lib.BlockCipherMode.extend(); - - var Encryptor = CTR.Encryptor = CTR.extend({ - processBlock: function (words, offset) { - // Shortcuts - var cipher = this._cipher - var blockSize = cipher.blockSize; - var iv = this._iv; - var counter = this._counter; - - // Generate keystream - if (iv) { - counter = this._counter = iv.slice(0); - - // Remove IV for subsequent blocks - this._iv = undefined; - } - var keystream = counter.slice(0); - cipher.encryptBlock(keystream, 0); - - // Increment counter - counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0 - - // Encrypt - for (var i = 0; i < blockSize; i++) { - words[offset + i] ^= keystream[i]; - } - } - }); - - CTR.Decryptor = Encryptor; - - return CTR; -}()); - - -(function () { - // Shortcuts - var C = CryptoJS; - var C_lib = C.lib; - var StreamCipher = C_lib.StreamCipher; - var C_algo = C.algo; - - // Reusable objects - var S = []; - var C_ = []; - var G = []; - - /** - * Rabbit stream cipher algorithm. - * - * This is a legacy version that neglected to convert the key to little-endian. - * This error doesn't affect the cipher's security, - * but it does affect its compatibility with other implementations. - */ - var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({ - _doReset: function () { - // Shortcuts - var K = this._key.words; - var iv = this.cfg.iv; - - // Generate initial state values - var X = this._X = [ - K[0], (K[3] << 16) | (K[2] >>> 16), - K[1], (K[0] << 16) | (K[3] >>> 16), - K[2], (K[1] << 16) | (K[0] >>> 16), - K[3], (K[2] << 16) | (K[1] >>> 16) - ]; - - // Generate initial counter values - var C = this._C = [ - (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), - (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), - (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), - (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) - ]; - - // Carry bit - this._b = 0; - - // Iterate the system four times - for (var i = 0; i < 4; i++) { - nextState.call(this); - } - - // Modify the counters - for (var i = 0; i < 8; i++) { - C[i] ^= X[(i + 4) & 7]; - } - - // IV setup - if (iv) { - // Shortcuts - var IV = iv.words; - var IV_0 = IV[0]; - var IV_1 = IV[1]; - - // Generate four subvectors - var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); - var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); - var i1 = (i0 >>> 16) | (i2 & 0xffff0000); - var i3 = (i2 << 16) | (i0 & 0x0000ffff); - - // Modify counter values - C[0] ^= i0; - C[1] ^= i1; - C[2] ^= i2; - C[3] ^= i3; - C[4] ^= i0; - C[5] ^= i1; - C[6] ^= i2; - C[7] ^= i3; - - // Iterate the system four times - for (var i = 0; i < 4; i++) { - nextState.call(this); - } - } - }, - - _doProcessBlock: function (M, offset) { - // Shortcut - var X = this._X; - - // Iterate the system - nextState.call(this); - - // Generate four keystream words - S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); - S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); - S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); - S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); - - for (var i = 0; i < 4; i++) { - // Swap endian - S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | - (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); - - // Encrypt - M[offset + i] ^= S[i]; - } - }, - - blockSize: 128/32, - - ivSize: 64/32 - }); - - function nextState() { - // Shortcuts - var X = this._X; - var C = this._C; - - // Save old counter values - for (var i = 0; i < 8; i++) { - C_[i] = C[i]; - } - - // Calculate new counter values - C[0] = (C[0] + 0x4d34d34d + this._b) | 0; - C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; - C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; - C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; - C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; - C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; - C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; - C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; - this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; - - // Calculate the g-values - for (var i = 0; i < 8; i++) { - var gx = X[i] + C[i]; - - // Construct high and low argument for squaring - var ga = gx & 0xffff; - var gb = gx >>> 16; - - // Calculate high and low result of squaring - var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; - var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); - - // High XOR low - G[i] = gh ^ gl; - } - - // Calculate new state values - X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; - X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; - X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; - X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; - X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; - X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; - X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; - X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; - } - - /** - * Shortcut functions to the cipher's object interface. - * - * @example - * - * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg); - * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg); - */ - C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy); -}()); - - -/** - * Zero padding strategy. - */ -CryptoJS.pad.ZeroPadding = { - pad: function (data, blockSize) { - // Shortcut - var blockSizeBytes = blockSize * 4; - - // Pad - data.clamp(); - data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); - }, - - unpad: function (data) { - // Shortcut - var dataWords = data.words; - - // Unpad - var i = data.sigBytes - 1; - while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { - i--; - } - data.sigBytes = i + 1; - } -}; - diff --git a/ant-design-vue-jeecg/src/utils/encryption/signMd5Utils.js b/ant-design-vue-jeecg/src/utils/encryption/signMd5Utils.js deleted file mode 100644 index cc4f6bb4..00000000 --- a/ant-design-vue-jeecg/src/utils/encryption/signMd5Utils.js +++ /dev/null @@ -1,141 +0,0 @@ -import md5 from 'md5' -//签名密钥串(前后端要一致,正式发布请自行修改) -const signatureSecret = "dd05f1c54d63749eda95f9fa6d49v442a"; - -export default class signMd5Utils { - /** - * json参数升序 - * @param jsonObj 发送参数 - */ - - static sortAsc(jsonObj) { - let arr = new Array(); - let num = 0; - for (let i in jsonObj) { - arr[num] = i; - num++; - } - let sortArr = arr.sort(); - let sortObj = {}; - for (let i in sortArr) { - sortObj[sortArr[i]] = jsonObj[sortArr[i]]; - } - return sortObj; - } - - - /** - * @param url 请求的url,应该包含请求参数(url的?后面的参数) - * @param requestParams 请求参数(POST的JSON参数) - * @returns {string} 获取签名 - */ - static getSign(url, requestParams) { - let urlParams = this.parseQueryString(url); - let jsonObj = this.mergeObject(urlParams, requestParams); - //console.log("sign jsonObj: ",jsonObj) - let requestBody = this.sortAsc(jsonObj); - console.log("sign requestBody: ",requestBody) - return md5(JSON.stringify(requestBody) + signatureSecret).toUpperCase(); - } - - /** - * @param url 请求的url - * @returns {{}} 将url中请求参数组装成json对象(url的?后面的参数) - */ - static parseQueryString(url) { - let urlReg = /^[^\?]+\?([\w\W]+)$/, - paramReg = /([^&=]+)=([\w\W]*?)(&|$|#)/g, - urlArray = urlReg.exec(url), - result = {}; - - // 获取URL上最后带逗号的参数变量 sys/dict/getDictItems/sys_user,realname,username - //【这边条件没有encode】带条件参数例子:/sys/dict/getDictItems/sys_user,realname,id,username!='admin'%20order%20by%20create_time - let lastpathVariable = url.substring(url.lastIndexOf('/') + 1); - if(lastpathVariable.includes(",")){ - if(lastpathVariable.includes("?")){ - lastpathVariable = lastpathVariable.substring(0, lastpathVariable.indexOf("?")); - } - //解决Sign 签名校验失败 #2728 - result["x-path-variable"] = decodeURIComponent(lastpathVariable); - } - if (urlArray && urlArray[1]) { - let paramString = urlArray[1], paramResult; - while ((paramResult = paramReg.exec(paramString)) != null) { - //数字值转为string类型,前后端加密规则保持一致 - if(this.myIsNaN(paramResult[2])){ - paramResult[2] = paramResult[2].toString() - } - result[paramResult[1]] = paramResult[2]; - } - } - return result; - } - - /** - * @returns {*} 将两个对象合并成一个 - */ - static mergeObject(objectOne, objectTwo) { - if (objectTwo && Object.keys(objectTwo).length > 0) { - for (let key in objectTwo) { - if (objectTwo.hasOwnProperty(key) === true) { - //数字值转为string类型,前后端加密规则保持一致 - if(this.myIsNaN(objectTwo[key])){ - objectTwo[key] = objectTwo[key].toString() - } - objectOne[key] = objectTwo[key]; - } - } - } - return objectOne; - } - - static urlEncode(param, key, encode) { - if (param == null) return ''; - let paramStr = ''; - let t = typeof (param); - if (t == 'string' || t == 'number' || t == 'boolean') { - paramStr += '&' + key + '=' + ((encode == null || encode) ? encodeURIComponent(param) : param); - } else { - for (let i in param) { - let k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i); - paramStr += this.urlEncode(param[i], k, encode); - } - } - return paramStr; - }; - - /** - * 接口签名用 生成header中的时间戳 - * @returns {number} - */ - static getTimestamp(){ - return new Date().getTime() - } - - // /** - // * 获取客户端时间(签名参数 X_TIMESTAMP) - // * @returns {string} - // */ - // static getDateTimeToString() { - // const date_ = new Date() - // const year = date_.getFullYear() - // let month = date_.getMonth() + 1 - // let day = date_.getDate() - // if (month < 10) month = '0' + month - // if (day < 10) day = '0' + day - // let hours = date_.getHours() - // let mins = date_.getMinutes() - // let secs = date_.getSeconds() - // const msecs = date_.getMilliseconds() - // if (hours < 10) hours = '0' + hours - // if (mins < 10) mins = '0' + mins - // if (secs < 10) secs = '0' + secs - // if (msecs < 10) secs = '0' + msecs - // return year + '' + month + '' + day + '' + hours + '' + mins + '' + secs - // } - // true:数值型的,false:非数值型 - static myIsNaN(value) { - return typeof value === 'number' && !isNaN(value); - } - -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/filter.js b/ant-design-vue-jeecg/src/utils/filter.js deleted file mode 100644 index 43c77eff..00000000 --- a/ant-design-vue-jeecg/src/utils/filter.js +++ /dev/null @@ -1,30 +0,0 @@ -import Vue from "vue"; -import * as dayjs from "dayjs"; - -Vue.filter('NumberFormat', function (value) { - if (!value) { - return '0' - } - let intPartFormat = value.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') //将整数部分逢三一断 - return intPartFormat -}) - -Vue.filter('dayjs', function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') { - return dayjs(dataStr).format(pattern) -}) - -Vue.filter('moment', function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') { - return dayjs(dataStr).format(pattern) -}) - -/** 字符串超长截取省略号显示 */ -Vue.filter('ellipsis', function (value, vlength = 25) { - if(!value){ - return ""; - } - console.log('vlength: '+ vlength); - if (value.length > vlength) { - return value.slice(0, vlength) + '...' - } - return value -}) \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/hasPermission.js b/ant-design-vue-jeecg/src/utils/hasPermission.js deleted file mode 100644 index f5797281..00000000 --- a/ant-design-vue-jeecg/src/utils/hasPermission.js +++ /dev/null @@ -1,135 +0,0 @@ -import { USER_AUTH,SYS_BUTTON_AUTH } from "@/store/mutation-types" - -const hasPermission = { - install (Vue, options) { - //console.log(options); - Vue.directive('has', { - inserted: (el, binding, vnode)=>{ - //console.log("页面权限控制----"); - //console.time() - //节点权限处理,如果命中则不进行全局权限处理 - if(!filterNodePermission(el, binding, vnode)){ - filterGlobalPermission(el, binding, vnode); - } - //console.timeEnd() //计时结束并输出时长 - } - }); - } -}; - -/** - * 流程节点权限控制 - */ -export function filterNodePermission(el, binding, vnode) { - let permissionList = []; - try { - let obj = vnode.context.$props.formData; - if (obj) { - let bpmList = obj.permissionList; - for (let bpm of bpmList) { - if(bpm.type != '2') { - permissionList.push(bpm); - } - } - }else{ - return false; - } - } catch (e) { - //console.log("页面权限异常----", e); - } - if (permissionList === null || permissionList === "" || permissionList === undefined||permissionList.length<=0) { - //el.parentNode.removeChild(el) - return false; - } - - console.log("流程节点页面权限--NODE--"); - let permissions = []; - for (let item of permissionList) { - if(item.type != '2') { - permissions.push(item.action); - } - } - //console.log("页面权限----"+permissions); - //console.log("页面权限----"+binding.value); - if (!permissions.includes(binding.value)) { - //el.parentNode.removeChild(el) - return false; - }else{ - for (let item2 of permissionList) { - if(binding.value === item2.action){ - return true; - } - } - } - return false; -} - -/** - * 全局权限控制 - */ -export function filterGlobalPermission(el, binding, vnode) { - //console.log("全局页面权限--Global--"); - - let permissionList = []; - let allPermissionList = []; - - //let authList = Vue.ls.get(USER_AUTH); - let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); - for (let auth of authList) { - if(auth.type != '2') { - permissionList.push(auth); - } - } - //console.log("页面权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH)); - let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); - for (let gauth of allAuthList) { - if(gauth.type != '2') { - allPermissionList.push(gauth); - } - } - //设置全局配置是否有命中 - let invalidFlag = false;//无效命中 - if(allPermissionList != null && allPermissionList != "" && allPermissionList != undefined && allPermissionList.length > 0){ - for (let itemG of allPermissionList) { - if(binding.value === itemG.action){ - if(itemG.status == '0'){ - invalidFlag = true; - break; - } - } - } - } - if(invalidFlag){ - return; - } - if (permissionList === null || permissionList === "" || permissionList === undefined||permissionList.length<=0) { - el.parentNode.removeChild(el); - return; - } - let permissions = []; - for (let item of permissionList) { - //权限策略1显示2禁用 - if(item.type != '2'){ - //update--begin--autor:wangshuai-----date:20200729------for:按钮权限,授权标识的提示信息是多个用逗号分隔逻辑处理 gitee#I1OUGU------- - if(item.action){ - if(item.action.includes(",")){ - let split = item.action.split(",") - for (let i = 0; i state.app.layout, - navTheme: state => state.app.theme, - primaryColor: state => state.app.color, - colorWeak: state => state.app.weak, - multipage: state => state.app.multipage,//多页签设置 - fixedHeader: state => state.app.fixedHeader, - fixSiderbar: state => state.app.fixSiderbar, - contentWidth: state => state.app.contentWidth, - autoHideHeader: state => state.app.autoHideHeader, - sidebarOpened: state => state.app.sidebar.opened - }) - } -} - -const mixinDevice = { - computed: { - ...mapState({ - device: state => state.app.device, - }) - }, - methods: { - isMobile () { - return this.device === 'mobile' - }, - isDesktop () { - return this.device === 'desktop' - } - } -} - -export { mixin, mixinDevice } \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/permissions.js b/ant-design-vue-jeecg/src/utils/permissions.js deleted file mode 100644 index e4b60bcd..00000000 --- a/ant-design-vue-jeecg/src/utils/permissions.js +++ /dev/null @@ -1,8 +0,0 @@ -export function actionToObject(json) { - try { - return JSON.parse(json) - } catch (e) { - console.log('err', e.message) - } - return [] -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/portal/constant.js b/ant-design-vue-jeecg/src/utils/portal/constant.js deleted file mode 100644 index cadf2baa..00000000 --- a/ant-design-vue-jeecg/src/utils/portal/constant.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * 功能模块 - * @type {{LEAVE_EARLY: {text: string, value: string}, LATE: {text: string, value: string}, ABSENT: {text: string, value: string}, NO_SIGN: {text: string, value: string}, NORMAL: {text: string, value: string}}} - */ -export const FunctionEnum = { - EoaCmsBanner: { path: 'modules/eoa/cmsoa/modules/EoaCmsBanner', formData: 'carouselImg' }, - EoaCmsNewsInfo: { path: 'modules/eoa/cmsoa/modules/EoaCmsNewsInfo', formData: 'newsInfo' }, - EoaCmsRuleInfo: { path: 'modules/eoa/cmsoa/modules/EoaCmsRuleInfo', formData: 'ruleDownInfo' }, - EoaCmsSignNews: { path: 'modules/eoa/cmsoa/modules/EoaCmsSignNews', formData: 'signNews' }, - EoaCmsUserNotice: { path: 'modules/eoa/cmsoa/modules/EoaCmsUserNotice', formData: 'userNotice' }, - EoaCmsPlan: { path: 'modules/eoa/cmsoa/modules/EoaCmsPlan', formData: '' }, - EoaCmsLink: { path: 'modules/eoa/cmsoa/modules/EoaCmsLink', formData: '' }, - EoaCmsCommUse:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsCommUse', formData: '' }, - EoaCmsMyProcess:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsMyProcess', formData: '' }, - EoaCmsApplyProcess:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsApplyProcess', formData: '' }, - EoaCmsProcessNotice:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsProcessNotice', formData: '' }, - EoaCmsProcessChatData:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsProcessChatData', formData: '' }, - EoaCmsProcessTypeChat:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsProcessTypeChat', formData: '' }, - EoaCmsEmail:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsEmail', formData: '' }, -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/props-util.js b/ant-design-vue-jeecg/src/utils/props-util.js deleted file mode 100644 index 9c942004..00000000 --- a/ant-design-vue-jeecg/src/utils/props-util.js +++ /dev/null @@ -1,115 +0,0 @@ -/** - * 该文件截取自 "ant-design-vue/es/_util/props-util.js" 文件,并对其做出特殊修改 - */ -function classNames() { - let classes = [] - - for (let i = 0; i < arguments.length; i++) { - let arg = arguments[i] - if (!arg) continue - - let argType = typeof arg - - if (argType === 'string' || argType === 'number') { - classes.push(arg) - } else if (Array.isArray(arg) && arg.length) { - let inner = classNames.apply(null, arg) - if (inner) { - classes.push(inner) - } - } else if (argType === 'object') { - for (let key in arg) { - if (arg.hasOwnProperty(key) && arg[key]) { - classes.push(key) - } - } - } - } - return classes.join(' ') -} - -const camelizeRE = /-(\w)/g - -function camelize(str) { - return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : '')) -} - - -function objectCamelize(obj) { - let res = {} - Object.keys(obj).forEach(k => (res[camelize(k)] = obj[k])) - return res -} - -function parseStyleText(cssText = '', camel) { - const res = {} - const listDelimiter = /;(?![^(]*\))/g - const propertyDelimiter = /:(.+)/ - cssText.split(listDelimiter).forEach(function (item) { - if (item) { - const tmp = item.split(propertyDelimiter) - if (tmp.length > 1) { - const k = camel ? camelize(tmp[0].trim()) : tmp[0].trim() - res[k] = tmp[1].trim() - } - } - }) - return res -} - -export function getClass(ele) { - let data = {} - if (ele.data) { - data = ele.data - } else if (ele.$vnode && ele.$vnode.data) { - data = ele.$vnode.data - } - const tempCls = data.class || {} - const staticClass = data.staticClass - let cls = {} - staticClass && - staticClass.split(' ').forEach(c => { - cls[c.trim()] = true - }) - if (typeof tempCls === 'string') { - tempCls.split(' ').forEach(c => { - cls[c.trim()] = true - }) - } else if (Array.isArray(tempCls)) { - classNames(tempCls) - .split(' ') - .forEach(c => { - cls[c.trim()] = true - }) - } else { - cls = { ...cls, ...tempCls } - } - return cls -} - -export function getStyle(ele, camel) { - - getClass(ele) - - let data = {} - if (ele.data) { - data = ele.data - } else if (ele.$vnode && ele.$vnode.data) { - data = ele.$vnode.data - } - - // update-begin-author:sunjianlei date:20200303 for: style 和 staticStyle 可以共存 - let style = data.style || {} - let staticStyle = data.staticStyle - staticStyle = staticStyle ? objectCamelize(data.staticStyle) : {} - // update-end-author:sunjianlei date:20200303 for: style 和 staticStyle 可以共存 - - if (typeof style === 'string') { - style = parseStyleText(style, camel) - } else if (camel && style) { - // 驼峰化 - style = objectCamelize(style) - } - return { ...staticStyle, ...style } -} - diff --git a/ant-design-vue-jeecg/src/utils/request.js b/ant-design-vue-jeecg/src/utils/request.js deleted file mode 100644 index adaae740..00000000 --- a/ant-design-vue-jeecg/src/utils/request.js +++ /dev/null @@ -1,194 +0,0 @@ -import Vue from 'vue' -import axios from 'axios' -import store from '@/store' -import { VueAxios } from './axios' -import router from '@/router/index' -import { ACCESS_TOKEN, TENANT_ID } from "@/store/mutation-types" - -/** - * 【指定 axios的 baseURL】 - * 如果手工指定 baseURL: '/jeecg-boot' - * 则映射后端域名,通过 vue.config.js - * @type {*|string} - */ -let apiBaseUrl = window._CONFIG['domianURL'] || "/jeecg-boot"; -//console.log("apiBaseUrl= ",apiBaseUrl) -// 创建 axios 实例 -const service = axios.create({ - //baseURL: '/jeecg-boot', - baseURL: apiBaseUrl, // api base_url - timeout: 9000 // 请求超时时间 -}) - -const err = (error) => { - if (error.response) { - let data = error.response.data - const token = Vue.ls.get(ACCESS_TOKEN) - console.log("------异常响应------",token) - console.log("------异常响应------",error.response.status) - switch (error.response.status) { - case 403: - Vue.prototype.$Jnotification.error({ message: '系统提示', description: '拒绝访问',duration: 4}) - break - case 500: - console.log("------error.response------",error.response) - // update-begin- --- author:liusq ------ date:20200910 ---- for:处理Blob情况---- - let type=error.response.request.responseType; - if(type === 'blob'){ - blobToJson(data); - break; - } - // update-end- --- author:liusq ------ date:20200910 ---- for:处理Blob情况---- - if(token && data.message.includes("Token失效")){ - // update-begin- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转---- - if (/wxwork|dingtalk/i.test(navigator.userAgent)) { - Vue.prototype.$Jmessage.loading('登录已过期,正在重新登陆', 0) - } else { - Vue.prototype.$Jmodal.error({ - title: '登录已过期', - content: '很抱歉,登录已过期,请重新登录', - okText: '重新登录', - mask: false, - onOk: () => { - store.dispatch('Logout').then(() => { - Vue.ls.remove(ACCESS_TOKEN) - try { - let path = window.document.location.pathname - console.log('location pathname -> ' + path) - if (path != '/' && path.indexOf('/user/login') == -1) { - window.location.reload() - } - } catch (e) { - window.location.reload() - } - }) - } - }) - } - // update-end- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转---- - } - break - case 404: - Vue.prototype.$Jnotification.error({ message: '系统提示', description:'很抱歉,资源未找到!',duration: 4}) - break - case 504: - Vue.prototype.$Jnotification.error({ message: '系统提示', description: '网络超时'}) - break - case 401: - Vue.prototype.$Jnotification.error({ message: '系统提示', description:'很抱歉,登录已过期,请重新登录',duration: 4}) - if (token) { - store.dispatch('Logout').then(() => { - setTimeout(() => { - window.location.reload() - }, 1500) - }) - } - break - default: - Vue.prototype.$Jnotification.error({ - message: '系统提示', - description: data.message, - duration: 4 - }) - break - } - } else if (error.message) { - if (error.message.includes('timeout')) { - Vue.prototype.$Jnotification.error({message: '系统提示', description: '网络超时'}) - } else { - Vue.prototype.$Jnotification.error({message: '系统提示', description: error.message}) - } - } - return Promise.reject(error) -}; - -// request interceptor -service.interceptors.request.use(config => { - const token = Vue.ls.get(ACCESS_TOKEN) - if (token) { - config.headers[ 'X-Access-Token' ] = token // 让每个请求携带自定义 token 请根据实际情况自行修改 - } - - // update-begin--author:sunjianlei---date:20200723---for 如果当前在low-app环境,并且携带了appId,就向Header里传递appId - const $route = router.currentRoute - if ($route && $route.name && $route.name.startsWith('low-app') && $route.params.appId) { - config.headers['X-Low-App-ID'] = $route.params.appId - // lowApp自定义筛选条件 - if ($route.params.lowAppFilter) { - config.params = {...config.params, ...$route.params.lowAppFilter} - delete $route.params.lowAppFilter - } - } - // update-end--author:sunjianlei---date:20200723---for 如果当前在low-app环境,并且携带了appId,就向Header里传递appId - - //update-begin-author:taoyan date:2020707 for:多租户 - let tenantid = Vue.ls.get(TENANT_ID) - if (!tenantid) { - tenantid = 0; - } - config.headers[ 'tenant-id' ] = tenantid - //update-end-author:taoyan date:2020707 for:多租户 - if(config.method=='get'){ - if(config.url.indexOf("sys/dict/getDictItems")<0){ - config.params = { - _t: Date.parse(new Date())/1000, - ...config.params - } - } - } - return config -},(error) => { - return Promise.reject(error) -}) - -// response interceptor -service.interceptors.response.use((response) => { - return response.data - }, err) - -const installer = { - vm: {}, - install (Vue, router = {}) { - Vue.use(VueAxios, router, service) - } -} -/** - * Blob解析 - * @param data - */ -function blobToJson(data) { - let fileReader = new FileReader(); - let token = Vue.ls.get(ACCESS_TOKEN); - fileReader.onload = function() { - try { - let jsonData = JSON.parse(this.result); // 说明是普通对象数据,后台转换失败 - console.log("jsonData",jsonData) - if (jsonData.status === 500) { - console.log("token----------》",token) - if(token && jsonData.message.includes("Token失效")){ - Modal.error({ - title: '登录已过期', - content: '很抱歉,登录已过期,请重新登录', - okText: '重新登录', - mask: false, - onOk: () => { - store.dispatch('Logout').then(() => { - Vue.ls.remove(ACCESS_TOKEN) - window.location.reload() - }) - } - }) - } - } - } catch (err) { - // 解析成对象失败,说明是正常的文件流 - console.log("blob解析fileReader返回err",err) - } - }; - fileReader.readAsText(data) -} - -export { - installer as VueAxios, - service as axios -} \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/utils/rules.js b/ant-design-vue-jeecg/src/utils/rules.js deleted file mode 100644 index 103b5622..00000000 --- a/ant-design-vue-jeecg/src/utils/rules.js +++ /dev/null @@ -1,118 +0,0 @@ -const validateMobile = (rule, value, callback) => { - let reg = /^1(3|4|5|7|8)\d{9}$/ - //update-beign-author:taoyan date:20220316 for: VUEN-329【bug】为什么不是失去焦点的时候,触发手机号校验 - if(!value && value!=='0'){ - callback() - }else{ - if (!reg.test(value)) { - callback('请输入正确手机号') - } else { - callback() - } - } - //update-end-author:taoyan date:20220316 for: VUEN-329【bug】为什么不是失去焦点的时候,触发手机号校验 - -} -const validateEn = (rule, value, callback) => { - let reg = /^[_a-zA-Z0-9]+$/ - let reg2 = /^.{4,18}$/ - // 长度为6到18个字符 - if (value !== '' && !reg.test(value)) { - callback('只允许字母、数字、下划线') - } else if (value !== '' && !reg2.test(value)) { - callback('长度6到18个字符') - } else { - callback() - } -} -export const rules = { - mobile: [{ - required: true, - message: '请输入手机号', - trigger: 'blur' - }, { validator: validateMobile, trigger: 'blur' }], - mobile2: [{ validator: validateMobile, trigger: 'blur' }], - userName: [{ - required: true, message: '请输入用户名', trigger: 'blur' - }, { validator: validateEn }], - email: [ - { required: false, type: 'email', message: '邮箱格式不正确', trigger: 'blur' } - ], - // 验证自然数 - naturalNumber: /^(([0-9]*[1-9][0-9]*)|(0+))$/, - naturalNumberMsg: '请输入自然数', - // 英文 - english: /^.[A-Za-z]+$/, - englishMsg: '请输入英文字符', - // 座机 - telephone: /^\d{3}-\d{7,8}|\d{4}-\d{7,8}$/, - telephoneMsg: '请输入正确的座机号', - // 银行卡号码 - bankCard: /^[1-9]\d{9,19}$/, - bankCardMsg: '请输入正确的银行卡号码', - // 证件号码 - IDNumber: /^[a-z0-9A-Z]{0,50}$/, - IDNumberMsg: '请输入正确的证件号码', - // 身份证号码,包括15位和18位的 - IDCard: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{7}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/, - IDCardMsg: '请输入正确的身份证号码', - // QQ号码 - qq: /^[1-9]\d{4,11}$/, - qqMsg: '请输入正确的QQ号码', - // 网址, 仅支持http和https开头的 - url: /^(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-.,@?^=%&:/~+#]*[\w\-@?^=%&/~+#])?$/, - urlMsg: '请输入以http和https开头的网址', - // 0到20位的英文字符和数字 - enNum0to20: /^[a-z0-9A-Z]{0,20}$/, - enNum0to20Msg: '请输入20位以内的英文字符和数字', - // 2到100位的中英文字符和空格 - cnEnSpace2to100: /^[a-zA-Z\u4E00-\u9FA5\s*]{2,100}$/, - cnEnSpace2to100Msg: '请输入2到100位的中英文字符和空格', - // 数字和换行符 - numLinefeed: /^[0-9\n*]+$/, - numLinefeedMsg: '请输入数字和换行符', - // 255位以内的字符 - char0to255: /^.{0,255}$/, - char0to255Msg: '请输入255位以内的字符', - required: function(min, max) { - let rule = [{ required: true, message: '', trigger: 'blur' }] - if (min) { - let r = { min: min, message: '最小长度' + min + '位字符' } - rule.push(r) - } - if (max) { - let m = { max: max, message: '最大长度' + max + '位字符' } - rule.push(m) - } - return rule - }, - select: function() { - let rule = [{ required: true, message: '', trigger: 'change' }] - return rule - }, - checked: function(min, max) { - let rule = [{ required: true, type: 'array', message: '', trigger: 'change' }] - if (min) { - let r = { type: 'array', min: min, message: '最少选择' + min + '项' } - rule.push(r) - } - if (max) { - let m = { type: 'array', max: max, message: '最多选择' + max + '项' } - rule.push(m) - } - return rule - } -} -/** - * @description 排序值验证,排序值不可以大于255 - */ -export const validateOrder = function(rule, value, callback) { - if (parseInt(value) > 255) { - return callback(new Error('排序值不可以大于255')) - } else { - callback() - } -} - - - diff --git a/ant-design-vue-jeecg/src/utils/storage.js b/ant-design-vue-jeecg/src/utils/storage.js deleted file mode 100644 index b3c29ab3..00000000 --- a/ant-design-vue-jeecg/src/utils/storage.js +++ /dev/null @@ -1,78 +0,0 @@ -/** - * Set storage - * - * @param name - * @param content - * @param maxAge - */ -export const setStore = (name, content, maxAge = null) => { - if (!global.window || !name) { - return; - } - - if (typeof content !== 'string') { - content = JSON.stringify(content) - } - - let storage = global.window.localStorage - - storage.setItem(name, content) - if (maxAge && !isNaN(parseInt(maxAge))) { - let timeout = parseInt(new Date().getTime() / 1000) - storage.setItem(`${name}_expire`, timeout + maxAge) - } -}; - -/** - * Get storage - * - * @param name - * @returns {*} - */ -export const getStore = name => { - if (!global.window || !name) { - return; - } - - let content = window.localStorage.getItem(name) - let _expire = window.localStorage.getItem(`${name}_expire`) - - if (_expire) { - let now = parseInt(new Date().getTime() / 1000) - if (now > _expire) { - return; - } - } - - try { - return JSON.parse(content) - } catch (e) { - return content - } -}; - -/** - * Clear storage - * - * @param name - */ -export const clearStore = name => { - if (!global.window || !name) { - return; - } - - window.localStorage.removeItem(name) - window.localStorage.removeItem(`${name}_expire`) -}; - -/** - * Clear all storage - */ -export const clearAll = () => { - if (!global.window || !name) { - return; - } - - window.localStorage.clear() -} - diff --git a/ant-design-vue-jeecg/src/utils/util.js b/ant-design-vue-jeecg/src/utils/util.js deleted file mode 100644 index bf4f48fa..00000000 --- a/ant-design-vue-jeecg/src/utils/util.js +++ /dev/null @@ -1,689 +0,0 @@ -import Vue from 'vue' -import * as api from '@/api/api' -import { isURL } from '@/utils/validate' -import { ACCESS_TOKEN } from '@/store/mutation-types' -import onlineCommons from '@jeecg/antd-online-mini' - -export function timeFix() { - const time = new Date() - const hour = time.getHours() - return hour < 9 ? '早上好' : (hour <= 11 ? '上午好' : (hour <= 13 ? '中午好' : (hour < 20 ? '下午好' : '晚上好'))) -} - -export function welcome() { - const arr = ['休息一会儿吧', '准备吃什么呢?', '要不要打一把 DOTA', '我猜你可能累了'] - let index = Math.floor((Math.random()*arr.length)) - return arr[index] -} - -/** - * 触发 window.resize - */ -export function triggerWindowResizeEvent() { - let event = document.createEvent('HTMLEvents') - event.initEvent('resize', true, true) - event.eventType = 'message' - window.dispatchEvent(event) -} - -/** - * 过滤对象中为空的属性 - * @param obj - * @returns {*} - */ -export function filterObj(obj) { - if (!(typeof obj == 'object')) { - return; - } - - for ( let key in obj) { - if (obj.hasOwnProperty(key) - && (obj[key] == null || obj[key] == undefined || obj[key] === '')) { - delete obj[key]; - } - } - return obj; -} - -/** - * 时间格式化 - * @param value - * @param fmt - * @returns {*} - */ -export function formatDate(value, fmt) { - let regPos = /^\d+(\.\d+)?$/; - if(regPos.test(value)){ - //如果是数字 - let getDate = new Date(value); - let o = { - 'M+': getDate.getMonth() + 1, - 'd+': getDate.getDate(), - 'h+': getDate.getHours(), - 'm+': getDate.getMinutes(), - 's+': getDate.getSeconds(), - 'q+': Math.floor((getDate.getMonth() + 3) / 3), - 'S': getDate.getMilliseconds() - }; - if (/(y+)/.test(fmt)) { - fmt = fmt.replace(RegExp.$1, (getDate.getFullYear() + '').substr(4 - RegExp.$1.length)) - } - for (let k in o) { - if (new RegExp('(' + k + ')').test(fmt)) { - fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))) - } - } - return fmt; - }else{ - //TODO - value = value.trim(); - return value.substr(0,fmt.length); - } -} - -// 生成首页路由 -export function generateIndexRouter(data) { - let indexRouter = [{ - path: '/', - name: 'dashboard', - //component: () => import('@/components/layouts/BasicLayout'), - component: resolve => require(['@/components/layouts/TabLayout'], resolve), - meta: { title: '首页' }, - redirect: '/dashboard/analysis', - children: [ - ...generateChildRouters(data) - ] - },{ - "path": "*", "redirect": "/404", "hidden": true - }] - return indexRouter; -} - -// 生成嵌套路由(子路由) - -function generateChildRouters (data) { - const routers = []; - for (let item of data) { - let component = ""; - if(item.component.indexOf("layouts")>=0){ - component = "components/"+item.component; - }else{ - component = "views/"+item.component; - } - - // eslint-disable-next-line - let URL = (item.meta.url|| '').replace(/{{([^}}]+)?}}/g, (s1, s2) => eval(s2)) // URL支持{{ window.xxx }}占位符变量 - if (isURL(URL)) { - item.meta.url = URL; - } - - let componentPath - if(item.component=="modules/online/cgform/OnlCgformHeadList"){ - componentPath = onlineCommons.OnlCgformHeadList - }else if(item.component=="modules/online/cgform/OnlCgformCopyList"){ - componentPath = onlineCommons.OnlCgformCopyList - }else if(item.component=="modules/online/cgform/auto/OnlCgformAutoList"){ - componentPath = onlineCommons.OnlCgformAutoList - }else if(item.component=="modules/online/cgform/auto/OnlCgformTreeList"){ - componentPath = onlineCommons.OnlCgformTreeList - }else if(item.component=="modules/online/cgform/auto/erp/OnlCgformErpList"){ - componentPath = onlineCommons.OnlCgformErpList - }else if(item.component=="modules/online/cgform/auto/tab/OnlCgformTabList"){ - componentPath = onlineCommons.OnlCgformTabList - }else if(item.component=="modules/online/cgform/auto/innerTable/OnlCgformInnerTableList"){ - componentPath = onlineCommons.OnlCgformInnerTableList - }else if(item.component=="modules/online/cgreport/OnlCgreportHeadList"){ - componentPath = onlineCommons.OnlCgreportHeadList - }else if(item.component=="modules/online/cgreport/auto/OnlCgreportAutoList"){ - componentPath = onlineCommons.OnlCgreportAutoList - }else{ - componentPath = resolve => require(['@/' + component+'.vue'], resolve) - } - - let menu = { - path: item.path, - name: item.name, - redirect:item.redirect, - component: componentPath, - //component: resolve => require(['@/' + component+'.vue'], resolve), - hidden:item.hidden, - //component:()=> import(`@/views/${item.component}.vue`), - meta: { - title:item.meta.title , - icon: item.meta.icon, - url:item.meta.url , - permissionList:item.meta.permissionList, - keepAlive:item.meta.keepAlive, - /*update_begin author:wuxianquan date:20190908 for:赋值 */ - internalOrExternal:item.meta.internalOrExternal, - /*update_end author:wuxianquan date:20190908 for:赋值 */ - componentName:item.meta.componentName - } - } - if(item.alwaysShow){ - menu.alwaysShow = true; - menu.redirect = menu.path; - } - if (item.children && item.children.length > 0) { - menu.children = [...generateChildRouters( item.children)]; - } - //--update-begin----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------ - //判断是否生成路由 - if(item.route && item.route === '0'){ - //console.log(' 不生成路由 item.route: '+item.route); - //console.log(' 不生成路由 item.path: '+item.path); - }else{ - routers.push(menu); - } - //--update-end----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------ - } - return routers -} - -/** - * 深度克隆对象、数组 - * @param obj 被克隆的对象 - * @return 克隆后的对象 - */ -export function cloneObject(obj) { - return JSON.parse(JSON.stringify(obj)) -} - -/** - * 随机生成数字 - * - * 示例:生成长度为 12 的随机数:randomNumber(12) - * 示例:生成 3~23 之间的随机数:randomNumber(3, 23) - * - * @param1 最小值 | 长度 - * @param2 最大值 - * @return int 生成后的数字 - */ -export function randomNumber() { - // 生成 最小值 到 最大值 区间的随机数 - const random = (min, max) => { - return Math.floor(Math.random() * (max - min + 1) + min) - } - if (arguments.length === 1) { - let [length] = arguments - // 生成指定长度的随机数字,首位一定不是 0 - let nums = [...Array(length).keys()].map((i) => (i > 0 ? random(0, 9) : random(1, 9))) - return parseInt(nums.join('')) - } else if (arguments.length >= 2) { - let [min, max] = arguments - return random(min, max) - } else { - return Number.NaN - } -} - -/** - * 随机生成字符串 - * @param length 字符串的长度 - * @param chats 可选字符串区间(只会生成传入的字符串中的字符) - * @return string 生成的字符串 - */ -export function randomString(length, chats) { - if (!length) length = 1 - if (!chats) chats = '0123456789qwertyuioplkjhgfdsazxcvbnm' - let str = '' - for (let i = 0; i < length; i++) { - let num = randomNumber(0, chats.length - 1) - str += chats[num] - } - return str -} - -/** - * 随机生成uuid - * @return string 生成的uuid - */ -export function randomUUID() { - let chats = '0123456789abcdef' - return randomString(32, chats) -} - -/** - * 下划线转驼峰 - * @param string - * @returns {*} - */ -export function underLine2CamelCase(string){ - return string.replace( /_([a-z])/g, function( all, letter ) { - return letter.toUpperCase(); - }); -} - -/** - * 判断是否显示办理按钮 - * @param bpmStatus - * @returns {*} - */ -export function showDealBtn(bpmStatus){ - if(bpmStatus!="1"&&bpmStatus!="3"&&bpmStatus!="4"){ - return true; - } - return false; -} - -/** - * 增强CSS,可以在页面上输出全局css - * @param css 要增强的css - * @param id style标签的id,可以用来清除旧样式 - */ -export function cssExpand(css, id) { - let style = document.createElement('style') - style.type = "text/css" - style.innerHTML = `@charset "UTF-8"; ${css}` - // 清除旧样式 - if (id) { - let $style = document.getElementById(id) - if ($style != null) $style.outerHTML = '' - style.id = id - } - // 应用新样式 - document.head.appendChild(style) -} - - -/** 用于js增强事件,运行JS代码,可以传参 */ -// options 所需参数: -// 参数名 类型 说明 -// vm VueComponent vue实例 -// event Object event对象 -// jsCode String 待执行的js代码 -// errorMessage String 执行出错后的提示(控制台) -export function jsExpand(options = {}) { - - // 绑定到window上的keyName - let windowKeyName = 'J_CLICK_EVENT_OPTIONS' - if (typeof window[windowKeyName] != 'object') { - window[windowKeyName] = {} - } - - // 随机生成JS增强的执行id,防止冲突 - let id = randomString(16, 'qwertyuioplkjhgfdsazxcvbnm'.toUpperCase()) - // 封装按钮点击事件 - let code = ` - (function (o_${id}) { - try { - (function (globalEvent, vm) { - ${options.jsCode} - })(o_${id}.event, o_${id}.vm) - } catch (e) { - o_${id}.error(e) - } - o_${id}.done() - })(window['${windowKeyName}']['EVENT_${id}']) - ` - // 创建script标签 - const script = document.createElement('script') - // 将需要传递的参数挂载到window对象上 - window[windowKeyName]['EVENT_' + id] = { - vm: options.vm, - event: options.event, - // 当执行完成时,无论如何都会调用的回调事件 - done() { - // 执行完后删除新增的 script 标签不会撤销执行结果(已产生的结果不会被撤销) - script.outerHTML = '' - delete window[windowKeyName]['EVENT_' + id] - }, - // 当js运行出错的时候调用的事件 - error(e) { - console.group(`${options.errorMessage || '用户自定义JS增强代码运行出错'}(${new Date()})`) - console.error(e) - console.groupEnd() - } - } - // 将事件挂载到document中 - script.innerHTML = code - document.body.appendChild(script) -} - - -/** - * 重复值验证工具方法 - * - * 使用示例: - * { validator: (rule, value, callback) => validateDuplicateValue('sys_fill_rule', 'rule_code', value, this.model.id, callback) } - * - * @param tableName 被验证的表名 - * @param fieldName 被验证的字段名 - * @param fieldVal 被验证的值 - * @param dataId 数据ID,可空 - * @param callback - */ -export function validateDuplicateValue(tableName, fieldName, fieldVal, dataId, callback) { - if (fieldVal) { - let params = { tableName, fieldName, fieldVal, dataId } - api.duplicateCheck(params).then(res => { - res['success'] ? callback() : callback(res['message']) - }).catch(err => { - callback(err.message || err) - }) - } else { - callback() - } -} - -/** - * 根据编码校验规则code,校验传入的值是否合法 - * - * 使用示例: - * { validator: (rule, value, callback) => validateCheckRule('common', value, callback) } - * - * @param ruleCode 编码校验规则 code - * @param value 被验证的值 - * @param callback - */ -export function validateCheckRule(ruleCode, value, callback) { - if (ruleCode && value) { - value = encodeURIComponent(value) - api.checkRuleByCode({ ruleCode, value }).then(res => { - res['success'] ? callback() : callback(res['message']) - }).catch(err => { - callback(err.message || err) - }) - } else { - callback() - } -} - -/** - * 如果值不存在就 push 进数组,反之不处理 - * @param array 要操作的数据 - * @param value 要添加的值 - * @param key 可空,如果比较的是对象,可能存在地址不一样但值实际上是一样的情况,可以传此字段判断对象中唯一的字段,例如 id。不传则直接比较实际值 - * @returns {boolean} 成功 push 返回 true,不处理返回 false - */ -export function pushIfNotExist(array, value, key) { - for (let item of array) { - if (key && (item[key] === value[key])) { - return false - } else if (item === value) { - return false - } - } - array.push(value) - return true -} - -/** - * 可用于判断是否成功 - * @type {symbol} - */ -export const succeedSymbol = Symbol() -/** - * 可用于判断是否失败 - * @type {symbol} - */ -export const failedSymbol = Symbol() - -/** - * 使 promise 无论如何都会 resolve,除非传入的参数不是一个Promise对象或返回Promise对象的方法 - * 一般用在 Promise.all 中 - * - * @param promise 可传Promise对象或返回Promise对象的方法 - * @returns {Promise} - */ -export function alwaysResolve(promise) { - return new Promise((resolve, reject) => { - let p = promise - if (typeof promise === 'function') { - p = promise() - } - if (p instanceof Promise) { - p.then(data => { - resolve({ type: succeedSymbol, data }) - }).catch(error => { - resolve({ type: failedSymbol, error }) - }) - } else { - reject('alwaysResolve: 传入的参数不是一个Promise对象或返回Promise对象的方法') - } - }) -} - -/** - * 简单实现防抖方法 - * - * 防抖(debounce)函数在第一次触发给定的函数时,不立即执行函数,而是给出一个期限值(delay),比如100ms。 - * 如果100ms内再次执行函数,就重新开始计时,直到计时结束后再真正执行函数。 - * 这样做的好处是如果短时间内大量触发同一事件,只会执行一次函数。 - * - * @param fn 要防抖的函数 - * @param delay 防抖的毫秒数 - * @returns {Function} - */ -export function simpleDebounce(fn, delay = 100) { - let timer = null - return function () { - let args = arguments - if (timer) { - clearTimeout(timer) - } - timer = setTimeout(() => { - fn.apply(this, args) - }, delay) - } -} - -/** - * 不用正则的方式替换所有值 - * @param text 被替换的字符串 - * @param checker 替换前的内容 - * @param replacer 替换后的内容 - * @returns {String} 替换后的字符串 - */ -export function replaceAll(text, checker, replacer) { - let lastText = text - text = text.replace(checker, replacer) - if (lastText !== text) { - return replaceAll(text, checker, replacer) - } - return text -} - -/** - * 获取事件冒泡路径,兼容 IE11,Edge,Chrome,Firefox,Safari - * 目前使用的地方:JEditableTable Span模式 - */ -export function getEventPath(event) { - let target = event.target - let path = (event.composedPath && event.composedPath()) || event.path - - if (path != null) { - return (path.indexOf(window) < 0) ? path.concat(window) : path - } - - if (target === window) { - return [window] - } - - let getParents = (node, memo) => { - memo = memo || [] - const parentNode = node.parentNode - - if (!parentNode) { - return memo - } else { - return getParents(parentNode, memo.concat(parentNode)) - } - } - return [target].concat(getParents(target), window) -} - -/** - * 根据组件名获取父级 - * @param vm - * @param name - * @returns {Vue | null|null|Vue} - */ -export function getVmParentByName(vm, name) { - let parent = vm.$parent - if (parent && parent.$options) { - if (parent.$options.name === name) { - return parent - } else { - let res = getVmParentByName(parent, name) - if (res) { - return res - } - } - } - return null -} - -/** - * 使一个值永远不会为(null | undefined) - * - * @param value 要处理的值 - * @param def 默认值,如果value为(null | undefined)则返回的默认值,可不传,默认为'' - */ -export function neverNull(value, def) { - return value == null ? (neverNull(def, '')) : value -} - -/** - * 根据元素值移除数组中的一个元素 - * @param array 数组 - * @param prod 属性名 - * @param value 属性值 - * @returns {string} - */ -export function removeArrayElement(array, prod, value) { - let index = -1 - for(let i = 0;i=0){ - array.splice(index, 1); - } -} - -/** 判断是否是OAuth2APP环境 */ -export function isOAuth2AppEnv() { - return /wxwork|dingtalk/i.test(navigator.userAgent) -} - -/** - * 获取积木报表打印地址 - * @param url - * @param id - * @param open 是否自动打开 - * @returns {*} - */ -export function getReportPrintUrl(url, id, open) { - // URL支持{{ window.xxx }}占位符变量 - url = url.replace(/{{([^}]+)?}}/g, (s1, s2) => eval(s2)) - if (url.includes('?')) { - url += '&' - } else { - url += '?' - } - url += `id=${id}` - url += `&token=${Vue.ls.get(ACCESS_TOKEN)}` - if (open) { - window.open(url) - } - return url -} - -/** - * JS实现AOP切面 - * - * @param obj 包含函数的对象 - * @param funcName 要切面的函数名 - * @param callback 执行方法前的回调,用于切面,callback的返回值就是funcName最终的返回值 - */ -export function aspectAroundFunction(obj, funcName, callback) { - if (typeof callback !== 'function' || !obj) { - console.warn('【aspectAroundFunction】obj或callback格式不正确') - return - } - // 保存原来的函数 - let func = obj[funcName] - if (typeof func !== 'function') { - console.warn('【aspectAroundFunction】' + funcName + '不是一个方法') - return - } - // 赋值新方法 - // 实现当外部调用 funcName 时,首先调用我定义的新方法 - // 然后调用传入的callback方法,以决定是否执行 funcName,以及更改参数、返回值 - obj[funcName] = function (...args) { - return callback({ - args, - // 只有执行 proceed 才会真正执行给定的 funcName 方法 - proceed() { - try { - return func.apply(obj, args) - } catch (e) { - console.error(e) - } - }, - }) - } -} - -/** - * 休眠 - * @param ms 毫秒 - * @return {Promise} - */ -export function sleep(ms) { - return new Promise(function (resolve) { - return setTimeout(resolve, ms); - }); -} - -/** - * 获取指定的 $refs 对象 - * 有时候可能会遇到组件未挂载到页面中的情况,导致无法获取 $refs 中的某个对象 - * 这个方法可以等待挂载完成之后再返回 $refs 的对象,避免报错 - * - * 用法示例:let modalRef = getRefPromise(this, 'modal') - * @param vm vue实例 - * @param name 要获取的ref名称 - * @param noComment $el 标签不能是注释 - **/ -export function getRefPromise(vm, name, noComment = true) { - return new Promise((resolve) => { - (function next() { - let ref = vm.$refs[name] - if (ref && (noComment && ref.$el.tagName)) { - resolve(ref) - } else { - setTimeout(() => { - if (noComment) { - vm.$forceUpdate() - } - next() - }, 10) - } - })() - }) -} - -/** - * 导出文件xlsx的mime-type - * xls: application/vnd.ms-excel - * @type {string} - */ -export const EXPORT_MIME_TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; -/** - * 导出excel文件后缀 - * @type {string} - */ -export const EXPORT_FILE_SUFFIX = ".xlsx"; - -/** - * 字符串是否为null或null字符串 - * @param str - * @return {boolean} - */ -export function stringIsNull(str) { - return str == null || str === 'null' || str === 'undefined'; -} diff --git a/ant-design-vue-jeecg/src/utils/validate.js b/ant-design-vue-jeecg/src/utils/validate.js deleted file mode 100644 index c8edcac4..00000000 --- a/ant-design-vue-jeecg/src/utils/validate.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * 邮箱 - * @param {*} s - */ -export function isEmail (s) { - return /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s) -} - -/** - * 手机号码 - * @param {*} s - */ -export function isMobile (s) { - return /^1[0-9]{10}$/.test(s) -} - -/** - * 电话号码 - * @param {*} s - */ -export function isPhone (s) { - return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s) -} - -/** - * URL地址 - * @param {*} s - */ -export function isURL (s) { - return /^http[s]?:\/\/.*/.test(s) -} diff --git a/ant-design-vue-jeecg/src/utils/vueBus.js b/ant-design-vue-jeecg/src/utils/vueBus.js deleted file mode 100644 index 95235a03..00000000 --- a/ant-design-vue-jeecg/src/utils/vueBus.js +++ /dev/null @@ -1,5 +0,0 @@ -import Bus from 'vue'; -let install = function (Vue) { - Vue.prototype.$bus = new Bus() -} -export default { install }; \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/Home.vue b/ant-design-vue-jeecg/src/views/Home.vue deleted file mode 100644 index c9cab99c..00000000 --- a/ant-design-vue-jeecg/src/views/Home.vue +++ /dev/null @@ -1,163 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/views/account/center/Index.vue b/ant-design-vue-jeecg/src/views/account/center/Index.vue deleted file mode 100644 index 4084a6d8..00000000 --- a/ant-design-vue-jeecg/src/views/account/center/Index.vue +++ /dev/null @@ -1,286 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/center/page/App.vue b/ant-design-vue-jeecg/src/views/account/center/page/App.vue deleted file mode 100644 index e563bd27..00000000 --- a/ant-design-vue-jeecg/src/views/account/center/page/App.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/center/page/Article.vue b/ant-design-vue-jeecg/src/views/account/center/page/Article.vue deleted file mode 100644 index 0d743ef5..00000000 --- a/ant-design-vue-jeecg/src/views/account/center/page/Article.vue +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/center/page/Project.vue b/ant-design-vue-jeecg/src/views/account/center/page/Project.vue deleted file mode 100644 index 460e02fd..00000000 --- a/ant-design-vue-jeecg/src/views/account/center/page/Project.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/center/page/index.js b/ant-design-vue-jeecg/src/views/account/center/page/index.js deleted file mode 100644 index e80351ad..00000000 --- a/ant-design-vue-jeecg/src/views/account/center/page/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import AppPage from './App' -import ArticlePage from './Article' -import ProjectPage from './Project' - -export { AppPage, ArticlePage, ProjectPage } \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/settings/AvatarModal.vue b/ant-design-vue-jeecg/src/views/account/settings/AvatarModal.vue deleted file mode 100644 index 9986088d..00000000 --- a/ant-design-vue-jeecg/src/views/account/settings/AvatarModal.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/settings/BaseSetting.vue b/ant-design-vue-jeecg/src/views/account/settings/BaseSetting.vue deleted file mode 100644 index fb6d55ca..00000000 --- a/ant-design-vue-jeecg/src/views/account/settings/BaseSetting.vue +++ /dev/null @@ -1,161 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/settings/Binding.vue b/ant-design-vue-jeecg/src/views/account/settings/Binding.vue deleted file mode 100644 index 273825ba..00000000 --- a/ant-design-vue-jeecg/src/views/account/settings/Binding.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/settings/Custom.vue b/ant-design-vue-jeecg/src/views/account/settings/Custom.vue deleted file mode 100644 index 8734c6f8..00000000 --- a/ant-design-vue-jeecg/src/views/account/settings/Custom.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/settings/Index.vue b/ant-design-vue-jeecg/src/views/account/settings/Index.vue deleted file mode 100644 index 5165b24f..00000000 --- a/ant-design-vue-jeecg/src/views/account/settings/Index.vue +++ /dev/null @@ -1,207 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/settings/Notification.vue b/ant-design-vue-jeecg/src/views/account/settings/Notification.vue deleted file mode 100644 index 273825ba..00000000 --- a/ant-design-vue-jeecg/src/views/account/settings/Notification.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/account/settings/Security.vue b/ant-design-vue-jeecg/src/views/account/settings/Security.vue deleted file mode 100644 index 35aedb13..00000000 --- a/ant-design-vue-jeecg/src/views/account/settings/Security.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/dashboard/Analysis.vue b/ant-design-vue-jeecg/src/views/dashboard/Analysis.vue deleted file mode 100644 index 2e16b225..00000000 --- a/ant-design-vue-jeecg/src/views/dashboard/Analysis.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/dashboard/IndexBdc.vue b/ant-design-vue-jeecg/src/views/dashboard/IndexBdc.vue deleted file mode 100644 index fa8edeab..00000000 --- a/ant-design-vue-jeecg/src/views/dashboard/IndexBdc.vue +++ /dev/null @@ -1,519 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/dashboard/IndexChart.vue b/ant-design-vue-jeecg/src/views/dashboard/IndexChart.vue deleted file mode 100644 index 60ac1f54..00000000 --- a/ant-design-vue-jeecg/src/views/dashboard/IndexChart.vue +++ /dev/null @@ -1,268 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/dashboard/IndexTask.vue b/ant-design-vue-jeecg/src/views/dashboard/IndexTask.vue deleted file mode 100644 index 8e9d84be..00000000 --- a/ant-design-vue-jeecg/src/views/dashboard/IndexTask.vue +++ /dev/null @@ -1,372 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/dashboard/Monitor.vue b/ant-design-vue-jeecg/src/views/dashboard/Monitor.vue deleted file mode 100644 index 144e237e..00000000 --- a/ant-design-vue-jeecg/src/views/dashboard/Monitor.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/dashboard/Workplace.vue b/ant-design-vue-jeecg/src/views/dashboard/Workplace.vue deleted file mode 100644 index 57d0a06e..00000000 --- a/ant-design-vue-jeecg/src/views/dashboard/Workplace.vue +++ /dev/null @@ -1,360 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/form/BasicForm.vue b/ant-design-vue-jeecg/src/views/examples/form/BasicForm.vue deleted file mode 100644 index 0e4bedc8..00000000 --- a/ant-design-vue-jeecg/src/views/examples/form/BasicForm.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/form/advancedForm/AdvancedForm.vue b/ant-design-vue-jeecg/src/views/examples/form/advancedForm/AdvancedForm.vue deleted file mode 100644 index ad75b979..00000000 --- a/ant-design-vue-jeecg/src/views/examples/form/advancedForm/AdvancedForm.vue +++ /dev/null @@ -1,206 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/form/advancedForm/RepositoryForm.vue b/ant-design-vue-jeecg/src/views/examples/form/advancedForm/RepositoryForm.vue deleted file mode 100644 index 0ad1fad1..00000000 --- a/ant-design-vue-jeecg/src/views/examples/form/advancedForm/RepositoryForm.vue +++ /dev/null @@ -1,119 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/form/advancedForm/TaskForm.vue b/ant-design-vue-jeecg/src/views/examples/form/advancedForm/TaskForm.vue deleted file mode 100644 index e1af2aeb..00000000 --- a/ant-design-vue-jeecg/src/views/examples/form/advancedForm/TaskForm.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/form/stepForm/Step1.vue b/ant-design-vue-jeecg/src/views/examples/form/stepForm/Step1.vue deleted file mode 100644 index 384602c4..00000000 --- a/ant-design-vue-jeecg/src/views/examples/form/stepForm/Step1.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/form/stepForm/Step2.vue b/ant-design-vue-jeecg/src/views/examples/form/stepForm/Step2.vue deleted file mode 100644 index 5e02c418..00000000 --- a/ant-design-vue-jeecg/src/views/examples/form/stepForm/Step2.vue +++ /dev/null @@ -1,82 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/form/stepForm/Step3.vue b/ant-design-vue-jeecg/src/views/examples/form/stepForm/Step3.vue deleted file mode 100644 index b3c87af4..00000000 --- a/ant-design-vue-jeecg/src/views/examples/form/stepForm/Step3.vue +++ /dev/null @@ -1,69 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/form/stepForm/StepForm.vue b/ant-design-vue-jeecg/src/views/examples/form/stepForm/StepForm.vue deleted file mode 100644 index 623d6444..00000000 --- a/ant-design-vue-jeecg/src/views/examples/form/stepForm/StepForm.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/list/CardList.vue b/ant-design-vue-jeecg/src/views/examples/list/CardList.vue deleted file mode 100644 index 4208017e..00000000 --- a/ant-design-vue-jeecg/src/views/examples/list/CardList.vue +++ /dev/null @@ -1,109 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/list/PermissionList.vue b/ant-design-vue-jeecg/src/views/examples/list/PermissionList.vue deleted file mode 100644 index 2efcfcef..00000000 --- a/ant-design-vue-jeecg/src/views/examples/list/PermissionList.vue +++ /dev/null @@ -1,272 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/list/RoleList.vue b/ant-design-vue-jeecg/src/views/examples/list/RoleList.vue deleted file mode 100644 index 21dd5178..00000000 --- a/ant-design-vue-jeecg/src/views/examples/list/RoleList.vue +++ /dev/null @@ -1,183 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/list/StandardList.vue b/ant-design-vue-jeecg/src/views/examples/list/StandardList.vue deleted file mode 100644 index 4868ce3a..00000000 --- a/ant-design-vue-jeecg/src/views/examples/list/StandardList.vue +++ /dev/null @@ -1,164 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/list/TableInnerEditList.vue b/ant-design-vue-jeecg/src/views/examples/list/TableInnerEditList.vue deleted file mode 100644 index db7d9d40..00000000 --- a/ant-design-vue-jeecg/src/views/examples/list/TableInnerEditList.vue +++ /dev/null @@ -1,288 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/list/TableList.vue b/ant-design-vue-jeecg/src/views/examples/list/TableList.vue deleted file mode 100644 index ac9e0649..00000000 --- a/ant-design-vue-jeecg/src/views/examples/list/TableList.vue +++ /dev/null @@ -1,337 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/list/UserList.vue b/ant-design-vue-jeecg/src/views/examples/list/UserList.vue deleted file mode 100644 index 3e26ea82..00000000 --- a/ant-design-vue-jeecg/src/views/examples/list/UserList.vue +++ /dev/null @@ -1,265 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/list/modules/RoleModal.vue b/ant-design-vue-jeecg/src/views/examples/list/modules/RoleModal.vue deleted file mode 100644 index 4f9f832d..00000000 --- a/ant-design-vue-jeecg/src/views/examples/list/modules/RoleModal.vue +++ /dev/null @@ -1,203 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/list/search/SearchLayout.vue b/ant-design-vue-jeecg/src/views/examples/list/search/SearchLayout.vue deleted file mode 100644 index 7372018f..00000000 --- a/ant-design-vue-jeecg/src/views/examples/list/search/SearchLayout.vue +++ /dev/null @@ -1,78 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/profile/advanced/Advanced.vue b/ant-design-vue-jeecg/src/views/examples/profile/advanced/Advanced.vue deleted file mode 100644 index af448439..00000000 --- a/ant-design-vue-jeecg/src/views/examples/profile/advanced/Advanced.vue +++ /dev/null @@ -1,342 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/examples/profile/basic/Index.vue b/ant-design-vue-jeecg/src/views/examples/profile/basic/Index.vue deleted file mode 100644 index 39dbd26e..00000000 --- a/ant-design-vue-jeecg/src/views/examples/profile/basic/Index.vue +++ /dev/null @@ -1,255 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/exception/403.vue b/ant-design-vue-jeecg/src/views/exception/403.vue deleted file mode 100644 index e9fc3992..00000000 --- a/ant-design-vue-jeecg/src/views/exception/403.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/exception/404.vue b/ant-design-vue-jeecg/src/views/exception/404.vue deleted file mode 100644 index bc747b5e..00000000 --- a/ant-design-vue-jeecg/src/views/exception/404.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/exception/500.vue b/ant-design-vue-jeecg/src/views/exception/500.vue deleted file mode 100644 index a36cabeb..00000000 --- a/ant-design-vue-jeecg/src/views/exception/500.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/exception/ExceptionPage.vue b/ant-design-vue-jeecg/src/views/exception/ExceptionPage.vue deleted file mode 100644 index 0550d5ef..00000000 --- a/ant-design-vue-jeecg/src/views/exception/ExceptionPage.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/exception/type.js b/ant-design-vue-jeecg/src/views/exception/type.js deleted file mode 100644 index ece3936f..00000000 --- a/ant-design-vue-jeecg/src/views/exception/type.js +++ /dev/null @@ -1,19 +0,0 @@ -const types = { - 403: { - img: 'https://gw.alipayobjects.com/zos/rmsportal/wZcnGqRDyhPOEYFcZDnb.svg', - title: '403', - desc: '抱歉,你无权访问该页面' - }, - 404: { - img: 'https://gw.alipayobjects.com/zos/rmsportal/KpnpchXsobRgLElEozzI.svg', - title: '404', - desc: '抱歉,你访问的页面不存在或无权访问' - }, - 500: { - img: 'https://gw.alipayobjects.com/zos/rmsportal/RVRUAYdCGeYNBWoKiIwB.svg', - title: '500', - desc: '抱歉,服务器出错了' - } -} - -export default types \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/ImagCropper.vue b/ant-design-vue-jeecg/src/views/jeecg/ImagCropper.vue deleted file mode 100644 index c90d4a23..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/ImagCropper.vue +++ /dev/null @@ -1,613 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/ImagPreview.vue b/ant-design-vue-jeecg/src/views/jeecg/ImagPreview.vue deleted file mode 100644 index 12542983..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/ImagPreview.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/ImgDragSort.vue b/ant-design-vue-jeecg/src/views/jeecg/ImgDragSort.vue deleted file mode 100644 index 43b0a3fb..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/ImgDragSort.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/ImgTurnPage.vue b/ant-design-vue-jeecg/src/views/jeecg/ImgTurnPage.vue deleted file mode 100644 index 3e692bc7..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/ImgTurnPage.vue +++ /dev/null @@ -1,147 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/InterfaceTest.vue b/ant-design-vue-jeecg/src/views/jeecg/InterfaceTest.vue deleted file mode 100644 index 8b30f73f..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/InterfaceTest.vue +++ /dev/null @@ -1,92 +0,0 @@ - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVXETableDemo.vue b/ant-design-vue-jeecg/src/views/jeecg/JVXETableDemo.vue deleted file mode 100644 index 0453d13b..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVXETableDemo.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo1.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo1.vue deleted file mode 100644 index c42cc23c..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo1.vue +++ /dev/null @@ -1,304 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo2.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo2.vue deleted file mode 100644 index 2741028f..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo2.vue +++ /dev/null @@ -1,184 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo3.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo3.vue deleted file mode 100644 index 6abd376d..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/JVxeDemo3.vue +++ /dev/null @@ -1,164 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/JSBCDemo.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/JSBCDemo.vue deleted file mode 100644 index 1052e076..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/JSBCDemo.vue +++ /dev/null @@ -1,234 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/PopupSubTable.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/PopupSubTable.vue deleted file mode 100644 index 2cb159f6..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/PopupSubTable.vue +++ /dev/null @@ -1,278 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/SocketReload.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/SocketReload.vue deleted file mode 100644 index 0d3e9acb..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/demo/SocketReload.vue +++ /dev/null @@ -1,119 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/ErpTemplate.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/ErpTemplate.vue deleted file mode 100644 index 532fe092..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/ErpTemplate.vue +++ /dev/null @@ -1,308 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Index.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Index.vue deleted file mode 100644 index 09da8047..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Index.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template1.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template1.vue deleted file mode 100644 index a05cf02b..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template1.vue +++ /dev/null @@ -1,330 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template2.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template2.vue deleted file mode 100644 index 803c69b9..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template2.vue +++ /dev/null @@ -1,260 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template3.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template3.vue deleted file mode 100644 index 1c8a37e6..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template3.vue +++ /dev/null @@ -1,245 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template4.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template4.vue deleted file mode 100644 index 8d72a3d4..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template4.vue +++ /dev/null @@ -1,347 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template5.vue b/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template5.vue deleted file mode 100644 index e78f03a9..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JVxeDemo/layout-demo/Template5.vue +++ /dev/null @@ -1,224 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JeecgDemoList.vue b/ant-design-vue-jeecg/src/views/jeecg/JeecgDemoList.vue deleted file mode 100644 index b4efe4f0..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JeecgDemoList.vue +++ /dev/null @@ -1,371 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JeecgEditableTableExample.vue b/ant-design-vue-jeecg/src/views/jeecg/JeecgEditableTableExample.vue deleted file mode 100644 index 18317dab..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JeecgEditableTableExample.vue +++ /dev/null @@ -1,40 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainList.vue b/ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainList.vue deleted file mode 100644 index e0a39522..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainList.vue +++ /dev/null @@ -1,192 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainListForJEditableTable.vue b/ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainListForJEditableTable.vue deleted file mode 100644 index e379af5c..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainListForJEditableTable.vue +++ /dev/null @@ -1,217 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainListForJVxeTable.vue b/ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainListForJVxeTable.vue deleted file mode 100644 index 0d011430..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainListForJVxeTable.vue +++ /dev/null @@ -1,215 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JeecgPdfView.vue b/ant-design-vue-jeecg/src/views/jeecg/JeecgPdfView.vue deleted file mode 100644 index a2fbff59..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JeecgPdfView.vue +++ /dev/null @@ -1,122 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/JeecgTreeTable.vue b/ant-design-vue-jeecg/src/views/jeecg/JeecgTreeTable.vue deleted file mode 100644 index a0939ad2..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/JeecgTreeTable.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/views/jeecg/PrintDemo.vue b/ant-design-vue-jeecg/src/views/jeecg/PrintDemo.vue deleted file mode 100644 index 2bd6c360..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/PrintDemo.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/RowspanTable.vue b/ant-design-vue-jeecg/src/views/jeecg/RowspanTable.vue deleted file mode 100644 index 3b27b945..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/RowspanTable.vue +++ /dev/null @@ -1,285 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/views/jeecg/SelectDemo.vue b/ant-design-vue-jeecg/src/views/jeecg/SelectDemo.vue deleted file mode 100644 index 61ac6115..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/SelectDemo.vue +++ /dev/null @@ -1,665 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/SplitPanel.vue b/ant-design-vue-jeecg/src/views/jeecg/SplitPanel.vue deleted file mode 100644 index 8d128fba..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/SplitPanel.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/TableExpandeSub.vue b/ant-design-vue-jeecg/src/views/jeecg/TableExpandeSub.vue deleted file mode 100644 index d9ca6214..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/TableExpandeSub.vue +++ /dev/null @@ -1,266 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/TableOrderTotal.vue b/ant-design-vue-jeecg/src/views/jeecg/TableOrderTotal.vue deleted file mode 100644 index 78cb6b37..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/TableOrderTotal.vue +++ /dev/null @@ -1,231 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/TableTotal.vue b/ant-design-vue-jeecg/src/views/jeecg/TableTotal.vue deleted file mode 100644 index f7d0bd4a..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/TableTotal.vue +++ /dev/null @@ -1,164 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/ThirdAppMessageTest.vue b/ant-design-vue-jeecg/src/views/jeecg/ThirdAppMessageTest.vue deleted file mode 100644 index 1f2f1340..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/ThirdAppMessageTest.vue +++ /dev/null @@ -1,208 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/helloworld.vue b/ant-design-vue-jeecg/src/views/jeecg/helloworld.vue deleted file mode 100644 index 4e19b907..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/helloworld.vue +++ /dev/null @@ -1,97 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/helloworld2.vue b/ant-design-vue-jeecg/src/views/jeecg/helloworld2.vue deleted file mode 100644 index 3f567ef7..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/helloworld2.vue +++ /dev/null @@ -1,31 +0,0 @@ - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/DefaultTable.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/DefaultTable.vue deleted file mode 100644 index 90357216..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/DefaultTable.vue +++ /dev/null @@ -1,299 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/ReadOnlyTable.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/ReadOnlyTable.vue deleted file mode 100644 index 13605544..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/ReadOnlyTable.vue +++ /dev/null @@ -1,70 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/ThreeLinkage.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/ThreeLinkage.vue deleted file mode 100644 index 3b7fbcff..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/JEditableTable/ThreeLinkage.vue +++ /dev/null @@ -1,129 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgDemoModal.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgDemoModal.vue deleted file mode 100644 index 9b97d8fc..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgDemoModal.vue +++ /dev/null @@ -1,141 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgDemoTabsModal.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgDemoTabsModal.vue deleted file mode 100644 index c3e09f5e..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgDemoTabsModal.vue +++ /dev/null @@ -1,285 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderMainModal.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderMainModal.vue deleted file mode 100644 index ae77184d..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderMainModal.vue +++ /dev/null @@ -1,289 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderModalForJEditableTable.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderModalForJEditableTable.vue deleted file mode 100644 index 941095e2..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderModalForJEditableTable.vue +++ /dev/null @@ -1,311 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderModalForJVexTable.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderModalForJVexTable.vue deleted file mode 100644 index 1fdf7143..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/JeecgOrderModalForJVexTable.vue +++ /dev/null @@ -1,312 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/PdfPreviewModal.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/PdfPreviewModal.vue deleted file mode 100644 index 1e232e40..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/PdfPreviewModal.vue +++ /dev/null @@ -1,56 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelA.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelA.vue deleted file mode 100644 index 96b6b4b5..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelA.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelB.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelB.vue deleted file mode 100644 index 9008b002..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelB.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelModal.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelModal.vue deleted file mode 100644 index 6b7c211f..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/SplitPanelModal.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/SuperQueryModal.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/SuperQueryModal.vue deleted file mode 100644 index 87909cfe..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/SuperQueryModal.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/modules/VueCronModal.vue b/ant-design-vue-jeecg/src/views/jeecg/modules/VueCronModal.vue deleted file mode 100644 index bde3c8d8..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/modules/VueCronModal.vue +++ /dev/null @@ -1,729 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/views/jeecg/report/Analysis.vue b/ant-design-vue-jeecg/src/views/jeecg/report/Analysis.vue deleted file mode 100644 index f2f8d692..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/report/Analysis.vue +++ /dev/null @@ -1,698 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/report/ArchivesStatisticst.vue b/ant-design-vue-jeecg/src/views/jeecg/report/ArchivesStatisticst.vue deleted file mode 100644 index e9c0e46a..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/report/ArchivesStatisticst.vue +++ /dev/null @@ -1,315 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/report/ViserChartDemo.vue b/ant-design-vue-jeecg/src/views/jeecg/report/ViserChartDemo.vue deleted file mode 100644 index 63ee4fbd..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/report/ViserChartDemo.vue +++ /dev/null @@ -1,141 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderCustomerList.vue b/ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderCustomerList.vue deleted file mode 100644 index dd9cbd9e..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderCustomerList.vue +++ /dev/null @@ -1,166 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderDMainList.vue b/ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderDMainList.vue deleted file mode 100644 index 252f2ed3..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderDMainList.vue +++ /dev/null @@ -1,284 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderTicketList.vue b/ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderTicketList.vue deleted file mode 100644 index 2d1e6454..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderTicketList.vue +++ /dev/null @@ -1,154 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderCustomerModal.vue b/ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderCustomerModal.vue deleted file mode 100644 index 04500b57..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderCustomerModal.vue +++ /dev/null @@ -1,245 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderDMainModal.vue b/ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderDMainModal.vue deleted file mode 100644 index 4390cbe1..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderDMainModal.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderTicketModal.vue b/ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderTicketModal.vue deleted file mode 100644 index f780014a..00000000 --- a/ant-design-vue-jeecg/src/views/jeecg/tablist/form/JeecgOrderTicketModal.vue +++ /dev/null @@ -1,173 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/modules/message/SysMessageList.vue b/ant-design-vue-jeecg/src/views/modules/message/SysMessageList.vue deleted file mode 100644 index 91a420c5..00000000 --- a/ant-design-vue-jeecg/src/views/modules/message/SysMessageList.vue +++ /dev/null @@ -1,238 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/modules/message/SysMessageTemplateList.vue b/ant-design-vue-jeecg/src/views/modules/message/SysMessageTemplateList.vue deleted file mode 100644 index cef90488..00000000 --- a/ant-design-vue-jeecg/src/views/modules/message/SysMessageTemplateList.vue +++ /dev/null @@ -1,323 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageModal.vue b/ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageModal.vue deleted file mode 100644 index 9f6231ca..00000000 --- a/ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageModal.vue +++ /dev/null @@ -1,185 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageTemplateModal.vue b/ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageTemplateModal.vue deleted file mode 100644 index 6602065d..00000000 --- a/ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageTemplateModal.vue +++ /dev/null @@ -1,237 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageTestModal.vue b/ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageTestModal.vue deleted file mode 100644 index 9feb97b3..00000000 --- a/ant-design-vue-jeecg/src/views/modules/message/modules/SysMessageTestModal.vue +++ /dev/null @@ -1,127 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/modules/monitor/DiskMonitoring.vue b/ant-design-vue-jeecg/src/views/modules/monitor/DiskMonitoring.vue deleted file mode 100644 index 353bebec..00000000 --- a/ant-design-vue-jeecg/src/views/modules/monitor/DiskMonitoring.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/modules/monitor/HttpTrace.vue b/ant-design-vue-jeecg/src/views/modules/monitor/HttpTrace.vue deleted file mode 100644 index 4c978ba1..00000000 --- a/ant-design-vue-jeecg/src/views/modules/monitor/HttpTrace.vue +++ /dev/null @@ -1,148 +0,0 @@ - - - - diff --git a/ant-design-vue-jeecg/src/views/modules/monitor/JvmInfo.vue b/ant-design-vue-jeecg/src/views/modules/monitor/JvmInfo.vue deleted file mode 100644 index 66e15cfd..00000000 --- a/ant-design-vue-jeecg/src/views/modules/monitor/JvmInfo.vue +++ /dev/null @@ -1,169 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/views/modules/monitor/RedisInfo.vue b/ant-design-vue-jeecg/src/views/modules/monitor/RedisInfo.vue deleted file mode 100644 index 0ea6c758..00000000 --- a/ant-design-vue-jeecg/src/views/modules/monitor/RedisInfo.vue +++ /dev/null @@ -1,189 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/views/modules/monitor/RedisTerminal.vue b/ant-design-vue-jeecg/src/views/modules/monitor/RedisTerminal.vue deleted file mode 100644 index e671afa1..00000000 --- a/ant-design-vue-jeecg/src/views/modules/monitor/RedisTerminal.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/views/modules/monitor/SystemInfo.vue b/ant-design-vue-jeecg/src/views/modules/monitor/SystemInfo.vue deleted file mode 100644 index 2d15f111..00000000 --- a/ant-design-vue-jeecg/src/views/modules/monitor/SystemInfo.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/views/modules/monitor/TomcatInfo.vue b/ant-design-vue-jeecg/src/views/modules/monitor/TomcatInfo.vue deleted file mode 100644 index 0b6344f2..00000000 --- a/ant-design-vue-jeecg/src/views/modules/monitor/TomcatInfo.vue +++ /dev/null @@ -1,150 +0,0 @@ - - - diff --git a/ant-design-vue-jeecg/src/views/modules/oss/OSSFileList.vue b/ant-design-vue-jeecg/src/views/modules/oss/OSSFileList.vue deleted file mode 100644 index 511d2ea0..00000000 --- a/ant-design-vue-jeecg/src/views/modules/oss/OSSFileList.vue +++ /dev/null @@ -1,196 +0,0 @@ - - - - - diff --git a/ant-design-vue-jeecg/src/views/result/Error.vue b/ant-design-vue-jeecg/src/views/result/Error.vue deleted file mode 100644 index 634c4b6e..00000000 --- a/ant-design-vue-jeecg/src/views/result/Error.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/result/Result.vue b/ant-design-vue-jeecg/src/views/result/Result.vue deleted file mode 100644 index 09278d9b..00000000 --- a/ant-design-vue-jeecg/src/views/result/Result.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/result/Success.vue b/ant-design-vue-jeecg/src/views/result/Success.vue deleted file mode 100644 index b5061e31..00000000 --- a/ant-design-vue-jeecg/src/views/result/Success.vue +++ /dev/null @@ -1,92 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/AddressList.vue b/ant-design-vue-jeecg/src/views/system/AddressList.vue deleted file mode 100644 index f6a1a412..00000000 --- a/ant-design-vue-jeecg/src/views/system/AddressList.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/DataLogList.vue b/ant-design-vue-jeecg/src/views/system/DataLogList.vue deleted file mode 100644 index 98351e25..00000000 --- a/ant-design-vue-jeecg/src/views/system/DataLogList.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/DepartList.vue b/ant-design-vue-jeecg/src/views/system/DepartList.vue deleted file mode 100644 index a52960b2..00000000 --- a/ant-design-vue-jeecg/src/views/system/DepartList.vue +++ /dev/null @@ -1,638 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/DepartList2.vue b/ant-design-vue-jeecg/src/views/system/DepartList2.vue deleted file mode 100644 index 09939ede..00000000 --- a/ant-design-vue-jeecg/src/views/system/DepartList2.vue +++ /dev/null @@ -1,260 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/DepartListSync.vue b/ant-design-vue-jeecg/src/views/system/DepartListSync.vue deleted file mode 100644 index c29c6b66..00000000 --- a/ant-design-vue-jeecg/src/views/system/DepartListSync.vue +++ /dev/null @@ -1,691 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/DepartUserList.vue b/ant-design-vue-jeecg/src/views/system/DepartUserList.vue deleted file mode 100644 index 76171c16..00000000 --- a/ant-design-vue-jeecg/src/views/system/DepartUserList.vue +++ /dev/null @@ -1,221 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/DictDeleteList.vue b/ant-design-vue-jeecg/src/views/system/DictDeleteList.vue deleted file mode 100644 index d0334805..00000000 --- a/ant-design-vue-jeecg/src/views/system/DictDeleteList.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/DictItemList.vue b/ant-design-vue-jeecg/src/views/system/DictItemList.vue deleted file mode 100644 index fd1690c2..00000000 --- a/ant-design-vue-jeecg/src/views/system/DictItemList.vue +++ /dev/null @@ -1,225 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/DictList.vue b/ant-design-vue-jeecg/src/views/system/DictList.vue deleted file mode 100644 index 30fc051d..00000000 --- a/ant-design-vue-jeecg/src/views/system/DictList.vue +++ /dev/null @@ -1,208 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/LogList.vue b/ant-design-vue-jeecg/src/views/system/LogList.vue deleted file mode 100644 index dcd417bb..00000000 --- a/ant-design-vue-jeecg/src/views/system/LogList.vue +++ /dev/null @@ -1,238 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/NewPermissionList.vue b/ant-design-vue-jeecg/src/views/system/NewPermissionList.vue deleted file mode 100644 index e23fa6c4..00000000 --- a/ant-design-vue-jeecg/src/views/system/NewPermissionList.vue +++ /dev/null @@ -1,228 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/PermissionDataRuleList.vue b/ant-design-vue-jeecg/src/views/system/PermissionDataRuleList.vue deleted file mode 100644 index 35d056ef..00000000 --- a/ant-design-vue-jeecg/src/views/system/PermissionDataRuleList.vue +++ /dev/null @@ -1,195 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/PermissionList.vue b/ant-design-vue-jeecg/src/views/system/PermissionList.vue deleted file mode 100644 index 5c0081ff..00000000 --- a/ant-design-vue-jeecg/src/views/system/PermissionList.vue +++ /dev/null @@ -1,195 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/QuartzJobList.vue b/ant-design-vue-jeecg/src/views/system/QuartzJobList.vue deleted file mode 100644 index 3e15fdef..00000000 --- a/ant-design-vue-jeecg/src/views/system/QuartzJobList.vue +++ /dev/null @@ -1,290 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/RoleList.vue b/ant-design-vue-jeecg/src/views/system/RoleList.vue deleted file mode 100644 index 8955130c..00000000 --- a/ant-design-vue-jeecg/src/views/system/RoleList.vue +++ /dev/null @@ -1,194 +0,0 @@ - - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/RoleUserList.vue b/ant-design-vue-jeecg/src/views/system/RoleUserList.vue deleted file mode 100644 index 8aaa6b29..00000000 --- a/ant-design-vue-jeecg/src/views/system/RoleUserList.vue +++ /dev/null @@ -1,545 +0,0 @@ - - - \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/system/SysAnnouncementList.vue b/ant-design-vue-jeecg/src/views/system/SysAnnouncementList.vue deleted file mode 100644 index 52734391..00000000 --- a/ant-design-vue-jeecg/src/views/system/SysAnnouncementList.vue +++ /dev/null @@ -1,332 +0,0 @@ -